PCPM.LST Sourcer v7.00 PAGE 59,132 ;========================================================================== ;== == ;== PCPM == ;== == ;== Created: == ;== Code type: zero start == ;== Passes: 9 Analysis Options on: QRSUX == ;== == ;========================================================================== target EQU 'T3' ; Target assembler: TASM-3.0 ; The following equates show data references outside the range of the program. = 0000 data_1e equ 0 ; (0000:0000=162h) = 0002 data_3e equ 2 ; (0000:0002=144Bh) = 0004 data_4e equ 4 ; (0000:0004=29h) = 0006 data_5e equ 6 ; (0000:0006=70h) = 0011 data_6e equ 11h ; (0000:0011=7002h) = 0013 data_7e equ 13h ; (0000:0013=0) = 0014 data_8e equ 14h ; (0000:0014=0FF54h) = 0022 data_9e equ 22h ; (0000:0022=0EDFh) = 0024 data_10e equ 24h ; (0000:0024=3B4h) = 0026 data_12e equ 26h ; (0000:0026=0EDFh) = 0028 data_13e equ 28h ; (0000:0028=2Ah) = 002E data_14e equ 2Eh ; (0000:002E=0C3Ch) = 0030 data_15e equ 30h ; (0000:0030=3Ah) = 0036 data_16e equ 36h ; (0000:0036=237Ch) = 0038 data_17e equ 38h ; (0000:0038=4Ah) = 003C data_18e equ 3Ch ; (0000:003C=6Fh) = 0050 data_19e equ 50h ; (0000:0050=0E739h) = 0052 data_20e equ 52h ; (0000:0052=0) = 0056 data_21e equ 56h ; (0000:0056=0DFh) = 006E data_22e equ 6Eh ; (0000:006E=4FEh) = 0074 data_23e equ 74h ; (0000:0074=0F0A4h) = 0080 data_24e equ 80h ; (0000:0080=31h) = 0081 data_25e equ 81h ; (0000:0081=10h) = 013C data_26e equ 13Ch ; (0000:013C=6Fh) = 01AE data_27e equ 1AEh ; (0000:01AE=0) = 01E0 data_28e equ 1E0h ; (0000:01E0=0) = 0200 data_29e equ 200h ; (0000:0200=0) = 02B0 data_30e equ 2B0h ; (0000:02B0=0) = 0380 data_31e equ 380h ; (0000:0380=40h) = 0382 data_32e equ 382h ; (0000:0382=8E9Ch) = 0400 data_33e equ 400h ; (0000:0400=0F8h) = 05B0 data_34e equ 5B0h ;*(0000:05B0=0) = 07B0 data_35e equ 7B0h ;*(0000:07B0=20h) = 0C00 data_36e equ 0C00h ;*(0000:0C00=0) = 1000 data_37e equ 1000h ;*(0000:1000=0) = 0000 data_38e equ 0 ;*(000A:0000=630h) = 0002 data_39e equ 2 ;*(000A:0002=0EDFh) = 0010 data_40e equ 10h ;*(000A:0010=0B4h) = 0012 data_41e equ 12h ;*(000A:0012=157h) = 0024 data_42e equ 24h ;*(000A:0024=1) = 002C data_44e equ 2Ch ;*(000A:002C=0C7h) = 0030 data_45e equ 30h ;*(000A:0030=0B4h) = 0034 data_47e equ 34h ;*(000A:0034=0B4h) = 0038 data_48e equ 38h ;*(000A:0038=0B4h) = 003C data_49e equ 3Ch ;*(000A:003C=0B4h) = 0040 data_50e equ 40h ;*(000A:0040=0B4h) = 004A data_52e equ 4Ah ;*(000A:004A=157h) = 004E data_53e equ 4Eh ;*(000A:004E=157h) = 0052 data_54e equ 52h ;*(000A:0052=157h) = 0070 data_55e equ 70h ;*(000A:0070=0EF6Fh) = 0072 data_56e equ 72h ;*(000A:0072=0F000h) = 0092 data_57e equ 92h ;*(000A:0092=0) = 01B8 data_58e equ 1B8h ;*(000A:01B8=0) = 02BB data_59e equ 2BBh ;*(000A:02BB=0) = 02BC data_60e equ 2BCh ;*(000A:02BC=0) = 0554 data_61e equ 554h ;*(000A:0554=0) = 0559 data_62e equ 559h ;*(000A:0559=0) = 055A data_63e equ 55Ah ;*(000A:055A=0) = 055B data_64e equ 55Bh ;*(000A:055B=0) = 055D data_65e equ 55Dh ;*(000A:055D=0) = 055F data_66e equ 55Fh ;*(000A:055F=0EB00h) = 05B2 data_67e equ 5B2h ;*(000A:05B2=3Eh) = 05B3 data_68e equ 5B3h ;*(000A:05B3=21h) = 0F02 data_69e equ 0F02h ;*(000A:0F02=0FFh) = 0F03 data_70e equ 0F03h ;*(000A:0F03=0) = 0F08 data_71e equ 0F08h ;*(000A:0F08=0DDC3h) = 1041 data_72e equ 1041h ;*(000A:1041=2) = 1042 data_73e equ 1042h ;*(000A:1042=20h) = 1046 data_74e equ 1046h ;*(000A:1046=0) = 104B data_75e equ 104Bh ;*(000A:104B=0FFh) = 10F0 data_76e equ 10F0h ;*(000A:10F0=0F800h) = 10F2 data_77e equ 10F2h ;*(000A:10F2=0FFh) = 11AF data_78e equ 11AFh ;*(000A:11AF=200h) = 11B1 data_79e equ 11B1h ;*(000A:11B1=120h) = 11B3 data_80e equ 11B3h ;*(000A:11B3=200h) = 11B5 data_81e equ 11B5h ;*(000A:11B5=200h) = 11B7 data_82e equ 11B7h ;*(000A:11B7=0) = 11B9 data_83e equ 11B9h ;*(000A:11B9=0FFF8h) = 11BB data_84e equ 11BBh ;*(000A:11BB=3F00h) = 11BD data_85e equ 11BDh ;*(000A:11BD=0) = 11C1 data_86e equ 11C1h ;*(000A:11C1=39h) = 11CF data_87e equ 11CFh ;*(000A:11CF=0) = 3588 data_88e equ 3588h ;*(000A:3588=0) = 3589 data_89e equ 3589h ;*(000A:3589=0) = 35BB data_90e equ 35BBh ;*(000A:35BB=0) = 0000 data_91e equ 0 ;*(0157:0000=0) = 0002 data_92e equ 2 ;*(0157:0002=34h) = 0004 data_93e equ 4 ;*(0157:0004=1) = 0005 data_94e equ 5 ;*(0157:0005=0) = 0006 data_95e equ 6 ;*(0157:0006=1000h) = 0008 data_96e equ 8 ;*(0157:0008=0) = 0013 data_97e equ 13h ;*(0157:0013=0) = 0014 data_98e equ 14h ;*(0157:0014=0) = 0018 data_99e equ 18h ;*(0157:0018=0) = 001A data_100e equ 1Ah ;*(0157:001A=3) = 001C data_101e equ 1Ch ;*(0157:001C=1) = 001E data_102e equ 1Eh ;*(0157:001E=0C5ECh) = 0020 data_103e equ 20h ;*(0157:0020=0FFFFh) = 0022 data_104e equ 22h ;*(0157:0022=0) = 0024 data_105e equ 24h ;*(0157:0024=2B6h) = 0026 data_106e equ 26h ;*(0157:0026=1330h) = 0028 data_107e equ 28h ;*(0157:0028=157h) = 002A data_108e equ 2Ah ;*(0157:002A=0CCh) = 002C data_109e equ 2Ch ;*(0157:002C=157h) = 0036 data_110e equ 36h ;*(0157:0036=0) = 003C data_111e equ 3Ch ;*(0157:003C=0) = 0050 data_112e equ 50h ;*(0157:0050=10F4h) = 0054 data_113e equ 54h ;*(0157:0054=204Ch) = 0056 data_114e equ 56h ;*(0157:0056=20h) = 0070 data_115e equ 70h ;*(0157:0070=0FFh) = 0002 data_116e equ 2 ;*(0200:0002=42h) = 0003 data_117e equ 3 ;*(0200:0003=3Ch) = 0004 data_118e equ 4 ;*(0200:0004=0) = 0006 data_119e equ 6 ;*(0200:0006=0A6h) = 003E data_120e equ 3Eh ;*(0200:003E=9Fh) = 0064 data_121e equ 64h ;*(0200:0064=0C5h) = 0080 data_122e equ 80h ;*(0200:0080=0E1h) = 0081 data_123e equ 81h ;*(0200:0081=0E2h) = 0082 data_124e equ 82h ;*(0200:0082=0E3h) = 0084 data_125e equ 84h ;*(0200:0084=0E5h) = 0085 data_126e equ 85h ;*(0200:0085=0E6h) = 0500 data_127e equ 500h ;*(0200:0500=0) = 06B0 data_128e equ 6B0h ;*(0200:06B0=2) = 08B0 data_129e equ 8B0h ;*(0200:08B0=0) = 0003 data_130e equ 3 ;*(0467:0003=0) = 0005 data_131e equ 5 ;*(0467:0005=0) = 0006 data_132e equ 6 ;*(0974:0006=3Ch) = 0010 data_133e equ 10h ;*(0974:0010=0) = 0013 data_134e equ 13h ;*(0974:0013=0) = 003C data_135e equ 3Ch ;*(0974:003C=0) = 004E data_136e equ 4Eh ;*(0974:004E=0C0h) = 0000 data_137e equ 0 ;*(1100:0000=0) = 0F02 data_138e equ 0F02h ;*(361E:0F02=0FFh) = 34BC data_139e equ 34BCh ;*(361E:34BC=0FFh) = 3586 data_140e equ 3586h ;*(361E:3586=0FFFFh) = 3589 data_141e equ 3589h ;*(361E:3589=0FFh) = 358C data_142e equ 358Ch ;*(361E:358C=0FFh) = 358E data_143e equ 358Eh ;*(361E:358E=0FFh) = 3590 data_144e equ 3590h ;*(361E:3590=0FFFFh) = 3592 data_145e equ 3592h ;*(361E:3592=0FFh) = 3593 data_146e equ 3593h ;*(361E:3593=0FFh) = 3594 data_147e equ 3594h ;*(361E:3594=0FFh) = 3595 data_148e equ 3595h ;*(361E:3595=0FFh) = 35AF data_149e equ 35AFh ;*(361E:35AF=0FFFFh) = 35B3 data_150e equ 35B3h ;*(361E:35B3=0FFFFh) = 35B7 data_152e equ 35B7h ;*(361E:35B7=0FFFFh) = 35BB data_154e equ 35BBh ;*(361E:35BB=0FFh) = E812 data_1124e equ 0E812h ;*(3BBB:E812=0) = 0052 data_1125e equ 52h ;*(8726:0052=0) = 0054 data_1126e equ 54h ;*(8726:0054=0) = 0055 data_1127e equ 55h ;*(8726:0055=0) = 0066 data_1128e equ 66h ;*(8726:0066=0) = 00A1 data_1129e equ 0A1h ;*(8726:00A1=0) = 00DB data_1130e equ 0DBh ;*(8726:00DB=0) = 0016 data_1131e equ 16h ; (BEA5:0016=720h) = 0018 data_1132e equ 18h ; (BEA5:0018=20h) = 0003 data_1133e equ 3 ; (C8FE:0003=0FFFFh) = 0005 data_1134e equ 5 ; (C8FE:0005=0FFh) = 000F data_1135e equ 0Fh ; (C8FE:000F=0FFFFh) = 0051 data_1136e equ 51h ; (C8FE:0051=80h) = 0054 data_1137e equ 54h ; (C8FE:0054=74h) = 005C data_1138e equ 5Ch ; (C8FE:005C=6) = 006C data_1139e equ 6Ch ; (C8FE:006C=12h) = 0005 data_1140e equ 5 ; (E808:0005=0C5h) = 0006 data_1141e equ 6 ; (E808:0006=1) = 0050 data_1142e equ 50h ; (E808:0050=2) = 0001 data_1143e equ 1 ; (F9F0:0001=30h) = 0004 data_1144e equ 4 ; (F9F0:0004=7) = 0006 data_1145e equ 6 ; (F9F0:0006=3) = 0007 data_1146e equ 7 ; (F9F0:0007=3) = 0020 data_1147e equ 20h ; (F9F0:0020=0FBh) = 0021 data_1148e equ 21h ; (F9F0:0021=0) = 0022 data_1149e equ 22h ; (F9F0:0022=0FBh) = 0023 data_1150e equ 23h ; (F9F0:0023=4) = 0024 data_1151e equ 24h ; (F9F0:0024=0FDh) = 0030 data_1152e equ 30h ; (F9F0:0030=3Fh) = 0031 data_1153e equ 31h ; (F9F0:0031=80h) = 0033 data_1154e equ 33h ; (F9F0:0033=0C0h) = 0034 data_1155e equ 34h ; (F9F0:0034=0CFh) = 0035 data_1156e equ 35h ; (F9F0:0035=0) = 0036 data_1157e equ 36h ; (F9F0:0036=0CFh) = 0037 data_1158e equ 37h ; (F9F0:0037=10h) = 003C data_1159e equ 3Ch ; (F9F0:003C=0F3h) = 003D data_1160e equ 3Dh ; (F9F0:003D=0) = 003E data_1161e equ 3Eh ; (F9F0:003E=0F3h) = 0042 data_1162e equ 42h ; (F9F0:0042=0F3h) = 0043 data_1163e equ 43h ; (F9F0:0043=0Ch) = 0044 data_1164e equ 44h ; (F9F0:0044=0FCh) = 0046 data_1165e equ 46h ; (F9F0:0046=0FCh) = 0047 data_1166e equ 47h ; (F9F0:0047=1) = 004C data_1167e equ 4Ch ; (F9F0:004C=0) = 0050 data_1168e equ 50h ; (F9F0:0050=0) = 0000 data_1169e equ 0 ; (FA00:0000=74h) = 0000 data_1170e equ 0 ; (FB00:0000=0C3h) seg_a segment byte public assume cs:seg_a, ds:seg_a org 0 PCPM proc far 3BBB:0000 start: 3BBB:0000 01 11 add [bx+di],dx 3BBB:0002 0A 70 00 ;* or dh,[bx+si+0] 3BBB:0002 db 0Ah, 70h, 00h ; Fixup - byte match 3BBB:0005 11 data_159 db 11h ; xref 3BBB:0636, 0908, 1566, 1634 ; 16B0, 16F3, 1724, 1A6B ; 1A91, 20E9, 2168 3BBB:0006 000A data_160 dw 0Ah ; Data table (indexed access) ; xref 3BBB:0234, 03C5, 03CE, 03DA ; 03EA, 04DE, 06DB, 0703 ; 08B6, 08DE, 10AE, 112F ; 1138, 11AB, 11B4, 1315 ; 135E, 1386, 1534, 15A8 ; 189E, 18AD, 19AC, 2332 ; 6866, 68F0, 6A43, 6B6F ; 6B8C, 73AE, 7E84, 7EC8 ; 831F 3BBB:0008 0200 data_161 dw 200h ; xref 3BBB:03B9, 6D08, 6D28, 6D4F ; 6DED, 6E54, 6ED7, 6EE3 ; 6F19, 6F4C, 6F58, 6F82 ; 6F8E, 6FCA, 6FFF, 70EC ; 7182, 722F, 741E, 747E ; 74CF, 753F, 7566, 7645 ; 767D, 7692, 7701, 7724 ; 776F, 779D, 77BC, 7807 ; 784A, 786A, 78B5, 7BB8 ; 7C2C, 7CAA 3BBB:000A 03A2 data_162 dw 3A2h ; Data table (indexed access) ; xref 3BBB:639E 3BBB:000C 81 0A 90 0B db 81h, 0Ah, 90h, 0Bh 3BBB:0010 00 data_164 db 0 ; Data table (indexed access) ; xref 3BBB:05FC, 0738 3BBB:0011 00 00 data_165 db 0, 0 ; xref 3BBB:232C, 24EE 3BBB:0013 00 data_166 db 0 ; xref 3BBB:02CA, 061F, 11A4, 1480 3BBB:0014 0000 data_167 dw 0 ; xref 3BBB:0508, 0606, 1A22 3BBB:0016 0000 data_168 dw 0 ; xref 3BBB:0710, 1884, 1895, 195A ; 19A0, 19B5, 1A4E, 1FF9 ; 2118 3BBB:0018 00 data_169 db 0 ; Data table (indexed access) ; xref 3BBB:04A3, 06CB, 06E2, 0DD9 ; 1111, 1A1A, 1A43, 1AAC ; 1AB9, 1AC9, 1AEB, 1F43 ; 1F54, 1F65, 1F81, 1FE7 ; 20A9, 21CC, 23FD, 5221 ; 64F6 3BBB:0019 00 data_170 db 0 ; xref 3BBB:050F, 070A, 1AFB, 1FE1 3BBB:001A 00 00 00 00 db 0, 0, 0, 0 3BBB:001E 00 data_171 db 0 ; xref 3BBB:6448 3BBB:001F 00 db 0 3BBB:0020 00 data_172 db 0 ; xref 3BBB:80CD, 842B, 8446 3BBB:0021 00 db 0 3BBB:0022 0000 data_173 dw 0 ; xref 3BBB:225D 3BBB:0024 00 data_174 db 0 ; xref 3BBB:2263, 8148 3BBB:0025 00 data_175 db 0 ; xref 3BBB:2253, 226C 3BBB:0026 00 00 db 0, 0 3BBB:0028 0000 0000 data_176 dw 0, 0 ; xref 3BBB:052F, 1F3E, 206E, 20DC ; 210B, 2185, 2960, 298E 3BBB:002C 00 00 db 0, 0 3BBB:002E ,0000 data_177 dw 0 ; segment storage ; xref 3BBB:022A, 022F, 023D, 0242 ; 0DEF, 1580, 15D1, 1AF6 ; 1F1D, 2090, 25C6, 25DE 3BBB:0030 ,0000 0000 data_178 dw 0, 0 ; segment storage ; xref 3BBB:2532, 25B4, 6524, 652B ; 6532, 6539 3BBB:0034 00 00 db 0, 0 3BBB:0036 0000 data_179 dw 0 ; xref 3BBB:02D8, 030F, 037F, 06FF ; 256B 3BBB:0038 0000 0000 data_181 dw 0, 0 ; xref 3BBB:02E6, 031D, 0345, 0456 ; 0723, 0D5E, 2292, 22A6 ; 2314, 2571, 25B8, 6DE5 ; 7DD8, 7E30 3BBB:003C 0000 0000 data_183 dw 0, 0 ; xref 3BBB:05E1, 0629, 18E3, 1916 ; 19ED, 1A0F, 6D96, 7945 3BBB:0040 0000 0000 data_185 dw 0, 0 ; xref 3BBB:04FA, 0DEA 3BBB:0044 0000 data_187 dw 0 ; xref 3BBB:15B1, 16E0 3BBB:0046 00 data_188 db 0 ; xref 3BBB:02DF, 0316, 0351, 03FC ; 0717, 2287, 229A, 2323 ; 25A4, 653E 3BBB:0047 00 data_189 db 0 ; xref 3BBB:071D, 0D73, 0D79, 0D8D ; 2283, 22A0, 231F, 259C 3BBB:0048 0000 data_190 dw 0 ; xref 3BBB:6788, 6A12 3BBB:004A 0000 data_191 dw 0 ; xref 3BBB:0FB1, 1025, 446D, 57FC 3BBB:004C 0000 data_192 dw 0 ; xref 3BBB:1018 3BBB:004E 0000 data_193 dw 0 ; xref 3BBB:0692, 1075, 1B28, 1E2B ; 1EC6, 2526, 267B, 295C ; 298A, 29FC, 2D56, 2DA4 ; 2E0A, 2E4A, 2ECB, 2FC3 ; 38D0, 40DE, 44B1, 44C6 ; 4A88, 5410, 542D, 5459 ; 61FB, 63A3, 6B27, 7E29 3BBB:0050 0000 data_194 dw 0 3BBB:0052 0000 0000 data_195 dw 0, 0 ; xref 3BBB:098E, 11C2, 1219 3BBB:0056 00 data_197 db 0 ; xref 3BBB:112B 3BBB:0057 0000 data_198 dw 0 3BBB:0059 00 data_200 db 0 ; xref 3BBB:03D5, 08BF, 08D9, 113F 3BBB:005A 00 data_201 db 0 ; xref 3BBB:036E, 67B7 3BBB:005B 00 data_202 db 0 ; xref 3BBB:67C3 3BBB:005C 00 data_203 db 0 ; xref 3BBB:8C0E, 95EB 3BBB:005D 00 00 db 0, 0 3BBB:005F 0000 data_204 dw 0 ; xref 3BBB:25C0, 25DA, 51ED, 66E9 ; 7E1E 3BBB:0061 00 data_205 db 0 ; xref 3BBB:66F1, 7E0C, 7E12, 7E19 3BBB:0062 0000 data_206 dw 0 ; Data table (indexed access) ; xref 3BBB:63C3, 6700, 7DFA, 7E00 ; 7E07 3BBB:0064 00 data_208 db 0 ; xref 3BBB:196C, 1998, 19E4, 1A02 ; 1B15, 1B40, 1B57, 1B5B ; 1B62, 1B74, 1B9A, 1C0C ; 1C40, 1C47, 1C6C, 1CC3 ; 1CEF, 1DCC, 1DF3 3BBB:0065 00 data_209 db 0 ; xref 3BBB:19E7, 1A09, 1B18, 1B43 ; 1B9D, 1CC6, 1DCF, 67CD ; 8B7D, 94E8, 9506, 954B 3BBB:0066 00 data_210 db 0 ; xref 3BBB:67C8, 6E08 3BBB:0067 00 data_211 db 0 ; xref 3BBB:67D2 3BBB:0068 00 data_212 db 0 ; xref 3BBB:1D08 3BBB:0069 00 data_213 db 0 ; xref 3BBB:1D1F 3BBB:006A 0000 data_214 dw 0 ; Data table (indexed access) ; xref 3BBB:11CA, 63D0 3BBB:006C 00 00 00 00 db 0, 0, 0, 0 3BBB:0070 0000 data_215 dw 0 ; xref 3BBB:04C2, 10CE 3BBB:0072 ,0000 data_216 dw 0 ; segment storage ; xref 3BBB:04C9, 10D5 3BBB:0074 00 00 db 0, 0 3BBB:0076 0000 data_217 dw 0 ; xref 3BBB:18D1, 1907, 212B, 2135 ; 2154, 215D, 21BE, 21DB ; 2279, 22D8 3BBB:0078 0000 data_218 dw 0 ; xref 3BBB:201F, 2049, 2058, 217A ; 218B, 21FF, 2209, 22E1 3BBB:007A 00 00 00 00 00 00 db 0, 0, 0, 0, 0, 0 3BBB:0080 E9 data_219 db 0E9h ; xref 3BBB:8C01, 8FB3, 960E 3BBB:0081 05 00 E9 3C 01 81 db 05h, 00h,0E9h, 3Ch, 01h, 81h 3BBB:0087 0A FA FC 2B C0 8E db 0Ah,0FAh,0FCh, 2Bh,0C0h, 8Eh 3BBB:008D D8 C7 06 80 03 db 0D8h,0C7h, 06h, 80h, 03h 3BBB:0092 42 data_220 db 42h ; xref 3BBB:6A08 3BBB:0093 01 8C 0E 82 03 2E db 01h, 8Ch, 0Eh, 82h, 03h, 2Eh 3BBB:0099 8B 1E 06 00 8E DB db 8Bh, 1Eh, 06h, 00h, 8Eh,0DBh 3BBB:009F A1 4E 00 B1 04 D3 db 0A1h, 4Eh, 00h,0B1h, 04h,0D3h 3BBB:00A5 E8 03 C3 A3 4E 00 db 0E8h, 03h,0C3h,0A3h, 4Eh, 00h 3BBB:00AB A3 50 00 A3 4A 00 db 0A3h, 50h, 00h,0A3h, 4Ah, 00h 3BBB:00B1 8E D0 BC 60 01 db 8Eh,0D0h,0BCh, 60h, 01h 3BBB:00B6 loc_3: ; xref 3BBB:00D4 3BBB:00B6 ,8E C0 mov es,ax 3BBB:00B8 26: C7 06 0070 01C7 mov word ptr es:[70h],1C7h ; (0EE9:0070=26CBh) 3BBB:00BF 26: 8C 0E 0072 mov word ptr es:[72h],cs ; (0EE9:0072=478Bh) 3BBB:00C4 26: A1 0002 mov ax,word ptr es:[2] ; (0EE9:0002=70h) 3BBB:00C8 85 C0 test ax,ax 3BBB:00CA 74 0A jz loc_4 ; Jump if zero 3BBB:00CC D3 E8 shr ax,cl ; Shift w/zeros fill 3BBB:00CE 03 C3 add ax,bx 3BBB:00D0 26: A3 0002 mov word ptr es:[2],ax ; (0EE9:0002=70h) 3BBB:00D4 EB E0 jmp short loc_3 ; (00B6) 3BBB:00D6 loc_4: ; xref 3BBB:00CA 3BBB:00D6 8E 06 004E mov es,ds:data_53e ; (000A:004E=157h) 3BBB:00DA 8C 0E 0012 mov ds:data_41e,cs ; (000A:0012=157h) 3BBB:00DE 26: 8C 0E 0054 mov es:data_113e,cs ; (0157:0054=204Ch) 3BBB:00E3 FF 1E 002C call dword ptr ds:data_44e ; (000A:002C=4C7h) 3BBB:00E7 FB sti ; Enable interrupts 3BBB:00E8 8E 06 004E mov es,ds:data_53e ; (000A:004E=157h) 3BBB:00EC A0 0092 mov al,ds:data_57e ; (000A:0092=0) 3BBB:00EF 26: A2 0036 mov es:data_110e,al ; (0157:0036=0) 3BBB:00F3 A2 01B8 mov ds:data_58e,al ; (000A:01B8=0) 3BBB:00F6 83 3E 0042 00 cmp word ptr ds:data_50e+2,0 ; (000A:0042=157h) 3BBB:00FB 74 04 je loc_5 ; Jump if equal 3BBB:00FD FF 1E 0040 call dword ptr ds:data_50e ; (000A:0040=10B4h) 3BBB:0101 loc_5: ; xref 3BBB:00FB 3BBB:0101 83 3E 0026 00 cmp word ptr ds:data_42e+2,0 ; (000A:0026=157h) 3BBB:0106 74 04 je loc_6 ; Jump if equal 3BBB:0108 FF 1E 0024 call dword ptr ds:data_42e ; (000A:0024=1001h) 3BBB:010C loc_6: ; xref 3BBB:0106 3BBB:010C 06 push es 3BBB:010D 33 F6 xor si,si ; Zero register 3BBB:010F 1E push ds 3BBB:0110 8E DE mov ds,si 3BBB:0112 C7 06 0380 0142 mov word ptr ds:data_31e,142h ; (0000:0380=40h) 3BBB:0118 8C 0E 0382 mov ds:data_32e,cs ; (0000:0382=8E9Ch) 3BBB:011C ,BF 0056 mov di,data_114e ; (0157:0056=20h) 3BBB:011F B9 0004 mov cx,4 3BBB:0122 F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:0124 B1 04 mov cl,4 3BBB:0126 03 F1 add si,cx 3BBB:0128 F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:012A ,BE 0380 mov si,data_31e ; (0000:0380=40h) 3BBB:012D B1 04 mov cl,4 3BBB:012F F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:0131 07 pop es 3BBB:0132 1F pop ds 3BBB:0133 ,BF 02BC mov di,data_60e ; (000A:02BC=0) 3BBB:0136 ,BE 0056 mov si,data_114e ; (0157:0056=20h) 3BBB:0139 B1 0C mov cl,0Ch 3BBB:013B F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:013D 33 C9 xor cx,cx ; Zero register 3BBB:013F 8B D1 mov dx,cx 3BBB:0141 CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:0143 20 60 61 and [bx+si+61h],ah 3BBB:0146 62 63 64 65 66 67 db 'bcdefghij' 3BBB:014C 68 69 6A 3BBB:014F A1 C0 C1 C2 C3 C4 db 0A1h,0C0h,0C1h,0C2h,0C3h,0C4h 3BBB:0155 C5 db 0C5h 3BBB:0156 C6 data_225 db 0C6h ; xref 3BBB:9715 3BBB:0157 C7 C8 C9 CA A2 A3 db 0C7h,0C8h,0C9h,0CAh,0A2h,0A3h 3BBB:015D A4 CB CC A5 CD CE db 0A4h,0CBh,0CCh,0A5h,0CDh,0CEh 3BBB:0163 A6 CF D0 D1 D2 D3 db 0A6h,0CFh,0D0h,0D1h,0D2h,0D3h 3BBB:0169 A0 db 0A0h 3BBB:016A D5 data_226 db 0D5h ; xref 3BBB:89E8 3BBB:016B D6 A0 db 0D6h,0A0h 3BBB:016D A0 data_227 db 0A0h ; xref 3BBB:51B3 3BBB:016E A0 A7 A8 D9 00 DA db 0A0h,0A7h,0A8h,0D9h, 00h,0DAh 3BBB:0174 A9 6B AA AB db 0A9h, 6Bh,0AAh,0ABh 3BBB:0178 40 41 42 43 44 45 db 40h, 41h, 42h, 43h, 44h, 45h 3BBB:017E 01 data_228 db 1 ; xref 3BBB:88B0, 88D4, 89DC, 89EF ; 89F6, 8A09, 8A10, 8A17 ; 8EA4, 8FED, 9073, 9251 ; 9293 3BBB:017F A0 data_229 db 0A0h ; xref 3BBB:92B3, 93A0 3BBB:0180 DB data_230 db 0DBh ; xref 3BBB:8A9F, 8AAD, 8B19, 8B95 ; 9256 3BBB:0181 DDDC data_231 dw 0DDDCh ; xref 3BBB:927F, 9299 3BBB:0183 DE db 0DEh 3BBB:0184 DF data_232 db 0DFh ; xref 3BBB:8920, 892C, 8942, 894B 3BBB:0185 E0 data_233 db 0E0h ; xref 3BBB:8CD5, 8CF3, 8D1C, 8D2F 3BBB:0186 AC data_234 db 0ACh ; xref 3BBB:8771, 877A, 8788, 881B ; 8821, 917B, 938E 3BBB:0187 AD data_235 db 0ADh ; xref 3BBB:8ACD, 8B48, 8B4F, 8EDE ; 8EE7, 8F69 3BBB:0188 E1 data_236 db 0E1h ; xref 3BBB:87C8, 89E3, 8EEC, 8FCC ; 9048 3BBB:0189 AE data_237 db 0AEh ; xref 3BBB:8A95, 8B1F, 8B77, 8BED ; 8C04 3BBB:018A AF data_238 db 0AFh ; xref 3BBB:899C, 94C2 3BBB:018B 6C data_239 db 6Ch ; xref 3BBB:94DB, 95C3 3BBB:018C 6D data_240 db 6Dh ; xref 3BBB:8A7B, 8B67, 9522, 971E 3BBB:018D 6E data_241 db 6Eh ; xref 3BBB:8A80, 8A8D, 8BD6 3BBB:018E 6F data_242 db 6Fh ; xref 3BBB:879A, 9113, 96F6, 96FD ; 9747, 9883 3BBB:018F A0 data_243 db 0A0h ; xref 3BBB:879D, 8B2E, 8B32, 8B3B ; 910B, 9709, 9710, 9876 3BBB:0190 A0 db 0A0h 3BBB:0191 A0 data_244 db 0A0h ; xref 3BBB:8A76, 8ABC, 8B9A, 8BA4 ; 8BB9, 8BBF, 8BF4, 8C32 3BBB:0192 E4E2 data_245 dw 0E4E2h ; xref 3BBB:251A, 2520, 5447, 5454 ; 877E, 87C3, 8816, 8C7D 3BBB:0194 0504 data_247 dw 504h ; xref 3BBB:24C6, 24D3, 2506, 250B ; 4432, 443C, 87A3, 8C86 ; 8C8E, 8EB2, 8F75 3BBB:0196 21 data_248 db 21h ; xref 3BBB:8900, 8933, 92C1, 9318 3BBB:0197 A0 data_249 db 0A0h ; xref 3BBB:8F09, 8F29 3BBB:0198 A0 data_250 db 0A0h ; xref 3BBB:8ED9 3BBB:0199 A0 data_251 db 0A0h ; xref 3BBB:8D0E, 8D6F, 8D89 3BBB:019A A0A0 data_252 dw 0A0A0h ; xref 3BBB:88A6, 88DC, 8A2D, 8A39 ; 8A68, 933F, 9595, 95D1 ; 9656 3BBB:019C A0 data_253 db 0A0h ; xref 3BBB:8DD4, 920F, 95FC, 960B 3BBB:019D A0 data_254 db 0A0h ; xref 3BBB:8E88, 90D1 3BBB:019E A0 data_255 db 0A0h ; xref 3BBB:88F9, 8A3D, 92CB, 930C ; 971A 3BBB:019F 22 data_256 db 22h ; xref 3BBB:88F4, 89D0, 8A48, 8C66 ; 943C, 9459 3BBB:01A0 23 20 db 23h, 20h 3BBB:01A2 A0 data_257 db 0A0h ; xref 3BBB:8AE0, 8B54, 8D26, 8FAA ; 93C8, 9422, 94D7, 95F2 ; 967B, 9776, 97B3, 984C ; 9852, 9868, 9870 3BBB:01A3 A0 data_258 db 0A0h ; xref 3BBB:87A9, 93CE, 941A, 94DF ; 9766, 982B 3BBB:01A4 A0 data_259 db 0A0h ; xref 3BBB:93DA, 93E1 3BBB:01A5 A070 data_260 dw 0A070h ; xref 3BBB:87DC, 87FC, 8836, 8C91 ; 8DC4, 8EAE, 8EBD, 8F71 ; 8F80, 900D, 93F0 3BBB:01A7 A0 data_261 db 0A0h ; xref 3BBB:8759, 876C, 87BC, 87D8 ; 92C6, 92E2, 9324, 9402 3BBB:01A8 A0 data_262 db 0A0h ; xref 3BBB:87A0, 93FC, 979B, 985D 3BBB:01A9 A0 data_263 db 0A0h ; xref 3BBB:8AA6, 8B26, 93D4, 9551 3BBB:01AA 02 data_264 db 2 ; xref 3BBB:8BE3, 93F6 3BBB:01AB A0 B2 A0 db 0A0h,0B2h,0A0h 3BBB:01AE A0 A0 A0 A0 db 0A0h,0A0h,0A0h,0A0h 3BBB:01B2 A0 data_266 db 0A0h ; xref 3BBB:87D1, 92E9, 940A 3BBB:01B3 A0 data_267 db 0A0h ; xref 3BBB:87E9, 883D, 89AA, 8F05 ; 8F1C, 916C, 9193, 91A2 ; 91B2, 92D8 3BBB:01B4 A0 data_268 db 0A0h ; xref 3BBB:89A5, 8EFF, 8F18, 8F8F ; 9054, 918D, 919F, 96CF 3BBB:01B5 B3 A0 71 db 0B3h,0A0h, 71h 3BBB:01B8 72 data_269 db 72h ; xref 3BBB:40FB 3BBB:01B9 73 db 73h 3BBB:01BA 74 data_270 db 74h ; xref 3BBB:1BE7, 1D7F 3BBB:01BB 75 data_271 db 75h ; xref 3BBB:1BE0, 1D7A 3BBB:01BC 66 67 76 77 A0 A0 db 66h, 67h, 76h, 77h,0A0h,0A0h 3BBB:01C2 1E 2E 8E 1E 06 00 db 1Eh, 2Eh, 8Eh, 1Eh, 06h, 00h 3BBB:01C8 8C C0 8E 06 4E 00 db 8Ch,0C0h, 8Eh, 06h, 4Eh, 00h 3BBB:01CE 1F 26 80 3E 10 00 db 1Fh, 26h, 80h, 3Eh, 10h, 00h 3BBB:01D4 00 75 0F 26 8C 16 db 00h, 75h, 0Fh, 26h, 8Ch, 16h 3BBB:01DA 34 00 26 89 26 32 db 34h, 00h, 26h, 89h, 26h, 32h 3BBB:01E0 00 06 17 BC 00 01 db 00h, 06h, 17h,0BCh, 00h, 01h 3BBB:01E6 loc_7: 3BBB:01E6 26: FE 06 0010 inc byte ptr es:data_40e ; (000A:0010=0B4h) 3BBB:01EB FB sti ; Enable interrupts 3BBB:01EC FC cld ; Clear direction 3BBB:01ED 26: A3 0030 mov es:data_45e,ax ; (000A:0030=10B4h) 3BBB:01F1 26: 88 0E 003C mov es:data_49e,cl ; (000A:003C=0B4h) 3BBB:01F6 56 push si 3BBB:01F7 57 push di 3BBB:01F8 55 push bp 3BBB:01F9 26: FF 1E 0052 call dword ptr es:data_54e ; (000A:0052=157h) 3BBB:01FE 5D pop bp 3BBB:01FF 5F pop di 3BBB:0200 5E pop si 3BBB:0201 8B C3 mov ax,bx 3BBB:0203 26: FE 0E 0010 dec byte ptr es:data_40e ; (000A:0010=0B4h) 3BBB:0208 75 0B jnz loc_8 ; Jump if not zero 3BBB:020A FA cli ; Disable interrupts 3BBB:020B 26: 8E 16 0034 mov ss,es:data_47e ; (000A:0034=10B4h) 3BBB:0210 26: 8B 26 0032 mov sp,word ptr es:data_45e+2 ; (000A:0032=157h) 3BBB:0215 loc_8: ; xref 3BBB:0208 3BBB:0215 26: 8E 06 0030 mov es,es:data_45e ; (000A:0030=10B4h) 3BBB:021A 3D FFFF cmp ax,0FFFFh 3BBB:021D 74 02 je loc_ret_9 ; Jump if equal 3BBB:021F 33 C9 xor cx,cx ; Zero register 3BBB:0221 loc_ret_9: ; xref 3BBB:021D 3BBB:0221 CF iret ; Interrupt return ;* No entry point to code 3BBB:0222 E9 0005 jmpn loc_10 ; (022A) 3BBB:0225 00 00 00 00 00 db 0, 0, 0, 0, 0 3BBB:022A loc_10: ; xref 3BBB:0222 3BBB:022A 26: FF 36 002E push es:data_177 ; (3BBB:002E=3BBBh) 3BBB:022F 26: 8C 1E 002E mov es:data_177,ds ; (3BBB:002E=3BBBh) 3BBB:0234 2E: 8E 1E 0006 mov ds,cs:data_160 ; (3BBB:0006=0Ah) 3BBB:0239 FF 1E 0030 call dword ptr ds:data_45e ; (000A:0030=10B4h) 3BBB:023D 26: 8E 1E 002E mov ds,es:data_177 ; (3BBB:002E=3BBBh) 3BBB:0242 26: 8F 06 002E pop es:data_177 ; (3BBB:002E=3BBBh) 3BBB:0247 CB retf ;* No entry point to code 3BBB:0248 E9 0005 jmpn loc_11 ; (0250) 3BBB:024B 00 00 00 00 00 db 0, 0, 0, 0, 0 3BBB:0250 loc_11: ; xref 3BBB:0248 3BBB:0250 FC cld ; Clear direction 3BBB:0251 8A C1 mov al,cl 3BBB:0253 3C 3C cmp al,3Ch ; '<' 3BBB:0255 76 1B jbe loc_13 ; Jump if below or = 3BBB:0257 2C 25 sub al,25h ; '%' 3BBB:0259 3C 3D cmp al,3Dh ; '=' 3BBB:025B 72 0E jb loc_12 ; Jump if below 3BBB:025D 3C 52 cmp al,52h ; 'R' 3BBB:025F 76 11 jbe loc_13 ; Jump if below or = 3BBB:0261 2C 0C sub al,0Ch 3BBB:0263 3C 53 cmp al,53h ; 'S' 3BBB:0265 72 04 jb loc_12 ; Jump if below 3BBB:0267 3C 7C cmp al,7Ch ; '|' 3BBB:0269 76 07 jbe loc_13 ; Jump if below or = 3BBB:026B loc_12: ; xref 3BBB:025B, 0265 3BBB:026B BB FFFF mov bx,0FFFFh 3BBB:026E B9 0002 mov cx,2 3BBB:0271 CB retf 3BBB:0272 loc_13: ; xref 3BBB:0255, 025F, 0269 3BBB:0272 ,BB 00C3 mov bx,0C3h ; (3BBB:00C3=0) 3BBB:0275 2E: D7 xlat cs:[bx] ; al=[al+[bx]] table 3BBB:0277 8A C8 mov cl,al 3BBB:0279 D0 C0 rol al,1 ; Rotate 3BBB:027B D0 C0 rol al,1 ; Rotate 3BBB:027D D0 C0 rol al,1 ; Rotate 3BBB:027F 24 07 and al,7 3BBB:0281 B4 1F mov ah,1Fh 3BBB:0283 3C 06 cmp al,6 3BBB:0285 72 04 jb loc_14 ; Jump if below 3BBB:0287 B4 3F mov ah,3Fh ; '?' 3BBB:0289 24 06 and al,6 3BBB:028B loc_14: ; xref 3BBB:0285 3BBB:028B 22 CC and cl,ah 3BBB:028D E8 0001 call sub_3 ; (0291) 3BBB:0290 CB retf ; Return far PCPM endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:028D, 02AB ;========================================================================== 3BBB:0291 sub_3 proc near 3BBB:0291 32 E4 xor ah,ah ; Zero register 3BBB:0293 8A EC mov ch,ah 3BBB:0295 8B F8 mov di,ax 3BBB:0297 D1 E7 shl di,1 ; Shift w/zeros fill 3BBB:0299 D1 E7 shl di,1 ; Shift w/zeros fill 3BBB:029B 8B F1 mov si,cx 3BBB:029D D1 E6 shl si,1 ; Shift w/zeros fill 3BBB:029F FF A5 0000 ;* jmp word ptr ds:[0][di] ;*(3BBB:0000=1101h) sub_3 endp 3BBB:029F db 0FFh,0A5h, 00h, 00h ; Fixup - byte match ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:02D5, 02FB, 039D, 03E7, 03F9, 04D2, 04D8 ; 051C, 05EC, 0614, 06C8, 06ED, 0972, 0A5A ; 0AA0, 0ACF, 0D88, 0DCA, 0DD6, 10C0, 1101 ; 1108, 110E, 1125, 1193, 147D, 1496, 149F ; 18BC, 1968, 2124, 22B9, 22C5, 22EE, 230E ; 2696, 27B2, 27C4, 2855, 285D ;========================================================================== 3BBB:02A3 sub_4 proc near 3BBB:02A3 loc_15: ; xref 3BBB:0301, 111F, 119D, 1A2D ; 20BB, 2946 3BBB:02A3 ,84 ED test ch,ch 3BBB:02A5 74 09 jz loc_16 ; Jump if zero 3BBB:02A7 FE CD dec ch 3BBB:02A9 8A C5 mov al,ch 3BBB:02AB E8 FFE3 call sub_3 ; (0291) 3BBB:02AE EB 05 jmp short loc_17 ; (02B5) 3BBB:02B0 loc_16: ; xref 3BBB:02A5 3BBB:02B0 26: FF 1E 0052 call dword ptr es:data_20e ; (0000:0052=0F000h) 3BBB:02B5 loc_17: ; xref 3BBB:02AE 3BBB:02B5 8B C3 mov ax,bx 3BBB:02B7 C3 retn sub_4 endp 3BBB:02B8 C3 data_278 db 0C3h ; xref 3BBB:93D7 3BBB:02B9 03D1 data_279 dw 3D1h ; xref 3BBB:93EB 3BBB:02BB FB data_280 db 0FBh ; xref 3BBB:93FF 3BBB:02BC 06 data_281 db 6 ; xref 3BBB:043A, 93F9 3BBB:02BD 6F data_282 db 6Fh ; xref 3BBB:93D1 3BBB:02BE 0D data_283 db 0Dh ; xref 3BBB:93F3 3BBB:02BF 4B 05 44 0D 53 0D db 4Bh, 05h, 44h, 0Dh, 53h, 0Dh 3BBB:02C5 2E db 2Eh 3BBB:02C6 FF data_284 db 0FFh ; xref 3BBB:9407 3BBB:02C7 A4 39 02 db 0A4h, 39h, 02h ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:0451, 05CB ;========================================================================== 3BBB:02CA sub_5 proc near 3BBB:02CA 26: FE 06 0013 inc es:data_166 ; (3BBB:0013=0) 3BBB:02CF BB 006A mov bx,6Ah 3BBB:02D2 B9 0204 mov cx,204h 3BBB:02D5 E8 FFCB call sub_4 ; (02A3) 3BBB:02D8 26: A1 0036 mov ax,es:data_179 ; (3BBB:0036=0) 3BBB:02DC A3 037F mov word ptr ds:[37Fh],ax ; (3BBB:037F=3A26h) 3BBB:02DF 26: A0 0046 mov al,es:data_188 ; (3BBB:0046=0) 3BBB:02E3 A2 0381 mov byte ptr ds:[381h],al ; (3BBB:0381=6) 3BBB:02E6 26: A1 0038 mov ax,es:data_181 ; (3BBB:0038=0) 3BBB:02EA A3 02D5 mov word ptr ds:[2D5h],ax ; (3BBB:02D5=0CBE8h) 3BBB:02ED 26: A1 003A mov ax,word ptr es:data_181+2 ; (3BBB:003A=3BBBh) 3BBB:02F1 A3 02D7 mov word ptr ds:[2D7h],ax ; (3BBB:02D7=26FFh) 3BBB:02F4 C3 retn sub_5 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:04B9, 04F2, 0505, 06D4, 075D ;========================================================================== 3BBB:02F5 sub_6 proc near 3BBB:02F5 BB 006A mov bx,6Ah ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:08AE 3BBB:02F8 sub_7: 3BBB:02F8 B9 0205 mov cx,205h 3BBB:02FB E8 FFA5 call sub_4 ; (02A3) 3BBB:02FE B9 0206 mov cx,206h 3BBB:0301 loc_18: ; xref 3BBB:030A 3BBB:0301 ,E9 FF9F ;* jmp loc_15 ; (02A3) sub_6 endp 3BBB:0301 db 0E9h, 9Fh,0FFh ; Fixup - byte match ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:046C, 0566, 0599 ;========================================================================== 3BBB:0304 sub_8 proc near 3BBB:0304 BA 0382 mov dx,382h 3BBB:0307 B9 0098 mov cx,98h 3BBB:030A EB F5 jmp short loc_18 ; (0301) sub_8 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:04B6, 04EF, 06D1 ;========================================================================== 3BBB:030C sub_9 proc near 3BBB:030C A1 037F mov ax,word ptr ds:[37Fh] ; (3BBB:037F=3A26h) 3BBB:030F 26: A3 0036 mov es:data_179,ax ; (3BBB:0036=0) 3BBB:0313 A0 0381 mov al,byte ptr ds:[381h] ; (3BBB:0381=6) 3BBB:0316 26: A2 0046 mov es:data_188,al ; (3BBB:0046=0) 3BBB:031A A1 02D5 mov ax,word ptr ds:[2D5h] ; (3BBB:02D5=0CBE8h) 3BBB:031D 26: A3 0038 mov es:data_181,ax ; (3BBB:0038=0) 3BBB:0321 A1 02D7 mov ax,word ptr ds:[2D7h] ; (3BBB:02D7=26FFh) 3BBB:0324 26: A3 003A mov word ptr es:data_181+2,ax ; (3BBB:003A=3BBBh) 3BBB:0328 C3 retn sub_9 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:0473 ;========================================================================== 3BBB:0329 sub_10 proc near 3BBB:0329 0B C0 or ax,ax ; Zero ? 3BBB:032B 74 14 jz loc_19 ; Jump if zero 3BBB:032D 50 push ax 3BBB:032E 2D 02D9 sub ax,2D9h 3BBB:0331 B9 0080 mov cx,80h 3BBB:0334 2B C8 sub cx,ax 3BBB:0336 5E pop si 3BBB:0337 ,BF 02D9 mov di,2D9h ; (3BBB:02D9=0A1h) 3BBB:033A 06 push es 3BBB:033B 1E push ds 3BBB:033C 07 pop es 3BBB:033D F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:033F 07 pop es 3BBB:0340 C3 retn 3BBB:0341 loc_19: ; xref 3BBB:032B 3BBB:0341 A3 02D9 mov word ptr ds:[2D9h],ax ; (3BBB:02D9=36A1h) 3BBB:0344 C3 retn sub_10 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:04B0 ;========================================================================== 3BBB:0345 sub_11 proc near 3BBB:0345 26: C7 06 0038 036A mov es:data_181,36Ah ; (3BBB:0038=0) 3BBB:034C 26: 8C 1E 003A mov word ptr es:data_181+2,ds ; (3BBB:003A=3BBBh) 3BBB:0351 26: C6 06 0046 FE mov es:data_188,0FEh ; (3BBB:0046=0) 3BBB:0357 BE 035A mov si,35Ah 3BBB:035A EB 03 jmp short loc_20 ; (035F) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:0840 3BBB:035C sub_12: 3BBB:035C ,BE 038E mov si,38Eh ; (3BBB:038E=6) 3BBB:035F loc_20: ; xref 3BBB:035A 3BBB:035F C6 06 02D4 00 mov byte ptr ds:[2D4h],0 ; (3BBB:02D4=2) 3BBB:0364 F6 04 FF test byte ptr [si],0FFh 3BBB:0367 74 05 jz loc_21 ; Jump if zero 3BBB:0369 BF 005D mov di,5Dh 3BBB:036C EB 24 jmp short loc_24 ; (0392) 3BBB:036E loc_21: ; xref 3BBB:0367 3BBB:036E ,BF 005A mov di,offset data_201 ; (3BBB:005A=0) 3BBB:0371 loc_22: ; xref 3BBB:03B3 3BBB:0371 8A 05 mov al,[di] 3BBB:0373 3C FF cmp al,0FFh 3BBB:0375 74 3E je loc_27 ; Jump if equal 3BBB:0377 88 04 mov [si],al 3BBB:0379 0A C0 or al,al ; Zero ? 3BBB:037B 74 09 jz loc_23 ; Jump if zero 3BBB:037D FE C8 dec al 3BBB:037F 26: 3A 06 0036 cmp al,byte ptr es:data_179 ; (3BBB:0036=0) 3BBB:0384 75 0C jne loc_24 ; Jump if not equal 3BBB:0386 loc_23: ; xref 3BBB:037B 3BBB:0386 F6 06 02D4 FF test byte ptr ds:[2D4h],0FFh ; (3BBB:02D4=2) 3BBB:038B 75 21 jnz loc_26 ; Jump if not zero 3BBB:038D C6 06 02D4 FF mov byte ptr ds:[2D4h],0FFh ; (3BBB:02D4=2) 3BBB:0392 loc_24: ; xref 3BBB:036C, 0384 3BBB:0392 57 push di 3BBB:0393 56 push si 3BBB:0394 80 4C 06 80 or byte ptr [si+6],80h 3BBB:0398 8B D6 mov dx,si 3BBB:039A B9 000F mov cx,0Fh 3BBB:039D E8 FF03 call sub_4 ; (02A3) 3BBB:03A0 5E pop si 3BBB:03A1 5F pop di 3BBB:03A2 80 FB FF cmp bl,0FFh 3BBB:03A5 74 03 je loc_25 ; Jump if equal 3BBB:03A7 33 C9 xor cx,cx ; Zero register 3BBB:03A9 C3 retn 3BBB:03AA loc_25: ; xref 3BBB:03A5 3BBB:03AA 0A FF or bh,bh ; Zero ? 3BBB:03AC 75 07 jnz loc_27 ; Jump if not zero 3BBB:03AE loc_26: ; xref 3BBB:038B 3BBB:03AE 47 inc di 3BBB:03AF 81 FF 005E ;* cmp di,5Eh 3BBB:03AF db 81h,0FFh, 5Eh, 00h ; Fixup - byte match 3BBB:03B3 72 BC jc loc_22 ; Jump if carry Set 3BBB:03B5 loc_27: ; xref 3BBB:0375, 03AC 3BBB:03B5 B9 001E mov cx,1Eh 3BBB:03B8 C3 retn sub_11 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:04DB, 0625 ;========================================================================== 3BBB:03B9 sub_13 proc near 3BBB:03B9 ,BF 0008 mov di,offset data_161 ; (3BBB:0008=0) 3BBB:03BC ,BE 035B mov si,35Bh ; (3BBB:035B=3) 3BBB:03BF B9 0004 mov cx,4 3BBB:03C2 F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:03C4 C3 retn sub_13 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:0500 ;========================================================================== 3BBB:03C5 sub_14 proc near 3BBB:03C5 26: F7 06 0006 0002 test es:data_160,2 ; (3BBB:0006=0Ah) 3BBB:03CC 74 0C jz loc_28 ; Jump if zero 3BBB:03CE 26: 81 26 0006 FFFD ;* and es:data_160,0FFFDh ; (3BBB:0006=0Ah) 3BBB:03CE db 26h, 81h, 26h, 06h, 00h,0FDh ; Fixup - byte match 3BBB:03D4 db 0FFh ; Fixup - byte match 3BBB:03D5 C6 06 0059 00 mov data_200,0 ; (3BBB:0059=0) 3BBB:03DA loc_28: ; xref 3BBB:03CC 3BBB:03DA 26: 81 0E 0006 0008 ;* or es:data_160,8 ; (3BBB:0006=0Ah) 3BBB:03DA db 26h, 81h, 0Eh, 06h, 00h, 08h ; Fixup - byte match 3BBB:03E0 db 00h ; Fixup - byte match 3BBB:03E1 BA 035A mov dx,35Ah 3BBB:03E4 B9 003B mov cx,3Bh 3BBB:03E7 E8 FEB9 call sub_4 ; (02A3) 3BBB:03EA 26: 81 26 0006 FFF7 ;* and es:data_160,0FFF7h ; (3BBB:0006=0Ah) 3BBB:03EA db 26h, 81h, 26h, 06h, 00h,0F7h ; Fixup - byte match 3BBB:03F0 db 0FFh ; Fixup - byte match 3BBB:03F1 53 push bx 3BBB:03F2 51 push cx 3BBB:03F3 B9 0010 mov cx,10h 3BBB:03F6 BA 035A mov dx,35Ah 3BBB:03F9 E8 FEA7 call sub_4 ; (02A3) 3BBB:03FC 26: C6 06 0046 00 mov es:data_188,0 ; (3BBB:0046=0) 3BBB:0402 59 pop cx 3BBB:0403 5B pop bx 3BBB:0404 0B DB or bx,bx ; Zero ? 3BBB:0406 75 03 jnz loc_29 ; Jump if not zero 3BBB:0408 B9 002A mov cx,2Ah 3BBB:040B loc_29: ; xref 3BBB:0406 3BBB:040B 89 1E 037D mov word ptr ds:[37Dh],bx ; (3BBB:037D=0C8FEh) 3BBB:040F C3 retn sub_14 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:055C, 06F9 ;========================================================================== 3BBB:0410 sub_15 proc near 3BBB:0410 06 push es 3BBB:0411 8E 06 037D mov es,word ptr ds:[37Dh] ; (3BBB:037D=0C8FEh) 3BBB:0415 ,BF 005C mov di,data_1138e ; (C8FE:005C=6) 3BBB:0418 33 C0 xor ax,ax ; Zero register 3BBB:041A AA stosb ; Store al to es:[di] 3BBB:041B B0 20 mov al,20h ; ' ' 3BBB:041D B9 000B mov cx,0Bh 3BBB:0420 F3/ AA rep stosb ; Rep when cx >0 Store al to es:[di] 3BBB:0422 33 C0 xor ax,ax ; Zero register 3BBB:0424 B1 02 mov cl,2 3BBB:0426 F3/ AB rep stosw ; Rep when cx >0 Store ax to es:[di] 3BBB:0428 1E push ds 3BBB:0429 06 push es 3BBB:042A 1F pop ds 3BBB:042B ,BE 005C mov si,data_1138e ; (C8FE:005C=6) 3BBB:042E B1 08 mov cl,8 3BBB:0430 F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:0432 1F pop ds 3BBB:0433 07 pop es 3BBB:0434 C3 retn sub_15 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:04EC, 0759 ;========================================================================== 3BBB:0435 sub_16 proc near 3BBB:0435 33 FF xor di,di ; Zero register 3BBB:0437 06 push es 3BBB:0438 8E C7 mov es,di 3BBB:043A ,BE 02BC mov si,offset data_281 ; (3BBB:02BC=6) 3BBB:043D B9 0004 mov cx,4 3BBB:0440 F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:0442 B1 04 mov cl,4 3BBB:0444 03 F9 add di,cx 3BBB:0446 F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:0448 ,BF 0380 mov di,data_31e ; (0000:0380=40h) 3BBB:044B B1 04 mov cl,4 3BBB:044D F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:044F 07 pop es 3BBB:0450 C3 retn sub_16 endp ;* No entry point to code 3BBB:0451 E8 FE76 call sub_5 ; (02CA) 3BBB:0454 06 push es 3BBB:0455 1E push ds 3BBB:0456 26: 8B 36 0038 mov si,es:data_181 ; (3BBB:0038=0) 3BBB:045B ,BF 02D9 mov di,2D9h ; (3BBB:02D9=0A1h) 3BBB:045E 1E push ds 3BBB:045F 26: 8E 1E 003A mov ds,word ptr es:data_181+2 ; (3BBB:003A=3BBBh) 3BBB:0464 07 pop es 3BBB:0465 B9 0040 mov cx,40h 3BBB:0468 F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:046A 1F pop ds 3BBB:046B 07 pop es 3BBB:046C E8 FE95 call sub_8 ; (0304) 3BBB:046F E3 02 jcxz loc_30 ; Jump if cx=0 3BBB:0471 EB 42 jmp short loc_34 ; (04B5) 3BBB:0473 loc_30: ; xref 3BBB:046F 3BBB:0473 E8 FEB3 call sub_10 ; (0329) 3BBB:0476 ,BE 035A mov si,35Ah ; (3BBB:035A=0EBh) 3BBB:0479 83 3E 0042 00 cmp word ptr data_185+2,0 ; (3BBB:0042=0) 3BBB:047E 74 13 je loc_31 ; Jump if equal 3BBB:0480 C6 06 0386 FF mov byte ptr ds:[386h],0FFh ; (3BBB:0386=0F6h) 3BBB:0485 81 7C 09 4F43 cmp word ptr [si+9],4F43h 3BBB:048A 74 17 je loc_32 ; Jump if equal 3BBB:048C 81 7C 09 5845 cmp word ptr [si+9],5845h 3BBB:0491 74 10 je loc_32 ; Jump if equal 3BBB:0493 loc_31: ; xref 3BBB:047E 3BBB:0493 C6 06 0386 00 mov byte ptr ds:[386h],0 ; (3BBB:0386=0F6h) 3BBB:0498 C7 44 09 4D43 mov word ptr [si+9],4D43h 3BBB:049D C6 44 0B 44 mov byte ptr [si+0Bh],44h ; 'D' 3BBB:04A1 EB 0D jmp short loc_33 ; (04B0) 3BBB:04A3 loc_32: ; xref 3BBB:048A, 0491 3BBB:04A3 26: 80 3E 0018 00 cmp es:data_169,0 ; (3BBB:0018=0) 3BBB:04A9 74 05 je loc_33 ; Jump if equal 3BBB:04AB B9 0019 mov cx,19h 3BBB:04AE EB 05 jmp short loc_34 ; (04B5) 3BBB:04B0 loc_33: ; xref 3BBB:04A1, 04A9 3BBB:04B0 E8 FE92 call sub_11 ; (0345) 3BBB:04B3 E3 0C jcxz loc_35 ; Jump if cx=0 3BBB:04B5 loc_34: ; xref 3BBB:0471, 04AE, 05F4 3BBB:04B5 ,51 push cx 3BBB:04B6 E8 FE53 call sub_9 ; (030C) 3BBB:04B9 E8 FE39 call sub_6 ; (02F5) 3BBB:04BC 59 pop cx 3BBB:04BD BB FFFF mov bx,0FFFFh 3BBB:04C0 C3 retn 3BBB:04C1 loc_35: ; xref 3BBB:04B3 3BBB:04C1 FA cli ; Disable interrupts 3BBB:04C2 26: C7 06 0070 01C7 mov es:data_215,1C7h ; (3BBB:0070=0) 3BBB:04C9 26: 8C 0E 0072 mov es:data_216,cs ; (3BBB:0072=3BBBh) 3BBB:04CE FB sti ; Enable interrupts 3BBB:04CF B9 0307 mov cx,307h 3BBB:04D2 E8 FDCE call sub_4 ; (02A3) 3BBB:04D5 B9 020A mov cx,20Ah 3BBB:04D8 E8 FDC8 call sub_4 ; (02A3) 3BBB:04DB E8 FEDB call sub_13 ; (03B9) 3BBB:04DE 26: 81 26 0006 FFFB ;* and es:data_160,0FFFBh ; (3BBB:0006=0Ah) 3BBB:04DE db 26h, 81h, 26h, 06h, 00h,0FBh ; Fixup - byte match 3BBB:04E4 db 0FFh ; Fixup - byte match 3BBB:04E5 80 3E 0386 00 cmp byte ptr ds:[386h],0 ; (3BBB:0386=0F6h) 3BBB:04EA 74 14 je loc_36 ; Jump if equal 3BBB:04EC E8 FF46 call sub_16 ; (0435) 3BBB:04EF E8 FE1A call sub_9 ; (030C) 3BBB:04F2 E8 FE00 call sub_6 ; (02F5) 3BBB:04F5 BA 035A mov dx,35Ah 3BBB:04F8 B1 01 mov cl,1 3BBB:04FA FF 1E 0040 call dword ptr data_185 ; (3BBB:0040=0) 3BBB:04FE EB 08 jmp short loc_37 ; (0508) 3BBB:0500 loc_36: ; xref 3BBB:04EA 3BBB:0500 E8 FEC2 call sub_14 ; (03C5) 3BBB:0503 E3 22 jcxz loc_39 ; Jump if cx=0 3BBB:0505 E8 FDED call sub_6 ; (02F5) 3BBB:0508 loc_37: ; xref 3BBB:04FE 3BBB:0508 26: C7 06 0014 FFFD mov es:data_167,0FFFDh ; (3BBB:0014=0) 3BBB:050F 26: C6 06 0019 24 mov es:data_170,24h ; (3BBB:0019=0) '$' 3BBB:0515 8B 16 1016 mov dx,word ptr ds:[1016h] ; (3BBB:1016=0F632h) 3BBB:0519 B9 0009 mov cx,9 3BBB:051C E8 FD84 call sub_4 ; (02A3) 3BBB:051F loc_38: ; xref 3BBB:0525 3BBB:051F ,33 C9 xor cx,cx ; Zero register 3BBB:0521 8B D1 mov dx,cx 3BBB:0523 CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:0525 EB F8 jmp short loc_38 ; (051F) 3BBB:0527 loc_39: ; xref 3BBB:0503 3BBB:0527 53 push bx 3BBB:0528 B8 0020 mov ax,20h 3BBB:052B B1 02 mov cl,2 3BBB:052D B2 00 mov dl,0 3BBB:052F FF 1E 0028 call dword ptr data_176 ; (3BBB:0028=0) 3BBB:0533 5B pop bx 3BBB:0534 06 push es 3BBB:0535 8E C3 mov es,bx 3BBB:0537 ,BF 0081 mov di,data_25e ; (0000:0081=10h) 3BBB:053A ,BE 02D9 mov si,2D9h ; (3BBB:02D9=0A1h) 3BBB:053D B9 007F mov cx,7Fh 3BBB:0540 8A E5 mov ah,ch 3BBB:0542 locloop_40: ; xref 3BBB:0554 3BBB:0542 AC lodsb ; String [si] to al 3BBB:0543 0A C0 or al,al ; Zero ? 3BBB:0545 74 0F jz loc_42 ; Jump if zero 3BBB:0547 3C 61 cmp al,61h ; 'a' 3BBB:0549 72 06 jb loc_41 ; Jump if below 3BBB:054B 3C 7A cmp al,7Ah ; 'z' 3BBB:054D 77 02 ja loc_41 ; Jump if above 3BBB:054F 24 5F and al,5Fh ; '_' 3BBB:0551 loc_41: ; xref 3BBB:0549, 054D 3BBB:0551 AA stosb ; Store al to es:[di] 3BBB:0552 FE C4 inc ah 3BBB:0554 E2 EC loop locloop_40 ; Loop if cx > 0 3BBB:0556 loc_42: ; xref 3BBB:0545 3BBB:0556 26: 88 26 0080 mov es:data_24e,ah ; (0000:0080=31h) 3BBB:055B 07 pop es 3BBB:055C E8 FEB1 call sub_15 ; (0410) 3BBB:055F 80 3E 02D9 00 cmp byte ptr ds:[2D9h],0 ; (3BBB:02D9=0A1h) 3BBB:0564 74 62 je loc_46 ; Jump if equal 3BBB:0566 E8 FD9B call sub_8 ; (0304) 3BBB:0569 83 FB FF ;* cmp bx,0FFFFh 3BBB:0569 db 83h,0FBh,0FFh ; Fixup - byte match 3BBB:056C 74 5A jz loc_46 ; Jump if zero 3BBB:056E 06 push es 3BBB:056F 8E 06 037D mov es,word ptr ds:[37Dh] ; (3BBB:037D=0C8FEh) 3BBB:0573 ,BF 005C mov di,data_1138e ; (C8FE:005C=6) 3BBB:0576 ,BE 035A mov si,35Ah ; (3BBB:035A=0EBh) 3BBB:0579 B9 0008 mov cx,8 3BBB:057C F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:057E ,BE 0372 mov si,372h ; (3BBB:0372=5) 3BBB:0581 AD lodsw ; String [si] to ax 3BBB:0582 0B C0 or ax,ax ; Zero ? 3BBB:0584 74 03 jz loc_43 ; Jump if zero 3BBB:0586 2D 0258 sub ax,258h 3BBB:0589 loc_43: ; xref 3BBB:0584 3BBB:0589 ,BF 0051 mov di,data_1136e ; (C8FE:0051=80h) 3BBB:058C AB stosw ; Store ax to es:[di] 3BBB:058D A4 movsb ; Mov [si] to es:[di] 3BBB:058E 07 pop es 3BBB:058F 83 FB 00 cmp bx,0 3BBB:0592 74 34 je loc_46 ; Jump if equal 3BBB:0594 43 inc bx 3BBB:0595 89 1E 0382 mov word ptr ds:[382h],bx ; (3BBB:0382=36h) 3BBB:0599 E8 FD68 call sub_8 ; (0304) 3BBB:059C C7 06 0382 02D9 mov word ptr ds:[382h],2D9h ; (3BBB:0382=36h) 3BBB:05A2 83 FB FF ;* cmp bx,0FFFFh 3BBB:05A2 db 83h,0FBh,0FFh ; Fixup - byte match 3BBB:05A5 74 21 jz loc_46 ; Jump if zero 3BBB:05A7 06 push es 3BBB:05A8 8E 06 037D mov es,word ptr ds:[37Dh] ; (3BBB:037D=0C8FEh) 3BBB:05AC ,BF 006C mov di,data_1139e ; (C8FE:006C=12h) 3BBB:05AF ,BE 035A mov si,35Ah ; (3BBB:035A=0EBh) 3BBB:05B2 B9 0008 mov cx,8 3BBB:05B5 F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:05B7 ,BE 0372 mov si,372h ; (3BBB:0372=5) 3BBB:05BA AD lodsw ; String [si] to ax 3BBB:05BB 0B C0 or ax,ax ; Zero ? 3BBB:05BD 74 03 jz loc_45 ; Jump if zero 3BBB:05BF 2D 0258 sub ax,258h 3BBB:05C2 loc_45: ; xref 3BBB:05BD 3BBB:05C2 ,BF 0054 mov di,data_1137e ; (C8FE:0054=74h) 3BBB:05C5 AB stosw ; Store ax to es:[di] 3BBB:05C6 A4 movsb ; Mov [si] to es:[di] 3BBB:05C7 07 pop es 3BBB:05C8 loc_46: ; xref 3BBB:0564, 056C, 0592, 05A5 3BBB:05C8 E9 0131 jmp loc_58 ; (06FC) ;* No entry point to code 3BBB:05CB E8 FCFC call sub_5 ; (02CA) 3BBB:05CE E8 0802 call sub_27 ; (0DD3) 3BBB:05D1 ,BF 035B mov di,35Bh ; (3BBB:035B=3) 3BBB:05D4 B0 20 mov al,20h ; ' ' 3BBB:05D6 B9 000B mov cx,0Bh 3BBB:05D9 06 push es 3BBB:05DA 1E push ds 3BBB:05DB 07 pop es 3BBB:05DC F3/ AA rep stosb ; Rep when cx >0 Store al to es:[di] 3BBB:05DE 07 pop es 3BBB:05DF 8C C3 mov bx,es 3BBB:05E1 26: 80 3E 003C 93 cmp byte ptr es:data_183,93h ; (3BBB:003C=0) 3BBB:05E7 75 2F jne loc_48 ; Jump if not equal 3BBB:05E9 B9 0208 mov cx,208h 3BBB:05EC E8 FCB4 call sub_4 ; (02A3) 3BBB:05EF 83 FB FF ;* cmp bx,0FFFFh 3BBB:05EF db 83h,0FBh,0FFh ; Fixup - byte match 3BBB:05F2 75 03 jnz loc_47 ; Jump if not zero 3BBB:05F4 E9 FEBE jmp loc_34 ; (04B5) 3BBB:05F7 loc_47: ; xref 3BBB:05F2 3BBB:05F7 1E push ds 3BBB:05F8 06 push es 3BBB:05F9 1F pop ds 3BBB:05FA 8E C3 mov es,bx 3BBB:05FC ,BE 0010 mov si,offset data_164 ; (3BBB:0010=0) 3BBB:05FF 8B FE mov di,si 3BBB:0601 B9 0078 mov cx,78h 3BBB:0604 F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:0606 26: C7 06 0014 0000 mov es:data_167,0 ; (3BBB:0014=0) 3BBB:060D 1E push ds 3BBB:060E 07 pop es 3BBB:060F 1F pop ds 3BBB:0610 53 push bx 3BBB:0611 B9 0610 mov cx,610h 3BBB:0614 E8 FC8C call sub_4 ; (02A3) 3BBB:0617 5B pop bx 3BBB:0618 loc_48: ; xref 3BBB:05E7 3BBB:0618 89 1E 037B mov word ptr ds:[37Bh],bx ; (3BBB:037B=974h) 3BBB:061C 06 push es 3BBB:061D 8E C3 mov es,bx 3BBB:061F 26: C6 06 0013 01 mov es:data_166,1 ; (3BBB:0013=0) 3BBB:0625 E8 FD91 call sub_13 ; (03B9) 3BBB:0628 07 pop es 3BBB:0629 26: 80 3E 003C 93 cmp byte ptr es:data_183,93h ; (3BBB:003C=0) 3BBB:062F 74 03 je loc_49 ; Jump if equal 3BBB:0631 E9 00A7 jmp loc_55 ; (06DB) 3BBB:0634 loc_49: ; xref 3BBB:062F 3BBB:0634 06 push es 3BBB:0635 1E push ds 3BBB:0636 26: 8A 0E 0005 mov cl,es:data_159 ; (3BBB:0005=11h) 3BBB:063B 8B 16 037B mov dx,word ptr ds:[37Bh] ; (3BBB:037B=974h) 3BBB:063F ,BF 004E mov di,data_136e ; (0974:004E=0C0h) 3BBB:0642 06 push es 3BBB:0643 1F pop ds 3BBB:0644 8B F7 mov si,di 3BBB:0646 loc_50: ; xref 3BBB:0681, 0686 3BBB:0646 ,C4 5C 04 les bx,dword ptr [si+4] ; Load seg:offset ptr 3BBB:0649 26: 8B 47 04 mov ax,es:[bx+4] 3BBB:064D 26: 0B 47 06 or ax,es:[bx+6] 3BBB:0651 74 35 jz loc_53 ; Jump if zero 3BBB:0653 26: 3A 4F 12 cmp cl,es:[bx+12h] 3BBB:0657 74 2A je loc_52 ; Jump if equal 3BBB:0659 26: 8B 47 04 mov ax,es:[bx+4] 3BBB:065D 89 44 04 mov [si+4],ax 3BBB:0660 26: 8B 47 06 mov ax,es:[bx+6] 3BBB:0664 89 44 06 mov [si+6],ax 3BBB:0667 1E push ds 3BBB:0668 8E DA mov ds,dx 3BBB:066A 8B C3 mov ax,bx 3BBB:066C 87 45 04 xchg [di+4],ax 3BBB:066F 26: 89 47 04 mov es:[bx+4],ax 3BBB:0673 8C C0 mov ax,es ;===== Indexed Entry Point ================================================ 3BBB:0675 loc_51: ; xref 3BBB:2173 3BBB:0675 87 45 06 xchg [di+6],ax 3BBB:0678 26: 89 47 06 mov es:[bx+6],ax 3BBB:067C 8B FB mov di,bx 3BBB:067E 8C C2 mov dx,es 3BBB:0680 1F pop ds 3BBB:0681 EB C3 jmp short loc_50 ; (0646) 3BBB:0683 loc_52: ; xref 3BBB:0657 3BBB:0683 C5 74 04 lds si,dword ptr [si+4] ; Load seg:offset ptr 3BBB:0686 EB BE jmp short loc_50 ; (0646) 3BBB:0688 loc_53: ; xref 3BBB:0651 3BBB:0688 8E DA mov ds,dx 3BBB:068A 89 5D 04 mov [di+4],bx 3BBB:068D 8C 45 06 mov [di+6],es 3BBB:0690 1F pop ds 3BBB:0691 1E push ds 3BBB:0692 8E 1E 004E mov ds,data_193 ; (3BBB:004E=0) 3BBB:0696 83 3E 0074 00 cmp word ptr ds:data_23e,0 ; (0000:0074=0F0A4h) 3BBB:069B 74 06 je loc_54 ; Jump if equal 3BBB:069D C7 06 0074 FFFF mov word ptr ds:data_23e,0FFFFh ; (0000:0074=0F0A4h) 3BBB:06A3 loc_54: ; xref 3BBB:069B 3BBB:06A3 1F pop ds 3BBB:06A4 8E 06 037B mov es,word ptr ds:[37Bh] ; (3BBB:037B=974h) 3BBB:06A8 26: C6 06 0010 01 mov byte ptr es:data_133e,1 ; (0974:0010=0) 3BBB:06AE 26: C6 06 003C 00 mov byte ptr es:data_135e,0 ; (0974:003C=0) 3BBB:06B4 26: C6 06 0013 00 mov byte ptr es:data_134e,0 ; (0974:0013=0) 3BBB:06BA 26: C7 06 0006 0001 mov word ptr es:data_132e,1 ; (0974:0006=3Ch) 3BBB:06C1 8C C2 mov dx,es 3BBB:06C3 07 pop es 3BBB:06C4 52 push dx 3BBB:06C5 B9 0209 mov cx,209h 3BBB:06C8 E8 FBD8 call sub_4 ; (02A3) 3BBB:06CB 26: C6 06 0018 01 mov es:data_169,1 ; (3BBB:0018=0) 3BBB:06D1 E8 FC38 call sub_9 ; (030C) 3BBB:06D4 E8 FC1E call sub_6 ; (02F5) 3BBB:06D7 33 DB xor bx,bx ; Zero register 3BBB:06D9 59 pop cx 3BBB:06DA C3 retn 3BBB:06DB loc_55: ; xref 3BBB:0631 3BBB:06DB 26: 81 0E 0006 0004 ;* or es:data_160,4 ; (3BBB:0006=0Ah) 3BBB:06DB db 26h, 81h, 0Eh, 06h, 00h, 04h ; Fixup - byte match 3BBB:06E1 db 00h ; Fixup - byte match 3BBB:06E2 26: 80 3E 0018 00 cmp es:data_169,0 ; (3BBB:0018=0) 3BBB:06E8 75 0B jne loc_56 ; Jump if not equal 3BBB:06EA B9 0306 mov cx,306h 3BBB:06ED E8 FBB3 call sub_4 ; (02A3) 3BBB:06F0 83 FB FF ;* cmp bx,0FFFFh 3BBB:06F0 db 83h,0FBh,0FFh ; Fixup - byte match 3BBB:06F3 75 00 jnz loc_56 ; Jump if not zero 3BBB:06F5 loc_56: ; xref 3BBB:06E8, 06F3 3BBB:06F5 89 1E 037D mov word ptr ds:[37Dh],bx ; (3BBB:037D=0C8FEh) 3BBB:06F9 E8 FD14 call sub_15 ; (0410) 3BBB:06FC loc_58: ; xref 3BBB:05C8 3BBB:06FC A1 037F mov ax,word ptr ds:[37Fh] ; (3BBB:037F=3A26h) 3BBB:06FF 26: A3 0036 mov es:data_179,ax ; (3BBB:0036=0) 3BBB:0703 26: 81 26 0006 0007 ;* and es:data_160,7 ; (3BBB:0006=0Ah) 3BBB:0703 db 26h, 81h, 26h, 06h, 00h, 07h ; Fixup - byte match 3BBB:0709 db 00h ; Fixup - byte match 3BBB:070A 26: C6 06 0019 24 mov es:data_170,24h ; (3BBB:0019=0) '$' 3BBB:0710 26: C7 06 0016 0000 mov es:data_168,0 ; (3BBB:0016=0) 3BBB:0717 26: C6 06 0046 00 mov es:data_188,0 ; (3BBB:0046=0) 3BBB:071D 26: C6 06 0047 01 mov es:data_189,1 ; (3BBB:0047=0) 3BBB:0723 26: C7 06 0038 0080 mov es:data_181,80h ; (3BBB:0038=0) 3BBB:072A A1 037D mov ax,word ptr ds:[37Dh] ; (3BBB:037D=0C8FEh) 3BBB:072D 26: A3 003A mov word ptr es:data_181+2,ax ; (3BBB:003A=3BBBh) 3BBB:0731 93 xchg bx,ax 3BBB:0732 FA cli ; Disable interrupts 3BBB:0733 06 push es 3BBB:0734 17 pop ss 3BBB:0735 BC 0160 mov sp,160h 3BBB:0738 26: C6 06 0010 00 mov es:data_164,0 ; (3BBB:0010=0) 3BBB:073E FB sti ; Enable interrupts 3BBB:073F 0E push cs 3BBB:0740 B8 049F mov ax,49Fh 3BBB:0743 50 push ax 3BBB:0744 8C DA mov dx,ds 3BBB:0746 8E DB mov ds,bx 3BBB:0748 B8 F200 mov ax,0F200h 3BBB:074B 50 push ax 3BBB:074C A1 0003 mov ax,ds:data_1133e ; (C8FE:0003=0FFFFh) 3BBB:074F 50 push ax 3BBB:0750 8A 26 0005 mov ah,ds:data_1134e ; (C8FE:0005=0FFh) 3BBB:0754 32 C0 xor al,al ; Zero register 3BBB:0756 50 push ax 3BBB:0757 8E DA mov ds,dx 3BBB:0759 E8 FCD9 call sub_16 ; (0435) 3BBB:075C 53 push bx 3BBB:075D E8 FB95 call sub_6 ; (02F5) 3BBB:0760 1F pop ds 3BBB:0761 A1 000F mov ax,ds:data_1135e ; (C8FE:000F=0FFFFh) 3BBB:0764 0B C0 or ax,ax ; Zero ? 3BBB:0766 75 02 jnz loc_59 ; Jump if not zero 3BBB:0768 8C D8 mov ax,ds 3BBB:076A loc_59: ; xref 3BBB:0766 3BBB:076A 8E C0 mov es,ax 3BBB:076C 33 C0 xor ax,ax ; Zero register 3BBB:076E 8B D8 mov bx,ax 3BBB:0770 8B C8 mov cx,ax 3BBB:0772 8B D0 mov dx,ax 3BBB:0774 8B F0 mov si,ax 3BBB:0776 8B F8 mov di,ax 3BBB:0778 8B E8 mov bp,ax 3BBB:077A CF iret ; Interrupt return 3BBB:077B 26 data_508 db 26h ; xref 3BBB:6117 3BBB:077C FE db 0FEh 3BBB:077D 1306 data_509 dw 1306h ; xref 3BBB:5A55, 5C9A, 5CAD, 5CB9 ; 5CCA, 5DAC, 5DB7 3BBB:077F 5200 data_510 dw 5200h ; xref 3BBB:5C8F, 5DB2 3BBB:0781 BB 72 db 0BBh, 72h 3BBB:0783 B900 data_511 dw 0B900h ; xref 3BBB:5CD4, 5CE1, 5D45, 5D82 ; 5D88, 613D, 61A3 3BBB:0785 0204 data_512 dw 204h ; xref 3BBB:4FE8, 53C8, 5DCD, 5E18 ; 5E8B, 5EA9, 5ECB, 5FCC ; 614E, 6154, 61A9 3BBB:0787 19E8 data_513 dw 19E8h ; xref 3BBB:4FEB, 5DC2, 5E1B, 5E80 ; 5EA2, 5ED6, 5FD4, 6143 ; 6157, 61AC 3BBB:0789 FB data_514 db 0FBh ; xref 3BBB:2AF0, 2B43, 2B7E, 3BAA ; 4545, 48E1, 4B83, 5522 ; 5532, 5909, 5C04, 5EF6 ; 5F1A 3BBB:078A BF5E data_515 dw 0BF5Eh ; xref 3BBB:2938, 3B77, 3F4D, 4946 ; 59BD 3BBB:078C 8E data_517 db 8Eh ; xref 3BBB:3B8D, 3B9E, 599C, 59C0 ; 5BD1 3BBB:078D 03 B9 10 00 db 03h,0B9h, 10h, 00h 3BBB:0791 06 data_518 db 6 ; xref 3BBB:427B, 42F5 3BBB:0792 1E data_519 db 1Eh ; xref 3BBB:8914, 89CA, 8A5A, 8C5A ; 92F4 3BBB:0793 26 db 26h 3BBB:0794 8E data_520 db 8Eh ; xref 3BBB:890E, 89C4, 8A54, 8C60 ; 9301, 96F0 3BBB:0795 1E db 1Eh 3BBB:0796 2E data_521 db 2Eh ; xref 3BBB:891A, 9312 3BBB:0797 00 db 0 3BBB:0798 07 data_522 db 7 ; xref 3BBB:87E0, 8807, 931E, 96B7 3BBB:0799 F3 db 0F3h 3BBB:079A A5 data_523 db 0A5h ; xref 3BBB:87B6 3BBB:079B 06 1F 07 33 C0 A3 db 06h, 1Fh, 07h, 33h,0C0h,0A3h 3BBB:07A1 60 data_524 db 60h ; xref 3BBB:5BA7, 5BCA, 5C7A, 5D1B ; 5DE2, 5E58, 5E98, 5F13 ; 5F82, 5FC5, 6017, 6065 3BBB:07A2 A304 data_525 dw 0A304h ; xref 3BBB:55E9, 55F8, 5605, 5661 ; 567B, 5681, 56A6, 5CC5 ; 5CD7, 5CE4, 5D0B, 5D2F ; 5D49, 5D5A, 5D94, 5D9A ; 5DA3 3BBB:07A4 0462 data_526 dw 462h ; xref 3BBB:5836, 5860, 5875, 5CB6 ; 5CD1, 5CFC, 5D07 3BBB:07A6 B1A2 data_527 dw 0B1A2h ; xref 3BBB:5842, 588D, 5C88, 5C93 ; 5DAF 3BBB:07A8 E803 data_528 dw 0E803h ; xref 3BBB:5849, 5864, 5C8B, 5E44 ; 5FAE 3BBB:07AA 05AA data_529 dw 5AAh ; xref 3BBB:511D, 51D7, 51F0, 51FB ; 5A52, 5A68 3BBB:07AC E3 data_530 db 0E3h ; xref 3BBB:51E0, 5252 3BBB:07AD 03 data_531 db 3 ; xref 3BBB:51E9, 525B 3BBB:07AE E9 data_532 db 0E9h ; xref 3BBB:5264 3BBB:07AF 00F8 data_533 dw 0F8h ; xref 3BBB:4F05, 4F19, 4F60, 4FF1 ; 503A, 50FF, 5128, 516D ; 52B5, 52EB, 5308, 53C0 ; 54B0, 5529, 561D, 5634 ; 5646, 5664, 56AC, 56D7 ; 574E, 576B, 57C6, 57F5 ; 58E0, 5914, 5946, 59B0 ; 6198 3BBB:07B1 5BA1 data_534 dw 5BA1h ; xref 3BBB:5CBF, 5CF6, 5D63, 5D76 ; 5D97 3BBB:07B3 C704 data_535 dw 0C704h ; Data table (indexed access) ; xref 3BBB:51A7, 522A, 5244, 527F 3BBB:07B5 06 64 04 01 00 F6 db 06h, 64h, 04h, 01h, 00h,0F6h 3BBB:07BB 06 5F 04 10 74 0D db 06h, 5Fh, 04h, 10h, 74h, 0Dh 3BBB:07C1 E8 22 01 E3 03 E9 db 0E8h, 22h, 01h,0E3h, 03h,0E9h 3BBB:07C7 E0 00 db 0E0h, 00h 3BBB:07C9 loc_60: 3BBB:07C9 33 DB xor bx,bx ; Zero register 3BBB:07CB E9 00D6 jmp loc_74 ; (08A4) 3BBB:07CE loc_61: 3BBB:07CE A1 045B mov ax,word ptr ds:[45Bh] ; (3BBB:045B=0D9BFh) 3BBB:07D1 85 C0 test ax,ax 3BBB:07D3 75 03 jnz loc_62 ; Jump if not zero 3BBB:07D5 E9 00AD jmp loc_72 ; (0885) 3BBB:07D8 loc_62: ; xref 3BBB:07D3 3BBB:07D8 ,BE 038E mov si,38Eh ; (3BBB:038E=6) 3BBB:07DB ,BF 03BC mov di,3BCh ; (3BBB:03BC=0BEh) 3BBB:07DE B9 0012 mov cx,12h 3BBB:07E1 06 push es 3BBB:07E2 1E push ds 3BBB:07E3 07 pop es 3BBB:07E4 F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:07E6 07 pop es 3BBB:07E7 A3 0464 mov word ptr ds:[464h],ax ; (3BBB:0464=0B907h) 3BBB:07EA BB 0001 mov bx,1 3BBB:07ED BA 0467 mov dx,467h 3BBB:07F0 8C D9 mov cx,ds 3BBB:07F2 E8 0569 call sub_26 ; (0D5E) 3BBB:07F5 E3 03 jcxz loc_63 ; Jump if cx=0 3BBB:07F7 E9 0146 jmp loc_79 ; (0940) 3BBB:07FA loc_63: ; xref 3BBB:07F5 3BBB:07FA C6 06 0466 01 mov byte ptr ds:[466h],1 ; (3BBB:0466=40h) 3BBB:07FF loc_64: ; xref 3BBB:086A 3BBB:07FF ,BB 0467 mov bx,467h ; (3BBB:0467=0) 3BBB:0802 loc_65: ; xref 3BBB:0864 3BBB:0802 83 3F FF ;* cmp word ptr [bx],0FFFFh 3BBB:0802 db 83h, 3Fh,0FFh ; Fixup - byte match 3BBB:0805 74 5F jz loc_71 ; Jump if zero 3BBB:0807 8B 07 mov ax,[bx] 3BBB:0809 80 3E 0466 01 cmp byte ptr ds:[466h],1 ; (3BBB:0466=40h) 3BBB:080E 75 0C jne loc_66 ; Jump if not equal 3BBB:0810 0B C0 or ax,ax ; Zero ? 3BBB:0812 74 49 jz loc_70 ; Jump if zero 3BBB:0814 40 inc ax 3BBB:0815 A3 0464 mov word ptr ds:[464h],ax ; (3BBB:0464=0B907h) 3BBB:0818 48 dec ax 3BBB:0819 53 push bx 3BBB:081A EB 2F jmp short loc_68 ; (084B) 3BBB:081C loc_66: ; xref 3BBB:080E 3BBB:081C 0B C0 or ax,ax ; Zero ? 3BBB:081E 75 3D jnz loc_70 ; Jump if not zero 3BBB:0820 53 push bx 3BBB:0821 8D 77 02 lea si,[bx+2] ; Load effective addr 3BBB:0824 ,BF 038E mov di,38Eh ; (3BBB:038E=6) 3BBB:0827 B9 0004 mov cx,4 3BBB:082A 06 push es 3BBB:082B 1E push ds 3BBB:082C 07 pop es 3BBB:082D AA stosb ; Store al to es:[di] 3BBB:082E F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:0830 B8 5352 mov ax,5352h 3BBB:0833 AB stosw ; Store ax to es:[di] 3BBB:0834 B0 58 mov al,58h ; 'X' 3BBB:0836 AA stosb ; Store al to es:[di] 3BBB:0837 33 C0 xor ax,ax ; Zero register 3BBB:0839 AB stosw ; Store ax to es:[di] 3BBB:083A AB stosw ; Store ax to es:[di] 3BBB:083B 07 pop es 3BBB:083C 40 inc ax 3BBB:083D A3 0464 mov word ptr ds:[464h],ax ; (3BBB:0464=0B907h) 3BBB:0840 E8 FB19 call sub_12 ; (035C) 3BBB:0843 E3 04 jcxz loc_67 ; Jump if cx=0 3BBB:0845 5B pop bx 3BBB:0846 E9 00F7 jmp loc_79 ; (0940) 3BBB:0849 loc_67: ; xref 3BBB:0843 3BBB:0849 33 C0 xor ax,ax ; Zero register 3BBB:084B loc_68: ; xref 3BBB:081A 3BBB:084B E8 0508 call sub_25 ; (0D56) 3BBB:084E E3 04 jcxz loc_69 ; Jump if cx=0 3BBB:0850 5B pop bx 3BBB:0851 E9 00EC jmp loc_79 ; (0940) 3BBB:0854 loc_69: ; xref 3BBB:084E 3BBB:0854 E8 008F call sub_20 ; (08E6) 3BBB:0857 5B pop bx 3BBB:0858 E3 03 jcxz loc_70 ; Jump if cx=0 3BBB:085A E9 00E3 jmp loc_79 ; (0940) 3BBB:085D loc_70: ; xref 3BBB:0812, 081E, 0858 3BBB:085D 83 C3 10 add bx,10h 3BBB:0860 81 FB 04E7 cmp bx,4E7h 3BBB:0864 72 9C jb loc_65 ; Jump if below 3BBB:0866 loc_71: ; xref 3BBB:0805 3BBB:0866 FE 0E 0466 dec byte ptr ds:[466h] ; (3BBB:0466=40h) 3BBB:086A 74 93 jz loc_64 ; Jump if zero 3BBB:086C ,BF 038E mov di,38Eh ; (3BBB:038E=6) 3BBB:086F ,BE 03BC mov si,3BCh ; (3BBB:03BC=0BEh) 3BBB:0872 B9 0012 mov cx,12h 3BBB:0875 06 push es 3BBB:0876 1E push ds 3BBB:0877 07 pop es 3BBB:0878 F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:087A 07 pop es 3BBB:087B 33 C0 xor ax,ax ; Zero register 3BBB:087D E8 04D6 call sub_25 ; (0D56) 3BBB:0880 E3 03 jcxz loc_72 ; Jump if cx=0 3BBB:0882 E9 00BB jmp loc_79 ; (0940) 3BBB:0885 loc_72: ; xref 3BBB:07D5, 0880 3BBB:0885 F6 06 045F 60 test byte ptr ds:[45Fh],60h ; (3BBB:045F=26h) '`' 3BBB:088A 74 0A jz loc_73 ; Jump if zero 3BBB:088C E8 0025 call sub_19 ; (08B4) 3BBB:088F 0B DB or bx,bx ; Zero ? 3BBB:0891 74 03 jz loc_73 ; Jump if zero 3BBB:0893 E9 0013 jmpn loc_75 ; (08A9) 3BBB:0896 loc_73: ; xref 3BBB:088A, 0891 3BBB:0896 C7 06 0464 0001 mov word ptr ds:[464h],1 ; (3BBB:0464=0B907h) 3BBB:089C E8 010E call sub_22 ; (09AD) 3BBB:089F E3 03 jcxz loc_74 ; Jump if cx=0 3BBB:08A1 E9 009C jmp loc_79 ; (0940) 3BBB:08A4 loc_74: ; xref 3BBB:07CB, 089F 3BBB:08A4 53 push bx 3BBB:08A5 E8 00D7 call sub_21 ; (097F) 3BBB:08A8 5B pop bx 3BBB:08A9 loc_75: ; xref 3BBB:0893, 097C, 0DD0 3BBB:08A9 ,51 push cx 3BBB:08AA 53 push bx 3BBB:08AB BB 0072 mov bx,72h 3BBB:08AE E8 FA47 call sub_7 ; (02F8) 3BBB:08B1 5B pop bx 3BBB:08B2 59 pop cx 3BBB:08B3 C3 retn ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:088C, 0DCD ;========================================================================== 3BBB:08B4 sub_19 proc near 3BBB:08B4 33 DB xor bx,bx ; Zero register 3BBB:08B6 26: F7 06 0006 0002 test es:data_160,2 ; (3BBB:0006=0Ah) 3BBB:08BD 75 26 jnz loc_ret_78 ; Jump if not zero 3BBB:08BF F6 06 0059 FF test data_200,0FFh ; (3BBB:0059=0) 3BBB:08C4 75 0E jnz loc_76 ; Jump if not zero 3BBB:08C6 F6 06 045F 20 test byte ptr ds:[45Fh],20h ; (3BBB:045F=26h) ' ' 3BBB:08CB 74 0C jz loc_77 ; Jump if zero 3BBB:08CD F6 06 0F07 FF test byte ptr ds:[0F07h],0FFh ; (3BBB:0F07=5Fh) 3BBB:08D2 75 05 jnz loc_77 ; Jump if not zero 3BBB:08D4 loc_76: ; xref 3BBB:08C4 3BBB:08D4 B9 002E mov cx,2Eh 3BBB:08D7 4B dec bx 3BBB:08D8 C3 retn 3BBB:08D9 loc_77: ; xref 3BBB:08CB, 08D2 3BBB:08D9 C6 06 0059 FF mov data_200,0FFh ; (3BBB:0059=0) 3BBB:08DE 26: 81 0E 0006 0002 ;* or es:data_160,2 ; (3BBB:0006=0Ah) 3BBB:08DE db 26h, 81h, 0Eh, 06h, 00h, 02h ; Fixup - byte match 3BBB:08E4 db 00h ; Fixup - byte match 3BBB:08E5 loc_ret_78: ; xref 3BBB:08BD 3BBB:08E5 C3 retn sub_19 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:0854 ;========================================================================== 3BBB:08E6 sub_20 proc near 3BBB:08E6 B9 002A mov cx,2Ah 3BBB:08E9 F6 06 045F 10 test byte ptr ds:[45Fh],10h ; (3BBB:045F=26h) 3BBB:08EE 74 50 jz loc_79 ; Jump if zero 3BBB:08F0 83 3E 045B 00 cmp word ptr ds:[45Bh],0 ; (3BBB:045B=0D9BFh) 3BBB:08F5 75 49 jne loc_79 ; Jump if not equal 3BBB:08F7 B9 002A mov cx,2Ah 3BBB:08FA F6 06 045F 60 test byte ptr ds:[45Fh],60h ; (3BBB:045F=26h) '`' 3BBB:08FF 75 3F jnz loc_79 ; Jump if not zero 3BBB:0901 E8 00A9 call sub_22 ; (09AD) 3BBB:0904 0B C9 or cx,cx ; Zero ? 3BBB:0906 75 38 jnz loc_79 ; Jump if not zero 3BBB:0908 26: A0 0005 mov al,es:data_159 ; (3BBB:0005=11h) 3BBB:090C 8B CB mov cx,bx 3BBB:090E 06 push es 3BBB:090F 8E C3 mov es,bx 3BBB:0911 33 DB xor bx,bx ; Zero register 3BBB:0913 26: 8A 3E 0005 mov bh,es:data_131e ; (0467:0005=0) 3BBB:0918 26: 8E 06 0003 mov es,es:data_130e ; (0467:0003=0) 3BBB:091D 26: 89 4F 10 mov es:[bx+10h],cx 3BBB:0921 26: 88 47 12 mov es:[bx+12h],al 3BBB:0925 A1 04E7 mov ax,word ptr ds:[4E7h] ; (3BBB:04E7=386h) 3BBB:0928 26: 89 47 14 mov es:[bx+14h],ax 3BBB:092C ,BE 0460 mov si,460h ; (3BBB:0460=8Eh) 3BBB:092F 8D 7F 04 lea di,[bx+4] ; Load effective addr 3BBB:0932 A5 movsw ; Mov [si] to es:[di] 3BBB:0933 A5 movsw ; Mov [si] to es:[di] 3BBB:0934 89 1E 0460 mov word ptr ds:[460h],bx ; (3BBB:0460=1E8Eh) 3BBB:0938 8C 06 0462 mov word ptr ds:[462h],es ; (3BBB:0462=3Ah) 3BBB:093C 07 pop es 3BBB:093D 33 C9 xor cx,cx ; Zero register 3BBB:093F C3 retn 3BBB:0940 loc_79: ; xref 3BBB:07F7, 0846, 0851, 085A ; 0882, 08A1, 08EE, 08F5 ; 08FF, 0906 3BBB:0940 51 push cx 3BBB:0941 loc_80: ; xref 3BBB:0975 3BBB:0941 ,06 push es 3BBB:0942 C4 1E 0460 les bx,dword ptr ds:[460h] ; (3BBB:0460=1E8Eh) Load seg:offset pt 3BBB:0946 8C C0 mov ax,es 3BBB:0948 0B C3 or ax,bx 3BBB:094A 74 2B jz loc_81 ; Jump if zero 3BBB:094C 26: 8B 47 04 mov ax,es:[bx+4] 3BBB:0950 A3 0460 mov word ptr ds:[460h],ax ; (3BBB:0460=1E8Eh) 3BBB:0953 26: 8B 47 06 mov ax,es:[bx+6] 3BBB:0957 A3 0462 mov word ptr ds:[462h],ax ; (3BBB:0462=3Ah) 3BBB:095A 26: 8B 47 14 mov ax,es:[bx+14h] 3BBB:095E 07 pop es 3BBB:095F ,BB 04E7 mov bx,4E7h ; (3BBB:04E7=86h) 3BBB:0962 89 07 mov [bx],ax 3BBB:0964 C7 47 02 0000 mov word ptr [bx+2],0 3BBB:0969 C6 47 04 00 mov byte ptr [bx+4],0 3BBB:096D 8B D3 mov dx,bx 3BBB:096F B9 0039 mov cx,39h 3BBB:0972 E8 F92E call sub_4 ; (02A3) 3BBB:0975 EB CA jmp short loc_80 ; (0941) 3BBB:0977 loc_81: ; xref 3BBB:094A 3BBB:0977 07 pop es 3BBB:0978 59 pop cx 3BBB:0979 BB FFFF mov bx,0FFFFh 3BBB:097C E9 FF2A jmp loc_75 ; (08A9) sub_20 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:08A5 ;========================================================================== 3BBB:097F sub_21 proc near 3BBB:097F 1E push ds 3BBB:0980 C5 1E 0460 lds bx,dword ptr ds:[460h] ; (3BBB:0460=1E8Eh) Load seg:offset pt 3BBB:0984 8C D8 mov ax,ds 3BBB:0986 0B C3 or ax,bx 3BBB:0988 74 21 jz loc_84 ; Jump if zero 3BBB:098A 8B FB mov di,bx 3BBB:098C 8C DE mov si,ds 3BBB:098E 26: 87 3E 0052 xchg word ptr es:data_195,di ; (3BBB:0052=0) 3BBB:0993 26: 87 36 0054 xchg word ptr es:data_195+2,si ; (3BBB:0054=0) 3BBB:0998 loc_82: ; xref 3BBB:09A3 3BBB:0998 ,8B 47 04 mov ax,[bx+4] 3BBB:099B 0B 47 06 or ax,[bx+6] 3BBB:099E 74 05 jz loc_83 ; Jump if zero 3BBB:09A0 C5 5F 04 lds bx,dword ptr [bx+4] ; Load seg:offset ptr 3BBB:09A3 EB F3 jmp short loc_82 ; (0998) 3BBB:09A5 loc_83: ; xref 3BBB:099E 3BBB:09A5 89 7F 04 mov [bx+4],di 3BBB:09A8 89 77 06 mov [bx+6],si 3BBB:09AB loc_84: ; xref 3BBB:0988 3BBB:09AB 1F pop ds 3BBB:09AC C3 retn sub_21 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:089C, 0901 ;========================================================================== 3BBB:09AD sub_22 proc near 3BBB:09AD 33 C0 xor ax,ax ; Zero register 3BBB:09AF B9 0036 mov cx,36h 3BBB:09B2 ,BF 04E7 mov di,4E7h ; (3BBB:04E7=86h) 3BBB:09B5 06 push es 3BBB:09B6 1E push ds 3BBB:09B7 07 pop es 3BBB:09B8 F3/ AB rep stosw ; Rep when cx >0 Store ax to es:[di] 3BBB:09BA 07 pop es 3BBB:09BB A3 03B2 mov word ptr ds:[3B2h],ax ; (3BBB:03B2=7200h) 3BBB:09BE A3 038C mov word ptr ds:[38Ch],ax ; (3BBB:038C=0C621h) 3BBB:09C1 A2 03B4 mov byte ptr ds:[3B4h],al ; (3BBB:03B4=0BCh) 3BBB:09C4 A2 03B6 mov byte ptr ds:[3B6h],al ; (3BBB:03B6=1Eh) 3BBB:09C7 ,BE 04F3 mov si,4F3h ; (3BBB:04F3=0) 3BBB:09CA ,BB 03E0 mov bx,3E0h ; (3BBB:03E0=0) 3BBB:09CD 8A 47 7F mov al,[bx+7Fh] 3BBB:09D0 A2 03B7 mov byte ptr ds:[3B7h],al ; (3BBB:03B7=0) 3BBB:09D3 8B 47 7D mov ax,[bx+7Dh] 3BBB:09D6 A3 03B8 mov word ptr ds:[3B8h],ax ; (3BBB:03B8=0BFC3h) 3BBB:09D9 A3 03BA mov word ptr ds:[3BAh],ax ; (3BBB:03BA=8) 3BBB:09DC 8B 16 0464 mov dx,word ptr ds:[464h] ; (3BBB:0464=0B907h) 3BBB:09E0 B1 03 mov cl,3 3BBB:09E2 D3 E2 shl dx,cl ; Shift w/zeros fill 3BBB:09E4 B9 0008 mov cx,8 3BBB:09E7 loc_85: ; xref 3BBB:0A73 3BBB:09E7 ,80 3F 00 cmp byte ptr [bx],0 3BBB:09EA 75 03 jne loc_86 ; Jump if not equal 3BBB:09EC E9 0091 jmp loc_97 ; (0A80) 3BBB:09EF loc_86: ; xref 3BBB:09EA 3BBB:09EF 8A 07 mov al,[bx] 3BBB:09F1 3C 09 cmp al,9 3BBB:09F3 75 04 jne loc_87 ; Jump if not equal 3BBB:09F5 B0 01 mov al,1 3BBB:09F7 88 07 mov [bx],al 3BBB:09F9 loc_87: ; xref 3BBB:09F3 3BBB:09F9 88 44 05 mov [si+5],al 3BBB:09FC 8B 47 01 mov ax,[bx+1] 3BBB:09FF 89 44 0A mov [si+0Ah],ax 3BBB:0A02 89 54 08 mov [si+8],dx 3BBB:0A05 03 D0 add dx,ax 3BBB:0A07 8B 47 03 mov ax,[bx+3] 3BBB:0A0A 89 04 mov [si],ax 3BBB:0A0C 8B 47 05 mov ax,[bx+5] 3BBB:0A0F 89 44 06 mov [si+6],ax 3BBB:0A12 83 7F 07 00 cmp word ptr [bx+7],0 3BBB:0A16 74 03 je loc_88 ; Jump if equal 3BBB:0A18 8B 47 07 mov ax,[bx+7] 3BBB:0A1B loc_88: ; xref 3BBB:0A16 3BBB:0A1B 89 44 02 mov [si+2],ax 3BBB:0A1E 83 3C 00 cmp word ptr [si],0 3BBB:0A21 75 21 jne loc_91 ; Jump if not equal 3BBB:0A23 01 06 04E9 add word ptr ds:[4E9h],ax ; (3BBB:04E9=7400h) 3BBB:0A27 73 06 jnc loc_89 ; Jump if carry=0 3BBB:0A29 C7 06 04E9 FFFF mov word ptr ds:[4E9h],0FFFFh ; (3BBB:04E9=7400h) 3BBB:0A2F loc_89: ; xref 3BBB:0A27 3BBB:0A2F 8B 44 06 mov ax,[si+6] 3BBB:0A32 01 06 04ED add word ptr ds:[4EDh],ax ; (3BBB:04ED=0FF46h) 3BBB:0A36 73 06 jnc loc_90 ; Jump if carry=0 3BBB:0A38 C7 06 04ED FFFF mov word ptr ds:[4EDh],0FFFFh ; (3BBB:04ED=0FF46h) 3BBB:0A3E loc_90: ; xref 3BBB:0A36 3BBB:0A3E FE 06 03B4 inc byte ptr ds:[3B4h] ; (3BBB:03B4=0BCh) 3BBB:0A42 EB 35 jmp short loc_96 ; (0A79) 3BBB:0A44 loc_91: ; xref 3BBB:0A21 3BBB:0A44 F6 06 03B7 10 test byte ptr ds:[3B7h],10h ; (3BBB:03B7=0) 3BBB:0A49 74 06 jz loc_92 ; Jump if zero 3BBB:0A4B B9 002A mov cx,2Ah 3BBB:0A4E E9 0064 jmpn loc_100 ; (0AB5) 3BBB:0A51 loc_92: ; xref 3BBB:0A49 3BBB:0A51 53 push bx 3BBB:0A52 52 push dx 3BBB:0A53 51 push cx 3BBB:0A54 56 push si 3BBB:0A55 8B D6 mov dx,si 3BBB:0A57 B9 0036 mov cx,36h 3BBB:0A5A E8 F846 call sub_4 ; (02A3) 3BBB:0A5D 5E pop si 3BBB:0A5E 0A DB or bl,bl ; Zero ? 3BBB:0A60 75 0C jnz loc_93 ; Jump if not zero 3BBB:0A62 C6 44 04 FF mov byte ptr [si+4],0FFh 3BBB:0A66 8B 44 02 mov ax,[si+2] 3BBB:0A69 39 44 06 cmp [si+6],ax 3BBB:0A6C 76 08 jbe loc_95 ; Jump if below or = 3BBB:0A6E loc_93: ; xref 3BBB:0A60 3BBB:0A6E 5A pop dx 3BBB:0A6F 5A pop dx 3BBB:0A70 5B pop bx 3BBB:0A71 EB 42 jmp short loc_100 ; (0AB5) 3BBB:0A73 locloop_94: ; xref 3BBB:0A83 3BBB:0A73 E9 FF71 jmp loc_85 ; (09E7) 3BBB:0A76 loc_95: ; xref 3BBB:0A6C 3BBB:0A76 59 pop cx 3BBB:0A77 5A pop dx 3BBB:0A78 5B pop bx 3BBB:0A79 loc_96: ; xref 3BBB:0A42 3BBB:0A79 83 C6 0C add si,0Ch 3BBB:0A7C FF 06 038C inc word ptr ds:[38Ch] ; (3BBB:038C=0C621h) 3BBB:0A80 loc_97: ; xref 3BBB:09EC 3BBB:0A80 83 C3 09 add bx,9 3BBB:0A83 E2 EE loop locloop_94 ; Loop if cx > 0 3BBB:0A85 39 0E 04ED cmp word ptr ds:[4EDh],cx ; (3BBB:04ED=0FF46h) 3BBB:0A89 75 03 jne loc_98 ; Jump if not equal 3BBB:0A8B E9 00D5 jmp loc_111 ; (0B63) 3BBB:0A8E loc_98: ; xref 3BBB:0A89 3BBB:0A8E F6 06 03B7 10 test byte ptr ds:[3B7h],10h ; (3BBB:03B7=0) 3BBB:0A93 74 05 jz loc_99 ; Jump if zero 3BBB:0A95 C6 06 04EB 02 mov byte ptr ds:[4EBh],2 ; (3BBB:04EB=14h) 3BBB:0A9A loc_99: ; xref 3BBB:0A93 3BBB:0A9A BA 04E7 mov dx,4E7h 3BBB:0A9D B9 0035 mov cx,35h 3BBB:0AA0 E8 F800 call sub_4 ; (02A3) 3BBB:0AA3 0A DB or bl,bl ; Zero ? 3BBB:0AA5 75 0E jnz loc_100 ; Jump if not zero 3BBB:0AA7 C6 06 04EB FF mov byte ptr ds:[4EBh],0FFh ; (3BBB:04EB=14h) 3BBB:0AAC A1 04E9 mov ax,word ptr ds:[4E9h] ; (3BBB:04E9=7400h) 3BBB:0AAF 39 06 04ED cmp word ptr ds:[4EDh],ax ; (3BBB:04ED=0FF46h) 3BBB:0AB3 76 29 jbe loc_103 ; Jump if below or = 3BBB:0AB5 loc_100: ; xref 3BBB:0A4E, 0A71, 0AA5, 0B7F ; 0BF1, 0C1B 3BBB:0AB5 ,51 push cx 3BBB:0AB6 ,BB 04E7 mov bx,4E7h ; (3BBB:04E7=86h) 3BBB:0AB9 8B 0E 038C mov cx,word ptr ds:[38Ch] ; (3BBB:038C=0C621h) 3BBB:0ABD 41 inc cx 3BBB:0ABE locloop_101: ; xref 3BBB:0AD7 3BBB:0ABE 80 7F 04 FF cmp byte ptr [bx+4],0FFh 3BBB:0AC2 75 10 jne loc_102 ; Jump if not equal 3BBB:0AC4 C6 47 04 00 mov byte ptr [bx+4],0 3BBB:0AC8 51 push cx 3BBB:0AC9 53 push bx 3BBB:0ACA 8B D3 mov dx,bx 3BBB:0ACC B9 0039 mov cx,39h 3BBB:0ACF E8 F7D1 call sub_4 ; (02A3) 3BBB:0AD2 5B pop bx 3BBB:0AD3 59 pop cx 3BBB:0AD4 loc_102: ; xref 3BBB:0AC2 3BBB:0AD4 83 C3 0C add bx,0Ch 3BBB:0AD7 E2 E5 loop locloop_101 ; Loop if cx > 0 3BBB:0AD9 BB FFFF mov bx,0FFFFh 3BBB:0ADC 59 pop cx 3BBB:0ADD C3 retn 3BBB:0ADE loc_103: ; xref 3BBB:0AB3 3BBB:0ADE A1 04E9 mov ax,word ptr ds:[4E9h] ; (3BBB:04E9=7400h) 3BBB:0AE1 A3 04ED mov word ptr ds:[4EDh],ax ; (3BBB:04ED=0FF46h) 3BBB:0AE4 ,BB 04F3 mov bx,4F3h ; (3BBB:04F3=0) 3BBB:0AE7 8B 0E 038C mov cx,word ptr ds:[38Ch] ; (3BBB:038C=0C621h) 3BBB:0AEB FF 36 04E7 push word ptr ds:[4E7h] ; (3BBB:04E7=386h) 3BBB:0AEF locloop_104: ; xref 3BBB:0B11 3BBB:0AEF 83 3F 00 cmp word ptr [bx],0 3BBB:0AF2 75 1A jne loc_105 ; Jump if not equal 3BBB:0AF4 8B 47 06 mov ax,[bx+6] 3BBB:0AF7 29 06 04ED sub word ptr ds:[4EDh],ax ; (3BBB:04ED=0FF46h) 3BBB:0AFB 3B 47 02 cmp ax,[bx+2] 3BBB:0AFE 75 0E jne loc_105 ; Jump if not equal 3BBB:0B00 8B 16 04E7 mov dx,word ptr ds:[4E7h] ; (3BBB:04E7=386h) 3BBB:0B04 89 17 mov [bx],dx 3BBB:0B06 01 06 04E7 add word ptr ds:[4E7h],ax ; (3BBB:04E7=386h) 3BBB:0B0A FE 0E 03B4 dec byte ptr ds:[3B4h] ; (3BBB:03B4=0BCh) 3BBB:0B0E loc_105: ; xref 3BBB:0AF2, 0AFE 3BBB:0B0E 83 C3 0C add bx,0Ch 3BBB:0B11 E2 DC loop locloop_104 ; Loop if cx > 0 3BBB:0B13 ,BB 04F3 mov bx,4F3h ; (3BBB:04F3=0) 3BBB:0B16 8B 0E 038C mov cx,word ptr ds:[38Ch] ; (3BBB:038C=0C621h) 3BBB:0B1A locloop_106: ; xref 3BBB:0B5D 3BBB:0B1A 83 3F 00 cmp word ptr [bx],0 3BBB:0B1D 75 3B jne loc_110 ; Jump if not equal 3BBB:0B1F A1 04E7 mov ax,word ptr ds:[4E7h] ; (3BBB:04E7=386h) 3BBB:0B22 89 07 mov [bx],ax 3BBB:0B24 A1 04ED mov ax,word ptr ds:[4EDh] ; (3BBB:04ED=0FF46h) 3BBB:0B27 0B C0 or ax,ax ; Zero ? 3BBB:0B29 74 24 jz loc_109 ; Jump if zero 3BBB:0B2B 51 push cx 3BBB:0B2C 33 C9 xor cx,cx ; Zero register 3BBB:0B2E 8B D1 mov dx,cx 3BBB:0B30 8A 0E 03B4 mov cl,byte ptr ds:[3B4h] ; (3BBB:03B4=0BCh) 3BBB:0B34 F7 F1 div cx ; ax,dx rem=dx:ax/reg 3BBB:0B36 59 pop cx 3BBB:0B37 0B D2 or dx,dx ; Zero ? 3BBB:0B39 74 01 jz loc_107 ; Jump if zero 3BBB:0B3B 40 inc ax 3BBB:0B3C loc_107: ; xref 3BBB:0B39 3BBB:0B3C 8B 57 02 mov dx,[bx+2] 3BBB:0B3F 2B 57 06 sub dx,[bx+6] 3BBB:0B42 3B C2 cmp ax,dx 3BBB:0B44 76 02 jbe loc_108 ; Jump if below or = 3BBB:0B46 8B C2 mov ax,dx 3BBB:0B48 loc_108: ; xref 3BBB:0B44 3BBB:0B48 01 47 06 add [bx+6],ax 3BBB:0B4B 29 06 04ED sub word ptr ds:[4EDh],ax ; (3BBB:04ED=0FF46h) 3BBB:0B4F loc_109: ; xref 3BBB:0B29 3BBB:0B4F 8B 47 06 mov ax,[bx+6] 3BBB:0B52 01 06 04E7 add word ptr ds:[4E7h],ax ; (3BBB:04E7=386h) 3BBB:0B56 FE 0E 03B4 dec byte ptr ds:[3B4h] ; (3BBB:03B4=0BCh) 3BBB:0B5A loc_110: ; xref 3BBB:0B1D 3BBB:0B5A 83 C3 0C add bx,0Ch 3BBB:0B5D E2 BB loop locloop_106 ; Loop if cx > 0 3BBB:0B5F 8F 06 04E7 pop word ptr ds:[4E7h] ; (3BBB:04E7=386h) 3BBB:0B63 loc_111: ; xref 3BBB:0A8B 3BBB:0B63 ,BE 04F3 mov si,4F3h ; (3BBB:04F3=0) 3BBB:0B66 8B 0E 038C mov cx,word ptr ds:[38Ch] ; (3BBB:038C=0C621h) 3BBB:0B6A locloop_112: ; xref 3BBB:0B86 3BBB:0B6A 51 push cx 3BBB:0B6B 83 7C 0A 00 cmp word ptr [si+0Ah],0 3BBB:0B6F 74 11 je loc_113 ; Jump if equal 3BBB:0B71 FF 34 push word ptr [si] 3BBB:0B73 56 push si 3BBB:0B74 E8 0126 call sub_24 ; (0C9D) 3BBB:0B77 5E pop si 3BBB:0B78 8F 04 pop word ptr [si] 3BBB:0B7A 0B C9 or cx,cx ; Zero ? 3BBB:0B7C 74 04 jz loc_113 ; Jump if zero 3BBB:0B7E 5B pop bx 3BBB:0B7F E9 FF33 jmp loc_100 ; (0AB5) 3BBB:0B82 loc_113: ; xref 3BBB:0B6F, 0B7C 3BBB:0B82 59 pop cx 3BBB:0B83 83 C6 0C add si,0Ch 3BBB:0B86 E2 E2 loop locloop_112 ; Loop if cx > 0 3BBB:0B88 F6 06 03B7 80 test byte ptr ds:[3B7h],80h ; (3BBB:03B7=0) 3BBB:0B8D 74 65 jz loc_120 ; Jump if zero 3BBB:0B8F loc_114: ; xref 3BBB:0BD7 3BBB:0B8F ,A1 03B8 mov ax,word ptr ds:[3B8h] ; (3BBB:03B8=0BFC3h) 3BBB:0B92 E8 01C1 call sub_25 ; (0D56) 3BBB:0B95 E3 0F jcxz loc_115 ; Jump if cx=0 3BBB:0B97 FE C1 inc cl 3BBB:0B99 75 53 jnz loc_119 ; Jump if not zero 3BBB:0B9B A1 03BA mov ax,word ptr ds:[3BAh] ; (3BBB:03BA=8) 3BBB:0B9E 3B 06 03B8 cmp ax,word ptr ds:[3B8h] ; (3BBB:03B8=0BFC3h) 3BBB:0BA2 74 4A je loc_119 ; Jump if equal 3BBB:0BA4 EB 4E jmp short loc_120 ; (0BF4) 3BBB:0BA6 loc_115: ; xref 3BBB:0B95 3BBB:0BA6 ,BE 03E0 mov si,3E0h ; (3BBB:03E0=0) 3BBB:0BA9 loc_116: ; xref 3BBB:0BD1 3BBB:0BA9 AC lodsb ; String [si] to al 3BBB:0BAA 84 C0 test al,al 3BBB:0BAC 74 46 jz loc_120 ; Jump if zero 3BBB:0BAE 50 push ax 3BBB:0BAF 24 0F and al,0Fh 3BBB:0BB1 E8 0025 call sub_23 ; (0BD9) 3BBB:0BB4 8B 15 mov dx,[di] 3BBB:0BB6 58 pop ax 3BBB:0BB7 B1 04 mov cl,4 3BBB:0BB9 D2 E8 shr al,cl ; Shift w/zeros fill 3BBB:0BBB E8 001B call sub_23 ; (0BD9) 3BBB:0BBE AD lodsw ; String [si] to ax 3BBB:0BBF 03 05 add ax,[di] 3BBB:0BC1 06 push es 3BBB:0BC2 8E C0 mov es,ax 3BBB:0BC4 33 C0 xor ax,ax ; Zero register 3BBB:0BC6 AC lodsb ; String [si] to al 3BBB:0BC7 8B F8 mov di,ax 3BBB:0BC9 26: 01 15 add es:[di],dx 3BBB:0BCC 07 pop es 3BBB:0BCD 81 FE 0460 cmp si,460h 3BBB:0BD1 75 D6 jne loc_116 ; Jump if not equal 3BBB:0BD3 FF 06 03B8 inc word ptr ds:[3B8h] ; (3BBB:03B8=0BFC3h) 3BBB:0BD7 EB B6 jmp short loc_114 ; (0B8F) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:0BB1, 0BBB 3BBB:0BD9 sub_23: 3BBB:0BD9 ,BF 04F3 mov di,4F3h ; (3BBB:04F3=0) 3BBB:0BDC 8B 0E 038C mov cx,word ptr ds:[38Ch] ; (3BBB:038C=0C621h) 3BBB:0BE0 locloop_117: ; xref 3BBB:0BE8 3BBB:0BE0 3A 45 05 cmp al,[di+5] 3BBB:0BE3 74 08 je loc_ret_118 ; Jump if equal 3BBB:0BE5 83 C7 0C add di,0Ch 3BBB:0BE8 E2 F6 loop locloop_117 ; Loop if cx > 0 3BBB:0BEA 58 pop ax 3BBB:0BEB EB 01 jmp short loc_119 ; (0BEE) 3BBB:0BED loc_ret_118: ; xref 3BBB:0BE3 3BBB:0BED C3 retn 3BBB:0BEE loc_119: ; xref 3BBB:0B99, 0BA2, 0BEB 3BBB:0BEE B9 0029 mov cx,29h 3BBB:0BF1 E9 FEC1 jmp loc_100 ; (0AB5) 3BBB:0BF4 loc_120: ; xref 3BBB:0B8D, 0BA4, 0BAC 3BBB:0BF4 ,BE 04F3 mov si,4F3h ; (3BBB:04F3=0) 3BBB:0BF7 8B 0E 038C mov cx,word ptr ds:[38Ch] ; (3BBB:038C=0C621h) 3BBB:0BFB locloop_121: ; xref 3BBB:0C04 3BBB:0BFB 80 7C 05 02 cmp byte ptr [si+5],2 3BBB:0BFF 74 22 je loc_124 ; Jump if equal 3BBB:0C01 83 C6 0C add si,0Ch 3BBB:0C04 E2 F5 loop locloop_121 ; Loop if cx > 0 3BBB:0C06 ,BE 04F3 mov si,4F3h ; (3BBB:04F3=0) 3BBB:0C09 8B 0E 038C mov cx,word ptr ds:[38Ch] ; (3BBB:038C=0C621h) 3BBB:0C0D locloop_122: ; xref 3BBB:0C16 3BBB:0C0D 80 7C 05 01 cmp byte ptr [si+5],1 3BBB:0C11 74 0B je loc_123 ; Jump if equal 3BBB:0C13 83 C6 0C add si,0Ch 3BBB:0C16 E2 F5 loop locloop_122 ; Loop if cx > 0 3BBB:0C18 B9 0021 mov cx,21h 3BBB:0C1B E9 FE97 jmp loc_100 ; (0AB5) 3BBB:0C1E loc_123: ; xref 3BBB:0C11 3BBB:0C1E C6 06 03B6 01 mov byte ptr ds:[3B6h],1 ; (3BBB:03B6=1Eh) 3BBB:0C23 loc_124: ; xref 3BBB:0BFF 3BBB:0C23 06 push es 3BBB:0C24 8E 04 mov es,[si] 3BBB:0C26 8C 06 038A mov word ptr ds:[38Ah],es ; (3BBB:038A=75FFh) 3BBB:0C2A 33 C0 xor ax,ax ; Zero register 3BBB:0C2C 8B F8 mov di,ax 3BBB:0C2E B9 002D mov cx,2Dh 3BBB:0C31 F3/ AB rep stosw ; Rep when cx >0 Store ax to es:[di] 3BBB:0C33 A0 03B6 mov al,byte ptr ds:[3B6h] ; (3BBB:03B6=1Eh) 3BBB:0C36 26: A2 0005 mov es:data_1140e,al ; (E808:0005=0C5h) 3BBB:0C3A ,BE 04F3 mov si,4F3h ; (3BBB:04F3=0) 3BBB:0C3D 8B 0E 038C mov cx,word ptr ds:[38Ch] ; (3BBB:038C=0C621h) 3BBB:0C41 locloop_125: ; xref 3BBB:0C7B 3BBB:0C41 80 7C 05 00 cmp byte ptr [si+5],0 3BBB:0C45 74 31 je loc_127 ; Jump if equal 3BBB:0C47 B8 0006 mov ax,6 3BBB:0C4A 8A 5C 05 mov bl,[si+5] 3BBB:0C4D FE CB dec bl 3BBB:0C4F F6 E3 mul bl ; ax = reg * al 3BBB:0C51 93 xchg bx,ax 3BBB:0C52 51 push cx 3BBB:0C53 8B 44 06 mov ax,[si+6] 3BBB:0C56 0B C0 or ax,ax ; Zero ? 3BBB:0C58 74 17 jz loc_126 ; Jump if zero 3BBB:0C5A 8A D4 mov dl,ah 3BBB:0C5C 32 F6 xor dh,dh ; Zero register 3BBB:0C5E B1 04 mov cl,4 3BBB:0C60 D3 E0 shl ax,cl ; Shift w/zeros fill 3BBB:0C62 D3 E2 shl dx,cl ; Shift w/zeros fill 3BBB:0C64 2D 0001 sub ax,1 3BBB:0C67 80 DE 00 sbb dh,0 3BBB:0C6A 26: 89 07 mov es:[bx],ax 3BBB:0C6D 26: 88 77 02 mov es:[bx+2],dh 3BBB:0C71 loc_126: ; xref 3BBB:0C58 3BBB:0C71 59 pop cx 3BBB:0C72 8B 04 mov ax,[si] 3BBB:0C74 26: 89 47 03 mov es:[bx+3],ax 3BBB:0C78 loc_127: ; xref 3BBB:0C45 3BBB:0C78 83 C6 0C add si,0Ch 3BBB:0C7B E2 C4 loop locloop_125 ; Loop if cx > 0 3BBB:0C7D 80 3E 03B6 01 cmp byte ptr ds:[3B6h],1 ; (3BBB:03B6=1Eh) 3BBB:0C82 75 0C jne loc_128 ; Jump if not equal 3BBB:0C84 33 F6 xor si,si ; Zero register 3BBB:0C86 ,BF 0006 mov di,data_1141e ; (E808:0006=1) 3BBB:0C89 1E push ds 3BBB:0C8A 06 push es 3BBB:0C8B 1F pop ds 3BBB:0C8C A5 movsw ; Mov [si] to es:[di] 3BBB:0C8D A5 movsw ; Mov [si] to es:[di] 3BBB:0C8E A5 movsw ; Mov [si] to es:[di] 3BBB:0C8F 1F pop ds 3BBB:0C90 loc_128: ; xref 3BBB:0C82 3BBB:0C90 A0 038E mov al,byte ptr ds:[38Eh] ; (3BBB:038E=6) 3BBB:0C93 26: A2 0050 mov es:data_1142e,al ; (E808:0050=2) 3BBB:0C97 07 pop es 3BBB:0C98 8B 1E 038A mov bx,word ptr ds:[38Ah] ; (3BBB:038A=75FFh) 3BBB:0C9C C3 retn sub_22 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:0B74 ;========================================================================== 3BBB:0C9D sub_24 proc near 3BBB:0C9D loc_129: ; xref 3BBB:0D1A 3BBB:0C9D ,8B DE mov bx,si 3BBB:0C9F A1 03B2 mov ax,word ptr ds:[3B2h] ; (3BBB:03B2=7200h) 3BBB:0CA2 8B 4F 08 mov cx,[bx+8] 3BBB:0CA5 3B C8 cmp cx,ax 3BBB:0CA7 72 37 jb loc_131 ; Jump if below 3BBB:0CA9 2B C8 sub cx,ax 3BBB:0CAB 83 F9 08 cmp cx,8 3BBB:0CAE 73 30 jae loc_131 ; Jump if above or = 3BBB:0CB0 BA 0008 mov dx,8 3BBB:0CB3 2B D1 sub dx,cx 3BBB:0CB5 3B 57 0A cmp dx,[bx+0Ah] 3BBB:0CB8 76 03 jbe loc_130 ; Jump if below or = 3BBB:0CBA 8B 57 0A mov dx,[bx+0Ah] 3BBB:0CBD loc_130: ; xref 3BBB:0CB8 3BBB:0CBD ,BE 03E0 mov si,3E0h ; (3BBB:03E0=0) 3BBB:0CC0 8B C1 mov ax,cx 3BBB:0CC2 B1 04 mov cl,4 3BBB:0CC4 D3 E0 shl ax,cl ; Shift w/zeros fill 3BBB:0CC6 03 F0 add si,ax 3BBB:0CC8 8B C2 mov ax,dx 3BBB:0CCA B1 03 mov cl,3 3BBB:0CCC D3 E0 shl ax,cl ; Shift w/zeros fill 3BBB:0CCE 8B C8 mov cx,ax 3BBB:0CD0 33 FF xor di,di ; Zero register 3BBB:0CD2 06 push es 3BBB:0CD3 8E 07 mov es,[bx] 3BBB:0CD5 F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:0CD7 07 pop es 3BBB:0CD8 01 17 add [bx],dx 3BBB:0CDA 29 57 0A sub [bx+0Ah],dx 3BBB:0CDD 01 57 08 add [bx+8],dx 3BBB:0CE0 loc_131: ; xref 3BBB:0CA7, 0CAE, 0D53 3BBB:0CE0 ,83 7F 0A 00 cmp word ptr [bx+0Ah],0 3BBB:0CE4 75 03 jne loc_132 ; Jump if not equal 3BBB:0CE6 33 C9 xor cx,cx ; Zero register 3BBB:0CE8 C3 retn 3BBB:0CE9 loc_132: ; xref 3BBB:0CE4 3BBB:0CE9 F7 47 08 0007 test word ptr [bx+8],7 3BBB:0CEE 75 06 jnz loc_133 ; Jump if not zero 3BBB:0CF0 83 7F 0A 08 cmp word ptr [bx+0Ah],8 3BBB:0CF4 73 27 jae loc_136 ; Jump if above or = 3BBB:0CF6 loc_133: ; xref 3BBB:0CEE 3BBB:0CF6 53 push bx 3BBB:0CF7 8B 47 08 mov ax,[bx+8] 3BBB:0CFA D1 E8 shr ax,1 ; Shift w/zeros fill 3BBB:0CFC D1 E8 shr ax,1 ; Shift w/zeros fill 3BBB:0CFE D1 E8 shr ax,1 ; Shift w/zeros fill 3BBB:0D00 E8 0053 call sub_25 ; (0D56) 3BBB:0D03 5B pop bx 3BBB:0D04 E3 09 jcxz loc_135 ; Jump if cx=0 3BBB:0D06 81 F9 00FF cmp cx,0FFh 3BBB:0D0A 75 02 jne loc_ret_134 ; Jump if not equal 3BBB:0D0C 33 C9 xor cx,cx ; Zero register 3BBB:0D0E loc_ret_134: ; xref 3BBB:0D0A 3BBB:0D0E C3 retn 3BBB:0D0F loc_135: ; xref 3BBB:0D04 3BBB:0D0F 8B 47 08 mov ax,[bx+8] 3BBB:0D12 25 FFF8 and ax,0FFF8h 3BBB:0D15 A3 03B2 mov word ptr ds:[3B2h],ax ; (3BBB:03B2=7200h) 3BBB:0D18 8B F3 mov si,bx 3BBB:0D1A E9 FF80 ;* jmp loc_129 ; (0C9D) 3BBB:0D1A db 0E9h, 80h,0FFh ; Fixup - byte match 3BBB:0D1D loc_136: ; xref 3BBB:0CF4 3BBB:0D1D 53 push bx 3BBB:0D1E 2B D2 sub dx,dx 3BBB:0D20 8B 0F mov cx,[bx] 3BBB:0D22 8B 47 08 mov ax,[bx+8] 3BBB:0D25 D1 E8 shr ax,1 ; Shift w/zeros fill 3BBB:0D27 D1 E8 shr ax,1 ; Shift w/zeros fill 3BBB:0D29 D1 E8 shr ax,1 ; Shift w/zeros fill 3BBB:0D2B 8B 5F 0A mov bx,[bx+0Ah] 3BBB:0D2E D1 EB shr bx,1 ; Shift w/zeros fill 3BBB:0D30 D1 EB shr bx,1 ; Shift w/zeros fill 3BBB:0D32 D1 EB shr bx,1 ; Shift w/zeros fill 3BBB:0D34 53 push bx 3BBB:0D35 E8 0026 call sub_26 ; (0D5E) 3BBB:0D38 58 pop ax 3BBB:0D39 5B pop bx 3BBB:0D3A E3 09 jcxz loc_138 ; Jump if cx=0 3BBB:0D3C 81 F9 00FF cmp cx,0FFh 3BBB:0D40 75 02 jne loc_ret_137 ; Jump if not equal 3BBB:0D42 33 C9 xor cx,cx ; Zero register 3BBB:0D44 loc_ret_137: ; xref 3BBB:0D40 3BBB:0D44 C3 retn 3BBB:0D45 loc_138: ; xref 3BBB:0D3A 3BBB:0D45 D1 E0 shl ax,1 ; Shift w/zeros fill 3BBB:0D47 D1 E0 shl ax,1 ; Shift w/zeros fill 3BBB:0D49 D1 E0 shl ax,1 ; Shift w/zeros fill 3BBB:0D4B 01 07 add [bx],ax 3BBB:0D4D 01 47 08 add [bx+8],ax 3BBB:0D50 29 47 0A sub [bx+0Ah],ax 3BBB:0D53 E9 FF8A ;* jmp loc_131 ; (0CE0) sub_24 endp 3BBB:0D53 db 0E9h, 8Ah,0FFh ; Fixup - byte match ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:084B, 087D, 0B92, 0D00 ;========================================================================== 3BBB:0D56 sub_25 proc near 3BBB:0D56 BB 0001 mov bx,1 3BBB:0D59 BA 03E0 mov dx,3E0h 3BBB:0D5C 8C D9 mov cx,ds ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:07F2, 0D35 3BBB:0D5E sub_26: 3BBB:0D5E 26: 89 16 0038 mov es:data_181,dx ; (3BBB:0038=0) 3BBB:0D63 26: 89 0E 003A mov word ptr es:data_181+2,cx ; (3BBB:003A=3BBBh) 3BBB:0D68 loc_139: ; xref 3BBB:0DBF 3BBB:0D68 53 push bx 3BBB:0D69 50 push ax 3BBB:0D6A 81 FB 0080 cmp bx,80h 3BBB:0D6E 76 03 jbe loc_140 ; Jump if below or = 3BBB:0D70 BB 0080 mov bx,80h 3BBB:0D73 loc_140: ; xref 3BBB:0D6E 3BBB:0D73 26: 8A 0E 0047 mov cl,es:data_189 ; (3BBB:0047=0) 3BBB:0D78 51 push cx 3BBB:0D79 26: 88 1E 0047 mov es:data_189,bl ; (3BBB:0047=0) 3BBB:0D7E 53 push bx 3BBB:0D7F A3 03AF mov word ptr ds:[3AFh],ax ; (3BBB:03AF=0FF81h) 3BBB:0D82 B9 0021 mov cx,21h 3BBB:0D85 BA 038E mov dx,38Eh 3BBB:0D88 E8 F518 call sub_4 ; (02A3) 3BBB:0D8B 5A pop dx 3BBB:0D8C 59 pop cx 3BBB:0D8D 26: 88 0E 0047 mov es:data_189,cl ; (3BBB:0047=0) 3BBB:0D92 80 FB 01 cmp bl,1 3BBB:0D95 76 09 jbe loc_141 ; Jump if below or = 3BBB:0D97 B9 001D mov cx,1Dh 3BBB:0D9A BB FFFF mov bx,0FFFFh 3BBB:0D9D 58 pop ax 3BBB:0D9E 58 pop ax 3BBB:0D9F C3 retn 3BBB:0DA0 loc_141: ; xref 3BBB:0D95 3BBB:0DA0 8A CB mov cl,bl 3BBB:0DA2 58 pop ax 3BBB:0DA3 03 C2 add ax,dx 3BBB:0DA5 5B pop bx 3BBB:0DA6 2B DA sub bx,dx 3BBB:0DA8 D1 E2 shl dx,1 ; Shift w/zeros fill 3BBB:0DAA D1 E2 shl dx,1 ; Shift w/zeros fill 3BBB:0DAC D1 E2 shl dx,1 ; Shift w/zeros fill 3BBB:0DAE 26: 01 16 003A add word ptr es:data_181+2,dx ; (3BBB:003A=3BBBh) 3BBB:0DB3 80 F9 00 cmp cl,0 3BBB:0DB6 74 04 je loc_142 ; Jump if equal 3BBB:0DB8 B9 00FF mov cx,0FFh 3BBB:0DBB C3 retn 3BBB:0DBC loc_142: ; xref 3BBB:0DB6 3BBB:0DBC 83 FB 00 cmp bx,0 3BBB:0DBF 75 A7 jne loc_139 ; Jump if not equal 3BBB:0DC1 33 C9 xor cx,cx ; Zero register 3BBB:0DC3 C3 retn sub_25 endp ;* No entry point to code 3BBB:0DC4 BB 0072 mov bx,72h 3BBB:0DC7 B9 0204 mov cx,204h 3BBB:0DCA E8 F4D6 call sub_4 ; (02A3) 3BBB:0DCD E8 FAE4 call sub_19 ; (08B4) 3BBB:0DD0 E9 FAD6 jmp loc_75 ; (08A9) ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:05CE ;========================================================================== 3BBB:0DD3 sub_27 proc near 3BBB:0DD3 B9 041A mov cx,41Ah 3BBB:0DD6 E8 F4CA call sub_4 ; (02A3) 3BBB:0DD9 26: 80 3E 0018 00 cmp es:data_169,0 ; (3BBB:0018=0) 3BBB:0DDF 75 0D jne loc_ret_143 ; Jump if not equal 3BBB:0DE1 83 3E 0042 00 cmp word ptr data_185+2,0 ; (3BBB:0042=0) 3BBB:0DE6 74 06 je loc_ret_143 ; Jump if equal 3BBB:0DE8 B1 00 mov cl,0 3BBB:0DEA FF 1E 0040 call dword ptr data_185 ; (3BBB:0040=0) 3BBB:0DEE loc_ret_143: ; xref 3BBB:0DDF, 0DE6 3BBB:0DEE C3 retn sub_27 endp ;* No entry point to code 3BBB:0DEF 26: A1 002E mov ax,es:data_177 ; (3BBB:002E=3BBBh) 3BBB:0DF3 1E push ds 3BBB:0DF4 8E D8 mov ds,ax 3BBB:0DF6 06 push es 3BBB:0DF7 8E C0 mov es,ax 3BBB:0DF9 8B DA mov bx,dx 3BBB:0DFB 8B 37 mov si,[bx] 3BBB:0DFD 8B 5F 02 mov bx,[bx+2] 3BBB:0E00 E8 0137 call sub_31 ; (0F3A) 3BBB:0E03 E8 0126 call sub_30 ; (0F2C) 3BBB:0E06 BD 0018 mov bp,18h 3BBB:0E09 E8 00E0 call sub_29 ; (0EEC) 3BBB:0E0C 75 03 jnz loc_144 ; Jump if not zero 3BBB:0E0E E9 00B1 jmp loc_152 ; (0EC2) 3BBB:0E11 loc_144: ; xref 3BBB:0E0C 3BBB:0E11 8A E8 mov ch,al 3BBB:0E13 46 inc si 3BBB:0E14 8A 04 mov al,[si] 3BBB:0E16 3C 3A cmp al,3Ah ; ':' 3BBB:0E18 75 29 jne loc_145 ; Jump if not equal 3BBB:0E1A BD 0017 mov bp,17h 3BBB:0E1D 8A C5 mov al,ch 3BBB:0E1F 2C 41 sub al,41h ; 'A' 3BBB:0E21 72 35 jc loc_147 ; Jump if carry Set 3BBB:0E23 3C 10 cmp al,10h 3BBB:0E25 7D 31 jge loc_147 ; Jump if > or = 3BBB:0E27 FE C0 inc al 3BBB:0E29 88 07 mov [bx],al 3BBB:0E2B BD 0018 mov bp,18h 3BBB:0E2E 46 inc si 3BBB:0E2F E8 00BA call sub_29 ; (0EEC) 3BBB:0E32 75 10 jnz loc_146 ; Jump if not zero 3BBB:0E34 3C 2E cmp al,2Eh ; '.' 3BBB:0E36 74 20 je loc_147 ; Jump if equal 3BBB:0E38 3C 3A cmp al,3Ah ; ':' 3BBB:0E3A 74 1C je loc_147 ; Jump if equal 3BBB:0E3C 3C 3B cmp al,3Bh ; ';' 3BBB:0E3E 74 18 je loc_147 ; Jump if equal 3BBB:0E40 E9 0001 jmpn loc_146 ; (0E44) 3BBB:0E43 loc_145: ; xref 3BBB:0E18 3BBB:0E43 4E dec si 3BBB:0E44 loc_146: ; xref 3BBB:0E32, 0E40 3BBB:0E44 8B FB mov di,bx 3BBB:0E46 8D 5D 01 lea bx,[di+1] ; Load effective addr 3BBB:0E49 B5 08 mov ch,8 3BBB:0E4B E8 007C call sub_28 ; (0ECA) 3BBB:0E4E 80 FD 00 cmp ch,0 3BBB:0E51 75 0D jne loc_148 ; Jump if not equal 3BBB:0E53 E8 0096 call sub_29 ; (0EEC) 3BBB:0E56 74 08 jz loc_148 ; Jump if zero 3BBB:0E58 loc_147: ; xref 3BBB:0E21, 0E25, 0E36, 0E3A ; 0E3E, 0E7A, 0EAB, 0F0C 3BBB:0E58 ,8B CD mov cx,bp 3BBB:0E5A BB FFFF mov bx,0FFFFh 3BBB:0E5D 07 pop es 3BBB:0E5E 1F pop ds 3BBB:0E5F C3 retn 3BBB:0E60 loc_148: ; xref 3BBB:0E51, 0E56 3BBB:0E60 3C 2E cmp al,2Eh ; '.' 3BBB:0E62 75 19 jne loc_149 ; Jump if not equal 3BBB:0E64 BD 0019 mov bp,19h 3BBB:0E67 B5 03 mov ch,3 3BBB:0E69 8D 5D 09 lea bx,[di+9] ; Load effective addr 3BBB:0E6C 46 inc si 3BBB:0E6D E8 005A call sub_28 ; (0ECA) 3BBB:0E70 80 FD 00 cmp ch,0 3BBB:0E73 75 08 jne loc_149 ; Jump if not equal 3BBB:0E75 E8 0074 call sub_29 ; (0EEC) 3BBB:0E78 74 03 jz loc_149 ; Jump if zero 3BBB:0E7A E9 FFDB ;* jmp loc_147 ; (0E58) 3BBB:0E7A db 0E9h,0DBh,0FFh ; Fixup - byte match 3BBB:0E7D loc_149: ; xref 3BBB:0E62, 0E73, 0E78 3BBB:0E7D 3C 3B cmp al,3Bh ; ';' 3BBB:0E7F 75 2D jne loc_151 ; Jump if not equal 3BBB:0E81 BD 0026 mov bp,26h 3BBB:0E84 B5 08 mov ch,8 3BBB:0E86 8D 5D 10 lea bx,[di+10h] ; Load effective addr 3BBB:0E89 46 inc si 3BBB:0E8A 89 75 18 mov [di+18h],si 3BBB:0E8D E8 003A call sub_28 ; (0ECA) 3BBB:0E90 B1 08 mov cl,8 3BBB:0E92 2A CD sub cl,ch 3BBB:0E94 88 4D 1A mov [di+1Ah],cl 3BBB:0E97 80 F9 00 cmp cl,0 3BBB:0E9A 75 05 jne loc_150 ; Jump if not equal 3BBB:0E9C C7 45 18 0000 mov word ptr [di+18h],0 3BBB:0EA1 loc_150: ; xref 3BBB:0E9A 3BBB:0EA1 80 FD 00 cmp ch,0 3BBB:0EA4 75 08 jne loc_151 ; Jump if not equal 3BBB:0EA6 E8 0043 call sub_29 ; (0EEC) 3BBB:0EA9 74 03 jz loc_151 ; Jump if zero 3BBB:0EAB E9 FFAA ;* jmp loc_147 ; (0E58) 3BBB:0EAB db 0E9h,0AAh,0FFh ; Fixup - byte match 3BBB:0EAE loc_151: ; xref 3BBB:0E7F, 0EA4, 0EA9 3BBB:0EAE 8B DE mov bx,si 3BBB:0EB0 E8 0079 call sub_30 ; (0F2C) 3BBB:0EB3 E8 0036 call sub_29 ; (0EEC) 3BBB:0EB6 75 0D jnz loc_153 ; Jump if not zero 3BBB:0EB8 8B DE mov bx,si 3BBB:0EBA 3C 00 cmp al,0 3BBB:0EBC 74 04 je loc_152 ; Jump if equal 3BBB:0EBE 3C 0D cmp al,0Dh 3BBB:0EC0 75 03 jne loc_153 ; Jump if not equal 3BBB:0EC2 loc_152: ; xref 3BBB:0E0E, 0EBC 3BBB:0EC2 BB 0000 mov bx,0 3BBB:0EC5 loc_153: ; xref 3BBB:0EB6, 0EC0 3BBB:0EC5 2B C9 sub cx,cx 3BBB:0EC7 07 pop es 3BBB:0EC8 1F pop ds 3BBB:0EC9 C3 retn ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:0E4B, 0E6D, 0E8D ;========================================================================== 3BBB:0ECA sub_28 proc near 3BBB:0ECA loc_154: ; xref 3BBB:0EDB, 0EE9 3BBB:0ECA 5A pop dx 3BBB:0ECB E8 001E call sub_29 ; (0EEC) 3BBB:0ECE 52 push dx 3BBB:0ECF 74 1A jz loc_ret_157 ; Jump if zero 3BBB:0ED1 3C 2A cmp al,2Ah ; '*' 3BBB:0ED3 75 0B jne loc_155 ; Jump if not equal 3BBB:0ED5 C6 07 3F mov byte ptr [bx],3Fh ; '?' 3BBB:0ED8 43 inc bx 3BBB:0ED9 FE CD dec ch 3BBB:0EDB 75 ED jnz loc_154 ; Jump if not zero 3BBB:0EDD E9 0005 jmpn loc_156 ; (0EE5) 3BBB:0EE0 loc_155: ; xref 3BBB:0ED3 3BBB:0EE0 88 07 mov [bx],al 3BBB:0EE2 43 inc bx 3BBB:0EE3 FE CD dec ch 3BBB:0EE5 loc_156: ; xref 3BBB:0EDD 3BBB:0EE5 46 inc si 3BBB:0EE6 80 FD 00 cmp ch,0 3BBB:0EE9 75 DF jne loc_154 ; Jump if not equal 3BBB:0EEB loc_ret_157: ; xref 3BBB:0ECF 3BBB:0EEB C3 retn sub_28 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:0E09, 0E2F, 0E53, 0E75, 0EA6, 0EB3, 0ECB ;========================================================================== 3BBB:0EEC sub_29 proc near 3BBB:0EEC B1 0F mov cl,0Fh 3BBB:0EEE 8A 04 mov al,[si] 3BBB:0EF0 57 push di 3BBB:0EF1 ,BF 0E9D mov di,0E9Dh ; (3BBB:0E9D=45h) 3BBB:0EF4 loc_158: ; xref 3BBB:0F01 3BBB:0EF4 ,80 F9 00 cmp cl,0 3BBB:0EF7 74 0A je loc_159 ; Jump if equal 3BBB:0EF9 2E: 38 05 cmp cs:[di],al 3BBB:0EFC 74 1D je loc_162 ; Jump if equal 3BBB:0EFE FE C9 dec cl 3BBB:0F00 47 inc di 3BBB:0F01 EB F1 jmp short loc_158 ; (0EF4) 3BBB:0F03 loc_159: ; xref 3BBB:0EF7 3BBB:0F03 3C 20 cmp al,20h ; ' ' 3BBB:0F05 77 08 ja loc_160 ; Jump if above 3BBB:0F07 5F pop di 3BBB:0F08 5B pop bx 3BBB:0F09 B9 0018 mov cx,18h 3BBB:0F0C E9 FF49 jmp loc_147 ; (0E58) 3BBB:0F0F loc_160: ; xref 3BBB:0F05 3BBB:0F0F 3C 61 cmp al,61h ; 'a' 3BBB:0F11 72 08 jb loc_162 ; Jump if below 3BBB:0F13 3C 7A cmp al,7Ah ; 'z' 3BBB:0F15 77 02 ja loc_161 ; Jump if above 3BBB:0F17 24 5F and al,5Fh ; '_' 3BBB:0F19 loc_161: ; xref 3BBB:0F15 3BBB:0F19 24 7F and al,7Fh 3BBB:0F1B loc_162: ; xref 3BBB:0EFC, 0F11 3BBB:0F1B 5F pop di 3BBB:0F1C C3 retn sub_29 endp 3BBB:0F1D 00 db 0 3BBB:0F1E 09 0D 20 21 2C 2E db 9, 0Dh, ' !,./:;<' 3BBB:0F24 2F 3A 3B 3C 3BBB:0F28 3E3D data_581 dw 3E3Dh ; Data table (indexed access) ; xref 3BBB:635B 3BBB:0F2A 5B 5D db 5Bh, 5Dh ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:0E03, 0EB0 ;========================================================================== 3BBB:0F2C sub_30 proc near 3BBB:0F2C loc_163: ; xref 3BBB:0F38 3BBB:0F2C ,80 3C 20 cmp byte ptr [si],20h ; ' ' 3BBB:0F2F 74 06 je loc_164 ; Jump if equal 3BBB:0F31 80 3C 09 cmp byte ptr [si],9 3BBB:0F34 74 01 je loc_164 ; Jump if equal 3BBB:0F36 C3 retn 3BBB:0F37 loc_164: ; xref 3BBB:0F2F, 0F34 3BBB:0F37 46 inc si 3BBB:0F38 EB F2 jmp short loc_163 ; (0F2C) sub_30 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:0E00 ;========================================================================== 3BBB:0F3A sub_31 proc near 3BBB:0F3A 8B FB mov di,bx 3BBB:0F3C 32 C0 xor al,al ; Zero register 3BBB:0F3E AA stosb ; Store al to es:[di] 3BBB:0F3F B0 20 mov al,20h ; ' ' 3BBB:0F41 B9 000B mov cx,0Bh 3BBB:0F44 F3/ AA rep stosb ; Rep when cx >0 Store al to es:[di] 3BBB:0F46 33 C0 xor ax,ax ; Zero register 3BBB:0F48 B1 02 mov cl,2 3BBB:0F4A F3/ AB rep stosw ; Rep when cx >0 Store ax to es:[di] 3BBB:0F4C B0 20 mov al,20h ; ' ' 3BBB:0F4E B1 08 mov cl,8 3BBB:0F50 F3/ AA rep stosb ; Rep when cx >0 Store al to es:[di] 3BBB:0F52 32 C0 xor al,al ; Zero register 3BBB:0F54 B1 03 mov cl,3 3BBB:0F56 F3/ AA rep stosb ; Rep when cx >0 Store al to es:[di] 3BBB:0F58 C3 retn sub_31 endp ;* No entry point to code 3BBB:0F59 C3 retn ;* No entry point to code 3BBB:0F5A 2E: FF 94 0EE5 call word ptr cs:[0EE5h][si] ;*(3BBB:0EE5=8046h) 3BBB:0F5F 72 03 jc loc_ret_165 ; Jump if carry Set 3BBB:0F61 BB FFFF mov bx,0FFFFh 3BBB:0F64 loc_ret_165: ; xref 3BBB:0F5F 3BBB:0F64 C3 retn ;* No entry point to code 3BBB:0F65 4D dec bp 3BBB:0F66 10 FB ;* adc bl,bh 3BBB:0F66 db 10h,0FBh ; Fixup - byte match 3BBB:0F68 0E push cs 3BBB:0F69 C9 0F B0 11 59 11 db 0C9h, 0Fh,0B0h, 11h, 59h, 11h 3BBB:0F6F 70 11 20 11 3D 11 db 70h, 11h, 20h, 11h, 3Dh, 11h 3BBB:0F75 A4 0F 92 11 EC 0F db 0A4h, 0Fh, 92h, 11h,0ECh, 0Fh 3BBB:0F7B FA E8 8E 00 73 24 db 0FAh,0E8h, 8Eh, 00h, 73h, 24h 3BBB:0F81 3D FE FF 74 1A 77 db 3Dh,0FEh,0FFh, 74h, 1Ah, 77h 3BBB:0F87 06 B9 06 00 F8 EB db 06h,0B9h, 06h, 00h,0F8h,0EBh 3BBB:0F8D 17 8C 07 26 C6 06 db 17h, 8Ch, 07h, 26h,0C6h, 06h 3BBB:0F93 04 00 03 26 89 16 db 04h, 00h, 03h, 26h, 89h, 16h 3BBB:0F99 50 00 E8 8D 02 EB db 50h, 00h,0E8h, 8Dh, 02h,0EBh 3BBB:0F9F 04 C7 07 FF FF db 04h,0C7h, 07h,0FFh,0FFh 3BBB:0FA4 loc_166: 3BBB:0FA4 F9 stc ; Set carry flag 3BBB:0FA5 FB sti ; Enable interrupts 3BBB:0FA6 C3 retn ;* No entry point to code 3BBB:0FA7 80 FA 01 cmp dl,1 3BBB:0FAA 75 36 jne loc_170 ; Jump if not equal 3BBB:0FAC C6 06 0F00 00 mov byte ptr ds:[0F00h],0 ; (3BBB:0F00=47h) 3BBB:0FB1 A1 004A mov ax,data_191 ; (3BBB:004A=0) 3BBB:0FB4 06 push es 3BBB:0FB5 loc_167: ; xref 3BBB:0FDB 3BBB:0FB5 8E C0 mov es,ax 3BBB:0FB7 26: 80 3E 0004 01 cmp byte ptr es:data_4e,1 ; (0000:0004=29h) 3BBB:0FBD 75 16 jne loc_169 ; Jump if not equal 3BBB:0FBF C6 06 0F00 FF mov byte ptr ds:[0F00h],0FFh ; (3BBB:0F00=47h) 3BBB:0FC4 E8 0455 call sub_42 ; (141C) 3BBB:0FC7 72 07 jc loc_168 ; Jump if carry Set 3BBB:0FC9 26: FF 0E 0050 dec word ptr es:data_19e ; (0000:0050=0E739h) 3BBB:0FCE 75 05 jnz loc_169 ; Jump if not zero 3BBB:0FD0 loc_168: ; xref 3BBB:0FC7 3BBB:0FD0 8C C2 mov dx,es 3BBB:0FD2 E8 023D call sub_37 ; (1212) 3BBB:0FD5 loc_169: ; xref 3BBB:0FBD, 0FCE 3BBB:0FD5 26: A1 0002 mov ax,es:data_3e ; (0000:0002=144Bh) 3BBB:0FD9 85 C0 test ax,ax 3BBB:0FDB 75 D8 jnz loc_167 ; Jump if not zero 3BBB:0FDD 33 C0 xor ax,ax ; Zero register 3BBB:0FDF 07 pop es 3BBB:0FE0 EB 28 jmp short loc_176 ; (100A) 3BBB:0FE2 loc_170: ; xref 3BBB:0FAA 3BBB:0FE2 9C pushf ; Push flags 3BBB:0FE3 FA cli ; Disable interrupts 3BBB:0FE4 E8 0026 call sub_32 ; (100D) 3BBB:0FE7 73 1D jnc loc_174 ; Jump if carry=0 3BBB:0FE9 3D FFFE cmp ax,0FFFEh 3BBB:0FEC 74 15 je loc_173 ; Jump if equal 3BBB:0FEE 77 0B ja loc_171 ; Jump if above 3BBB:0FF0 C7 07 FFFF mov word ptr [bx],0FFFFh 3BBB:0FF4 8B D0 mov dx,ax 3BBB:0FF6 E8 0219 call sub_37 ; (1212) 3BBB:0FF9 EB 04 jmp short loc_172 ; (0FFF) 3BBB:0FFB loc_171: ; xref 3BBB:0FEE 3BBB:0FFB C7 07 FFFE mov word ptr [bx],0FFFEh 3BBB:0FFF loc_172: ; xref 3BBB:0FF9 3BBB:0FFF 33 C0 xor ax,ax ; Zero register 3BBB:1001 EB 06 jmp short loc_175 ; (1009) 3BBB:1003 loc_173: ; xref 3BBB:0FEC 3BBB:1003 B9 0005 mov cx,5 3BBB:1006 loc_174: ; xref 3BBB:0FE7 3BBB:1006 B8 FFFF mov ax,0FFFFh 3BBB:1009 loc_175: ; xref 3BBB:1001 3BBB:1009 9D popf ; Pop flags 3BBB:100A loc_176: ; xref 3BBB:0FE0 3BBB:100A 8B D8 mov bx,ax 3BBB:100C CB retf ; Return far ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:0FE4 ;========================================================================== 3BBB:100D sub_32 proc near 3BBB:100D B9 0004 mov cx,4 3BBB:1010 3A 16 0F05 cmp dl,byte ptr ds:[0F05h] ; (3BBB:0F05=77h) 3BBB:1014 77 0D ja loc_ret_177 ; Jump if above 3BBB:1016 32 F6 xor dh,dh ; Zero register 3BBB:1018 8B 1E 004C mov bx,data_192 ; (3BBB:004C=0) 3BBB:101C 03 DA add bx,dx 3BBB:101E 03 DA add bx,dx 3BBB:1020 8B 07 mov ax,[bx] 3BBB:1022 F9 stc ; Set carry flag 3BBB:1023 loc_ret_177: ; xref 3BBB:1014 3BBB:1023 C3 retn sub_32 endp ;* No entry point to code 3BBB:1024 1E push ds 3BBB:1025 8B 1E 004A mov bx,data_191 ; (3BBB:004A=0) 3BBB:1029 B9 0004 mov cx,4 3BBB:102C locloop_178: ; xref 3BBB:1038 3BBB:102C 8E DB mov ds,bx 3BBB:102E 80 3E 0004 02 cmp byte ptr ds:data_4e,2 ; (0000:0004=29h) 3BBB:1033 74 0B je loc_179 ; Jump if equal 3BBB:1035 83 C3 16 add bx,16h 3BBB:1038 E2 F2 loop locloop_178 ; Loop if cx > 0 3BBB:103A 1F pop ds 3BBB:103B F8 clc ; Clear carry flag 3BBB:103C B9 000C mov cx,0Ch 3BBB:103F C3 retn 3BBB:1040 loc_179: ; xref 3BBB:1033 3BBB:1040 1F pop ds 3BBB:1041 FE 06 0056 inc byte ptr ds:data_21e ; (0000:0056=0DFh) 3BBB:1045 33 C9 xor cx,cx ; Zero register 3BBB:1047 F9 stc ; Set carry flag 3BBB:1048 C3 retn 3BBB:1049 80 db 80h 3BBB:104A 3E data_598 db 3Eh ; xref 3BBB:6804, 6CD9, 6CDE, 70F1 ; 70F6, 7187, 718C, 719D ; 71A2, 751E, 752D 3BBB:104B 01 0F 00 75 db 01h, 0Fh, 00h, 75h 3BBB:104F 04 data_599 db 4 ; xref 3BBB:7F0D, 7F14, 7F1B, 7F22 ; 7F29 3BBB:1050 B9 2D 00 C3 8C 06 db 0B9h, 2Dh, 00h,0C3h, 8Ch, 06h 3BBB:1056 5B 05 FA C6 06 00 db 5Bh, 05h,0FAh,0C6h, 06h, 00h 3BBB:105C 0F FF 26 C6 06 04 db 0Fh,0FFh, 26h,0C6h, 06h, 04h 3BBB:1062 00 01 26 89 16 50 db 00h, 01h, 26h, 89h, 16h, 50h 3BBB:1068 00 E9 BF 01 db 00h,0E9h,0BFh, 01h ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:1119 ;========================================================================== 3BBB:106C sub_33 proc near 3BBB:106C 33 ED xor bp,bp ; Zero register 3BBB:106E EB 03 jmp short loc_180 ; (1073) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:1128 3BBB:1070 sub_34: 3BBB:1070 BD 0001 mov bp,1 3BBB:1073 loc_180: ; xref 3BBB:106E 3BBB:1073 1E push ds 3BBB:1074 06 push es 3BBB:1075 ,BF 004E mov di,offset data_193 ; (3BBB:004E=0) 3BBB:1078 26: C5 75 04 lds si,dword ptr es:[di+4] ; Load seg:offset ptr 3BBB:107C loc_181: ; xref 3BBB:1099, 10C8 3BBB:107C ,8B 44 04 mov ax,[si+4] 3BBB:107F 0B 44 06 or ax,[si+6] 3BBB:1082 74 46 jz loc_183 ; Jump if zero 3BBB:1084 C6 44 12 FF mov byte ptr [si+12h],0FFh 3BBB:1088 85 ED test bp,bp 3BBB:108A 75 0F jnz loc_182 ; Jump if not zero 3BBB:108C 80 7C 03 00 cmp byte ptr [si+3],0 3BBB:1090 75 09 jne loc_182 ; Jump if not equal 3BBB:1092 56 push si 3BBB:1093 5F pop di 3BBB:1094 1E push ds 3BBB:1095 07 pop es 3BBB:1096 C5 74 04 lds si,dword ptr [si+4] ; Load seg:offset ptr 3BBB:1099 EB E1 jmp short loc_181 ; (107C) 3BBB:109B loc_182: ; xref 3BBB:108A, 1090 3BBB:109B 8B 44 14 mov ax,[si+14h] 3BBB:109E C5 74 04 lds si,dword ptr [si+4] ; Load seg:offset ptr 3BBB:10A1 26: 89 75 04 mov es:[di+4],si 3BBB:10A5 26: 8C 5D 06 mov es:[di+6],ds 3BBB:10A9 56 push si 3BBB:10AA 1E push ds 3BBB:10AB 57 push di 3BBB:10AC 06 push es 3BBB:10AD 55 push bp 3BBB:10AE 2E: 8E 1E 0006 mov ds,cs:data_160 ; (3BBB:0006=0Ah) 3BBB:10B3 8E 06 004E mov es,ds:data_53e ; (000A:004E=157h) 3BBB:10B7 A3 0554 mov ds:data_61e,ax ; (000A:0554=0) 3BBB:10BA BA 0554 mov dx,554h 3BBB:10BD B9 0039 mov cx,39h 3BBB:10C0 E8 F1E0 call sub_4 ; (02A3) 3BBB:10C3 5D pop bp 3BBB:10C4 07 pop es 3BBB:10C5 5F pop di 3BBB:10C6 1F pop ds 3BBB:10C7 5E pop si 3BBB:10C8 EB B2 jmp short loc_181 ; (107C) 3BBB:10CA loc_183: ; xref 3BBB:1082 3BBB:10CA 07 pop es 3BBB:10CB 1F pop ds 3BBB:10CC C3 retn sub_33 endp ;* No entry point to code 3BBB:10CD FA cli ; Disable interrupts 3BBB:10CE 26: C7 06 0070 01C7 mov es:data_215,1C7h ; (3BBB:0070=0) 3BBB:10D5 26: 8C 0E 0072 mov es:data_216,cs ; (3BBB:0072=3BBBh) 3BBB:10DA FB sti ; Enable interrupts 3BBB:10DB E9 001C jmpn loc_185 ; (10FA) 3BBB:10DE 18 00 00 db 18h, 00h, 00h 3BBB:10E1 75 data_610 db 75h ; xref 3BBB:6756 3BBB:10E2 17 2E 83 3E 42 00 db 17h, 2Eh, 83h, 3Eh, 42h, 00h 3BBB:10E8 00 db 00h 3BBB:10E9 74 data_611 db 74h ; xref 3BBB:6761 3BBB:10EA 0F B4 51 CD 21 db 0Fh,0B4h, 51h,0CDh, 21h 3BBB:10EF 85 data_612 db 85h ; xref 3BBB:67B4, 6967, 69F5 3BBB:10F0 74DB data_613 dw 74DBh ; xref 3BBB:6979, 69A7 3BBB:10F2 B807 data_614 dw 0B807h ; xref 3BBB:697F, 69AD 3BBB:10F4 00 data_615 db 0 ; xref 3BBB:6962, 6985, 6999, 69B3 ; 69C9 3BBB:10F5 4C data_616 db 4Ch ; xref 3BBB:695D, 6994, 69C4, 69DE 3BBB:10F6 CD data_617 db 0CDh ; Data table (indexed access) ; xref 3BBB:6B23 3BBB:10F7 21 db 21h 3BBB:10F8 loc_184: ; xref 3BBB:10F8 3BBB:10F8 EB FE jmp short loc_184 ; (10F8) 3BBB:10FA loc_185: ; xref 3BBB:10DB 3BBB:10FA 52 push dx 3BBB:10FB E8 00CC call sub_35 ; (11CA) 3BBB:10FE B9 0723 mov cx,723h 3BBB:1101 E8 F19F call sub_4 ; (02A3) 3BBB:1104 5A pop dx 3BBB:1105 B9 0307 mov cx,307h 3BBB:1108 E8 F198 call sub_4 ; (02A3) 3BBB:110B B9 0418 mov cx,418h 3BBB:110E E8 F192 call sub_4 ; (02A3) 3BBB:1111 26: 80 3E 0018 00 cmp es:data_169,0 ; (3BBB:0018=0) 3BBB:1117 75 09 jne loc_186 ; Jump if not equal 3BBB:1119 E8 FF50 call sub_33 ; (106C) 3BBB:111C B9 0103 mov cx,103h 3BBB:111F E9 F181 jmp loc_15 ; (02A3) 3BBB:1122 loc_186: ; xref 3BBB:1117 3BBB:1122 B9 0611 mov cx,611h 3BBB:1125 E8 F17B call sub_4 ; (02A3) 3BBB:1128 E8 FF45 call sub_34 ; (1070) 3BBB:112B FE 0E 0056 dec data_197 ; (3BBB:0056=0) 3BBB:112F 26: F7 06 0006 0002 test es:data_160,2 ; (3BBB:0006=0Ah) 3BBB:1136 74 0C jz loc_187 ; Jump if zero 3BBB:1138 26: 81 26 0006 FFFD ;* and es:data_160,0FFFDh ; (3BBB:0006=0Ah) 3BBB:1138 db 26h, 81h, 26h, 06h, 00h,0FDh ; Fixup - byte match 3BBB:113E db 0FFh ; Fixup - byte match 3BBB:113F C6 06 0059 00 mov data_200,0 ; (3BBB:0059=0) 3BBB:1144 loc_187: ; xref 3BBB:1136 3BBB:1144 8C 06 055B mov word ptr ds:[55Bh],es ; (3BBB:055B=0E807h) 3BBB:1148 26: C6 06 0004 02 mov byte ptr es:[4],2 ; (3BBB:0004=0) 3BBB:114E E9 00DA jmp loc_197 ; (122B) 3BBB:1151 loc_188: ; xref 3BBB:1295, 1353 3BBB:1151 ,8C C0 mov ax,es 3BBB:1153 FA cli ; Disable interrupts 3BBB:1154 8E D0 mov ss,ax 3BBB:1156 BC 0100 mov sp,100h 3BBB:1159 FB sti ; Enable interrupts 3BBB:115A 26: A0 0005 mov al,es:data_94e ; (0157:0005=0) 3BBB:115E 38 06 05B2 cmp ds:data_67e,al ; (000A:05B2=3Eh) 3BBB:1162 75 05 jne loc_189 ; Jump if not equal 3BBB:1164 C6 06 05B2 FF mov byte ptr ds:data_67e,0FFh ; (000A:05B2=3Eh) 3BBB:1169 loc_189: ; xref 3BBB:1162 3BBB:1169 38 06 05B3 cmp ds:data_68e,al ; (000A:05B3=21h) 3BBB:116D 75 05 jne loc_190 ; Jump if not equal 3BBB:116F C6 06 05B3 FF mov byte ptr ds:data_68e,0FFh ; (000A:05B3=21h) 3BBB:1174 loc_190: ; xref 3BBB:116D 3BBB:1174 26: 81 26 0006 FFFE ;* and word ptr es:data_95e,0FFFEh ; (0157:0006=1000h) 3BBB:1174 db 26h, 81h, 26h, 06h, 00h,0FEh ; Fixup - byte match 3BBB:117A db 0FFh ; Fixup - byte match 3BBB:117B 26: C7 06 0014 FFFE mov word ptr es:data_98e,0FFFEh ; (0157:0014=0) 3BBB:1182 26: 80 3E 003C 0A cmp byte ptr es:data_111e,0Ah ; (0157:003C=0) 3BBB:1188 26: C6 06 003C 00 mov byte ptr es:data_111e,0 ; (0157:003C=0) 3BBB:118E 75 06 jnz loc_191 ; Jump if not zero 3BBB:1190 B9 000D mov cx,0Dh 3BBB:1193 E8 F10D call sub_4 ; (02A3) 3BBB:1196 loc_191: ; xref 3BBB:118E 3BBB:1196 E8 0031 call sub_35 ; (11CA) 3BBB:1199 loc_192: ; xref 3BBB:11BB 3BBB:1199 ,33 C9 xor cx,cx ; Zero register 3BBB:119B 8B D1 mov dx,cx 3BBB:119D E9 F103 jmp loc_15 ; (02A3) ;* No entry point to code 3BBB:11A0 8C 06 055B mov word ptr ds:[55Bh],es ; (3BBB:055B=0E807h) 3BBB:11A4 26: FE 0E 0013 dec es:data_166 ; (3BBB:0013=0) 3BBB:11A9 75 12 jnz loc_193 ; Jump if not zero 3BBB:11AB 26: F7 06 0006 0001 test es:data_160,1 ; (3BBB:0006=0Ah) 3BBB:11B2 74 09 jz loc_193 ; Jump if zero 3BBB:11B4 26: 81 26 0006 FFFE ;* and es:data_160,0FFFEh ; (3BBB:0006=0Ah) 3BBB:11B4 db 26h, 81h, 26h, 06h, 00h,0FEh ; Fixup - byte match 3BBB:11BA db 0FFh ; Fixup - byte match 3BBB:11BB EB DC jmp short loc_192 ; (1199) 3BBB:11BD loc_193: ; xref 3BBB:11A9, 11B2, 11E3, 120F 3BBB:11BD ,33 C0 xor ax,ax ; Zero register 3BBB:11BF A3 055B mov word ptr ds:[55Bh],ax ; (3BBB:055B=0E807h) 3BBB:11C2 39 06 0052 cmp word ptr data_195,ax ; (3BBB:0052=0) 3BBB:11C6 75 68 jne loc_198 ; Jump if not equal 3BBB:11C8 F9 stc ; Set carry flag 3BBB:11C9 C3 retn ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:10FB, 1196 ;========================================================================== 3BBB:11CA sub_35 proc near 3BBB:11CA ,BB 006A mov bx,offset data_214 ; (3BBB:006A=0) 3BBB:11CD loc_194: ; xref 3BBB:11D6 3BBB:11CD 53 push bx 3BBB:11CE E8 001F call sub_36 ; (11F0) 3BBB:11D1 5B pop bx 3BBB:11D2 8B 1F mov bx,[bx] 3BBB:11D4 85 DB test bx,bx 3BBB:11D6 75 F5 jnz loc_194 ; Jump if not zero 3BBB:11D8 C3 retn sub_35 endp ;* No entry point to code 3BBB:11D9 8C C0 mov ax,es 3BBB:11DB A3 055B mov word ptr ds:[55Bh],ax ; (3BBB:055B=0E807h) 3BBB:11DE 87 47 02 xchg [bx+2],ax 3BBB:11E1 85 C0 test ax,ax 3BBB:11E3 74 D8 jz loc_193 ; Jump if zero 3BBB:11E5 89 47 02 mov [bx+2],ax 3BBB:11E8 8D 5F 04 lea bx,[bx+4] ; Load effective addr 3BBB:11EB E8 01FA call sub_40 ; (13E8) 3BBB:11EE EB 3B jmp short loc_197 ; (122B) ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:11CE ;========================================================================== 3BBB:11F0 sub_36 proc near 3BBB:11F0 8C C0 mov ax,es 3BBB:11F2 39 47 02 cmp [bx+2],ax 3BBB:11F5 74 02 je loc_195 ; Jump if equal 3BBB:11F7 F8 clc ; Clear carry flag 3BBB:11F8 C3 retn 3BBB:11F9 loc_195: ; xref 3BBB:11F5 3BBB:11F9 8C 06 055B mov word ptr ds:[55Bh],es ; (3BBB:055B=0E807h) 3BBB:11FD 06 push es 3BBB:11FE 53 push bx 3BBB:11FF 8D 5F 04 lea bx,[bx+4] ; Load effective addr 3BBB:1202 E8 01F9 call sub_41 ; (13FE) 3BBB:1205 5B pop bx 3BBB:1206 8C 47 02 mov [bx+2],es 3BBB:1209 8C C2 mov dx,es 3BBB:120B 07 pop es 3BBB:120C E8 0003 call sub_37 ; (1212) 3BBB:120F E9 FFAB ;* jmp loc_193 ; (11BD) sub_36 endp 3BBB:120F db 0E9h,0ABh,0FFh ; Fixup - byte match ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:0FD2, 0FF6, 120C ;========================================================================== 3BBB:1212 sub_37 proc near 3BBB:1212 85 D2 test dx,dx 3BBB:1214 74 14 jz loc_ret_196 ; Jump if zero 3BBB:1216 06 push es 3BBB:1217 8E C2 mov es,dx 3BBB:1219 ,BB 0052 mov bx,offset data_195 ; (3BBB:0052=0) 3BBB:121C 9C pushf ; Push flags 3BBB:121D FA cli ; Disable interrupts 3BBB:121E 26: C6 06 0004 00 mov byte ptr es:data_4e,0 ; (0000:0004=29h) 3BBB:1224 E8 01C1 call sub_40 ; (13E8) 3BBB:1227 9D popf ; Pop flags 3BBB:1228 07 pop es 3BBB:1229 F9 stc ; Set carry flag 3BBB:122A loc_ret_196: ; xref 3BBB:1214 3BBB:122A C3 retn sub_37 endp ;========================================================================== ; SUBROUTINE ;========================================================================== 3BBB:122B sub_38 proc near 3BBB:122B loc_197: ; xref 3BBB:114E, 11EE 3BBB:122B BB 12A4 mov bx,12A4h 3BBB:122E EB 03 jmp short loc_199 ; (1233) 3BBB:1230 loc_198: ; xref 3BBB:11C6 3BBB:1230 BB 12A6 mov bx,12A6h 3BBB:1233 loc_199: ; xref 3BBB:122E 3BBB:1233 8C 06 055B mov word ptr ds:[55Bh],es ; (3BBB:055B=0E807h) 3BBB:1237 89 1E 055D mov word ptr ds:[55Dh],bx ; (3BBB:055D=0FEB1h) 3BBB:123B 9C pushf ; Push flags 3BBB:123C 0E push cs 3BBB:123D B8 11C4 mov ax,11C4h 3BBB:1240 50 push ax 3BBB:1241 1E push ds 3BBB:1242 EB 1B jmp short loc_201 ; (125F) ;* No entry point to code 3BBB:1244 33 DB xor bx,bx ; Zero register 3BBB:1246 F9 stc ; Set carry flag 3BBB:1247 C3 retn ;* No entry point to code 3BBB:1248 FA cli ; Disable interrupts 3BBB:1249 83 3E 055B 00 cmp word ptr ds:[55Bh],0 ; (3BBB:055B=0E807h) 3BBB:124E 74 02 je loc_200 ; Jump if equal 3BBB:1250 1F pop ds 3BBB:1251 CF iret ; Interrupt return 3BBB:1252 loc_200: ; xref 3BBB:124E 3BBB:1252 C7 06 055B FFFF mov word ptr ds:[55Bh],0FFFFh ; (3BBB:055B=0E807h) 3BBB:1258 FB sti ; Enable interrupts 3BBB:1259 C7 06 055D 12A6 mov word ptr ds:[55Dh],12A6h ; (3BBB:055D=0FEB1h) 3BBB:125F loc_201: ; xref 3BBB:1242, 13CC 3BBB:125F ,FB sti ; Enable interrupts 3BBB:1260 8C 06 055F mov ds:data_66e,es ; (000A:055F=0EB00h) 3BBB:1264 8E 06 004E mov es,ds:data_53e ; (000A:004E=157h) 3BBB:1268 26: A3 001E mov es:data_102e,ax ; (0157:001E=0B760h) 3BBB:126C A1 055F mov ax,ds:data_66e ; (000A:055F=0EB00h) 3BBB:126F 26: A3 002C mov es:data_109e,ax ; (0157:002C=157h) 3BBB:1273 26: 8C 16 001C mov es:data_101e,ss ; (0157:001C=1) 3BBB:1278 26: 89 26 001A mov es:data_100e,sp ; (0157:001A=3) 3BBB:127D 8C D8 mov ax,ds 3BBB:127F FA cli ; Disable interrupts 3BBB:1280 8E D0 mov ss,ax 3BBB:1282 BC 05A1 mov sp,5A1h 3BBB:1285 FB sti ; Enable interrupts 3BBB:1286 E8 01A3 call sub_43 ; (142C) 3BBB:1289 FC cld ; Clear direction 3BBB:128A E8 018F call sub_42 ; (141C) 3BBB:128D 73 09 jnc loc_202 ; Jump if carry=0 3BBB:128F C7 06 055B 0000 mov word ptr ds:data_64e,0 ; (000A:055B=0) 3BBB:1295 E9 FEB9 jmp loc_188 ; (1151) 3BBB:1298 loc_202: ; xref 3BBB:128D 3BBB:1298 81 3E 055D 12A6 cmp word ptr ds:data_65e,12A6h ; (000A:055D=0) 3BBB:129E 75 33 jne loc_206 ; Jump if not equal 3BBB:12A0 33 C0 xor ax,ax ; Zero register 3BBB:12A2 39 06 0052 cmp ds:data_54e,ax ; (000A:0052=157h) 3BBB:12A6 75 2B jne loc_206 ; Jump if not equal 3BBB:12A8 26: 39 06 0000 cmp es:data_91e,ax ; (0157:0000=0) 3BBB:12AD 74 1B je loc_204 ; Jump if equal 3BBB:12AF 26: 80 3E 0018 00 cmp byte ptr es:data_99e,0 ; (0157:0018=0) 3BBB:12B5 74 08 je loc_203 ; Jump if equal 3BBB:12B7 26: 80 3E 0018 FF cmp byte ptr es:data_99e,0FFh ; (0157:0018=0) 3BBB:12BD 75 14 jne loc_206 ; Jump if not equal 3BBB:12BF loc_203: ; xref 3BBB:12B5 3BBB:12BF 80 3E 0559 00 cmp byte ptr ds:data_62e,0 ; (000A:0559=0) 3BBB:12C4 74 07 je loc_205 ; Jump if equal 3BBB:12C6 FE 0E 0559 dec byte ptr ds:data_62e ; (000A:0559=0) 3BBB:12CA loc_204: ; xref 3BBB:12AD 3BBB:12CA E9 00DC jmp loc_210 ; (13A9) 3BBB:12CD loc_205: ; xref 3BBB:12C4 3BBB:12CD A0 02BB mov al,ds:data_59e ; (000A:02BB=0) 3BBB:12D0 A2 0559 mov ds:data_62e,al ; (000A:0559=0) 3BBB:12D3 loc_206: ; xref 3BBB:129E, 12A6, 12BD 3BBB:12D3 26: 89 1E 0020 mov es:data_103e,bx ; (0157:0020=0FFFFh) 3BBB:12D8 26: 89 0E 0022 mov es:data_104e,cx ; (0157:0022=0) 3BBB:12DD 26: 89 16 0024 mov es:data_105e,dx ; (0157:0024=2B6h) 3BBB:12E2 26: 89 2E 002A mov es:data_108e,bp ; (0157:002A=0CCh) 3BBB:12E7 26: 89 3E 0026 mov es:data_106e,di ; (0157:0026=1330h) 3BBB:12EC 26: 89 36 0028 mov es:data_107e,si ; (0157:0028=157h) 3BBB:12F1 33 C0 xor ax,ax ; Zero register 3BBB:12F3 8E D8 mov ds,ax 3BBB:12F5 8B F0 mov si,ax 3BBB:12F7 ,BF 0056 mov di,data_114e ; (0157:0056=20h) 3BBB:12FA BA 0004 mov dx,4 3BBB:12FD 8B CA mov cx,dx 3BBB:12FF F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:1301 8B CA mov cx,dx 3BBB:1303 03 F2 add si,dx 3BBB:1305 F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:1307 ,BE 0380 mov si,data_31e ; (0000:0380=40h) 3BBB:130A 8B CA mov cx,dx 3BBB:130C F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:130E 33 C0 xor ax,ax ; Zero register 3BBB:1310 26: FF 1E 0070 call dword ptr es:data_115e ; (0157:0070=0FFh) 3BBB:1315 2E: 8E 1E 0006 mov ds,cs:data_160 ; (3BBB:0006=0Ah) 3BBB:131A ,BB 004E mov bx,data_53e ; (000A:004E=57h) 3BBB:131D E8 00DE call sub_41 ; (13FE) 3BBB:1320 FF 26 055D jmp word ptr ds:data_65e ; (000A:055D=0) 3BBB:1324 EB 03 jmp short loc_207 ; (1329) ;* No entry point to code 3BBB:1326 E8 00BF call sub_40 ; (13E8) 3BBB:1329 loc_207: ; xref 3BBB:1324, 1339, 1343 3BBB:1329 ,BB 0052 mov bx,data_54e ; (000A:0052=57h) 3BBB:132C FA cli ; Disable interrupts 3BBB:132D E8 00CE call sub_41 ; (13FE) 3BBB:1330 FB sti ; Enable interrupts 3BBB:1331 73 08 jnc loc_208 ; Jump if carry=0 3BBB:1333 ,BB 004E mov bx,data_53e ; (000A:004E=57h) 3BBB:1336 E8 009E call sub_39 ; (13D7) 3BBB:1339 EB EE jmp short loc_207 ; (1329) 3BBB:133B loc_208: ; xref 3BBB:1331 3BBB:133B E8 00EE call sub_43 ; (142C) 3BBB:133E A1 004E mov ax,ds:data_53e ; (000A:004E=157h) 3BBB:1341 85 C0 test ax,ax 3BBB:1343 74 E4 jz loc_207 ; Jump if zero 3BBB:1345 8E C0 mov es,ax 3BBB:1347 E8 00D2 call sub_42 ; (141C) 3BBB:134A 73 0A jnc loc_209 ; Jump if carry=0 3BBB:134C FA cli ; Disable interrupts 3BBB:134D C7 06 055B 0000 mov word ptr ds:data_64e,0 ; (000A:055B=0) 3BBB:1353 E9 FDFB jmp loc_188 ; (1151) 3BBB:1356 loc_209: ; xref 3BBB:134A 3BBB:1356 B8 0001 mov ax,1 3BBB:1359 26: FF 1E 0070 call dword ptr es:data_115e ; (0157:0070=0FFh) 3BBB:135E 2E: 8E 1E 0006 mov ds,cs:data_160 ; (3BBB:0006=0Ah) 3BBB:1363 8E 1E 004E mov ds,ds:data_53e ; (000A:004E=157h) 3BBB:1367 ,BE 0056 mov si,data_114e ; (0157:0056=20h) 3BBB:136A 33 C0 xor ax,ax ; Zero register 3BBB:136C 8E C0 mov es,ax 3BBB:136E 8B F8 mov di,ax 3BBB:1370 BA 0004 mov dx,4 3BBB:1373 8B CA mov cx,dx 3BBB:1375 F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:1377 8B CA mov cx,dx 3BBB:1379 03 FA add di,dx 3BBB:137B F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:137D ,BF 0380 mov di,data_31e ; (0000:0380=40h) 3BBB:1380 8B CA mov cx,dx 3BBB:1382 F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:1384 1E push ds 3BBB:1385 07 pop es 3BBB:1386 2E: 8E 1E 0006 mov ds,cs:data_160 ; (3BBB:0006=0Ah) 3BBB:138B 26: 8B 1E 0020 mov bx,es:data_103e ; (0157:0020=0FFFFh) 3BBB:1390 26: 8B 0E 0022 mov cx,es:data_104e ; (0157:0022=0) 3BBB:1395 26: 8B 16 0024 mov dx,es:data_105e ; (0157:0024=2B6h) 3BBB:139A 26: 8B 2E 002A mov bp,es:data_108e ; (0157:002A=0CCh) 3BBB:139F 26: 8B 3E 0026 mov di,es:data_106e ; (0157:0026=1330h) 3BBB:13A4 26: 8B 36 0028 mov si,es:data_107e ; (0157:0028=157h) 3BBB:13A9 loc_210: ; xref 3BBB:12CA 3BBB:13A9 FA cli ; Disable interrupts 3BBB:13AA 26: 8E 16 001C mov ss,es:data_101e ; (0157:001C=1) 3BBB:13AF 26: 8B 26 001A mov sp,es:data_100e ; (0157:001A=3) 3BBB:13B4 FB sti ; Enable interrupts 3BBB:13B5 26: A1 001E mov ax,es:data_102e ; (0157:001E=0BB88h) 3BBB:13B9 26: 8E 06 002C mov es,es:data_109e ; (0157:002C=157h) 3BBB:13BE FA cli ; Disable interrupts 3BBB:13BF 83 3E 0052 00 cmp word ptr ds:data_54e,0 ; (000A:0052=157h) 3BBB:13C4 74 09 je loc_211 ; Jump if equal 3BBB:13C6 C7 06 055D 12A6 mov word ptr ds:data_65e,12A6h ; (000A:055D=0) 3BBB:13CC E9 FE90 jmp loc_201 ; (125F) 3BBB:13CF loc_211: ; xref 3BBB:13C4 3BBB:13CF C7 06 055B 0000 mov word ptr ds:data_64e,0 ; (000A:055B=0) 3BBB:13D5 1F pop ds 3BBB:13D6 CF iret ; Interrupt return sub_38 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:1336 ;========================================================================== 3BBB:13D7 sub_39 proc near 3BBB:13D7 8B 07 mov ax,[bx] 3BBB:13D9 8C 07 mov [bx],es 3BBB:13DB 85 C0 test ax,ax 3BBB:13DD 74 05 jz loc_212 ; Jump if zero 3BBB:13DF 26: A3 0000 mov es:data_137e,ax ; (1100:0000=0) 3BBB:13E3 C3 retn 3BBB:13E4 loc_212: ; xref 3BBB:13DD 3BBB:13E4 8C 47 02 mov [bx+2],es 3BBB:13E7 C3 retn sub_39 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:11EB, 1224, 1326 ;========================================================================== 3BBB:13E8 sub_40 proc near 3BBB:13E8 8B 47 02 mov ax,[bx+2] 3BBB:13EB 8C 47 02 mov [bx+2],es 3BBB:13EE 85 C0 test ax,ax 3BBB:13F0 74 09 jz loc_213 ; Jump if zero 3BBB:13F2 1E push ds 3BBB:13F3 8E D8 mov ds,ax 3BBB:13F5 8C 06 0000 mov ds:data_38e,es ; (000A:0000=630h) 3BBB:13F9 1F pop ds 3BBB:13FA C3 retn 3BBB:13FB loc_213: ; xref 3BBB:13F0 3BBB:13FB 8C 07 mov [bx],es 3BBB:13FD C3 retn sub_40 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:1202, 131D, 132D ;========================================================================== 3BBB:13FE sub_41 proc near 3BBB:13FE 8B 07 mov ax,[bx] 3BBB:1400 85 C0 test ax,ax 3BBB:1402 8E C0 mov es,ax 3BBB:1404 74 15 jz loc_ret_215 ; Jump if zero 3BBB:1406 26: A1 0000 mov ax,es:data_1e ; (0000:0000=162h) 3BBB:140A 26: C7 06 0000 0000 mov word ptr es:data_1e,0 ; (0000:0000=162h) 3BBB:1411 89 07 mov [bx],ax 3BBB:1413 85 C0 test ax,ax 3BBB:1415 75 03 jnz loc_214 ; Jump if not zero 3BBB:1417 89 47 02 mov [bx+2],ax 3BBB:141A loc_214: ; xref 3BBB:1415 3BBB:141A F9 stc ; Set carry flag 3BBB:141B loc_ret_215: ; xref 3BBB:1404 3BBB:141B C3 retn sub_41 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:0FC4, 128A, 1347 ;========================================================================== 3BBB:141C sub_42 proc near 3BBB:141C 26: F7 06 0006 0001 test word ptr es:data_5e,1 ; (0000:0006=70h) 3BBB:1423 74 06 jz loc_ret_216 ; Jump if zero 3BBB:1425 26: 80 3E 0013 01 cmp byte ptr es:data_7e,1 ; (0000:0013=0) 3BBB:142B loc_ret_216: ; xref 3BBB:1423 3BBB:142B C3 retn sub_42 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:1286, 133B ;========================================================================== 3BBB:142C sub_43 proc near 3BBB:142C FE 0E 055A dec byte ptr ds:data_63e ; (000A:055A=0) 3BBB:1430 75 41 jnz loc_ret_219 ; Jump if not zero 3BBB:1432 53 push bx 3BBB:1433 51 push cx 3BBB:1434 52 push dx 3BBB:1435 8E 06 004A mov es,ds:data_52e ; (000A:004A=157h) 3BBB:1439 loc_217: ; xref 3BBB:1465 3BBB:1439 26: F7 06 0006 0001 test word ptr es:data_95e,1 ; (0157:0006=1000h) 3BBB:1440 74 1B jz loc_218 ; Jump if zero 3BBB:1442 26: 80 3E 0013 00 cmp byte ptr es:data_97e,0 ; (0157:0013=0) 3BBB:1448 75 13 jne loc_218 ; Jump if not equal 3BBB:144A FA cli ; Disable interrupts 3BBB:144B 26: 80 3E 0004 03 cmp byte ptr es:data_93e,3 ; (0157:0004=1) 3BBB:1451 75 0A jne loc_218 ; Jump if not equal 3BBB:1453 26: 8B 16 0050 mov dx,es:data_112e ; (0157:0050=10F4h) 3BBB:1458 FF 1E 0038 call dword ptr ds:data_48e ; (000A:0038=10B4h) 3BBB:145C FB sti ; Enable interrupts 3BBB:145D loc_218: ; xref 3BBB:1440, 1448, 1451 3BBB:145D 26: A1 0002 mov ax,es:data_92e ; (0157:0002=34h) 3BBB:1461 85 C0 test ax,ax 3BBB:1463 8E C0 mov es,ax 3BBB:1465 75 D2 jnz loc_217 ; Jump if not zero 3BBB:1467 5A pop dx 3BBB:1468 59 pop cx 3BBB:1469 5B pop bx 3BBB:146A 8E 06 004E mov es,ds:data_53e ; (000A:004E=157h) 3BBB:146E C6 06 055A 1E mov byte ptr ds:data_63e,1Eh ; (000A:055A=0) 3BBB:1473 loc_ret_219: ; xref 3BBB:1430 3BBB:1473 C3 retn sub_43 endp ;* No entry point to code 3BBB:1474 C3 retn ;* No entry point to code 3BBB:1475 52 push dx 3BBB:1476 56 push si 3BBB:1477 BB 008A mov bx,8Ah 3BBB:147A B9 0204 mov cx,204h 3BBB:147D E8 EE23 call sub_4 ; (02A3) 3BBB:1480 26: FE 06 0013 inc es:data_166 ; (3BBB:0013=0) 3BBB:1485 5E pop si 3BBB:1486 5A pop dx 3BBB:1487 2E: FF 94 1425 call word ptr cs:[1425h][si] ;*(3BBB:1425=8026h) 3BBB:148C 72 03 jc loc_220 ; Jump if carry Set 3BBB:148E BB FFFF mov bx,0FFFFh 3BBB:1491 loc_220: ; xref 3BBB:148C 3BBB:1491 53 push bx 3BBB:1492 51 push cx 3BBB:1493 B9 0206 mov cx,206h 3BBB:1496 E8 EE0A call sub_4 ; (02A3) 3BBB:1499 BB 008A mov bx,8Ah 3BBB:149C B9 0205 mov cx,205h 3BBB:149F E8 EE01 call sub_4 ; (02A3) 3BBB:14A2 59 pop cx 3BBB:14A3 5B pop bx 3BBB:14A4 C3 retn ;* No entry point to code 3BBB:14A5 86 14 xchg [si],dl 3BBB:14A7 3B 14 cmp dx,[si] 3BBB:14A9 5A pop dx 3BBB:14AA 14 35 adc al,35h ; '5' 3BBB:14AC 14 66 adc al,66h ; 'f' 3BBB:14AE 14 47 adc al,47h ; 'G' 3BBB:14B0 14 98 adc al,98h 3BBB:14B2 14 B3 adc al,0B3h 3BBB:14B4 14 E8 adc al,0E8h 3BBB:14B6 C1 00 E9 0A 01 E8 db 0C1h, 00h,0E9h, 0Ah, 01h,0E8h 3BBB:14BC BB 00 C7 06 A2 05 db 0BBh, 00h,0C7h, 06h,0A2h, 05h 3BBB:14C2 01 00 E9 FE 00 E8 db 01h, 00h,0E9h,0FEh, 00h,0E8h 3BBB:14C8 AF 00 80 3E AB 05 db 0AFh, 00h, 80h, 3Eh,0ABh, 05h 3BBB:14CE 02 73 06 BA 08 00 db 02h, 73h, 06h,0BAh, 08h, 00h 3BBB:14D4 E8 13 02 E9 F5 00 db 0E8h, 13h, 02h,0E9h,0F5h, 00h 3BBB:14DA E8 9C 00 C7 06 A6 db 0E8h, 9Ch, 00h,0C7h, 06h,0A6h 3BBB:14E0 05 00 00 E9 DF 00 db 05h, 00h, 00h,0E9h,0DFh, 00h 3BBB:14E6 E8 90 00 A0 AB 05 db 0E8h, 90h, 00h,0A0h,0ABh, 05h 3BBB:14EC 3C FF 75 08 BA 08 db 3Ch,0FFh, 75h, 08h,0BAh, 08h 3BBB:14F2 00 E8 F4 01 EB 0B db 00h,0E8h,0F4h, 01h,0EBh, 0Bh 3BBB:14F8 loc_221: 3BBB:14F8 3C 02 cmp al,2 3BBB:14FA 73 07 jae loc_222 ; Jump if above or = 3BBB:14FC E8 0216 call sub_48 ; (1715) 3BBB:14FF EB 02 jmp short loc_222 ; (1503) 3BBB:1501 EB 00 jmp short loc_222 ; (1503) 3BBB:1503 loc_222: ; xref 3BBB:14FA, 14FF, 1501 3BBB:1503 E9 00C9 jmp loc_234 ; (15CF) 3BBB:1506 E8 70 00 C7 06 A6 db 0E8h, 70h, 00h,0C7h, 06h,0A6h 3BBB:150C 05 00 00 C7 06 A2 db 05h, 00h, 00h,0C7h, 06h,0A2h 3BBB:1512 05 01 00 E9 AD 00 db 05h, 01h, 00h,0E9h,0ADh, 00h 3BBB:1518 8B 1E 44 00 85 DB db 8Bh, 1Eh, 44h, 00h, 85h,0DBh 3BBB:151E 75 01 C3 db 75h, 01h,0C3h 3BBB:1521 loc_223: 3BBB:1521 53 push bx 3BBB:1522 BF 0F50 mov di,0F50h 3BBB:1525 loc_224: ; xref 3BBB:152E 3BBB:1525 ,E8 02D9 call sub_55 ; (1801) 3BBB:1528 73 06 jnc loc_225 ; Jump if carry=0 3BBB:152A 80 65 05 FE and byte ptr [di+5],0FEh 3BBB:152E EB F5 jmp short loc_224 ; (1525) 3BBB:1530 loc_225: ; xref 3BBB:1528 3BBB:1530 5B pop bx 3BBB:1531 F9 stc ; Set carry flag 3BBB:1532 C3 retn ;* No entry point to code 3BBB:1533 52 push dx 3BBB:1534 26: F7 06 0006 0004 test es:data_160,4 ; (3BBB:0006=0Ah) 3BBB:153B 74 14 jz loc_227 ; Jump if zero 3BBB:153D BF 0F50 mov di,0F50h 3BBB:1540 loc_226: ; xref 3BBB:1549, 154F 3BBB:1540 ,E8 02BE call sub_55 ; (1801) 3BBB:1543 73 0C jnc loc_227 ; Jump if carry=0 3BBB:1545 F6 45 05 04 test byte ptr [di+5],4 3BBB:1549 74 F5 jz loc_226 ; Jump if zero 3BBB:154B 80 4D 05 01 or byte ptr [di+5],1 3BBB:154F EB EF jmp short loc_226 ; (1540) 3BBB:1551 loc_227: ; xref 3BBB:153B, 1543 3BBB:1551 5A pop dx 3BBB:1552 80 FA 01 cmp dl,1 3BBB:1555 74 07 je loc_228 ; Jump if equal 3BBB:1557 33 D2 xor dx,dx ; Zero register 3BBB:1559 E8 018E call sub_47 ; (16EA) 3BBB:155C EB 17 jmp short loc_230 ; (1575) 3BBB:155E loc_228: ; xref 3BBB:1555 3BBB:155E BF 0F50 mov di,0F50h 3BBB:1561 loc_229: ; xref 3BBB:156D, 1573 3BBB:1561 ,E8 029D call sub_55 ; (1801) 3BBB:1564 73 0F jnc loc_230 ; Jump if carry=0 3BBB:1566 26: A0 0005 mov al,es:data_159 ; (3BBB:0005=11h) 3BBB:156A 38 45 04 cmp [di+4],al 3BBB:156D 75 F2 jne loc_229 ; Jump if not equal 3BBB:156F C6 45 04 FD mov byte ptr [di+4],0FDh 3BBB:1573 EB EC jmp short loc_229 ; (1561) 3BBB:1575 loc_230: ; xref 3BBB:155C, 1564 3BBB:1575 33 DB xor bx,bx ; Zero register 3BBB:1577 F9 stc ; Set carry flag 3BBB:1578 C3 retn ;========================================================================== ; SUBROUTINE ;========================================================================== 3BBB:1579 sub_44 proc near 3BBB:1579 89 16 05A9 mov word ptr ds:[5A9h],dx ; (3BBB:05A9=7D06h) 3BBB:157D 8B DA mov bx,dx 3BBB:157F 06 push es 3BBB:1580 26: 8E 06 002E mov es,es:data_177 ; (3BBB:002E=3BBBh) 3BBB:1585 26: 8B 07 mov ax,es:[bx] 3BBB:1588 A3 05A6 mov word ptr ds:[5A6h],ax ; (3BBB:05A6=621h) 3BBB:158B 26: 8B 47 02 mov ax,es:[bx+2] 3BBB:158F A3 05A2 mov word ptr ds:[5A2h],ax ; (3BBB:05A2=0FB83h) 3BBB:1592 A3 05A4 mov word ptr ds:[5A4h],ax ; (3BBB:05A4=74FFh) 3BBB:1595 33 C0 xor ax,ax ; Zero register 3BBB:1597 26: 8A 4F 04 mov cl,es:[bx+4] 3BBB:159B 88 0E 05AB mov byte ptr ds:[5ABh],cl ; (3BBB:05AB=3) 3BBB:159F 80 F9 02 cmp cl,2 3BBB:15A2 75 03 jne loc_231 ; Jump if not equal 3BBB:15A4 B8 0002 mov ax,2 3BBB:15A7 loc_231: ; xref 3BBB:15A2 3BBB:15A7 07 pop es 3BBB:15A8 26: 8B 16 0006 mov dx,es:data_160 ; (3BBB:0006=0Ah) 3BBB:15AD 81 E2 000C ;* and dx,0Ch 3BBB:15AD db 81h,0E2h, 0Ch, 00h ; Fixup - byte match 3BBB:15B1 83 3E 0044 00 cmp data_187,0 ; (3BBB:0044=0) 3BBB:15B6 74 04 je loc_232 ; Jump if equal 3BBB:15B8 81 E2 FFFB ;* and dx,0FFFBh 3BBB:15B8 db 81h,0E2h,0FBh,0FFh ; Fixup - byte match 3BBB:15BC loc_232: ; xref 3BBB:15B6 3BBB:15BC 0B C2 or ax,dx 3BBB:15BE A2 05A8 mov byte ptr ds:[5A8h],al ; (3BBB:05A8=8Eh) 3BBB:15C1 B9 002B mov cx,2Bh 3BBB:15C4 C3 retn sub_44 endp 3BBB:15C5 loc_233: 3BBB:15C5 80 3E 05AB 02 cmp byte ptr ds:[5ABh],2 ; (3BBB:05AB=3) 3BBB:15CA 77 03 ja loc_234 ; Jump if above 3BBB:15CC E8 002D call sub_45 ; (15FC) 3BBB:15CF loc_234: ; xref 3BBB:1503, 15CA 3BBB:15CF 06 push es 3BBB:15D0 9C pushf ; Push flags 3BBB:15D1 26: 8E 06 002E mov es,es:data_177 ; (3BBB:002E=3BBBh) 3BBB:15D6 BF 0F50 mov di,0F50h 3BBB:15D9 32 D2 xor dl,dl ; Zero register 3BBB:15DB E8 0216 call sub_54 ; (17F4) 3BBB:15DE 73 02 jnc loc_235 ; Jump if carry=0 3BBB:15E0 FE C2 inc dl 3BBB:15E2 loc_235: ; xref 3BBB:15DE 3BBB:15E2 8B 1E 05A9 mov bx,word ptr ds:[5A9h] ; (3BBB:05A9=7D06h) 3BBB:15E6 26: 88 57 04 mov es:[bx+4],dl 3BBB:15EA A1 05A6 mov ax,word ptr ds:[5A6h] ; (3BBB:05A6=621h) 3BBB:15ED 26: 89 07 mov es:[bx],ax 3BBB:15F0 A1 05A4 mov ax,word ptr ds:[5A4h] ; (3BBB:05A4=74FFh) 3BBB:15F3 26: 89 47 02 mov es:[bx+2],ax 3BBB:15F7 33 DB xor bx,bx ; Zero register 3BBB:15F9 9D popf ; Pop flags 3BBB:15FA 07 pop es 3BBB:15FB C3 retn ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:15CC ;========================================================================== 3BBB:15FC sub_45 proc near 3BBB:15FC B9 002B mov cx,2Bh 3BBB:15FF A1 05A2 mov ax,word ptr ds:[5A2h] ; (3BBB:05A2=0FB83h) 3BBB:1602 8B 1E 05A4 mov bx,word ptr ds:[5A4h] ; (3BBB:05A4=74FFh) 3BBB:1606 50 push ax 3BBB:1607 0B C3 or ax,bx 3BBB:1609 58 pop ax 3BBB:160A 74 5E jz loc_241 ; Jump if zero 3BBB:160C 3B C3 cmp ax,bx 3BBB:160E 77 5A ja loc_241 ; Jump if above 3BBB:1610 83 3E 05A6 00 cmp word ptr ds:[5A6h],0 ; (3BBB:05A6=621h) 3BBB:1615 74 55 je loc_242 ; Jump if equal 3BBB:1617 loc_236: ; xref 3BBB:1632 3BBB:1617 8B 16 05A6 mov dx,word ptr ds:[5A6h] ; (3BBB:05A6=621h) 3BBB:161B E8 01B7 call sub_53 ; (17D5) 3BBB:161E 73 4A jnc loc_241 ; Jump if carry=0 3BBB:1620 8A 45 04 mov al,[di+4] 3BBB:1623 3C FE cmp al,0FEh 3BBB:1625 74 24 je loc_238 ; Jump if equal 3BBB:1627 F6 45 05 01 test byte ptr [di+5],1 3BBB:162B 74 07 jz loc_237 ; Jump if zero 3BBB:162D 50 push ax 3BBB:162E E8 0097 call sub_46 ; (16C8) 3BBB:1631 58 pop ax 3BBB:1632 72 E3 jc loc_236 ; Jump if carry Set 3BBB:1634 loc_237: ; xref 3BBB:162B 3BBB:1634 26: 3A 06 0005 cmp al,es:data_159 ; (3BBB:0005=11h) 3BBB:1639 75 2F jne loc_241 ; Jump if not equal 3BBB:163B 8B 05 mov ax,[di] 3BBB:163D 3B 06 05A6 cmp ax,word ptr ds:[5A6h] ; (3BBB:05A6=621h) 3BBB:1641 75 27 jne loc_241 ; Jump if not equal 3BBB:1643 A0 05A8 mov al,byte ptr ds:[5A8h] ; (3BBB:05A8=8Eh) 3BBB:1646 08 45 05 or [di+5],al 3BBB:1649 EB 75 jmp short loc_249 ; (16C0) 3BBB:164B loc_238: ; xref 3BBB:1625 3BBB:164B 8B 05 mov ax,[di] 3BBB:164D 03 45 02 add ax,[di+2] 3BBB:1650 2B 06 05A6 sub ax,word ptr ds:[5A6h] ; (3BBB:05A6=621h) 3BBB:1654 3B 06 05A2 cmp ax,word ptr ds:[5A2h] ; (3BBB:05A2=0FB83h) 3BBB:1658 72 10 jb loc_241 ; Jump if below 3BBB:165A E8 012C call sub_50 ; (1789) 3BBB:165D 73 06 jnc loc_239 ; Jump if carry=0 3BBB:165F C6 44 04 FE mov byte ptr [si+4],0FEh 3BBB:1663 8B FE mov di,si 3BBB:1665 loc_239: ; xref 3BBB:165D 3BBB:1665 EB 35 jmp short loc_246 ; (169C) 3BBB:1667 loc_240: ; xref 3BBB:1692 3BBB:1667 B9 0003 mov cx,3 3BBB:166A loc_241: ; xref 3BBB:160A, 160E, 161E, 1639 ; 1641, 1658 3BBB:166A F8 clc ; Clear carry flag 3BBB:166B C3 retn 3BBB:166C loc_242: ; xref 3BBB:1615, 168C 3BBB:166C 33 D2 xor dx,dx ; Zero register 3BBB:166E BF 0F50 mov di,0F50h 3BBB:1671 loc_243: ; xref 3BBB:1685 3BBB:1671 E8 0180 call sub_54 ; (17F4) 3BBB:1674 73 13 jnc loc_245 ; Jump if carry=0 3BBB:1676 8B 45 02 mov ax,[di+2] 3BBB:1679 3B D0 cmp dx,ax 3BBB:167B 73 04 jae loc_244 ; Jump if above or = 3BBB:167D 8B D0 mov dx,ax 3BBB:167F 8B F7 mov si,di 3BBB:1681 loc_244: ; xref 3BBB:167B 3BBB:1681 3B 06 05A4 cmp ax,word ptr ds:[5A4h] ; (3BBB:05A4=74FFh) 3BBB:1685 72 EA jb loc_243 ; Jump if below 3BBB:1687 EB 13 jmp short loc_246 ; (169C) 3BBB:1689 loc_245: ; xref 3BBB:1674 3BBB:1689 E8 003C call sub_46 ; (16C8) 3BBB:168C 72 DE jc loc_242 ; Jump if carry Set 3BBB:168E 3B 16 05A2 cmp dx,word ptr ds:[5A2h] ; (3BBB:05A2=0FB83h) 3BBB:1692 72 D3 jb loc_240 ; Jump if below 3BBB:1694 8B 44 02 mov ax,[si+2] 3BBB:1697 A3 05A4 mov word ptr ds:[5A4h],ax ; (3BBB:05A4=74FFh) 3BBB:169A 8B FE mov di,si 3BBB:169C loc_246: ; xref 3BBB:1665, 1687 3BBB:169C 8B 05 mov ax,[di] 3BBB:169E A3 05A6 mov word ptr ds:[5A6h],ax ; (3BBB:05A6=621h) 3BBB:16A1 E8 00F3 call sub_51 ; (1797) 3BBB:16A4 73 04 jnc loc_247 ; Jump if carry=0 3BBB:16A6 C6 44 04 FE mov byte ptr [si+4],0FEh 3BBB:16AA loc_247: ; xref 3BBB:16A4 3BBB:16AA A0 05A8 mov al,byte ptr ds:[5A8h] ; (3BBB:05A8=8Eh) 3BBB:16AD 88 45 05 mov [di+5],al 3BBB:16B0 26: A0 0005 mov al,es:data_159 ; (3BBB:0005=11h) 3BBB:16B4 F6 06 05A8 04 test byte ptr ds:[5A8h],4 ; (3BBB:05A8=8Eh) 3BBB:16B9 74 02 jz loc_248 ; Jump if zero 3BBB:16BB B0 FC mov al,0FCh 3BBB:16BD loc_248: ; xref 3BBB:16B9 3BBB:16BD 88 45 04 mov [di+4],al 3BBB:16C0 loc_249: ; xref 3BBB:1649 3BBB:16C0 8B 45 02 mov ax,[di+2] 3BBB:16C3 A3 05A4 mov word ptr ds:[5A4h],ax ; (3BBB:05A4=74FFh) 3BBB:16C6 F9 stc ; Set carry flag 3BBB:16C7 C3 retn sub_45 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:162E, 1689 ;========================================================================== 3BBB:16C8 sub_46 proc near 3BBB:16C8 BF 0F50 mov di,0F50h 3BBB:16CB F8 clc ; Clear carry flag 3BBB:16CC 9C pushf ; Push flags 3BBB:16CD loc_250: ; xref 3BBB:16D6, 16E6 3BBB:16CD ,E8 0131 call sub_55 ; (1801) 3BBB:16D0 73 16 jnc loc_251 ; Jump if carry=0 3BBB:16D2 F6 45 05 01 test byte ptr [di+5],1 3BBB:16D6 74 F5 jz loc_250 ; Jump if zero 3BBB:16D8 9D popf ; Pop flags 3BBB:16D9 F9 stc ; Set carry flag 3BBB:16DA 9C pushf ; Push flags 3BBB:16DB 57 push di 3BBB:16DC E8 0060 call sub_49 ; (173F) 3BBB:16DF 5F pop di 3BBB:16E0 C7 06 0044 0000 mov data_187,0 ; (3BBB:0044=0) 3BBB:16E6 EB E5 jmp short loc_250 ; (16CD) 3BBB:16E8 loc_251: ; xref 3BBB:16D0 3BBB:16E8 9D popf ; Pop flags 3BBB:16E9 C3 retn sub_46 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:1559 ;========================================================================== 3BBB:16EA sub_47 proc near 3BBB:16EA BF 0F50 mov di,0F50h 3BBB:16ED 52 push dx 3BBB:16EE loc_252: ; xref 3BBB:16FA, 1703, 170B, 1710 3BBB:16EE ,E8 0110 call sub_55 ; (1801) 3BBB:16F1 73 1F jnc loc_253 ; Jump if carry=0 3BBB:16F3 26: A0 0005 mov al,es:data_159 ; (3BBB:0005=11h) 3BBB:16F7 38 45 04 cmp [di+4],al 3BBB:16FA 75 F2 jne loc_252 ; Jump if not equal 3BBB:16FC 5A pop dx 3BBB:16FD 8A 45 05 mov al,[di+5] 3BBB:1700 84 C2 test al,dl 3BBB:1702 52 push dx 3BBB:1703 75 E9 jnz loc_252 ; Jump if not zero 3BBB:1705 A8 02 test al,2 3BBB:1707 C6 45 04 FD mov byte ptr [di+4],0FDh 3BBB:170B 75 E1 jnz loc_252 ; Jump if not zero 3BBB:170D E8 002F call sub_49 ; (173F) 3BBB:1710 EB DC jmp short loc_252 ; (16EE) 3BBB:1712 loc_253: ; xref 3BBB:16F1 3BBB:1712 5A pop dx 3BBB:1713 F9 stc ; Set carry flag 3BBB:1714 C3 retn sub_47 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:14FC ;========================================================================== 3BBB:1715 sub_48 proc near 3BBB:1715 8B 16 05A6 mov dx,word ptr ds:[5A6h] ; (3BBB:05A6=621h) 3BBB:1719 E8 00B9 call sub_53 ; (17D5) 3BBB:171C 73 1F jnc loc_255 ; Jump if carry=0 3BBB:171E 80 7D 04 FD cmp byte ptr [di+4],0FDh 3BBB:1722 74 0E je loc_254 ; Jump if equal 3BBB:1724 26: A0 0005 mov al,es:data_159 ; (3BBB:0005=11h) 3BBB:1728 38 45 04 cmp [di+4],al 3BBB:172B 74 05 je loc_254 ; Jump if equal 3BBB:172D B9 0020 mov cx,20h 3BBB:1730 EB 0B jmp short loc_255 ; (173D) 3BBB:1732 loc_254: ; xref 3BBB:1722, 172B 3BBB:1732 3B 15 cmp dx,[di] 3BBB:1734 74 09 je loc_256 ; Jump if equal 3BBB:1736 E8 0072 call sub_52 ; (17AB) 3BBB:1739 8B FE mov di,si 3BBB:173B 72 02 jc loc_256 ; Jump if carry Set 3BBB:173D loc_255: ; xref 3BBB:171C, 1730 3BBB:173D F8 clc ; Clear carry flag 3BBB:173E C3 retn ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:16DC, 170D 3BBB:173F sub_49: 3BBB:173F loc_256: ; xref 3BBB:1734, 173B 3BBB:173F B8 00FE mov ax,0FEh 3BBB:1742 88 45 04 mov [di+4],al 3BBB:1745 C6 45 05 00 mov byte ptr [di+5],0 3BBB:1749 8B F7 mov si,di 3BBB:174B 8B 14 mov dx,[si] 3BBB:174D 4A dec dx 3BBB:174E 50 push ax 3BBB:174F E8 0083 call sub_53 ; (17D5) 3BBB:1752 58 pop ax 3BBB:1753 73 11 jnc loc_257 ; Jump if carry=0 3BBB:1755 38 45 04 cmp [di+4],al 3BBB:1758 75 0C jne loc_257 ; Jump if not equal 3BBB:175A 8B 4C 02 mov cx,[si+2] 3BBB:175D 01 4D 02 add [di+2],cx 3BBB:1760 C6 44 04 FF mov byte ptr [si+4],0FFh 3BBB:1764 8B F7 mov si,di 3BBB:1766 loc_257: ; xref 3BBB:1753, 1758 3BBB:1766 8B FE mov di,si 3BBB:1768 8B 15 mov dx,[di] 3BBB:176A 03 55 02 add dx,[di+2] 3BBB:176D 50 push ax 3BBB:176E E8 0064 call sub_53 ; (17D5) 3BBB:1771 58 pop ax 3BBB:1772 73 0F jnc loc_258 ; Jump if carry=0 3BBB:1774 38 45 04 cmp [di+4],al 3BBB:1777 75 0A jne loc_258 ; Jump if not equal 3BBB:1779 8B 4D 02 mov cx,[di+2] 3BBB:177C 01 4C 02 add [si+2],cx 3BBB:177F C6 45 04 FF mov byte ptr [di+4],0FFh 3BBB:1783 loc_258: ; xref 3BBB:1772, 1777 3BBB:1783 8B FE mov di,si 3BBB:1785 33 DB xor bx,bx ; Zero register 3BBB:1787 F9 stc ; Set carry flag 3BBB:1788 C3 retn sub_48 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:165A ;========================================================================== 3BBB:1789 sub_50 proc near 3BBB:1789 A1 05A6 mov ax,word ptr ds:[5A6h] ; (3BBB:05A6=621h) 3BBB:178C 8B D0 mov dx,ax 3BBB:178E 2B 05 sub ax,[di] 3BBB:1790 3D 0001 cmp ax,1 3BBB:1793 73 16 jae loc_260 ; Jump if above or = 3BBB:1795 F8 clc ; Clear carry flag 3BBB:1796 C3 retn ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:16A1 3BBB:1797 sub_51: 3BBB:1797 8B 16 05A4 mov dx,word ptr ds:[5A4h] ; (3BBB:05A4=74FFh) 3BBB:179B 8B 45 02 mov ax,[di+2] 3BBB:179E 2B C2 sub ax,dx 3BBB:17A0 3D 0001 cmp ax,1 3BBB:17A3 73 02 jae loc_259 ; Jump if above or = 3BBB:17A5 F8 clc ; Clear carry flag 3BBB:17A6 C3 retn 3BBB:17A7 loc_259: ; xref 3BBB:17A3 3BBB:17A7 03 16 05A6 add dx,word ptr ds:[5A6h] ; (3BBB:05A6=621h) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:1736 3BBB:17AB sub_52: 3BBB:17AB loc_260: ; xref 3BBB:1793 3BBB:17AB B9 0012 mov cx,12h 3BBB:17AE 57 push di 3BBB:17AF BF 0F50 mov di,0F50h 3BBB:17B2 loc_261: ; xref 3BBB:17BB 3BBB:17B2 E8 004C call sub_55 ; (1801) 3BBB:17B5 73 1C jnc loc_262 ; Jump if carry=0 3BBB:17B7 80 7D 04 FF cmp byte ptr [di+4],0FFh 3BBB:17BB 75 F5 jne loc_261 ; Jump if not equal 3BBB:17BD 5E pop si 3BBB:17BE 87 F7 xchg si,di 3BBB:17C0 89 14 mov [si],dx 3BBB:17C2 8B 05 mov ax,[di] 3BBB:17C4 03 45 02 add ax,[di+2] 3BBB:17C7 2B C2 sub ax,dx 3BBB:17C9 89 44 02 mov [si+2],ax 3BBB:17CC 2B 15 sub dx,[di] 3BBB:17CE 89 55 02 mov [di+2],dx 3BBB:17D1 F9 stc ; Set carry flag 3BBB:17D2 C3 retn 3BBB:17D3 loc_262: ; xref 3BBB:17B5 3BBB:17D3 5F pop di 3BBB:17D4 C3 retn sub_50 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:161B, 1719, 174F, 176E ;========================================================================== 3BBB:17D5 sub_53 proc near 3BBB:17D5 BF 0F50 mov di,0F50h 3BBB:17D8 B9 0003 mov cx,3 3BBB:17DB loc_263: ; xref 3BBB:17E4, 17EA, 17F1 3BBB:17DB E8 0023 call sub_55 ; (1801) 3BBB:17DE 73 13 jnc loc_ret_264 ; Jump if carry=0 3BBB:17E0 80 7D 04 FF cmp byte ptr [di+4],0FFh 3BBB:17E4 74 F5 je loc_263 ; Jump if equal 3BBB:17E6 8B 05 mov ax,[di] 3BBB:17E8 3B C2 cmp ax,dx 3BBB:17EA 77 EF ja loc_263 ; Jump if above 3BBB:17EC 03 45 02 add ax,[di+2] 3BBB:17EF 3B D0 cmp dx,ax 3BBB:17F1 73 E8 jae loc_263 ; Jump if above or = 3BBB:17F3 loc_ret_264: ; xref 3BBB:17DE 3BBB:17F3 C3 retn sub_53 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:15DB, 1671 ;========================================================================== 3BBB:17F4 sub_54 proc near 3BBB:17F4 loc_265: ; xref 3BBB:17FD 3BBB:17F4 E8 000A call sub_55 ; (1801) 3BBB:17F7 73 07 jnc loc_ret_266 ; Jump if carry=0 3BBB:17F9 80 7D 04 FE cmp byte ptr [di+4],0FEh 3BBB:17FD 75 F5 jne loc_265 ; Jump if not equal 3BBB:17FF F9 stc ; Set carry flag 3BBB:1800 loc_ret_266: ; xref 3BBB:17F7 3BBB:1800 C3 retn sub_54 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:1525, 1540, 1561, 16CD, 16EE, 17B2, 17DB ; 17F4 ;========================================================================== 3BBB:1801 sub_55 proc near 3BBB:1801 83 C7 06 add di,6 3BBB:1804 B8 1016 mov ax,1016h 3BBB:1807 3B F8 cmp di,ax 3BBB:1809 C3 retn sub_55 endp ;* No entry point to code 3BBB:180A C3 retn 3BBB:180B 9A 19 C3 19 DC db 9Ah, 19h,0C3h, 19h,0DCh 3BBB:1810 19 data_637 db 19h ; xref 3BBB:6D6F 3BBB:1811 FE 19 02 1A 24 1A db 0FEh, 19h, 02h, 1Ah, 24h, 1Ah 3BBB:1817 61 1A 66 1A 6B 1A db 61h, 1Ah, 66h, 1Ah, 6Bh, 1Ah 3BBB:181D E2 1D 70 1E 9A 1E db 0E2h, 1Dh, 70h, 1Eh, 9Ah, 1Eh 3BBB:1823 42 1F 58 1F 67 1F db 42h, 1Fh, 58h, 1Fh, 67h, 1Fh 3BBB:1829 FB 1F 1F db 0FBh, 1Fh, 1Fh 3BBB:182C 20 3E 20 3E 20 3E db ' > > > > > A K i ' 3BBB:1832 20 3E 20 3E 20 41 3BBB:1838 20 4B 20 69 20 3BBB:183D 84 20 89 21 8B CA db 84h, 20h, 89h, 21h, 8Bh,0CAh 3BBB:1843 2E FF A4 8B 17 06 db 2Eh,0FFh,0A4h, 8Bh, 17h, 06h 3BBB:1849 8E 06 B0 05 B3 00 db 8Eh, 06h,0B0h, 05h,0B3h, 00h 3BBB:184F 3C 03 74 42 3C 10 db 3Ch, 03h, 74h, 42h, 3Ch, 10h 3BBB:1855 74 2D 26 F7 06 16 db 74h, 2Dh, 26h,0F7h, 06h, 16h 3BBB:185B 00 02 00 75 08 3C db 00h, 02h, 00h, 75h, 08h, 3Ch 3BBB:1861 13 74 18 3C 11 74 db 13h, 74h, 18h, 3Ch, 11h, 74h 3BBB:1867 04 db 04h 3BBB:1868 loc_267: ; xref 3BBB:1872, 188B, 189C 3BBB:1868 B3 01 mov bl,1 3BBB:186A 07 pop es 3BBB:186B CB retf ; Return far 3BBB:186C loc_268: 3BBB:186C F7 06 05AE 0080 test word ptr ds:[5AEh],80h ; (3BBB:05AE=0BE00h) 3BBB:1872 74 F4 jz loc_267 ; Jump if zero 3BBB:1874 81 26 05AE FF7F and word ptr ds:[5AEh],0FF7Fh ; (3BBB:05AE=0BE00h) 3BBB:187A 07 pop es 3BBB:187B CB retf ; Return far 3BBB:187C loc_269: 3BBB:187C 81 0E 05AE 0080 or word ptr ds:[5AEh],80h ; (3BBB:05AE=0BE00h) 3BBB:1882 07 pop es 3BBB:1883 CB retf ; Return far 3BBB:1884 loc_270: 3BBB:1884 26: F7 06 0016 0004 test es:data_168,4 ; (3BBB:0016=0) 3BBB:188B 75 DB jnz loc_267 ; Jump if not zero 3BBB:188D 81 36 05AE 0200 xor word ptr ds:[5AEh],200h ; (3BBB:05AE=0BE00h) 3BBB:1893 07 pop es 3BBB:1894 CB retf ; Return far 3BBB:1895 loc_271: 3BBB:1895 26: F7 06 0016 0008 test es:data_168,8 ; (3BBB:0016=0) 3BBB:189C 75 CA jnz loc_267 ; Jump if not zero 3BBB:189E 26: 81 0E 0006 0001 ;* or es:data_160,1 ; (3BBB:0006=0Ah) 3BBB:189E db 26h, 81h, 0Eh, 06h, 00h, 01h ; Fixup - byte match 3BBB:18A4 db 00h ; Fixup - byte match 3BBB:18A5 81 26 05AE FF7F and word ptr ds:[5AEh],0FF7Fh ; (3BBB:05AE=0BE00h) 3BBB:18AB 07 pop es 3BBB:18AC CB retf ; Return far ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:18E7, 18F4, 191A, 1922, 1938 ;========================================================================== 3BBB:18AD sub_56 proc near 3BBB:18AD 26: F7 06 0006 0001 test es:data_160,1 ; (3BBB:0006=0Ah) 3BBB:18B4 74 0C jz loc_ret_272 ; Jump if zero 3BBB:18B6 50 push ax 3BBB:18B7 53 push bx 3BBB:18B8 51 push cx 3BBB:18B9 B9 008E mov cx,8Eh 3BBB:18BC E8 E9E4 call sub_4 ; (02A3) 3BBB:18BF 59 pop cx 3BBB:18C0 5B pop bx 3BBB:18C1 58 pop ax 3BBB:18C2 loc_ret_272: ; xref 3BBB:18B4 3BBB:18C2 C3 retn sub_56 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:1AD2, 1EFD ;========================================================================== 3BBB:18C3 sub_57 proc near 3BBB:18C3 loc_273: ; xref 3BBB:1F4E 3BBB:18C3 ,83 3E 05AC 00 cmp word ptr ds:[5ACh],0 ; (3BBB:05AC=6CBFh) 3BBB:18C8 75 28 jne loc_276 ; Jump if not equal ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:193D 3BBB:18CA sub_58: 3BBB:18CA loc_274: ; xref 3BBB:18ED 3BBB:18CA E8 085B call sub_85 ; (2128) 3BBB:18CD 84 DB test bl,bl 3BBB:18CF 74 23 jz loc_277 ; Jump if zero ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:1948 3BBB:18D1 sub_59: 3BBB:18D1 26: 83 3E 0076 00 cmp es:data_217,0 ; (3BBB:0076=0) 3BBB:18D7 75 07 jne loc_275 ; Jump if not equal 3BBB:18D9 F6 06 0F06 FF test byte ptr ds:[0F06h],0FFh ; (3BBB:0F06=8) 3BBB:18DE 75 12 jnz loc_276 ; Jump if not zero 3BBB:18E0 loc_275: ; xref 3BBB:18D7 3BBB:18E0 E8 086E call sub_86 ; (2151) 3BBB:18E3 FF 1E 003C call dword ptr data_183 ; (3BBB:003C=0) 3BBB:18E7 E8 FFC3 call sub_56 ; (18AD) 3BBB:18EA 80 FB 01 cmp bl,1 3BBB:18ED 75 DB jne loc_274 ; Jump if not equal 3BBB:18EF A3 05AC mov word ptr ds:[5ACh],ax ; (3BBB:05AC=6CBFh) 3BBB:18F2 loc_276: ; xref 3BBB:18C8, 18DE 3BBB:18F2 B3 FF mov bl,0FFh 3BBB:18F4 loc_277: ; xref 3BBB:18CF 3BBB:18F4 E8 FFB6 call sub_56 ; (18AD) 3BBB:18F7 84 DB test bl,bl 3BBB:18F9 C3 retn sub_57 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:1A33, 1ECA, 1F0B ;========================================================================== 3BBB:18FA sub_60 proc near 3BBB:18FA loc_278: ; xref 3BBB:1AC1, 1ADD, 1F5F 3BBB:18FA ,33 C0 xor ax,ax ; Zero register 3BBB:18FC 87 06 05AC xchg word ptr ds:[5ACh],ax ; (3BBB:05AC=6CBFh) 3BBB:1900 85 C0 test ax,ax 3BBB:1902 75 1E jnz loc_281 ; Jump if not zero 3BBB:1904 loc_279: ; xref 3BBB:1920 3BBB:1904 E8 084A call sub_86 ; (2151) 3BBB:1907 26: 83 3E 0076 00 cmp es:data_217,0 ; (3BBB:0076=0) 3BBB:190D 75 07 jne loc_280 ; Jump if not equal 3BBB:190F F6 06 0F06 FF test byte ptr ds:[0F06h],0FFh ; (3BBB:0F06=8) 3BBB:1914 75 0C jnz loc_281 ; Jump if not zero 3BBB:1916 loc_280: ; xref 3BBB:190D 3BBB:1916 FF 1E 003C call dword ptr data_183 ; (3BBB:003C=0) 3BBB:191A E8 FF90 call sub_56 ; (18AD) 3BBB:191D 80 FB 01 cmp bl,1 3BBB:1920 75 E2 jne loc_279 ; Jump if not equal 3BBB:1922 loc_281: ; xref 3BBB:1902, 1914 3BBB:1922 E8 FF88 call sub_56 ; (18AD) 3BBB:1925 8B D8 mov bx,ax 3BBB:1927 C3 retn sub_60 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:19DD, 19FF ;========================================================================== 3BBB:1928 sub_61 proc near 3BBB:1928 loc_282: ; xref 3BBB:19FA 3BBB:1928 ,F7 06 05AE 0008 test word ptr ds:[5AEh],8 ; (3BBB:05AE=0BE00h) 3BBB:192E 75 3C jnz loc_287 ; Jump if not zero 3BBB:1930 51 push cx 3BBB:1931 F6 06 0F06 FF test byte ptr ds:[0F06h],0FFh ; (3BBB:0F06=8) 3BBB:1936 74 05 jz loc_283 ; Jump if zero 3BBB:1938 E8 FF72 call sub_56 ; (18AD) 3BBB:193B EB 03 jmp short loc_284 ; (1940) 3BBB:193D loc_283: ; xref 3BBB:1936 3BBB:193D E8 FF8A call sub_58 ; (18CA) 3BBB:1940 loc_284: ; xref 3BBB:193B, 194B 3BBB:1940 ,F7 06 05AE 0080 test word ptr ds:[5AEh],80h ; (3BBB:05AE=0BE00h) 3BBB:1946 74 05 jz loc_285 ; Jump if zero 3BBB:1948 E8 FF86 call sub_59 ; (18D1) 3BBB:194B EB F3 jmp short loc_284 ; (1940) 3BBB:194D loc_285: ; xref 3BBB:1946 3BBB:194D 59 pop cx 3BBB:194E 51 push cx 3BBB:194F E8 0826 call sub_87 ; (2178) 3BBB:1952 F7 06 05AE 0200 test word ptr ds:[5AEh],200h ; (3BBB:05AE=0BE00h) 3BBB:1958 74 11 jz loc_286 ; Jump if zero 3BBB:195A 26: F7 06 0016 0004 test es:data_168,4 ; (3BBB:0016=0) 3BBB:1961 75 08 jnz loc_286 ; Jump if not zero 3BBB:1963 5A pop dx 3BBB:1964 52 push dx 3BBB:1965 B9 0005 mov cx,5 3BBB:1968 E8 E938 call sub_4 ; (02A3) 3BBB:196B loc_286: ; xref 3BBB:1958, 1961 3BBB:196B 59 pop cx 3BBB:196C loc_287: ; xref 3BBB:192E 3BBB:196C A0 0064 mov al,data_208 ; (3BBB:0064=0) 3BBB:196F 80 F9 7F cmp cl,7Fh 3BBB:1972 74 27 je loc_ret_291 ; Jump if equal 3BBB:1974 FE C0 inc al 3BBB:1976 80 F9 20 cmp cl,20h ; ' ' 3BBB:1979 73 14 jae loc_289 ; Jump if above or = 3BBB:197B FE C8 dec al 3BBB:197D 74 1C jz loc_ret_291 ; Jump if zero 3BBB:197F 80 F9 08 cmp cl,8 3BBB:1982 75 04 jne loc_288 ; Jump if not equal 3BBB:1984 FE C8 dec al 3BBB:1986 EB 10 jmp short loc_290 ; (1998) 3BBB:1988 loc_288: ; xref 3BBB:1982 3BBB:1988 80 F9 0D cmp cl,0Dh 3BBB:198B 75 0E jne loc_ret_291 ; Jump if not equal 3BBB:198D 32 C0 xor al,al ; Zero register 3BBB:198F loc_289: ; xref 3BBB:1979 3BBB:198F 3A 06 05C3 cmp al,byte ptr ds:[5C3h] ; (3BBB:05C3=54h) 3BBB:1993 76 03 jbe loc_290 ; Jump if below or = 3BBB:1995 A2 05C3 mov byte ptr ds:[5C3h],al ; (3BBB:05C3=54h) 3BBB:1998 loc_290: ; xref 3BBB:1986, 1993 3BBB:1998 A2 0064 mov data_208,al ; (3BBB:0064=0) 3BBB:199B loc_ret_291: ; xref 3BBB:1972, 197D, 198B 3BBB:199B C3 retn sub_61 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:1AA4, 1F4B, 1F5C, 1F6D, 1F89 ;========================================================================== 3BBB:199C sub_62 proc near 3BBB:199C 8C 06 05B0 mov word ptr ds:[5B0h],es ; (3BBB:05B0=35Ah) 3BBB:19A0 26: 81 0E 0016 000E ;* or es:data_168,0Eh ; (3BBB:0016=0) 3BBB:19A0 db 26h, 81h, 0Eh, 16h, 00h, 0Eh ; Fixup - byte match 3BBB:19A6 db 00h ; Fixup - byte match 3BBB:19A7 C3 retn sub_62 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:1A30, 1A4B, 1AF3, 1EFA, 1FEF ;========================================================================== 3BBB:19A8 sub_63 proc near 3BBB:19A8 8C 06 05B0 mov word ptr ds:[5B0h],es ; (3BBB:05B0=35Ah) 3BBB:19AC 26: F7 06 0006 8000 test es:data_160,8000h ; (3BBB:0006=0Ah) 3BBB:19B3 75 07 jnz loc_ret_292 ; Jump if not zero 3BBB:19B5 26: 81 26 0016 FFF1 ;* and es:data_168,0FFF1h ; (3BBB:0016=0) 3BBB:19B5 db 26h, 81h, 26h, 16h, 00h,0F1h ; Fixup - byte match 3BBB:19BB db 0FFh ; Fixup - byte match 3BBB:19BC loc_ret_292: ; xref 3BBB:19B3 3BBB:19BC C3 retn sub_63 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:19D5, 1A38 ;========================================================================== 3BBB:19BD sub_64 proc near 3BBB:19BD 80 F9 0D cmp cl,0Dh 3BBB:19C0 74 12 je loc_ret_293 ; Jump if equal 3BBB:19C2 80 F9 0A cmp cl,0Ah 3BBB:19C5 74 0D je loc_ret_293 ; Jump if equal 3BBB:19C7 80 F9 09 cmp cl,9 3BBB:19CA 74 08 je loc_ret_293 ; Jump if equal 3BBB:19CC 80 F9 08 cmp cl,8 3BBB:19CF 74 03 je loc_ret_293 ; Jump if equal 3BBB:19D1 80 F9 20 cmp cl,20h ; ' ' 3BBB:19D4 loc_ret_293: ; xref 3BBB:19C0, 19C5, 19CA, 19CF 3BBB:19D4 C3 retn sub_64 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:1B2C ;========================================================================== 3BBB:19D5 sub_65 proc near 3BBB:19D5 E8 FFE5 call sub_64 ; (19BD) 3BBB:19D8 73 1B jnc loc_294 ; Jump if carry=0 3BBB:19DA 51 push cx 3BBB:19DB B1 5E mov cl,5Eh ; '^' 3BBB:19DD E8 FF48 call sub_61 ; (1928) 3BBB:19E0 59 pop cx 3BBB:19E1 80 C9 40 or cl,40h ; '@' 3BBB:19E4 A0 0064 mov al,data_208 ; (3BBB:0064=0) 3BBB:19E7 3A 06 0065 cmp al,data_209 ; (3BBB:0065=0) 3BBB:19EB 72 08 jb loc_294 ; Jump if below 3BBB:19ED 26: 80 3E 003C 0A cmp byte ptr es:data_183,0Ah ; (3BBB:003C=0) 3BBB:19F3 74 24 je loc_ret_297 ; Jump if equal ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:1A3E, 200E 3BBB:19F5 sub_66: 3BBB:19F5 loc_294: ; xref 3BBB:19D8, 19EB, 1A5A 3BBB:19F5 ,80 F9 09 cmp cl,9 3BBB:19F8 74 03 je loc_295 ; Jump if equal 3BBB:19FA E9 FF2B jmp loc_282 ; (1928) 3BBB:19FD loc_295: ; xref 3BBB:19F8, 1A0D, 1A15 3BBB:19FD B1 20 mov cl,20h ; ' ' 3BBB:19FF E8 FF26 call sub_61 ; (1928) 3BBB:1A02 A0 0064 mov al,data_208 ; (3BBB:0064=0) 3BBB:1A05 A8 07 test al,7 3BBB:1A07 74 0E jz loc_296 ; Jump if zero 3BBB:1A09 3A 06 0065 cmp al,data_209 ; (3BBB:0065=0) 3BBB:1A0D 72 EE jb loc_295 ; Jump if below 3BBB:1A0F 26: 80 3E 003C 0A cmp byte ptr es:data_183,0Ah ; (3BBB:003C=0) 3BBB:1A15 75 E6 jne loc_295 ; Jump if not equal 3BBB:1A17 loc_296: ; xref 3BBB:1A07 3BBB:1A17 B1 09 mov cl,9 3BBB:1A19 loc_ret_297: ; xref 3BBB:19F3 3BBB:1A19 C3 retn sub_65 endp ;* No entry point to code 3BBB:1A1A 26: 80 3E 0018 00 cmp es:data_169,0 ; (3BBB:0018=0) 3BBB:1A20 74 0E je loc_299 ; Jump if equal 3BBB:1A22 loc_298: ; xref 3BBB:1AC4, 1F62 3BBB:1A22 ,26: C7 06 0014 FFFD mov es:data_167,0FFFDh ; (3BBB:0014=0) 3BBB:1A29 33 C9 xor cx,cx ; Zero register 3BBB:1A2B 8B D1 mov dx,cx 3BBB:1A2D E9 E873 jmp loc_15 ; (02A3) 3BBB:1A30 loc_299: ; xref 3BBB:1A20 3BBB:1A30 E8 FF75 call sub_63 ; (19A8) 3BBB:1A33 E8 FEC4 call sub_60 ; (18FA) 3BBB:1A36 8B C8 mov cx,ax 3BBB:1A38 E8 FF82 call sub_64 ; (19BD) 3BBB:1A3B 72 05 jc loc_ret_300 ; Jump if carry Set 3BBB:1A3D 53 push bx 3BBB:1A3E E8 FFB4 call sub_66 ; (19F5) 3BBB:1A41 5B pop bx 3BBB:1A42 loc_ret_300: ; xref 3BBB:1A3B, 1A49 3BBB:1A42 C3 retn ;* No entry point to code 3BBB:1A43 26: 80 3E 0018 00 cmp es:data_169,0 ; (3BBB:0018=0) 3BBB:1A49 75 F7 jne loc_ret_300 ; Jump if not equal 3BBB:1A4B E8 FF5A call sub_63 ; (19A8) 3BBB:1A4E 26: F7 06 0016 0004 test es:data_168,4 ; (3BBB:0016=0) 3BBB:1A55 74 03 jz loc_301 ; Jump if zero 3BBB:1A57 E9 071E jmp loc_382 ; (2178) 3BBB:1A5A loc_301: ; xref 3BBB:1A55 3BBB:1A5A EB 99 jmp short loc_294 ; (19F5) 3BBB:1A5C B0 05 db 0B0h, 05h 3BBB:1A5E loc_302: ; xref 3BBB:1A80, 1AE3, 1AE8 3BBB:1A5E ,E8 0009 call sub_67 ; (1A6A) 3BBB:1A61 E8 071E call sub_88 ; (2182) 3BBB:1A64 C6 06 05B2 FF mov byte ptr ds:[5B2h],0FFh ; (3BBB:05B2=0B9h) 3BBB:1A69 C3 retn ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:1A5E, 20C1, 20CB ;========================================================================== 3BBB:1A6A sub_67 proc near 3BBB:1A6A loc_303: ; xref 3BBB:1A76 3BBB:1A6A FB sti ; Enable interrupts 3BBB:1A6B 26: 8A 1E 0005 mov bl,es:data_159 ; (3BBB:0005=11h) 3BBB:1A70 FA cli ; Disable interrupts 3BBB:1A71 80 3E 05B2 FF cmp byte ptr ds:[5B2h],0FFh ; (3BBB:05B2=0B9h) 3BBB:1A76 75 F2 jne loc_303 ; Jump if not equal 3BBB:1A78 88 1E 05B2 mov byte ptr ds:[5B2h],bl ; (3BBB:05B2=0B9h) 3BBB:1A7C FB sti ; Enable interrupts 3BBB:1A7D C3 retn sub_67 endp ;* No entry point to code 3BBB:1A7E B0 06 mov al,6 3BBB:1A80 EB DC jmp short loc_302 ; (1A5E) 3BBB:1A82 B0 04 db 0B0h, 04h 3BBB:1A84 loc_304: ; xref 3BBB:1F7A 3BBB:1A84 ,E8 0009 call sub_68 ; (1A90) 3BBB:1A87 E8 06F8 call sub_88 ; (2182) 3BBB:1A8A C6 06 05B3 FF mov byte ptr ds:[5B3h],0FFh ; (3BBB:05B3=8) 3BBB:1A8F C3 retn ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:1A84, 207B ;========================================================================== 3BBB:1A90 sub_68 proc near 3BBB:1A90 loc_305: ; xref 3BBB:1A9C 3BBB:1A90 FB sti ; Enable interrupts 3BBB:1A91 26: 8A 1E 0005 mov bl,es:data_159 ; (3BBB:0005=11h) 3BBB:1A96 FA cli ; Disable interrupts 3BBB:1A97 80 3E 05B3 FF cmp byte ptr ds:[5B3h],0FFh ; (3BBB:05B3=8) 3BBB:1A9C 75 F2 jne loc_305 ; Jump if not equal 3BBB:1A9E 88 1E 05B3 mov byte ptr ds:[5B3h],bl ; (3BBB:05B3=8) 3BBB:1AA2 FB sti ; Enable interrupts 3BBB:1AA3 C3 retn sub_68 endp ;* No entry point to code 3BBB:1AA4 E8 FEF5 call sub_62 ; (199C) 3BBB:1AA7 80 F9 FD cmp cl,0FDh 3BBB:1AAA 73 0B jae loc_306 ; Jump if above or = 3BBB:1AAC 26: 80 3E 0018 00 cmp es:data_169,0 ; (3BBB:0018=0) 3BBB:1AB2 75 2C jne loc_ret_309 ; Jump if not equal 3BBB:1AB4 E9 06C1 jmp loc_382 ; (2178) 3BBB:1AB7 loc_306: ; xref 3BBB:1AAA 3BBB:1AB7 77 0E ja loc_308 ; Jump if above 3BBB:1AB9 26: 80 3E 0018 00 cmp es:data_169,0 ; (3BBB:0018=0) 3BBB:1ABF 75 03 jne loc_307 ; Jump if not equal 3BBB:1AC1 E9 FE36 jmp loc_278 ; (18FA) 3BBB:1AC4 loc_307: ; xref 3BBB:1ABF 3BBB:1AC4 E9 FF5B jmp loc_298 ; (1A22) 3BBB:1AC7 loc_308: ; xref 3BBB:1AB7 3BBB:1AC7 32 DB xor bl,bl ; Zero register 3BBB:1AC9 26: 80 3E 0018 00 cmp es:data_169,0 ; (3BBB:0018=0) 3BBB:1ACF 75 0F jne loc_ret_309 ; Jump if not equal 3BBB:1AD1 51 push cx 3BBB:1AD2 E8 FDEE call sub_57 ; (18C3) 3BBB:1AD5 59 pop cx 3BBB:1AD6 74 08 jz loc_ret_309 ; Jump if zero 3BBB:1AD8 80 F9 FE cmp cl,0FEh 3BBB:1ADB 74 03 je loc_ret_309 ; Jump if equal 3BBB:1ADD E9 FE1A jmp loc_278 ; (18FA) 3BBB:1AE0 loc_ret_309: ; xref 3BBB:1AB2, 1ACF, 1AD6, 1ADB 3BBB:1AE0 C3 retn 3BBB:1AE1 loc_310: ; xref 3BBB:2146 3BBB:1AE1 ,B0 10 mov al,10h 3BBB:1AE3 E9 FF78 jmp loc_302 ; (1A5E) ;* No entry point to code 3BBB:1AE6 B0 11 mov al,11h 3BBB:1AE8 E9 FF73 jmp loc_302 ; (1A5E) ;* No entry point to code 3BBB:1AEB 26: 80 3E 0018 00 cmp es:data_169,0 ; (3BBB:0018=0) 3BBB:1AF1 75 21 jne loc_ret_311 ; Jump if not equal 3BBB:1AF3 E8 FEB2 call sub_63 ; (19A8) 3BBB:1AF6 26: 8B 1E 002E mov bx,es:data_177 ; (3BBB:002E=3BBBh) 3BBB:1AFB 26: A0 0019 mov al,es:data_170 ; (3BBB:0019=0) 3BBB:1AFF B9 FFFF mov cx,0FFFFh 3BBB:1B02 06 push es 3BBB:1B03 8B FA mov di,dx 3BBB:1B05 8E C3 mov es,bx 3BBB:1B07 F2/ AE repne scasb ; Rep zf=0+cx >0 Scan es:[di] for al 3BBB:1B09 07 pop es 3BBB:1B0A 8D 4D FF lea cx,[di-1] ; Load effective addr 3BBB:1B0D 2B CA sub cx,dx 3BBB:1B0F 8B FA mov di,dx 3BBB:1B11 E9 04E3 jmp loc_363 ; (1FF7) 3BBB:1B14 loc_ret_311: ; xref 3BBB:1AF1 3BBB:1B14 C3 retn ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:1B4F, 1B6A, 1B7D, 1BAD, 1BF7, 1C06, 1C17 ; 1C5F, 1CE2, 1D3A, 1DF0, 1E02 ;========================================================================== 3BBB:1B15 sub_69 proc near 3BBB:1B15 loc_312: ; xref 3BBB:1C01, 1CB7 3BBB:1B15 ,A0 0064 mov al,data_208 ; (3BBB:0064=0) 3BBB:1B18 3A 06 0065 cmp al,data_209 ; (3BBB:0065=0) 3BBB:1B1C 72 0A jb loc_313 ; Jump if below 3BBB:1B1E 80 F9 0D cmp cl,0Dh 3BBB:1B21 74 05 je loc_313 ; Jump if equal 3BBB:1B23 80 F9 08 cmp cl,8 3BBB:1B26 75 0B jne loc_ret_314 ; Jump if not equal 3BBB:1B28 loc_313: ; xref 3BBB:1B1C, 1B21 3BBB:1B28 8E 06 004E mov es,data_193 ; (3BBB:004E=0) 3BBB:1B2C E8 FEA6 call sub_65 ; (19D5) 3BBB:1B2F 8E 06 05B6 mov es,word ptr ds:[5B6h] ; (3BBB:05B6=0BEA5h) 3BBB:1B33 loc_ret_314: ; xref 3BBB:1B26 3BBB:1B33 C3 retn sub_69 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:1CB2, 1CF7, 1DB7, 1DF7 ;========================================================================== 3BBB:1B34 sub_70 proc near 3BBB:1B34 8B 3E 05C0 mov di,word ptr ds:[5C0h] ; (3BBB:05C0=258h) 3BBB:1B38 8B 36 05BE mov si,word ptr ds:[5BEh] ; (3BBB:05BE=2D03h) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:1D56, 1D99 3BBB:1B3C sub_71: 3BBB:1B3C loc_315: ; xref 3BBB:1B54 3BBB:1B3C ,3B F7 cmp si,di 3BBB:1B3E 73 16 jae loc_ret_316 ; Jump if above or = 3BBB:1B40 A0 0064 mov al,data_208 ; (3BBB:0064=0) 3BBB:1B43 3A 06 0065 cmp al,data_209 ; (3BBB:0065=0) 3BBB:1B47 73 0D jae loc_ret_316 ; Jump if above or = 3BBB:1B49 26: 8A 0C mov cl,es:[si] 3BBB:1B4C 46 inc si 3BBB:1B4D 57 push di 3BBB:1B4E 56 push si 3BBB:1B4F E8 FFC3 call sub_69 ; (1B15) 3BBB:1B52 5E pop si 3BBB:1B53 5F pop di 3BBB:1B54 EB E6 jmp short loc_315 ; (1B3C) 3BBB:1B56 loc_ret_316: ; xref 3BBB:1B3E, 1B47 3BBB:1B56 C3 retn sub_70 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:1CA1, 1D3E ;========================================================================== 3BBB:1B57 sub_72 proc near 3BBB:1B57 A0 0064 mov al,data_208 ; (3BBB:0064=0) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:1CFB, 1DBD 3BBB:1B5A sub_73: 3BBB:1B5A 50 push ax 3BBB:1B5B A0 0064 mov al,data_208 ; (3BBB:0064=0) 3BBB:1B5E 50 push ax 3BBB:1B5F loc_317: ; xref 3BBB:1B6D 3BBB:1B5F ,A0 05C3 mov al,byte ptr ds:[5C3h] ; (3BBB:05C3=54h) 3BBB:1B62 38 06 0064 cmp data_208,al ; (3BBB:0064=0) 3BBB:1B66 73 07 jae loc_318 ; Jump if above or = 3BBB:1B68 B1 20 mov cl,20h ; ' ' 3BBB:1B6A E8 FFA8 call sub_69 ; (1B15) 3BBB:1B6D EB F0 jmp short loc_317 ; (1B5F) 3BBB:1B6F loc_318: ; xref 3BBB:1B66 3BBB:1B6F 58 pop ax 3BBB:1B70 A2 05C3 mov byte ptr ds:[5C3h],al ; (3BBB:05C3=54h) 3BBB:1B73 58 pop ax ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:1C70, 1DB4, 1DFB 3BBB:1B74 sub_74: 3BBB:1B74 loc_319: ; xref 3BBB:1B81, 1C9B 3BBB:1B74 ,38 06 0064 cmp data_208,al ; (3BBB:0064=0) 3BBB:1B78 76 09 jbe loc_ret_320 ; Jump if below or = 3BBB:1B7A 50 push ax 3BBB:1B7B B1 08 mov cl,8 3BBB:1B7D E8 FF95 call sub_69 ; (1B15) 3BBB:1B80 58 pop ax 3BBB:1B81 EB F1 jmp short loc_319 ; (1B74) 3BBB:1B83 loc_ret_320: ; xref 3BBB:1B78 3BBB:1B83 C3 retn sub_72 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:1BD9, 1D4F, 1D96, 1DAA ;========================================================================== 3BBB:1B84 sub_75 proc near 3BBB:1B84 8B 36 05B4 mov si,word ptr ds:[5B4h] ; (3BBB:05B4=0F300h) 3BBB:1B88 83 C6 02 add si,2 3BBB:1B8B 89 36 05BA mov word ptr ds:[5BAh],si ; (3BBB:05BA=0BADh) 3BBB:1B8F 89 36 05BC mov word ptr ds:[5BCh],si ; (3BBB:05BC=74C0h) 3BBB:1B93 C3 retn sub_75 endp 3BBB:1B94 loc_321: ; xref 3BBB:1BB2, 1C9E, 1DA3 3BBB:1B94 ,3B 3E 05C0 cmp di,word ptr ds:[5C0h] ; (3BBB:05C0=258h) 3BBB:1B98 73 1A jae loc_322 ; Jump if above or = 3BBB:1B9A A0 0064 mov al,data_208 ; (3BBB:0064=0) 3BBB:1B9D 3A 06 0065 cmp al,data_209 ; (3BBB:0065=0) 3BBB:1BA1 73 11 jae loc_322 ; Jump if above or = 3BBB:1BA3 26: 8A 0D mov cl,es:[di] 3BBB:1BA6 47 inc di 3BBB:1BA7 26: 88 0C mov es:[si],cl 3BBB:1BAA 46 inc si 3BBB:1BAB 57 push di 3BBB:1BAC 56 push si 3BBB:1BAD E8 FF65 call sub_69 ; (1B15) 3BBB:1BB0 5E pop si 3BBB:1BB1 5F pop di 3BBB:1BB2 EB E0 jmp short loc_321 ; (1B94) 3BBB:1BB4 loc_322: ; xref 3BBB:1B98, 1BA1 3BBB:1BB4 89 3E 05BE mov word ptr ds:[5BEh],di ; (3BBB:05BE=2D03h) 3BBB:1BB8 89 36 05BC mov word ptr ds:[5BCh],si ; (3BBB:05BC=74C0h) 3BBB:1BBC C3 retn 3BBB:1BBD loc_323: ; xref 3BBB:1BD0, 1D59, 1DA0 3BBB:1BBD ,3B FE cmp di,si 3BBB:1BBF 76 11 jbe loc_ret_324 ; Jump if below or = 3BBB:1BC1 4F dec di 3BBB:1BC2 26: 8A 05 mov al,es:[di] 3BBB:1BC5 FF 0E 05BE dec word ptr ds:[5BEh] ; (3BBB:05BE=2D03h) 3BBB:1BC9 8B 1E 05BE mov bx,word ptr ds:[5BEh] ; (3BBB:05BE=2D03h) 3BBB:1BCD 26: 88 07 mov es:[bx],al 3BBB:1BD0 EB EB jmp short loc_323 ; (1BBD) 3BBB:1BD2 loc_ret_324: ; xref 3BBB:1BBF 3BBB:1BD2 C3 retn ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:1D5C, 1E20 ;========================================================================== 3BBB:1BD3 sub_76 proc near 3BBB:1BD3 32 C0 xor al,al ; Zero register 3BBB:1BD5 8B 0E 05BC mov cx,word ptr ds:[5BCh] ; (3BBB:05BC=74C0h) 3BBB:1BD9 E8 FFA8 call sub_75 ; (1B84) 3BBB:1BDC 3B CE cmp cx,si 3BBB:1BDE 76 14 jbe loc_ret_325 ; Jump if below or = 3BBB:1BE0 ,BF 01BB mov di,offset data_271 ; (3BBB:01BB=75h) 3BBB:1BE3 2B CE sub cx,si 3BBB:1BE5 8A C1 mov al,cl 3BBB:1BE7 A2 01BA mov data_270,al ; (3BBB:01BA=74h) 3BBB:1BEA 06 push es 3BBB:1BEB 1E push ds 3BBB:1BEC 07 pop es 3BBB:1BED 1F pop ds 3BBB:1BEE F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:1BF0 06 push es 3BBB:1BF1 1E push ds 3BBB:1BF2 07 pop es 3BBB:1BF3 1F pop ds 3BBB:1BF4 loc_ret_325: ; xref 3BBB:1BDE 3BBB:1BF4 C3 retn sub_76 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:1C09, 1CAA, 1DD6 ;========================================================================== 3BBB:1BF5 sub_77 proc near 3BBB:1BF5 B1 0D mov cl,0Dh 3BBB:1BF7 E8 FF1B call sub_69 ; (1B15) 3BBB:1BFA C6 06 05C3 00 mov byte ptr ds:[5C3h],0 ; (3BBB:05C3=54h) 3BBB:1BFF B1 0A mov cl,0Ah 3BBB:1C01 E9 FF11 jmp loc_312 ; (1B15) sub_77 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:1D48 ;========================================================================== 3BBB:1C04 sub_78 proc near 3BBB:1C04 loc_326: ; xref 3BBB:1D5F 3BBB:1C04 ,B1 23 mov cl,23h ; '#' 3BBB:1C06 E8 FF0C call sub_69 ; (1B15) 3BBB:1C09 E8 FFE9 call sub_77 ; (1BF5) 3BBB:1C0C loc_327: ; xref 3BBB:1C1A 3BBB:1C0C ,A0 0064 mov al,data_208 ; (3BBB:0064=0) 3BBB:1C0F 3A 06 05C2 cmp al,byte ptr ds:[5C2h] ; (3BBB:05C2=0BFh) 3BBB:1C13 73 07 jae loc_328 ; Jump if above or = 3BBB:1C15 B1 20 mov cl,20h ; ' ' 3BBB:1C17 E8 FEFB call sub_69 ; (1B15) 3BBB:1C1A EB F0 jmp short loc_327 ; (1C0C) 3BBB:1C1C loc_328: ; xref 3BBB:1C13 3BBB:1C1C A1 05C0 mov ax,word ptr ds:[5C0h] ; (3BBB:05C0=258h) 3BBB:1C1F A3 05BE mov word ptr ds:[5BEh],ax ; (3BBB:05BE=2D03h) 3BBB:1C22 C3 retn sub_78 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:1D0F ;========================================================================== 3BBB:1C23 sub_79 proc near 3BBB:1C23 8B 36 05BC mov si,word ptr ds:[5BCh] ; (3BBB:05BC=74C0h) 3BBB:1C27 3B 36 05BA cmp si,word ptr ds:[5BAh] ; (3BBB:05BA=0BADh) 3BBB:1C2B 76 46 jbe loc_ret_331 ; Jump if below or = 3BBB:1C2D 4E dec si 3BBB:1C2E 89 36 05BC mov word ptr ds:[5BCh],si ; (3BBB:05BC=74C0h) 3BBB:1C32 26: 8A 04 mov al,es:[si] 3BBB:1C35 FF 0E 05BE dec word ptr ds:[5BEh] ; (3BBB:05BE=2D03h) 3BBB:1C39 8B 3E 05BE mov di,word ptr ds:[5BEh] ; (3BBB:05BE=2D03h) 3BBB:1C3D 26: 88 05 mov es:[di],al 3BBB:1C40 A0 0064 mov al,data_208 ; (3BBB:0064=0) 3BBB:1C43 50 push ax 3BBB:1C44 A0 05C2 mov al,byte ptr ds:[5C2h] ; (3BBB:05C2=0BFh) 3BBB:1C47 A2 0064 mov data_208,al ; (3BBB:0064=0) 3BBB:1C4A 81 0E 05AE 0008 ;* or word ptr ds:[5AEh],8 ; (3BBB:05AE=0BE00h) 3BBB:1C4A db 81h, 0Eh,0AEh, 05h, 08h, 00h ; Fixup - byte match 3BBB:1C50 8B 3E 05BA mov di,word ptr ds:[5BAh] ; (3BBB:05BA=0BADh) 3BBB:1C54 loc_329: ; xref 3BBB:1C63 3BBB:1C54 ,3B 3E 05BC cmp di,word ptr ds:[5BCh] ; (3BBB:05BC=74C0h) 3BBB:1C58 73 0B jae loc_330 ; Jump if above or = 3BBB:1C5A 26: 8A 0D mov cl,es:[di] 3BBB:1C5D 47 inc di 3BBB:1C5E 57 push di 3BBB:1C5F E8 FEB3 call sub_69 ; (1B15) 3BBB:1C62 5F pop di 3BBB:1C63 EB EF jmp short loc_329 ; (1C54) 3BBB:1C65 loc_330: ; xref 3BBB:1C58 3BBB:1C65 81 26 05AE FFF7 ;* and word ptr ds:[5AEh],0FFF7h ; (3BBB:05AE=0BE00h) 3BBB:1C65 db 81h, 26h,0AEh, 05h,0F7h,0FFh ; Fixup - byte match 3BBB:1C6B 58 pop ax 3BBB:1C6C 86 06 0064 xchg data_208,al ; (3BBB:0064=0) 3BBB:1C70 E8 FF01 call sub_74 ; (1B74) 3BBB:1C73 loc_ret_331: ; xref 3BBB:1C2B 3BBB:1C73 C3 retn sub_79 endp ;* No entry point to code 3BBB:1C74 8B 3E 05BE mov di,word ptr ds:[5BEh] ; (3BBB:05BE=2D03h) 3BBB:1C78 8B 36 05BC mov si,word ptr ds:[5BCh] ; (3BBB:05BC=74C0h) 3BBB:1C7C 3B 36 05BA cmp si,word ptr ds:[5BAh] ; (3BBB:05BA=0BADh) 3BBB:1C80 76 1C jbe loc_333 ; Jump if below or = 3BBB:1C82 loc_332: ; xref 3BBB:1C8E 3BBB:1C82 4E dec si 3BBB:1C83 26: 8A 04 mov al,es:[si] 3BBB:1C86 4F dec di 3BBB:1C87 26: 88 05 mov es:[di],al 3BBB:1C8A 3B 36 05BA cmp si,word ptr ds:[5BAh] ; (3BBB:05BA=0BADh) 3BBB:1C8E 77 F2 ja loc_332 ; Jump if above 3BBB:1C90 89 3E 05BE mov word ptr ds:[5BEh],di ; (3BBB:05BE=2D03h) 3BBB:1C94 89 36 05BC mov word ptr ds:[5BCh],si ; (3BBB:05BC=74C0h) 3BBB:1C98 A0 05C2 mov al,byte ptr ds:[5C2h] ; (3BBB:05C2=0BFh) 3BBB:1C9B E9 FED6 jmp loc_319 ; (1B74) 3BBB:1C9E loc_333: ; xref 3BBB:1C80 3BBB:1C9E E9 FEF3 jmp loc_321 ; (1B94) ;* No entry point to code 3BBB:1CA1 E8 FEB3 call sub_72 ; (1B57) 3BBB:1CA4 A1 05BC mov ax,word ptr ds:[5BCh] ; (3BBB:05BC=74C0h) 3BBB:1CA7 A3 05BA mov word ptr ds:[5BAh],ax ; (3BBB:05BA=0BADh) 3BBB:1CAA E8 FF48 call sub_77 ; (1BF5) 3BBB:1CAD C6 06 05C2 00 mov byte ptr ds:[5C2h],0 ; (3BBB:05C2=0BFh) 3BBB:1CB2 E8 FE7F call sub_70 ; (1B34) 3BBB:1CB5 B1 0D mov cl,0Dh 3BBB:1CB7 E9 FE5B jmp loc_312 ; (1B15) ;* No entry point to code 3BBB:1CBA A1 05BE mov ax,word ptr ds:[5BEh] ; (3BBB:05BE=2D03h) 3BBB:1CBD 3B 06 05C0 cmp ax,word ptr ds:[5C0h] ; (3BBB:05C0=258h) 3BBB:1CC1 73 22 jae loc_ret_334 ; Jump if above or = 3BBB:1CC3 A0 0064 mov al,data_208 ; (3BBB:0064=0) 3BBB:1CC6 3A 06 0065 cmp al,data_209 ; (3BBB:0065=0) 3BBB:1CCA 73 19 jae loc_ret_334 ; Jump if above or = 3BBB:1CCC 8B 3E 05BE mov di,word ptr ds:[5BEh] ; (3BBB:05BE=2D03h) 3BBB:1CD0 26: 8A 0D mov cl,es:[di] 3BBB:1CD3 FF 06 05BE inc word ptr ds:[5BEh] ; (3BBB:05BE=2D03h) 3BBB:1CD7 8B 36 05BC mov si,word ptr ds:[5BCh] ; (3BBB:05BC=74C0h) 3BBB:1CDB 26: 88 0C mov es:[si],cl 3BBB:1CDE FF 06 05BC inc word ptr ds:[5BCh] ; (3BBB:05BC=74C0h) 3BBB:1CE2 E8 FE30 call sub_69 ; (1B15) 3BBB:1CE5 loc_ret_334: ; xref 3BBB:1CC1, 1CCA 3BBB:1CE5 C3 retn ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:1D12 ;========================================================================== 3BBB:1CE6 sub_80 proc near 3BBB:1CE6 A1 05BE mov ax,word ptr ds:[5BEh] ; (3BBB:05BE=2D03h) 3BBB:1CE9 3B 06 05C0 cmp ax,word ptr ds:[5C0h] ; (3BBB:05C0=258h) 3BBB:1CED 73 0F jae loc_ret_335 ; Jump if above or = 3BBB:1CEF A0 0064 mov al,data_208 ; (3BBB:0064=0) 3BBB:1CF2 50 push ax 3BBB:1CF3 FF 06 05BE inc word ptr ds:[5BEh] ; (3BBB:05BE=2D03h) 3BBB:1CF7 E8 FE3A call sub_70 ; (1B34) 3BBB:1CFA 58 pop ax 3BBB:1CFB E8 FE5C call sub_73 ; (1B5A) 3BBB:1CFE loc_ret_335: ; xref 3BBB:1CED 3BBB:1CFE C3 retn sub_80 endp ;* No entry point to code 3BBB:1CFF A1 05BC mov ax,word ptr ds:[5BCh] ; (3BBB:05BC=74C0h) 3BBB:1D02 3B 06 05BA cmp ax,word ptr ds:[5BAh] ; (3BBB:05BA=0BADh) 3BBB:1D06 76 0D jbe loc_ret_337 ; Jump if below or = 3BBB:1D08 F6 06 0068 FF test data_212,0FFh ; (3BBB:0068=0) 3BBB:1D0D 75 17 jnz loc_338 ; Jump if not zero 3BBB:1D0F loc_336: ; xref 3BBB:1D24, 1D2D 3BBB:1D0F E8 FF11 call sub_79 ; (1C23) 3BBB:1D12 E8 FFD1 call sub_80 ; (1CE6) 3BBB:1D15 loc_ret_337: ; xref 3BBB:1D06 3BBB:1D15 C3 retn ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:1ED5 ;========================================================================== 3BBB:1D16 sub_81 proc near 3BBB:1D16 A1 05BC mov ax,word ptr ds:[5BCh] ; (3BBB:05BC=74C0h) 3BBB:1D19 3B 06 05BA cmp ax,word ptr ds:[5BAh] ; (3BBB:05BA=0BADh) 3BBB:1D1D 76 1E jbe loc_ret_339 ; Jump if below or = 3BBB:1D1F F6 06 0069 FF test data_213,0FFh ; (3BBB:0069=0) 3BBB:1D24 74 E9 jz loc_336 ; Jump if zero 3BBB:1D26 loc_338: ; xref 3BBB:1D0D 3BBB:1D26 A1 05BE mov ax,word ptr ds:[5BEh] ; (3BBB:05BE=2D03h) 3BBB:1D29 3B 06 05C0 cmp ax,word ptr ds:[5C0h] ; (3BBB:05C0=258h) 3BBB:1D2D 72 E0 jb loc_336 ; Jump if below 3BBB:1D2F FF 0E 05BC dec word ptr ds:[5BCh] ; (3BBB:05BC=74C0h) 3BBB:1D33 8B 36 05BC mov si,word ptr ds:[5BCh] ; (3BBB:05BC=74C0h) 3BBB:1D37 26: 8A 0C mov cl,es:[si] 3BBB:1D3A E8 FDD8 call sub_69 ; (1B15) 3BBB:1D3D loc_ret_339: ; xref 3BBB:1D1D 3BBB:1D3D C3 retn sub_81 endp ;* No entry point to code 3BBB:1D3E E8 FE16 call sub_72 ; (1B57) 3BBB:1D41 A1 05C0 mov ax,word ptr ds:[5C0h] ; (3BBB:05C0=258h) 3BBB:1D44 A3 05BE mov word ptr ds:[5BEh],ax ; (3BBB:05BE=2D03h) 3BBB:1D47 C3 retn ;* No entry point to code 3BBB:1D48 E8 FEB9 call sub_78 ; (1C04) 3BBB:1D4B 8B 3E 05BC mov di,word ptr ds:[5BCh] ; (3BBB:05BC=74C0h) 3BBB:1D4F E8 FE32 call sub_75 ; (1B84) 3BBB:1D52 89 3E 05BC mov word ptr ds:[5BCh],di ; (3BBB:05BC=74C0h) 3BBB:1D56 E8 FDE3 call sub_71 ; (1B3C) 3BBB:1D59 E9 FE61 jmp loc_323 ; (1BBD) ;* No entry point to code 3BBB:1D5C E8 FE74 call sub_76 ; (1BD3) 3BBB:1D5F E9 FEA2 jmp loc_326 ; (1C04) ;* No entry point to code 3BBB:1D62 8B 3E 05BE mov di,word ptr ds:[5BEh] ; (3BBB:05BE=2D03h) 3BBB:1D66 8B 36 05BC mov si,word ptr ds:[5BCh] ; (3BBB:05BC=74C0h) 3BBB:1D6A A1 05B4 mov ax,word ptr ds:[5B4h] ; (3BBB:05B4=0F300h) 3BBB:1D6D 05 0002 add ax,2 3BBB:1D70 3B F0 cmp si,ax 3BBB:1D72 75 2F jne loc_342 ; Jump if not equal 3BBB:1D74 3B 3E 05C0 cmp di,word ptr ds:[5C0h] ; (3BBB:05C0=258h) 3BBB:1D78 75 29 jne loc_342 ; Jump if not equal 3BBB:1D7A ,BF 01BB mov di,offset data_271 ; (3BBB:01BB=75h) 3BBB:1D7D 32 ED xor ch,ch ; Zero register 3BBB:1D7F 8A 0E 01BA mov cl,data_270 ; (3BBB:01BA=74h) 3BBB:1D83 E3 21 jcxz loc_ret_343 ; Jump if cx=0 3BBB:1D85 locloop_340: ; xref 3BBB:1D92 3BBB:1D85 3B 36 05C0 cmp si,word ptr ds:[5C0h] ; (3BBB:05C0=258h) 3BBB:1D89 73 09 jae loc_341 ; Jump if above or = 3BBB:1D8B 8A 1D mov bl,[di] 3BBB:1D8D 47 inc di 3BBB:1D8E 26: 88 1C mov es:[si],bl 3BBB:1D91 46 inc si 3BBB:1D92 E2 F1 loop locloop_340 ; Loop if cx > 0 3BBB:1D94 loc_341: ; xref 3BBB:1D89 3BBB:1D94 8B FE mov di,si 3BBB:1D96 E8 FDEB call sub_75 ; (1B84) 3BBB:1D99 E8 FDA0 call sub_71 ; (1B3C) 3BBB:1D9C 89 36 05BC mov word ptr ds:[5BCh],si ; (3BBB:05BC=74C0h) 3BBB:1DA0 E9 FE1A jmp loc_323 ; (1BBD) 3BBB:1DA3 loc_342: ; xref 3BBB:1D72, 1D78 3BBB:1DA3 E9 FDEE jmp loc_321 ; (1B94) 3BBB:1DA6 loc_ret_343: ; xref 3BBB:1D83 3BBB:1DA6 C3 retn ;* No entry point to code 3BBB:1DA7 A1 05BC mov ax,word ptr ds:[5BCh] ; (3BBB:05BC=74C0h) 3BBB:1DAA E8 FDD7 call sub_75 ; (1B84) 3BBB:1DAD 3B C6 cmp ax,si 3BBB:1DAF 76 0F jbe loc_ret_344 ; Jump if below or = 3BBB:1DB1 A0 05C2 mov al,byte ptr ds:[5C2h] ; (3BBB:05C2=0BFh) 3BBB:1DB4 E8 FDBD call sub_74 ; (1B74) 3BBB:1DB7 E8 FD7A call sub_70 ; (1B34) 3BBB:1DBA A0 05C2 mov al,byte ptr ds:[5C2h] ; (3BBB:05C2=0BFh) 3BBB:1DBD E8 FD9A call sub_73 ; (1B5A) 3BBB:1DC0 loc_ret_344: ; xref 3BBB:1DAF 3BBB:1DC0 C3 retn ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:1EEB ;========================================================================== 3BBB:1DC1 sub_82 proc near 3BBB:1DC1 8A C8 mov cl,al 3BBB:1DC3 A1 05BC mov ax,word ptr ds:[5BCh] ; (3BBB:05BC=74C0h) 3BBB:1DC6 3B 06 05BE cmp ax,word ptr ds:[5BEh] ; (3BBB:05BE=2D03h) 3BBB:1DCA 73 32 jae loc_ret_346 ; Jump if above or = 3BBB:1DCC A0 0064 mov al,data_208 ; (3BBB:0064=0) 3BBB:1DCF 3A 06 0065 cmp al,data_209 ; (3BBB:0065=0) 3BBB:1DD3 72 10 jb loc_345 ; Jump if below 3BBB:1DD5 51 push cx 3BBB:1DD6 E8 FE1C call sub_77 ; (1BF5) 3BBB:1DD9 C6 06 05C2 00 mov byte ptr ds:[5C2h],0 ; (3BBB:05C2=0BFh) 3BBB:1DDE A1 05BC mov ax,word ptr ds:[5BCh] ; (3BBB:05BC=74C0h) 3BBB:1DE1 A3 05BA mov word ptr ds:[5BAh],ax ; (3BBB:05BA=0BADh) 3BBB:1DE4 59 pop cx 3BBB:1DE5 loc_345: ; xref 3BBB:1DD3 3BBB:1DE5 8B 36 05BC mov si,word ptr ds:[5BCh] ; (3BBB:05BC=74C0h) 3BBB:1DE9 26: 88 0C mov es:[si],cl 3BBB:1DEC FF 06 05BC inc word ptr ds:[5BCh] ; (3BBB:05BC=74C0h) 3BBB:1DF0 E8 FD22 call sub_69 ; (1B15) 3BBB:1DF3 A0 0064 mov al,data_208 ; (3BBB:0064=0) 3BBB:1DF6 50 push ax 3BBB:1DF7 E8 FD3A call sub_70 ; (1B34) 3BBB:1DFA 58 pop ax 3BBB:1DFB E8 FD76 call sub_74 ; (1B74) 3BBB:1DFE loc_ret_346: ; xref 3BBB:1DCA 3BBB:1DFE C3 retn sub_82 endp ;* No entry point to code 3BBB:1DFF 58 pop ax 3BBB:1E00 B1 0D mov cl,0Dh 3BBB:1E02 E8 FD10 call sub_69 ; (1B15) 3BBB:1E05 8B 3E 05BE mov di,word ptr ds:[5BEh] ; (3BBB:05BE=2D03h) 3BBB:1E09 loc_347: ; xref 3BBB:1E1E 3BBB:1E09 ,3B 3E 05C0 cmp di,word ptr ds:[5C0h] ; (3BBB:05C0=258h) 3BBB:1E0D 73 11 jae loc_348 ; Jump if above or = 3BBB:1E0F 26: 8A 05 mov al,es:[di] 3BBB:1E12 47 inc di 3BBB:1E13 8B 36 05BC mov si,word ptr ds:[5BCh] ; (3BBB:05BC=74C0h) 3BBB:1E17 26: 88 04 mov es:[si],al 3BBB:1E1A FF 06 05BC inc word ptr ds:[5BCh] ; (3BBB:05BC=74C0h) 3BBB:1E1E EB E9 jmp short loc_347 ; (1E09) 3BBB:1E20 loc_348: ; xref 3BBB:1E0D 3BBB:1E20 E8 FDB0 call sub_76 ; (1BD3) 3BBB:1E23 8B 1E 05B4 mov bx,word ptr ds:[5B4h] ; (3BBB:05B4=0F300h) 3BBB:1E27 26: 88 47 01 mov es:[bx+1],al 3BBB:1E2B 8E 06 004E mov es,data_193 ; (3BBB:004E=0) 3BBB:1E2F C3 retn ;* No entry point to code 3BBB:1E30 41 inc cx 3BBB:1E31 1D 1BA3 sbb ax,1BA3h 3BBB:1E34 F4 hlt ; Halt processor 3BBB:1E35 1B 41 1D sbb ax,[bx+di+1Dh] 3BBB:1E38 41 inc cx 3BBB:1E39 1D 1C21 sbb ax,1C21h 3BBB:1E3C 3A 1C cmp bl,[si] 3BBB:1E3E 66 1C 7F 1C 41 1D db 66h, 1Ch, 7Fh, 1Ch, 41h, 1Dh 3BBB:1E44 7F 1D BE 1C 41 1D db 7Fh, 1Dh,0BEh, 1Ch, 41h, 1Dh 3BBB:1E4A 7F 1D 41 1D 41 1D db 7Fh, 1Dh, 41h, 1Dh, 41h, 1Dh 3BBB:1E50 41 1D 41 1D C8 1C db 41h, 1Dh, 41h, 1Dh,0C8h, 1Ch 3BBB:1E56 41 1D 41 1D DC 1C db 41h, 1Dh, 41h, 1Dh,0DCh, 1Ch 3BBB:1E5C 41 1D E2 1C 27 1D db 41h, 1Dh,0E2h, 1Ch, 27h, 1Dh 3BBB:1E62 26 80 3E 18 00 00 db 26h, 80h, 3Eh, 18h, 00h, 00h 3BBB:1E68 74 03 E9 B5 FB E8 db 74h, 03h,0E9h,0B5h,0FBh,0E8h 3BBB:1E6E 38 FB 8B DA 26 A1 db 38h,0FBh, 8Bh,0DAh, 26h,0A1h 3BBB:1E74 2E 00 42 75 0C 26 db 2Eh, 00h, 42h, 75h, 0Ch, 26h 3BBB:1E7A A1 3A 00 26 8B 1E db 0A1h, 3Ah, 00h, 26h, 8Bh, 1Eh 3BBB:1E80 38 00 8D 4F 02 A3 db 38h, 00h, 8Dh, 4Fh, 02h,0A3h 3BBB:1E86 B6 05 8E C0 89 1E db 0B6h, 05h, 8Eh,0C0h, 89h, 1Eh 3BBB:1E8C B4 05 db 0B4h, 05h 3BBB:1E8E 89 data_668 db 89h ; xref 3BBB:6B1E 3BBB:1E8F 0E B8 05 E8 EF FC db 0Eh,0B8h, 05h,0E8h,0EFh,0FCh 3BBB:1E95 8B C6 26 02 07 80 db 8Bh,0C6h, 26h, 02h, 07h, 80h 3BBB:1E9B D4 00 A3 BE 05 A3 db 0D4h, 00h,0A3h,0BEh, 05h,0A3h 3BBB:1EA1 C0 05 A0 64 00 A2 db 0C0h, 05h,0A0h, 64h, 00h,0A2h 3BBB:1EA7 C2 05 A2 C3 05 db 0C2h, 05h,0A2h,0C3h, 05h 3BBB:1EAC loc_349: ; xref 3BBB:1ED8, 1EE9, 1EEE 3BBB:1EAC ,8B 36 05B8 mov si,word ptr ds:[5B8h] ; (3BBB:05B8=372h) 3BBB:1EB0 3B 36 05B4 cmp si,word ptr ds:[5B4h] ; (3BBB:05B4=0F300h) 3BBB:1EB4 74 10 je loc_350 ; Jump if equal 3BBB:1EB6 26: AC lods byte ptr es:[si] ; String [si] to al 3BBB:1EB8 89 36 05B8 mov word ptr ds:[5B8h],si ; (3BBB:05B8=372h) 3BBB:1EBC 84 C0 test al,al 3BBB:1EBE 75 11 jnz loc_351 ; Jump if not zero 3BBB:1EC0 A1 05B4 mov ax,word ptr ds:[5B4h] ; (3BBB:05B4=0F300h) 3BBB:1EC3 A3 05B8 mov word ptr ds:[5B8h],ax ; (3BBB:05B8=372h) 3BBB:1EC6 loc_350: ; xref 3BBB:1EB4 3BBB:1EC6 8E 06 004E mov es,data_193 ; (3BBB:004E=0) 3BBB:1ECA E8 FA2D call sub_60 ; (18FA) 3BBB:1ECD 8E 06 05B6 mov es,word ptr ds:[5B6h] ; (3BBB:05B6=0BEA5h) 3BBB:1ED1 loc_351: ; xref 3BBB:1EBE 3BBB:1ED1 3C 7F cmp al,7Fh 3BBB:1ED3 75 05 jne loc_352 ; Jump if not equal 3BBB:1ED5 E8 FE3E call sub_81 ; (1D16) 3BBB:1ED8 EB D2 jmp short loc_349 ; (1EAC) 3BBB:1EDA loc_352: ; xref 3BBB:1ED3 3BBB:1EDA 3C 18 cmp al,18h 3BBB:1EDC 77 0D ja loc_353 ; Jump if above 3BBB:1EDE 8A D8 mov bl,al 3BBB:1EE0 32 FF xor bh,bh ; Zero register 3BBB:1EE2 D1 E3 shl bx,1 ; Shift w/zeros fill 3BBB:1EE4 2E: FF 97 1DB0 call word ptr cs:[1DB0h][bx] ;*(3BBB:1DB0=0A00Fh) 3BBB:1EE9 EB C1 jmp short loc_349 ; (1EAC) 3BBB:1EEB loc_353: ; xref 3BBB:1EDC 3BBB:1EEB E8 FED3 call sub_82 ; (1DC1) 3BBB:1EEE EB BC jmp short loc_349 ; (1EAC) ;* No entry point to code 3BBB:1EF0 33 DB xor bx,bx ; Zero register 3BBB:1EF2 26: 80 3E 0018 00 cmp byte ptr es:data_1132e,0 ; (BEA5:0018=20h) 3BBB:1EF8 75 1F jne loc_ret_355 ; Jump if not equal 3BBB:1EFA E8 FAAB call sub_63 ; (19A8) 3BBB:1EFD E8 F9C3 call sub_57 ; (18C3) 3BBB:1F00 74 17 jz loc_ret_355 ; Jump if zero 3BBB:1F02 26: F7 06 0016 0001 test word ptr es:data_1131e,1 ; (BEA5:0016=720h) 3BBB:1F09 74 0C jz loc_354 ; Jump if zero 3BBB:1F0B E8 F9EC call sub_60 ; (18FA) 3BBB:1F0E 33 DB xor bx,bx ; Zero register 3BBB:1F10 3C 03 cmp al,3 3BBB:1F12 75 05 jne loc_ret_355 ; Jump if not equal 3BBB:1F14 A3 05AC mov word ptr ds:[5ACh],ax ; (3BBB:05AC=6CBFh) 3BBB:1F17 loc_354: ; xref 3BBB:1F09 3BBB:1F17 B3 01 mov bl,1 3BBB:1F19 loc_ret_355: ; xref 3BBB:1EF8, 1F00, 1F12 3BBB:1F19 C3 retn ;* No entry point to code 3BBB:1F1A 8B F2 mov si,dx 3BBB:1F1C 1E push ds 3BBB:1F1D 26: 8E 1E 002E mov ds,es:data_177 ; (3BBB:002E=3BBBh) 3BBB:1F22 8A 04 mov al,[si] 3BBB:1F24 8B 4C 01 mov cx,[si+1] 3BBB:1F27 8B 54 03 mov dx,[si+3] 3BBB:1F2A 1F pop ds 3BBB:1F2B 32 E4 xor ah,ah ; Zero register 3BBB:1F2D 3C 80 cmp al,80h 3BBB:1F2F 73 0D jae loc_356 ; Jump if above or = 3BBB:1F31 3C 16 cmp al,16h 3BBB:1F33 77 3F ja loc_360 ; Jump if above 3BBB:1F35 8B D8 mov bx,ax 3BBB:1F37 D1 E3 shl bx,1 ; Shift w/zeros fill 3BBB:1F39 2E: FF A7 1F14 jmp word ptr cs:[1F14h][bx] ;*(3BBB:1F14=0ACA3h) 3BBB:1F3E loc_356: ; xref 3BBB:1F2F, 1F7F, 1F8E 3BBB:1F3E ,FF 1E 0028 call dword ptr data_176 ; (3BBB:0028=0) 3BBB:1F42 C3 retn ;* No entry point to code 3BBB:1F43 26: 80 3E 0018 00 cmp es:data_169,0 ; (3BBB:0018=0) 3BBB:1F49 75 06 jne loc_357 ; Jump if not equal 3BBB:1F4B E8 FA4E call sub_62 ; (199C) 3BBB:1F4E E9 F972 jmp loc_273 ; (18C3) 3BBB:1F51 loc_357: ; xref 3BBB:1F49 3BBB:1F51 33 DB xor bx,bx ; Zero register 3BBB:1F53 C3 retn ;* No entry point to code 3BBB:1F54 26: 80 3E 0018 00 cmp es:data_169,0 ; (3BBB:0018=0) 3BBB:1F5A 75 06 jne loc_358 ; Jump if not equal 3BBB:1F5C E8 FA3D call sub_62 ; (199C) 3BBB:1F5F E9 F998 jmp loc_278 ; (18FA) 3BBB:1F62 loc_358: ; xref 3BBB:1F5A 3BBB:1F62 E9 FABD jmp loc_298 ; (1A22) ;* No entry point to code 3BBB:1F65 26: 80 3E 0018 00 cmp es:data_169,0 ; (3BBB:0018=0) 3BBB:1F6B 75 06 jne loc_ret_359 ; Jump if not equal 3BBB:1F6D E8 FA2C call sub_62 ; (199C) 3BBB:1F70 E9 0205 jmp loc_382 ; (2178) 3BBB:1F73 loc_ret_359: ; xref 3BBB:1F6B 3BBB:1F73 C3 retn 3BBB:1F74 loc_360: ; xref 3BBB:1F33 3BBB:1F74 BB FFFF mov bx,0FFFFh 3BBB:1F77 C3 retn ;* No entry point to code 3BBB:1F78 B0 03 mov al,3 3BBB:1F7A E9 FB07 jmp loc_304 ; (1A84) ;* No entry point to code 3BBB:1F7D B0 0E mov al,0Eh 3BBB:1F7F EB BD jmp short loc_356 ; (1F3E) ;* No entry point to code 3BBB:1F81 26: 80 3E 0018 00 cmp es:data_169,0 ; (3BBB:0018=0) 3BBB:1F87 75 07 jne loc_361 ; Jump if not equal 3BBB:1F89 E8 FA10 call sub_62 ; (199C) 3BBB:1F8C B0 0F mov al,0Fh 3BBB:1F8E EB AE jmp short loc_356 ; (1F3E) 3BBB:1F90 loc_361: ; xref 3BBB:1F87 3BBB:1F90 BB 00FF mov bx,0FFh 3BBB:1F93 C3 retn ;* No entry point to code 3BBB:1F94 A9 A919 test ax,0A919h 3BBB:1F97 19 C3 ;* sbb bx,ax 3BBB:1F97 db 19h,0C3h ; Fixup - byte match 3BBB:1F99 1E push ds 3BBB:1F9A D4 1E ;* aam 1Eh ; undocumented inst 3BBB:1F9A db 0D4h, 1Eh ; Fixup - byte match 3BBB:1F9C E5 1E in ax,1Eh ; port 1Eh ??I/O Non-standard 3BBB:1F9E 02 1A add bl,[bp+si] 3BBB:1FA0 FE 19 DC 19 F4 1E db 0FEh, 19h,0DCh, 19h,0F4h, 1Eh 3BBB:1FA6 F4 1E F4 1E F4 1E db 0F4h, 1Eh,0F4h, 1Eh,0F4h, 1Eh 3BBB:1FAC F4 1E F4 1E F4 1E db 0F4h, 1Eh,0F4h, 1Eh,0F4h, 1Eh 3BBB:1FB2 F8 1E F4 1E F4 1E db 0F8h, 1Eh,0F4h, 1Eh,0F4h, 1Eh 3BBB:1FB8 F4 1E F4 1E F4 1E db 0F4h, 1Eh,0F4h, 1Eh,0F4h, 1Eh 3BBB:1FBE FD 1E 01 1F 42 74 db 0FDh, 1Eh, 01h, 1Fh, 42h, 74h 3BBB:1FC4 0D 4A 26 89 16 16 db 0Dh, 4Ah, 26h, 89h, 16h, 16h 3BBB:1FCA 00 26 81 0E 06 00 db 00h, 26h, 81h, 0Eh, 06h, 00h 3BBB:1FD0 00 80 26 8B 1E 16 db 00h, 80h, 26h, 8Bh, 1Eh, 16h 3BBB:1FD6 00 C3 42 74 06 4A db 00h,0C3h, 42h, 74h, 06h, 4Ah 3BBB:1FDC 26 88 16 19 00 db 26h, 88h, 16h, 19h, 00h 3BBB:1FE1 loc_362: 3BBB:1FE1 26: 8A 1E 0019 mov bl,es:data_170 ; (3BBB:0019=0) 3BBB:1FE6 C3 retn ;* No entry point to code 3BBB:1FE7 26: 80 3E 0018 00 cmp es:data_169,0 ; (3BBB:0018=0) 3BBB:1FED 75 27 jne loc_ret_365 ; Jump if not equal 3BBB:1FEF E8 F9B6 call sub_63 ; (19A8) 3BBB:1FF2 8B FA mov di,dx 3BBB:1FF4 E8 0098 call sub_84 ; (208F) 3BBB:1FF7 loc_363: ; xref 3BBB:1B11 3BBB:1FF7 E3 1D jcxz loc_ret_365 ; Jump if cx=0 3BBB:1FF9 26: F7 06 0016 0004 test es:data_168,4 ; (3BBB:0016=0) 3BBB:2000 90 nop 3BBB:2001 90 nop 3BBB:2002 8B F7 mov si,di 3BBB:2004 locloop_364: ; xref 3BBB:2014 3BBB:2004 51 push cx 3BBB:2005 1E push ds 3BBB:2006 8E DB mov ds,bx 3BBB:2008 AC lodsb ; String [si] to al 3BBB:2009 8A C8 mov cl,al 3BBB:200B 1F pop ds 3BBB:200C 56 push si 3BBB:200D 53 push bx 3BBB:200E E8 F9E4 call sub_66 ; (19F5) 3BBB:2011 5B pop bx 3BBB:2012 5E pop si 3BBB:2013 59 pop cx 3BBB:2014 E2 EE loop locloop_364 ; Loop if cx > 0 3BBB:2016 loc_ret_365: ; xref 3BBB:1FED, 1FF7, 2019 3BBB:2016 C3 retn 3BBB:2017 2B D2 db 2Bh,0D2h ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:2086 ;========================================================================== 3BBB:2019 sub_83 proc near 3BBB:2019 E3 FB jcxz loc_ret_365 ; Jump if cx=0 3BBB:201B 85 D2 test dx,dx 3BBB:201D 75 23 jnz loc_366 ; Jump if not zero 3BBB:201F 26: A1 0078 mov ax,es:data_218 ; (3BBB:0078=0) 3BBB:2023 0B C0 or ax,ax ; Zero ? 3BBB:2025 74 1B jz loc_366 ; Jump if zero 3BBB:2027 1E push ds 3BBB:2028 8E D8 mov ds,ax 3BBB:202A A0 0000 mov al,ds:data_1e ; (0000:0000=62h) 3BBB:202D 1F pop ds 3BBB:202E BA 0100 mov dx,100h 3BBB:2031 3C 04 cmp al,4 3BBB:2033 74 0D je loc_366 ; Jump if equal 3BBB:2035 BA 0300 mov dx,300h 3BBB:2038 3C 02 cmp al,2 3BBB:203A 74 2C je loc_370 ; Jump if equal 3BBB:203C 0A C0 or al,al ; Zero ? 3BBB:203E 74 05 jz loc_367 ; Jump if zero 3BBB:2040 EB 38 jmp short loc_ret_371 ; (207A) 3BBB:2042 loc_366: ; xref 3BBB:201D, 2025, 2033 3BBB:2042 E9 0023 jmpn loc_370 ; (2068) 3BBB:2045 loc_367: ; xref 3BBB:203E 3BBB:2045 8B F7 mov si,di 3BBB:2047 E3 1E jcxz loc_ret_369 ; Jump if cx=0 3BBB:2049 locloop_368: ; xref 3BBB:2065 3BBB:2049 26: 83 3E 0078 00 cmp es:data_218,0 ; (3BBB:0078=0) 3BBB:204F 74 16 je loc_ret_369 ; Jump if equal 3BBB:2051 53 push bx 3BBB:2052 51 push cx 3BBB:2053 1E push ds 3BBB:2054 8E DB mov ds,bx 3BBB:2056 AC lodsb ; String [si] to al 3BBB:2057 91 xchg cx,ax 3BBB:2058 26: 8E 1E 0078 mov ds,es:data_218 ; (3BBB:0078=0) 3BBB:205D 56 push si 3BBB:205E E8 01BB call sub_89 ; (221C) 3BBB:2061 5E pop si 3BBB:2062 1F pop ds 3BBB:2063 59 pop cx 3BBB:2064 5B pop bx 3BBB:2065 E2 E2 loop locloop_368 ; Loop if cx > 0 3BBB:2067 loc_ret_369: ; xref 3BBB:2047, 204F 3BBB:2067 C3 retn 3BBB:2068 loc_370: ; xref 3BBB:203A, 2042, 2078 3BBB:2068 ,52 push dx 3BBB:2069 51 push cx 3BBB:206A 53 push bx 3BBB:206B 57 push di 3BBB:206C B0 27 mov al,27h ; ''' 3BBB:206E FF 1E 0028 call dword ptr data_176 ; (3BBB:0028=0) 3BBB:2072 5F pop di 3BBB:2073 5B pop bx 3BBB:2074 59 pop cx 3BBB:2075 5A pop dx 3BBB:2076 E3 02 jcxz loc_ret_371 ; Jump if cx=0 3BBB:2078 EB EE jmp short loc_370 ; (2068) 3BBB:207A loc_ret_371: ; xref 3BBB:2040, 2076 3BBB:207A C3 retn sub_83 endp ;* No entry point to code 3BBB:207B E8 FA12 call sub_68 ; (1A90) 3BBB:207E 8B FA mov di,dx 3BBB:2080 E8 000C call sub_84 ; (208F) 3BBB:2083 BA 0100 mov dx,100h 3BBB:2086 E8 FF90 call sub_83 ; (2019) 3BBB:2089 C6 06 05B3 FF mov byte ptr ds:[5B3h],0FFh ; (3BBB:05B3=8) 3BBB:208E C3 retn ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:1FF4, 2080, 20D3 ;========================================================================== 3BBB:208F sub_84 proc near 3BBB:208F 1E push ds 3BBB:2090 26: 8E 1E 002E mov ds,es:data_177 ; (3BBB:002E=3BBBh) 3BBB:2095 8B 4D 04 mov cx,[di+4] 3BBB:2098 8B 5D 02 mov bx,[di+2] 3BBB:209B 8B 3D mov di,[di] 3BBB:209D 1F pop ds 3BBB:209E C3 retn sub_84 endp ;* No entry point to code 3BBB:209F B9 002D mov cx,2Dh 3BBB:20A2 80 3E 0F01 00 cmp byte ptr ds:[0F01h],0 ; (3BBB:0F01=0EBh) 3BBB:20A7 74 0B je loc_372 ; Jump if equal 3BBB:20A9 26: 80 3E 0018 00 cmp es:data_169,0 ; (3BBB:0018=0) 3BBB:20AF 74 07 je loc_373 ; Jump if equal 3BBB:20B1 B9 0020 mov cx,20h 3BBB:20B4 loc_372: ; xref 3BBB:20A7 3BBB:20B4 BB FFFF mov bx,0FFFFh 3BBB:20B7 C3 retn 3BBB:20B8 loc_373: ; xref 3BBB:20AF 3BBB:20B8 B9 0103 mov cx,103h 3BBB:20BB E9 E1E5 jmp loc_15 ; (02A3) ;* No entry point to code 3BBB:20BE 2B DB sub bx,bx 3BBB:20C0 C3 retn ;* No entry point to code 3BBB:20C1 E8 F9A6 call sub_67 ; (1A6A) 3BBB:20C4 8B FA mov di,dx 3BBB:20C6 BA 0200 mov dx,200h 3BBB:20C9 EB 08 jmp short loc_374 ; (20D3) ;* No entry point to code 3BBB:20CB E8 F99C call sub_67 ; (1A6A) 3BBB:20CE 8B FA mov di,dx 3BBB:20D0 BA 0300 mov dx,300h 3BBB:20D3 loc_374: ; xref 3BBB:20C9 3BBB:20D3 E8 FFB9 call sub_84 ; (208F) 3BBB:20D6 52 push dx 3BBB:20D7 51 push cx 3BBB:20D8 53 push bx 3BBB:20D9 57 push di 3BBB:20DA B0 27 mov al,27h ; ''' 3BBB:20DC FF 1E 0028 call dword ptr data_176 ; (3BBB:0028=0) 3BBB:20E0 83 C4 08 add sp,8 3BBB:20E3 C6 06 05B2 FF mov byte ptr ds:[5B2h],0FFh ; (3BBB:05B2=0B9h) 3BBB:20E8 C3 retn ;* No entry point to code 3BBB:20E9 26: A0 0005 mov al,es:data_159 ; (3BBB:0005=11h) 3BBB:20ED 3A 06 05B3 cmp al,byte ptr ds:[5B3h] ; (3BBB:05B3=8) 3BBB:20F1 75 05 jne loc_375 ; Jump if not equal 3BBB:20F3 C6 06 05B3 FF mov byte ptr ds:[5B3h],0FFh ; (3BBB:05B3=8) 3BBB:20F8 loc_375: ; xref 3BBB:20F1 3BBB:20F8 3A 06 05B2 cmp al,byte ptr ds:[5B2h] ; (3BBB:05B2=0B9h) 3BBB:20FC 75 05 jne loc_ret_376 ; Jump if not equal 3BBB:20FE C6 06 05B2 FF mov byte ptr ds:[5B2h],0FFh ; (3BBB:05B2=0B9h) 3BBB:2103 loc_ret_376: ; xref 3BBB:20FC 3BBB:2103 C3 retn ;* No entry point to code 3BBB:2104 52 push dx 3BBB:2105 8A CA mov cl,dl 3BBB:2107 33 D2 xor dx,dx ; Zero register 3BBB:2109 B0 02 mov al,2 3BBB:210B FF 1E 0028 call dword ptr data_176 ; (3BBB:0028=0) 3BBB:210F 5A pop dx 3BBB:2110 F7 06 05AE 0200 test word ptr ds:[5AEh],200h ; (3BBB:05AE=0BE00h) 3BBB:2116 74 0F jz loc_ret_377 ; Jump if zero 3BBB:2118 26: F7 06 0016 0004 test es:data_168,4 ; (3BBB:0016=0) 3BBB:211F 75 06 jnz loc_ret_377 ; Jump if not zero 3BBB:2121 B9 0005 mov cx,5 3BBB:2124 E8 E17C call sub_4 ; (02A3) 3BBB:2127 loc_ret_377: ; xref 3BBB:2116, 211F 3BBB:2127 C3 retn ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:18CA ;========================================================================== 3BBB:2128 sub_85 proc near 3BBB:2128 B8 0000 mov ax,0 3BBB:212B 26: F7 06 0076 FFFF test es:data_217,0FFFFh ; (3BBB:0076=0) 3BBB:2132 74 4E jz loc_383 ; Jump if zero 3BBB:2134 1E push ds 3BBB:2135 26: 8E 1E 0076 mov ds,es:data_217 ; (3BBB:0076=0) 3BBB:213A A0 0000 mov al,ds:data_1e ; (0000:0000=62h) 3BBB:213D 1F pop ds 3BBB:213E 3C 02 cmp al,2 3BBB:2140 72 0C jb loc_379 ; Jump if below 3BBB:2142 3C 03 cmp al,3 3BBB:2144 75 03 jne loc_378 ; Jump if not equal 3BBB:2146 E9 F998 jmp loc_310 ; (1AE1) 3BBB:2149 loc_378: ; xref 3BBB:2144 3BBB:2149 33 DB xor bx,bx ; Zero register 3BBB:214B 33 C0 xor ax,ax ; Zero register 3BBB:214D C3 retn 3BBB:214E loc_379: ; xref 3BBB:2140 3BBB:214E E9 0052 ;* jmpn loc_385 ;*(21A3) 3BBB:214E db 0E9h, 52h, 00h ; Fixup - byte match ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:18E0, 1904 3BBB:2151 sub_86: 3BBB:2151 B8 0001 mov ax,1 3BBB:2154 26: F7 06 0076 FFFF test es:data_217,0FFFFh ; (3BBB:0076=0) 3BBB:215B 74 25 jz loc_383 ; Jump if zero 3BBB:215D 26: A1 0076 mov ax,es:data_217 ; (3BBB:0076=0) 3BBB:2161 loc_380: ; xref 3BBB:218F 3BBB:2161 ,1E push ds 3BBB:2162 8E D8 mov ds,ax 3BBB:2164 A0 0000 mov al,ds:data_1e ; (0000:0000=62h) 3BBB:2167 1F pop ds 3BBB:2168 ,BB 0005 mov bx,offset data_159 ; (3BBB:0005=11h) 3BBB:216B 3C 04 cmp al,4 3BBB:216D 77 02 ja loc_381 ; Jump if above 3BBB:216F 8A D8 mov bl,al 3BBB:2171 loc_381: ; xref 3BBB:216D 3BBB:2171 D1 E3 shl bx,1 ; Shift w/zeros fill 3BBB:2173 2E: FF A7 2117 jmp word ptr cs:[2117h][bx] ;*(3BBB:2117=260Fh) 1 entry ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:194F 3BBB:2178 sub_87: 3BBB:2178 loc_382: ; xref 3BBB:1A57, 1AB4, 1F70 3BBB:2178 B0 02 mov al,2 3BBB:217A 26: 83 3E 0078 00 cmp es:data_218,0 ; (3BBB:0078=0) 3BBB:2180 75 09 jne loc_384 ; Jump if not equal ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:1A61, 1A87 3BBB:2182 sub_88: 3BBB:2182 loc_383: ; xref 3BBB:2132, 215B, 21D7 3BBB:2182 ,51 push cx 3BBB:2183 33 D2 xor dx,dx ; Zero register 3BBB:2185 FF 1E 0028 call dword ptr data_176 ; (3BBB:0028=0) 3BBB:2189 59 pop cx 3BBB:218A C3 retn 3BBB:218B loc_384: ; xref 3BBB:2180 3BBB:218B 26: A1 0078 mov ax,es:data_218 ; (3BBB:0078=0) 3BBB:218F E9 FFCF ;* jmp loc_380 ; (2161) 3BBB:218F db 0E9h,0CFh,0FFh ; Fixup - byte match ;* No entry point to code 3BBB:2192 33 C0 xor ax,ax ; Zero register 3BBB:2194 8B D8 mov bx,ax 3BBB:2196 C3 retn ;* No entry point to code 3BBB:2197 7E 21 jle loc_388 ; Jump if < or = 3BBB:2199 3D FE21 cmp ax,0FE21h 3BBB:219C 19 DC ;* sbb sp,bx 3BBB:219C db 19h,0DCh ; Fixup - byte match 3BBB:219E 19 02 sbb [bp+si],ax 3BBB:21A0 1A 12 sbb dl,[bp+si] 3BBB:21A2 21 1E 8E26 and word ptr ds:[8E26h],bx ; (3BBB:8E26=0E8EEh) 3BBB:21A6 1E push ds 3BBB:21A7 76 00 jbe $+2 ; delay for I/O 3BBB:21A9 E8 00A7 call sub_90 ; (2253) 3BBB:21AC 1F pop ds 3BBB:21AD 80 FB 00 cmp bl,0 3BBB:21B0 75 05 jne loc_387 ; Jump if not equal 3BBB:21B2 loc_386: ; xref 3BBB:21D2 3BBB:21B2 33 DB xor bx,bx ; Zero register 3BBB:21B4 33 C0 xor ax,ax ; Zero register 3BBB:21B6 C3 retn 3BBB:21B7 loc_387: ; xref 3BBB:21B0 3BBB:21B7 BB 0001 mov bx,1 3BBB:21BA loc_388: ; xref 3BBB:2197 3BBB:21BA 8B C3 mov ax,bx 3BBB:21BC C3 retn sub_85 endp ;* No entry point to code 3BBB:21BD 1E push ds 3BBB:21BE 26: 8E 1E 0076 mov ds,es:data_217 ; (3BBB:0076=0) 3BBB:21C3 E8 008D call sub_90 ; (2253) 3BBB:21C6 1F pop ds 3BBB:21C7 80 FB 00 cmp bl,0 3BBB:21CA 75 0E jne loc_389 ; Jump if not equal 3BBB:21CC 26: 80 3E 0018 00 cmp es:data_169,0 ; (3BBB:0018=0) 3BBB:21D2 75 DE jne loc_386 ; Jump if not equal 3BBB:21D4 B8 0001 mov ax,1 3BBB:21D7 E9 FFA8 ;* jmp loc_383 ; (2182) 3BBB:21D7 db 0E9h,0A8h,0FFh ; Fixup - byte match 3BBB:21DA loc_389: ; xref 3BBB:21CA 3BBB:21DA 1E push ds 3BBB:21DB 26: 8E 1E 0076 mov ds,es:data_217 ; (3BBB:0076=0) 3BBB:21E0 FE 06 0025 inc byte ptr ds:data_10e+1 ; (0000:0025=3) 3BBB:21E4 80 FB 0D cmp bl,0Dh 3BBB:21E7 75 0F jne loc_390 ; Jump if not equal 3BBB:21E9 E8 0067 call sub_90 ; (2253) 3BBB:21EC 8A C3 mov al,bl 3BBB:21EE B3 0D mov bl,0Dh 3BBB:21F0 3C 0A cmp al,0Ah 3BBB:21F2 75 04 jne loc_390 ; Jump if not equal 3BBB:21F4 FE 06 0025 inc byte ptr ds:data_10e+1 ; (0000:0025=3) 3BBB:21F8 loc_390: ; xref 3BBB:21E7, 21F2 3BBB:21F8 1F pop ds 3BBB:21F9 32 FF xor bh,bh ; Zero register 3BBB:21FB 8B C3 mov ax,bx 3BBB:21FD C3 retn ;* No entry point to code 3BBB:21FE 1E push ds 3BBB:21FF 26: 8E 1E 0078 mov ds,es:data_218 ; (3BBB:0078=0) 3BBB:2204 E8 0015 call sub_89 ; (221C) 3BBB:2207 1F pop ds 3BBB:2208 C3 retn ;* No entry point to code 3BBB:2209 26: A1 0078 mov ax,es:data_218 ; (3BBB:0078=0) 3BBB:220D 0B C0 or ax,ax ; Zero ? 3BBB:220F 74 0A jz loc_ret_391 ; Jump if zero 3BBB:2211 1E push ds 3BBB:2212 8E D8 mov ds,ax 3BBB:2214 B9 0022 mov cx,22h 3BBB:2217 E8 0069 call sub_91 ; (2283) 3BBB:221A 1F pop ds 3BBB:221B loc_ret_391: ; xref 3BBB:220F 3BBB:221B C3 retn ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:205E, 2204 ;========================================================================== 3BBB:221C sub_89 proc near 3BBB:221C A0 0025 mov al,byte ptr ds:data_10e+1 ; (0000:0025=3) 3BBB:221F 0A C0 or al,al ; Zero ? 3BBB:2221 79 25 jns loc_393 ; Jump if not sign 3BBB:2223 51 push cx 3BBB:2224 B9 0022 mov cx,22h 3BBB:2227 E8 0059 call sub_91 ; (2283) 3BBB:222A FF 06 0022 inc word ptr ds:data_9e ; (0000:0022=0EDFh) 3BBB:222E 75 04 jnz loc_392 ; Jump if not zero 3BBB:2230 FE 06 0024 inc byte ptr ds:data_10e ; (0000:0024=0B4h) 3BBB:2234 loc_392: ; xref 3BBB:222E 3BBB:2234 06 push es 3BBB:2235 1E push ds 3BBB:2236 07 pop es 3BBB:2237 ,BF 0028 mov di,data_13e ; (0000:0028=2Ah) 3BBB:223A B9 0040 mov cx,40h 3BBB:223D 33 C0 xor ax,ax ; Zero register 3BBB:223F F3/ AB rep stosw ; Rep when cx >0 Store ax to es:[di] 3BBB:2241 07 pop es 3BBB:2242 59 pop cx 3BBB:2243 32 C0 xor al,al ; Zero register 3BBB:2245 A2 0025 mov byte ptr ds:data_10e+1,al ; (0000:0025=3) 3BBB:2248 loc_393: ; xref 3BBB:2221 3BBB:2248 32 E4 xor ah,ah ; Zero register 3BBB:224A 96 xchg si,ax 3BBB:224B 88 4C 28 mov [si+28h],cl 3BBB:224E FE 06 0025 inc byte ptr ds:data_10e+1 ; (0000:0025=3) 3BBB:2252 C3 retn sub_89 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:21A9, 21C3, 21E9 ;========================================================================== 3BBB:2253 sub_90 proc near 3BBB:2253 A0 0025 mov al,data_175 ; (3BBB:0025=0) 3BBB:2256 0A C0 or al,al ; Zero ? 3BBB:2258 79 15 jns loc_395 ; Jump if not sign 3BBB:225A B9 0021 mov cx,21h 3BBB:225D FF 06 0022 inc data_173 ; (3BBB:0022=0) 3BBB:2261 75 04 jnz loc_394 ; Jump if not zero 3BBB:2263 FE 06 0024 inc data_174 ; (3BBB:0024=0) 3BBB:2267 loc_394: ; xref 3BBB:2261 3BBB:2267 E8 0019 call sub_91 ; (2283) 3BBB:226A 32 C0 xor al,al ; Zero register 3BBB:226C A2 0025 mov data_175,al ; (3BBB:0025=0) 3BBB:226F loc_395: ; xref 3BBB:2258 3BBB:226F 32 E4 xor ah,ah ; Zero register 3BBB:2271 96 xchg si,ax 3BBB:2272 8A 5C 28 mov bl,[si+28h] 3BBB:2275 0A DB or bl,bl ; Zero ? 3BBB:2277 75 07 jnz loc_396 ; Jump if not zero 3BBB:2279 26: C7 06 0076 0000 mov es:data_217,0 ; (3BBB:0076=0) 3BBB:2280 loc_396: ; xref 3BBB:2277 3BBB:2280 8A C3 mov al,bl 3BBB:2282 C3 retn sub_90 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:2217, 2227, 2267 ;========================================================================== 3BBB:2283 sub_91 proc near 3BBB:2283 26: A0 0047 mov al,es:data_189 ; (3BBB:0047=0) 3BBB:2287 26: 8A 26 0046 mov ah,es:data_188 ; (3BBB:0046=0) 3BBB:228C 50 push ax 3BBB:228D 26: FF 36 003A push word ptr es:data_181+2 ; (3BBB:003A=3BBBh) 3BBB:2292 26: FF 36 0038 push es:data_181 ; (3BBB:0038=0) 3BBB:2297 E8 008F call sub_92 ; (2329) 3BBB:229A 26: C6 06 0046 FF mov es:data_188,0FFh ; (3BBB:0046=0) 3BBB:22A0 26: C6 06 0047 01 mov es:data_189,1 ; (3BBB:0047=0) 3BBB:22A6 26: C7 06 0038 0028 mov es:data_181,28h ; (3BBB:0038=0) 3BBB:22AD 26: 8C 1E 003A mov word ptr es:data_181+2,ds ; (3BBB:003A=3BBBh) 3BBB:22B2 51 push cx 3BBB:22B3 B9 000F mov cx,0Fh 3BBB:22B6 BA 0001 mov dx,1 3BBB:22B9 E8 DFE7 call sub_4 ; (02A3) 3BBB:22BC 59 pop cx 3BBB:22BD 80 FB FF cmp bl,0FFh 3BBB:22C0 74 0A je loc_397 ; Jump if equal 3BBB:22C2 BA 0001 mov dx,1 3BBB:22C5 E8 DFDB call sub_4 ; (02A3) 3BBB:22C8 0A DB or bl,bl ; Zero ? 3BBB:22CA 74 1C jz loc_399 ; Jump if zero 3BBB:22CC loc_397: ; xref 3BBB:22C0 3BBB:22CC 80 3E 0000 00 cmp byte ptr ds:data_1e,0 ; (0000:0000=62h) 3BBB:22D1 74 0E je loc_398 ; Jump if equal 3BBB:22D3 C6 06 0028 00 mov byte ptr ds:data_13e,0 ; (0000:0028=2Ah) 3BBB:22D8 26: C7 06 0076 0000 mov es:data_217,0 ; (3BBB:0076=0) 3BBB:22DF EB 07 jmp short loc_399 ; (22E8) 3BBB:22E1 loc_398: ; xref 3BBB:22D1 3BBB:22E1 26: C7 06 0078 0000 mov es:data_218,0 ; (3BBB:0078=0) 3BBB:22E8 loc_399: ; xref 3BBB:22CA, 22DF 3BBB:22E8 B9 0010 mov cx,10h 3BBB:22EB BA 0001 mov dx,1 3BBB:22EE E8 DFB2 call sub_4 ; (02A3) 3BBB:22F1 80 3E 0000 00 cmp byte ptr ds:data_1e,0 ; (0000:0000=62h) 3BBB:22F6 75 19 jne loc_400 ; Jump if not equal 3BBB:22F8 A0 0025 mov al,byte ptr ds:data_10e+1 ; (0000:0025=3) 3BBB:22FB A8 7F test al,7Fh 3BBB:22FD 74 12 jz loc_400 ; Jump if zero 3BBB:22FF ,BB 0001 mov bx,data_1e+1 ; (0000:0001=1) 3BBB:2302 B9 001E mov cx,1Eh 3BBB:2305 8B D3 mov dx,bx 3BBB:2307 80 4F 06 80 or byte ptr [bx+6],80h 3BBB:230B 88 47 20 mov [bx+20h],al 3BBB:230E E8 DF92 call sub_4 ; (02A3) 3BBB:2311 loc_400: ; xref 3BBB:22F6, 22FD 3BBB:2311 E8 0015 call sub_92 ; (2329) 3BBB:2314 26: 8F 06 0038 pop es:data_181 ; (3BBB:0038=0) 3BBB:2319 26: 8F 06 003A pop word ptr es:data_181+2 ; (3BBB:003A=3BBBh) 3BBB:231E 58 pop ax 3BBB:231F 26: A2 0047 mov es:data_189,al ; (3BBB:0047=0) 3BBB:2323 26: 88 26 0046 mov es:data_188,ah ; (3BBB:0046=0) 3BBB:2328 C3 retn sub_91 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:2297, 2311 ;========================================================================== 3BBB:2329 sub_92 proc near 3BBB:2329 A1 0026 mov ax,ds:data_12e ; (0000:0026=0EDFh) 3BBB:232C 26: 8B 1E 0011 mov bx,word ptr es:data_165 ; (3BBB:0011=0) 3BBB:2331 06 push es 3BBB:2332 2E: 8E 06 0006 mov es,cs:data_160 ; (3BBB:0006=0Ah) 3BBB:2337 26: 81 4F 22 0800 or word ptr es:[bx+22h],800h 3BBB:233D 26: 87 47 16 xchg es:[bx+16h],ax 3BBB:2341 07 pop es 3BBB:2342 A3 0026 mov ds:data_12e,ax ; (0000:0026=0EDFh) 3BBB:2345 C3 retn sub_92 endp 3BBB:2346 28 43 29 31 39 38 db '(C)1985,DIGITAL RESEARCH1053-067' 3BBB:234C 35 2C 44 49 47 49 3BBB:2352 54 41 4C 20 52 45 3BBB:2358 53 45 41 52 43 48 3BBB:235E 31 30 35 33 2D 30 3BBB:2364 36 37 3BBB:2366 33 2D 30 30 35 34 db '3-005434' 3BBB:236C 33 34 3BBB:236E C3 1C 23 23 23 E4 db 0C3h, 1Ch, 23h, 23h, 23h,0E4h 3BBB:2374 24 EB 24 F1 24 F7 db 24h,0EBh, 24h,0F1h, 24h,0F7h 3BBB:237A 24 FE 24 11 db 24h,0FEh, 24h, 11h 3BBB:237E 25 24 db '%$' 3BBB:2380 25 2C 23 2A 25 30 db '%,#*%0%>%X%' 3BBB:2386 25 3E 25 58 25 3BBB:238B 00 24 15 24 24 24 db 00h, 24h, 15h, 24h, 24h, 24h 3BBB:2391 6E 24 B2 24 28 23 db 6Eh, 24h,0B2h, 24h, 28h, 23h 3BBB:2397 2E FF A4 EF 22 BB db 2Eh,0FFh,0A4h,0EFh, 22h,0BBh 3BBB:239D FF FF B9 02 00 C3 db 0FFh,0FFh,0B9h, 02h, 00h,0C3h 3BBB:23A3 8B 1E 57 00 C3 BB db 8Bh, 1Eh, 57h, 00h,0C3h,0BBh 3BBB:23A9 12 10 C3 8B F2 8C db 12h, 10h,0C3h, 8Bh,0F2h, 8Ch 3BBB:23AF DA 1E 06 26 8E 1E db 0DAh, 1Eh, 06h, 26h, 8Eh, 1Eh 3BBB:23B5 2E 00 BF 9C 23 33 db 2Eh, 00h,0BFh, 9Ch, 23h, 33h 3BBB:23BB DB 8A 1C 80 FB 06 db 0DBh, 8Ah, 1Ch, 80h,0FBh, 06h 3BBB:23C1 72 12 80 EB 80 72 db 72h, 12h, 80h,0EBh, 80h, 72h 3BBB:23C7 08 BF B4 23 80 FB db 08h,0BFh,0B4h, 23h, 80h,0FBh 3BBB:23CD 13 72 05 db 13h, 72h, 05h 3BBB:23D0 loc_401: ; xref 3BBB:23FB, 2408 3BBB:23D0 BB FFFF mov bx,0FFFFh 3BBB:23D3 EB 44 jmp short loc_408 ; (2419) 3BBB:23D5 loc_402: 3BBB:23D5 D1 E3 shl bx,1 ; Shift w/zeros fill 3BBB:23D7 D1 E3 shl bx,1 ; Shift w/zeros fill 3BBB:23D9 2E: 8B 09 mov cx,cs:[bx+di] 3BBB:23DC F6 C5 80 test ch,80h 3BBB:23DF 74 02 jz loc_403 ; Jump if zero 3BBB:23E1 8C C2 mov dx,es 3BBB:23E3 loc_403: ; xref 3BBB:23DF 3BBB:23E3 2E: 8B 79 02 mov di,cs:[bx+di+2] 3BBB:23E7 F6 44 01 FF test byte ptr [si+1],0FFh 3BBB:23EB 8D 74 02 lea si,[si+2] ; Load effective addr 3BBB:23EE 75 08 jnz loc_404 ; Jump if not zero 3BBB:23F0 87 F7 xchg si,di 3BBB:23F2 1E push ds 3BBB:23F3 07 pop es 3BBB:23F4 8E DA mov ds,dx 3BBB:23F6 EB 14 jmp short loc_406 ; (240C) 3BBB:23F8 loc_404: ; xref 3BBB:23EE 3BBB:23F8 F6 C5 40 test ch,40h ; '@' 3BBB:23FB 75 D3 jnz loc_401 ; Jump if not zero 3BBB:23FD 26: 80 3E 0018 00 cmp es:data_169,0 ; (3BBB:0018=0) 3BBB:2403 74 05 je loc_405 ; Jump if equal 3BBB:2405 F6 C5 20 test ch,20h ; ' ' 3BBB:2408 75 C6 jnz loc_401 ; Jump if not zero 3BBB:240A loc_405: ; xref 3BBB:2403 3BBB:240A 8E C2 mov es,dx 3BBB:240C loc_406: ; xref 3BBB:23F6 3BBB:240C F6 C5 10 test ch,10h 3BBB:240F 74 01 jz loc_407 ; Jump if zero 3BBB:2411 FA cli ; Disable interrupts 3BBB:2412 loc_407: ; xref 3BBB:240F 3BBB:2412 32 ED xor ch,ch ; Zero register 3BBB:2414 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:2416 FB sti ; Enable interrupts 3BBB:2417 33 DB xor bx,bx ; Zero register 3BBB:2419 loc_408: ; xref 3BBB:23D3 3BBB:2419 07 pop es 3BBB:241A 1F pop ds 3BBB:241B C3 retn ;* No entry point to code 3BBB:241C 01 20 add [bx+si],sp 3BBB:241E 65 00 01 20 66 00 db 65h, 00h, 01h, 20h, 66h, 00h 3BBB:2424 01 20 67 00 01 60 db 01h, 20h, 67h, 00h, 01h, 60h 3BBB:242A 01 0F 01 20 5E 00 db 01h, 0Fh, 01h, 20h, 5Eh, 00h 3BBB:2430 05 10 5F 00 01 20 db 05h, 10h, 5Fh, 00h, 01h, 20h 3BBB:2436 07 0F 01 E0 05 00 db 07h, 0Fh, 01h,0E0h, 05h, 00h 3BBB:243C 1A 80 36 00 01 20 db 1Ah, 80h, 36h, 00h, 01h, 20h 3BBB:2442 BA 01 FF 20 BB 01 db 0BAh, 01h,0FFh, 20h,0BBh, 01h 3BBB:2448 02 30 44 00 FF 20 db 02h, 30h, 44h, 00h,0FFh, 20h 3BBB:244E 92 00 04 30 5A 00 db 92h, 00h, 04h, 30h, 5Ah, 00h 3BBB:2454 01 E0 18 00 01 60 db 01h,0E0h, 18h, 00h, 01h, 60h 3BBB:245A 56 00 01 20 BB 02 db 56h, 00h, 01h, 20h,0BBh, 02h 3BBB:2460 02 20 AE 05 01 60 db 02h, 20h,0AEh, 05h, 01h, 60h 3BBB:2466 59 00 04 90 70 00 db 59h, 00h, 04h, 90h, 70h, 00h 3BBB:246C 02 E0 11 00 05 20 db 02h,0E0h, 11h, 00h, 05h, 20h 3BBB:2472 B3 01 01 60 B8 01 db 0B3h, 01h, 01h, 60h,0B8h, 01h 3BBB:2478 20 10 30 10 01 10 db 20h, 10h, 30h, 10h, 01h, 10h 3BBB:247E 50 10 06 26 8E 06 db 50h, 10h, 06h, 26h, 8Eh, 06h 3BBB:2484 2E 00 8B FA BE E8 db 2Eh, 00h, 8Bh,0FAh,0BEh,0E8h 3BBB:248A 22 B9 03 00 F3 2E db 22h,0B9h, 03h, 00h,0F3h, 2Eh 3BBB:2490 A5 07 8B D9 C3 42 db 0A5h, 07h, 8Bh,0D9h,0C3h, 42h 3BBB:2496 74 06 4A 26 89 16 db 74h, 06h, 4Ah, 26h, 89h, 16h 3BBB:249C 14 00 26 8B 1E 14 db 14h, 00h, 26h, 8Bh, 1Eh, 14h 3BBB:24A2 00 C3 26 8B 36 11 db 00h,0C3h, 26h, 8Bh, 36h, 11h 3BBB:24A8 00 85 F6 74 40 FA db 00h, 85h,0F6h, 74h, 40h,0FAh 3BBB:24AE 8B 3E 92 01 8B 05 db 8Bh, 3Eh, 92h, 01h, 8Bh, 05h 3BBB:24B4 A3 92 01 FB 06 1E db 0A3h, 92h, 01h,0FBh, 06h, 1Eh 3BBB:24BA 07 db 07h 3BBB:24BB locloop_409: ; xref 3BBB:24E0 3BBB:24BB AD lodsw ; String [si] to ax 3BBB:24BC 56 push si 3BBB:24BD 85 C0 test ax,ax 3BBB:24BF 75 03 jnz loc_410 ; Jump if not zero 3BBB:24C1 AB stosw ; Store ax to es:[di] 3BBB:24C2 EB 1A jmp short loc_411 ; (24DE) 3BBB:24C4 loc_410: ; xref 3BBB:24BF 3BBB:24C4 96 xchg si,ax 3BBB:24C5 FA cli ; Disable interrupts 3BBB:24C6 A1 0194 mov ax,data_247 ; (3BBB:0194=504h) 3BBB:24C9 AB stosw ; Store ax to es:[di] 3BBB:24CA 85 C0 test ax,ax 3BBB:24CC 74 10 jz loc_411 ; Jump if zero 3BBB:24CE 51 push cx 3BBB:24CF 57 push di 3BBB:24D0 97 xchg di,ax 3BBB:24D1 8B 05 mov ax,[di] 3BBB:24D3 A3 0194 mov data_247,ax ; (3BBB:0194=504h) 3BBB:24D6 FB sti ; Enable interrupts 3BBB:24D7 B9 0005 mov cx,5 3BBB:24DA F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:24DC 5F pop di 3BBB:24DD 59 pop cx 3BBB:24DE loc_411: ; xref 3BBB:24C2, 24CC 3BBB:24DE FB sti ; Enable interrupts 3BBB:24DF 5E pop si 3BBB:24E0 E2 D9 loop locloop_409 ; Loop if cx > 0 3BBB:24E2 A5 movsw ; Mov [si] to es:[di] 3BBB:24E3 A5 movsw ; Mov [si] to es:[di] 3BBB:24E4 07 pop es 3BBB:24E5 83 EF 24 sub di,24h 3BBB:24E8 26: 89 3E 0011 mov es:data_6e,di ; (0000:0011=7002h) 3BBB:24ED loc_ret_412: 3BBB:24ED C3 retn ;* No entry point to code 3BBB:24EE 26: 8B 36 0011 mov si,word ptr es:data_165 ; (3BBB:0011=0) 3BBB:24F3 85 F6 test si,si 3BBB:24F5 74 3A jz loc_ret_415 ; Jump if zero 3BBB:24F7 B9 0010 mov cx,10h 3BBB:24FA locloop_413: ; xref 3BBB:2510 3BBB:24FA AD lodsw ; String [si] to ax 3BBB:24FB 93 xchg bx,ax 3BBB:24FC 85 DB test bx,bx 3BBB:24FE 74 10 jz loc_414 ; Jump if zero 3BBB:2500 FF 4F 08 dec word ptr [bx+8] 3BBB:2503 75 0B jnz loc_414 ; Jump if not zero 3BBB:2505 FA cli ; Disable interrupts 3BBB:2506 A1 0194 mov ax,data_247 ; (3BBB:0194=504h) 3BBB:2509 89 07 mov [bx],ax 3BBB:250B 89 1E 0194 mov data_247,bx ; (3BBB:0194=504h) 3BBB:250F FB sti ; Enable interrupts 3BBB:2510 loc_414: ; xref 3BBB:24FE, 2503 3BBB:2510 E2 E8 loop locloop_413 ; Loop if cx > 0 3BBB:2512 FF 0C dec word ptr [si] 3BBB:2514 75 1B jnz loc_ret_415 ; Jump if not zero 3BBB:2516 83 EE 20 sub si,20h 3BBB:2519 FA cli ; Disable interrupts 3BBB:251A 8B 1E 0192 mov bx,data_245 ; (3BBB:0192=0E4E2h) 3BBB:251E 89 1C mov [si],bx 3BBB:2520 89 36 0192 mov data_245,si ; (3BBB:0192=0E4E2h) 3BBB:2524 FB sti ; Enable interrupts 3BBB:2525 1E push ds 3BBB:2526 8E 1E 004E mov ds,data_193 ; (3BBB:004E=0) 3BBB:252A C7 06 0011 0000 mov word ptr ds:data_6e,0 ; (0000:0011=7002h) 3BBB:2530 1F pop ds 3BBB:2531 loc_ret_415: ; xref 3BBB:24F5, 2514 3BBB:2531 C3 retn ;* No entry point to code 3BBB:2532 26: 8C 1E 0030 mov es:data_178,ds ; (3BBB:0030=3BBBh) 3BBB:2537 2B DB sub bx,bx 3BBB:2539 2B C0 sub ax,ax 3BBB:253B C3 retn 3BBB:253C 90 CF db 90h,0CFh 3BBB:253E loc_416: ; xref 3BBB:2568, 257B 3BBB:253E ,B9 0003 mov cx,3 3BBB:2541 locloop_417: ; xref 3BBB:2561 3BBB:2541 51 push cx 3BBB:2542 80 C1 0C add cl,0Ch 3BBB:2545 8A C1 mov al,cl 3BBB:2547 BA 0001 mov dx,1 3BBB:254A D3 E2 shl dx,cl ; Shift w/zeros fill 3BBB:254C B1 FF mov cl,0FFh 3BBB:254E 53 push bx 3BBB:254F E8 1B8B call sub_241 ; (40DD) 3BBB:2552 5B pop bx 3BBB:2553 8A C8 mov cl,al 3BBB:2555 B8 0001 mov ax,1 3BBB:2558 D3 E0 shl ax,cl ; Shift w/zeros fill 3BBB:255A 85 D8 test bx,ax 3BBB:255C 74 02 jz loc_418 ; Jump if zero 3BBB:255E 0B DA or bx,dx 3BBB:2560 loc_418: ; xref 3BBB:255C 3BBB:2560 59 pop cx 3BBB:2561 E2 DE loop locloop_417 ; Loop if cx > 0 3BBB:2563 C3 retn ;* No entry point to code 3BBB:2564 8B 1E 05CC mov bx,word ptr ds:[5CCh] ; (3BBB:05CC=0FCFCh) 3BBB:2568 E9 FFD3 ;* jmp loc_416 ; (253E) 3BBB:2568 db 0E9h,0D3h,0FFh ; Fixup - byte match ;* No entry point to code 3BBB:256B 26: 8A 1E 0036 mov bl,byte ptr es:data_179 ; (3BBB:0036=0) 3BBB:2570 C3 retn ;* No entry point to code 3BBB:2571 26: 89 16 0038 mov es:data_181,dx ; (3BBB:0038=0) 3BBB:2576 C3 retn ;* No entry point to code 3BBB:2577 8B 1E 05CA mov bx,word ptr ds:[5CAh] ; (3BBB:05CA=0E801h) 3BBB:257B E9 FFC0 ;* jmp loc_416 ; (253E) 3BBB:257B db 0E9h,0C0h,0FFh ; Fixup - byte match ;* No entry point to code 3BBB:257E 8A C2 mov al,dl 3BBB:2580 3C FF cmp al,0FFh 3BBB:2582 75 06 jne loc_419 ; Jump if not equal 3BBB:2584 26: 8A 1E 0037 mov bl,byte ptr es:data_179+1 ; (3BBB:0037=0) 3BBB:2589 C3 retn 3BBB:258A loc_419: ; xref 3BBB:2582 3BBB:258A 24 0F and al,0Fh 3BBB:258C 26: A2 0037 mov byte ptr es:data_179+1,al ; (3BBB:0037=0) 3BBB:2590 C3 retn ;* No entry point to code 3BBB:2591 33 DB xor bx,bx ; Zero register 3BBB:2593 0A D2 or dl,dl ; Zero ? 3BBB:2595 74 0B jz loc_420 ; Jump if zero 3BBB:2597 80 FA 81 cmp dl,81h 3BBB:259A 73 06 jae loc_420 ; Jump if above or = 3BBB:259C 26: 88 16 0047 mov es:data_189,dl ; (3BBB:0047=0) 3BBB:25A1 C3 retn 3BBB:25A2 loc_420: ; xref 3BBB:2595, 259A 3BBB:25A2 4B dec bx 3BBB:25A3 C3 retn ;* No entry point to code 3BBB:25A4 26: 88 16 0046 mov es:data_188,dl ; (3BBB:0046=0) 3BBB:25A9 C3 retn ;* No entry point to code 3BBB:25AA 26: 89 16 003A mov word ptr es:data_181+2,dx ; (3BBB:003A=3BBBh) 3BBB:25AF C3 retn ;* No entry point to code 3BBB:25B0 26: A1 003A mov ax,word ptr es:data_181+2 ; (3BBB:003A=3BBBh) 3BBB:25B4 26: A3 0030 mov es:data_178,ax ; (3BBB:0030=3BBBh) 3BBB:25B8 26: 8B 1E 0038 mov bx,es:data_181 ; (3BBB:0038=0) 3BBB:25BD C3 retn ;* No entry point to code 3BBB:25BE 8B F2 mov si,dx 3BBB:25C0 ,BF 005F mov di,offset data_204 ; (3BBB:005F=0) 3BBB:25C3 FA cli ; Disable interrupts 3BBB:25C4 06 push es 3BBB:25C5 1E push ds 3BBB:25C6 26: 8E 1E 002E mov ds,es:data_177 ; (3BBB:002E=3BBBh) 3BBB:25CB 07 pop es 3BBB:25CC A5 movsw ; Mov [si] to es:[di] 3BBB:25CD A5 movsw ; Mov [si] to es:[di] 3BBB:25CE 06 push es 3BBB:25CF 1F pop ds 3BBB:25D0 07 pop es 3BBB:25D1 C6 06 0063 00 mov byte ptr data_206+1,0 ; (3BBB:0063=0) 3BBB:25D6 FB sti ; Enable interrupts 3BBB:25D7 C3 retn ;* No entry point to code 3BBB:25D8 8B FA mov di,dx 3BBB:25DA ,BE 005F mov si,offset data_204 ; (3BBB:005F=0) 3BBB:25DD 06 push es 3BBB:25DE 26: 8E 06 002E mov es,es:data_177 ; (3BBB:002E=3BBBh) 3BBB:25E3 FA cli ; Disable interrupts 3BBB:25E4 A5 movsw ; Mov [si] to es:[di] 3BBB:25E5 A5 movsw ; Mov [si] to es:[di] 3BBB:25E6 8A 1E 0063 mov bl,byte ptr data_206+1 ; (3BBB:0063=0) 3BBB:25EA FB sti ; Enable interrupts 3BBB:25EB 07 pop es 3BBB:25EC C3 retn ;* No entry point to code 3BBB:25ED C3 retn ;* No entry point to code 3BBB:25EE 1D 0144 sbb ax,144h 3BBB:25F1 3F aas ; Ascii adjust 3BBB:25F2 44 inc sp 3BBB:25F3 01 4F 44 add [bx+44h],cx 3BBB:25F6 35 455F xor ax,455Fh 3BBB:25F9 35 459D xor ax,459Dh 3BBB:25FC 25 4619 and ax,4619h 3BBB:25FF 21 4D 46 and [di+46h],cx 3BBB:2602 35 466B xor ax,466Bh 3BBB:2605 17 pop ss 3BBB:2606 7D 46 jge $+48h ; Jump if > or = 3BBB:2608 17 pop ss 3BBB:2609 8F 46 25 pop word ptr [bp+25h] 3BBB:260C 8D 47 15 lea ax,[bx+15h] ; Load effective addr ;===== Indexed Entry Point ================================================ 3BBB:260F loc_421: ; xref 3BBB:2173 3BBB:260F 04 48 add al,48h ; 'H' 3BBB:2611 01 11 add [bx+di],dx 3BBB:2613 48 dec ax 3BBB:2614 01 2D add [di],bp 3BBB:2616 48 dec ax 3BBB:2617 05 4872 add ax,4872h 3BBB:261A 01 8A 1B48 add word ptr ss:[1B48h][bp+si],cx ; (3BBB:1B48=260Dh) 3BBB:261E A3 1B48 mov word ptr ds:[1B48h],ax ; (3BBB:1B48=260Dh) 3BBB:2621 BC 1948 mov sp,1948h 3BBB:2624 F3 48 09 03 49 01 db 0F3h, 48h, 09h, 03h, 49h, 01h 3BBB:262A 57 29 01 57 29 01 db 57h, 29h, 01h, 57h, 29h, 01h 3BBB:2630 4C 49 1B 57 29 19 db 4Ch, 49h, 1Bh, 57h, 29h, 19h 3BBB:2636 57 29 19 66 49 01 db 57h, 29h, 19h, 66h, 49h, 01h 3BBB:263C B0 49 01 BF 49 01 db 0B0h, 49h, 01h,0BFh, 49h, 01h 3BBB:2642 46 4A 09 47 4B 05 db 46h, 4Ah, 09h, 47h, 4Bh, 05h 3BBB:2648 CD 4B 01 E2 4B 05 db 0CDh, 4Bh, 01h,0E2h, 4Bh, 05h 3BBB:264E 25 4C 05 A8 4C 01 db 25h, 4Ch, 05h,0A8h, 4Ch, 01h 3BBB:2654 C0 4C 15 BF 49 01 db 0C0h, 4Ch, 15h,0BFh, 49h, 01h 3BBB:265A 1A 4D 01 db 1Ah, 4Dh, 01h ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:336E, 3886, 4661, 4780, 4B39, 4B8D ;========================================================================== 3BBB:265D sub_93 proc near 3BBB:265D 90 nop 3BBB:265E CF iret ; Interrupt return sub_93 endp ;* No entry point to code 3BBB:265F 03 F1 add si,cx 3BBB:2661 81 C6 256E add si,256Eh 3BBB:2665 E8 0020 ;* call $+23h ;* 3BBB:2665 db 0E8h, 20h, 00h ; Fixup - byte match 3BBB:2668 8B C3 mov ax,bx 3BBB:266A C3 retn 3BBB:266B loc_422: ; xref 3BBB:2CC7 3BBB:266B ,8A 0E 061D mov cl,byte ptr ds:[61Dh] ; (3BBB:061D=8Eh) 3BBB:266F 32 ED xor ch,ch ; Zero register 3BBB:2671 8B F1 mov si,cx 3BBB:2673 D1 E6 shl si,1 ; Shift w/zeros fill 3BBB:2675 03 F1 add si,cx 3BBB:2677 81 C6 256E add si,256Eh 3BBB:267B 8E 06 004E mov es,data_193 ; (3BBB:004E=0) 3BBB:267F 8B 16 0622 mov dx,word ptr ds:[622h] ; (3BBB:0622=13h) 3BBB:2683 9C pushf ; Push flags 3BBB:2684 58 pop ax 3BBB:2685 FA cli ; Disable interrupts 3BBB:2686 EB 23 jmp short loc_423 ; (26AB) ;* No entry point to code 3BBB:2688 26: FE 06 0013 inc byte ptr es:data_7e ; (0000:0013=0) 3BBB:268D 51 push cx 3BBB:268E 52 push dx 3BBB:268F 56 push si 3BBB:2690 BB 007A mov bx,7Ah 3BBB:2693 B9 0204 mov cx,204h 3BBB:2696 E8 DC0A call sub_4 ; (02A3) 3BBB:2699 5E pop si 3BBB:269A 5A pop dx 3BBB:269B 59 pop cx 3BBB:269C 88 0E 061D mov byte ptr ds:[61Dh],cl ; (3BBB:061D=8Eh) 3BBB:26A0 9C pushf ; Push flags 3BBB:26A1 58 pop ax 3BBB:26A2 FA cli ; Disable interrupts 3BBB:26A3 8C 16 0765 mov word ptr ds:[765h],ss ; (3BBB:0765=75C0h) 3BBB:26A7 89 26 0767 mov word ptr ds:[767h],sp ; (3BBB:0767=8C02h) 3BBB:26AB loc_423: ; xref 3BBB:2686 3BBB:26AB 8C DB mov bx,ds 3BBB:26AD 8E D3 mov ss,bx 3BBB:26AF BC 0763 mov sp,763h 3BBB:26B2 50 push ax 3BBB:26B3 9D popf ; Pop flags 3BBB:26B4 26: A1 0036 mov ax,es:data_16e ; (0000:0036=237Ch) 3BBB:26B8 A3 0626 mov word ptr ds:[626h],ax ; (3BBB:0626=0FD91h) 3BBB:26BB 26: A1 002E mov ax,es:data_14e ; (0000:002E=0C3Ch) 3BBB:26BF A3 0628 mov word ptr ds:[628h],ax ; (3BBB:0628=2607h) 3BBB:26C2 26: A1 0030 mov ax,es:data_15e ; (0000:0030=3Ah) 3BBB:26C6 A3 062A mov word ptr ds:[62Ah],ax ; (3BBB:062A=3E80h) 3BBB:26C9 06 push es 3BBB:26CA 56 push si 3BBB:26CB 8C D8 mov ax,ds 3BBB:26CD 8C C3 mov bx,es 3BBB:26CF 8E DB mov ds,bx 3BBB:26D1 8E C0 mov es,ax 3BBB:26D3 ,BE 0038 mov si,data_17e ; (0000:0038=4Ah) 3BBB:26D6 ,BF 062C mov di,62Ch ; (3BBB:062C=3Ch) 3BBB:26D9 B9 0018 mov cx,18h 3BBB:26DC F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:26DE 8E D8 mov ds,ax 3BBB:26E0 A1 062C mov ax,word ptr ds:[62Ch] ; (3BBB:062C=3Ch) 3BBB:26E3 B1 04 mov cl,4 3BBB:26E5 D3 E8 shr ax,cl ; Shift w/zeros fill 3BBB:26E7 01 06 062E add word ptr ds:[62Eh],ax ; (3BBB:062E=7493h) 3BBB:26EB 81 26 062C 000F ;* and word ptr ds:[62Ch],0Fh ; (3BBB:062C=3Ch) 3BBB:26EB db 81h, 26h, 2Ch, 06h, 0Fh, 00h ; Fixup - byte match 3BBB:26F1 B9 0014 mov cx,14h 3BBB:26F4 33 C0 xor ax,ax ; Zero register 3BBB:26F6 ,BF 05CF mov di,5CFh ; (3BBB:05CF=2) 3BBB:26F9 F3/ AA rep stosb ; Rep when cx >0 Store al to es:[di] 3BBB:26FB 89 16 0622 mov word ptr ds:[622h],dx ; (3BBB:0622=13h) 3BBB:26FF 88 16 0694 mov byte ptr ds:[694h],dl ; (3BBB:0694=4Eh) 3BBB:2703 5E pop si 3BBB:2704 56 push si 3BBB:2705 2E: 8A 64 02 mov ah,cs:[si+2] 3BBB:2709 F6 C4 04 test ah,4 3BBB:270C 74 05 jz loc_424 ; Jump if zero 3BBB:270E E8 020B call sub_98 ; (291C) 3BBB:2711 EB 0B jmp short loc_425 ; (271E) 3BBB:2713 loc_424: ; xref 3BBB:270C 3BBB:2713 F6 C4 08 test ah,8 3BBB:2716 74 06 jz loc_425 ; Jump if zero 3BBB:2718 E8 0205 call sub_99 ; (2920) 3BBB:271B E8 01ED call sub_96 ; (290B) 3BBB:271E loc_425: ; xref 3BBB:2711, 2716 3BBB:271E 5E pop si 3BBB:271F 80 3E 063B 01 cmp byte ptr ds:[63Bh],1 ; (3BBB:063B=8Bh) 3BBB:2724 74 0C je loc_426 ; Jump if equal 3BBB:2726 2E: F6 44 02 02 test byte ptr cs:[si+2],2 3BBB:272B 74 05 jz loc_426 ; Jump if zero 3BBB:272D E8 0189 call sub_95 ; (28B9) 3BBB:2730 EB 03 jmp short loc_427 ; (2735) 3BBB:2732 loc_426: ; xref 3BBB:2724, 272B 3BBB:2732 E8 012D call sub_94 ; (2862) 3BBB:2735 loc_427: ; xref 3BBB:2730 3BBB:2735 8A 0E 05D0 mov cl,byte ptr ds:[5D0h] ; (3BBB:05D0=8) 3BBB:2739 32 ED xor ch,ch ; Zero register 3BBB:273B E3 1C jcxz loc_428 ; Jump if cx=0 3BBB:273D ,BE 0769 mov si,769h ; (3BBB:0769=0D8h) 3BBB:2740 8B 3E 0622 mov di,word ptr ds:[622h] ; (3BBB:0622=13h) 3BBB:2744 8E 06 0628 mov es,word ptr ds:[628h] ; (3BBB:0628=2607h) 3BBB:2748 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:274A F6 06 05E0 FF test byte ptr ds:[5E0h],0FFh ; (3BBB:05E0=0C3h) 3BBB:274F 74 08 jz loc_428 ; Jump if zero 3BBB:2751 8B 3E 0622 mov di,word ptr ds:[622h] ; (3BBB:0622=13h) 3BBB:2755 26: 80 0D 80 or byte ptr es:[di],80h 3BBB:2759 loc_428: ; xref 3BBB:273B, 274F 3BBB:2759 07 pop es 3BBB:275A A0 061D mov al,byte ptr ds:[61Dh] ; (3BBB:061D=8Eh) 3BBB:275D 3C 04 cmp al,4 3BBB:275F 74 08 je loc_429 ; Jump if equal 3BBB:2761 3C 05 cmp al,5 3BBB:2763 74 04 je loc_429 ; Jump if equal 3BBB:2765 3C 21 cmp al,21h ; '!' 3BBB:2767 75 0B jne loc_430 ; Jump if not equal 3BBB:2769 loc_429: ; xref 3BBB:275F, 2763 3BBB:2769 ,BE 0630 mov si,630h ; (3BBB:0630=3) 3BBB:276C ,BF 003C mov di,data_18e ; (0000:003C=6Fh) 3BBB:276F B9 0014 mov cx,14h 3BBB:2772 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:2774 loc_430: ; xref 3BBB:2767 3BBB:2774 A1 062A mov ax,word ptr ds:[62Ah] ; (3BBB:062A=3E80h) 3BBB:2777 26: A3 0030 mov es:data_15e,ax ; (0000:0030=3Ah) 3BBB:277B 8B 1E 05D1 mov bx,word ptr ds:[5D1h] ; (3BBB:05D1=5BBFh) 3BBB:277F 9C pushf ; Push flags 3BBB:2780 58 pop ax 3BBB:2781 FA cli ; Disable interrupts 3BBB:2782 8E 16 0765 mov ss,word ptr ds:[765h] ; (3BBB:0765=75C0h) 3BBB:2786 8B 26 0767 mov sp,word ptr ds:[767h] ; (3BBB:0767=8C02h) 3BBB:278A 50 push ax 3BBB:278B 9D popf ; Pop flags 3BBB:278C A0 05DE mov al,byte ptr ds:[5DEh] ; (3BBB:05DE=7) 3BBB:278F 53 push bx 3BBB:2790 A8 FF test al,0FFh 3BBB:2792 74 17 jz loc_432 ; Jump if zero 3BBB:2794 FF 36 0628 push word ptr ds:[628h] ; (3BBB:0628=2607h) 3BBB:2798 BB FFFF mov bx,0FFFFh 3BBB:279B F6 06 05D3 FF test byte ptr ds:[5D3h],0FFh ; (3BBB:05D3=3) 3BBB:27A0 74 04 jz loc_431 ; Jump if zero 3BBB:27A2 8B 1E 0622 mov bx,word ptr ds:[622h] ; (3BBB:0622=13h) 3BBB:27A6 loc_431: ; xref 3BBB:27A0 3BBB:27A6 53 push bx 3BBB:27A7 8A 26 06AD mov ah,byte ptr ds:[6ADh] ; (3BBB:06AD=1) 3BBB:27AB loc_432: ; xref 3BBB:2792 3BBB:27AB 50 push ax 3BBB:27AC BB 007A mov bx,7Ah 3BBB:27AF B9 0205 mov cx,205h 3BBB:27B2 E8 DAEE call sub_4 ; (02A3) 3BBB:27B5 58 pop ax 3BBB:27B6 A8 FF test al,0FFh 3BBB:27B8 75 03 jnz loc_433 ; Jump if not zero 3BBB:27BA E9 009B jmp loc_439 ; (2858) 3BBB:27BD loc_433: ; xref 3BBB:27B8 3BBB:27BD 50 push ax 3BBB:27BE BB 0082 mov bx,82h 3BBB:27C1 B9 0204 mov cx,204h 3BBB:27C4 E8 DADC call sub_4 ; (02A3) 3BBB:27C7 8B 16 101C mov dx,word ptr ds:[101Ch] ; (3BBB:101C=0DA03h) 3BBB:27CB E8 017B call sub_103 ; (2949) 3BBB:27CE 58 pop ax 3BBB:27CF 50 push ax 3BBB:27D0 80 C4 41 add ah,41h ; 'A' 3BBB:27D3 88 26 06AE mov byte ptr ds:[6AEh],ah ; (3BBB:06AE=26h) 3BBB:27D7 BA 06AE mov dx,6AEh 3BBB:27DA E8 016C call sub_103 ; (2949) 3BBB:27DD 58 pop ax 3BBB:27DE 50 push ax 3BBB:27DF 8A D8 mov bl,al 3BBB:27E1 32 FF xor bh,bh ; Zero register 3BBB:27E3 D1 E3 shl bx,1 ; Shift w/zeros fill 3BBB:27E5 8B 9F 06B2 mov bx,word ptr ds:[6B2h][bx] ; (3BBB:06B2=0) 3BBB:27E9 8B 17 mov dx,[bx] 3BBB:27EB E8 015B call sub_103 ; (2949) 3BBB:27EE 8B 16 101E mov dx,word ptr ds:[101Eh] ; (3BBB:101E=0DA03h) 3BBB:27F2 E8 0154 call sub_103 ; (2949) 3BBB:27F5 58 pop ax 3BBB:27F6 26: A0 003C mov al,es:data_18e ; (0000:003C=6Fh) 3BBB:27FA B4 30 mov ah,30h ; '0' 3BBB:27FC 3C 64 cmp al,64h ; 'd' 3BBB:27FE 72 09 jb loc_434 ; Jump if below 3BBB:2800 50 push ax 3BBB:2801 B2 31 mov dl,31h ; '1' 3BBB:2803 E8 013D call sub_102 ; (2943) 3BBB:2806 58 pop ax 3BBB:2807 2C 64 sub al,64h ; 'd' 3BBB:2809 loc_434: ; xref 3BBB:27FE, 280F 3BBB:2809 ,2C 0A sub al,0Ah 3BBB:280B 72 04 jc loc_435 ; Jump if carry Set 3BBB:280D FE C4 inc ah 3BBB:280F EB F8 jmp short loc_434 ; (2809) 3BBB:2811 loc_435: ; xref 3BBB:280B 3BBB:2811 50 push ax 3BBB:2812 8A D4 mov dl,ah 3BBB:2814 E8 012C call sub_102 ; (2943) 3BBB:2817 5A pop dx 3BBB:2818 80 C2 3A add dl,3Ah ; ':' 3BBB:281B E8 0125 call sub_102 ; (2943) 3BBB:281E 5E pop si 3BBB:281F 5A pop dx 3BBB:2820 46 inc si 3BBB:2821 74 2C jz loc_438 ; Jump if zero 3BBB:2823 ,BF 06CC mov di,6CCh ; (3BBB:06CC=0C6h) 3BBB:2826 1E push ds 3BBB:2827 06 push es 3BBB:2828 1E push ds 3BBB:2829 07 pop es 3BBB:282A 8E DA mov ds,dx 3BBB:282C B9 0008 mov cx,8 3BBB:282F locloop_436: ; xref 3BBB:2833 3BBB:282F AC lodsb ; String [si] to al 3BBB:2830 24 7F and al,7Fh 3BBB:2832 AA stosb ; Store al to es:[di] 3BBB:2833 E2 FA loop locloop_436 ; Loop if cx > 0 3BBB:2835 B0 2E mov al,2Eh ; '.' 3BBB:2837 AA stosb ; Store al to es:[di] 3BBB:2838 B1 03 mov cl,3 3BBB:283A locloop_437: ; xref 3BBB:283E 3BBB:283A AC lodsb ; String [si] to al 3BBB:283B 24 7F and al,7Fh 3BBB:283D AA stosb ; Store al to es:[di] 3BBB:283E E2 FA loop locloop_437 ; Loop if cx > 0 3BBB:2840 07 pop es 3BBB:2841 1F pop ds 3BBB:2842 8B 16 1020 mov dx,word ptr ds:[1020h] ; (3BBB:1020=78Bh) 3BBB:2846 E8 0100 call sub_103 ; (2949) 3BBB:2849 BA 06CC mov dx,6CCh 3BBB:284C E8 00FA call sub_103 ; (2949) 3BBB:284F loc_438: ; xref 3BBB:2821 3BBB:284F BB 0082 mov bx,82h 3BBB:2852 B9 0205 mov cx,205h 3BBB:2855 E8 DA4B call sub_4 ; (02A3) 3BBB:2858 loc_439: ; xref 3BBB:27BA 3BBB:2858 5B pop bx 3BBB:2859 53 push bx 3BBB:285A B9 0206 mov cx,206h 3BBB:285D E8 DA43 call sub_4 ; (02A3) 3BBB:2860 5B pop bx 3BBB:2861 C3 retn ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:2732, 28D0 ;========================================================================== 3BBB:2862 sub_94 proc near 3BBB:2862 89 26 0763 mov word ptr ds:[763h],sp ; (3BBB:0763=0B00h) 3BBB:2866 2E: F6 44 02 20 test byte ptr cs:[si+2],20h ; ' ' 3BBB:286B 74 11 jz loc_440 ; Jump if zero 3BBB:286D F6 06 0769 80 test byte ptr ds:[769h],80h ; (3BBB:0769=0D8h) 3BBB:2872 74 0A jz loc_440 ; Jump if zero 3BBB:2874 80 26 0769 1F and byte ptr ds:[769h],1Fh ; (3BBB:0769=0D8h) 3BBB:2879 C6 06 05E0 FF mov byte ptr ds:[5E0h],0FFh ; (3BBB:05E0=0C3h) 3BBB:287E loc_440: ; xref 3BBB:286B, 2872 3BBB:287E 2E: F6 44 02 10 test byte ptr cs:[si+2],10h 3BBB:2883 74 05 jz loc_441 ; Jump if zero 3BBB:2885 56 push si 3BBB:2886 E8 18A1 call sub_243 ; (412A) 3BBB:2889 5E pop si 3BBB:288A loc_441: ; xref 3BBB:2883 3BBB:288A 2E: FF 14 call word ptr cs:[si] ;* 3BBB:288D loc_442: ; xref 3BBB:29CF 3BBB:288D ,80 3E 05D3 00 cmp byte ptr ds:[5D3h],0 ; (3BBB:05D3=3) 3BBB:2892 74 24 je loc_ret_445 ; Jump if equal 3BBB:2894 A0 0645 mov al,byte ptr ds:[645h] ; (3BBB:0645=0F7h) 3BBB:2897 ,BB 0769 mov bx,769h ; (3BBB:0769=0D8h) 3BBB:289A 08 47 07 or [bx+7],al 3BBB:289D A0 0644 mov al,byte ptr ds:[644h] ; (3BBB:0644=8Bh) 3BBB:28A0 3C 60 cmp al,60h ; '`' 3BBB:28A2 75 06 jne loc_443 ; Jump if not equal 3BBB:28A4 80 4F 08 80 or byte ptr [bx+8],80h 3BBB:28A8 EB 03 jmp short loc_444 ; (28AD) 3BBB:28AA loc_443: ; xref 3BBB:28A2 3BBB:28AA 08 47 0C or [bx+0Ch],al 3BBB:28AD loc_444: ; xref 3BBB:28A8 3BBB:28AD A0 0688 mov al,byte ptr ds:[688h] ; (3BBB:0688=8Eh) 3BBB:28B0 08 47 0F or [bx+0Fh],al 3BBB:28B3 A0 05CF mov al,byte ptr ds:[5CFh] ; (3BBB:05CF=2) 3BBB:28B6 88 07 mov [bx],al 3BBB:28B8 loc_ret_445: ; xref 3BBB:2892 3BBB:28B8 C3 retn sub_94 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:272D ;========================================================================== 3BBB:28B9 sub_95 proc near 3BBB:28B9 89 36 06A8 mov word ptr ds:[6A8h],si ; (3BBB:06A8=0C626h) 3BBB:28BD 2E: 8A 64 02 mov ah,cs:[si+2] 3BBB:28C1 A0 063B mov al,byte ptr ds:[63Bh] ; (3BBB:063B=8Bh) 3BBB:28C4 loc_446: ; xref 3BBB:28F9 3BBB:28C4 A2 05DC mov byte ptr ds:[5DCh],al ; (3BBB:05DC=0F3h) 3BBB:28C7 50 push ax 3BBB:28C8 8B 36 06A8 mov si,word ptr ds:[6A8h] ; (3BBB:06A8=0C626h) 3BBB:28CC 8B 16 0622 mov dx,word ptr ds:[622h] ; (3BBB:0622=13h) 3BBB:28D0 E8 FF8F call sub_94 ; (2862) 3BBB:28D3 8A 1E 05D1 mov bl,byte ptr ds:[5D1h] ; (3BBB:05D1=0BFh) 3BBB:28D7 0A DB or bl,bl ; Zero ? 3BBB:28D9 58 pop ax 3BBB:28DA 74 0D jz loc_447 ; Jump if zero 3BBB:28DC 80 FB FF cmp bl,0FFh 3BBB:28DF 74 20 je loc_450 ; Jump if equal 3BBB:28E1 8A 3E 063B mov bh,byte ptr ds:[63Bh] ; (3BBB:063B=8Bh) 3BBB:28E5 2A F8 sub bh,al 3BBB:28E7 EB 14 jmp short loc_449 ; (28FD) 3BBB:28E9 loc_447: ; xref 3BBB:28DA 3BBB:28E9 F6 C4 08 test ah,8 3BBB:28EC 74 03 jz loc_448 ; Jump if zero 3BBB:28EE E8 0047 call sub_101 ; (2938) 3BBB:28F1 loc_448: ; xref 3BBB:28EC 3BBB:28F1 81 06 062C 0080 add word ptr ds:[62Ch],80h ; (3BBB:062C=3Ch) 3BBB:28F7 FE C8 dec al 3BBB:28F9 75 C9 jnz loc_446 ; Jump if not zero 3BBB:28FB 33 DB xor bx,bx ; Zero register 3BBB:28FD loc_449: ; xref 3BBB:28E7 3BBB:28FD 89 1E 05D1 mov word ptr ds:[5D1h],bx ; (3BBB:05D1=5BBFh) 3BBB:2901 loc_450: ; xref 3BBB:28DF 3BBB:2901 F6 C4 08 test ah,8 3BBB:2904 74 31 jz loc_ret_453 ; Jump if zero 3BBB:2906 E8 000C call sub_97 ; (2915) 3BBB:2909 EB 05 jmp short loc_451 ; (2910) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:271B 3BBB:290B sub_96: 3BBB:290B E8 0007 call sub_97 ; (2915) 3BBB:290E 87 DA xchg bx,dx 3BBB:2910 loc_451: ; xref 3BBB:2909 3BBB:2910 B1 03 mov cl,3 3BBB:2912 E9 00FA jmp loc_470 ; (2A0F) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:2906, 290B 3BBB:2915 sub_97: 3BBB:2915 BB 078A mov bx,78Ah 3BBB:2918 BA 06AA mov dx,6AAh 3BBB:291B C3 retn ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:270E 3BBB:291C sub_98: 3BBB:291C B1 21 mov cl,21h ; '!' 3BBB:291E EB 02 jmp short loc_452 ; (2922) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:2718 3BBB:2920 sub_99: 3BBB:2920 B1 24 mov cl,24h ; '$' ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:4D2A 3BBB:2922 sub_100: 3BBB:2922 loc_452: ; xref 3BBB:291E 3BBB:2922 88 0E 05D0 mov byte ptr ds:[5D0h],cl ; (3BBB:05D0=8) 3BBB:2926 32 ED xor ch,ch ; Zero register 3BBB:2928 8B 36 0622 mov si,word ptr ds:[622h] ; (3BBB:0622=13h) 3BBB:292C ,BF 0769 mov di,769h ; (3BBB:0769=0D8h) 3BBB:292F 1E push ds 3BBB:2930 8E 1E 0628 mov ds,word ptr ds:[628h] ; (3BBB:0628=2607h) 3BBB:2934 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:2936 1F pop ds 3BBB:2937 loc_ret_453: ; xref 3BBB:2904 3BBB:2937 C3 retn ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:28EE 3BBB:2938 sub_101: 3BBB:2938 ,BB 078A mov bx,offset data_515 ; (3BBB:078A=5Eh) 3BBB:293B FF 07 inc word ptr [bx] 3BBB:293D 75 03 jnz loc_ret_454 ; Jump if not zero 3BBB:293F FE 47 02 inc byte ptr [bx+2] 3BBB:2942 loc_ret_454: ; xref 3BBB:293D 3BBB:2942 C3 retn ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:2803, 2814, 281B, 2953 3BBB:2943 sub_102: 3BBB:2943 B9 0419 mov cx,419h 3BBB:2946 E9 D95A jmp loc_15 ; (02A3) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:27CB, 27DA, 27EB, 27F2, 2846, 284C 3BBB:2949 sub_103: 3BBB:2949 8B DA mov bx,dx 3BBB:294B loc_455: ; xref 3BBB:2958 3BBB:294B ,8A 17 mov dl,[bx] 3BBB:294D 80 FA 24 cmp dl,24h ; '$' 3BBB:2950 74 08 je loc_ret_456 ; Jump if equal 3BBB:2952 53 push bx 3BBB:2953 E8 FFED call sub_102 ; (2943) 3BBB:2956 5B pop bx 3BBB:2957 43 inc bx 3BBB:2958 EB F1 jmp short loc_455 ; (294B) 3BBB:295A loc_ret_456: ; xref 3BBB:2950 3BBB:295A C3 retn ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:3F5D, 4A39, 4AA9 3BBB:295B sub_104: 3BBB:295B 06 push es 3BBB:295C 8E 06 004E mov es,data_193 ; (3BBB:004E=0) 3BBB:2960 FF 1E 0028 call dword ptr data_176 ; (3BBB:0028=0) 3BBB:2964 FC cld ; Clear direction 3BBB:2965 07 pop es 3BBB:2966 C3 retn ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:2CE9, 2CF2, 400B, 404E, 4DE8, 4DFB, 4E2C ; 4E4C, 4E58 3BBB:2967 sub_105: 3BBB:2967 8B 16 069B mov dx,word ptr ds:[69Bh] ; (3BBB:069B=674h) 3BBB:296B 8A 2E 069D mov ch,byte ptr ds:[69Dh] ; (3BBB:069D=0C7h) 3BBB:296F 8A 1E 0646 mov bl,byte ptr ds:[646h] ; (3BBB:0646=0C4h) 3BBB:2973 B7 01 mov bh,1 3BBB:2975 86 3E 05E3 xchg byte ptr ds:[5E3h],bh ; (3BBB:05E3=3Eh) 3BBB:2979 53 push bx 3BBB:297A FF 36 061E push word ptr ds:[61Eh] ; (3BBB:061E=26C3h) 3BBB:297E FF 36 0620 push word ptr ds:[620h] ; (3BBB:0620=6C6h) 3BBB:2982 FF 36 06A2 push word ptr ds:[6A2h] ; (3BBB:06A2=1FFFh) 3BBB:2986 FF 36 06A4 push word ptr ds:[6A4h] ; (3BBB:06A4=68Eh) 3BBB:298A 8E 06 004E mov es,data_193 ; (3BBB:004E=0) 3BBB:298E FF 1E 0028 call dword ptr data_176 ; (3BBB:0028=0) 3BBB:2992 83 C4 0A add sp,0Ah 3BBB:2995 FC cld ; Clear direction 3BBB:2996 1E push ds 3BBB:2997 07 pop es 3BBB:2998 C3 retn 3BBB:2999 loc_457: ; xref 3BBB:2D64 3BBB:2999 ,B4 01 mov ah,1 3BBB:299B EB 12 jmp short loc_461 ; (29AF) 3BBB:299D loc_458: ; xref 3BBB:2C25, 2D67 3BBB:299D ,E8 03D2 call sub_151 ; (2D72) 3BBB:29A0 E9 3847 jmp loc_1232 ; (61EA) 3BBB:29A3 90 db 90h 3BBB:29A4 loc_459: ; xref 3BBB:2C1D, 5758, 58D8, 59BA 3BBB:29A4 ,B4 03 mov ah,3 3BBB:29A6 EB 07 jmp short loc_461 ; (29AF) 3BBB:29A8 loc_460: ; xref 3BBB:4108 3BBB:29A8 ,C6 06 0646 FF mov byte ptr ds:[646h],0FFh ; (3BBB:0646=0C4h) 3BBB:29AD B4 04 mov ah,4 3BBB:29AF loc_461: ; xref 3BBB:299B, 29A6, 6217 3BBB:29AF ,B0 FF mov al,0FFh 3BBB:29B1 A3 05D1 mov word ptr ds:[5D1h],ax ; (3BBB:05D1=5BBFh) 3BBB:29B4 38 06 063A cmp byte ptr ds:[63Ah],al ; (3BBB:063A=0) 3BBB:29B8 75 30 jne loc_469 ; Jump if not equal 3BBB:29BA loc_462: ; xref 3BBB:29F9, 2A0D 3BBB:29BA ,A0 061D mov al,byte ptr ds:[61Dh] ; (3BBB:061D=8Eh) 3BBB:29BD 3C 0B cmp al,0Bh 3BBB:29BF 74 04 je loc_463 ; Jump if equal 3BBB:29C1 3C 0E cmp al,0Eh 3BBB:29C3 75 06 jne loc_464 ; Jump if not equal 3BBB:29C5 loc_463: ; xref 3BBB:29BF 3BBB:29C5 C7 06 05D1 FFFF mov word ptr ds:[5D1h],0FFFFh ; (3BBB:05D1=5BBFh) 3BBB:29CB loc_464: ; xref 3BBB:29C3, 29E8, 2D49 3BBB:29CB ,8B 26 0763 mov sp,word ptr ds:[763h] ; (3BBB:0763=0B00h) 3BBB:29CF E9 FEBB jmp loc_442 ; (288D) 3BBB:29D2 loc_465: ; xref 3BBB:3B4C, 3B6A, 3BEC, 3DAE ; 5D22, 5E3E 3BBB:29D2 ,B0 01 mov al,1 3BBB:29D4 loc_466: ; xref 3BBB:2BD8, 2C4F, 34B4, 3754 ; 3B33, 3C4B, 3E49, 4C59 ; 4C5F, 4C9A 3BBB:29D4 ,A2 05D1 mov byte ptr ds:[5D1h],al ; (3BBB:05D1=0BFh) 3BBB:29D7 C3 retn 3BBB:29D8 loc_467: ; xref 3BBB:34E3, 3DF8, 42DB, 4754 ; 484E, 549C, 55BE, 58C3 ; 5BB9, 5F31 3BBB:29D8 ,B0 FF mov al,0FFh 3BBB:29DA A3 05D1 mov word ptr ds:[5D1h],ax ; (3BBB:05D1=5BBFh) 3BBB:29DD 80 FC 03 cmp ah,3 3BBB:29E0 75 02 jne loc_468 ; Jump if not equal 3BBB:29E2 B4 0C mov ah,0Ch 3BBB:29E4 loc_468: ; xref 3BBB:29E0 3BBB:29E4 38 06 063A cmp byte ptr ds:[63Ah],al ; (3BBB:063A=0) 3BBB:29E8 74 E1 je loc_464 ; Jump if equal 3BBB:29EA loc_469: ; xref 3BBB:29B8 3BBB:29EA 88 26 05DE mov byte ptr ds:[5DEh],ah ; (3BBB:05DE=7) 3BBB:29EE A0 0626 mov al,byte ptr ds:[626h] ; (3BBB:0626=91h) 3BBB:29F1 A2 06AD mov byte ptr ds:[6ADh],al ; (3BBB:06AD=1) 3BBB:29F4 80 3E 063A FE cmp byte ptr ds:[63Ah],0FEh ; (3BBB:063A=0) 3BBB:29F9 74 BF je loc_462 ; Jump if equal 3BBB:29FB 1E push ds 3BBB:29FC 8E 1E 004E mov ds,data_193 ; (3BBB:004E=0) 3BBB:2A00 81 0E 0006 0001 ;* or word ptr ds:data_5e,1 ; (0000:0006=70h) 3BBB:2A00 db 81h, 0Eh, 06h, 00h, 01h, 00h ; Fixup - byte match 3BBB:2A06 C7 06 0014 FFFD mov word ptr ds:data_8e,0FFFDh ; (0000:0014=0FF54h) 3BBB:2A0C 1F pop ds 3BBB:2A0D EB AB jmp short loc_462 ; (29BA) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:3089, 30D1, 392F, 4264, 43F4, 4694, 48D7 3BBB:2A0F sub_106: 3BBB:2A0F loc_470: ; xref 3BBB:2912, 4CA2 3BBB:2A0F ,32 ED xor ch,ch ; Zero register 3BBB:2A11 8B F2 mov si,dx 3BBB:2A13 8B FB mov di,bx 3BBB:2A15 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:2A17 C3 retn sub_95 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:2D82, 2E20, 3050, 43EB ;========================================================================== 3BBB:2A18 sub_107 proc near 3BBB:2A18 loc_471: ; xref 3BBB:4348 3BBB:2A18 ,32 ED xor ch,ch ; Zero register 3BBB:2A1A 8B F3 mov si,bx 3BBB:2A1C 8B FA mov di,dx 3BBB:2A1E F3/ A6 repe cmpsb ; Rep zf=1+cx >0 Cmp [si] to es:[di] 3BBB:2A20 C3 retn sub_107 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:2CDD, 2F50, 3DA5, 3EA8, 3ED6, 56DE, 5859 ; 60E4 ;========================================================================== 3BBB:2A21 sub_108 proc near 3BBB:2A21 A1 069B mov ax,word ptr ds:[69Bh] ; (3BBB:069B=674h) 3BBB:2A24 33 D2 xor dx,dx ; Zero register 3BBB:2A26 8A 16 069D mov dl,byte ptr ds:[69Dh] ; (3BBB:069D=0C7h) 3BBB:2A2A 8A 0E 0672 mov cl,byte ptr ds:[672h] ; (3BBB:0672=4) 3BBB:2A2E 32 ED xor ch,ch ; Zero register 3BBB:2A30 E3 06 jcxz loc_473 ; Jump if cx=0 3BBB:2A32 locloop_472: ; xref 3BBB:2A36 3BBB:2A32 D1 EA shr dx,1 ; Shift w/zeros fill 3BBB:2A34 D1 D8 rcr ax,1 ; Rotate thru carry 3BBB:2A36 E2 FA loop locloop_472 ; Loop if cx > 0 3BBB:2A38 loc_473: ; xref 3BBB:2A30 3BBB:2A38 80 3E 0676 00 cmp byte ptr ds:[676h],0 ; (3BBB:0676=45h) 3BBB:2A3D 74 1A je loc_474 ; Jump if equal 3BBB:2A3F 03 06 0661 add ax,word ptr ds:[661h] ; (3BBB:0661=478Bh) 3BBB:2A43 83 D2 00 adc dx,0 3BBB:2A46 93 xchg bx,ax 3BBB:2A47 A0 0659 mov al,byte ptr ds:[659h] ; (3BBB:0659=26h) 3BBB:2A4A F6 26 065B mul byte ptr ds:[65Bh] ; (3BBB:065B=47h) ax = data * al 3BBB:2A4E 03 C3 add ax,bx 3BBB:2A50 83 D2 00 adc dx,0 3BBB:2A53 F7 36 0663 div word ptr ds:[663h] ; (3BBB:0663=8906h) ax,dxrem=dx:ax/dat 3BBB:2A57 EB 08 jmp short loc_475 ; (2A61) 3BBB:2A59 loc_474: ; xref 3BBB:2A3D 3BBB:2A59 F7 36 0663 div word ptr ds:[663h] ; (3BBB:0663=8906h) ax,dxrem=dx:ax/dat 3BBB:2A5D 03 06 0670 add ax,word ptr ds:[670h] ; (3BBB:0670=4789h) 3BBB:2A61 loc_475: ; xref 3BBB:2A57 3BBB:2A61 A3 061E mov word ptr ds:[61Eh],ax ; (3BBB:061E=26C3h) 3BBB:2A64 89 16 0620 mov word ptr ds:[620h],dx ; (3BBB:0620=6C6h) 3BBB:2A68 C3 retn sub_108 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:3D95, 3E77 ;========================================================================== 3BBB:2A69 sub_109 proc near 3BBB:2A69 8A 0E 0665 mov cl,byte ptr ds:[665h] ; (3BBB:0665=44h) 3BBB:2A6D A1 069B mov ax,word ptr ds:[69Bh] ; (3BBB:069B=674h) 3BBB:2A70 A3 05E5 mov word ptr ds:[5E5h],ax ; (3BBB:05E5=9300h) 3BBB:2A73 32 FF xor bh,bh ; Zero register 3BBB:2A75 8A DC mov bl,ah 3BBB:2A77 D3 E0 shl ax,cl ; Shift w/zeros fill 3BBB:2A79 D3 E3 shl bx,cl ; Shift w/zeros fill 3BBB:2A7B A3 069E mov word ptr ds:[69Eh],ax ; (3BBB:069E=7406h) 3BBB:2A7E 93 xchg bx,ax 3BBB:2A7F A0 0699 mov al,byte ptr ds:[699h] ; (3BBB:0699=0) 3BBB:2A82 22 06 0666 and al,byte ptr ds:[666h] ; (3BBB:0666=6) 3BBB:2A86 A2 05E4 mov byte ptr ds:[5E4h],al ; (3BBB:05E4=3Ch) 3BBB:2A89 0A D8 or bl,al 3BBB:2A8B 89 1E 069B mov word ptr ds:[69Bh],bx ; (3BBB:069B=674h) 3BBB:2A8F 88 26 069D mov byte ptr ds:[69Dh],ah ; (3BBB:069D=0C7h) 3BBB:2A93 C3 retn sub_109 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:2AC1, 3CD5, 3E2C, 4B5C ;========================================================================== 3BBB:2A94 sub_110 proc near 3BBB:2A94 8A 0E 0665 mov cl,byte ptr ds:[665h] ; (3BBB:0665=44h) 3BBB:2A98 8A 2E 0699 mov ch,byte ptr ds:[699h] ; (3BBB:0699=0) 3BBB:2A9C D2 ED shr ch,cl ; Shift w/zeros fill 3BBB:2A9E F6 D9 neg cl 3BBB:2AA0 80 C1 07 add cl,7 3BBB:2AA3 A0 0698 mov al,byte ptr ds:[698h] ; (3BBB:0698=74h) 3BBB:2AA6 D2 E0 shl al,cl ; Shift w/zeros fill 3BBB:2AA8 02 C5 add al,ch 3BBB:2AAA C3 retn sub_110 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:2ACB, 3CE8, 3CED, 3E3B ;========================================================================== 3BBB:2AAB sub_111 proc near 3BBB:2AAB ,BB 0779 mov bx,779h ; (3BBB:0779=0E8h) 3BBB:2AAE 03 D9 add bx,cx 3BBB:2AB0 80 3E 0696 00 cmp byte ptr ds:[696h],0 ; (3BBB:0696=83h) 3BBB:2AB5 74 05 je loc_476 ; Jump if equal 3BBB:2AB7 8A 1F mov bl,[bx] 3BBB:2AB9 32 FF xor bh,bh ; Zero register 3BBB:2ABB C3 retn 3BBB:2ABC loc_476: ; xref 3BBB:2AB5 3BBB:2ABC 03 D9 add bx,cx 3BBB:2ABE 8B 1F mov bx,[bx] 3BBB:2AC0 C3 retn sub_111 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:3D90, 3E23 ;========================================================================== 3BBB:2AC1 sub_112 proc near 3BBB:2AC1 E8 FFD0 call sub_110 ; (2A94) 3BBB:2AC4 A2 0695 mov byte ptr ds:[695h],al ; (3BBB:0695=0) 3BBB:2AC7 8A C8 mov cl,al 3BBB:2AC9 32 ED xor ch,ch ; Zero register 3BBB:2ACB E8 FFDD call sub_111 ; (2AAB) 3BBB:2ACE 89 1E 069B mov word ptr ds:[69Bh],bx ; (3BBB:069B=674h) 3BBB:2AD2 0B DB or bx,bx ; Zero ? 3BBB:2AD4 C3 retn sub_112 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:3817, 4740, 48C8, 4AE1, 5544, 5724, 5902 ; 5999 ;========================================================================== 3BBB:2AD5 sub_113 proc near 3BBB:2AD5 ,BF 0771 mov di,771h ; (3BBB:0771=0C8h) 3BBB:2AD8 B9 0004 mov cx,4 3BBB:2ADB 32 D2 xor dl,dl ; Zero register 3BBB:2ADD FD std ; Set direction flag 3BBB:2ADE locloop_477: ; xref 3BBB:2AE7 3BBB:2ADE 8A 05 mov al,[di] 3BBB:2AE0 D0 E0 shl al,1 ; Shift w/zeros fill 3BBB:2AE2 D0 DA rcr dl,1 ; Rotate thru carry 3BBB:2AE4 D0 E8 shr al,1 ; Shift w/zeros fill 3BBB:2AE6 AA stosb ; Store al to es:[di] 3BBB:2AE7 E2 F5 loop locloop_477 ; Loop if cx > 0 3BBB:2AE9 FC cld ; Clear direction 3BBB:2AEA 8A C2 mov al,dl 3BBB:2AEC A2 068C mov byte ptr ds:[68Ch],al ; (3BBB:068C=4) 3BBB:2AEF C3 retn sub_113 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:2B50, 3932, 39E1, 3A46, 3B51, 3BD4, 474B ; 4B7B ;========================================================================== 3BBB:2AF0 sub_114 proc near 3BBB:2AF0 ,BB 0789 mov bx,offset data_514 ; (3BBB:0789=0FBh) 3BBB:2AF3 BA 1001 mov dx,1001h 3BBB:2AF6 loc_478: ; xref 3BBB:2B00, 2B21 3BBB:2AF6 FE CE dec dh 3BBB:2AF8 4B dec bx 3BBB:2AF9 80 3F 00 cmp byte ptr [bx],0 3BBB:2AFC 75 06 jne loc_479 ; Jump if not equal 3BBB:2AFE 0A F6 or dh,dh ; Zero ? 3BBB:2B00 75 F4 jnz loc_478 ; Jump if not zero 3BBB:2B02 FE CA dec dl 3BBB:2B04 loc_479: ; xref 3BBB:2AFC 3BBB:2B04 88 16 0695 mov byte ptr ds:[695h],dl ; (3BBB:0695=0) 3BBB:2B08 80 3E 0696 FF cmp byte ptr ds:[696h],0FFh ; (3BBB:0696=83h) 3BBB:2B0D 8A C6 mov al,dh 3BBB:2B0F 74 02 jz loc_480 ; Jump if zero 3BBB:2B11 D0 E8 shr al,1 ; Shift w/zeros fill 3BBB:2B13 loc_480: ; xref 3BBB:2B0F 3BBB:2B13 B1 07 mov cl,7 3BBB:2B15 2A 0E 0665 sub cl,byte ptr ds:[665h] ; (3BBB:0665=44h) 3BBB:2B19 D2 E8 shr al,cl ; Shift w/zeros fill 3BBB:2B1B 8A 26 0667 mov ah,byte ptr ds:[667h] ; (3BBB:0667=1Eh) 3BBB:2B1F 3A E0 cmp ah,al 3BBB:2B21 72 D3 jb loc_478 ; Jump if below 3BBB:2B23 ,BB 0775 mov bx,775h ; (3BBB:0775=0F0h) 3BBB:2B26 8A 0F mov cl,[bx] 3BBB:2B28 F6 D4 not ah 3BBB:2B2A 80 E4 1F and ah,1Fh 3BBB:2B2D 22 E1 and ah,cl 3BBB:2B2F 0A C4 or al,ah 3BBB:2B31 C3 retn sub_114 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:3782, 3AE2, 3BCE, 4B23 ;========================================================================== 3BBB:2B32 sub_115 proc near 3BBB:2B32 51 push cx 3BBB:2B33 8A 2E 0667 mov ch,byte ptr ds:[667h] ; (3BBB:0667=1Eh) 3BBB:2B37 F6 D5 not ch 3BBB:2B39 22 CD and cl,ch 3BBB:2B3B 22 C5 and al,ch 3BBB:2B3D 2A C1 sub al,cl 3BBB:2B3F 24 1F and al,1Fh 3BBB:2B41 59 pop cx 3BBB:2B42 C3 retn sub_115 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:3B2B, 3D76, 3E0E, 4B59 ;========================================================================== 3BBB:2B43 sub_116 proc near 3BBB:2B43 A0 0789 mov al,data_514 ; (3BBB:0789=0FBh) 3BBB:2B46 A2 0699 mov byte ptr ds:[699h],al ; (3BBB:0699=0) 3BBB:2B49 80 3E 0778 00 cmp byte ptr ds:[778h],0 ; (3BBB:0778=8Bh) 3BBB:2B4E 75 08 jne loc_481 ; Jump if not equal 3BBB:2B50 E8 FF9D call sub_114 ; (2AF0) 3BBB:2B53 8A C8 mov cl,al 3BBB:2B55 E8 0DE7 call sub_219 ; (393F) 3BBB:2B58 loc_481: ; xref 3BBB:2B4E 3BBB:2B58 A0 0778 mov al,byte ptr ds:[778h] ; (3BBB:0778=8Bh) 3BBB:2B5B 3C 81 cmp al,81h 3BBB:2B5D 72 02 jb loc_482 ; Jump if below 3BBB:2B5F B0 80 mov al,80h 3BBB:2B61 loc_482: ; xref 3BBB:2B5D 3BBB:2B61 A2 0697 mov byte ptr ds:[697h],al ; (3BBB:0697=3Eh) 3BBB:2B64 A0 0667 mov al,byte ptr ds:[667h] ; (3BBB:0667=1Eh) 3BBB:2B67 22 06 0775 and al,byte ptr ds:[775h] ; (3BBB:0775=0F0h) 3BBB:2B6B A2 0698 mov byte ptr ds:[698h],al ; (3BBB:0698=74h) 3BBB:2B6E C3 retn sub_116 endp 3BBB:2B6F loc_483: ; xref 3BBB:2F86, 3DAB, 3F26 3BBB:2B6F ,32 C0 xor al,al ; Zero register 3BBB:2B71 80 3E 061D 09 cmp byte ptr ds:[61Dh],9 ; (3BBB:061D=8Eh) 3BBB:2B76 73 02 jae loc_484 ; Jump if above or = 3BBB:2B78 FE C0 inc al 3BBB:2B7A loc_484: ; xref 3BBB:2B76 3BBB:2B7A 02 06 0699 add al,byte ptr ds:[699h] ; (3BBB:0699=0) 3BBB:2B7E A2 0789 mov data_514,al ; (3BBB:0789=0FBh) 3BBB:2B81 80 3E 0778 80 cmp byte ptr ds:[778h],80h ; (3BBB:0778=8Bh) 3BBB:2B86 73 06 jae loc_ret_485 ; Jump if above or = 3BBB:2B88 A0 0697 mov al,byte ptr ds:[697h] ; (3BBB:0697=3Eh) 3BBB:2B8B A2 0778 mov byte ptr ds:[778h],al ; (3BBB:0778=8Bh) 3BBB:2B8E loc_ret_485: ; xref 3BBB:2B86 3BBB:2B8E C3 retn ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:2BA5 ;========================================================================== 3BBB:2B8F sub_117 proc near 3BBB:2B8F 32 ED xor ch,ch ; Zero register 3BBB:2B91 locloop_486: ; xref 3BBB:2B94 3BBB:2B91 02 07 add al,[bx] 3BBB:2B93 43 inc bx 3BBB:2B94 E2 FB loop locloop_486 ; Loop if cx > 0 3BBB:2B96 C3 retn sub_117 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:32E0 ;========================================================================== 3BBB:2B97 sub_118 proc near 3BBB:2B97 8B 1E 064B mov bx,word ptr ds:[64Bh] ; (3BBB:064B=447h) 3BBB:2B9B B9 0004 mov cx,4 3BBB:2B9E 32 E4 xor ah,ah ; Zero register 3BBB:2BA0 locloop_487: ; xref 3BBB:2BAB 3BBB:2BA0 51 push cx 3BBB:2BA1 32 C0 xor al,al ; Zero register 3BBB:2BA3 B1 20 mov cl,20h ; ' ' 3BBB:2BA5 E8 FFE7 call sub_117 ; (2B8F) 3BBB:2BA8 32 E0 xor ah,al 3BBB:2BAA 59 pop cx 3BBB:2BAB E2 F3 loop locloop_487 ; Loop if cx > 0 3BBB:2BAD 86 C4 xchg al,ah 3BBB:2BAF C3 retn sub_118 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:2BC7, 460B ;========================================================================== 3BBB:2BB0 sub_119 proc near 3BBB:2BB0 80 3E 0644 60 cmp byte ptr ds:[644h],60h ; (3BBB:0644=8Bh) '`' 3BBB:2BB5 75 05 jne loc_488 ; Jump if not equal 3BBB:2BB7 32 C0 xor al,al ; Zero register 3BBB:2BB9 A2 0769 mov byte ptr ds:[769h],al ; (3BBB:0769=0D8h) 3BBB:2BBC loc_488: ; xref 3BBB:2BB5 3BBB:2BBC 8B 1E 0649 mov bx,word ptr ds:[649h] ; (3BBB:0649=8B26h) 3BBB:2BC0 A0 0776 mov al,byte ptr ds:[776h] ; (3BBB:0776=8Bh) 3BBB:2BC3 38 47 02 cmp [bx+2],al 3BBB:2BC6 loc_ret_489: ; xref 3BBB:2BCA, 2BD3 3BBB:2BC6 C3 retn sub_119 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:46EB, 46FD, 490A, 4923, 49CC, 4D40 ;========================================================================== 3BBB:2BC7 sub_120 proc near 3BBB:2BC7 E8 FFE6 call sub_119 ; (2BB0) 3BBB:2BCA 74 FA jz loc_ret_489 ; Jump if zero 3BBB:2BCC 8B 16 05C4 mov dx,word ptr ds:[5C4h] ; (3BBB:05C4=0AB00h) 3BBB:2BD0 E8 0024 call sub_125 ; (2BF7) 3BBB:2BD3 74 F1 jz loc_ret_489 ; Jump if zero 3BBB:2BD5 5B pop bx 3BBB:2BD6 loc_490: ; xref 3BBB:2CAA 3BBB:2BD6 ,B0 0A mov al,0Ah 3BBB:2BD8 E9 FDF9 jmp loc_466 ; (29D4) sub_120 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:3B28, 3C45, 4567, 45CD, 4608, 478F ;========================================================================== 3BBB:2BDB sub_121 proc near 3BBB:2BDB 8B 1E 0649 mov bx,word ptr ds:[649h] ; (3BBB:0649=8B26h) 3BBB:2BDF 8A 4F 02 mov cl,[bx+2] 3BBB:2BE2 88 0E 0776 mov byte ptr ds:[776h],cl ; (3BBB:0776=8Bh) 3BBB:2BE6 C3 retn sub_121 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:3311, 40CB, 40D9 ;========================================================================== 3BBB:2BE7 sub_122 proc near 3BBB:2BE7 8A 0E 0646 mov cl,byte ptr ds:[646h] ; (3BBB:0646=0C4h) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:38D4 3BBB:2BEB sub_123: 3BBB:2BEB B8 0001 mov ax,1 3BBB:2BEE D3 E0 shl ax,cl ; Shift w/zeros fill 3BBB:2BF0 09 07 or [bx],ax 3BBB:2BF2 C3 retn sub_122 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:2C20, 32FA, 3A35, 42C3, 42E3, 4598 ;========================================================================== 3BBB:2BF3 sub_124 proc near 3BBB:2BF3 loc_491: ; xref 3BBB:43D1 3BBB:2BF3 ,8B 16 05CA mov dx,word ptr ds:[5CAh] ; (3BBB:05CA=0E801h) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:2BD0, 2D1C, 406D 3BBB:2BF7 sub_125: 3BBB:2BF7 loc_492: ; xref 3BBB:4492 3BBB:2BF7 ,8A 0E 0646 mov cl,byte ptr ds:[646h] ; (3BBB:0646=0C4h) 3BBB:2BFB D3 EA shr dx,cl ; Shift w/zeros fill 3BBB:2BFD 81 E2 0001 ;* and dx,1 3BBB:2BFD db 81h,0E2h, 01h, 00h ; Fixup - byte match 3BBB:2C01 C3 retn sub_124 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:2C15, 3179, 337C, 3436, 349F, 3694, 3718 ; 3824, 3866, 38EA, 3925, 3990, 3A0E, 423E ; 4254, 4283, 43FA, 4955, 4AF1, 4B0C, 4B3F ; 4BA0 ;========================================================================== 3BBB:2C02 sub_126 proc near 3BBB:2C02 8A 1E 06A6 mov bl,byte ptr ds:[6A6h] ; (3BBB:06A6=7Bh) 3BBB:2C06 32 FF xor bh,bh ; Zero register 3BBB:2C08 03 1E 064B add bx,word ptr ds:[64Bh] ; (3BBB:064B=447h) 3BBB:2C0C C3 retn sub_126 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:2C18 ;========================================================================== 3BBB:2C0D sub_127 proc near 3BBB:2C0D 83 C3 09 add bx,9 3BBB:2C10 8A 07 mov al,[bx] 3BBB:2C12 D0 D0 rcl al,1 ; Rotate thru carry 3BBB:2C14 loc_ret_493: ; xref 3BBB:2C1B, 2C23 3BBB:2C14 C3 retn sub_127 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:3834, 4865, 4B04 ;========================================================================== 3BBB:2C15 sub_128 proc near 3BBB:2C15 E8 FFEA call sub_126 ; (2C02) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:3E05, 5BBF 3BBB:2C18 sub_129: 3BBB:2C18 E8 FFF2 call sub_127 ; (2C0D) 3BBB:2C1B 73 F7 jnc loc_ret_493 ; Jump if carry=0 3BBB:2C1D E9 FD84 jmp loc_459 ; (29A4) sub_128 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:3264, 3DE6, 4D46, 5BC2 ;========================================================================== 3BBB:2C20 sub_130 proc near 3BBB:2C20 E8 FFD0 call sub_124 ; (2BF3) 3BBB:2C23 74 EF jz loc_ret_493 ; Jump if zero 3BBB:2C25 E9 FD75 jmp loc_458 ; (299D) sub_130 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:2C3A, 3F17 ;========================================================================== 3BBB:2C28 sub_131 proc near 3BBB:2C28 ,BB 0777 mov bx,777h ; (3BBB:0777=0F8h) 3BBB:2C2B 8A 07 mov al,[bx] 3BBB:2C2D C3 retn sub_131 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:44D2, 464D, 4717 ;========================================================================== 3BBB:2C2E sub_132 proc near 3BBB:2C2E C6 06 0777 00 mov byte ptr ds:[777h],0 ; (3BBB:0777=0F8h) 3BBB:2C33 C3 retn sub_132 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:414E, 464A, 4714 ;========================================================================== 3BBB:2C34 sub_133 proc near 3BBB:2C34 80 26 0775 1F and byte ptr ds:[775h],1Fh ; (3BBB:0775=0F0h) 3BBB:2C39 C3 retn sub_133 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:391C, 3A1A, 3A25 ;========================================================================== 3BBB:2C3A sub_134 proc near 3BBB:2C3A loc_494: ; xref 3BBB:3AD0 3BBB:2C3A ,E8 FFEB call sub_131 ; (2C28) 3BBB:2C3D 0C 80 or al,80h 3BBB:2C3F 88 07 mov [bx],al 3BBB:2C41 C3 retn sub_134 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:2C47, 3A41, 3BB5 ;========================================================================== 3BBB:2C42 sub_135 proc near 3BBB:2C42 BB 0779 mov bx,779h 3BBB:2C45 EB 0E jmp short loc_495 ; (2C55) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:3D6E, 3E08 3BBB:2C47 sub_136: 3BBB:2C47 E8 FFF8 call sub_135 ; (2C42) 3BBB:2C4A 75 0C jnz loc_ret_496 ; Jump if not zero 3BBB:2C4C 5B pop bx 3BBB:2C4D B0 09 mov al,9 3BBB:2C4F E9 FD82 jmp loc_466 ; (29D4) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:3171, 3429, 3497, 3701, 4495, 4540, 4746 ; 4789 3BBB:2C52 sub_137: 3BBB:2C52 ,BB 0636 mov bx,636h ; (3BBB:0636=26h) 3BBB:2C55 loc_495: ; xref 3BBB:2C45 3BBB:2C55 83 3F FF ;* cmp word ptr [bx],0FFFFh 3BBB:2C55 db 83h, 3Fh,0FFh ; Fixup - byte match 3BBB:2C58 loc_ret_496: ; xref 3BBB:2C4A 3BBB:2C58 C3 retn sub_135 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:3421, 348F, 36EF, 374B, 41D5, 4E8B, 4FA6 ; 52AA, 55C1, 560B, 5731, 58AA, 5A7E ;========================================================================== 3BBB:2C59 sub_138 proc near 3BBB:2C59 loc_497: ; xref 3BBB:31BA, 32A8, 4FD4 3BBB:2C59 ,C7 06 0636 FFFF mov word ptr ds:[636h],0FFFFh ; (3BBB:0636=8A26h) 3BBB:2C5F C7 06 07E8 0000 mov word ptr ds:[7E8h],0 ; (3BBB:07E8=464h) 3BBB:2C65 C3 retn sub_138 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:37EE, 380C, 3A6F, 4524 ;========================================================================== 3BBB:2C66 sub_139 proc near 3BBB:2C66 A1 05D9 mov ax,word ptr ds:[5D9h] ; (3BBB:05D9=1E06h) 3BBB:2C69 24 FC and al,0FCh 3BBB:2C6B 48 dec ax 3BBB:2C6C A3 0636 mov word ptr ds:[636h],ax ; (3BBB:0636=8A26h) 3BBB:2C6F C3 retn sub_139 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:2C7B, 3712, 4201 ;========================================================================== 3BBB:2C70 sub_140 proc near 3BBB:2C70 8B 16 0636 mov dx,word ptr ds:[636h] ; (3BBB:0636=8A26h) 3BBB:2C74 8B 1E 0647 mov bx,word ptr ds:[647h] ; (3BBB:0647=45Ch) 3BBB:2C78 3B 17 cmp dx,[bx] 3BBB:2C7A loc_ret_498: ; xref 3BBB:2C7E, 2C89, 2CC2 3BBB:2C7A C3 retn sub_140 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:3450, 34AC, 3AB9, 424D ;========================================================================== 3BBB:2C7B sub_141 proc near 3BBB:2C7B loc_499: ; xref 3BBB:5720 3BBB:2C7B ,E8 FFF2 call sub_140 ; (2C70) 3BBB:2C7E 72 FA jc loc_ret_498 ; Jump if carry Set 3BBB:2C80 42 inc dx 3BBB:2C81 89 17 mov [bx],dx 3BBB:2C83 C3 retn sub_141 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:35F9, 4170 ;========================================================================== 3BBB:2C84 sub_142 proc near 3BBB:2C84 F6 06 066F 80 test byte ptr ds:[66Fh],80h ; (3BBB:066F=26h) 3BBB:2C89 75 EF jnz loc_ret_498 ; Jump if not zero 3BBB:2C8B ,BF 4DE9 mov di,4DE9h ; (3BBB:4DE9=7Ch) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:2CA5, 2CB0 3BBB:2C8E sub_143: 3BBB:2C8E 2E: 8A 0D mov cl,cs:[di] 3BBB:2C91 47 inc di 3BBB:2C92 32 ED xor ch,ch ; Zero register 3BBB:2C94 A0 061D mov al,byte ptr ds:[61Dh] ; (3BBB:061D=8Eh) 3BBB:2C97 0E push cs 3BBB:2C98 07 pop es 3BBB:2C99 F2/ AE repne scasb ; Rep zf=0+cx >0 Scan es:[di] for al 3BBB:2C9B 1E push ds 3BBB:2C9C 07 pop es 3BBB:2C9D C3 retn sub_142 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:2D3C, 3129, 325B ;========================================================================== 3BBB:2C9E sub_144 proc near 3BBB:2C9E loc_500: ; xref 3BBB:41FE 3BBB:2C9E ,BB 294B mov bx,294Bh 3BBB:2CA1 53 push bx 3BBB:2CA2 BF 4DFA mov di,4DFAh 3BBB:2CA5 E8 FFE6 call sub_143 ; (2C8E) 3BBB:2CA8 75 03 jnz loc_501 ; Jump if not zero 3BBB:2CAA E9 FF29 jmp loc_490 ; (2BD6) 3BBB:2CAD loc_501: ; xref 3BBB:2CA8 3BBB:2CAD BF 4E02 mov di,4E02h 3BBB:2CB0 E8 FFDB call sub_143 ; (2C8E) 3BBB:2CB3 75 03 jnz loc_502 ; Jump if not zero 3BBB:2CB5 E9 0A96 jmp loc_649 ; (374E) 3BBB:2CB8 loc_502: ; xref 3BBB:2CB3 3BBB:2CB8 5B pop bx 3BBB:2CB9 C3 retn sub_144 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:312C ;========================================================================== 3BBB:2CBA sub_145 proc near 3BBB:2CBA loc_503: ; xref 3BBB:325E 3BBB:2CBA ,32 C0 xor al,al ; Zero register 3BBB:2CBC 86 06 05DF xchg byte ptr ds:[5DFh],al ; (3BBB:05DF=8Ch) 3BBB:2CC0 84 C0 test al,al 3BBB:2CC2 74 B6 jz loc_ret_498 ; Jump if zero 3BBB:2CC4 E8 13D8 call sub_240 ; (409F) 3BBB:2CC7 E9 F9A1 jmp loc_422 ; (266B) sub_145 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:41FB ;========================================================================== 3BBB:2CCA sub_146 proc near 3BBB:2CCA E8 13D2 call sub_240 ; (409F) 3BBB:2CCD 33 C0 xor ax,ax ; Zero register 3BBB:2CCF A3 0636 mov word ptr ds:[636h],ax ; (3BBB:0636=8A26h) 3BBB:2CD2 A2 06A6 mov byte ptr ds:[6A6h],al ; (3BBB:06A6=7Bh) 3BBB:2CD5 C3 retn sub_146 endp 3BBB:2CD6 loc_504: ; xref 3BBB:607B 3BBB:2CD6 ,A2 05E3 mov byte ptr ds:[5E3h],al ; (3BBB:05E3=3Eh) 3BBB:2CD9 51 push cx 3BBB:2CDA E8 05AD call sub_170 ; (328A) 3BBB:2CDD E8 FD41 call sub_108 ; (2A21) 3BBB:2CE0 59 pop cx 3BBB:2CE1 0A C9 or cl,cl ; Zero ? 3BBB:2CE3 74 02 jz loc_505 ; Jump if zero 3BBB:2CE5 EB 09 jmp short loc_506 ; (2CF0) ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:3EAC, 3EF0, 56E3, 60E9 ;========================================================================== 3BBB:2CE7 sub_147 proc near 3BBB:2CE7 loc_505: ; xref 3BBB:2CE3, 2F5C 3BBB:2CE7 ,B0 0B mov al,0Bh 3BBB:2CE9 E8 FC7B call sub_105 ; (2967) 3BBB:2CEC B4 FF mov ah,0FFh 3BBB:2CEE EB 07 jmp short loc_507 ; (2CF7) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:2F5F, 3DA8, 585C 3BBB:2CF0 sub_148: 3BBB:2CF0 loc_506: ; xref 3BBB:2CE5 3BBB:2CF0 B0 0A mov al,0Ah 3BBB:2CF2 E8 FC72 call sub_105 ; (2967) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:4A3C, 4AAC 3BBB:2CF5 sub_149: 3BBB:2CF5 B4 00 mov ah,0 3BBB:2CF7 loc_507: ; xref 3BBB:2CEE, 4060 3BBB:2CF7 ,0A C0 or al,al ; Zero ? 3BBB:2CF9 75 06 jnz loc_508 ; Jump if not zero 3BBB:2CFB C6 06 05DD FF mov byte ptr ds:[5DDh],0FFh ; (3BBB:05DD=0AAh) 3BBB:2D00 C3 retn 3BBB:2D01 loc_508: ; xref 3BBB:2CF9 3BBB:2D01 50 push ax 3BBB:2D02 53 push bx 3BBB:2D03 3C FF cmp al,0FFh 3BBB:2D05 74 09 je loc_509 ; Jump if equal 3BBB:2D07 A0 069A mov al,byte ptr ds:[69Ah] ; (3BBB:069A=0) 3BBB:2D0A 3A 06 0626 cmp al,byte ptr ds:[626h] ; (3BBB:0626=91h) 3BBB:2D0E 74 43 je loc_513 ; Jump if equal 3BBB:2D10 loc_509: ; xref 3BBB:2D05 3BBB:2D10 81 3E 066E 8000 cmp word ptr ds:[66Eh],8000h ; (3BBB:066E=2604h) 3BBB:2D16 74 3B je loc_513 ; Jump if equal 3BBB:2D18 8B 16 05CC mov dx,word ptr ds:[5CCh] ; (3BBB:05CC=0FCFCh) 3BBB:2D1C E8 FED8 call sub_125 ; (2BF7) 3BBB:2D1F 74 32 jz loc_513 ; Jump if zero 3BBB:2D21 E8 05DB call sub_172 ; (32FF) 3BBB:2D24 80 3E 061D 1A cmp byte ptr ds:[61Dh],1Ah ; (3BBB:061D=8Eh) 3BBB:2D29 74 0E je loc_510 ; Jump if equal 3BBB:2D2B A0 069A mov al,byte ptr ds:[69Ah] ; (3BBB:069A=0) 3BBB:2D2E 3A 06 0626 cmp al,byte ptr ds:[626h] ; (3BBB:0626=91h) 3BBB:2D32 74 08 je loc_511 ; Jump if equal 3BBB:2D34 C6 06 05DF 00 mov byte ptr ds:[5DFh],0 ; (3BBB:05DF=8Ch) 3BBB:2D39 loc_510: ; xref 3BBB:2D29 3BBB:2D39 5B pop bx 3BBB:2D3A 58 pop ax 3BBB:2D3B C3 retn 3BBB:2D3C loc_511: ; xref 3BBB:2D32 3BBB:2D3C E8 FF5F call sub_144 ; (2C9E) 3BBB:2D3F F6 06 05DD FF test byte ptr ds:[5DDh],0FFh ; (3BBB:05DD=0AAh) 3BBB:2D44 74 06 jz loc_512 ; Jump if zero 3BBB:2D46 E8 0A05 call sub_203 ; (374E) 3BBB:2D49 E9 FC7F jmp loc_464 ; (29CB) 3BBB:2D4C loc_512: ; xref 3BBB:2D44 3BBB:2D4C 5B pop bx 3BBB:2D4D 58 pop ax 3BBB:2D4E 0A E4 or ah,ah ; Zero ? 3BBB:2D50 75 15 jnz loc_514 ; Jump if not zero 3BBB:2D52 C3 retn 3BBB:2D53 loc_513: ; xref 3BBB:2D0E, 2D16, 2D1F 3BBB:2D53 5B pop bx 3BBB:2D54 58 pop ax 3BBB:2D55 06 push es 3BBB:2D56 8E 06 004E mov es,data_193 ; (3BBB:004E=0) 3BBB:2D5A 26: 88 3E 0050 mov es:data_19e,bh ; (0000:0050=39h) 3BBB:2D5F 07 pop es 3BBB:2D60 3C 02 cmp al,2 3BBB:2D62 74 03 je loc_514 ; Jump if equal 3BBB:2D64 E9 FC32 jmp loc_457 ; (2999) 3BBB:2D67 loc_514: ; xref 3BBB:2D50, 2D62 3BBB:2D67 E9 FC33 jmp loc_458 ; (299D) sub_147 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:3EA5, 3ED9, 5E6F, 6075, 60E1, 61E4 ;========================================================================== 3BBB:2D6A sub_150 proc near 3BBB:2D6A 8B 1E 0655 mov bx,word ptr ds:[655h] ; (3BBB:0655=124Fh) 3BBB:2D6E B1 04 mov cl,4 3BBB:2D70 EB 06 jmp short loc_516 ; (2D78) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:299D, 33F7, 3479, 41CE 3BBB:2D72 sub_151: 3BBB:2D72 loc_515: ; xref 3BBB:4E66 3BBB:2D72 ,8B 1E 0653 mov bx,word ptr ds:[653h] ; (3BBB:0653=3A26h) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:3303, 33F4, 3476, 4E63 3BBB:2D76 sub_152: 3BBB:2D76 B1 01 mov cl,1 3BBB:2D78 loc_516: ; xref 3BBB:2D70 3BBB:2D78 0B DB or bx,bx ; Zero ? 3BBB:2D7A 74 16 jz loc_ret_519 ; Jump if zero 3BBB:2D7C 8B 1F mov bx,[bx] 3BBB:2D7E loc_517: ; xref 3BBB:2D90 3BBB:2D7E 51 push cx 3BBB:2D7F BA 069A mov dx,69Ah 3BBB:2D82 E8 FC93 call sub_107 ; (2A18) 3BBB:2D85 59 pop cx 3BBB:2D86 75 03 jnz loc_518 ; Jump if not zero 3BBB:2D88 C6 07 FF mov byte ptr [bx],0FFh 3BBB:2D8B loc_518: ; xref 3BBB:2D86 3BBB:2D8B 8B 5F 0C mov bx,[bx+0Ch] 3BBB:2D8E 0B DB or bx,bx ; Zero ? 3BBB:2D90 75 EC jnz loc_517 ; Jump if not zero 3BBB:2D92 loc_ret_519: ; xref 3BBB:2D7A, 2D95 3BBB:2D92 C3 retn sub_150 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:4A9F ;========================================================================== 3BBB:2D93 sub_153 proc near 3BBB:2D93 0B DB or bx,bx ; Zero ? 3BBB:2D95 74 FB jz loc_ret_519 ; Jump if zero 3BBB:2D97 8B 1F mov bx,[bx] 3BBB:2D99 loc_520: ; xref 3BBB:2DC2 3BBB:2D99 8A 07 mov al,[bx] 3BBB:2D9B 3A 06 069A cmp al,byte ptr ds:[69Ah] ; (3BBB:069A=0) 3BBB:2D9F 75 1C jne loc_522 ; Jump if not equal 3BBB:2DA1 8B 47 0E mov ax,[bx+0Eh] 3BBB:2DA4 3B 06 004E cmp ax,data_193 ; (3BBB:004E=0) 3BBB:2DA8 75 13 jne loc_522 ; Jump if not equal 3BBB:2DAA C7 47 0E 0000 mov word ptr [bx+0Eh],0 3BBB:2DAF A0 061D mov al,byte ptr ds:[61Dh] ; (3BBB:061D=8Eh) 3BBB:2DB2 3C 1A cmp al,1Ah 3BBB:2DB4 74 04 je loc_521 ; Jump if equal 3BBB:2DB6 3C 15 cmp al,15h 3BBB:2DB8 75 03 jne loc_522 ; Jump if not equal 3BBB:2DBA loc_521: ; xref 3BBB:2DB4 3BBB:2DBA C6 07 FF mov byte ptr [bx],0FFh 3BBB:2DBD loc_522: ; xref 3BBB:2D9F, 2DA8, 2DB8 3BBB:2DBD 8B 5F 0C mov bx,[bx+0Ch] 3BBB:2DC0 0B DB or bx,bx ; Zero ? 3BBB:2DC2 75 D5 jnz loc_520 ; Jump if not zero 3BBB:2DC4 C3 retn sub_153 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:3019 ;========================================================================== 3BBB:2DC5 sub_154 proc near 3BBB:2DC5 89 1E 0616 mov word ptr ds:[616h],bx ; (3BBB:0616=5BFCh) 3BBB:2DC9 8B FB mov di,bx 3BBB:2DCB 83 EF 0C sub di,0Ch 3BBB:2DCE 8B 1F mov bx,[bx] 3BBB:2DD0 83 7F 0C 00 cmp word ptr [bx+0Ch],0 3BBB:2DD4 75 03 jne loc_523 ; Jump if not equal 3BBB:2DD6 E9 00F2 jmp loc_538 ; (2ECB) 3BBB:2DD9 loc_523: ; xref 3BBB:2DD4 3BBB:2DD9 33 C0 xor ax,ax ; Zero register 3BBB:2DDB A3 0618 mov word ptr ds:[618h],ax ; (3BBB:0618=1E89h) 3BBB:2DDE A3 061A mov word ptr ds:[61Ah],ax ; (3BBB:061A=37Bh) 3BBB:2DE1 A2 061C mov byte ptr ds:[61Ch],al ; (3BBB:061C=6) 3BBB:2DE4 loc_524: ; xref 3BBB:2E93 3BBB:2DE4 ,80 3F FF cmp byte ptr [bx],0FFh 3BBB:2DE7 74 17 je loc_525 ; Jump if equal 3BBB:2DE9 8B 47 0E mov ax,[bx+0Eh] 3BBB:2DEC 0B C0 or ax,ax ; Zero ? 3BBB:2DEE 75 1A jnz loc_526 ; Jump if not zero 3BBB:2DF0 8B 36 0618 mov si,word ptr ds:[618h] ; (3BBB:0618=1E89h) 3BBB:2DF4 0B F6 or si,si ; Zero ? 3BBB:2DF6 74 08 jz loc_525 ; Jump if zero 3BBB:2DF8 8B 74 0C mov si,[si+0Ch] 3BBB:2DFB 80 3C FF cmp byte ptr [si],0FFh 3BBB:2DFE 74 18 je loc_527 ; Jump if equal 3BBB:2E00 loc_525: ; xref 3BBB:2DE7, 2DF6 3BBB:2E00 89 3E 0618 mov word ptr ds:[618h],di ; (3BBB:0618=1E89h) 3BBB:2E04 C6 47 05 00 mov byte ptr [bx+5],0 3BBB:2E08 EB 0E jmp short loc_527 ; (2E18) 3BBB:2E0A loc_526: ; xref 3BBB:2DEE 3BBB:2E0A 3B 06 004E cmp ax,data_193 ; (3BBB:004E=0) 3BBB:2E0E 75 08 jne loc_527 ; Jump if not equal 3BBB:2E10 FE 06 061C inc byte ptr ds:[61Ch] ; (3BBB:061C=6) 3BBB:2E14 89 3E 061A mov word ptr ds:[61Ah],di ; (3BBB:061A=37Bh) 3BBB:2E18 loc_527: ; xref 3BBB:2DFE, 2E08, 2E0E 3BBB:2E18 89 1E 0614 mov word ptr ds:[614h],bx ; (3BBB:0614=8CE8h) 3BBB:2E1C 57 push di 3BBB:2E1D E8 02F5 call sub_162 ; (3115) 3BBB:2E20 E8 FBF5 call sub_107 ; (2A18) 3BBB:2E23 5F pop di 3BBB:2E24 8B 1E 0614 mov bx,word ptr ds:[614h] ; (3BBB:0614=8CE8h) 3BBB:2E28 75 1D jnz loc_530 ; Jump if not zero 3BBB:2E2A 8A 47 05 mov al,[bx+5] 3BBB:2E2D 3C FF cmp al,0FFh 3BBB:2E2F 74 13 je loc_529 ; Jump if equal 3BBB:2E31 8A 26 0613 mov ah,byte ptr ds:[613h] ; (3BBB:0613=6) 3BBB:2E35 3A C4 cmp al,ah 3BBB:2E37 74 0B je loc_529 ; Jump if equal 3BBB:2E39 FE C0 inc al 3BBB:2E3B 3A C4 cmp al,ah 3BBB:2E3D 74 02 je loc_528 ; Jump if equal 3BBB:2E3F B0 FF mov al,0FFh 3BBB:2E41 loc_528: ; xref 3BBB:2E3D 3BBB:2E41 88 47 05 mov [bx+5],al 3BBB:2E44 loc_529: ; xref 3BBB:2E2F, 2E37 3BBB:2E44 E9 0072 jmpn loc_537 ; (2EB9) 3BBB:2E47 loc_530: ; xref 3BBB:2E28 3BBB:2E47 8B 47 0E mov ax,[bx+0Eh] 3BBB:2E4A 3B 06 004E cmp ax,data_193 ; (3BBB:004E=0) 3BBB:2E4E 75 38 jne loc_532 ; Jump if not equal 3BBB:2E50 A0 069A mov al,byte ptr ds:[69Ah] ; (3BBB:069A=0) 3BBB:2E53 3A 07 cmp al,[bx] 3BBB:2E55 75 31 jne loc_532 ; Jump if not equal 3BBB:2E57 A0 0673 mov al,byte ptr ds:[673h] ; (3BBB:0673=8Ch) 3BBB:2E5A 0A C0 or al,al ; Zero ? 3BBB:2E5C 74 2A jz loc_532 ; Jump if zero 3BBB:2E5E 3A 47 05 cmp al,[bx+5] 3BBB:2E61 75 25 jne loc_532 ; Jump if not equal 3BBB:2E63 C6 47 05 00 mov byte ptr [bx+5],0 3BBB:2E67 83 7F 0C 00 cmp word ptr [bx+0Ch],0 3BBB:2E6B 74 29 je loc_534 ; Jump if equal 3BBB:2E6D FE 0E 061C dec byte ptr ds:[61Ch] ; (3BBB:061C=6) 3BBB:2E71 33 C0 xor ax,ax ; Zero register 3BBB:2E73 87 47 0C xchg [bx+0Ch],ax 3BBB:2E76 89 45 0C mov [di+0Ch],ax 3BBB:2E79 93 xchg bx,ax 3BBB:2E7A loc_531: ; xref 3BBB:2E81 3BBB:2E7A 8B F3 mov si,bx 3BBB:2E7C 8B 5C 0C mov bx,[si+0Ch] 3BBB:2E7F 0B DB or bx,bx ; Zero ? 3BBB:2E81 75 F7 jnz loc_531 ; Jump if not zero 3BBB:2E83 89 44 0C mov [si+0Ch],ax 3BBB:2E86 EB 08 jmp short loc_533 ; (2E90) 3BBB:2E88 loc_532: ; xref 3BBB:2E4E, 2E55, 2E5C, 2E61 3BBB:2E88 83 7F 0C 00 cmp word ptr [bx+0Ch],0 3BBB:2E8C 74 08 je loc_534 ; Jump if equal 3BBB:2E8E 8B FB mov di,bx 3BBB:2E90 loc_533: ; xref 3BBB:2E86 3BBB:2E90 8B 5D 0C mov bx,[di+0Ch] 3BBB:2E93 E9 FF4E jmp loc_524 ; (2DE4) 3BBB:2E96 loc_534: ; xref 3BBB:2E6B, 2E8C 3BBB:2E96 8B 36 0618 mov si,word ptr ds:[618h] ; (3BBB:0618=1E89h) 3BBB:2E9A 0B F6 or si,si ; Zero ? 3BBB:2E9C 74 02 jz loc_535 ; Jump if zero 3BBB:2E9E 8B FE mov di,si 3BBB:2EA0 loc_535: ; xref 3BBB:2E9C 3BBB:2EA0 8B 36 0616 mov si,word ptr ds:[616h] ; (3BBB:0616=5BFCh) 3BBB:2EA4 A0 061C mov al,byte ptr ds:[61Ch] ; (3BBB:061C=6) 3BBB:2EA7 3A 44 02 cmp al,[si+2] 3BBB:2EAA 72 04 jb loc_536 ; Jump if below 3BBB:2EAC 8B 3E 061A mov di,word ptr ds:[61Ah] ; (3BBB:061A=37Bh) 3BBB:2EB0 loc_536: ; xref 3BBB:2EAA 3BBB:2EB0 8B 5D 0C mov bx,[di+0Ch] 3BBB:2EB3 A0 0613 mov al,byte ptr ds:[613h] ; (3BBB:0613=6) 3BBB:2EB6 88 47 05 mov [bx+5],al 3BBB:2EB9 loc_537: ; xref 3BBB:2E44 3BBB:2EB9 8B 36 0616 mov si,word ptr ds:[616h] ; (3BBB:0616=5BFCh) 3BBB:2EBD 8B 04 mov ax,[si] 3BBB:2EBF 3B C3 cmp ax,bx 3BBB:2EC1 74 08 je loc_538 ; Jump if equal 3BBB:2EC3 87 47 0C xchg [bx+0Ch],ax 3BBB:2EC6 89 45 0C mov [di+0Ch],ax 3BBB:2EC9 89 1C mov [si],bx 3BBB:2ECB loc_538: ; xref 3BBB:2DD6, 2EC1 3BBB:2ECB A1 004E mov ax,data_193 ; (3BBB:004E=0) 3BBB:2ECE 89 47 0E mov [bx+0Eh],ax 3BBB:2ED1 C3 retn sub_154 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:3E52 ;========================================================================== 3BBB:2ED2 sub_155 proc near 3BBB:2ED2 ,BB 05E7 mov bx,5E7h ; (3BBB:05E7=75h) 3BBB:2ED5 loc_539: ; xref 3BBB:2EDC 3BBB:2ED5 8B FB mov di,bx 3BBB:2ED7 8B 1F mov bx,[bx] 3BBB:2ED9 83 3F 00 cmp word ptr [bx],0 3BBB:2EDC 75 F7 jne loc_539 ; Jump if not equal 3BBB:2EDE A0 069A mov al,byte ptr ds:[69Ah] ; (3BBB:069A=0) 3BBB:2EE1 88 47 04 mov [bx+4],al 3BBB:2EE4 89 57 02 mov [bx+2],dx 3BBB:2EE7 33 C0 xor ax,ax ; Zero register 3BBB:2EE9 88 47 05 mov [bx+5],al 3BBB:2EEC 89 05 mov [di],ax 3BBB:2EEE 8B C3 mov ax,bx 3BBB:2EF0 87 06 05E7 xchg word ptr ds:[5E7h],ax ; (3BBB:05E7=2F75h) 3BBB:2EF4 89 07 mov [bx],ax 3BBB:2EF6 C3 retn sub_155 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:3378, 3EE0 ;========================================================================== 3BBB:2EF7 sub_156 proc near 3BBB:2EF7 A0 069A mov al,byte ptr ds:[69Ah] ; (3BBB:069A=0) 3BBB:2EFA ,BB 05E7 mov bx,5E7h ; (3BBB:05E7=75h) 3BBB:2EFD loc_540: ; xref 3BBB:2F0B 3BBB:2EFD 8B 1F mov bx,[bx] 3BBB:2EFF 38 47 04 cmp [bx+4],al 3BBB:2F02 75 04 jne loc_541 ; Jump if not equal 3BBB:2F04 C6 47 04 FF mov byte ptr [bx+4],0FFh 3BBB:2F08 loc_541: ; xref 3BBB:2F02 3BBB:2F08 83 3F 00 cmp word ptr [bx],0 3BBB:2F0B 75 F0 jne loc_540 ; Jump if not equal 3BBB:2F0D C3 retn sub_156 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:30A7, 30BC, 3E99, 61E1 ;========================================================================== 3BBB:2F0E sub_157 proc near 3BBB:2F0E F6 06 0676 FF test byte ptr ds:[676h],0FFh ; (3BBB:0676=45h) 3BBB:2F13 74 07 jz loc_542 ; Jump if zero 3BBB:2F15 80 3E 0674 FF cmp byte ptr ds:[674h],0FFh ; (3BBB:0674=0C0h) 3BBB:2F1A F5 cmc ; Complement carry 3BBB:2F1B C3 retn 3BBB:2F1C loc_542: ; xref 3BBB:2F13 3BBB:2F1C A0 069A mov al,byte ptr ds:[69Ah] ; (3BBB:069A=0) 3BBB:2F1F ,BB 05E7 mov bx,5E7h ; (3BBB:05E7=75h) 3BBB:2F22 8B 16 05E5 mov dx,word ptr ds:[5E5h] ; (3BBB:05E5=9300h) 3BBB:2F26 loc_543: ; xref 3BBB:2F4B 3BBB:2F26 8B 1F mov bx,[bx] 3BBB:2F28 38 47 04 cmp [bx+4],al 3BBB:2F2B 75 1B jne loc_545 ; Jump if not equal 3BBB:2F2D 39 57 02 cmp [bx+2],dx 3BBB:2F30 75 16 jne loc_545 ; Jump if not equal 3BBB:2F32 3A 4F 05 cmp cl,[bx+5] 3BBB:2F35 72 10 jb loc_ret_544 ; Jump if below 3BBB:2F37 A0 0673 mov al,byte ptr ds:[673h] ; (3BBB:0673=8Ch) 3BBB:2F3A 8A E0 mov ah,al 3BBB:2F3C F6 D4 not ah 3BBB:2F3E 22 CC and cl,ah 3BBB:2F40 FE C0 inc al 3BBB:2F42 02 C1 add al,cl 3BBB:2F44 88 47 05 mov [bx+5],al 3BBB:2F47 loc_ret_544: ; xref 3BBB:2F35 3BBB:2F47 C3 retn 3BBB:2F48 loc_545: ; xref 3BBB:2F2B, 2F30 3BBB:2F48 83 3F 00 cmp word ptr [bx],0 3BBB:2F4B 75 D9 jne loc_543 ; Jump if not equal 3BBB:2F4D F9 stc ; Set carry flag 3BBB:2F4E C3 retn sub_157 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:307F, 30AE, 30CB ;========================================================================== 3BBB:2F4F sub_158 proc near 3BBB:2F4F 50 push ax 3BBB:2F50 E8 FACE call sub_108 ; (2A21) 3BBB:2F53 58 pop ax 3BBB:2F54 FE C8 dec al 3BBB:2F56 78 0A js loc_547 ; Jump if sign=1 3BBB:2F58 75 05 jnz loc_546 ; Jump if not zero 3BBB:2F5A B1 01 mov cl,1 3BBB:2F5C E9 FD88 jmp loc_505 ; (2CE7) 3BBB:2F5F loc_546: ; xref 3BBB:2F58 3BBB:2F5F E8 FD8E call sub_148 ; (2CF0) 3BBB:2F62 loc_547: ; xref 3BBB:2F56 3BBB:2F62 ,BE 061E mov si,61Eh ; (3BBB:061E=0C3h) 3BBB:2F65 8B 3E 0614 mov di,word ptr ds:[614h] ; (3BBB:0614=8CE8h) 3BBB:2F69 83 C7 06 add di,6 3BBB:2F6C B9 0002 mov cx,2 3BBB:2F6F F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:2F71 C3 retn sub_158 endp 3BBB:2F72 loc_548: ; xref 3BBB:6082 3BBB:2F72 ,B4 01 mov ah,1 3BBB:2F74 84 C9 test cl,cl 3BBB:2F76 75 02 jnz loc_549 ; Jump if not zero 3BBB:2F78 FE C4 inc ah 3BBB:2F7A loc_549: ; xref 3BBB:2F76 3BBB:2F7A 88 2E 0674 mov byte ptr ds:[674h],ch ; (3BBB:0674=0C0h) 3BBB:2F7E E9 001B jmpn loc_551 ; (2F9C) 3BBB:2F81 loc_550: ; xref 3BBB:3D9F 3BBB:2F81 ,B4 01 mov ah,1 3BBB:2F83 E8 0016 call sub_160 ; (2F9C) 3BBB:2F86 E9 FBE6 jmp loc_483 ; (2B6F) ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:3287 ;========================================================================== 3BBB:2F89 sub_159 proc near 3BBB:2F89 8C 1E 06A2 mov word ptr ds:[6A2h],ds ; (3BBB:06A2=1FFFh) 3BBB:2F8D 8B 1E 0653 mov bx,word ptr ds:[653h] ; (3BBB:0653=3A26h) 3BBB:2F91 80 FC 05 cmp ah,5 3BBB:2F94 75 69 jne loc_556 ; Jump if not equal 3BBB:2F96 8B 1E 0614 mov bx,word ptr ds:[614h] ; (3BBB:0614=8CE8h) 3BBB:2F9A EB 63 jmp short loc_556 ; (2FFF) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:2F83, 3ECE 3BBB:2F9C sub_160: 3BBB:2F9C loc_551: ; xref 3BBB:2F7E, 4AB9 3BBB:2F9C ,8B 1E 0655 mov bx,word ptr ds:[655h] ; (3BBB:0655=124Fh) 3BBB:2FA0 C7 06 06A2 0000 mov word ptr ds:[6A2h],0 ; (3BBB:06A2=1FFFh) 3BBB:2FA6 80 FC 04 cmp ah,4 3BBB:2FA9 75 54 jne loc_556 ; Jump if not equal 3BBB:2FAB loc_552: ; xref 3BBB:2FFD 3BBB:2FAB ,8B 1F mov bx,[bx] 3BBB:2FAD C7 06 061E FFFF mov word ptr ds:[61Eh],0FFFFh ; (3BBB:061E=26C3h) 3BBB:2FB3 loc_553: ; xref 3BBB:2FDE 3BBB:2FB3 A0 069A mov al,byte ptr ds:[69Ah] ; (3BBB:069A=0) 3BBB:2FB6 3A 07 cmp al,[bx] 3BBB:2FB8 75 1F jne loc_554 ; Jump if not equal 3BBB:2FBA F6 47 04 FF test byte ptr [bx+4],0FFh 3BBB:2FBE 74 19 jz loc_554 ; Jump if zero 3BBB:2FC0 8B 47 0E mov ax,[bx+0Eh] 3BBB:2FC3 3B 06 004E cmp ax,data_193 ; (3BBB:004E=0) 3BBB:2FC7 75 10 jne loc_554 ; Jump if not equal 3BBB:2FC9 8B 47 06 mov ax,[bx+6] 3BBB:2FCC 3B 06 061E cmp ax,word ptr ds:[61Eh] ; (3BBB:061E=26C3h) 3BBB:2FD0 73 07 jae loc_554 ; Jump if above or = 3BBB:2FD2 A3 061E mov word ptr ds:[61Eh],ax ; (3BBB:061E=26C3h) 3BBB:2FD5 89 1E 0620 mov word ptr ds:[620h],bx ; (3BBB:0620=6C6h) 3BBB:2FD9 loc_554: ; xref 3BBB:2FB8, 2FBE, 2FC7, 2FD0 3BBB:2FD9 8B 5F 0C mov bx,[bx+0Ch] 3BBB:2FDC 0B DB or bx,bx ; Zero ? 3BBB:2FDE 75 D3 jnz loc_553 ; Jump if not zero 3BBB:2FE0 83 3E 061E FF ;* cmp word ptr ds:[61Eh],0FFFFh ; (3BBB:061E=26C3h) 3BBB:2FE0 db 83h, 3Eh, 1Eh, 06h,0FFh ; Fixup - byte match 3BBB:2FE5 75 01 jnz loc_555 ; Jump if not zero 3BBB:2FE7 C3 retn 3BBB:2FE8 loc_555: ; xref 3BBB:2FE5 3BBB:2FE8 8B 1E 0620 mov bx,word ptr ds:[620h] ; (3BBB:0620=6C6h) 3BBB:2FEC 32 C0 xor al,al ; Zero register 3BBB:2FEE B4 04 mov ah,4 3BBB:2FF0 C7 06 06A2 0000 mov word ptr ds:[6A2h],0 ; (3BBB:06A2=1FFFh) 3BBB:2FF6 E8 0006 call sub_161 ; (2FFF) 3BBB:2FF9 8B 1E 0655 mov bx,word ptr ds:[655h] ; (3BBB:0655=124Fh) 3BBB:2FFD EB AC jmp short loc_552 ; (2FAB) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:2FF6 3BBB:2FFF sub_161: 3BBB:2FFF loc_556: ; xref 3BBB:2F94, 2F9A, 2FA9 3BBB:2FFF 88 26 0612 mov byte ptr ds:[612h],ah ; (3BBB:0612=10h) 3BBB:3003 9F lahf ; Load ah from flags 3BBB:3004 8A 0E 0673 mov cl,byte ptr ds:[673h] ; (3BBB:0673=8Ch) 3BBB:3008 A0 069B mov al,byte ptr ds:[69Bh] ; (3BBB:069B=74h) 3BBB:300B 22 C1 and al,cl 3BBB:300D A2 0613 mov byte ptr ds:[613h],al ; (3BBB:0613=6) 3BBB:3010 F6 D1 not cl 3BBB:3012 20 0E 069B and byte ptr ds:[69Bh],cl ; (3BBB:069B=74h) 3BBB:3016 9E sahf ; Store ah into flags 3BBB:3017 74 03 jz loc_557 ; Jump if zero 3BBB:3019 E8 FDA9 call sub_154 ; (2DC5) 3BBB:301C loc_557: ; xref 3BBB:3017 3BBB:301C 89 1E 0614 mov word ptr ds:[614h],bx ; (3BBB:0614=8CE8h) 3BBB:3020 8B 47 0A mov ax,[bx+0Ah] 3BBB:3023 83 3E 06A2 00 cmp word ptr ds:[6A2h],0 ; (3BBB:06A2=1FFFh) 3BBB:3028 75 05 jne loc_558 ; Jump if not equal 3BBB:302A A3 06A2 mov word ptr ds:[6A2h],ax ; (3BBB:06A2=1FFFh) 3BBB:302D 33 C0 xor ax,ax ; Zero register 3BBB:302F loc_558: ; xref 3BBB:3028 3BBB:302F A3 06A4 mov word ptr ds:[6A4h],ax ; (3BBB:06A4=68Eh) 3BBB:3032 A0 0612 mov al,byte ptr ds:[612h] ; (3BBB:0612=10h) 3BBB:3035 3C 03 cmp al,3 3BBB:3037 75 0B jne loc_559 ; Jump if not equal 3BBB:3039 32 E4 xor ah,ah ; Zero register 3BBB:303B 86 26 05D4 xchg byte ptr ds:[5D4h],ah ; (3BBB:05D4=0B0h) 3BBB:303F F6 C4 F0 test ah,0F0h 3BBB:3042 75 7E jnz loc_567 ; Jump if not zero 3BBB:3044 loc_559: ; xref 3BBB:3037 3BBB:3044 E8 00CE call sub_162 ; (3115) 3BBB:3047 80 3F FF cmp byte ptr [bx],0FFh 3BBB:304A 74 4B je loc_564 ; Jump if equal 3BBB:304C 3C 04 cmp al,4 3BBB:304E 73 05 jae loc_560 ; Jump if above or = 3BBB:3050 E8 F9C5 call sub_107 ; (2A18) 3BBB:3053 74 5E jz loc_566 ; Jump if zero 3BBB:3055 loc_560: ; xref 3BBB:304E 3BBB:3055 3C 05 cmp al,5 3BBB:3057 74 06 je loc_561 ; Jump if equal 3BBB:3059 F6 47 04 FF test byte ptr [bx+4],0FFh 3BBB:305D 74 38 jz loc_564 ; Jump if zero 3BBB:305F loc_561: ; xref 3BBB:3057 3BBB:305F FF 36 069A push word ptr ds:[69Ah] ; (3BBB:069A=7400h) 3BBB:3063 FF 36 069C push word ptr ds:[69Ch] ; (3BBB:069C=0C706h) 3BBB:3067 8B 47 02 mov ax,[bx+2] 3BBB:306A A3 069C mov word ptr ds:[69Ch],ax ; (3BBB:069C=0C706h) 3BBB:306D 8B 07 mov ax,[bx] 3BBB:306F A3 069A mov word ptr ds:[69Ah],ax ; (3BBB:069A=7400h) 3BBB:3072 38 06 0646 cmp byte ptr ds:[646h],al ; (3BBB:0646=0C4h) 3BBB:3076 74 03 je loc_562 ; Jump if equal 3BBB:3078 E8 0FEB call sub_237 ; (4066) 3BBB:307B loc_562: ; xref 3BBB:3076 3BBB:307B B0 01 mov al,1 3BBB:307D 75 03 jnz loc_563 ; Jump if not zero 3BBB:307F E8 FECD call sub_158 ; (2F4F) 3BBB:3082 loc_563: ; xref 3BBB:307D 3BBB:3082 E8 0090 call sub_162 ; (3115) 3BBB:3085 C6 47 04 00 mov byte ptr [bx+4],0 3BBB:3089 E8 F983 call sub_106 ; (2A0F) 3BBB:308C 8F 06 069C pop word ptr ds:[69Ch] ; (3BBB:069C=0C706h) 3BBB:3090 8F 06 069A pop word ptr ds:[69Ah] ; (3BBB:069A=7400h) 3BBB:3094 E8 1008 call sub_240 ; (409F) 3BBB:3097 loc_564: ; xref 3BBB:304A, 305D 3BBB:3097 A0 0612 mov al,byte ptr ds:[612h] ; (3BBB:0612=10h) 3BBB:309A 3C 04 cmp al,4 3BBB:309C 72 01 jb loc_565 ; Jump if below 3BBB:309E C3 retn 3BBB:309F loc_565: ; xref 3BBB:309C 3BBB:309F 3C 02 cmp al,2 3BBB:30A1 75 1F jne loc_567 ; Jump if not equal 3BBB:30A3 8A 0E 05E4 mov cl,byte ptr ds:[5E4h] ; (3BBB:05E4=3Ch) 3BBB:30A7 E8 FE64 call sub_157 ; (2F0E) 3BBB:30AA 72 16 jc loc_567 ; Jump if carry Set 3BBB:30AC 32 C0 xor al,al ; Zero register 3BBB:30AE E8 FE9E call sub_158 ; (2F4F) 3BBB:30B1 EB 1B jmp short loc_568 ; (30CE) 3BBB:30B3 loc_566: ; xref 3BBB:3053 3BBB:30B3 3C 02 cmp al,2 3BBB:30B5 75 20 jne loc_569 ; Jump if not equal 3BBB:30B7 8A 0E 05E4 mov cl,byte ptr ds:[5E4h] ; (3BBB:05E4=3Ch) 3BBB:30BB 53 push bx 3BBB:30BC E8 FE4F call sub_157 ; (2F0E) 3BBB:30BF 5B pop bx 3BBB:30C0 EB 15 jmp short loc_569 ; (30D7) 3BBB:30C2 loc_567: ; xref 3BBB:3042, 30A1, 30AA 3BBB:30C2 8B 1E 0614 mov bx,word ptr ds:[614h] ; (3BBB:0614=8CE8h) 3BBB:30C6 C6 07 FF mov byte ptr [bx],0FFh 3BBB:30C9 B0 02 mov al,2 3BBB:30CB E8 FE81 call sub_158 ; (2F4F) 3BBB:30CE loc_568: ; xref 3BBB:30B1 3BBB:30CE E8 0044 call sub_162 ; (3115) 3BBB:30D1 E8 F93B call sub_106 ; (2A0F) 3BBB:30D4 C6 05 00 mov byte ptr [di],0 3BBB:30D7 loc_569: ; xref 3BBB:30B5, 30C0 3BBB:30D7 32 C0 xor al,al ; Zero register 3BBB:30D9 8A 26 0613 mov ah,byte ptr ds:[613h] ; (3BBB:0613=6) 3BBB:30DD D1 E8 shr ax,1 ; Shift w/zeros fill 3BBB:30DF 8B 36 06A4 mov si,word ptr ds:[6A4h] ; (3BBB:06A4=68Eh) 3BBB:30E3 03 F0 add si,ax 3BBB:30E5 A0 0612 mov al,byte ptr ds:[612h] ; (3BBB:0612=10h) 3BBB:30E8 3C 03 cmp al,3 3BBB:30EA 75 05 jne loc_570 ; Jump if not equal 3BBB:30EC 89 36 064B mov word ptr ds:[64Bh],si ; (3BBB:064B=447h) 3BBB:30F0 C3 retn 3BBB:30F1 loc_570: ; xref 3BBB:30EA 3BBB:30F1 B9 0040 mov cx,40h 3BBB:30F4 8B 3E 062C mov di,word ptr ds:[62Ch] ; (3BBB:062C=3Ch) 3BBB:30F8 3C 01 cmp al,1 3BBB:30FA A1 062E mov ax,word ptr ds:[62Eh] ; (3BBB:062E=7493h) 3BBB:30FD 8B 16 06A2 mov dx,word ptr ds:[6A2h] ; (3BBB:06A2=1FFFh) 3BBB:3101 1E push ds 3BBB:3102 06 push es 3BBB:3103 74 07 jz loc_571 ; Jump if zero 3BBB:3105 C6 47 04 FF mov byte ptr [bx+4],0FFh 3BBB:3109 87 FE xchg di,si 3BBB:310B 92 xchg dx,ax 3BBB:310C loc_571: ; xref 3BBB:3103 3BBB:310C 8E DA mov ds,dx 3BBB:310E 8E C0 mov es,ax 3BBB:3110 F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:3112 07 pop es 3BBB:3113 1F pop ds 3BBB:3114 C3 retn sub_159 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:2E1D, 3044, 3082, 30CE ;========================================================================== 3BBB:3115 sub_162 proc near 3BBB:3115 8B 1E 0614 mov bx,word ptr ds:[614h] ; (3BBB:0614=8CE8h) 3BBB:3119 BA 069A mov dx,69Ah 3BBB:311C B1 04 mov cl,4 3BBB:311E loc_ret_572: ; xref 3BBB:3127 3BBB:311E C3 retn sub_162 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:316E, 3426, 3494, 36FE ;========================================================================== 3BBB:311F sub_163 proc near 3BBB:311F loc_573: ; xref 3BBB:449A 3BBB:311F ,E8 0175 call sub_171 ; (3297) 3BBB:3122 F6 06 05DF FF test byte ptr ds:[5DFh],0FFh ; (3BBB:05DF=8Ch) 3BBB:3127 74 F5 jz loc_ret_572 ; Jump if zero 3BBB:3129 E8 FB72 call sub_144 ; (2C9E) 3BBB:312C E8 FB8B call sub_145 ; (2CBA) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:32C5 3BBB:312F sub_164: 3BBB:312F A1 0636 mov ax,word ptr ds:[636h] ; (3BBB:0636=8A26h) 3BBB:3132 B1 02 mov cl,2 3BBB:3134 D3 E8 shr ax,cl ; Shift w/zeros fill 3BBB:3136 A3 06A0 mov word ptr ds:[6A0h],ax ; (3BBB:06A0=0FF00h) 3BBB:3139 A3 069B mov word ptr ds:[69Bh],ax ; (3BBB:069B=674h) 3BBB:313C C6 06 069D 00 mov byte ptr ds:[69Dh],0 ; (3BBB:069D=0C7h) 3BBB:3141 B4 03 mov ah,3 3BBB:3143 E9 0141 jmp loc_590 ; (3287) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:322F, 52B1 3BBB:3146 sub_165: 3BBB:3146 loc_574: ; xref 3BBB:3261 3BBB:3146 ,8B 1E 07E6 mov bx,word ptr ds:[7E6h] ; (3BBB:07E6=0A307h) 3BBB:314A 0B DB or bx,bx ; Zero ? 3BBB:314C 74 20 jz loc_576 ; Jump if zero 3BBB:314E 8B 36 0649 mov si,word ptr ds:[649h] ; (3BBB:0649=8B26h) 3BBB:3152 8A 44 02 mov al,[si+2] 3BBB:3155 3A 47 01 cmp al,[bx+1] 3BBB:3158 74 08 je loc_575 ; Jump if equal 3BBB:315A 88 47 01 mov [bx+1],al 3BBB:315D C7 47 06 0000 mov word ptr [bx+6],0 3BBB:3162 loc_575: ; xref 3BBB:3158 3BBB:3162 F7 47 06 FFFF test word ptr [bx+6],0FFFFh 3BBB:3167 74 05 jz loc_576 ; Jump if zero 3BBB:3169 E8 0013 call sub_166 ; (317F) 3BBB:316C EB 03 jmp short loc_577 ; (3171) 3BBB:316E loc_576: ; xref 3BBB:314C, 3167 3BBB:316E E8 FFAE call sub_163 ; (311F) 3BBB:3171 loc_577: ; xref 3BBB:316C 3BBB:3171 E8 FADE call sub_137 ; (2C52) 3BBB:3174 75 03 jnz loc_578 ; Jump if not zero 3BBB:3176 33 C0 xor ax,ax ; Zero register 3BBB:3178 C3 retn 3BBB:3179 loc_578: ; xref 3BBB:3174 3BBB:3179 E8 FA86 call sub_126 ; (2C02) 3BBB:317C 8B C3 mov ax,bx 3BBB:317E C3 retn ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:3169 3BBB:317F sub_166: 3BBB:317F 8B 16 0636 mov dx,word ptr ds:[636h] ; (3BBB:0636=8A26h) 3BBB:3183 42 inc dx 3BBB:3184 89 16 0636 mov word ptr ds:[636h],dx ; (3BBB:0636=8A26h) 3BBB:3188 A1 07E8 mov ax,word ptr ds:[7E8h] ; (3BBB:07E8=464h) 3BBB:318B 0B C0 or ax,ax ; Zero ? 3BBB:318D 75 10 jnz loc_579 ; Jump if not zero 3BBB:318F B8 0020 mov ax,20h 3BBB:3192 F7 E2 mul dx ; dx:ax = reg * ax 3BBB:3194 F7 36 065F div word ptr ds:[65Fh] ; (3BBB:065F=2604h) ax,dxrem=dx:ax/dat 3BBB:3198 8B D0 mov dx,ax 3BBB:319A 8B 47 06 mov ax,[bx+6] 3BBB:319D EB 0B jmp short loc_580 ; (31AA) 3BBB:319F loc_579: ; xref 3BBB:318D 3BBB:319F 23 16 07EA and dx,word ptr ds:[7EAh] ; (3BBB:07EA=1BBh) 3BBB:31A3 0B D2 or dx,dx ; Zero ? 3BBB:31A5 75 16 jnz loc_581 ; Jump if not zero 3BBB:31A7 BA 0001 mov dx,1 3BBB:31AA loc_580: ; xref 3BBB:319D, 31B8 3BBB:31AA 0B D2 or dx,dx ; Zero ? 3BBB:31AC 74 0F jz loc_581 ; Jump if zero 3BBB:31AE 4A dec dx 3BBB:31AF 52 push dx 3BBB:31B0 E8 291F call sub_312 ; (5AD2) 3BBB:31B3 5A pop dx 3BBB:31B4 3B 06 065D cmp ax,word ptr ds:[65Dh] ; (3BBB:065D=4489h) 3BBB:31B8 72 F0 jb loc_580 ; Jump if below 3BBB:31BA E9 FA9C jmp loc_497 ; (2C59) 3BBB:31BD loc_581: ; xref 3BBB:31A5, 31AC 3BBB:31BD A3 07E8 mov word ptr ds:[7E8h],ax ; (3BBB:07E8=464h) 3BBB:31C0 8A 16 0636 mov dl,byte ptr ds:[636h] ; (3BBB:0636=26h) 3BBB:31C4 80 E2 03 and dl,3 3BBB:31C7 B1 05 mov cl,5 3BBB:31C9 D2 E2 shl dl,cl ; Shift w/zeros fill 3BBB:31CB 88 16 06A6 mov byte ptr ds:[6A6h],dl ; (3BBB:06A6=7Bh) 3BBB:31CF 8A 36 05D4 mov dh,byte ptr ds:[5D4h] ; (3BBB:05D4=0B0h) 3BBB:31D3 0A F6 or dh,dh ; Zero ? 3BBB:31D5 75 04 jnz loc_582 ; Jump if not zero 3BBB:31D7 0A D2 or dl,dl ; Zero ? 3BBB:31D9 75 1E jnz loc_ret_583 ; Jump if not zero 3BBB:31DB loc_582: ; xref 3BBB:31D5 3BBB:31DB 52 push dx 3BBB:31DC 8B 1E 0636 mov bx,word ptr ds:[636h] ; (3BBB:0636=8A26h) 3BBB:31E0 23 1E 07EA and bx,word ptr ds:[7EAh] ; (3BBB:07EA=1BBh) 3BBB:31E4 B1 05 mov cl,5 3BBB:31E6 D3 E3 shl bx,cl ; Shift w/zeros fill 3BBB:31E8 E8 2E9A call sub_319 ; (6085) 3BBB:31EB B4 03 mov ah,3 3BBB:31ED E8 0097 call sub_169 ; (3287) 3BBB:31F0 5A pop dx 3BBB:31F1 F6 C6 F0 test dh,0F0h 3BBB:31F4 74 03 jz loc_ret_583 ; Jump if zero 3BBB:31F6 E8 0001 call sub_167 ; (31FA) 3BBB:31F9 loc_ret_583: ; xref 3BBB:31D9, 31F4, 320A 3BBB:31F9 C3 retn ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:31F6 3BBB:31FA sub_167: 3BBB:31FA C7 06 07E8 0000 mov word ptr ds:[7E8h],0 ; (3BBB:07E8=464h) 3BBB:3200 8B 1E 07E6 mov bx,word ptr ds:[7E6h] ; (3BBB:07E6=0A307h) 3BBB:3204 8B 47 02 mov ax,[bx+2] 3BBB:3207 3B 47 06 cmp ax,[bx+6] 3BBB:320A 74 ED je loc_ret_583 ; Jump if equal 3BBB:320C FF 36 0636 push word ptr ds:[636h] ; (3BBB:0636=8A26h) 3BBB:3210 FF 77 06 push word ptr [bx+6] 3BBB:3213 53 push bx 3BBB:3214 0B C0 or ax,ax ; Zero ? 3BBB:3216 75 08 jnz loc_584 ; Jump if not zero 3BBB:3218 C7 06 07E6 0000 mov word ptr ds:[7E6h],0 ; (3BBB:07E6=0A307h) 3BBB:321E EB 03 jmp short loc_585 ; (3223) 3BBB:3220 loc_584: ; xref 3BBB:3216 3BBB:3220 89 47 06 mov [bx+6],ax 3BBB:3223 loc_585: ; xref 3BBB:321E 3BBB:3223 8B 47 04 mov ax,[bx+4] 3BBB:3226 48 dec ax 3BBB:3227 A3 0636 mov word ptr ds:[636h],ax ; (3BBB:0636=8A26h) 3BBB:322A C6 06 05D4 F0 mov byte ptr ds:[5D4h],0F0h ; (3BBB:05D4=0B0h) 3BBB:322F E8 FF14 call sub_165 ; (3146) 3BBB:3232 5E pop si 3BBB:3233 89 36 07E6 mov word ptr ds:[7E6h],si ; (3BBB:07E6=0A307h) 3BBB:3237 58 pop ax 3BBB:3238 89 44 06 mov [si+6],ax 3BBB:323B 8F 06 0636 pop word ptr ds:[636h] ; (3BBB:0636=8A26h) 3BBB:323F FF 0E 0636 dec word ptr ds:[636h] ; (3BBB:0636=8A26h) 3BBB:3243 C7 06 07E8 0000 mov word ptr ds:[7E8h],0 ; (3BBB:07E8=464h) 3BBB:3249 0B DB or bx,bx ; Zero ? 3BBB:324B 74 0B jz loc_586 ; Jump if zero 3BBB:324D F6 47 0B 10 test byte ptr [bx+0Bh],10h 3BBB:3251 74 05 jz loc_586 ; Jump if zero 3BBB:3253 3B 47 1A cmp ax,[bx+1Ah] 3BBB:3256 74 09 je loc_587 ; Jump if equal 3BBB:3258 loc_586: ; xref 3BBB:324B, 3251 3BBB:3258 E8 00A4 call sub_172 ; (32FF) 3BBB:325B E8 FA40 call sub_144 ; (2C9E) 3BBB:325E E9 FA59 jmp loc_503 ; (2CBA) 3BBB:3261 loc_587: ; xref 3BBB:3256 3BBB:3261 E9 FEE2 jmp loc_574 ; (3146) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:3883, 42C8, 459D, 47F4, 48E7, 4AEE, 4B45 ; 4BC1, 4C47, 5675, 56F4, 57D5 3BBB:3264 sub_168: 3BBB:3264 loc_588: ; xref 3BBB:38FA, 3A22, 43F7, 4D25 ; 58F5, 5996, 5A35, 5A76 ; 61CB 3BBB:3264 ,E8 F9B9 call sub_130 ; (2C20) 3BBB:3267 B4 05 mov ah,5 3BBB:3269 E8 001B call sub_169 ; (3287) 3BBB:326C 80 3E 0676 00 cmp byte ptr ds:[676h],0 ; (3BBB:0676=45h) 3BBB:3271 74 0F je loc_589 ; Jump if equal 3BBB:3273 8B 1E 07E6 mov bx,word ptr ds:[7E6h] ; (3BBB:07E6=0A307h) 3BBB:3277 0B DB or bx,bx ; Zero ? 3BBB:3279 74 07 jz loc_589 ; Jump if zero 3BBB:327B 83 7F 06 00 cmp word ptr [bx+6],0 3BBB:327F 74 01 je loc_589 ; Jump if equal 3BBB:3281 C3 retn 3BBB:3282 loc_589: ; xref 3BBB:3271, 3279, 327F 3BBB:3282 B1 FD mov cl,0FDh 3BBB:3284 E9 0049 jmpn loc_593 ; (32D0) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:31ED, 3269 3BBB:3287 sub_169: 3BBB:3287 loc_590: ; xref 3BBB:3143 3BBB:3287 E8 FCFF call sub_159 ; (2F89) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:2CDA, 3DA2, 3ED3 3BBB:328A sub_170: 3BBB:328A A1 062E mov ax,word ptr ds:[62Eh] ; (3BBB:062E=7493h) 3BBB:328D A3 06A2 mov word ptr ds:[6A2h],ax ; (3BBB:06A2=1FFFh) 3BBB:3290 A1 062C mov ax,word ptr ds:[62Ch] ; (3BBB:062C=3Ch) 3BBB:3293 A3 06A4 mov word ptr ds:[6A4h],ax ; (3BBB:06A4=68Eh) 3BBB:3296 C3 retn ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:311F, 41DA 3BBB:3297 sub_171: 3BBB:3297 8B 16 066A mov dx,word ptr ds:[66Ah] ; (3BBB:066A=0C38Bh) 3BBB:329B 8B 1E 0636 mov bx,word ptr ds:[636h] ; (3BBB:0636=8A26h) 3BBB:329F 43 inc bx 3BBB:32A0 89 1E 0636 mov word ptr ds:[636h],bx ; (3BBB:0636=8A26h) 3BBB:32A4 2B D3 sub dx,bx 3BBB:32A6 73 03 jnc loc_591 ; Jump if carry=0 3BBB:32A8 E9 F9AE jmp loc_497 ; (2C59) 3BBB:32AB loc_591: ; xref 3BBB:32A6 3BBB:32AB A0 0636 mov al,byte ptr ds:[636h] ; (3BBB:0636=26h) 3BBB:32AE 24 03 and al,3 3BBB:32B0 51 push cx 3BBB:32B1 B1 05 mov cl,5 3BBB:32B3 D2 E0 shl al,cl ; Shift w/zeros fill 3BBB:32B5 59 pop cx 3BBB:32B6 A2 06A6 mov byte ptr ds:[6A6h],al ; (3BBB:06A6=7Bh) 3BBB:32B9 F6 06 05D4 FF test byte ptr ds:[5D4h],0FFh ; (3BBB:05D4=0B0h) 3BBB:32BE 75 04 jnz loc_592 ; Jump if not zero 3BBB:32C0 0A C0 or al,al ; Zero ? 3BBB:32C2 75 61 jnz loc_ret_595 ; Jump if not zero 3BBB:32C4 loc_592: ; xref 3BBB:32BE 3BBB:32C4 51 push cx 3BBB:32C5 E8 FE67 call sub_164 ; (312F) 3BBB:32C8 59 pop cx 3BBB:32C9 F6 06 05DF FF test byte ptr ds:[5DFh],0FFh ; (3BBB:05DF=8Ch) 3BBB:32CE 75 55 jnz loc_ret_595 ; Jump if not zero 3BBB:32D0 loc_593: ; xref 3BBB:3284 3BBB:32D0 8B 16 06A0 mov dx,word ptr ds:[6A0h] ; (3BBB:06A0=0FF00h) 3BBB:32D4 8B 1E 066E mov bx,word ptr ds:[66Eh] ; (3BBB:066E=2604h) 3BBB:32D8 80 E7 7F and bh,7Fh 3BBB:32DB 2B D3 sub dx,bx 3BBB:32DD 73 46 jnc loc_ret_595 ; Jump if carry=0 3BBB:32DF 51 push cx 3BBB:32E0 E8 F8B4 call sub_118 ; (2B97) 3BBB:32E3 8B 1E 06A0 mov bx,word ptr ds:[6A0h] ; (3BBB:06A0=0FF00h) 3BBB:32E7 03 1E 064F add bx,word ptr ds:[64Fh] ; (3BBB:064F=647h) 3BBB:32EB 59 pop cx 3BBB:32EC FE C1 inc cl 3BBB:32EE 74 27 jz loc_594 ; Jump if zero 3BBB:32F0 FE C1 inc cl 3BBB:32F2 FE C1 inc cl 3BBB:32F4 74 30 jz loc_596 ; Jump if zero 3BBB:32F6 3A 07 cmp al,[bx] 3BBB:32F8 74 2B je loc_ret_595 ; Jump if equal 3BBB:32FA E8 F8F6 call sub_124 ; (2BF3) 3BBB:32FD 75 26 jnz loc_ret_595 ; Jump if not zero ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:2D21, 3258 3BBB:32FF sub_172: 3BBB:32FF 8B 1E 0655 mov bx,word ptr ds:[655h] ; (3BBB:0655=124Fh) 3BBB:3303 E8 FA70 call sub_152 ; (2D76) 3BBB:3306 B0 FF mov al,0FFh 3BBB:3308 A2 05DF mov byte ptr ds:[5DFh],al ; (3BBB:05DF=8Ch) 3BBB:330B A2 0611 mov byte ptr ds:[611h],al ; (3BBB:0611=0B9h) 3BBB:330E BB 05C4 mov bx,5C4h 3BBB:3311 E8 F8D3 call sub_122 ; (2BE7) 3BBB:3314 E9 16A1 jmp loc_890 ; (49B8) 3BBB:3317 loc_594: ; xref 3BBB:32EE 3BBB:3317 3A 07 cmp al,[bx] 3BBB:3319 88 07 mov [bx],al 3BBB:331B 74 08 jz loc_ret_595 ; Jump if zero 3BBB:331D 8B 1E 0649 mov bx,word ptr ds:[649h] ; (3BBB:0649=8B26h) 3BBB:3321 80 4F 02 01 or byte ptr [bx+2],1 3BBB:3325 loc_ret_595: ; xref 3BBB:32C2, 32CE, 32DD, 32F8 ; 32FD, 331B 3BBB:3325 C3 retn 3BBB:3326 loc_596: ; xref 3BBB:32F4 3BBB:3326 88 07 mov [bx],al 3BBB:3328 C3 retn sub_163 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:3342, 38A6, 38B6, 3D0B ;========================================================================== 3BBB:3329 sub_173 proc near 3BBB:3329 8B D9 mov bx,cx 3BBB:332B 80 E1 07 and cl,7 3BBB:332E FE C1 inc cl 3BBB:3330 8A E9 mov ch,cl 3BBB:3332 B1 03 mov cl,3 3BBB:3334 D3 EB shr bx,cl ; Shift w/zeros fill 3BBB:3336 03 1E 0651 add bx,word ptr ds:[651h] ; (3BBB:0651=3574h) 3BBB:333A 8A 07 mov al,[bx] 3BBB:333C 8A CD mov cl,ch 3BBB:333E D2 C0 rol al,cl ; Rotate 3BBB:3340 C3 retn sub_173 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:33BB ;========================================================================== 3BBB:3341 sub_174 proc near 3BBB:3341 52 push dx 3BBB:3342 E8 FFE4 call sub_173 ; (3329) 3BBB:3345 24 FE and al,0FEh 3BBB:3347 5A pop dx 3BBB:3348 0A C2 or al,dl ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:38C5 3BBB:334A sub_175: 3BBB:334A D2 C8 ror al,cl ; Rotate 3BBB:334C 88 07 mov [bx],al 3BBB:334E C3 retn sub_174 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:3361, 33C9, 33FA, 49F7 ;========================================================================== 3BBB:334F sub_176 proc near 3BBB:334F 8B 1E 0668 mov bx,word ptr ds:[668h] ; (3BBB:0668=0DA8Eh) 3BBB:3353 B1 03 mov cl,3 3BBB:3355 D3 EB shr bx,cl ; Shift w/zeros fill 3BBB:3357 43 inc bx 3BBB:3358 C3 retn sub_176 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:4A61, 4A98 ;========================================================================== 3BBB:3359 sub_177 proc near 3BBB:3359 loc_597: ; xref 3BBB:3430 3BBB:3359 ,80 3E 0676 00 cmp byte ptr ds:[676h],0 ; (3BBB:0676=45h) 3BBB:335E 75 18 jne loc_599 ; Jump if not equal 3BBB:3360 9C pushf ; Push flags 3BBB:3361 E8 FFEB call sub_176 ; (334F) 3BBB:3364 8B 36 0651 mov si,word ptr ds:[651h] ; (3BBB:0651=3574h) 3BBB:3368 8B FE mov di,si 3BBB:336A 03 FB add di,bx 3BBB:336C 8B CB mov cx,bx 3BBB:336E 0E E8 F2EB callf sub_93 ; (265D) 3BBB:3372 74 02 jz loc_598 ; Jump if zero 3BBB:3374 87 F7 xchg si,di 3BBB:3376 loc_598: ; xref 3BBB:3372 3BBB:3376 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:3378 loc_599: ; xref 3BBB:335E 3BBB:3378 E8 FB7C call sub_156 ; (2EF7) 3BBB:337B loc_ret_600: ; xref 3BBB:338C 3BBB:337B C3 retn sub_177 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:33C4, 33D6, 344D ;========================================================================== 3BBB:337C sub_178 proc near 3BBB:337C E8 F883 call sub_126 ; (2C02) 3BBB:337F 83 C3 10 add bx,10h 3BBB:3382 51 push cx 3BBB:3383 B1 11 mov cl,11h 3BBB:3385 loc_601: ; xref 3BBB:33C1 3BBB:3385 ,5A pop dx 3BBB:3386 FE C9 dec cl 3BBB:3388 75 0E jnz loc_602 ; Jump if not zero 3BBB:338A 0A D2 or dl,dl ; Zero ? 3BBB:338C 75 ED jnz loc_ret_600 ; Jump if not zero 3BBB:338E 8B 1E 0651 mov bx,word ptr ds:[651h] ; (3BBB:0651=3574h) 3BBB:3392 A1 066C mov ax,word ptr ds:[66Ch] ; (3BBB:066C=4587h) 3BBB:3395 09 07 or [bx],ax 3BBB:3397 C3 retn 3BBB:3398 loc_602: ; xref 3BBB:3388 3BBB:3398 52 push dx 3BBB:3399 80 3E 0696 00 cmp byte ptr ds:[696h],0 ; (3BBB:0696=83h) 3BBB:339E 74 08 je loc_603 ; Jump if equal 3BBB:33A0 51 push cx 3BBB:33A1 53 push bx 3BBB:33A2 8A 0F mov cl,[bx] 3BBB:33A4 B5 00 mov ch,0 3BBB:33A6 EB 07 jmp short loc_604 ; (33AF) 3BBB:33A8 loc_603: ; xref 3BBB:339E 3BBB:33A8 FE C9 dec cl 3BBB:33AA 51 push cx 3BBB:33AB 8B 0F mov cx,[bx] 3BBB:33AD 43 inc bx 3BBB:33AE 53 push bx 3BBB:33AF loc_604: ; xref 3BBB:33A6 3BBB:33AF 0B C9 or cx,cx ; Zero ? 3BBB:33B1 74 0B jz loc_605 ; Jump if zero 3BBB:33B3 8B 1E 0668 mov bx,word ptr ds:[668h] ; (3BBB:0668=0DA8Eh) 3BBB:33B7 3B D9 cmp bx,cx 3BBB:33B9 72 03 jb loc_605 ; Jump if below 3BBB:33BB E8 FF83 call sub_174 ; (3341) 3BBB:33BE loc_605: ; xref 3BBB:33B1, 33B9 3BBB:33BE 5B pop bx 3BBB:33BF 43 inc bx 3BBB:33C0 59 pop cx 3BBB:33C1 EB C2 jmp short loc_601 ; (3385) sub_178 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:388E, 4B36, 4BBE ;========================================================================== 3BBB:33C3 sub_179 proc near 3BBB:33C3 51 push cx 3BBB:33C4 E8 FFB5 call sub_178 ; (337C) 3BBB:33C7 59 pop cx ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:3A1F 3BBB:33C8 sub_180: 3BBB:33C8 51 push cx 3BBB:33C9 E8 FF83 call sub_176 ; (334F) 3BBB:33CC 59 pop cx 3BBB:33CD A1 0651 mov ax,word ptr ds:[651h] ; (3BBB:0651=3574h) 3BBB:33D0 50 push ax 3BBB:33D1 03 C3 add ax,bx 3BBB:33D3 A3 0651 mov word ptr ds:[651h],ax ; (3BBB:0651=3574h) 3BBB:33D6 E8 FFA3 call sub_178 ; (337C) 3BBB:33D9 8F 06 0651 pop word ptr ds:[651h] ; (3BBB:0651=3574h) 3BBB:33DD C3 retn sub_179 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:40B4 ;========================================================================== 3BBB:33DE sub_181 proc near 3BBB:33DE 81 3E 066E 8000 cmp word ptr ds:[66Eh],8000h ; (3BBB:066E=2604h) 3BBB:33E4 75 0A jne loc_606 ; Jump if not equal 3BBB:33E6 8B 1E 0649 mov bx,word ptr ds:[649h] ; (3BBB:0649=8B26h) 3BBB:33EA F6 47 02 FF test byte ptr [bx+2],0FFh 3BBB:33EE 75 40 jnz loc_608 ; Jump if not zero 3BBB:33F0 loc_606: ; xref 3BBB:33E4 3BBB:33F0 8B 1E 0655 mov bx,word ptr ds:[655h] ; (3BBB:0655=124Fh) 3BBB:33F4 E8 F97F call sub_152 ; (2D76) 3BBB:33F7 E8 F978 call sub_151 ; (2D72) 3BBB:33FA E8 FF52 call sub_176 ; (334F) 3BBB:33FD 8B CB mov cx,bx 3BBB:33FF 8B 3E 0651 mov di,word ptr ds:[651h] ; (3BBB:0651=3574h) 3BBB:3403 A1 066C mov ax,word ptr ds:[66Ch] ; (3BBB:066C=4587h) 3BBB:3406 AB stosw ; Store ax to es:[di] 3BBB:3407 49 dec cx 3BBB:3408 49 dec cx 3BBB:3409 33 C0 xor ax,ax ; Zero register 3BBB:340B F3/ AA rep stosb ; Rep when cx >0 Store al to es:[di] 3BBB:340D 8B 1E 0649 mov bx,word ptr ds:[649h] ; (3BBB:0649=8B26h) 3BBB:3411 88 07 mov [bx],al 3BBB:3413 88 47 01 mov [bx+1],al 3BBB:3416 A3 069E mov word ptr ds:[69Eh],ax ; (3BBB:069E=7406h) 3BBB:3419 8B 1E 0647 mov bx,word ptr ds:[647h] ; (3BBB:0647=45Ch) 3BBB:341D C7 07 0004 mov word ptr [bx],4 3BBB:3421 E8 F835 call sub_138 ; (2C59) 3BBB:3424 loc_607: ; xref 3BBB:343D, 3441, 3453 3BBB:3424 ,B1 FF mov cl,0FFh 3BBB:3426 E8 FCF6 call sub_163 ; (311F) 3BBB:3429 E8 F826 call sub_137 ; (2C52) 3BBB:342C 75 05 jnz loc_609 ; Jump if not zero 3BBB:342E 32 C0 xor al,al ; Zero register 3BBB:3430 loc_608: ; xref 3BBB:33EE 3BBB:3430 E9 FF26 jmp loc_597 ; (3359) 3BBB:3433 loc_609: ; xref 3BBB:342C 3BBB:3433 E8 024F call sub_192 ; (3685) 3BBB:3436 E8 F7C9 call sub_126 ; (2C02) 3BBB:3439 8A 07 mov al,[bx] 3BBB:343B 3C 21 cmp al,21h ; '!' 3BBB:343D 74 E5 je loc_607 ; Jump if equal 3BBB:343F 3C E5 cmp al,0E5h 3BBB:3441 74 E1 je loc_607 ; Jump if equal 3BBB:3443 3C 20 cmp al,20h ; ' ' 3BBB:3445 74 0E je loc_611 ; Jump if equal 3BBB:3447 A8 10 test al,10h 3BBB:3449 75 05 jnz loc_610 ; Jump if not zero 3BBB:344B B1 01 mov cl,1 3BBB:344D E8 FF2C call sub_178 ; (337C) 3BBB:3450 loc_610: ; xref 3BBB:3449, 345E 3BBB:3450 ,E8 F828 call sub_141 ; (2C7B) 3BBB:3453 EB CF jmp short loc_607 ; (3424) 3BBB:3455 loc_611: ; xref 3BBB:3445 3BBB:3455 8A 47 0C mov al,[bx+0Ch] 3BBB:3458 8B 1E 0649 mov bx,word ptr ds:[649h] ; (3BBB:0649=8B26h) 3BBB:345C 88 07 mov [bx],al 3BBB:345E EB F0 jmp short loc_610 ; (3450) sub_181 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:40B9 ;========================================================================== 3BBB:3460 sub_182 proc near 3BBB:3460 81 3E 066E 8000 cmp word ptr ds:[66Eh],8000h ; (3BBB:066E=2604h) 3BBB:3466 75 0A jne loc_612 ; Jump if not equal 3BBB:3468 8B 1E 0649 mov bx,word ptr ds:[649h] ; (3BBB:0649=8B26h) 3BBB:346C F6 47 02 FF test byte ptr [bx+2],0FFh 3BBB:3470 75 2C jnz loc_ret_614 ; Jump if not zero 3BBB:3472 loc_612: ; xref 3BBB:3466 3BBB:3472 8B 1E 0655 mov bx,word ptr ds:[655h] ; (3BBB:0655=124Fh) 3BBB:3476 E8 F8FD call sub_152 ; (2D76) 3BBB:3479 E8 F8F6 call sub_151 ; (2D72) 3BBB:347C 32 C0 xor al,al ; Zero register 3BBB:347E 8B 1E 0649 mov bx,word ptr ds:[649h] ; (3BBB:0649=8B26h) 3BBB:3482 88 07 mov [bx],al 3BBB:3484 88 47 01 mov [bx+1],al 3BBB:3487 8B 1E 0647 mov bx,word ptr ds:[647h] ; (3BBB:0647=45Ch) 3BBB:348B C7 07 0004 mov word ptr [bx],4 3BBB:348F E8 F7C7 call sub_138 ; (2C59) 3BBB:3492 loc_613: ; xref 3BBB:34A6, 34AA, 34AF 3BBB:3492 ,B1 FF mov cl,0FFh 3BBB:3494 E8 FC88 call sub_163 ; (311F) 3BBB:3497 E8 F7B8 call sub_137 ; (2C52) 3BBB:349A 75 03 jnz loc_615 ; Jump if not zero 3BBB:349C 32 C0 xor al,al ; Zero register 3BBB:349E loc_ret_614: ; xref 3BBB:3470 3BBB:349E C3 retn 3BBB:349F loc_615: ; xref 3BBB:349A 3BBB:349F E8 F760 call sub_126 ; (2C02) 3BBB:34A2 8A 07 mov al,[bx] 3BBB:34A4 0A C0 or al,al ; Zero ? 3BBB:34A6 74 EA jz loc_613 ; Jump if zero 3BBB:34A8 3C E5 cmp al,0E5h 3BBB:34AA 74 E6 je loc_613 ; Jump if equal 3BBB:34AC E8 F7CC call sub_141 ; (2C7B) 3BBB:34AF EB E1 jmp short loc_613 ; (3492) sub_182 endp 3BBB:34B1 loc_616: ; xref 3BBB:3863, 487C, 48EF, 4B53 3BBB:34B1 ,A0 0693 mov al,byte ptr ds:[693h] ; (3BBB:0693=1Eh) 3BBB:34B4 E9 F51D jmp loc_466 ; (29D4) ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:3513, 3841, 575E, 5779, 57DB ;========================================================================== 3BBB:34B7 sub_183 proc near 3BBB:34B7 32 D2 xor dl,dl ; Zero register ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:34DC, 4831, 58A3 3BBB:34B9 sub_184: 3BBB:34B9 B9 000B mov cx,0Bh 3BBB:34BC 8B F3 mov si,bx 3BBB:34BE 46 inc si 3BBB:34BF locloop_617: ; xref 3BBB:34D2 3BBB:34BF AC lodsb ; String [si] to al 3BBB:34C0 24 7F and al,7Fh 3BBB:34C2 3C 3F cmp al,3Fh ; '?' 3BBB:34C4 74 10 je loc_ret_619 ; Jump if equal 3BBB:34C6 0A D2 or dl,dl ; Zero ? 3BBB:34C8 74 08 jz loc_618 ; Jump if zero 3BBB:34CA 3C 5B cmp al,5Bh ; '[' 3BBB:34CC 74 08 je loc_ret_619 ; Jump if equal 3BBB:34CE 3C 5D cmp al,5Dh ; ']' 3BBB:34D0 74 04 je loc_ret_619 ; Jump if equal 3BBB:34D2 loc_618: ; xref 3BBB:34C8 3BBB:34D2 E2 EB loop locloop_617 ; Loop if cx > 0 3BBB:34D4 0C 01 or al,1 3BBB:34D6 loc_ret_619: ; xref 3BBB:34C4, 34CC, 34D0, 34DF ; 34EB, 34EF 3BBB:34D6 C3 retn sub_183 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:44F8, 4810, 48B0, 4ACC, 4C65, 4CC1 ;========================================================================== 3BBB:34D7 sub_185 proc near 3BBB:34D7 32 D2 xor dl,dl ; Zero register ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:471F 3BBB:34D9 sub_186: 3BBB:34D9 BB 0769 mov bx,769h 3BBB:34DC E8 FFDA call sub_184 ; (34B9) 3BBB:34DF 75 F5 jnz loc_ret_619 ; Jump if not zero 3BBB:34E1 B4 09 mov ah,9 3BBB:34E3 E9 F4F2 jmp loc_467 ; (29D8) sub_185 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:36DA ;========================================================================== 3BBB:34E6 sub_187 proc near 3BBB:34E6 83 3E 0657 00 cmp word ptr ds:[657h],0 ; (3BBB:0657=2A74h) 3BBB:34EB 74 E9 je loc_ret_619 ; Jump if equal 3BBB:34ED 0A C9 or cl,cl ; Zero ? 3BBB:34EF 74 E5 jz loc_ret_619 ; Jump if zero 3BBB:34F1 80 F9 0C cmp cl,0Ch 3BBB:34F4 72 22 jb loc_622 ; Jump if below 3BBB:34F6 B0 02 mov al,2 3BBB:34F8 74 02 jz loc_620 ; Jump if zero 3BBB:34FA B0 03 mov al,3 3BBB:34FC loc_620: ; xref 3BBB:34F8 3BBB:34FC A2 0611 mov byte ptr ds:[611h],al ; (3BBB:0611=0B9h) 3BBB:34FF A0 061D mov al,byte ptr ds:[61Dh] ; (3BBB:061D=8Eh) 3BBB:3502 3C 03 cmp al,3 3BBB:3504 74 17 je loc_623 ; Jump if equal 3BBB:3506 3C 11 cmp al,11h 3BBB:3508 74 04 je loc_621 ; Jump if equal 3BBB:350A 3C 07 cmp al,7 3BBB:350C 73 0F jae loc_623 ; Jump if above or = 3BBB:350E loc_621: ; xref 3BBB:3508 3BBB:350E C6 06 0611 02 mov byte ptr ds:[611h],2 ; (3BBB:0611=0B9h) 3BBB:3513 E8 FFA1 call sub_183 ; (34B7) 3BBB:3516 75 05 jnz loc_623 ; Jump if not zero 3BBB:3518 loc_622: ; xref 3BBB:34F4 3BBB:3518 C6 06 0611 00 mov byte ptr ds:[611h],0 ; (3BBB:0611=0B9h) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:3697 3BBB:351D sub_188: 3BBB:351D loc_623: ; xref 3BBB:3504, 350C, 3516 3BBB:351D 8B F3 mov si,bx 3BBB:351F AC lodsb ; String [si] to al 3BBB:3520 A2 060D mov byte ptr ds:[60Dh],al ; (3BBB:060D=1Eh) 3BBB:3523 33 DB xor bx,bx ; Zero register 3BBB:3525 24 20 and al,20h ; ' ' 3BBB:3527 74 06 jz loc_624 ; Jump if zero 3BBB:3529 80 0E 060D 10 or byte ptr ds:[60Dh],10h ; (3BBB:060D=1Eh) 3BBB:352E C3 retn 3BBB:352F loc_624: ; xref 3BBB:3527 3BBB:352F 8A D0 mov dl,al 3BBB:3531 B9 000B mov cx,0Bh 3BBB:3534 locloop_625: ; xref 3BBB:355D 3BBB:3534 80 F9 06 cmp cl,6 3BBB:3537 74 12 je loc_626 ; Jump if equal 3BBB:3539 80 F9 04 cmp cl,4 3BBB:353C 74 0D je loc_626 ; Jump if equal 3BBB:353E D1 E3 shl bx,1 ; Shift w/zeros fill 3BBB:3540 D0 D2 rcl dl,1 ; Rotate thru carry 3BBB:3542 F6 C1 01 test cl,1 3BBB:3545 75 04 jnz loc_626 ; Jump if not zero 3BBB:3547 D1 E3 shl bx,1 ; Shift w/zeros fill 3BBB:3549 D0 D2 rcl dl,1 ; Rotate thru carry 3BBB:354B loc_626: ; xref 3BBB:3537, 353C, 3545 3BBB:354B AC lodsb ; String [si] to al 3BBB:354C 24 7F and al,7Fh 3BBB:354E 2C 20 sub al,20h ; ' ' 3BBB:3550 D0 C8 ror al,1 ; Rotate 3BBB:3552 73 02 jnc loc_627 ; Jump if carry=0 3BBB:3554 D0 C0 rol al,1 ; Rotate 3BBB:3556 loc_627: ; xref 3BBB:3552 3BBB:3556 32 E4 xor ah,ah ; Zero register 3BBB:3558 03 D8 add bx,ax 3BBB:355A 80 D2 00 adc dl,0 3BBB:355D E2 D5 loop locloop_625 ; Loop if cx > 0 3BBB:355F 89 1E 060E mov word ptr ds:[60Eh],bx ; (3BBB:060E=1F07h) 3BBB:3563 ,BB 060D mov bx,60Dh ; (3BBB:060D=1Eh) 3BBB:3566 80 E2 03 and dl,3 3BBB:3569 D0 CA ror dl,1 ; Rotate 3BBB:356B D0 CA ror dl,1 ; Rotate 3BBB:356D 08 17 or [bx],dl 3BBB:356F AC lodsb ; String [si] to al 3BBB:3570 24 1F and al,1Fh 3BBB:3572 46 inc si 3BBB:3573 8A 24 mov ah,[si] 3BBB:3575 80 E4 3F and ah,3Fh ; '?' 3BBB:3578 B1 03 mov cl,3 3BBB:357A D2 E0 shl al,cl ; Shift w/zeros fill 3BBB:357C D3 E8 shr ax,cl ; Shift w/zeros fill 3BBB:357E 8A 16 0667 mov dl,byte ptr ds:[667h] ; (3BBB:0667=1Eh) 3BBB:3582 D1 E0 shl ax,1 ; Shift w/zeros fill 3BBB:3584 loc_628: ; xref 3BBB:3588 3BBB:3584 D1 E8 shr ax,1 ; Shift w/zeros fill 3BBB:3586 D0 EA shr dl,1 ; Shift w/zeros fill 3BBB:3588 72 FA jc loc_628 ; Jump if carry Set 3BBB:358A 80 E4 01 and ah,1 3BBB:358D D2 CC ror ah,cl ; Rotate 3BBB:358F 08 27 or [bx],ah 3BBB:3591 88 47 03 mov [bx+3],al 3BBB:3594 loc_ret_629: ; xref 3BBB:359A, 35A1, 35A8, 35BE 3BBB:3594 C3 retn sub_187 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:36F7 ;========================================================================== 3BBB:3595 sub_189 proc near 3BBB:3595 83 3E 0657 00 cmp word ptr ds:[657h],0 ; (3BBB:0657=2A74h) 3BBB:359A 74 F8 je loc_ret_629 ; Jump if equal 3BBB:359C A0 0631 mov al,byte ptr ds:[631h] ; (3BBB:0631=0E9h) 3BBB:359F 0A C0 or al,al ; Zero ? 3BBB:35A1 74 F1 jz loc_ret_629 ; Jump if zero 3BBB:35A3 80 3E 0611 FF cmp byte ptr ds:[611h],0FFh ; (3BBB:0611=0B9h) 3BBB:35A8 74 EA je loc_ret_629 ; Jump if equal 3BBB:35AA 8B 1E 0647 mov bx,word ptr ds:[647h] ; (3BBB:0647=45Ch) 3BBB:35AE 8B 0F mov cx,[bx] 3BBB:35B0 FE C8 dec al 3BBB:35B2 75 04 jnz loc_630 ; Jump if not zero 3BBB:35B4 8B 0E 066A mov cx,word ptr ds:[66Ah] ; (3BBB:066A=0C38Bh) 3BBB:35B8 loc_630: ; xref 3BBB:35B2 3BBB:35B8 8B 1E 0636 mov bx,word ptr ds:[636h] ; (3BBB:0636=8A26h) 3BBB:35BC 2B CB sub cx,bx 3BBB:35BE 74 D4 jz loc_ret_629 ; Jump if zero 3BBB:35C0 8E 06 0657 mov es,word ptr ds:[657h] ; (3BBB:0657=2A74h) 3BBB:35C4 43 inc bx 3BBB:35C5 8B FB mov di,bx 3BBB:35C7 D1 E7 shl di,1 ; Shift w/zeros fill 3BBB:35C9 D1 E7 shl di,1 ; Shift w/zeros fill 3BBB:35CB 83 EF 04 sub di,4 3BBB:35CE E8 0005 call sub_190 ; (35D6) 3BBB:35D1 8C D8 mov ax,ds 3BBB:35D3 8E C0 mov es,ax 3BBB:35D5 C3 retn sub_189 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:35CE ;========================================================================== 3BBB:35D6 sub_190 proc near 3BBB:35D6 locloop_631: ; xref 3BBB:35EC 3BBB:35D6 83 C7 04 add di,4 3BBB:35D9 ,BE 060D mov si,60Dh ; (3BBB:060D=1Eh) 3BBB:35DC AC lodsb ; String [si] to al 3BBB:35DD 26: 32 05 xor al,es:[di] 3BBB:35E0 8A D0 mov dl,al 3BBB:35E2 24 1F and al,1Fh 3BBB:35E4 75 1E jnz loc_634 ; Jump if not zero 3BBB:35E6 E8 007F call sub_191 ; (3668) 3BBB:35E9 74 5A jz loc_639 ; Jump if zero 3BBB:35EB loc_632: ; xref 3BBB:360F, 3615, 361A, 3627 ; 362C, 3632, 363B, 3643 3BBB:35EB ,43 inc bx 3BBB:35EC E2 E8 loop locloop_631 ; Loop if cx > 0 3BBB:35EE 83 3E 0636 FF ;* cmp word ptr ds:[636h],0FFFFh ; (3BBB:0636=8A26h) 3BBB:35EE db 83h, 3Eh, 36h, 06h,0FFh ; Fixup - byte match 3BBB:35F3 75 0E jnz loc_ret_633 ; Jump if not zero 3BBB:35F5 8C D8 mov ax,ds 3BBB:35F7 8E C0 mov es,ax 3BBB:35F9 E8 F688 call sub_142 ; (2C84) 3BBB:35FC 75 05 jnz loc_ret_633 ; Jump if not zero 3BBB:35FE C6 06 0611 FF mov byte ptr ds:[611h],0FFh ; (3BBB:0611=0B9h) 3BBB:3603 loc_ret_633: ; xref 3BBB:35F3, 35FC 3BBB:3603 C3 retn 3BBB:3604 loc_634: ; xref 3BBB:35E4 3BBB:3604 A0 05DA mov al,byte ptr ds:[5DAh] ; (3BBB:05DA=1Eh) 3BBB:3607 FE C0 inc al 3BBB:3609 75 08 jnz loc_635 ; Jump if not zero 3BBB:360B 26: 80 3D F5 cmp byte ptr es:[di],0F5h 3BBB:360F 75 DA jne loc_632 ; Jump if not equal 3BBB:3611 EB 1B jmp short loc_636 ; (362E) 3BBB:3613 loc_635: ; xref 3BBB:3609 3BBB:3613 FE C0 inc al 3BBB:3615 75 D4 jnz loc_632 ; Jump if not zero 3BBB:3617 E8 004E call sub_191 ; (3668) 3BBB:361A 75 CF jnz loc_632 ; Jump if not zero 3BBB:361C A0 05D8 mov al,byte ptr ds:[5D8h] ; (3BBB:05D8=0) 3BBB:361F FE C0 inc al 3BBB:3621 75 11 jnz loc_637 ; Jump if not zero 3BBB:3623 26: F6 05 10 test byte ptr es:[di],10h 3BBB:3627 74 C2 jz loc_632 ; Jump if zero 3BBB:3629 F6 C2 0F test dl,0Fh 3BBB:362C 75 BD jnz loc_632 ; Jump if not zero 3BBB:362E loc_636: ; xref 3BBB:3611 3BBB:362E 89 1E 05D9 mov word ptr ds:[5D9h],bx ; (3BBB:05D9=1E06h) 3BBB:3632 EB B7 jmp short loc_632 ; (35EB) 3BBB:3634 loc_637: ; xref 3BBB:3621 3BBB:3634 FE C0 inc al 3BBB:3636 75 07 jnz loc_638 ; Jump if not zero 3BBB:3638 F6 C2 0F test dl,0Fh 3BBB:363B 75 AE jnz loc_632 ; Jump if not zero 3BBB:363D EB 06 jmp short loc_639 ; (3645) 3BBB:363F loc_638: ; xref 3BBB:3636 3BBB:363F 26: F6 05 1F test byte ptr es:[di],1Fh 3BBB:3643 75 A6 jnz loc_632 ; Jump if not zero 3BBB:3645 loc_639: ; xref 3BBB:35E9, 363D 3BBB:3645 8B 16 0636 mov dx,word ptr ds:[636h] ; (3BBB:0636=8A26h) 3BBB:3649 4B dec bx 3BBB:364A 89 1E 0636 mov word ptr ds:[636h],bx ; (3BBB:0636=8A26h) 3BBB:364E 8A C3 mov al,bl 3BBB:3650 24 03 and al,3 3BBB:3652 3C 03 cmp al,3 3BBB:3654 74 2E je loc_ret_641 ; Jump if equal 3BBB:3656 80 E3 FC and bl,0FCh 3BBB:3659 80 E2 FC and dl,0FCh 3BBB:365C 3B DA cmp bx,dx 3BBB:365E 74 24 je loc_ret_641 ; Jump if equal 3BBB:3660 80 0E 05D4 0F or byte ptr ds:[5D4h],0Fh ; (3BBB:05D4=0B0h) 3BBB:3665 32 C0 xor al,al ; Zero register 3BBB:3667 C3 retn ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:35E6, 3617 3BBB:3668 sub_191: 3BBB:3668 A0 0611 mov al,byte ptr ds:[611h] ; (3BBB:0611=0B9h) 3BBB:366B 0A C0 or al,al ; Zero ? 3BBB:366D 74 15 jz loc_ret_641 ; Jump if zero 3BBB:366F B4 E0 mov ah,0E0h 3BBB:3671 3C 03 cmp al,3 3BBB:3673 74 02 je loc_640 ; Jump if equal 3BBB:3675 B4 C0 mov ah,0C0h 3BBB:3677 loc_640: ; xref 3BBB:3673 3BBB:3677 84 D4 test dl,ah 3BBB:3679 75 09 jnz loc_ret_641 ; Jump if not zero 3BBB:367B 32 E4 xor ah,ah ; Zero register 3BBB:367D 91 xchg cx,ax 3BBB:367E 57 push di 3BBB:367F 47 inc di 3BBB:3680 F3/ A6 repe cmpsb ; Rep zf=1+cx >0 Cmp [si] to es:[di] 3BBB:3682 91 xchg cx,ax 3BBB:3683 5F pop di 3BBB:3684 loc_ret_641: ; xref 3BBB:3654, 365E, 366D, 3679 ; 368A, 36C1 3BBB:3684 C3 retn sub_190 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:3433, 3891, 3ACD, 486F, 4B48 ;========================================================================== 3BBB:3685 sub_192 proc near 3BBB:3685 loc_642: ; xref 3BBB:4C4A 3BBB:3685 ,83 3E 0657 00 cmp word ptr ds:[657h],0 ; (3BBB:0657=2A74h) 3BBB:368A 74 F8 je loc_ret_641 ; Jump if equal 3BBB:368C FF 36 060D push word ptr ds:[60Dh] ; (3BBB:060D=71Eh) 3BBB:3690 FF 36 060F push word ptr ds:[60Fh] ; (3BBB:060F=531Fh) 3BBB:3694 E8 F56B call sub_126 ; (2C02) 3BBB:3697 E8 FE83 call sub_188 ; (351D) 3BBB:369A A1 0636 mov ax,word ptr ds:[636h] ; (3BBB:0636=8A26h) 3BBB:369D D1 E0 shl ax,1 ; Shift w/zeros fill 3BBB:369F D1 E0 shl ax,1 ; Shift w/zeros fill 3BBB:36A1 8B F8 mov di,ax 3BBB:36A3 8E 06 0657 mov es,word ptr ds:[657h] ; (3BBB:0657=2A74h) 3BBB:36A7 ,BE 060D mov si,60Dh ; (3BBB:060D=1Eh) 3BBB:36AA B9 0002 mov cx,2 3BBB:36AD F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:36AF 8C D8 mov ax,ds 3BBB:36B1 8E C0 mov es,ax 3BBB:36B3 8F 06 060F pop word ptr ds:[60Fh] ; (3BBB:060F=531Fh) 3BBB:36B7 8F 06 060D pop word ptr ds:[60Dh] ; (3BBB:060D=71Eh) 3BBB:36BB C3 retn sub_192 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:3726, 3748 ;========================================================================== 3BBB:36BC sub_193 proc near 3BBB:36BC 80 3E 05DA FF cmp byte ptr ds:[5DAh],0FFh ; (3BBB:05DA=1Eh) 3BBB:36C1 75 C1 jne loc_ret_641 ; Jump if not equal ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:3796, 37B7 3BBB:36C3 sub_194: 3BBB:36C3 loc_643: ; xref 3BBB:4AC3 3BBB:36C3 ,A1 0636 mov ax,word ptr ds:[636h] ; (3BBB:0636=8A26h) 3BBB:36C6 A3 05D9 mov word ptr ds:[5D9h],ax ; (3BBB:05D9=1E06h) 3BBB:36C9 C3 retn sub_193 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:36EC, 3811, 3A7D, 4533, 4670 ;========================================================================== 3BBB:36CA sub_195 proc near 3BBB:36CA BB 0769 mov bx,769h 3BBB:36CD 89 1E 0624 mov word ptr ds:[624h],bx ; (3BBB:0624=0E801h) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:37FF, 483A 3BBB:36D1 sub_196: 3BBB:36D1 C6 06 0693 FF mov byte ptr ds:[693h],0FFh ; (3BBB:0693=1Eh) 3BBB:36D6 88 0E 0631 mov byte ptr ds:[631h],cl ; (3BBB:0631=0E9h) 3BBB:36DA E8 FE09 call sub_187 ; (34E6) 3BBB:36DD C3 retn sub_195 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:441B, 4C72, 4D10, 4D5B ;========================================================================== 3BBB:36DE sub_197 proc near 3BBB:36DE 33 C0 xor ax,ax ; Zero register 3BBB:36E0 A2 0775 mov byte ptr ds:[775h],al ; (3BBB:0775=0F0h) 3BBB:36E3 A2 0777 mov byte ptr ds:[777h],al ; (3BBB:0777=0F8h) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:3917, 398B, 3B12, 429A, 47B7 3BBB:36E6 sub_198: 3BBB:36E6 B1 0F mov cl,0Fh 3BBB:36E8 EB 02 jmp short loc_644 ; (36EC) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:381F, 385E, 422F, 485F, 48CB, 4950, 4AFF ; 4CCA 3BBB:36EA sub_199: 3BBB:36EA B1 0C mov cl,0Ch ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:4667, 4BE0, 4BFD 3BBB:36EC sub_200: 3BBB:36EC loc_644: ; xref 3BBB:36E8 3BBB:36EC E8 FFDB call sub_195 ; (36CA) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:483D 3BBB:36EF sub_201: 3BBB:36EF E8 F567 call sub_138 ; (2C59) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:3859, 3894, 3A80, 4536, 4673, 4872, 48EA ; 4968, 4B4B 3BBB:36F2 sub_202: 3BBB:36F2 loc_645: ; xref 3BBB:3741, 3799, 37BA, 3802 ; 3814 3BBB:36F2 ,C6 06 06A7 00 mov byte ptr ds:[6A7h],0 ; (3BBB:06A7=3) 3BBB:36F7 E8 FE9B call sub_189 ; (3595) 3BBB:36FA 75 4C jnz loc_648 ; Jump if not zero 3BBB:36FC B1 00 mov cl,0 3BBB:36FE E8 FA1E call sub_163 ; (311F) 3BBB:3701 E8 F54E call sub_137 ; (2C52) 3BBB:3704 74 42 jz loc_648 ; Jump if zero 3BBB:3706 8B 16 0624 mov dx,word ptr ds:[624h] ; (3BBB:0624=0E801h) 3BBB:370A 8B F2 mov si,dx 3BBB:370C AC lodsb ; String [si] to al 3BBB:370D 3C E5 cmp al,0E5h 3BBB:370F 74 07 je loc_646 ; Jump if equal 3BBB:3711 52 push dx 3BBB:3712 E8 F55B call sub_140 ; (2C70) 3BBB:3715 5A pop dx 3BBB:3716 73 30 jnc loc_648 ; Jump if carry=0 3BBB:3718 loc_646: ; xref 3BBB:370F 3BBB:3718 E8 F4E7 call sub_126 ; (2C02) 3BBB:371B 8A 0E 0631 mov cl,byte ptr ds:[631h] ; (3BBB:0631=0E9h) 3BBB:371F 32 ED xor ch,ch ; Zero register 3BBB:3721 80 3F E5 cmp byte ptr [bx],0E5h 3BBB:3724 75 03 jne loc_647 ; Jump if not equal 3BBB:3726 E8 FF93 call sub_193 ; (36BC) 3BBB:3729 loc_647: ; xref 3BBB:3724 3BBB:3729 C6 06 0689 00 mov byte ptr ds:[689h],0 ; (3BBB:0689=0DAh) 3BBB:372E 8A 07 mov al,[bx] 3BBB:3730 24 EF and al,0EFh 3BBB:3732 3A 07 cmp al,[bx] 3BBB:3734 74 21 je loc_650 ; Jump if equal 3BBB:3736 8B F2 mov si,dx 3BBB:3738 3A 04 cmp al,[si] 3BBB:373A 75 1B jne loc_650 ; Jump if not equal 3BBB:373C A0 05D8 mov al,byte ptr ds:[5D8h] ; (3BBB:05D8=0) 3BBB:373F 0A C0 or al,al ; Zero ? 3BBB:3741 74 AF jz loc_645 ; Jump if zero 3BBB:3743 A2 0689 mov byte ptr ds:[689h],al ; (3BBB:0689=0DAh) 3BBB:3746 EB 59 jmp short loc_655 ; (37A1) 3BBB:3748 loc_648: ; xref 3BBB:36FA, 3704, 3716 3BBB:3748 E8 FF71 call sub_193 ; (36BC) 3BBB:374B E8 F50B call sub_138 ; (2C59) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:2D46 3BBB:374E sub_203: 3BBB:374E loc_649: ; xref 3BBB:2CB5, 3A2D, 4564, 47BD ; 4AEB, 4BD6, 4BED, 4CB4 ; 4CBE, 4ECF, 53D0, 5586 ; 5618, 57A3, 57E9, 58CD ; 58FF, 59A3, 59FA, 5A3F ; 5A62, 5AAE 3BBB:374E ,B0 FF mov al,0FFh 3BBB:3750 8A E8 mov ch,al 3BBB:3752 FE C5 inc ch 3BBB:3754 E9 F27D jmp loc_466 ; (29D4) 3BBB:3757 loc_650: ; xref 3BBB:3734, 373A, 37A7 3BBB:3757 ,0A C9 or cl,cl ; Zero ? 3BBB:3759 74 4E jz loc_656 ; Jump if zero 3BBB:375B 8B F2 mov si,dx 3BBB:375D AC lodsb ; String [si] to al 3BBB:375E 80 FD 0E cmp ch,0Eh 3BBB:3761 75 04 jne loc_651 ; Jump if not equal 3BBB:3763 24 3F and al,3Fh ; '?' 3BBB:3765 EB 10 jmp short loc_652 ; (3777) 3BBB:3767 loc_651: ; xref 3BBB:3761 3BBB:3767 24 7F and al,7Fh 3BBB:3769 3C 3F cmp al,3Fh ; '?' 3BBB:376B 74 34 je loc_655 ; Jump if equal 3BBB:376D 80 FD 0D cmp ch,0Dh 3BBB:3770 74 2F je loc_655 ; Jump if equal 3BBB:3772 80 FD 0C cmp ch,0Ch 3BBB:3775 74 08 je loc_653 ; Jump if equal 3BBB:3777 loc_652: ; xref 3BBB:3765 3BBB:3777 2A 07 sub al,[bx] 3BBB:3779 24 7F and al,7Fh 3BBB:377B 75 4D jnz loc_660 ; Jump if not zero 3BBB:377D EB 22 jmp short loc_655 ; (37A1) 3BBB:377F loc_653: ; xref 3BBB:3775 3BBB:377F 51 push cx 3BBB:3780 8A 0F mov cl,[bx] 3BBB:3782 E8 F3AD call sub_115 ; (2B32) 3BBB:3785 59 pop cx 3BBB:3786 75 32 jnz loc_657 ; Jump if not zero 3BBB:3788 F6 06 06A7 FF test byte ptr ds:[6A7h],0FFh ; (3BBB:06A7=3) 3BBB:378D 74 0D jz loc_654 ; Jump if zero 3BBB:378F 43 inc bx 3BBB:3790 43 inc bx 3BBB:3791 80 3F 00 cmp byte ptr [bx],0 3BBB:3794 75 24 jne loc_657 ; Jump if not equal 3BBB:3796 E8 FF2A call sub_194 ; (36C3) 3BBB:3799 E9 FF56 jmp loc_645 ; (36F2) 3BBB:379C loc_654: ; xref 3BBB:378D 3BBB:379C C6 06 05D6 00 mov byte ptr ds:[5D6h],0 ; (3BBB:05D6=0B9h) 3BBB:37A1 loc_655: ; xref 3BBB:3746, 376B, 3770, 377D ; 37DA 3BBB:37A1 ,42 inc dx 3BBB:37A2 43 inc bx 3BBB:37A3 FE C5 inc ch 3BBB:37A5 FE C9 dec cl 3BBB:37A7 EB AE jmp short loc_650 ; (3757) 3BBB:37A9 loc_656: ; xref 3BBB:3759 3BBB:37A9 80 3E 0689 FF cmp byte ptr ds:[689h],0FFh ; (3BBB:0689=0DAh) 3BBB:37AE 75 0D jne loc_658 ; Jump if not equal 3BBB:37B0 80 3E 05DA FE cmp byte ptr ds:[5DAh],0FEh ; (3BBB:05DA=1Eh) 3BBB:37B5 75 03 jne loc_657 ; Jump if not equal 3BBB:37B7 E8 FF09 call sub_194 ; (36C3) 3BBB:37BA loc_657: ; xref 3BBB:3786, 3794, 37B5, 37CC ; 37D3 3BBB:37BA E9 FF35 jmp loc_645 ; (36F2) 3BBB:37BD loc_658: ; xref 3BBB:37AE 3BBB:37BD 32 C0 xor al,al ; Zero register 3BBB:37BF A2 0693 mov byte ptr ds:[693h],al ; (3BBB:0693=1Eh) 3BBB:37C2 A2 05D1 mov byte ptr ds:[5D1h],al ; (3BBB:05D1=0BFh) 3BBB:37C5 8A E8 mov ch,al 3BBB:37C7 FE C5 inc ch 3BBB:37C9 loc_ret_659: ; xref 3BBB:37EC 3BBB:37C9 C3 retn 3BBB:37CA loc_660: ; xref 3BBB:377B 3BBB:37CA 0A 2F or ch,[bx] 3BBB:37CC 75 EC jnz loc_657 ; Jump if not zero 3BBB:37CE F6 06 05D6 FF test byte ptr ds:[5D6h],0FFh ; (3BBB:05D6=0B9h) 3BBB:37D3 74 E5 jz loc_657 ; Jump if zero 3BBB:37D5 C6 06 06A7 FF mov byte ptr ds:[6A7h],0FFh ; (3BBB:06A7=3) 3BBB:37DA EB C5 jmp short loc_655 ; (37A1) sub_197 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:4825, 485C ;========================================================================== 3BBB:37DC sub_204 proc near 3BBB:37DC B0 FF mov al,0FFh ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:37F3, 381C 3BBB:37DE sub_205: 3BBB:37DE A2 05D8 mov byte ptr ds:[5D8h],al ; (3BBB:05D8=0) 3BBB:37E1 B0 FE mov al,0FEh 3BBB:37E3 A2 05DA mov byte ptr ds:[5DAh],al ; (3BBB:05DA=1Eh) 3BBB:37E6 loc_ret_661: ; xref 3BBB:3822 3BBB:37E6 C3 retn sub_204 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:4851, 4877 ;========================================================================== 3BBB:37E7 sub_206 proc near 3BBB:37E7 80 3E 05DA FE cmp byte ptr ds:[5DAh],0FEh ; (3BBB:05DA=1Eh) 3BBB:37EC 74 DB je loc_ret_659 ; Jump if equal 3BBB:37EE E8 F475 call sub_139 ; (2C66) 3BBB:37F1 32 C0 xor al,al ; Zero register 3BBB:37F3 E8 FFE8 call sub_205 ; (37DE) 3BBB:37F6 8B 1E 0624 mov bx,word ptr ds:[624h] ; (3BBB:0624=0E801h) 3BBB:37FA 80 0F 10 or byte ptr [bx],10h 3BBB:37FD B1 0C mov cl,0Ch 3BBB:37FF E8 FECF call sub_196 ; (36D1) 3BBB:3802 E9 FEED jmp loc_645 ; (36F2) sub_206 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:4582, 45A2, 47A5 ;========================================================================== 3BBB:3805 sub_207 proc near 3BBB:3805 A1 0636 mov ax,word ptr ds:[636h] ; (3BBB:0636=8A26h) 3BBB:3808 A3 05D9 mov word ptr ds:[5D9h],ax ; (3BBB:05D9=1E06h) 3BBB:380B C3 retn sub_207 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:458A, 45C7, 47E3 ;========================================================================== 3BBB:380C sub_208 proc near 3BBB:380C E8 F457 call sub_139 ; (2C66) 3BBB:380F B1 0F mov cl,0Fh 3BBB:3811 E8 FEB6 call sub_195 ; (36CA) 3BBB:3814 E9 FEDB jmp loc_645 ; (36F2) sub_208 endp 3BBB:3817 loc_662: ; xref 3BBB:46E8 3BBB:3817 ,E8 F2BB call sub_113 ; (2AD5) 3BBB:381A loc_663: ; xref 3BBB:3857 3BBB:381A ,B0 FE mov al,0FEh 3BBB:381C E8 FFBF call sub_205 ; (37DE) 3BBB:381F E8 FEC8 call sub_199 ; (36EA) 3BBB:3822 74 C2 jz loc_ret_661 ; Jump if zero 3BBB:3824 loc_664: ; xref 3BBB:385C 3BBB:3824 E8 F3DB call sub_126 ; (2C02) 3BBB:3827 8A 07 mov al,[bx] 3BBB:3829 24 10 and al,10h 3BBB:382B 75 1B jnz loc_666 ; Jump if not zero 3BBB:382D F6 06 068C 80 test byte ptr ds:[68Ch],80h ; (3BBB:068C=4) 3BBB:3832 75 03 jnz loc_665 ; Jump if not zero 3BBB:3834 E8 F3DE call sub_128 ; (2C15) 3BBB:3837 loc_665: ; xref 3BBB:3832 3BBB:3837 E8 09E5 call sub_248 ; (421F) 3BBB:383A D0 C0 rol al,1 ; Rotate 3BBB:383C 72 1B jc loc_667 ; Jump if carry Set 3BBB:383E BB 0769 mov bx,769h 3BBB:3841 E8 FC73 call sub_183 ; (34B7) 3BBB:3844 74 13 jz loc_667 ; Jump if zero 3BBB:3846 EB 1E jmp short loc_669 ; (3866) 3BBB:3848 loc_666: ; xref 3BBB:382B 3BBB:3848 E8 09D4 call sub_248 ; (421F) 3BBB:384B D0 C0 rol al,1 ; Rotate 3BBB:384D 73 0A jnc loc_667 ; Jump if carry=0 3BBB:384F E8 0AF9 call sub_257 ; (434B) 3BBB:3852 74 05 jz loc_667 ; Jump if zero 3BBB:3854 E8 0A1C call sub_253 ; (4273) 3BBB:3857 EB C1 jmp short loc_663 ; (381A) 3BBB:3859 loc_667: ; xref 3BBB:383C, 3844, 384D, 3852 3BBB:3859 E8 FE96 call sub_202 ; (36F2) 3BBB:385C 75 C6 jnz loc_664 ; Jump if not zero 3BBB:385E E8 FE89 call sub_199 ; (36EA) ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:47BA ;========================================================================== 3BBB:3861 sub_209 proc near 3BBB:3861 loc_668: ; xref 3BBB:3897 3BBB:3861 ,75 03 jnz loc_669 ; Jump if not zero 3BBB:3863 E9 FC4B jmp loc_616 ; (34B1) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:42F2, 4856 3BBB:3866 sub_210: 3BBB:3866 loc_669: ; xref 3BBB:3846, 3861 3BBB:3866 E8 F399 call sub_126 ; (2C02) 3BBB:3869 8A 07 mov al,[bx] 3BBB:386B 24 10 and al,10h 3BBB:386D 75 07 jnz loc_670 ; Jump if not zero 3BBB:386F F6 06 068C 80 test byte ptr ds:[68Ch],80h ; (3BBB:068C=4) 3BBB:3874 75 03 jnz loc_671 ; Jump if not zero 3BBB:3876 loc_670: ; xref 3BBB:386D 3BBB:3876 C6 07 E5 mov byte ptr [bx],0E5h 3BBB:3879 loc_671: ; xref 3BBB:3874 3BBB:3879 9C pushf ; Push flags 3BBB:387A E8 0B07 call sub_260 ; (4384) 3BBB:387D 0A C0 or al,al ; Zero ? 3BBB:387F 75 02 jnz loc_672 ; Jump if not zero 3BBB:3881 88 07 mov [bx],al 3BBB:3883 loc_672: ; xref 3BBB:387F 3BBB:3883 E8 F9DE call sub_168 ; (3264) 3BBB:3886 0E E8 EDD3 callf sub_93 ; (265D) 3BBB:388A 75 05 jnz loc_673 ; Jump if not zero 3BBB:388C B1 00 mov cl,0 3BBB:388E E8 FB32 call sub_179 ; (33C3) 3BBB:3891 loc_673: ; xref 3BBB:388A 3BBB:3891 E8 FDF1 call sub_192 ; (3685) 3BBB:3894 E8 FE5B call sub_202 ; (36F2) 3BBB:3897 EB C8 jmp short loc_668 ; (3861) sub_209 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:3E40 ;========================================================================== 3BBB:3899 sub_211 proc near 3BBB:3899 8B D1 mov dx,cx 3BBB:389B loc_674: ; xref 3BBB:38B1, 38BF 3BBB:389B ,3B 16 0668 cmp dx,word ptr ds:[668h] ; (3BBB:0668=0DA8Eh) 3BBB:389F 73 3A jae loc_677 ; Jump if above or = 3BBB:38A1 42 inc dx 3BBB:38A2 51 push cx 3BBB:38A3 52 push dx 3BBB:38A4 8B CA mov cx,dx 3BBB:38A6 E8 FA80 call sub_173 ; (3329) 3BBB:38A9 D0 D8 rcr al,1 ; Rotate thru carry 3BBB:38AB 73 14 jnc loc_676 ; Jump if carry=0 3BBB:38AD 5A pop dx 3BBB:38AE 59 pop cx 3BBB:38AF loc_675: ; xref 3BBB:38DD 3BBB:38AF 0B C9 or cx,cx ; Zero ? 3BBB:38B1 74 E8 jz loc_674 ; Jump if zero 3BBB:38B3 49 dec cx 3BBB:38B4 52 push dx 3BBB:38B5 51 push cx 3BBB:38B6 E8 FA70 call sub_173 ; (3329) 3BBB:38B9 D0 D8 rcr al,1 ; Rotate thru carry 3BBB:38BB 73 04 jnc loc_676 ; Jump if carry=0 3BBB:38BD 59 pop cx 3BBB:38BE 5A pop dx 3BBB:38BF EB DA jmp short loc_674 ; (389B) 3BBB:38C1 loc_676: ; xref 3BBB:38AB, 38BB 3BBB:38C1 D0 D0 rcl al,1 ; Rotate thru carry 3BBB:38C3 FE C0 inc al 3BBB:38C5 E8 FA82 call sub_175 ; (334A) 3BBB:38C8 8A 0E 0646 mov cl,byte ptr ds:[646h] ; (3BBB:0646=0C4h) 3BBB:38CC ,BB 006E mov bx,data_22e ; (0000:006E=0FEh) 3BBB:38CF 1E push ds 3BBB:38D0 8E 1E 004E mov ds,data_193 ; (3BBB:004E=0) 3BBB:38D4 E8 F314 call sub_123 ; (2BEB) 3BBB:38D7 1F pop ds 3BBB:38D8 5B pop bx 3BBB:38D9 5A pop dx 3BBB:38DA C3 retn 3BBB:38DB loc_677: ; xref 3BBB:389F 3BBB:38DB 0B C9 or cx,cx ; Zero ? 3BBB:38DD 75 D0 jnz loc_675 ; Jump if not zero 3BBB:38DF 8B D9 mov bx,cx 3BBB:38E1 C3 retn sub_211 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:38F1, 48D4 ;========================================================================== 3BBB:38E2 sub_212 proc near 3BBB:38E2 52 push dx 3BBB:38E3 B5 00 mov ch,0 3BBB:38E5 BA 0769 mov dx,769h 3BBB:38E8 03 D1 add dx,cx 3BBB:38EA E8 F315 call sub_126 ; (2C02) 3BBB:38ED 59 pop cx 3BBB:38EE C3 retn sub_212 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:486C ;========================================================================== 3BBB:38EF sub_213 proc near 3BBB:38EF B6 80 mov dh,80h ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:3AC1 3BBB:38F1 sub_214: 3BBB:38F1 E8 FFEE call sub_212 ; (38E2) 3BBB:38F4 FE C1 inc cl 3BBB:38F6 loc_678: ; xref 3BBB:390C 3BBB:38F6 ,FE C9 dec cl 3BBB:38F8 75 03 jnz loc_679 ; Jump if not zero 3BBB:38FA E9 F967 jmp loc_588 ; (3264) 3BBB:38FD loc_679: ; xref 3BBB:38F8 3BBB:38FD 8A 27 mov ah,[bx] 3BBB:38FF 22 E5 and ah,ch 3BBB:3901 8B F2 mov si,dx 3BBB:3903 AC lodsb ; String [si] to al 3BBB:3904 24 7F and al,7Fh 3BBB:3906 0A C4 or al,ah 3BBB:3908 88 07 mov [bx],al 3BBB:390A 43 inc bx 3BBB:390B 42 inc dx 3BBB:390C EB E8 jmp short loc_678 ; (38F6) sub_213 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:4828, 4859, 487F, 589E ;========================================================================== 3BBB:390E sub_215 proc near 3BBB:390E A0 0769 mov al,byte ptr ds:[769h] ; (3BBB:0769=0D8h) 3BBB:3911 ,BB 0779 mov bx,779h ; (3BBB:0779=0E8h) 3BBB:3914 88 07 mov [bx],al 3BBB:3916 C3 retn sub_215 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:3C23, 450C, 4743 ;========================================================================== 3BBB:3917 sub_216 proc near 3BBB:3917 E8 FDCC call sub_198 ; (36E6) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:4539 3BBB:391A sub_217: 3BBB:391A 74 38 jz loc_ret_682 ; Jump if zero ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:3B25 3BBB:391C sub_218: 3BBB:391C E8 F31B call sub_134 ; (2C3A) 3BBB:391F 53 push bx 3BBB:3920 4B dec bx 3BBB:3921 4B dec bx 3BBB:3922 8A 27 mov ah,[bx] 3BBB:3924 50 push ax 3BBB:3925 E8 F2DA call sub_126 ; (2C02) 3BBB:3928 8B D3 mov dx,bx 3BBB:392A BB 0769 mov bx,769h 3BBB:392D B1 20 mov cl,20h ; ' ' 3BBB:392F E8 F0DD call sub_106 ; (2A0F) 3BBB:3932 E8 F1BB call sub_114 ; (2AF0) 3BBB:3935 8A C8 mov cl,al 3BBB:3937 58 pop ax 3BBB:3938 5B pop bx 3BBB:3939 88 07 mov [bx],al 3BBB:393B 4B dec bx 3BBB:393C 4B dec bx 3BBB:393D 88 27 mov [bx],ah ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:2B55, 3A57, 3B72, 3BF8 3BBB:393F sub_219: 3BBB:393F loc_680: ; xref 3BBB:3A65 3BBB:393F ,32 ED xor ch,ch ; Zero register 3BBB:3941 ,BE 0778 mov si,778h ; (3BBB:0778=8Bh) 3BBB:3944 8A 07 mov al,[bx] 3BBB:3946 2A C1 sub al,cl 3BBB:3948 74 0B jz loc_683 ; Jump if zero 3BBB:394A 8A C5 mov al,ch 3BBB:394C 73 04 jnc loc_681 ; Jump if carry=0 3BBB:394E B0 80 mov al,80h 3BBB:3950 0A 04 or al,[si] 3BBB:3952 loc_681: ; xref 3BBB:394C 3BBB:3952 88 04 mov [si],al 3BBB:3954 loc_ret_682: ; xref 3BBB:391A, 3957, 3961 3BBB:3954 C3 retn 3BBB:3955 loc_683: ; xref 3BBB:3948 3BBB:3955 38 04 cmp [si],al 3BBB:3957 75 FB jne loc_ret_682 ; Jump if not equal sub_216 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:3A05, 4B93, 4B9D ;========================================================================== 3BBB:3959 sub_220 proc near 3BBB:3959 32 C0 xor al,al ; Zero register 3BBB:395B 88 04 mov [si],al 3BBB:395D 38 06 0695 cmp byte ptr ds:[695h],al ; (3BBB:0695=0) 3BBB:3961 74 F1 je loc_ret_682 ; Jump if equal 3BBB:3963 C6 04 80 mov byte ptr [si],80h 3BBB:3966 C3 retn sub_220 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:3A50, 3B6F, 3BF5 ;========================================================================== 3BBB:3967 sub_221 proc near 3BBB:3967 A0 0778 mov al,byte ptr ds:[778h] ; (3BBB:0778=8Bh) 3BBB:396A 3C 81 cmp al,81h 3BBB:396C 72 05 jb loc_ret_684 ; Jump if below 3BBB:396E 24 7F and al,7Fh 3BBB:3970 A2 0778 mov byte ptr ds:[778h],al ; (3BBB:0778=8Bh) 3BBB:3973 loc_ret_684: ; xref 3BBB:396C 3BBB:3973 C3 retn sub_221 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:39BF, 39C4 ;========================================================================== 3BBB:3974 sub_222 proc near 3BBB:3974 83 3F 00 cmp word ptr [bx],0 3BBB:3977 75 05 jne loc_ret_685 ; Jump if not equal 3BBB:3979 8B F2 mov si,dx 3BBB:397B AD lodsw ; String [si] to ax 3BBB:397C 89 07 mov [bx],ax 3BBB:397E loc_ret_685: ; xref 3BBB:3977, 398E 3BBB:397E C3 retn sub_222 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:3A5A ;========================================================================== 3BBB:397F sub_223 proc near 3BBB:397F F6 06 066F 80 test byte ptr ds:[66Fh],80h ; (3BBB:066F=26h) 3BBB:3984 75 05 jnz loc_686 ; Jump if not zero 3BBB:3986 C6 06 05D4 F0 mov byte ptr ds:[5D4h],0F0h ; (3BBB:05D4=0B0h) 3BBB:398B loc_686: ; xref 3BBB:3984 3BBB:398B E8 FD58 call sub_198 ; (36E6) 3BBB:398E 74 EE jz loc_ret_685 ; Jump if zero 3BBB:3990 E8 F26F call sub_126 ; (2C02) 3BBB:3993 83 C3 10 add bx,10h 3BBB:3996 8B D3 mov dx,bx 3BBB:3998 ,BB 0779 mov bx,779h ; (3BBB:0779=0E8h) 3BBB:399B B1 10 mov cl,10h 3BBB:399D loc_687: ; xref 3BBB:39D9 3BBB:399D 80 3E 0696 00 cmp byte ptr ds:[696h],0 ; (3BBB:0696=83h) 3BBB:39A2 74 1B je loc_690 ; Jump if equal 3BBB:39A4 8A 07 mov al,[bx] 3BBB:39A6 0A C0 or al,al ; Zero ? 3BBB:39A8 8B F2 mov si,dx 3BBB:39AA AC lodsb ; String [si] to al 3BBB:39AB 75 02 jnz loc_688 ; Jump if not zero 3BBB:39AD 88 07 mov [bx],al 3BBB:39AF loc_688: ; xref 3BBB:39AB 3BBB:39AF 0A C0 or al,al ; Zero ? 3BBB:39B1 75 06 jnz loc_689 ; Jump if not zero 3BBB:39B3 8A 07 mov al,[bx] 3BBB:39B5 8B FA mov di,dx 3BBB:39B7 FC cld ; Clear direction 3BBB:39B8 AA stosb ; Store al to es:[di] 3BBB:39B9 loc_689: ; xref 3BBB:39B1 3BBB:39B9 3A 07 cmp al,[bx] 3BBB:39BB 74 18 je loc_691 ; Jump if equal 3BBB:39BD EB 66 jmp short loc_694 ; (3A25) 3BBB:39BF loc_690: ; xref 3BBB:39A2 3BBB:39BF E8 FFB2 call sub_222 ; (3974) 3BBB:39C2 87 DA xchg bx,dx 3BBB:39C4 E8 FFAD call sub_222 ; (3974) 3BBB:39C7 87 DA xchg bx,dx 3BBB:39C9 8B F2 mov si,dx 3BBB:39CB 8B 04 mov ax,[si] 3BBB:39CD 3B 07 cmp ax,[bx] 3BBB:39CF 75 54 jne loc_694 ; Jump if not equal 3BBB:39D1 42 inc dx 3BBB:39D2 43 inc bx 3BBB:39D3 FE C9 dec cl 3BBB:39D5 loc_691: ; xref 3BBB:39BB 3BBB:39D5 42 inc dx 3BBB:39D6 43 inc bx 3BBB:39D7 FE C9 dec cl 3BBB:39D9 75 C2 jnz loc_687 ; Jump if not zero 3BBB:39DB 8B DA mov bx,dx 3BBB:39DD 83 EB 14 sub bx,14h 3BBB:39E0 53 push bx 3BBB:39E1 E8 F10C call sub_114 ; (2AF0) 3BBB:39E4 5E pop si 3BBB:39E5 8A 0C mov cl,[si] 3BBB:39E7 8A 2F mov ch,[bx] 3BBB:39E9 88 04 mov [si],al 3BBB:39EB 88 07 mov [bx],al 3BBB:39ED 83 C6 03 add si,3 3BBB:39F0 83 C3 03 add bx,3 3BBB:39F3 3A C1 cmp al,cl 3BBB:39F5 75 11 jne loc_692 ; Jump if not equal 3BBB:39F7 3A C5 cmp al,ch 3BBB:39F9 75 0F jne loc_693 ; Jump if not equal 3BBB:39FB 8A 04 mov al,[si] 3BBB:39FD 3A 07 cmp al,[bx] 3BBB:39FF 72 07 jb loc_692 ; Jump if below 3BBB:3A01 0A C0 or al,al ; Zero ? 3BBB:3A03 75 05 jnz loc_693 ; Jump if not zero 3BBB:3A05 E8 FF51 call sub_220 ; (3959) 3BBB:3A08 loc_692: ; xref 3BBB:39F5, 39FF 3BBB:3A08 87 DE xchg bx,si 3BBB:3A0A loc_693: ; xref 3BBB:39F9, 3A03 3BBB:3A0A 8A 04 mov al,[si] 3BBB:3A0C 88 07 mov [bx],al 3BBB:3A0E E8 F1F1 call sub_126 ; (2C02) 3BBB:3A11 83 C3 0B add bx,0Bh 3BBB:3A14 8A 07 mov al,[bx] 3BBB:3A16 24 7F and al,7Fh 3BBB:3A18 88 07 mov [bx],al 3BBB:3A1A E8 F21D call sub_134 ; (2C3A) 3BBB:3A1D B1 01 mov cl,1 3BBB:3A1F E8 F9A6 call sub_180 ; (33C8) 3BBB:3A22 E9 F83F jmp loc_588 ; (3264) 3BBB:3A25 loc_694: ; xref 3BBB:39BD, 39CF, 3A44 3BBB:3A25 E8 F212 call sub_134 ; (2C3A) 3BBB:3A28 C7 47 02 FFFF mov word ptr [bx+2],0FFFFh 3BBB:3A2D E9 FD1E jmp loc_649 ; (374E) sub_223 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:3AEC, 3BFE, 460E ;========================================================================== 3BBB:3A30 sub_224 proc near 3BBB:3A30 33 C0 xor ax,ax ; Zero register 3BBB:3A32 A2 05D1 mov byte ptr ds:[5D1h],al ; (3BBB:05D1=0BFh) 3BBB:3A35 E8 F1BB call sub_124 ; (2BF3) 3BBB:3A38 75 4F jnz loc_ret_697 ; Jump if not zero 3BBB:3A3A A0 0777 mov al,byte ptr ds:[777h] ; (3BBB:0777=0F8h) 3BBB:3A3D 24 80 and al,80h 3BBB:3A3F 75 48 jnz loc_ret_697 ; Jump if not zero 3BBB:3A41 E8 F1FE call sub_135 ; (2C42) 3BBB:3A44 74 DF jz loc_694 ; Jump if zero 3BBB:3A46 E8 F0A7 call sub_114 ; (2AF0) 3BBB:3A49 8A C8 mov cl,al 3BBB:3A4B 8A 2F mov ch,[bx] 3BBB:3A4D 51 push cx 3BBB:3A4E 88 07 mov [bx],al 3BBB:3A50 E8 FF14 call sub_221 ; (3967) 3BBB:3A53 3A CD cmp cl,ch 3BBB:3A55 73 03 jae loc_695 ; Jump if above or = 3BBB:3A57 E8 FEE5 call sub_219 ; (393F) 3BBB:3A5A loc_695: ; xref 3BBB:3A55 3BBB:3A5A E8 FF22 call sub_223 ; (397F) 3BBB:3A5D ,BB 0775 mov bx,775h ; (3BBB:0775=0F0h) 3BBB:3A60 59 pop cx 3BBB:3A61 8A 0F mov cl,[bx] 3BBB:3A63 88 2F mov [bx],ch 3BBB:3A65 E9 FED7 jmp loc_680 ; (393F) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:3B1E, 3C38, 4786, 47B2, 4C07, 4CD8 3BBB:3A68 sub_225: 3BBB:3A68 83 3E 05D9 FF ;* cmp word ptr ds:[5D9h],0FFFFh ; (3BBB:05D9=1E06h) 3BBB:3A68 db 83h, 3Eh,0D9h, 05h,0FFh ; Fixup - byte match 3BBB:3A6D 74 03 jz loc_696 ; Jump if zero 3BBB:3A6F E8 F1F4 call sub_139 ; (2C66) 3BBB:3A72 loc_696: ; xref 3BBB:3A6D 3BBB:3A72 FF 36 0769 push word ptr ds:[769h] ; (3BBB:0769=8ED8h) 3BBB:3A76 C6 06 0769 E5 mov byte ptr ds:[769h],0E5h ; (3BBB:0769=0D8h) 3BBB:3A7B B1 01 mov cl,1 3BBB:3A7D E8 FC4A call sub_195 ; (36CA) 3BBB:3A80 E8 FC6F call sub_202 ; (36F2) 3BBB:3A83 8F 06 0769 pop word ptr ds:[769h] ; (3BBB:0769=8ED8h) 3BBB:3A87 75 01 jnz loc_698 ; Jump if not zero 3BBB:3A89 loc_ret_697: ; xref 3BBB:3A38, 3A3F, 3A8F 3BBB:3A89 C3 retn 3BBB:3A8A loc_698: ; xref 3BBB:3A87 3BBB:3A8A F6 06 05D7 FF test byte ptr ds:[5D7h],0FFh ; (3BBB:05D7=0Bh) 3BBB:3A8F 75 F8 jnz loc_ret_697 ; Jump if not zero 3BBB:3A91 ,BB 0776 mov bx,776h ; (3BBB:0776=8Bh) 3BBB:3A94 C6 07 00 mov byte ptr [bx],0 3BBB:3A97 43 inc bx 3BBB:3A98 8A 07 mov al,[bx] 3BBB:3A9A 50 push ax 3BBB:3A9B 53 push bx 3BBB:3A9C 80 27 3F and byte ptr [bx],3Fh ; '?' 3BBB:3A9F 43 inc bx 3BBB:3AA0 B9 0011 mov cx,11h 3BBB:3AA3 B0 01 mov al,1 3BBB:3AA5 locloop_699: ; xref 3BBB:3AA9, 3AB7 3BBB:3AA5 C6 07 00 mov byte ptr [bx],0 3BBB:3AA8 43 inc bx 3BBB:3AA9 E2 FA loop locloop_699 ; Loop if cx > 0 3BBB:3AAB FE C8 dec al 3BBB:3AAD 75 0A jnz loc_700 ; Jump if not zero 3BBB:3AAF E8 08D4 call sub_261 ; (4386) 3BBB:3AB2 0A C0 or al,al ; Zero ? 3BBB:3AB4 B9 000A mov cx,0Ah 3BBB:3AB7 74 EC jz locloop_699 ; Jump if zero 3BBB:3AB9 loc_700: ; xref 3BBB:3AAD 3BBB:3AB9 E8 F1BF call sub_141 ; (2C7B) 3BBB:3ABC B1 00 mov cl,0 3BBB:3ABE BA 0020 mov dx,20h 3BBB:3AC1 E8 FE2D call sub_214 ; (38F1) 3BBB:3AC4 5B pop bx 3BBB:3AC5 58 pop ax 3BBB:3AC6 88 07 mov [bx],al 3BBB:3AC8 C6 06 0688 00 mov byte ptr ds:[688h],0 ; (3BBB:0688=8Eh) 3BBB:3ACD E8 FBB5 call sub_192 ; (3685) 3BBB:3AD0 E9 F167 jmp loc_494 ; (2C3A) sub_224 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:3D86, 3E18 ;========================================================================== 3BBB:3AD3 sub_226 proc near 3BBB:3AD3 A0 0777 mov al,byte ptr ds:[777h] ; (3BBB:0777=0F8h) 3BBB:3AD6 A2 068A mov byte ptr ds:[68Ah],al ; (3BBB:068A=89h) 3BBB:3AD9 ,BB 0775 mov bx,775h ; (3BBB:0775=0F0h) 3BBB:3ADC 8A 07 mov al,[bx] 3BBB:3ADE 8A C8 mov cl,al 3BBB:3AE0 FE C1 inc cl 3BBB:3AE2 E8 F04D call sub_115 ; (2B32) 3BBB:3AE5 75 03 jnz loc_701 ; Jump if not zero 3BBB:3AE7 E9 0065 jmpn loc_708 ; (3B4F) 3BBB:3AEA loc_701: ; xref 3BBB:3AE5 3BBB:3AEA 53 push bx 3BBB:3AEB 51 push cx 3BBB:3AEC E8 FF41 call sub_224 ; (3A30) 3BBB:3AEF 59 pop cx 3BBB:3AF0 5B pop bx 3BBB:3AF1 80 3E 05D1 FF cmp byte ptr ds:[5D1h],0FFh ; (3BBB:05D1=0BFh) 3BBB:3AF6 75 01 jne loc_702 ; Jump if not equal 3BBB:3AF8 C3 retn 3BBB:3AF9 loc_702: ; xref 3BBB:3AF6 3BBB:3AF9 B0 1F mov al,1Fh 3BBB:3AFB 22 C1 and al,cl 3BBB:3AFD 88 07 mov [bx],al 3BBB:3AFF 75 0B jnz loc_703 ; Jump if not zero 3BBB:3B01 83 C3 02 add bx,2 3BBB:3B04 FE 07 inc byte ptr [bx] 3BBB:3B06 8A 07 mov al,[bx] 3BBB:3B08 24 3F and al,3Fh ; '?' 3BBB:3B0A 74 2A jz loc_707 ; Jump if zero 3BBB:3B0C loc_703: ; xref 3BBB:3AFF 3BBB:3B0C C7 06 05D9 FFFF mov word ptr ds:[5D9h],0FFFFh ; (3BBB:05D9=1E06h) 3BBB:3B12 E8 FBD1 call sub_198 ; (36E6) 3BBB:3B15 75 0E jnz loc_704 ; Jump if not zero 3BBB:3B17 A0 0691 mov al,byte ptr ds:[691h] ; (3BBB:0691=1Eh) 3BBB:3B1A FE C0 inc al 3BBB:3B1C 74 18 jz loc_707 ; Jump if zero 3BBB:3B1E E8 FF47 call sub_225 ; (3A68) 3BBB:3B21 74 13 jz loc_707 ; Jump if zero 3BBB:3B23 EB 03 jmp short loc_705 ; (3B28) 3BBB:3B25 loc_704: ; xref 3BBB:3B15 3BBB:3B25 E8 FDF4 call sub_218 ; (391C) 3BBB:3B28 loc_705: ; xref 3BBB:3B23 3BBB:3B28 E8 F0B0 call sub_121 ; (2BDB) 3BBB:3B2B loc_706: ; xref 3BBB:3B75 3BBB:3B2B ,E8 F015 call sub_116 ; (2B43) 3BBB:3B2E 32 C0 xor al,al ; Zero register 3BBB:3B30 A2 0699 mov byte ptr ds:[699h],al ; (3BBB:0699=0) 3BBB:3B33 E9 EE9E jmp loc_466 ; (29D4) 3BBB:3B36 loc_707: ; xref 3BBB:3B0A, 3B1C, 3B21 3BBB:3B36 ,BB 0775 mov bx,775h ; (3BBB:0775=0F0h) 3BBB:3B39 A0 068A mov al,byte ptr ds:[68Ah] ; (3BBB:068A=89h) 3BBB:3B3C 88 47 02 mov [bx+2],al 3BBB:3B3F 8A 07 mov al,[bx] 3BBB:3B41 FE C8 dec al 3BBB:3B43 24 1F and al,1Fh 3BBB:3B45 88 07 mov [bx],al 3BBB:3B47 C6 06 05D5 FF mov byte ptr ds:[5D5h],0FFh ; (3BBB:05D5=20h) 3BBB:3B4C E9 EE83 jmp loc_465 ; (29D2) 3BBB:3B4F loc_708: ; xref 3BBB:3AE7 3BBB:3B4F 88 0F mov [bx],cl 3BBB:3B51 E8 EF9C call sub_114 ; (2AF0) 3BBB:3B54 8A C8 mov cl,al 3BBB:3B56 F6 06 0644 80 test byte ptr ds:[644h],80h ; (3BBB:0644=8Bh) 3BBB:3B5B 75 12 jnz loc_710 ; Jump if not zero 3BBB:3B5D 3A 07 cmp al,[bx] 3BBB:3B5F 73 0E jae loc_710 ; Jump if above or = 3BBB:3B61 FE 0F dec byte ptr [bx] 3BBB:3B63 80 3E 0691 FF cmp byte ptr ds:[691h],0FFh ; (3BBB:0691=1Eh) 3BBB:3B68 75 03 jne loc_709 ; Jump if not equal 3BBB:3B6A E9 EE65 jmp loc_465 ; (29D2) 3BBB:3B6D loc_709: ; xref 3BBB:3B68 3BBB:3B6D FE 07 inc byte ptr [bx] 3BBB:3B6F loc_710: ; xref 3BBB:3B5B, 3B5F 3BBB:3B6F E8 FDF5 call sub_221 ; (3967) 3BBB:3B72 E8 FDCA call sub_219 ; (393F) 3BBB:3B75 EB B4 jmp short loc_706 ; (3B2B) sub_226 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:3B9B, 5BDE ;========================================================================== 3BBB:3B77 sub_227 proc near 3BBB:3B77 A0 078A mov al,byte ptr data_515 ; (3BBB:078A=5Eh) 3BBB:3B7A 8A D0 mov dl,al 3BBB:3B7C 80 E2 7F and dl,7Fh 3BBB:3B7F D0 D0 rcl al,1 ; Rotate thru carry 3BBB:3B81 A0 078B mov al,byte ptr data_515+1 ; (3BBB:078B=0BFh) 3BBB:3B84 8A E8 mov ch,al 3BBB:3B86 D0 D5 rcl ch,1 ; Rotate thru carry 3BBB:3B88 80 E5 1F and ch,1Fh 3BBB:3B8B 24 F0 and al,0F0h 3BBB:3B8D 0A 06 078C or al,data_517 ; (3BBB:078C=8Eh) 3BBB:3B91 B1 04 mov cl,4 3BBB:3B93 D2 C0 rol al,cl ; Rotate 3BBB:3B95 8A CD mov cl,ch 3BBB:3B97 8A E8 mov ch,al 3BBB:3B99 C3 retn sub_227 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:491B, 4934, 49DD, 4AE6 ;========================================================================== 3BBB:3B9A sub_228 proc near 3BBB:3B9A 51 push cx 3BBB:3B9B E8 FFD9 call sub_227 ; (3B77) 3BBB:3B9E 80 3E 078C 03 cmp data_517,3 ; (3BBB:078C=8Eh) 3BBB:3BA3 B3 06 mov bl,6 3BBB:3BA5 76 03 jbe loc_711 ; Jump if below or = 3BBB:3BA7 E9 00AC jmp loc_719 ; (3C56) 3BBB:3BAA loc_711: ; xref 3BBB:3BA5 3BBB:3BAA 88 16 0789 mov data_514,dl ; (3BBB:0789=0FBh) 3BBB:3BAE 80 3E 061D 1C cmp byte ptr ds:[61Dh],1Ch ; (3BBB:061D=8Eh) 3BBB:3BB3 74 56 je loc_715 ; Jump if equal 3BBB:3BB5 E8 F08A call sub_135 ; (2C42) 3BBB:3BB8 74 51 jz loc_715 ; Jump if zero 3BBB:3BBA 8A C5 mov al,ch 3BBB:3BBC 2A 06 0777 sub al,byte ptr ds:[777h] ; (3BBB:0777=0F8h) 3BBB:3BC0 24 3F and al,3Fh ; '?' 3BBB:3BC2 75 39 jnz loc_714 ; Jump if not zero 3BBB:3BC4 A0 0775 mov al,byte ptr ds:[775h] ; (3BBB:0775=0F0h) 3BBB:3BC7 3A C1 cmp al,cl 3BBB:3BC9 75 03 jne loc_712 ; Jump if not equal 3BBB:3BCB E9 007A jmpn loc_717 ; (3C48) 3BBB:3BCE loc_712: ; xref 3BBB:3BC9 3BBB:3BCE E8 EF61 call sub_115 ; (2B32) 3BBB:3BD1 75 2A jnz loc_714 ; Jump if not zero 3BBB:3BD3 51 push cx 3BBB:3BD4 E8 EF19 call sub_114 ; (2AF0) 3BBB:3BD7 59 pop cx 3BBB:3BD8 3A C1 cmp al,cl 3BBB:3BDA 73 13 jae loc_713 ; Jump if above or = 3BBB:3BDC F6 06 0644 80 test byte ptr ds:[644h],80h ; (3BBB:0644=8Bh) 3BBB:3BE1 75 0C jnz loc_713 ; Jump if not zero 3BBB:3BE3 5A pop dx 3BBB:3BE4 52 push dx 3BBB:3BE5 FE C2 inc dl 3BBB:3BE7 75 06 jnz loc_713 ; Jump if not zero 3BBB:3BE9 FE C2 inc dl 3BBB:3BEB 5A pop dx 3BBB:3BEC E9 EDE3 jmp loc_465 ; (29D2) 3BBB:3BEF loc_713: ; xref 3BBB:3BDA, 3BE1, 3BE7 3BBB:3BEF 88 0E 0775 mov byte ptr ds:[775h],cl ; (3BBB:0775=0F0h) 3BBB:3BF3 8A C8 mov cl,al 3BBB:3BF5 E8 FD6F call sub_221 ; (3967) 3BBB:3BF8 E8 FD44 call sub_219 ; (393F) 3BBB:3BFB EB 4B jmp short loc_717 ; (3C48) 3BBB:3BFD loc_714: ; xref 3BBB:3BC2, 3BD1 3BBB:3BFD 51 push cx 3BBB:3BFE E8 FE2F call sub_224 ; (3A30) 3BBB:3C01 59 pop cx 3BBB:3C02 B3 03 mov bl,3 3BBB:3C04 A0 05D1 mov al,byte ptr ds:[5D1h] ; (3BBB:05D1=0BFh) 3BBB:3C07 FE C0 inc al 3BBB:3C09 74 4B jz loc_719 ; Jump if zero 3BBB:3C0B loc_715: ; xref 3BBB:3BB3, 3BB8 3BBB:3C0B C7 06 05D9 FFFF mov word ptr ds:[5D9h],0FFFFh ; (3BBB:05D9=1E06h) 3BBB:3C11 86 0E 0775 xchg byte ptr ds:[775h],cl ; (3BBB:0775=0F0h) 3BBB:3C15 A0 0777 mov al,byte ptr ds:[777h] ; (3BBB:0777=0F8h) 3BBB:3C18 86 E8 xchg ch,al 3BBB:3C1A 51 push cx 3BBB:3C1B 80 E5 40 and ch,40h ; '@' 3BBB:3C1E 0A C5 or al,ch 3BBB:3C20 A2 0777 mov byte ptr ds:[777h],al ; (3BBB:0777=0F8h) 3BBB:3C23 E8 FCF1 call sub_216 ; (3917) 3BBB:3C26 A0 05D1 mov al,byte ptr ds:[5D1h] ; (3BBB:05D1=0BFh) 3BBB:3C29 FE C0 inc al 3BBB:3C2B 75 17 jnz loc_716 ; Jump if not zero 3BBB:3C2D 8B EC mov bp,sp 3BBB:3C2F 8B 4E 02 mov cx,[bp+2] 3BBB:3C32 B3 04 mov bl,4 3BBB:3C34 FE C1 inc cl 3BBB:3C36 74 16 jz loc_718 ; Jump if zero 3BBB:3C38 E8 FE2D call sub_225 ; (3A68) 3BBB:3C3B B3 05 mov bl,5 3BBB:3C3D A0 05D1 mov al,byte ptr ds:[5D1h] ; (3BBB:05D1=0BFh) 3BBB:3C40 FE C0 inc al 3BBB:3C42 74 0A jz loc_718 ; Jump if zero 3BBB:3C44 loc_716: ; xref 3BBB:3C2B 3BBB:3C44 59 pop cx 3BBB:3C45 E8 EF93 call sub_121 ; (2BDB) 3BBB:3C48 loc_717: ; xref 3BBB:3BCB, 3BFB 3BBB:3C48 59 pop cx 3BBB:3C49 32 C0 xor al,al ; Zero register 3BBB:3C4B E9 ED86 jmp loc_466 ; (29D4) 3BBB:3C4E loc_718: ; xref 3BBB:3C36, 3C42 3BBB:3C4E 58 pop ax 3BBB:3C4F A2 0775 mov byte ptr ds:[775h],al ; (3BBB:0775=0F0h) 3BBB:3C52 88 26 0777 mov byte ptr ds:[777h],ah ; (3BBB:0777=0F8h) 3BBB:3C56 loc_719: ; xref 3BBB:3BA7, 3C09 3BBB:3C56 59 pop cx 3BBB:3C57 88 1E 05D1 mov byte ptr ds:[5D1h],bl ; (3BBB:05D1=0BFh) 3BBB:3C5B 0A DB or bl,bl ; Zero ? 3BBB:3C5D C3 retn sub_228 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:3D98, 3EC5 ;========================================================================== 3BBB:3C5E sub_229 proc near 3BBB:3C5E 8A 2E 05E4 mov ch,byte ptr ds:[5E4h] ; (3BBB:05E4=3Ch) 3BBB:3C62 A0 05DB mov al,byte ptr ds:[5DBh] ; (3BBB:05DB=7) 3BBB:3C65 3C 02 cmp al,2 3BBB:3C67 72 07 jb loc_720 ; Jump if below 3BBB:3C69 FE C8 dec al 3BBB:3C6B A2 05DB mov byte ptr ds:[5DBh],al ; (3BBB:05DB=7) 3BBB:3C6E F9 stc ; Set carry flag 3BBB:3C6F C3 retn 3BBB:3C70 loc_720: ; xref 3BBB:3C67 3BBB:3C70 A0 0673 mov al,byte ptr ds:[673h] ; (3BBB:0673=8Ch) 3BBB:3C73 8A C8 mov cl,al 3BBB:3C75 22 C5 and al,ch 3BBB:3C77 74 0A jz loc_723 ; Jump if zero 3BBB:3C79 loc_721: ; xref 3BBB:3C8C, 3C93, 3C9A 3BBB:3C79 0A C9 or cl,cl ; Zero ? 3BBB:3C7B 74 03 jz loc_722 ; Jump if zero 3BBB:3C7D 32 C0 xor al,al ; Zero register 3BBB:3C7F C3 retn 3BBB:3C80 loc_722: ; xref 3BBB:3C7B 3BBB:3C80 0C 01 or al,1 3BBB:3C82 C3 retn 3BBB:3C83 loc_723: ; xref 3BBB:3C77 3BBB:3C83 8A F1 mov dh,cl 3BBB:3C85 F6 D6 not dh 3BBB:3C87 A0 05DC mov al,byte ptr ds:[5DCh] ; (3BBB:05DC=0F3h) 3BBB:3C8A 3C 02 cmp al,2 3BBB:3C8C 72 EB jb loc_721 ; Jump if below 3BBB:3C8E F6 06 0644 80 test byte ptr ds:[644h],80h ; (3BBB:0644=8Bh) 3BBB:3C93 75 E4 jnz loc_721 ; Jump if not zero 3BBB:3C95 80 3E 061D 16 cmp byte ptr ds:[61Dh],16h ; (3BBB:061D=8Eh) 3BBB:3C9A 74 DD je loc_721 ; Jump if equal 3BBB:3C9C ,BB 0699 mov bx,699h ; (3BBB:0699=0) 3BBB:3C9F 8A 27 mov ah,[bx] 3BBB:3CA1 02 C4 add al,ah 3BBB:3CA3 3C 80 cmp al,80h 3BBB:3CA5 72 02 jb loc_724 ; Jump if below 3BBB:3CA7 B0 80 mov al,80h 3BBB:3CA9 loc_724: ; xref 3BBB:3CA5 3BBB:3CA9 51 push cx 3BBB:3CAA C6 07 7F mov byte ptr [bx],7Fh 3BBB:3CAD 53 push bx 3BBB:3CAE 50 push ax 3BBB:3CAF 8A D8 mov bl,al 3BBB:3CB1 A0 0666 mov al,byte ptr ds:[666h] ; (3BBB:0666=6) 3BBB:3CB4 8A D0 mov dl,al 3BBB:3CB6 FE C2 inc dl 3BBB:3CB8 F6 D0 not al 3BBB:3CBA 22 E0 and ah,al 3BBB:3CBC F6 06 0691 FF test byte ptr ds:[691h],0FFh ; (3BBB:0691=1Eh) 3BBB:3CC1 74 09 jz loc_725 ; Jump if zero 3BBB:3CC3 A0 0697 mov al,byte ptr ds:[697h] ; (3BBB:0697=3Eh) 3BBB:3CC6 22 C6 and al,dh 3BBB:3CC8 3A C3 cmp al,bl 3BBB:3CCA 72 02 jb loc_726 ; Jump if below 3BBB:3CCC loc_725: ; xref 3BBB:3CC1 3BBB:3CCC 8A C3 mov al,bl 3BBB:3CCE loc_726: ; xref 3BBB:3CCA 3BBB:3CCE 2A C4 sub al,ah 3BBB:3CD0 3A C2 cmp al,dl 3BBB:3CD2 72 68 jb loc_731 ; Jump if below 3BBB:3CD4 50 push ax 3BBB:3CD5 E8 EDBC call sub_110 ; (2A94) 3BBB:3CD8 8A E8 mov ch,al 3BBB:3CDA A0 0695 mov al,byte ptr ds:[695h] ; (3BBB:0695=0) 3BBB:3CDD 3A C5 cmp al,ch 3BBB:3CDF 8A D0 mov dl,al 3BBB:3CE1 74 3C jz loc_729 ; Jump if zero 3BBB:3CE3 8A C8 mov cl,al 3BBB:3CE5 51 push cx 3BBB:3CE6 B5 00 mov ch,0 3BBB:3CE8 E8 EDC0 call sub_111 ; (2AAB) 3BBB:3CEB loc_727: ; xref 3BBB:3CF4, 3D12 3BBB:3CEB 53 push bx 3BBB:3CEC 41 inc cx 3BBB:3CED E8 EDBB call sub_111 ; (2AAB) 3BBB:3CF0 5A pop dx 3BBB:3CF1 42 inc dx 3BBB:3CF2 3B DA cmp bx,dx 3BBB:3CF4 74 F5 je loc_727 ; Jump if equal 3BBB:3CF6 F6 06 0691 FF test byte ptr ds:[691h],0FFh ; (3BBB:0691=1Eh) 3BBB:3CFB 75 17 jnz loc_728 ; Jump if not zero 3BBB:3CFD 0B DB or bx,bx ; Zero ? 3BBB:3CFF 75 13 jnz loc_728 ; Jump if not zero 3BBB:3D01 3B 16 0668 cmp dx,word ptr ds:[668h] ; (3BBB:0668=0DA8Eh) 3BBB:3D05 73 0D jae loc_728 ; Jump if above or = 3BBB:3D07 51 push cx 3BBB:3D08 52 push dx 3BBB:3D09 8B CA mov cx,dx 3BBB:3D0B E8 F61B call sub_173 ; (3329) 3BBB:3D0E 5B pop bx 3BBB:3D0F 59 pop cx 3BBB:3D10 D0 E8 shr al,1 ; Shift w/zeros fill 3BBB:3D12 73 D7 jnc loc_727 ; Jump if carry=0 3BBB:3D14 loc_728: ; xref 3BBB:3CFB, 3CFF, 3D05 3BBB:3D14 FE C9 dec cl 3BBB:3D16 5A pop dx 3BBB:3D17 8A C6 mov al,dh 3BBB:3D19 3A C1 cmp al,cl 3BBB:3D1B 72 02 jb loc_729 ; Jump if below 3BBB:3D1D 8A C1 mov al,cl 3BBB:3D1F loc_729: ; xref 3BBB:3CE1, 3D1B 3BBB:3D1F 2A C2 sub al,dl 3BBB:3D21 8A E8 mov ch,al 3BBB:3D23 FE C5 inc ch 3BBB:3D25 A0 0666 mov al,byte ptr ds:[666h] ; (3BBB:0666=6) 3BBB:3D28 FE C0 inc al 3BBB:3D2A F6 E5 mul ch ; ax = reg * al 3BBB:3D2C 59 pop cx 3BBB:3D2D 86 C1 xchg al,cl 3BBB:3D2F F6 06 0691 FF test byte ptr ds:[691h],0FFh ; (3BBB:0691=1Eh) 3BBB:3D34 74 04 jz loc_730 ; Jump if zero 3BBB:3D36 3A C1 cmp al,cl 3BBB:3D38 72 02 jb loc_731 ; Jump if below 3BBB:3D3A loc_730: ; xref 3BBB:3D34 3BBB:3D3A 8A C1 mov al,cl 3BBB:3D3C loc_731: ; xref 3BBB:3CD2, 3D38 3BBB:3D3C 59 pop cx 3BBB:3D3D 5B pop bx 3BBB:3D3E 88 2F mov [bx],ch 3BBB:3D40 59 pop cx 3BBB:3D41 8A 36 05DC mov dh,byte ptr ds:[5DCh] ; (3BBB:05DC=0F3h) 3BBB:3D45 2A C5 sub al,ch 3BBB:3D47 3A C6 cmp al,dh 3BBB:3D49 72 02 jb loc_732 ; Jump if below 3BBB:3D4B 8A C6 mov al,dh 3BBB:3D4D loc_732: ; xref 3BBB:3D49 3BBB:3D4D F6 D1 not cl 3BBB:3D4F 22 C1 and al,cl 3BBB:3D51 74 1A jz loc_ret_734 ; Jump if zero 3BBB:3D53 A2 05DB mov byte ptr ds:[5DBh],al ; (3BBB:05DB=7) 3BBB:3D56 F6 06 0691 FF test byte ptr ds:[691h],0FFh ; (3BBB:0691=1Eh) 3BBB:3D5B 74 05 jz loc_733 ; Jump if zero 3BBB:3D5D 50 push ax 3BBB:3D5E E8 0D4E call sub_280 ; (4AAF) 3BBB:3D61 58 pop ax 3BBB:3D62 loc_733: ; xref 3BBB:3D5B 3BBB:3D62 8A 0E 0672 mov cl,byte ptr ds:[672h] ; (3BBB:0672=4) 3BBB:3D66 D2 E8 shr al,cl ; Shift w/zeros fill 3BBB:3D68 A2 05E3 mov byte ptr ds:[5E3h],al ; (3BBB:05E3=3Eh) 3BBB:3D6B 0C 01 or al,1 3BBB:3D6D loc_ret_734: ; xref 3BBB:3D51 3BBB:3D6D C3 retn sub_229 endp 3BBB:3D6E loc_735: ; xref 3BBB:46FA, 4920 3BBB:3D6E ,E8 EED6 call sub_136 ; (2C47) 3BBB:3D71 B0 FF mov al,0FFh 3BBB:3D73 A2 0691 mov byte ptr ds:[691h],al ; (3BBB:0691=1Eh) 3BBB:3D76 E8 EDCA call sub_116 ; (2B43) 3BBB:3D79 A0 0699 mov al,byte ptr ds:[699h] ; (3BBB:0699=0) 3BBB:3D7C 3A 06 0697 cmp al,byte ptr ds:[697h] ; (3BBB:0697=3Eh) 3BBB:3D80 72 0E jb loc_736 ; Jump if below 3BBB:3D82 3C 80 cmp al,80h 3BBB:3D84 75 28 jne loc_739 ; Jump if not equal 3BBB:3D86 E8 FD4A call sub_226 ; (3AD3) 3BBB:3D89 80 3E 05D1 00 cmp byte ptr ds:[5D1h],0 ; (3BBB:05D1=0BFh) 3BBB:3D8E 75 1E jne loc_739 ; Jump if not equal 3BBB:3D90 loc_736: ; xref 3BBB:3D80 3BBB:3D90 E8 ED2E call sub_112 ; (2AC1) 3BBB:3D93 74 19 jz loc_739 ; Jump if zero 3BBB:3D95 E8 ECD1 call sub_109 ; (2A69) 3BBB:3D98 E8 FEC3 call sub_229 ; (3C5E) 3BBB:3D9B 72 0E jc loc_738 ; Jump if carry Set 3BBB:3D9D 75 03 jnz loc_737 ; Jump if not zero 3BBB:3D9F E9 F1DF jmp loc_550 ; (2F81) 3BBB:3DA2 loc_737: ; xref 3BBB:3D9D 3BBB:3DA2 E8 F4E5 call sub_170 ; (328A) 3BBB:3DA5 E8 EC79 call sub_108 ; (2A21) 3BBB:3DA8 E8 EF45 call sub_148 ; (2CF0) 3BBB:3DAB loc_738: ; xref 3BBB:3D9B 3BBB:3DAB E9 EDC1 jmp loc_483 ; (2B6F) 3BBB:3DAE loc_739: ; xref 3BBB:3D84, 3D8E, 3D93 3BBB:3DAE E9 EC21 jmp loc_465 ; (29D2) ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:3E91, 5689, 583F, 60CB ;========================================================================== 3BBB:3DB1 sub_230 proc near 3BBB:3DB1 A0 0673 mov al,byte ptr ds:[673h] ; (3BBB:0673=8Ch) 3BBB:3DB4 32 E4 xor ah,ah ; Zero register 3BBB:3DB6 40 inc ax 3BBB:3DB7 50 push ax 3BBB:3DB8 B1 06 mov cl,6 3BBB:3DBA D3 E0 shl ax,cl ; Shift w/zeros fill 3BBB:3DBC 91 xchg cx,ax 3BBB:3DBD 8B 3E 0653 mov di,word ptr ds:[653h] ; (3BBB:0653=3A26h) 3BBB:3DC1 83 EF 0C sub di,0Ch 3BBB:3DC4 loc_740: ; xref 3BBB:3DCB 3BBB:3DC4 8B 7D 0C mov di,[di+0Ch] 3BBB:3DC7 83 7D 0C 00 cmp word ptr [di+0Ch],0 3BBB:3DCB 75 F7 jne loc_740 ; Jump if not equal 3BBB:3DCD C6 05 FF mov byte ptr [di],0FFh 3BBB:3DD0 8B 7D 0A mov di,[di+0Ah] 3BBB:3DD3 89 3E 06A4 mov word ptr ds:[6A4h],di ; (3BBB:06A4=68Eh) 3BBB:3DD7 8C 1E 06A2 mov word ptr ds:[6A2h],ds ; (3BBB:06A2=1FFFh) 3BBB:3DDB 33 C0 xor ax,ax ; Zero register 3BBB:3DDD F3/ AB rep stosw ; Rep when cx >0 Store ax to es:[di] 3BBB:3DDF 58 pop ax 3BBB:3DE0 C3 retn sub_230 endp 3BBB:3DE1 loc_741: ; xref 3BBB:470C, 4939, 49E3 3BBB:3DE1 ,C6 06 0691 00 mov byte ptr ds:[691h],0 ; (3BBB:0691=1Eh) 3BBB:3DE6 E8 EE37 call sub_130 ; (2C20) 3BBB:3DE9 A0 0777 mov al,byte ptr ds:[777h] ; (3BBB:0777=0F8h) 3BBB:3DEC D0 D0 rcl al,1 ; Rotate thru carry 3BBB:3DEE F6 D0 not al 3BBB:3DF0 84 06 0645 test al,byte ptr ds:[645h] ; (3BBB:0645=0F7h) 3BBB:3DF4 B4 03 mov ah,3 3BBB:3DF6 74 03 jz loc_743 ; Jump if zero 3BBB:3DF8 loc_742: ; xref 3BBB:3E00 3BBB:3DF8 E9 EBDD jmp loc_467 ; (29D8) 3BBB:3DFB loc_743: ; xref 3BBB:3DF6 3BBB:3DFB F6 06 0644 40 test byte ptr ds:[644h],40h ; (3BBB:0644=8Bh) '@' 3BBB:3E00 75 F6 jnz loc_742 ; Jump if not zero 3BBB:3E02 ,BB 0769 mov bx,769h ; (3BBB:0769=0D8h) 3BBB:3E05 E8 EE10 call sub_129 ; (2C18) 3BBB:3E08 E8 EE3C call sub_136 ; (2C47) 3BBB:3E0B E8 05F7 call sub_269 ; (4405) 3BBB:3E0E E8 ED32 call sub_116 ; (2B43) 3BBB:3E11 A0 0699 mov al,byte ptr ds:[699h] ; (3BBB:0699=0) 3BBB:3E14 3C 80 cmp al,80h 3BBB:3E16 72 0B jb loc_744 ; Jump if below 3BBB:3E18 E8 FCB8 call sub_226 ; (3AD3) 3BBB:3E1B F6 06 05D1 FF test byte ptr ds:[5D1h],0FFh ; (3BBB:05D1=0BFh) 3BBB:3E20 74 01 jz loc_744 ; Jump if zero 3BBB:3E22 C3 retn 3BBB:3E23 loc_744: ; xref 3BBB:3E16, 3E20 3BBB:3E23 E8 EC9B call sub_112 ; (2AC1) 3BBB:3E26 74 04 jz loc_745 ; Jump if zero 3BBB:3E28 B1 00 mov cl,0 3BBB:3E2A EB 47 jmp short loc_750 ; (3E73) 3BBB:3E2C loc_745: ; xref 3BBB:3E26 3BBB:3E2C E8 EC65 call sub_110 ; (2A94) 3BBB:3E2F A2 0695 mov byte ptr ds:[695h],al ; (3BBB:0695=0) 3BBB:3E32 33 C9 xor cx,cx ; Zero register 3BBB:3E34 0A C0 or al,al ; Zero ? 3BBB:3E36 74 08 jz loc_746 ; Jump if zero 3BBB:3E38 8A C8 mov cl,al 3BBB:3E3A 49 dec cx 3BBB:3E3B E8 EC6D call sub_111 ; (2AAB) 3BBB:3E3E 8B CB mov cx,bx 3BBB:3E40 loc_746: ; xref 3BBB:3E36 3BBB:3E40 E8 FA56 call sub_211 ; (3899) 3BBB:3E43 0B DB or bx,bx ; Zero ? 3BBB:3E45 75 05 jnz loc_747 ; Jump if not zero 3BBB:3E47 B0 02 mov al,2 3BBB:3E49 E9 EB88 jmp loc_466 ; (29D4) 3BBB:3E4C loc_747: ; xref 3BBB:3E45 3BBB:3E4C 89 1E 069B mov word ptr ds:[69Bh],bx ; (3BBB:069B=674h) 3BBB:3E50 8B D3 mov dx,bx 3BBB:3E52 E8 F07D call sub_155 ; (2ED2) 3BBB:3E55 ,BB 0779 mov bx,779h ; (3BBB:0779=0E8h) 3BBB:3E58 80 3E 0696 00 cmp byte ptr ds:[696h],0 ; (3BBB:0696=83h) 3BBB:3E5D A0 0695 mov al,byte ptr ds:[695h] ; (3BBB:0695=0) 3BBB:3E60 B4 00 mov ah,0 3BBB:3E62 74 06 jz loc_748 ; Jump if zero 3BBB:3E64 03 D8 add bx,ax 3BBB:3E66 88 17 mov [bx],dl 3BBB:3E68 EB 07 jmp short loc_749 ; (3E71) 3BBB:3E6A loc_748: ; xref 3BBB:3E62 3BBB:3E6A 03 D8 add bx,ax 3BBB:3E6C 03 D8 add bx,ax 3BBB:3E6E 89 17 mov [bx],dx 3BBB:3E70 43 inc bx 3BBB:3E71 loc_749: ; xref 3BBB:3E68 3BBB:3E71 B1 02 mov cl,2 3BBB:3E73 loc_750: ; xref 3BBB:3E2A 3BBB:3E73 88 0E 0692 mov byte ptr ds:[692h],cl ; (3BBB:0692=8Eh) 3BBB:3E77 E8 EBEF call sub_109 ; (2A69) 3BBB:3E7A 80 3E 061D 16 cmp byte ptr ds:[61Dh],16h ; (3BBB:061D=8Eh) 3BBB:3E7F 75 44 jne loc_752 ; Jump if not equal 3BBB:3E81 80 3E 0692 02 cmp byte ptr ds:[692h],2 ; (3BBB:0692=8Eh) 3BBB:3E86 75 3D jne loc_752 ; Jump if not equal 3BBB:3E88 C6 06 0692 00 mov byte ptr ds:[692h],0 ; (3BBB:0692=8Eh) 3BBB:3E8D FF 36 069B push word ptr ds:[69Bh] ; (3BBB:069B=674h) 3BBB:3E91 E8 FF1D call sub_230 ; (3DB1) 3BBB:3E94 50 push ax 3BBB:3E95 8A 0E 0666 mov cl,byte ptr ds:[666h] ; (3BBB:0666=6) 3BBB:3E99 E8 F072 call sub_157 ; (2F0E) 3BBB:3E9C A1 069E mov ax,word ptr ds:[69Eh] ; (3BBB:069E=7406h) 3BBB:3E9F B1 02 mov cl,2 3BBB:3EA1 loc_751: ; xref 3BBB:3EBE 3BBB:3EA1 A3 069B mov word ptr ds:[69Bh],ax ; (3BBB:069B=674h) 3BBB:3EA4 51 push cx 3BBB:3EA5 E8 EEC2 call sub_150 ; (2D6A) 3BBB:3EA8 E8 EB76 call sub_108 ; (2A21) 3BBB:3EAB 59 pop cx 3BBB:3EAC E8 EE38 call sub_147 ; (2CE7) 3BBB:3EAF A1 069B mov ax,word ptr ds:[69Bh] ; (3BBB:069B=674h) 3BBB:3EB2 5B pop bx 3BBB:3EB3 53 push bx 3BBB:3EB4 03 C3 add ax,bx 3BBB:3EB6 8A 1E 0666 mov bl,byte ptr ds:[666h] ; (3BBB:0666=6) 3BBB:3EBA 22 D8 and bl,al 3BBB:3EBC B1 00 mov cl,0 3BBB:3EBE 75 E1 jnz loc_751 ; Jump if not zero 3BBB:3EC0 5B pop bx 3BBB:3EC1 8F 06 069B pop word ptr ds:[69Bh] ; (3BBB:069B=674h) 3BBB:3EC5 loc_752: ; xref 3BBB:3E7F, 3E86 3BBB:3EC5 E8 FD96 call sub_229 ; (3C5E) 3BBB:3EC8 72 2B jc loc_755 ; Jump if carry Set 3BBB:3ECA 75 07 jnz loc_753 ; Jump if not zero 3BBB:3ECC B4 02 mov ah,2 3BBB:3ECE E8 F0CB call sub_160 ; (2F9C) 3BBB:3ED1 EB 25 jmp short loc_756 ; (3EF8) 3BBB:3ED3 loc_753: ; xref 3BBB:3ECA 3BBB:3ED3 E8 F3B4 call sub_170 ; (328A) 3BBB:3ED6 E8 EB48 call sub_108 ; (2A21) 3BBB:3ED9 E8 EE8E call sub_150 ; (2D6A) 3BBB:3EDC 8A 0E 05E4 mov cl,byte ptr ds:[5E4h] ; (3BBB:05E4=3Ch) 3BBB:3EE0 E8 F014 call sub_156 ; (2EF7) 3BBB:3EE3 8A 0E 0692 mov cl,byte ptr ds:[692h] ; (3BBB:0692=8Eh) 3BBB:3EE7 80 3E 05E4 00 cmp byte ptr ds:[5E4h],0 ; (3BBB:05E4=3Ch) 3BBB:3EEC 74 02 je loc_754 ; Jump if equal 3BBB:3EEE B1 00 mov cl,0 3BBB:3EF0 loc_754: ; xref 3BBB:3EEC 3BBB:3EF0 E8 EDF4 call sub_147 ; (2CE7) 3BBB:3EF3 EB 03 jmp short loc_756 ; (3EF8) delay for I/O 3BBB:3EF5 loc_755: ; xref 3BBB:3EC8 3BBB:3EF5 E9 22E5 jmp loc_1231 ; (61DD) 3BBB:3EF8 loc_756: ; xref 3BBB:3ED1, 3EF3, 61E7 3BBB:3EF8 ,A0 0699 mov al,byte ptr ds:[699h] ; (3BBB:0699=0) 3BBB:3EFB ,BB 0697 mov bx,697h ; (3BBB:0697=3Eh) 3BBB:3EFE 3A 07 cmp al,[bx] 3BBB:3F00 72 09 jb loc_757 ; Jump if below 3BBB:3F02 88 07 mov [bx],al 3BBB:3F04 FE 07 inc byte ptr [bx] 3BBB:3F06 C6 06 0692 02 mov byte ptr ds:[692h],2 ; (3BBB:0692=8Eh) 3BBB:3F0B loc_757: ; xref 3BBB:3F00 3BBB:3F0B 80 3E 0692 02 cmp byte ptr ds:[692h],2 ; (3BBB:0692=8Eh) 3BBB:3F10 75 05 jne loc_758 ; Jump if not equal 3BBB:3F12 80 26 0777 7F and byte ptr ds:[777h],7Fh ; (3BBB:0777=0F8h) 3BBB:3F17 loc_758: ; xref 3BBB:3F10 3BBB:3F17 E8 ED0E call sub_131 ; (2C28) 3BBB:3F1A 24 40 and al,40h ; '@' 3BBB:3F1C 75 08 jnz loc_759 ; Jump if not zero 3BBB:3F1E 80 0F 40 or byte ptr [bx],40h ; '@' 3BBB:3F21 80 26 0777 7F and byte ptr ds:[777h],7Fh ; (3BBB:0777=0F8h) 3BBB:3F26 loc_759: ; xref 3BBB:3F1C 3BBB:3F26 E9 EC46 jmp loc_483 ; (2B6F) ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:495B, 4979, 4AF7 ;========================================================================== 3BBB:3F29 sub_231 proc near 3BBB:3F29 87 DA xchg bx,dx 3BBB:3F2B 03 DA add bx,dx 3BBB:3F2D 8A 0F mov cl,[bx] 3BBB:3F2F 32 ED xor ch,ch ; Zero register 3BBB:3F31 8B DA mov bx,dx 3BBB:3F33 8A 67 0C mov ah,[bx+0Ch] 3BBB:3F36 D1 E8 shr ax,1 ; Shift w/zeros fill 3BBB:3F38 25 0F80 and ax,0F80h 3BBB:3F3B 03 C8 add cx,ax 3BBB:3F3D 8A 47 0E mov al,[bx+0Eh] 3BBB:3F40 24 3F and al,3Fh ; '?' 3BBB:3F42 B4 10 mov ah,10h 3BBB:3F44 F6 E4 mul ah ; ax = reg * al 3BBB:3F46 02 E8 add ch,al 3BBB:3F48 B0 00 mov al,0 3BBB:3F4A 12 C4 adc al,ah 3BBB:3F4C loc_ret_760: ; xref 3BBB:3F53, 3F63 3BBB:3F4C C3 retn sub_231 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:495E, 4AFA ;========================================================================== 3BBB:3F4D sub_232 proc near 3BBB:3F4D ,BB 078A mov bx,offset data_515 ; (3BBB:078A=5Eh) 3BBB:3F50 3A 47 02 cmp al,[bx+2] 3BBB:3F53 75 F7 jne loc_ret_760 ; Jump if not equal 3BBB:3F55 3B 0F cmp cx,[bx] 3BBB:3F57 C3 retn sub_232 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:4071 ;========================================================================== 3BBB:3F58 sub_233 proc near 3BBB:3F58 52 push dx 3BBB:3F59 8A C8 mov cl,al 3BBB:3F5B B0 09 mov al,9 3BBB:3F5D E8 E9FB call sub_104 ; (295B) 3BBB:3F60 5A pop dx 3BBB:3F61 0B DB or bx,bx ; Zero ? 3BBB:3F63 74 E7 jz loc_ret_760 ; Jump if zero 3BBB:3F65 43 inc bx 3BBB:3F66 43 inc bx 3BBB:3F67 89 1E 0647 mov word ptr ds:[647h],bx ; (3BBB:0647=45Ch) 3BBB:3F6B 43 inc bx 3BBB:3F6C 43 inc bx 3BBB:3F6D 89 1E 0649 mov word ptr ds:[649h],bx ; (3BBB:0649=8B26h) 3BBB:3F71 83 C3 04 add bx,4 3BBB:3F74 8B F3 mov si,bx 3BBB:3F76 ,BF 064D mov di,64Dh ; (3BBB:064D=26h) 3BBB:3F79 B9 000C mov cx,0Ch 3BBB:3F7C F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:3F7E 8B 36 064D mov si,word ptr ds:[64Dh] ; (3BBB:064D=0B26h) 3BBB:3F82 AD lodsw ; String [si] to ax 3BBB:3F83 3D FFFE cmp ax,0FFFEh 3BBB:3F86 72 3B jb loc_763 ; Jump if below 3BBB:3F88 C7 06 07ED FFFF mov word ptr ds:[7EDh],0FFFFh ; (3BBB:07ED=67BAh) 3BBB:3F8E 74 06 jz loc_761 ; Jump if zero 3BBB:3F90 C7 06 07ED 0FFF mov word ptr ds:[7EDh],0FFFh ; (3BBB:07ED=67BAh) 3BBB:3F96 loc_761: ; xref 3BBB:3F8E 3BBB:3F96 83 06 064D 0C add word ptr ds:[64Dh],0Ch ; (3BBB:064D=0B26h) 3BBB:3F9B ,BF 0659 mov di,659h ; (3BBB:0659=26h) 3BBB:3F9E B9 001B mov cx,1Bh 3BBB:3FA1 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:3FA3 F6 C2 01 test dl,1 3BBB:3FA6 75 09 jnz loc_762 ; Jump if not zero 3BBB:3FA8 50 push ax 3BBB:3FA9 E8 0035 call sub_234 ; (3FE1) 3BBB:3FAC 58 pop ax 3BBB:3FAD 0B DB or bx,bx ; Zero ? 3BBB:3FAF 74 2F jz loc_ret_766 ; Jump if zero 3BBB:3FB1 loc_762: ; xref 3BBB:3FA6 3BBB:3FB1 A1 065F mov ax,word ptr ds:[65Fh] ; (3BBB:065F=2604h) 3BBB:3FB4 33 D2 xor dx,dx ; Zero register 3BBB:3FB6 B9 0020 mov cx,20h 3BBB:3FB9 F7 F1 div cx ; ax,dx rem=dx:ax/reg 3BBB:3FBB 48 dec ax 3BBB:3FBC A3 07EA mov word ptr ds:[7EAh],ax ; (3BBB:07EA=1BBh) 3BBB:3FBF B0 01 mov al,1 3BBB:3FC1 EB 0B jmp short loc_764 ; (3FCE) 3BBB:3FC3 loc_763: ; xref 3BBB:3F86 3BBB:3FC3 ,BF 0663 mov di,663h ; (3BBB:0663=6) 3BBB:3FC6 AB stosw ; Store ax to es:[di] 3BBB:3FC7 B9 000F mov cx,0Fh 3BBB:3FCA F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:3FCC 32 C0 xor al,al ; Zero register 3BBB:3FCE loc_764: ; xref 3BBB:3FC1 3BBB:3FCE A2 0676 mov byte ptr ds:[676h],al ; (3BBB:0676=45h) 3BBB:3FD1 A0 0669 mov al,byte ptr ds:[669h] ; (3BBB:0669=0DAh) 3BBB:3FD4 0A C0 or al,al ; Zero ? 3BBB:3FD6 74 02 jz loc_765 ; Jump if zero 3BBB:3FD8 B0 01 mov al,1 3BBB:3FDA loc_765: ; xref 3BBB:3FD6 3BBB:3FDA FE C8 dec al 3BBB:3FDC A2 0696 mov byte ptr ds:[696h],al ; (3BBB:0696=83h) 3BBB:3FDF F9 stc ; Set carry flag 3BBB:3FE0 loc_ret_766: ; xref 3BBB:3FAF 3BBB:3FE0 C3 retn sub_233 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:3FA9 ;========================================================================== 3BBB:3FE1 sub_234 proc near 3BBB:3FE1 A1 0661 mov ax,word ptr ds:[661h] ; (3BBB:0661=478Bh) 3BBB:3FE4 8B 0E 0659 mov cx,word ptr ds:[659h] ; (3BBB:0659=8B26h) 3BBB:3FE8 locloop_767: ; xref 3BBB:401C 3BBB:3FE8 50 push ax 3BBB:3FE9 51 push cx 3BBB:3FEA 33 D2 xor dx,dx ; Zero register 3BBB:3FEC F7 36 0663 div word ptr ds:[663h] ; (3BBB:0663=8906h) ax,dxrem=dx:ax/dat 3BBB:3FF0 A3 061E mov word ptr ds:[61Eh],ax ; (3BBB:061E=26C3h) 3BBB:3FF3 89 16 0620 mov word ptr ds:[620h],dx ; (3BBB:0620=6C6h) 3BBB:3FF7 A0 065B mov al,byte ptr ds:[65Bh] ; (3BBB:065B=47h) 3BBB:3FFA A2 05E3 mov byte ptr ds:[5E3h],al ; (3BBB:05E3=3Eh) 3BBB:3FFD A1 0657 mov ax,word ptr ds:[657h] ; (3BBB:0657=2A74h) 3BBB:4000 A3 06A2 mov word ptr ds:[6A2h],ax ; (3BBB:06A2=1FFFh) 3BBB:4003 C7 06 06A4 0000 mov word ptr ds:[6A4h],0 ; (3BBB:06A4=68Eh) 3BBB:4009 B0 0A mov al,0Ah 3BBB:400B E8 E959 call sub_105 ; (2967) 3BBB:400E BB 0001 mov bx,1 3BBB:4011 59 pop cx 3BBB:4012 5A pop dx 3BBB:4013 0A C0 or al,al ; Zero ? 3BBB:4015 74 09 jz loc_ret_768 ; Jump if zero 3BBB:4017 A1 065B mov ax,word ptr ds:[65Bh] ; (3BBB:065B=447h) 3BBB:401A 03 C2 add ax,dx 3BBB:401C E2 CA loop locloop_767 ; Loop if cx > 0 3BBB:401E 33 DB xor bx,bx ; Zero register 3BBB:4020 loc_ret_768: ; xref 3BBB:4015 3BBB:4020 C3 retn sub_234 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:5590, 5602, 5672, 5A2C ;========================================================================== 3BBB:4021 sub_235 proc near 3BBB:4021 loc_769: ; xref 3BBB:57F1 3BBB:4021 ,A1 0661 mov ax,word ptr ds:[661h] ; (3BBB:0661=478Bh) 3BBB:4024 8B 0E 0659 mov cx,word ptr ds:[659h] ; (3BBB:0659=8B26h) 3BBB:4028 33 DB xor bx,bx ; Zero register 3BBB:402A locloop_770: ; xref 3BBB:405A 3BBB:402A 50 push ax 3BBB:402B 53 push bx 3BBB:402C 51 push cx 3BBB:402D 33 D2 xor dx,dx ; Zero register 3BBB:402F F7 36 0663 div word ptr ds:[663h] ; (3BBB:0663=8906h) ax,dxrem=dx:ax/dat 3BBB:4033 A3 061E mov word ptr ds:[61Eh],ax ; (3BBB:061E=26C3h) 3BBB:4036 89 16 0620 mov word ptr ds:[620h],dx ; (3BBB:0620=6C6h) 3BBB:403A A0 065B mov al,byte ptr ds:[65Bh] ; (3BBB:065B=47h) 3BBB:403D A2 05E3 mov byte ptr ds:[5E3h],al ; (3BBB:05E3=3Eh) 3BBB:4040 A1 0657 mov ax,word ptr ds:[657h] ; (3BBB:0657=2A74h) 3BBB:4043 A3 06A2 mov word ptr ds:[6A2h],ax ; (3BBB:06A2=1FFFh) 3BBB:4046 C7 06 06A4 0000 mov word ptr ds:[6A4h],0 ; (3BBB:06A4=68Eh) 3BBB:404C B0 0B mov al,0Bh 3BBB:404E E8 E916 call sub_105 ; (2967) 3BBB:4051 59 pop cx 3BBB:4052 5B pop bx 3BBB:4053 0B D8 or bx,ax 3BBB:4055 58 pop ax 3BBB:4056 03 06 065B add ax,word ptr ds:[65Bh] ; (3BBB:065B=447h) 3BBB:405A E2 CE loop locloop_770 ; Loop if cx > 0 3BBB:405C 8A C3 mov al,bl 3BBB:405E B4 FF mov ah,0FFh 3BBB:4060 E9 EC94 jmp loc_507 ; (2CF7) sub_235 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:40A8, 4196 ;========================================================================== 3BBB:4063 sub_236 proc near 3BBB:4063 A2 069A mov byte ptr ds:[69Ah],al ; (3BBB:069A=0) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:3078 3BBB:4066 sub_237: 3BBB:4066 A2 0646 mov byte ptr ds:[646h],al ; (3BBB:0646=0C4h) 3BBB:4069 8B 16 05CC mov dx,word ptr ds:[5CCh] ; (3BBB:05CC=0FCFCh) 3BBB:406D E8 EB87 call sub_125 ; (2BF7) 3BBB:4070 52 push dx 3BBB:4071 E8 FEE4 call sub_233 ; (3F58) 3BBB:4074 5B pop bx 3BBB:4075 73 03 jnc loc_771 ; Jump if carry=0 3BBB:4077 FE CB dec bl 3BBB:4079 C3 retn 3BBB:407A loc_771: ; xref 3BBB:4075 3BBB:407A E9 008B jmp loc_780 ; (4108) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:44BF, 499B, 49E6, 4A52, 4C4D, 4DAE 3BBB:407D sub_238: 3BBB:407D 88 16 0626 mov byte ptr ds:[626h],dl ; (3BBB:0626=91h) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:4167, 4633, 4884, 48F2 3BBB:4081 sub_239: 3BBB:4081 A0 0626 mov al,byte ptr ds:[626h] ; (3BBB:0626=91h) 3BBB:4084 3C FF cmp al,0FFh 3BBB:4086 75 05 jne loc_773 ; Jump if not equal 3BBB:4088 FE C0 inc al 3BBB:408A 74 7C jz loc_780 ; Jump if zero 3BBB:408C loc_ret_772: ; xref 3BBB:40A6, 40AB 3BBB:408C C3 retn 3BBB:408D loc_773: ; xref 3BBB:4086 3BBB:408D A2 07EC mov byte ptr ds:[7ECh],al ; (3BBB:07EC=0) 3BBB:4090 C7 06 07E6 0000 mov word ptr ds:[7E6h],0 ; (3BBB:07E6=0A307h) 3BBB:4096 3C 10 cmp al,10h 3BBB:4098 73 6E jae loc_780 ; Jump if above or = 3BBB:409A B1 00 mov cl,0 3BBB:409C E8 003E call sub_241 ; (40DD) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:2CC4, 2CCA, 3094 3BBB:409F sub_240: 3BBB:409F loc_774: ; xref 3BBB:41BE 3BBB:409F ,A0 0626 mov al,byte ptr ds:[626h] ; (3BBB:0626=91h) 3BBB:40A2 loc_775: ; xref 3BBB:40F9 3BBB:40A2 3A 06 0646 cmp al,byte ptr ds:[646h] ; (3BBB:0646=0C4h) 3BBB:40A6 74 E4 je loc_ret_772 ; Jump if equal 3BBB:40A8 E8 FFB8 call sub_236 ; (4063) 3BBB:40AB 74 DF jz loc_ret_772 ; Jump if zero 3BBB:40AD 80 3E 0676 00 cmp byte ptr ds:[676h],0 ; (3BBB:0676=45h) 3BBB:40B2 75 05 jne loc_776 ; Jump if not equal 3BBB:40B4 E8 F327 call sub_181 ; (33DE) 3BBB:40B7 EB 03 jmp short loc_777 ; (40BC) 3BBB:40B9 loc_776: ; xref 3BBB:40B2 3BBB:40B9 E8 F3A4 call sub_182 ; (3460) 3BBB:40BC loc_777: ; xref 3BBB:40B7 3BBB:40BC 8B 1E 0649 mov bx,word ptr ds:[649h] ; (3BBB:0649=8B26h) 3BBB:40C0 8A 47 02 mov al,[bx+2] 3BBB:40C3 24 01 and al,1 3BBB:40C5 00 47 02 add [bx+2],al 3BBB:40C8 BB 05CC mov bx,5CCh 3BBB:40CB E8 EB19 call sub_122 ; (2BE7) 3BBB:40CE 81 3E 066E 8000 cmp word ptr ds:[66Eh],8000h ; (3BBB:066E=2604h) 3BBB:40D4 74 06 je loc_ret_778 ; Jump if equal 3BBB:40D6 BB 05C4 mov bx,5C4h 3BBB:40D9 E8 EB0B call sub_122 ; (2BE7) 3BBB:40DC loc_ret_778: ; xref 3BBB:40D4 3BBB:40DC C3 retn ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:254F, 409C, 4453 3BBB:40DD sub_241: 3BBB:40DD 1E push ds 3BBB:40DE 8E 1E 004E mov ds,data_193 ; (3BBB:004E=0) 3BBB:40E2 8B 1E 0011 mov bx,ds:data_6e ; (0000:0011=7002h) 3BBB:40E6 1F pop ds 3BBB:40E7 0B DB or bx,bx ; Zero ? 3BBB:40E9 74 0C jz loc_779 ; Jump if zero 3BBB:40EB 32 E4 xor ah,ah ; Zero register 3BBB:40ED 8B F0 mov si,ax 3BBB:40EF 03 F6 add si,si 3BBB:40F1 8B 18 mov bx,[bx+si] 3BBB:40F3 0B DB or bx,bx ; Zero ? 3BBB:40F5 75 14 jnz loc_781 ; Jump if not zero 3BBB:40F7 loc_779: ; xref 3BBB:40E9 3BBB:40F7 3C 0D cmp al,0Dh 3BBB:40F9 72 A7 jb loc_775 ; Jump if below 3BBB:40FB A0 01B8 mov al,data_269 ; (3BBB:01B8=72h) 3BBB:40FE 80 F9 FF cmp cl,0FFh 3BBB:4101 74 1C je loc_ret_782 ; Jump if equal 3BBB:4103 A2 0626 mov byte ptr ds:[626h],al ; (3BBB:0626=91h) 3BBB:4106 EB 17 jmp short loc_ret_782 ; (411F) 3BBB:4108 loc_780: ; xref 3BBB:407A, 408A, 4098 3BBB:4108 E9 E89D jmp loc_460 ; (29A8) 3BBB:410B loc_781: ; xref 3BBB:40F5 3BBB:410B 8A 07 mov al,[bx] 3BBB:410D 80 F9 FF cmp cl,0FFh 3BBB:4110 74 0D je loc_ret_782 ; Jump if equal 3BBB:4112 89 1E 07E6 mov word ptr ds:[7E6h],bx ; (3BBB:07E6=0A307h) 3BBB:4116 A2 0626 mov byte ptr ds:[626h],al ; (3BBB:0626=91h) 3BBB:4119 C7 06 07E8 0000 mov word ptr ds:[7E8h],0 ; (3BBB:07E8=464h) 3BBB:411F loc_ret_782: ; xref 3BBB:4101, 4106, 4110 3BBB:411F C3 retn sub_236 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:463D, 471A, 48B3, 4AC9, 4BCC, 4C62, 4CAA ;========================================================================== 3BBB:4120 sub_242 proc near 3BBB:4120 32 C0 xor al,al ; Zero register 3BBB:4122 A2 0644 mov byte ptr ds:[644h],al ; (3BBB:0644=8Bh) 3BBB:4125 A2 0645 mov byte ptr ds:[645h],al ; (3BBB:0645=0F7h) 3BBB:4128 EB 27 jmp short loc_784 ; (4151) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:2886 3BBB:412A sub_243: 3BBB:412A B9 807F mov cx,807Fh 3BBB:412D ,BB 0770 mov bx,770h ; (3BBB:0770=8Bh) 3BBB:4130 8A 07 mov al,[bx] 3BBB:4132 22 C5 and al,ch 3BBB:4134 A2 0645 mov byte ptr ds:[645h],al ; (3BBB:0645=0F7h) 3BBB:4137 20 0F and [bx],cl 3BBB:4139 43 inc bx 3BBB:413A 8A 07 mov al,[bx] 3BBB:413C 22 C1 and al,cl 3BBB:413E 3A 07 cmp al,[bx] 3BBB:4140 88 07 mov [bx],al 3BBB:4142 B0 60 mov al,60h ; '`' 3BBB:4144 75 05 jnz loc_783 ; Jump if not zero 3BBB:4146 8A 47 04 mov al,[bx+4] 3BBB:4149 24 E0 and al,0E0h 3BBB:414B loc_783: ; xref 3BBB:4144 3BBB:414B A2 0644 mov byte ptr ds:[644h],al ; (3BBB:0644=8Bh) 3BBB:414E E8 EAE3 call sub_133 ; (2C34) 3BBB:4151 loc_784: ; xref 3BBB:4128 3BBB:4151 C6 06 05D3 FF mov byte ptr ds:[5D3h],0FFh ; (3BBB:05D3=3) 3BBB:4156 A0 0769 mov al,byte ptr ds:[769h] ; (3BBB:0769=0D8h) 3BBB:4159 A2 05CF mov byte ptr ds:[5CFh],al ; (3BBB:05CF=2) 3BBB:415C 24 1F and al,1Fh 3BBB:415E FE C8 dec al 3BBB:4160 3C FF cmp al,0FFh 3BBB:4162 74 03 je loc_785 ; Jump if equal 3BBB:4164 A2 0626 mov byte ptr ds:[626h],al ; (3BBB:0626=91h) 3BBB:4167 loc_785: ; xref 3BBB:4162 3BBB:4167 E8 FF17 call sub_239 ; (4081) 3BBB:416A A0 0627 mov al,byte ptr ds:[627h] ; (3BBB:0627=0FDh) 3BBB:416D A2 0769 mov byte ptr ds:[769h],al ; (3BBB:0769=0D8h) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:4636 3BBB:4170 sub_244: 3BBB:4170 E8 EB11 call sub_142 ; (2C84) 3BBB:4173 75 05 jnz loc_786 ; Jump if not zero 3BBB:4175 C6 06 05D4 F0 mov byte ptr ds:[5D4h],0F0h ; (3BBB:05D4=0B0h) 3BBB:417A loc_786: ; xref 3BBB:4173 3BBB:417A E8 0044 call sub_245 ; (41C1) 3BBB:417D 32 C0 xor al,al ; Zero register 3BBB:417F 86 06 0F02 xchg byte ptr ds:[0F02h],al ; (3BBB:0F02=0F1h) 3BBB:4183 84 C0 test al,al 3BBB:4185 75 01 jnz loc_787 ; Jump if not zero 3BBB:4187 C3 retn 3BBB:4188 loc_787: ; xref 3BBB:4185 3BBB:4188 8B 1E 05CC mov bx,word ptr ds:[5CCh] ; (3BBB:05CC=0FCFCh) 3BBB:418C B0 10 mov al,10h 3BBB:418E loc_788: ; xref 3BBB:41BC 3BBB:418E FE C8 dec al 3BBB:4190 D1 E3 shl bx,1 ; Shift w/zeros fill 3BBB:4192 73 26 jnc loc_793 ; Jump if carry=0 3BBB:4194 50 push ax 3BBB:4195 53 push bx 3BBB:4196 E8 FECA call sub_236 ; (4063) 3BBB:4199 8B 1E 0655 mov bx,word ptr ds:[655h] ; (3BBB:0655=124Fh) 3BBB:419D 8B 1F mov bx,[bx] 3BBB:419F loc_789: ; xref 3BBB:41B3 3BBB:419F ,0B DB or bx,bx ; Zero ? 3BBB:41A1 74 15 jz loc_792 ; Jump if zero 3BBB:41A3 A0 069A mov al,byte ptr ds:[69Ah] ; (3BBB:069A=0) 3BBB:41A6 3A 07 cmp al,[bx] 3BBB:41A8 75 06 jne loc_790 ; Jump if not equal 3BBB:41AA F6 47 04 FF test byte ptr [bx+4],0FFh 3BBB:41AE 75 05 jnz loc_791 ; Jump if not zero 3BBB:41B0 loc_790: ; xref 3BBB:41A8 3BBB:41B0 8B 5F 0C mov bx,[bx+0Ch] 3BBB:41B3 EB EA jmp short loc_789 ; (419F) 3BBB:41B5 loc_791: ; xref 3BBB:41AE 3BBB:41B5 E8 0009 call sub_245 ; (41C1) 3BBB:41B8 loc_792: ; xref 3BBB:41A1 3BBB:41B8 5B pop bx 3BBB:41B9 58 pop ax 3BBB:41BA loc_793: ; xref 3BBB:4192 3BBB:41BA 0A C0 or al,al ; Zero ? 3BBB:41BC 75 D0 jnz loc_788 ; Jump if not zero 3BBB:41BE E9 FEDE jmp loc_774 ; (409F) sub_242 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:417A, 41B5, 48FA ;========================================================================== 3BBB:41C1 sub_245 proc near 3BBB:41C1 8B 1E 0649 mov bx,word ptr ds:[649h] ; (3BBB:0649=8B26h) 3BBB:41C5 32 C0 xor al,al ; Zero register 3BBB:41C7 86 47 01 xchg [bx+1],al 3BBB:41CA 0A C0 or al,al ; Zero ? 3BBB:41CC 74 3C jz loc_ret_797 ; Jump if zero 3BBB:41CE E8 EBA1 call sub_151 ; (2D72) 3BBB:41D1 FF 36 0636 push word ptr ds:[636h] ; (3BBB:0636=8A26h) 3BBB:41D5 E8 EA81 call sub_138 ; (2C59) 3BBB:41D8 loc_794: ; xref 3BBB:4204 3BBB:41D8 B1 00 mov cl,0 3BBB:41DA E8 F0BA call sub_171 ; (3297) 3BBB:41DD 32 C0 xor al,al ; Zero register 3BBB:41DF 86 06 05DF xchg byte ptr ds:[5DFh],al ; (3BBB:05DF=8Ch) 3BBB:41E3 84 C0 test al,al 3BBB:41E5 74 1A jz loc_795 ; Jump if zero 3BBB:41E7 80 3E 061D 1A cmp byte ptr ds:[61Dh],1Ah ; (3BBB:061D=8Eh) 3BBB:41EC 74 18 je loc_796 ; Jump if equal 3BBB:41EE A0 069A mov al,byte ptr ds:[69Ah] ; (3BBB:069A=0) 3BBB:41F1 3A 06 0626 cmp al,byte ptr ds:[626h] ; (3BBB:0626=91h) 3BBB:41F5 75 0F jne loc_796 ; Jump if not equal 3BBB:41F7 8F 06 0636 pop word ptr ds:[636h] ; (3BBB:0636=8A26h) 3BBB:41FB E8 EACC call sub_146 ; (2CCA) 3BBB:41FE E9 EA9D jmp loc_500 ; (2C9E) 3BBB:4201 loc_795: ; xref 3BBB:41E5 3BBB:4201 E8 EA6C call sub_140 ; (2C70) 3BBB:4204 72 D2 jc loc_794 ; Jump if carry Set 3BBB:4206 loc_796: ; xref 3BBB:41EC, 41F5 3BBB:4206 8F 06 0636 pop word ptr ds:[636h] ; (3BBB:0636=8A26h) 3BBB:420A loc_ret_797: ; xref 3BBB:41CC 3BBB:420A C3 retn sub_245 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:44CF, 46CD, 480D, 48AD, 4AC6, 4D43 ;========================================================================== 3BBB:420B sub_246 proc near 3BBB:420B B1 08 mov cl,8 ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:4711, 4BC9, 4CA7 3BBB:420D sub_247: 3BBB:420D 8B 36 062C mov si,word ptr ds:[62Ch] ; (3BBB:062C=3Ch) 3BBB:4211 ,BF 0677 mov di,677h ; (3BBB:0677=6) 3BBB:4214 1E push ds 3BBB:4215 8E 1E 062E mov ds,word ptr ds:[62Eh] ; (3BBB:062E=7493h) 3BBB:4219 32 ED xor ch,ch ; Zero register 3BBB:421B F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:421D 1F pop ds 3BBB:421E C3 retn sub_246 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:3837, 3848, 4301, 43CA, 456A, 4760, 4792 ; 4C5C, 4CB7 ;========================================================================== 3BBB:421F sub_248 proc near 3BBB:421F 8B 1E 0649 mov bx,word ptr ds:[649h] ; (3BBB:0649=8B26h) 3BBB:4223 8A 07 mov al,[bx] 3BBB:4225 C3 retn sub_248 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:42B9, 42E8, 4308, 4585, 45A5, 4767, 47A8 ; 4C93, 4CD0 ;========================================================================== 3BBB:4226 sub_249 proc near 3BBB:4226 ,BB 0769 mov bx,769h ; (3BBB:0769=0D8h) 3BBB:4229 8A 07 mov al,[bx] 3BBB:422B 50 push ax 3BBB:422C 80 0F 10 or byte ptr [bx],10h 3BBB:422F E8 F4B8 call sub_199 ; (36EA) 3BBB:4232 58 pop ax 3BBB:4233 A2 0769 mov byte ptr ds:[769h],al ; (3BBB:0769=0D8h) 3BBB:4236 C6 06 05D1 00 mov byte ptr ds:[5D1h],0 ; (3BBB:05D1=0BFh) 3BBB:423B 75 01 jnz loc_798 ; Jump if not zero 3BBB:423D C3 retn ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:434B, 47D4, 4D07 3BBB:423E sub_250: 3BBB:423E loc_798: ; xref 3BBB:423B 3BBB:423E E8 E9C1 call sub_126 ; (2C02) 3BBB:4241 8B D3 mov dx,bx 3BBB:4243 83 C3 0C add bx,0Ch 3BBB:4246 8A 07 mov al,[bx] 3BBB:4248 24 E0 and al,0E0h 3BBB:424A 0C 01 or al,1 3BBB:424C C3 retn sub_249 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:47C0, 4C0D, 4CDD ;========================================================================== 3BBB:424D sub_251 proc near 3BBB:424D E8 EA2B call sub_141 ; (2C7B) 3BBB:4250 B9 1014 mov cx,1014h ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:4C2C 3BBB:4253 sub_252: 3BBB:4253 51 push cx 3BBB:4254 E8 E9AB call sub_126 ; (2C02) 3BBB:4257 ,BE 0769 mov si,769h ; (3BBB:0769=0D8h) 3BBB:425A AC lodsb ; String [si] to al 3BBB:425B 0A C5 or al,ch 3BBB:425D 88 07 mov [bx],al 3BBB:425F 43 inc bx 3BBB:4260 B1 0B mov cl,0Bh 3BBB:4262 8B D6 mov dx,si 3BBB:4264 E8 E7A8 call sub_106 ; (2A0F) 3BBB:4267 8B D6 mov dx,si 3BBB:4269 8B DF mov bx,di 3BBB:426B 59 pop cx 3BBB:426C 2A ED sub ch,ch 3BBB:426E 32 C0 xor al,al ; Zero register 3BBB:4270 F3/ AA rep stosb ; Rep when cx >0 Store al to es:[di] 3BBB:4272 C3 retn sub_251 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:3854, 45B1, 4773, 4822, 48C5, 4ADE ;========================================================================== 3BBB:4273 sub_253 proc near 3BBB:4273 C6 06 05DA 00 mov byte ptr ds:[5DAh],0 ; (3BBB:05DA=1Eh) 3BBB:4278 ,BE 0769 mov si,769h ; (3BBB:0769=0D8h) 3BBB:427B ,BF 0791 mov di,offset data_518 ; (3BBB:0791=6) 3BBB:427E B9 0010 mov cx,10h 3BBB:4281 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:4283 E8 E97C call sub_126 ; (2C02) 3BBB:4286 8B F3 mov si,bx 3BBB:4288 46 inc si 3BBB:4289 ,BF 076A mov di,76Ah ; (3BBB:076A=8Eh) 3BBB:428C B9 000B mov cx,0Bh 3BBB:428F F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:4291 32 C0 xor al,al ; Zero register 3BBB:4293 AA stosb ; Store al to es:[di] 3BBB:4294 47 inc di 3BBB:4295 AA stosb ; Store al to es:[di] 3BBB:4296 AC lodsb ; String [si] to al 3BBB:4297 A2 068B mov byte ptr ds:[68Bh],al ; (3BBB:068B=5Dh) 3BBB:429A E8 F449 call sub_198 ; (36E6) 3BBB:429D 74 3F jz loc_801 ; Jump if zero 3BBB:429F E8 00E2 call sub_260 ; (4384) 3BBB:42A2 0A C0 or al,al ; Zero ? 3BBB:42A4 75 25 jnz loc_799 ; Jump if not zero 3BBB:42A6 ,BE 068B mov si,68Bh ; (3BBB:068B=5Dh) 3BBB:42A9 8A 2C mov ch,[si] 3BBB:42AB 8A 07 mov al,[bx] 3BBB:42AD 88 04 mov [si],al 3BBB:42AF 0A C0 or al,al ; Zero ? 3BBB:42B1 74 2B jz loc_801 ; Jump if zero 3BBB:42B3 32 C5 xor al,ch 3BBB:42B5 24 E0 and al,0E0h 3BBB:42B7 74 12 jz loc_799 ; Jump if zero 3BBB:42B9 E8 FF6A call sub_249 ; (4226) 3BBB:42BC 74 0D jz loc_799 ; Jump if zero 3BBB:42BE A0 068B mov al,byte ptr ds:[68Bh] ; (3BBB:068B=5Dh) 3BBB:42C1 88 07 mov [bx],al 3BBB:42C3 E8 E92D call sub_124 ; (2BF3) 3BBB:42C6 75 03 jnz loc_799 ; Jump if not zero 3BBB:42C8 E8 EF99 call sub_168 ; (3264) 3BBB:42CB loc_799: ; xref 3BBB:42A4, 42B7, 42BC, 42C6 3BBB:42CB E8 0027 call sub_254 ; (42F5) 3BBB:42CE A0 061D mov al,byte ptr ds:[61Dh] ; (3BBB:061D=8Eh) 3BBB:42D1 3C 02 cmp al,2 3BBB:42D3 74 2B je loc_ret_803 ; Jump if equal 3BBB:42D5 3C 09 cmp al,9 3BBB:42D7 74 27 je loc_ret_803 ; Jump if equal 3BBB:42D9 loc_800: ; xref 3BBB:45BF, 477D, 4C27, 4CE5 3BBB:42D9 ,B4 07 mov ah,7 3BBB:42DB E9 E6FA jmp loc_467 ; (29D8) 3BBB:42DE loc_801: ; xref 3BBB:429D, 42B1 3BBB:42DE C6 06 068B 00 mov byte ptr ds:[68Bh],0 ; (3BBB:068B=5Dh) 3BBB:42E3 E8 E90D call sub_124 ; (2BF3) 3BBB:42E6 75 0D jnz loc_802 ; Jump if not zero 3BBB:42E8 E8 FF3B call sub_249 ; (4226) 3BBB:42EB 74 08 jz loc_802 ; Jump if zero 3BBB:42ED 80 0E 0769 10 or byte ptr ds:[769h],10h ; (3BBB:0769=0D8h) 3BBB:42F2 E8 F571 call sub_210 ; (3866) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:42CB 3BBB:42F5 sub_254: 3BBB:42F5 loc_802: ; xref 3BBB:42E6, 42EB 3BBB:42F5 ,BE 0791 mov si,offset data_518 ; (3BBB:0791=6) 3BBB:42F8 ,BF 0769 mov di,769h ; (3BBB:0769=0D8h) 3BBB:42FB B9 0010 mov cx,10h 3BBB:42FE F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:4300 loc_ret_803: ; xref 3BBB:42D3, 42D7, 4306, 430B ; 431E 3BBB:4300 C3 retn sub_253 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:481D, 48C0, 4AD9 ;========================================================================== 3BBB:4301 sub_255 proc near 3BBB:4301 E8 FF1B call sub_248 ; (421F) 3BBB:4304 24 80 and al,80h 3BBB:4306 74 F8 jz loc_ret_803 ; Jump if zero 3BBB:4308 E8 FF1B call sub_249 ; (4226) 3BBB:430B 74 F3 jz loc_ret_803 ; Jump if zero ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:434F, 45AC 3BBB:430D sub_256: 3BBB:430D 43 inc bx 3BBB:430E 8A 2F mov ch,[bx] 3BBB:4310 0A ED or ch,ch ; Zero ? 3BBB:4312 75 14 jnz loc_805 ; Jump if not zero 3BBB:4314 8B F3 mov si,bx 3BBB:4316 83 C6 03 add si,3 3BBB:4319 B1 09 mov cl,9 3BBB:431B loc_804: ; xref 3BBB:4322, 4326 3BBB:431B AC lodsb ; String [si] to al 3BBB:431C FE C9 dec cl 3BBB:431E 74 E0 jz loc_ret_803 ; Jump if zero 3BBB:4320 0A C0 or al,al ; Zero ? 3BBB:4322 74 F7 jz loc_804 ; Jump if zero 3BBB:4324 3C 20 cmp al,20h ; ' ' 3BBB:4326 74 F3 je loc_804 ; Jump if equal 3BBB:4328 loc_805: ; xref 3BBB:4312 3BBB:4328 8D 77 0A lea si,[bx+0Ah] ; Load effective addr 3BBB:432B 8D 57 03 lea dx,[bx+3] ; Load effective addr 3BBB:432E ,BB 0677 mov bx,677h ; (3BBB:0677=6) 3BBB:4331 B1 08 mov cl,8 3BBB:4333 FD std ; Set direction flag 3BBB:4334 loc_806: ; xref 3BBB:433E 3BBB:4334 AC lodsb ; String [si] to al 3BBB:4335 32 C5 xor al,ch 3BBB:4337 3A 07 cmp al,[bx] 3BBB:4339 75 07 jne loc_807 ; Jump if not equal 3BBB:433B 43 inc bx 3BBB:433C FE C9 dec cl 3BBB:433E 75 F4 jnz loc_806 ; Jump if not zero 3BBB:4340 FC cld ; Clear direction 3BBB:4341 C3 retn 3BBB:4342 loc_807: ; xref 3BBB:4339 3BBB:4342 FC cld ; Clear direction 3BBB:4343 BB 063C mov bx,63Ch 3BBB:4346 B1 08 mov cl,8 3BBB:4348 E9 E6CD jmp loc_471 ; (2A18) sub_255 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:384F, 4C22, 4CE0 ;========================================================================== 3BBB:434B sub_257 proc near 3BBB:434B E8 FEF0 call sub_250 ; (423E) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:476E 3BBB:434E sub_258: 3BBB:434E 53 push bx 3BBB:434F E8 FFBB call sub_256 ; (430D) 3BBB:4352 5B pop bx 3BBB:4353 C3 retn sub_257 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:47DD, 4C44 ;========================================================================== 3BBB:4354 sub_259 proc near 3BBB:4354 B9 0008 mov cx,8 3BBB:4357 8D 7F 0B lea di,[bx+0Bh] ; Load effective addr 3BBB:435A loc_808: ; xref 3BBB:4D3D 3BBB:435A ,2A E4 sub ah,ah 3BBB:435C loc_809: ; xref 3BBB:436E 3BBB:435C AC lodsb ; String [si] to al 3BBB:435D 88 05 mov [di],al 3BBB:435F 0A C0 or al,al ; Zero ? 3BBB:4361 74 06 jz loc_810 ; Jump if zero 3BBB:4363 3C 20 cmp al,20h ; ' ' 3BBB:4365 74 02 je loc_810 ; Jump if equal 3BBB:4367 FE C4 inc ah 3BBB:4369 loc_810: ; xref 3BBB:4361, 4365 3BBB:4369 02 E8 add ch,al 3BBB:436B 4F dec di 3BBB:436C FE C9 dec cl 3BBB:436E 75 EC jnz loc_809 ; Jump if not zero 3BBB:4370 0A E5 or ah,ch 3BBB:4372 75 02 jnz loc_811 ; Jump if not zero 3BBB:4374 88 27 mov [bx],ah 3BBB:4376 loc_811: ; xref 3BBB:4372 3BBB:4376 47 inc di 3BBB:4377 B1 08 mov cl,8 3BBB:4379 loc_812: ; xref 3BBB:437E 3BBB:4379 30 2D xor [di],ch 3BBB:437B 47 inc di 3BBB:437C FE C9 dec cl 3BBB:437E 75 F9 jnz loc_812 ; Jump if not zero 3BBB:4380 88 6F 01 mov [bx+1],ch 3BBB:4383 C3 retn sub_259 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:387A, 429F, 4576, 47E8, 4D19 ;========================================================================== 3BBB:4384 sub_260 proc near 3BBB:4384 B5 08 mov ch,8 ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:3AAF, 43DD, 458F, 4C79, 4D71, 4D87 3BBB:4386 sub_261: 3BBB:4386 B0 03 mov al,3 3BBB:4388 8A 26 0636 mov ah,byte ptr ds:[636h] ; (3BBB:0636=26h) 3BBB:438C 80 E4 03 and ah,3 3BBB:438F 3A C4 cmp al,ah 3BBB:4391 74 1B je loc_ret_813 ; Jump if equal 3BBB:4393 8B 1E 064B mov bx,word ptr ds:[64Bh] ; (3BBB:064B=447h) 3BBB:4397 83 C3 60 add bx,60h 3BBB:439A 8A 07 mov al,[bx] 3BBB:439C 2C 21 sub al,21h ; '!' 3BBB:439E 75 0E jnz loc_ret_813 ; Jump if not zero 3BBB:43A0 8A C4 mov al,ah 3BBB:43A2 B1 0A mov cl,0Ah 3BBB:43A4 F6 E1 mul cl ; ax = reg * al 3BBB:43A6 FE C0 inc al 3BBB:43A8 02 C5 add al,ch 3BBB:43AA 03 D8 add bx,ax 3BBB:43AC 32 C0 xor al,al ; Zero register 3BBB:43AE loc_ret_813: ; xref 3BBB:4391, 439E, 43BE, 43C8 ; 43E2, 43F0, 440A, 4411 3BBB:43AE C3 retn sub_260 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:43C5, 4571, 475B, 47A0 ;========================================================================== 3BBB:43AF sub_262 proc near 3BBB:43AF ,BB 0775 mov bx,775h ; (3BBB:0775=0F0h) 3BBB:43B2 8A 07 mov al,[bx] 3BBB:43B4 8A 26 0667 mov ah,byte ptr ds:[667h] ; (3BBB:0667=1Eh) 3BBB:43B8 F6 D4 not ah 3BBB:43BA 22 C4 and al,ah 3BBB:43BC 24 1F and al,1Fh 3BBB:43BE 75 EE jnz loc_ret_813 ; Jump if not zero 3BBB:43C0 F6 47 02 3F test byte ptr [bx+2],3Fh ; '?' 3BBB:43C4 C3 retn sub_262 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:45D7, 47FE, 4D6A, 4D80 ;========================================================================== 3BBB:43C5 sub_263 proc near 3BBB:43C5 E8 FFE7 call sub_262 ; (43AF) 3BBB:43C8 75 E4 jnz loc_ret_813 ; Jump if not zero ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:4407 3BBB:43CA sub_264: 3BBB:43CA E8 FE52 call sub_248 ; (421F) 3BBB:43CD 22 C1 and al,cl 3BBB:43CF 74 03 jz loc_814 ; Jump if zero 3BBB:43D1 E9 E81F jmp loc_491 ; (2BF3) 3BBB:43D4 loc_814: ; xref 3BBB:43CF 3BBB:43D4 FE C0 inc al 3BBB:43D6 C3 retn sub_263 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:4C16 ;========================================================================== 3BBB:43D7 sub_265 proc near 3BBB:43D7 loc_815: ; xref 3BBB:45DC 3BBB:43D7 ,B5 00 mov ch,0 3BBB:43D9 EB 02 jmp short loc_816 ; (43DD) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:4420, 4803, 4C1F 3BBB:43DB sub_266: 3BBB:43DB B5 04 mov ch,4 3BBB:43DD loc_816: ; xref 3BBB:43D9 3BBB:43DD E8 FFA6 call sub_261 ; (4386) 3BBB:43E0 0A C0 or al,al ; Zero ? 3BBB:43E2 75 CA jnz loc_ret_813 ; Jump if not zero 3BBB:43E4 loc_817: ; xref 3BBB:4403 3BBB:43E4 ,BA 005F mov dx,5Fh ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:4D7B, 4D91 3BBB:43E7 sub_267: 3BBB:43E7 B1 04 mov cl,4 3BBB:43E9 53 push bx 3BBB:43EA 52 push dx 3BBB:43EB E8 E62A call sub_107 ; (2A18) 3BBB:43EE 5A pop dx 3BBB:43EF 5B pop bx 3BBB:43F0 74 BC jz loc_ret_813 ; Jump if zero 3BBB:43F2 B1 04 mov cl,4 3BBB:43F4 E8 E618 call sub_106 ; (2A0F) 3BBB:43F7 E9 EE6A jmp loc_588 ; (3264) sub_265 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:4C13, 4C1C ;========================================================================== 3BBB:43FA sub_268 proc near 3BBB:43FA E8 E805 call sub_126 ; (2C02) 3BBB:43FD 03 D9 add bx,cx 3BBB:43FF B8 2957 mov ax,2957h 3BBB:4402 50 push ax 3BBB:4403 EB DF jmp short loc_817 ; (43E4) sub_268 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:3E0B, 4B50 ;========================================================================== 3BBB:4405 sub_269 proc near 3BBB:4405 B1 20 mov cl,20h ; ' ' 3BBB:4407 E8 FFC0 call sub_264 ; (43CA) 3BBB:440A 75 A2 jnz loc_ret_813 ; Jump if not zero 3BBB:440C F6 06 0777 40 test byte ptr ds:[777h],40h ; (3BBB:0777=0F8h) '@' 3BBB:4411 75 9B jnz loc_ret_813 ; Jump if not zero 3BBB:4413 8A 26 0775 mov ah,byte ptr ds:[775h] ; (3BBB:0775=0F0h) 3BBB:4417 A0 0777 mov al,byte ptr ds:[777h] ; (3BBB:0777=0F8h) 3BBB:441A 50 push ax 3BBB:441B E8 F2C0 call sub_197 ; (36DE) 3BBB:441E 74 03 jz loc_818 ; Jump if zero 3BBB:4420 E8 FFB8 call sub_266 ; (43DB) 3BBB:4423 loc_818: ; xref 3BBB:441E 3BBB:4423 C6 06 05D1 00 mov byte ptr ds:[5D1h],0 ; (3BBB:05D1=0BFh) 3BBB:4428 58 pop ax 3BBB:4429 88 26 0775 mov byte ptr ds:[775h],ah ; (3BBB:0775=0F0h) 3BBB:442D A2 0777 mov byte ptr ds:[777h],al ; (3BBB:0777=0F8h) 3BBB:4430 C3 retn sub_269 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:5494 ;========================================================================== 3BBB:4431 sub_270 proc near 3BBB:4431 FA cli ; Disable interrupts 3BBB:4432 8B 1E 0194 mov bx,data_247 ; (3BBB:0194=504h) 3BBB:4436 0B DB or bx,bx ; Zero ? 3BBB:4438 74 06 jz loc_819 ; Jump if zero 3BBB:443A 8B 37 mov si,[bx] 3BBB:443C 89 36 0194 mov data_247,si ; (3BBB:0194=504h) 3BBB:4440 loc_819: ; xref 3BBB:4438 3BBB:4440 FB sti ; Enable interrupts 3BBB:4441 C3 retn sub_270 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:489A ;========================================================================== 3BBB:4442 sub_271 proc near 3BBB:4442 8B D3 mov dx,bx 3BBB:4444 B9 0003 mov cx,3 3BBB:4447 locloop_820: ; xref 3BBB:4461 3BBB:4447 D1 E3 shl bx,1 ; Shift w/zeros fill 3BBB:4449 73 16 jnc loc_821 ; Jump if carry=0 3BBB:444B 51 push cx 3BBB:444C 53 push bx 3BBB:444D 8A C1 mov al,cl 3BBB:444F 04 0C add al,0Ch 3BBB:4451 B1 FF mov cl,0FFh 3BBB:4453 E8 FC87 call sub_241 ; (40DD) 3BBB:4456 8A C8 mov cl,al 3BBB:4458 B8 0001 mov ax,1 3BBB:445B D3 E0 shl ax,cl ; Shift w/zeros fill 3BBB:445D 0B D0 or dx,ax 3BBB:445F 5B pop bx 3BBB:4460 59 pop cx 3BBB:4461 loc_821: ; xref 3BBB:4449 3BBB:4461 E2 E4 loop locloop_820 ; Loop if cx > 0 3BBB:4463 81 E2 1FFF and dx,1FFFh 3BBB:4467 8B DA mov bx,dx 3BBB:4469 C3 retn sub_271 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:448B, 4983 ;========================================================================== 3BBB:446A sub_272 proc near 3BBB:446A 33 C0 xor ax,ax ; Zero register 3BBB:446C 06 push es 3BBB:446D 8E 06 004A mov es,data_191 ; (3BBB:004A=0) 3BBB:4471 loc_822: ; xref 3BBB:4487 3BBB:4471 26: 80 3E 0004 02 cmp byte ptr es:data_4e,2 ; (0000:0004=29h) 3BBB:4477 74 05 je loc_823 ; Jump if equal 3BBB:4479 26: 0B 06 006E or ax,es:data_22e ; (0000:006E=4FEh) 3BBB:447E loc_823: ; xref 3BBB:4477 3BBB:447E 26: 8B 0E 0002 mov cx,es:data_3e ; (0000:0002=144Bh) 3BBB:4483 8E C1 mov es,cx 3BBB:4485 0B C9 or cx,cx ; Zero ? 3BBB:4487 75 E8 jnz loc_822 ; Jump if not zero 3BBB:4489 07 pop es 3BBB:448A C3 retn sub_272 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:4A5C, 4A93 ;========================================================================== 3BBB:448B sub_273 proc near 3BBB:448B E8 FFDC call sub_272 ; (446A) 3BBB:448E F7 D0 not ax 3BBB:4490 8B D0 mov dx,ax 3BBB:4492 E9 E762 jmp loc_492 ; (2BF7) sub_273 endp ;* No entry point to code 3BBB:4495 E8 E7BA call sub_137 ; (2C52) 3BBB:4498 B1 00 mov cl,0 3BBB:449A E9 EC82 jmp loc_573 ; (311F) ;* No entry point to code 3BBB:449D B8 FFFF mov ax,0FFFFh 3BBB:44A0 A3 0622 mov word ptr ds:[622h],ax ; (3BBB:0622=13h) 3BBB:44A3 E8 04DD call sub_278 ; (4983) 3BBB:44A6 32 C0 xor al,al ; Zero register 3BBB:44A8 E8 001A call sub_274 ; (44C5) 3BBB:44AB FE C8 dec al 3BBB:44AD A2 0646 mov byte ptr ds:[646h],al ; (3BBB:0646=0C4h) 3BBB:44B0 1E push ds 3BBB:44B1 8E 1E 004E mov ds,data_193 ; (3BBB:004E=0) 3BBB:44B5 C7 06 0038 0080 mov word ptr ds:data_17e,80h ; (0000:0038=4Ah) 3BBB:44BB 1F pop ds 3BBB:44BC E9 0571 jmp loc_898 ; (4A30) ;* No entry point to code 3BBB:44BF E8 FBBB call sub_238 ; (407D) 3BBB:44C2 A0 0694 mov al,byte ptr ds:[694h] ; (3BBB:0694=4Eh) ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:44A8 ;========================================================================== 3BBB:44C5 sub_274 proc near 3BBB:44C5 1E push ds 3BBB:44C6 8E 1E 004E mov ds,data_193 ; (3BBB:004E=0) 3BBB:44CA A2 0036 mov ds:data_16e,al ; (0000:0036=7Ch) 3BBB:44CD 1F pop ds 3BBB:44CE loc_ret_824: ; xref 3BBB:44EF 3BBB:44CE C3 retn sub_274 endp ;* No entry point to code 3BBB:44CF E8 FD39 call sub_246 ; (420B) 3BBB:44D2 E8 E759 call sub_132 ; (2C2E) 3BBB:44D5 80 3E 0676 00 cmp byte ptr ds:[676h],0 ; (3BBB:0676=45h) 3BBB:44DA 74 03 je loc_825 ; Jump if equal 3BBB:44DC E9 0E9E jmp loc_1010 ; (537D) 3BBB:44DF loc_825: ; xref 3BBB:44DA 3BBB:44DF F6 06 05E0 FF test byte ptr ds:[5E0h],0FFh ; (3BBB:05E0=0C3h) 3BBB:44E4 74 12 jz loc_826 ; Jump if zero 3BBB:44E6 E8 0EC6 call sub_304 ; (53AF) 3BBB:44E9 81 3E 05D1 00FF cmp word ptr ds:[5D1h],0FFh ; (3BBB:05D1=5BBFh) 3BBB:44EF 75 DD jne loc_ret_824 ; Jump if not equal 3BBB:44F1 C7 06 05D1 00FF mov word ptr ds:[5D1h],0FFh ; (3BBB:05D1=5BBFh) 3BBB:44F7 C3 retn 3BBB:44F8 loc_826: ; xref 3BBB:44E4 3BBB:44F8 E8 EFDC call sub_185 ; (34D7) 3BBB:44FB 80 3E 0627 00 cmp byte ptr ds:[627h],0 ; (3BBB:0627=0FDh) 3BBB:4500 74 0A je loc_827 ; Jump if equal 3BBB:4502 B0 FE mov al,0FEh 3BBB:4504 A2 05DA mov byte ptr ds:[5DAh],al ; (3BBB:05DA=1Eh) 3BBB:4507 FE C0 inc al 3BBB:4509 A2 05D6 mov byte ptr ds:[5D6h],al ; (3BBB:05D6=0B9h) 3BBB:450C loc_827: ; xref 3BBB:4500 3BBB:450C E8 F408 call sub_216 ; (3917) 3BBB:450F E8 002E call sub_275 ; (4540) 3BBB:4512 32 C0 xor al,al ; Zero register 3BBB:4514 86 06 05D6 xchg byte ptr ds:[5D6h],al ; (3BBB:05D6=0B9h) 3BBB:4518 84 C0 test al,al 3BBB:451A 75 01 jnz loc_829 ; Jump if not zero 3BBB:451C loc_ret_828: ; xref 3BBB:4522, 4543 3BBB:451C C3 retn 3BBB:451D loc_829: ; xref 3BBB:451A 3BBB:451D 80 3E 05DA FE cmp byte ptr ds:[5DAh],0FEh ; (3BBB:05DA=1Eh) 3BBB:4522 74 F8 je loc_ret_828 ; Jump if equal 3BBB:4524 E8 E73F call sub_139 ; (2C66) 3BBB:4527 C6 06 0644 60 mov byte ptr ds:[644h],60h ; (3BBB:0644=8Bh) '`' 3BBB:452C 32 C0 xor al,al ; Zero register 3BBB:452E A2 0769 mov byte ptr ds:[769h],al ; (3BBB:0769=0D8h) 3BBB:4531 B1 0F mov cl,0Fh 3BBB:4533 E8 F194 call sub_195 ; (36CA) 3BBB:4536 E8 F1B9 call sub_202 ; (36F2) 3BBB:4539 E8 F3DE call sub_217 ; (391A) 3BBB:453C E8 0001 call sub_275 ; (4540) 3BBB:453F C3 retn ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:450F, 453C ;========================================================================== 3BBB:4540 sub_275 proc near 3BBB:4540 E8 E70F call sub_137 ; (2C52) 3BBB:4543 74 D7 jz loc_ret_828 ; Jump if zero 3BBB:4545 ,BB 0789 mov bx,offset data_514 ; (3BBB:0789=0FBh) 3BBB:4548 80 3F FF cmp byte ptr [bx],0FFh 3BBB:454B 75 05 jne loc_830 ; Jump if not equal 3BBB:454D A0 0776 mov al,byte ptr ds:[776h] ; (3BBB:0776=8Bh) 3BBB:4550 88 07 mov [bx],al 3BBB:4552 loc_830: ; xref 3BBB:454B 3BBB:4552 5B pop bx 3BBB:4553 A0 0644 mov al,byte ptr ds:[644h] ; (3BBB:0644=8Bh) 3BBB:4556 3C 60 cmp al,60h ; '`' 3BBB:4558 75 0D jne loc_831 ; Jump if not equal 3BBB:455A A0 0773 mov al,byte ptr ds:[773h] ; (3BBB:0773=0D0h) 3BBB:455D 24 80 and al,80h 3BBB:455F 75 06 jnz loc_831 ; Jump if not zero 3BBB:4561 A2 0644 mov byte ptr ds:[644h],al ; (3BBB:0644=8Bh) 3BBB:4564 E9 F1E7 jmp loc_649 ; (374E) 3BBB:4567 loc_831: ; xref 3BBB:4558, 455F 3BBB:4567 E8 E671 call sub_121 ; (2BDB) 3BBB:456A E8 FCB2 call sub_248 ; (421F) 3BBB:456D A8 80 test al,80h 3BBB:456F 74 5C jz loc_837 ; Jump if zero 3BBB:4571 E8 FE3B call sub_262 ; (43AF) 3BBB:4574 75 2C jnz loc_832 ; Jump if not zero 3BBB:4576 E8 FE0B call sub_260 ; (4384) 3BBB:4579 0A C0 or al,al ; Zero ? 3BBB:457B 75 25 jnz loc_832 ; Jump if not zero 3BBB:457D F6 07 C0 test byte ptr [bx],0C0h 3BBB:4580 74 4B jz loc_837 ; Jump if zero 3BBB:4582 E8 F280 call sub_207 ; (3805) 3BBB:4585 E8 FC9E call sub_249 ; (4226) 3BBB:4588 75 22 jnz loc_833 ; Jump if not zero 3BBB:458A E8 F27F call sub_208 ; (380C) 3BBB:458D 74 3D jz loc_ret_836 ; Jump if zero 3BBB:458F E8 FDF4 call sub_261 ; (4386) 3BBB:4592 0A C0 or al,al ; Zero ? 3BBB:4594 75 37 jnz loc_837 ; Jump if not zero 3BBB:4596 88 07 mov [bx],al 3BBB:4598 E8 E658 call sub_124 ; (2BF3) 3BBB:459B 75 30 jnz loc_837 ; Jump if not zero 3BBB:459D E8 ECC4 call sub_168 ; (3264) 3BBB:45A0 EB 2B jmp short loc_837 ; (45CD) 3BBB:45A2 loc_832: ; xref 3BBB:4574, 457B 3BBB:45A2 E8 F260 call sub_207 ; (3805) 3BBB:45A5 E8 FC7E call sub_249 ; (4226) 3BBB:45A8 24 C0 and al,0C0h 3BBB:45AA 74 1B jz loc_835 ; Jump if zero 3BBB:45AC loc_833: ; xref 3BBB:4588 3BBB:45AC E8 FD5E call sub_256 ; (430D) 3BBB:45AF 74 16 jz loc_835 ; Jump if zero 3BBB:45B1 E8 FCBF call sub_253 ; (4273) 3BBB:45B4 A0 068B mov al,byte ptr ds:[68Bh] ; (3BBB:068B=5Dh) 3BBB:45B7 24 C0 and al,0C0h 3BBB:45B9 74 0C jz loc_835 ; Jump if zero 3BBB:45BB A8 80 test al,80h 3BBB:45BD 74 03 jz loc_834 ; Jump if zero 3BBB:45BF E9 FD17 jmp loc_800 ; (42D9) 3BBB:45C2 loc_834: ; xref 3BBB:45BD 3BBB:45C2 C6 06 0645 80 mov byte ptr ds:[645h],80h ; (3BBB:0645=0F7h) 3BBB:45C7 loc_835: ; xref 3BBB:45AA, 45AF, 45B9 3BBB:45C7 E8 F242 call sub_208 ; (380C) 3BBB:45CA 75 01 jnz loc_837 ; Jump if not zero 3BBB:45CC loc_ret_836: ; xref 3BBB:458D 3BBB:45CC C3 retn 3BBB:45CD loc_837: ; xref 3BBB:456F, 4580, 4594, 459B ; 45A0, 45CA, 553F, 5718 3BBB:45CD ,E8 E60B call sub_121 ; (2BDB) 3BBB:45D0 C6 06 05D5 FF mov byte ptr ds:[5D5h],0FFh ; (3BBB:05D5=20h) 3BBB:45D5 B1 40 mov cl,40h ; '@' sub_275 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:47F9 ;========================================================================== 3BBB:45D7 sub_276 proc near 3BBB:45D7 E8 FDEB call sub_263 ; (43C5) 3BBB:45DA 75 3C jnz loc_ret_841 ; Jump if not zero 3BBB:45DC E9 FDF8 jmp loc_815 ; (43D7) ;* No entry point to code 3BBB:45DF 80 3E 0676 00 cmp byte ptr ds:[676h],0 ; (3BBB:0676=45h) 3BBB:45E4 74 0A je loc_838 ; Jump if equal 3BBB:45E6 F6 06 05E0 FF test byte ptr ds:[5E0h],0FFh ; (3BBB:05E0=0C3h) 3BBB:45EB 74 03 jz loc_838 ; Jump if zero 3BBB:45ED E9 0F6D jmp loc_1038 ; (555D) 3BBB:45F0 loc_838: ; xref 3BBB:45E4, 45EB 3BBB:45F0 80 3E 0676 00 cmp byte ptr ds:[676h],0 ; (3BBB:0676=45h) 3BBB:45F5 74 03 je loc_839 ; Jump if equal 3BBB:45F7 E9 0F63 jmp loc_1038 ; (555D) 3BBB:45FA loc_839: ; xref 3BBB:45F5 3BBB:45FA F6 06 05E0 FF test byte ptr ds:[5E0h],0FFh ; (3BBB:05E0=0C3h) 3BBB:45FF 74 07 jz loc_840 ; Jump if zero 3BBB:4601 C7 06 05D1 0000 mov word ptr ds:[5D1h],0 ; (3BBB:05D1=5BBFh) 3BBB:4607 C3 retn 3BBB:4608 loc_840: ; xref 3BBB:45FF 3BBB:4608 E8 E5D0 call sub_121 ; (2BDB) 3BBB:460B E8 E5A2 call sub_119 ; (2BB0) 3BBB:460E E8 F41F call sub_224 ; (3A30) 3BBB:4611 80 3E 05D1 FF cmp byte ptr ds:[5D1h],0FFh ; (3BBB:05D1=0BFh) 3BBB:4616 75 01 jne loc_842 ; Jump if not equal 3BBB:4618 loc_ret_841: ; xref 3BBB:45DA 3BBB:4618 C3 retn 3BBB:4619 loc_842: ; xref 3BBB:4616 3BBB:4619 E8 048B call sub_279 ; (4AA7) 3BBB:461C loc_ret_843: ; xref 3BBB:55AD 3BBB:461C ,C3 retn sub_276 endp ;* No entry point to code 3BBB:461D A1 0628 mov ax,word ptr ds:[628h] ; (3BBB:0628=2607h) 3BBB:4620 A3 0634 mov word ptr ds:[634h],ax ; (3BBB:0634=1E06h) 3BBB:4623 A1 0622 mov ax,word ptr ds:[622h] ; (3BBB:0622=13h) 3BBB:4626 A3 0632 mov word ptr ds:[632h],ax ; (3BBB:0632=0A7h) 3BBB:4629 32 C0 xor al,al ; Zero register 3BBB:462B loc_844: ; xref 3BBB:46CA 3BBB:462B ,9C pushf ; Push flags 3BBB:462C 80 3E 0769 3F cmp byte ptr ds:[769h],3Fh ; (3BBB:0769=0D8h) '?' 3BBB:4631 75 0A jne loc_845 ; Jump if not equal 3BBB:4633 E8 FA4B call sub_239 ; (4081) 3BBB:4636 E8 FB37 call sub_244 ; (4170) 3BBB:4639 32 C9 xor cl,cl ; Zero register 3BBB:463B EB 15 jmp short loc_846 ; (4652) 3BBB:463D loc_845: ; xref 3BBB:4631 3BBB:463D E8 FAE0 call sub_242 ; (4120) 3BBB:4640 B1 0C mov cl,0Ch 3BBB:4642 ,BB 0775 mov bx,775h ; (3BBB:0775=0F0h) 3BBB:4645 80 3F 3F cmp byte ptr [bx],3Fh ; '?' 3BBB:4648 74 08 je loc_846 ; Jump if equal 3BBB:464A E8 E5E7 call sub_133 ; (2C34) 3BBB:464D E8 E5DE call sub_132 ; (2C2E) 3BBB:4650 B1 0F mov cl,0Fh 3BBB:4652 loc_846: ; xref 3BBB:463B, 4648 3BBB:4652 80 0E 05D4 0F or byte ptr ds:[5D4h],0Fh ; (3BBB:05D4=0B0h) 3BBB:4657 80 3E 0676 00 cmp byte ptr ds:[676h],0 ; (3BBB:0676=45h) 3BBB:465C 74 03 je loc_847 ; Jump if equal 3BBB:465E E9 0826 jmp loc_950 ; (4E87) 3BBB:4661 loc_847: ; xref 3BBB:465C 3BBB:4661 0E E8 DFF8 callf sub_93 ; (265D) 3BBB:4665 75 05 jnz loc_848 ; Jump if not zero 3BBB:4667 E8 F082 call sub_200 ; (36EC) 3BBB:466A EB 0A jmp short loc_849 ; (4676) 3BBB:466C loc_848: ; xref 3BBB:4665 3BBB:466C 8A 0E 0631 mov cl,byte ptr ds:[631h] ; (3BBB:0631=0E9h) 3BBB:4670 E8 F057 call sub_195 ; (36CA) 3BBB:4673 E8 F07C call sub_202 ; (36F2) 3BBB:4676 loc_849: ; xref 3BBB:466A 3BBB:4676 80 3E 05D1 FF cmp byte ptr ds:[5D1h],0FFh ; (3BBB:05D1=0BFh) 3BBB:467B 74 1B je loc_ret_850 ; Jump if equal 3BBB:467D A1 0636 mov ax,word ptr ds:[636h] ; (3BBB:0636=8A26h) 3BBB:4680 24 03 and al,3 3BBB:4682 A2 05D1 mov byte ptr ds:[5D1h],al ; (3BBB:05D1=0BFh) 3BBB:4685 8B 16 064B mov dx,word ptr ds:[64Bh] ; (3BBB:064B=447h) 3BBB:4689 8B 1E 062C mov bx,word ptr ds:[62Ch] ; (3BBB:062C=3Ch) 3BBB:468D B1 80 mov cl,80h 3BBB:468F 06 push es 3BBB:4690 8E 06 062E mov es,word ptr ds:[62Eh] ; (3BBB:062E=7493h) 3BBB:4694 E8 E378 call sub_106 ; (2A0F) 3BBB:4697 07 pop es 3BBB:4698 loc_ret_850: ; xref 3BBB:467B 3BBB:4698 C3 retn 3BBB:4699 A1 34 06 0B 06 32 db 0A1h, 34h, 06h, 0Bh, 06h, 32h 3BBB:469F 06 74 F6 A1 34 06 db 06h, 74h,0F6h,0A1h, 34h, 06h 3BBB:46A5 A3 28 06 A1 32 06 db 0A3h, 28h, 06h,0A1h, 32h, 06h 3BBB:46AB A3 22 06 E8 6B E2 db 0A3h, 22h, 06h,0E8h, 6Bh,0E2h 3BBB:46B1 C7 06 24 06 69 07 db 0C7h, 06h, 24h, 06h, 69h, 07h 3BBB:46B7 F6 06 69 07 80 74 db 0F6h, 06h, 69h, 07h, 80h, 74h 3BBB:46BD 0A 80 26 69 07 3F db 0Ah, 80h, 26h, 69h, 07h, 3Fh 3BBB:46C3 C6 06 E0 05 FF db 0C6h, 06h,0E0h, 05h,0FFh 3BBB:46C8 loc_851: 3BBB:46C8 0C 01 or al,1 3BBB:46CA E9 FF5E jmp loc_844 ; (462B) ;* No entry point to code 3BBB:46CD E8 FB3B call sub_246 ; (420B) 3BBB:46D0 80 3E 0676 00 cmp byte ptr ds:[676h],0 ; (3BBB:0676=45h) 3BBB:46D5 74 03 je loc_852 ; Jump if equal 3BBB:46D7 E9 104A jmp loc_1060 ; (5724) 3BBB:46DA loc_852: ; xref 3BBB:46D5 3BBB:46DA F6 06 05E0 FF test byte ptr ds:[5E0h],0FFh ; (3BBB:05E0=0C3h) 3BBB:46DF 74 07 jz loc_853 ; Jump if zero 3BBB:46E1 C7 06 05D1 00FF mov word ptr ds:[5D1h],0FFh ; (3BBB:05D1=5BBFh) 3BBB:46E7 C3 retn 3BBB:46E8 loc_853: ; xref 3BBB:46DF 3BBB:46E8 E9 F12C jmp loc_662 ; (3817) ;* No entry point to code 3BBB:46EB E8 E4D9 call sub_120 ; (2BC7) 3BBB:46EE 80 3E 0676 00 cmp byte ptr ds:[676h],0 ; (3BBB:0676=45h) 3BBB:46F3 74 05 je loc_854 ; Jump if equal 3BBB:46F5 B1 01 mov cl,1 3BBB:46F7 E9 14A3 jmp loc_1145 ; (5B9D) 3BBB:46FA loc_854: ; xref 3BBB:46F3 3BBB:46FA E9 F671 jmp loc_735 ; (3D6E) ;* No entry point to code 3BBB:46FD E8 E4C7 call sub_120 ; (2BC7) 3BBB:4700 80 3E 0676 00 cmp byte ptr ds:[676h],0 ; (3BBB:0676=45h) 3BBB:4705 74 05 je loc_855 ; Jump if equal 3BBB:4707 B1 00 mov cl,0 3BBB:4709 E9 1491 jmp loc_1145 ; (5B9D) 3BBB:470C loc_855: ; xref 3BBB:4705 3BBB:470C E9 F6D2 jmp loc_741 ; (3DE1) ;* No entry point to code 3BBB:470F B1 09 mov cl,9 3BBB:4711 E8 FAF9 call sub_247 ; (420D) 3BBB:4714 E8 E51D call sub_133 ; (2C34) 3BBB:4717 E8 E514 call sub_132 ; (2C2E) 3BBB:471A E8 FA03 call sub_242 ; (4120) 3BBB:471D B2 01 mov dl,1 3BBB:471F E8 EDB7 call sub_186 ; (34D9) 3BBB:4722 C7 06 05D9 FFFF mov word ptr ds:[5D9h],0FFFFh ; (3BBB:05D9=1E06h) 3BBB:4728 80 3E 0676 00 cmp byte ptr ds:[676h],0 ; (3BBB:0676=45h) 3BBB:472D 74 03 je loc_856 ; Jump if equal 3BBB:472F E9 0E7E jmp loc_1045 ; (55B0) 3BBB:4732 loc_856: ; xref 3BBB:472D 3BBB:4732 F6 06 05E0 FF test byte ptr ds:[5E0h],0FFh ; (3BBB:05E0=0C3h) 3BBB:4737 74 07 jz loc_857 ; Jump if zero 3BBB:4739 C7 06 05D1 00FF mov word ptr ds:[5D1h],0FFh ; (3BBB:05D1=5BBFh) 3BBB:473F C3 retn 3BBB:4740 loc_857: ; xref 3BBB:4737 3BBB:4740 E8 E392 call sub_113 ; (2AD5) 3BBB:4743 E8 F1D1 call sub_216 ; (3917) 3BBB:4746 E8 E509 call sub_137 ; (2C52) 3BBB:4749 74 0C jz loc_858 ; Jump if zero 3BBB:474B E8 E3A2 call sub_114 ; (2AF0) 3BBB:474E 3A 07 cmp al,[bx] 3BBB:4750 72 05 jb loc_858 ; Jump if below 3BBB:4752 B4 08 mov ah,8 3BBB:4754 E9 E281 jmp loc_467 ; (29D8) 3BBB:4757 loc_858: ; xref 3BBB:4749, 4750 3BBB:4757 9C pushf ; Push flags 3BBB:4758 E8 00B1 call sub_277 ; (480C) 3BBB:475B E8 FC51 call sub_262 ; (43AF) 3BBB:475E 74 20 jz loc_859 ; Jump if zero 3BBB:4760 E8 FABC call sub_248 ; (421F) 3BBB:4763 24 80 and al,80h 3BBB:4765 74 19 jz loc_859 ; Jump if zero 3BBB:4767 E8 FABC call sub_249 ; (4226) 3BBB:476A 24 C0 and al,0C0h 3BBB:476C 74 12 jz loc_859 ; Jump if zero 3BBB:476E E8 FBDD call sub_258 ; (434E) 3BBB:4771 74 0D jz loc_859 ; Jump if zero 3BBB:4773 E8 FAFD call sub_253 ; (4273) 3BBB:4776 F6 06 068B C0 test byte ptr ds:[68Bh],0C0h ; (3BBB:068B=5Dh) 3BBB:477B 74 03 jz loc_859 ; Jump if zero 3BBB:477D E9 FB59 jmp loc_800 ; (42D9) 3BBB:4780 loc_859: ; xref 3BBB:475E, 4765, 476C, 4771 ; 477B 3BBB:4780 0E E8 DED9 callf sub_93 ; (265D) 3BBB:4784 72 03 jc loc_860 ; Jump if carry Set 3BBB:4786 E8 F2DF call sub_225 ; (3A68) 3BBB:4789 loc_860: ; xref 3BBB:4784 3BBB:4789 E8 E4C6 call sub_137 ; (2C52) 3BBB:478C 75 01 jnz loc_862 ; Jump if not zero 3BBB:478E loc_ret_861: ; xref 3BBB:47E6 3BBB:478E C3 retn 3BBB:478F loc_862: ; xref 3BBB:478C 3BBB:478F E8 E449 call sub_121 ; (2BDB) 3BBB:4792 E8 FA8A call sub_248 ; (421F) 3BBB:4795 A8 80 test al,80h 3BBB:4797 74 5E jz loc_865 ; Jump if zero 3BBB:4799 F6 06 068C 40 test byte ptr ds:[68Ch],40h ; (3BBB:068C=4) '@' 3BBB:479E 74 57 jz loc_865 ; Jump if zero 3BBB:47A0 E8 FC0C call sub_262 ; (43AF) 3BBB:47A3 75 52 jnz loc_865 ; Jump if not zero 3BBB:47A5 E8 F05D call sub_207 ; (3805) 3BBB:47A8 E8 FA7B call sub_249 ; (4226) 3BBB:47AB 75 13 jnz loc_863 ; Jump if not zero 3BBB:47AD C6 06 05D7 FF mov byte ptr ds:[5D7h],0FFh ; (3BBB:05D7=0Bh) 3BBB:47B2 E8 F2B3 call sub_225 ; (3A68) 3BBB:47B5 75 09 jnz loc_863 ; Jump if not zero 3BBB:47B7 E8 EF2C call sub_198 ; (36E6) 3BBB:47BA E8 F0A4 call sub_209 ; (3861) 3BBB:47BD E9 EF8E jmp loc_649 ; (374E) 3BBB:47C0 loc_863: ; xref 3BBB:47AB, 47B5 3BBB:47C0 E8 FA8A call sub_251 ; (424D) 3BBB:47C3 ,BE 0677 mov si,677h ; (3BBB:0677=6) 3BBB:47C6 83 C6 08 add si,8 3BBB:47C9 AC lodsb ; String [si] to al 3BBB:47CA 24 E0 and al,0E0h 3BBB:47CC 75 02 jnz loc_864 ; Jump if not zero 3BBB:47CE B0 80 mov al,80h 3BBB:47D0 loc_864: ; xref 3BBB:47CC 3BBB:47D0 A2 068B mov byte ptr ds:[68Bh],al ; (3BBB:068B=5Dh) 3BBB:47D3 50 push ax 3BBB:47D4 E8 FA67 call sub_250 ; (423E) 3BBB:47D7 58 pop ax 3BBB:47D8 88 07 mov [bx],al 3BBB:47DA ,BE 0677 mov si,677h ; (3BBB:0677=6) 3BBB:47DD E8 FB74 call sub_259 ; (4354) 3BBB:47E0 E8 0464 call sub_283 ; (4C47) 3BBB:47E3 E8 F026 call sub_208 ; (380C) 3BBB:47E6 74 A6 jz loc_ret_861 ; Jump if zero 3BBB:47E8 E8 FB99 call sub_260 ; (4384) 3BBB:47EB 0A C0 or al,al ; Zero ? 3BBB:47ED 75 08 jnz loc_865 ; Jump if not zero 3BBB:47EF A0 068B mov al,byte ptr ds:[68Bh] ; (3BBB:068B=5Dh) 3BBB:47F2 88 07 mov [bx],al 3BBB:47F4 E8 EA6D call sub_168 ; (3264) 3BBB:47F7 loc_865: ; xref 3BBB:4797, 479E, 47A3, 47ED 3BBB:47F7 B1 50 mov cl,50h ; 'P' 3BBB:47F9 E8 FDDB call sub_276 ; (45D7) 3BBB:47FC B1 20 mov cl,20h ; ' ' 3BBB:47FE E8 FBC4 call sub_263 ; (43C5) 3BBB:4801 75 08 jnz loc_ret_866 ; Jump if not zero 3BBB:4803 E8 FBD5 call sub_266 ; (43DB) 3BBB:4806 80 0E 0777 40 or byte ptr ds:[777h],40h ; (3BBB:0777=0F8h) '@' 3BBB:480B loc_ret_866: ; xref 3BBB:4801 3BBB:480B C3 retn ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:4758 ;========================================================================== 3BBB:480C sub_277 proc near 3BBB:480C C3 retn sub_277 endp ;* No entry point to code 3BBB:480D E8 F9FB call sub_246 ; (420B) 3BBB:4810 E8 ECC4 call sub_185 ; (34D7) 3BBB:4813 80 3E 0676 00 cmp byte ptr ds:[676h],0 ; (3BBB:0676=45h) 3BBB:4818 74 03 je loc_867 ; Jump if equal 3BBB:481A E9 1081 jmp loc_1090 ; (589E) 3BBB:481D loc_867: ; xref 3BBB:4818 3BBB:481D E8 FAE1 call sub_255 ; (4301) 3BBB:4820 74 03 jz loc_868 ; Jump if zero 3BBB:4822 E8 FA4E call sub_253 ; (4273) 3BBB:4825 loc_868: ; xref 3BBB:4820 3BBB:4825 E8 EFB4 call sub_204 ; (37DC) 3BBB:4828 E8 F0E3 call sub_215 ; (390E) 3BBB:482B 89 1E 0624 mov word ptr ds:[624h],bx ; (3BBB:0624=0E801h) 3BBB:482F B2 01 mov dl,1 3BBB:4831 E8 EC85 call sub_184 ; (34B9) 3BBB:4834 B4 09 mov ah,9 3BBB:4836 74 0C jz loc_869 ; Jump if zero 3BBB:4838 B1 0C mov cl,0Ch 3BBB:483A E8 EE94 call sub_196 ; (36D1) 3BBB:483D E8 EEAF call sub_201 ; (36EF) 3BBB:4840 74 0F jz loc_870 ; Jump if zero 3BBB:4842 B4 08 mov ah,8 3BBB:4844 loc_869: ; xref 3BBB:4836 3BBB:4844 C6 06 05D0 00 mov byte ptr ds:[5D0h],0 ; (3BBB:05D0=8) 3BBB:4849 83 06 0622 10 add word ptr ds:[622h],10h ; (3BBB:0622=13h) 3BBB:484E E9 E187 jmp loc_467 ; (29D8) 3BBB:4851 loc_870: ; xref 3BBB:4840 3BBB:4851 E8 EF93 call sub_206 ; (37E7) 3BBB:4854 74 03 jz loc_871 ; Jump if zero 3BBB:4856 E8 F00D call sub_210 ; (3866) 3BBB:4859 loc_871: ; xref 3BBB:4854 3BBB:4859 E8 F0B2 call sub_215 ; (390E) 3BBB:485C E8 EF7D call sub_204 ; (37DC) 3BBB:485F E8 EE88 call sub_199 ; (36EA) 3BBB:4862 75 01 jnz loc_872 ; Jump if not zero 3BBB:4864 C3 retn 3BBB:4865 loc_872: ; xref 3BBB:4862 3BBB:4865 E8 E3AD call sub_128 ; (2C15) 3BBB:4868 loc_873: ; xref 3BBB:4875, 4882 3BBB:4868 ,B1 10 mov cl,10h 3BBB:486A B2 0C mov dl,0Ch 3BBB:486C E8 F080 call sub_213 ; (38EF) 3BBB:486F E8 EE13 call sub_192 ; (3685) 3BBB:4872 E8 EE7D call sub_202 ; (36F2) 3BBB:4875 75 F1 jnz loc_873 ; Jump if not zero 3BBB:4877 E8 EF6D call sub_206 ; (37E7) 3BBB:487A 75 03 jnz loc_874 ; Jump if not zero 3BBB:487C E9 EC32 jmp loc_616 ; (34B1) 3BBB:487F loc_874: ; xref 3BBB:487A 3BBB:487F E8 F08C call sub_215 ; (390E) 3BBB:4882 EB E4 jmp short loc_873 ; (4868) ;* No entry point to code 3BBB:4884 E8 F7FA call sub_239 ; (4081) 3BBB:4887 8C 1E 062A mov word ptr ds:[62Ah],ds ; (3BBB:062A=3E80h) 3BBB:488B 8B 1E 0651 mov bx,word ptr ds:[651h] ; (3BBB:0651=3574h) 3BBB:488F EB 74 jmp short loc_879 ; (4905) ;* No entry point to code 3BBB:4891 8A 0E 0626 mov cl,byte ptr ds:[626h] ; (3BBB:0626=91h) 3BBB:4895 ,BB 0001 mov bx,1 ; (3BBB:0001=11h) 3BBB:4898 D3 E3 shl bx,cl ; Shift w/zeros fill 3BBB:489A E8 FBA5 call sub_271 ; (4442) 3BBB:489D 09 1E 05CA or word ptr ds:[5CAh],bx ; (3BBB:05CA=0E801h) 3BBB:48A1 8B 16 066A mov dx,word ptr ds:[66Ah] ; (3BBB:066A=0C38Bh) 3BBB:48A5 42 inc dx 3BBB:48A6 8B 1E 0647 mov bx,word ptr ds:[647h] ; (3BBB:0647=45Ch) 3BBB:48AA 89 17 mov [bx],dx 3BBB:48AC C3 retn ;* No entry point to code 3BBB:48AD E8 F95B call sub_246 ; (420B) 3BBB:48B0 E8 EC24 call sub_185 ; (34D7) 3BBB:48B3 E8 F86A call sub_242 ; (4120) 3BBB:48B6 80 3E 0676 00 cmp byte ptr ds:[676h],0 ; (3BBB:0676=45h) 3BBB:48BB 74 03 je loc_875 ; Jump if equal 3BBB:48BD E9 1038 jmp loc_1097 ; (58F8) 3BBB:48C0 loc_875: ; xref 3BBB:48BB 3BBB:48C0 E8 FA3E call sub_255 ; (4301) 3BBB:48C3 74 03 jz loc_876 ; Jump if zero 3BBB:48C5 E8 F9AB call sub_253 ; (4273) 3BBB:48C8 loc_876: ; xref 3BBB:48C3 3BBB:48C8 E8 E20A call sub_113 ; (2AD5) 3BBB:48CB E8 EE1C call sub_199 ; (36EA) 3BBB:48CE 74 39 jz loc_ret_880 ; Jump if zero 3BBB:48D0 loc_877: ; xref 3BBB:48ED 3BBB:48D0 B1 00 mov cl,0 3BBB:48D2 B2 0C mov dl,0Ch 3BBB:48D4 E8 F00B call sub_212 ; (38E2) 3BBB:48D7 E8 E135 call sub_106 ; (2A0F) 3BBB:48DA F6 06 068C 40 test byte ptr ds:[68Ch],40h ; (3BBB:068C=4) '@' 3BBB:48DF 74 06 jz loc_878 ; Jump if zero 3BBB:48E1 A0 0789 mov al,data_514 ; (3BBB:0789=0FBh) 3BBB:48E4 88 47 0D mov [bx+0Dh],al 3BBB:48E7 loc_878: ; xref 3BBB:48DF 3BBB:48E7 E8 E97A call sub_168 ; (3264) 3BBB:48EA E8 EE05 call sub_202 ; (36F2) 3BBB:48ED 75 E1 jnz loc_877 ; Jump if not zero 3BBB:48EF E9 EBBF jmp loc_616 ; (34B1) ;* No entry point to code 3BBB:48F2 E8 F78C call sub_239 ; (4081) 3BBB:48F5 C6 06 05D4 F0 mov byte ptr ds:[5D4h],0F0h ; (3BBB:05D4=0B0h) 3BBB:48FA E8 F8C4 call sub_245 ; (41C1) 3BBB:48FD 8C 1E 062A mov word ptr ds:[62Ah],ds ; (3BBB:062A=3E80h) 3BBB:4901 8B 1E 064D mov bx,word ptr ds:[64Dh] ; (3BBB:064D=0B26h) 3BBB:4905 loc_879: ; xref 3BBB:488F 3BBB:4905 89 1E 05D1 mov word ptr ds:[5D1h],bx ; (3BBB:05D1=5BBFh) 3BBB:4909 loc_ret_880: ; xref 3BBB:48CE, 491E, 4937 3BBB:4909 C3 retn ;* No entry point to code 3BBB:490A E8 E2BA call sub_120 ; (2BC7) 3BBB:490D 80 3E 0676 00 cmp byte ptr ds:[676h],0 ; (3BBB:0676=45h) 3BBB:4912 74 05 je loc_881 ; Jump if equal 3BBB:4914 B1 03 mov cl,3 3BBB:4916 E9 1284 jmp loc_1145 ; (5B9D) 3BBB:4919 loc_881: ; xref 3BBB:4912 3BBB:4919 B1 FF mov cl,0FFh 3BBB:491B E8 F27C call sub_228 ; (3B9A) 3BBB:491E 75 E9 jnz loc_ret_880 ; Jump if not zero 3BBB:4920 E9 F44B jmp loc_735 ; (3D6E) ;* No entry point to code 3BBB:4923 E8 E2A1 call sub_120 ; (2BC7) 3BBB:4926 80 3E 0676 00 cmp byte ptr ds:[676h],0 ; (3BBB:0676=45h) 3BBB:492B 74 05 je loc_882 ; Jump if equal 3BBB:492D B1 02 mov cl,2 3BBB:492F E9 126B jmp loc_1145 ; (5B9D) 3BBB:4932 loc_882: ; xref 3BBB:492B 3BBB:4932 B1 00 mov cl,0 3BBB:4934 E8 F263 call sub_228 ; (3B9A) 3BBB:4937 75 D0 jnz loc_ret_880 ; Jump if not zero 3BBB:4939 E9 F4A5 jmp loc_741 ; (3DE1) ;* No entry point to code 3BBB:493C 80 3E 0676 00 cmp byte ptr ds:[676h],0 ; (3BBB:0676=45h) 3BBB:4941 74 03 je loc_883 ; Jump if equal 3BBB:4943 E9 1133 jmp loc_1124 ; (5A79) 3BBB:4946 loc_883: ; xref 3BBB:4941 3BBB:4946 ,BB 078A mov bx,offset data_515 ; (3BBB:078A=5Eh) 3BBB:4949 33 C0 xor ax,ax ; Zero register 3BBB:494B 89 07 mov [bx],ax 3BBB:494D 88 47 02 mov [bx+2],al 3BBB:4950 E8 ED97 call sub_199 ; (36EA) 3BBB:4953 74 1D jz loc_ret_886 ; Jump if zero 3BBB:4955 loc_884: ; xref 3BBB:4970 3BBB:4955 E8 E2AA call sub_126 ; (2C02) 3BBB:4958 BA 000F mov dx,0Fh 3BBB:495B E8 F5CB call sub_231 ; (3F29) 3BBB:495E E8 F5EC call sub_232 ; (3F4D) 3BBB:4961 72 05 jc loc_885 ; Jump if carry Set 3BBB:4963 88 47 02 mov [bx+2],al 3BBB:4966 89 0F mov [bx],cx 3BBB:4968 loc_885: ; xref 3BBB:4961 3BBB:4968 E8 ED87 call sub_202 ; (36F2) 3BBB:496B C6 06 05D1 00 mov byte ptr ds:[5D1h],0 ; (3BBB:05D1=0BFh) 3BBB:4970 75 E3 jnz loc_884 ; Jump if not zero 3BBB:4972 loc_ret_886: ; xref 3BBB:4953 3BBB:4972 C3 retn ;* No entry point to code 3BBB:4973 ,BB 0769 mov bx,769h ; (3BBB:0769=0D8h) 3BBB:4976 BA 0020 mov dx,20h 3BBB:4979 E8 F5AD call sub_231 ; (3F29) 3BBB:497C 89 4F 21 mov [bx+21h],cx 3BBB:497F 88 47 23 mov [bx+23h],al 3BBB:4982 C3 retn ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:44A3 ;========================================================================== 3BBB:4983 sub_278 proc near 3BBB:4983 E8 FAE4 call sub_272 ; (446A) 3BBB:4986 50 push ax 3BBB:4987 23 06 0622 and ax,word ptr ds:[622h] ; (3BBB:0622=13h) 3BBB:498B 74 24 jz loc_889 ; Jump if zero 3BBB:498D 23 06 05C4 and ax,word ptr ds:[5C4h] ; (3BBB:05C4=0AB00h) 3BBB:4991 B2 10 mov dl,10h 3BBB:4993 loc_887: ; xref 3BBB:49AF 3BBB:4993 FE CA dec dl 3BBB:4995 D1 E0 shl ax,1 ; Shift w/zeros fill 3BBB:4997 73 14 jnc loc_888 ; Jump if carry=0 3BBB:4999 50 push ax 3BBB:499A 52 push dx 3BBB:499B E8 F6DF call sub_238 ; (407D) 3BBB:499E 8B 1E 0649 mov bx,word ptr ds:[649h] ; (3BBB:0649=8B26h) 3BBB:49A2 C6 47 01 FF mov byte ptr [bx+1],0FFh 3BBB:49A6 C6 06 0F02 FF mov byte ptr ds:[0F02h],0FFh ; (3BBB:0F02=0F1h) 3BBB:49AB 5A pop dx 3BBB:49AC 58 pop ax 3BBB:49AD loc_888: ; xref 3BBB:4997 3BBB:49AD 0B C0 or ax,ax ; Zero ? 3BBB:49AF 75 E2 jnz loc_887 ; Jump if not zero 3BBB:49B1 loc_889: ; xref 3BBB:498B 3BBB:49B1 58 pop ax 3BBB:49B2 F7 D0 not ax 3BBB:49B4 23 06 0622 and ax,word ptr ds:[622h] ; (3BBB:0622=13h) 3BBB:49B8 loc_890: ; xref 3BBB:3314 3BBB:49B8 F7 D0 not ax 3BBB:49BA 21 06 05CC and word ptr ds:[5CCh],ax ; (3BBB:05CC=0FCFCh) 3BBB:49BE 21 06 05CA and word ptr ds:[5CAh],ax ; (3BBB:05CA=0E801h) 3BBB:49C2 21 06 05C4 and word ptr ds:[5C4h],ax ; (3BBB:05C4=0AB00h) 3BBB:49C6 C6 06 0646 FF mov byte ptr ds:[646h],0FFh ; (3BBB:0646=0C4h) 3BBB:49CB C3 retn sub_278 endp ;* No entry point to code 3BBB:49CC E8 E1F8 call sub_120 ; (2BC7) 3BBB:49CF 80 3E 0676 00 cmp byte ptr ds:[676h],0 ; (3BBB:0676=45h) 3BBB:49D4 74 05 je loc_891 ; Jump if equal 3BBB:49D6 B1 02 mov cl,2 3BBB:49D8 E9 11C2 jmp loc_1145 ; (5B9D) 3BBB:49DB loc_891: ; xref 3BBB:49D4 3BBB:49DB B1 00 mov cl,0 3BBB:49DD E8 F1BA call sub_228 ; (3B9A) 3BBB:49E0 74 01 jz loc_892 ; Jump if zero 3BBB:49E2 C3 retn 3BBB:49E3 loc_892: ; xref 3BBB:49E0 3BBB:49E3 E9 F3FB jmp loc_741 ; (3DE1) ;* No entry point to code 3BBB:49E6 E8 F694 call sub_238 ; (407D) 3BBB:49E9 80 3E 0676 00 cmp byte ptr ds:[676h],0 ; (3BBB:0676=45h) 3BBB:49EE 74 03 je loc_893 ; Jump if equal 3BBB:49F0 E9 117A jmp loc_1141 ; (5B6D) 3BBB:49F3 loc_893: ; xref 3BBB:49EE 3BBB:49F3 8B 36 0651 mov si,word ptr ds:[651h] ; (3BBB:0651=3574h) 3BBB:49F7 E8 E955 call sub_176 ; (334F) 3BBB:49FA 33 C9 xor cx,cx ; Zero register 3BBB:49FC loc_894: ; xref 3BBB:4A09 3BBB:49FC AC lodsb ; String [si] to al 3BBB:49FD loc_895: ; xref 3BBB:4A06 3BBB:49FD ,0A C0 or al,al ; Zero ? 3BBB:49FF 74 07 jz loc_897 ; Jump if zero 3BBB:4A01 loc_896: ; xref 3BBB:4A03 3BBB:4A01 D0 E8 shr al,1 ; Shift w/zeros fill 3BBB:4A03 73 FC jnc loc_896 ; Jump if carry=0 3BBB:4A05 41 inc cx 3BBB:4A06 EB F5 jmp short loc_895 ; (49FD) 3BBB:4A08 loc_897: ; xref 3BBB:49FF 3BBB:4A08 4B dec bx 3BBB:4A09 75 F1 jnz loc_894 ; Jump if not zero 3BBB:4A0B 8B 1E 0668 mov bx,word ptr ds:[668h] ; (3BBB:0668=0DA8Eh) 3BBB:4A0F 43 inc bx 3BBB:4A10 2B D9 sub bx,cx 3BBB:4A12 8A 0E 0665 mov cl,byte ptr ds:[665h] ; (3BBB:0665=44h) 3BBB:4A16 32 ED xor ch,ch ; Zero register 3BBB:4A18 8A C7 mov al,bh 3BBB:4A1A 32 E4 xor ah,ah ; Zero register 3BBB:4A1C D3 E3 shl bx,cl ; Shift w/zeros fill 3BBB:4A1E D3 E0 shl ax,cl ; Shift w/zeros fill 3BBB:4A20 8B 3E 062C mov di,word ptr ds:[62Ch] ; (3BBB:062C=3Ch) 3BBB:4A24 1E push ds 3BBB:4A25 8E 1E 062E mov ds,word ptr ds:[62Eh] ; (3BBB:062E=7493h) 3BBB:4A29 89 1D mov [di],bx 3BBB:4A2B 88 65 02 mov [di+2],ah 3BBB:4A2E 1F pop ds 3BBB:4A2F C3 retn 3BBB:4A30 loc_898: ; xref 3BBB:44BC 3BBB:4A30 80 3E 061D 15 cmp byte ptr ds:[61Dh],15h ; (3BBB:061D=8Eh) 3BBB:4A35 74 08 je loc_899 ; Jump if equal 3BBB:4A37 B0 0C mov al,0Ch 3BBB:4A39 E8 DF1F call sub_104 ; (295B) 3BBB:4A3C E8 E2B6 call sub_149 ; (2CF5) 3BBB:4A3F loc_899: ; xref 3BBB:4A35 3BBB:4A3F 8B 1E 05CC mov bx,word ptr ds:[5CCh] ; (3BBB:05CC=0FCFCh) 3BBB:4A43 B2 10 mov dl,10h 3BBB:4A45 loc_900: ; xref 3BBB:4A4D 3BBB:4A45 FE CA dec dl 3BBB:4A47 D1 E3 shl bx,1 ; Shift w/zeros fill 3BBB:4A49 72 05 jc loc_902 ; Jump if carry Set 3BBB:4A4B loc_901: ; xref 3BBB:4AA4 3BBB:4A4B ,0B DB or bx,bx ; Zero ? 3BBB:4A4D 75 F6 jnz loc_900 ; Jump if not zero 3BBB:4A4F C3 retn 3BBB:4A50 loc_902: ; xref 3BBB:4A49 3BBB:4A50 53 push bx 3BBB:4A51 52 push dx 3BBB:4A52 E8 F628 call sub_238 ; (407D) 3BBB:4A55 80 3E 061D 1B cmp byte ptr ds:[61Dh],1Bh ; (3BBB:061D=8Eh) 3BBB:4A5A 75 11 jne loc_904 ; Jump if not equal 3BBB:4A5C E8 FA2C call sub_273 ; (448B) 3BBB:4A5F 74 05 jz loc_903 ; Jump if zero 3BBB:4A61 E8 E8F5 call sub_177 ; (3359) 3BBB:4A64 EB 3C jmp short loc_907 ; (4AA2) 3BBB:4A66 loc_903: ; xref 3BBB:4A5F 3BBB:4A66 C6 06 05D1 FF mov byte ptr ds:[5D1h],0FFh ; (3BBB:05D1=0BFh) 3BBB:4A6B EB 35 jmp short loc_907 ; (4AA2) 3BBB:4A6D loc_904: ; xref 3BBB:4A5A 3BBB:4A6D 80 3E 061D 15 cmp byte ptr ds:[61Dh],15h ; (3BBB:061D=8Eh) 3BBB:4A72 74 27 je loc_906 ; Jump if equal 3BBB:4A74 80 3E 061D 23 cmp byte ptr ds:[61Dh],23h ; (3BBB:061D=8Eh) '#' 3BBB:4A79 74 0C je loc_905 ; Jump if equal 3BBB:4A7B E8 0031 call sub_280 ; (4AAF) 3BBB:4A7E 80 3E 0694 FF cmp byte ptr ds:[694h],0FFh ; (3BBB:0694=4Eh) 3BBB:4A83 75 1D jne loc_907 ; Jump if not equal 3BBB:4A85 EB 14 jmp short loc_906 ; (4A9B) 3BBB:4A87 loc_905: ; xref 3BBB:4A79 3BBB:4A87 1E push ds 3BBB:4A88 8E 1E 004E mov ds,data_193 ; (3BBB:004E=0) 3BBB:4A8C C7 06 006E 0000 mov word ptr ds:data_22e,0 ; (0000:006E=4FEh) 3BBB:4A92 1F pop ds 3BBB:4A93 E8 F9F5 call sub_273 ; (448B) 3BBB:4A96 74 03 jz loc_906 ; Jump if zero 3BBB:4A98 E8 E8BE call sub_177 ; (3359) 3BBB:4A9B loc_906: ; xref 3BBB:4A72, 4A85, 4A96 3BBB:4A9B 8B 1E 0655 mov bx,word ptr ds:[655h] ; (3BBB:0655=124Fh) 3BBB:4A9F E8 E2F1 call sub_153 ; (2D93) 3BBB:4AA2 loc_907: ; xref 3BBB:4A64, 4A6B, 4A83 3BBB:4AA2 5A pop dx 3BBB:4AA3 5B pop bx 3BBB:4AA4 E9 FFA4 ;* jmp loc_901 ; (4A4B) 3BBB:4AA4 db 0E9h,0A4h,0FFh ; Fixup - byte match ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:4619, 55A0 ;========================================================================== 3BBB:4AA7 sub_279 proc near 3BBB:4AA7 B0 0C mov al,0Ch 3BBB:4AA9 E8 DEAF call sub_104 ; (295B) 3BBB:4AAC E8 E246 call sub_149 ; (2CF5) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:3D5E, 4A7B, 4DB1, 601E 3BBB:4AAF sub_280: 3BBB:4AAF F6 06 0673 FF test byte ptr ds:[673h],0FFh ; (3BBB:0673=8Ch) 3BBB:4AB4 75 01 jnz loc_909 ; Jump if not zero 3BBB:4AB6 loc_ret_908: ; xref 3BBB:4AC1 3BBB:4AB6 C3 retn 3BBB:4AB7 loc_909: ; xref 3BBB:4AB4 3BBB:4AB7 B4 04 mov ah,4 3BBB:4AB9 E9 E4E0 jmp loc_551 ; (2F9C) sub_279 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:4B2E, 4B56 ;========================================================================== 3BBB:4ABC sub_281 proc near 3BBB:4ABC 80 3E 05DA FD cmp byte ptr ds:[5DAh],0FDh ; (3BBB:05DA=1Eh) 3BBB:4AC1 75 F3 jne loc_ret_908 ; Jump if not equal 3BBB:4AC3 E9 EBFD jmp loc_643 ; (36C3) sub_281 endp ;* No entry point to code 3BBB:4AC6 E8 F742 call sub_246 ; (420B) 3BBB:4AC9 E8 F654 call sub_242 ; (4120) 3BBB:4ACC E8 EA08 call sub_185 ; (34D7) 3BBB:4ACF 80 3E 0676 00 cmp byte ptr ds:[676h],0 ; (3BBB:0676=45h) 3BBB:4AD4 74 03 je loc_910 ; Jump if equal 3BBB:4AD6 E9 0EC0 jmp loc_1111 ; (5999) 3BBB:4AD9 loc_910: ; xref 3BBB:4AD4 3BBB:4AD9 E8 F825 call sub_255 ; (4301) 3BBB:4ADC 74 03 jz loc_911 ; Jump if zero 3BBB:4ADE E8 F792 call sub_253 ; (4273) 3BBB:4AE1 loc_911: ; xref 3BBB:4ADC 3BBB:4AE1 E8 DFF1 call sub_113 ; (2AD5) 3BBB:4AE4 B1 FF mov cl,0FFh 3BBB:4AE6 E8 F0B1 call sub_228 ; (3B9A) 3BBB:4AE9 74 03 jz loc_913 ; Jump if zero 3BBB:4AEB loc_912: ; xref 3BBB:4AFD, 4B02 3BBB:4AEB E9 EC60 jmp loc_649 ; (374E) 3BBB:4AEE loc_913: ; xref 3BBB:4AE9 3BBB:4AEE E8 E773 call sub_168 ; (3264) 3BBB:4AF1 E8 E10E call sub_126 ; (2C02) 3BBB:4AF4 BA 000F mov dx,0Fh 3BBB:4AF7 E8 F42F call sub_231 ; (3F29) 3BBB:4AFA E8 F450 call sub_232 ; (3F4D) 3BBB:4AFD 76 EC jbe loc_912 ; Jump if below or = 3BBB:4AFF E8 EBE8 call sub_199 ; (36EA) 3BBB:4B02 74 E7 jz loc_912 ; Jump if zero 3BBB:4B04 E8 E10E call sub_128 ; (2C15) 3BBB:4B07 C6 06 05DA FD mov byte ptr ds:[5DAh],0FDh ; (3BBB:05DA=1Eh) 3BBB:4B0C loc_914: ; xref 3BBB:4B4E 3BBB:4B0C E8 E0F3 call sub_126 ; (2C02) 3BBB:4B0F 83 C3 0C add bx,0Ch 3BBB:4B12 ,BE 0775 mov si,775h ; (3BBB:0775=0F0h) 3BBB:4B15 8A 44 02 mov al,[si+2] 3BBB:4B18 24 3F and al,3Fh ; '?' 3BBB:4B1A 38 47 02 cmp [bx+2],al 3BBB:4B1D 75 0D jne loc_915 ; Jump if not equal 3BBB:4B1F 8A 07 mov al,[bx] 3BBB:4B21 8A 0C mov cl,[si] 3BBB:4B23 E8 E00C call sub_115 ; (2B32) 3BBB:4B26 74 04 jz loc_915 ; Jump if zero 3BBB:4B28 8A 07 mov al,[bx] 3BBB:4B2A 3A C1 cmp al,cl 3BBB:4B2C loc_915: ; xref 3BBB:4B1D, 4B26 3BBB:4B2C 73 05 jae loc_916 ; Jump if above or = 3BBB:4B2E E8 FF8B call sub_281 ; (4ABC) 3BBB:4B31 EB 18 jmp short loc_917 ; (4B4B) 3BBB:4B33 loc_916: ; xref 3BBB:4B2C 3BBB:4B33 9C pushf ; Push flags 3BBB:4B34 B1 00 mov cl,0 3BBB:4B36 E8 E88A call sub_179 ; (33C3) 3BBB:4B39 0E E8 DB20 callf sub_93 ; (265D) 3BBB:4B3D 74 17 jz loc_918 ; Jump if zero 3BBB:4B3F E8 E0C0 call sub_126 ; (2C02) 3BBB:4B42 C6 07 E5 mov byte ptr [bx],0E5h 3BBB:4B45 E8 E71C call sub_168 ; (3264) 3BBB:4B48 E8 EB3A call sub_192 ; (3685) 3BBB:4B4B loc_917: ; xref 3BBB:4B31, 4BC4 3BBB:4B4B ,E8 EBA4 call sub_202 ; (36F2) 3BBB:4B4E 75 BC jnz loc_914 ; Jump if not zero 3BBB:4B50 E8 F8B2 call sub_269 ; (4405) 3BBB:4B53 E9 E95B jmp loc_616 ; (34B1) 3BBB:4B56 loc_918: ; xref 3BBB:4B3D 3BBB:4B56 E8 FF63 call sub_281 ; (4ABC) 3BBB:4B59 E8 DFE7 call sub_116 ; (2B43) 3BBB:4B5C E8 DF35 call sub_110 ; (2A94) 3BBB:4B5F FE C0 inc al 3BBB:4B61 F6 06 0696 FF test byte ptr ds:[696h],0FFh ; (3BBB:0696=83h) 3BBB:4B66 75 02 jnz loc_919 ; Jump if not zero 3BBB:4B68 D0 E0 shl al,1 ; Shift w/zeros fill 3BBB:4B6A loc_919: ; xref 3BBB:4B66 3BBB:4B6A ,BF 0779 mov di,779h ; (3BBB:0779=0E8h) 3BBB:4B6D 32 E4 xor ah,ah ; Zero register 3BBB:4B6F 03 F8 add di,ax 3BBB:4B71 B1 10 mov cl,10h 3BBB:4B73 2A C8 sub cl,al 3BBB:4B75 8A EC mov ch,ah 3BBB:4B77 8A C4 mov al,ah 3BBB:4B79 F3/ AA rep stosb ; Rep when cx >0 Store al to es:[di] 3BBB:4B7B E8 DF72 call sub_114 ; (2AF0) 3BBB:4B7E 3A 07 cmp al,[bx] 3BBB:4B80 88 07 mov [bx],al 3BBB:4B82 9C pushf ; Push flags 3BBB:4B83 A0 0789 mov al,data_514 ; (3BBB:0789=0FBh) 3BBB:4B86 FE C0 inc al 3BBB:4B88 ,BE 0778 mov si,778h ; (3BBB:0778=8Bh) 3BBB:4B8B 88 04 mov [si],al 3BBB:4B8D 0E E8 DACC callf sub_93 ; (265D) 3BBB:4B91 74 03 jz loc_920 ; Jump if zero 3BBB:4B93 E8 EDC3 call sub_220 ; (3959) 3BBB:4B96 loc_920: ; xref 3BBB:4B91 3BBB:4B96 F6 06 0695 FF test byte ptr ds:[695h],0FFh ; (3BBB:0695=0) 3BBB:4B9B 75 03 jnz loc_921 ; Jump if not zero 3BBB:4B9D E8 EDB9 call sub_220 ; (3959) 3BBB:4BA0 loc_921: ; xref 3BBB:4B9B 3BBB:4BA0 E8 E05F call sub_126 ; (2C02) 3BBB:4BA3 83 C3 0B add bx,0Bh 3BBB:4BA6 80 27 7F and byte ptr [bx],7Fh 3BBB:4BA9 A0 0775 mov al,byte ptr ds:[775h] ; (3BBB:0775=0F0h) 3BBB:4BAC 88 47 01 mov [bx+1],al 3BBB:4BAF 83 C3 04 add bx,4 3BBB:4BB2 ,BE 0778 mov si,778h ; (3BBB:0778=8Bh) 3BBB:4BB5 8B FB mov di,bx 3BBB:4BB7 B9 0011 mov cx,11h 3BBB:4BBA F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:4BBC B1 01 mov cl,1 3BBB:4BBE E8 E802 call sub_179 ; (33C3) 3BBB:4BC1 E8 E6A0 call sub_168 ; (3264) 3BBB:4BC4 E9 FF84 ;* jmp loc_917 ; (4B4B) 3BBB:4BC4 db 0E9h, 84h,0FFh ; Fixup - byte match ;* No entry point to code 3BBB:4BC7 B1 10 mov cl,10h 3BBB:4BC9 E8 F641 call sub_247 ; (420D) 3BBB:4BCC E8 F551 call sub_242 ; (4120) 3BBB:4BCF 80 3E 0676 00 cmp byte ptr ds:[676h],0 ; (3BBB:0676=45h) 3BBB:4BD4 74 03 je loc_922 ; Jump if equal 3BBB:4BD6 E9 EB75 jmp loc_649 ; (374E) 3BBB:4BD9 loc_922: ; xref 3BBB:4BD4 3BBB:4BD9 C6 06 0769 21 mov byte ptr ds:[769h],21h ; (3BBB:0769=0D8h) '!' 3BBB:4BDE B1 01 mov cl,1 3BBB:4BE0 E8 EB09 call sub_200 ; (36EC) 3BBB:4BE3 75 0B jnz loc_923 ; Jump if not zero 3BBB:4BE5 ,BB 0775 mov bx,775h ; (3BBB:0775=0F0h) 3BBB:4BE8 F6 07 70 test byte ptr [bx],70h ; 'p' 3BBB:4BEB 74 03 jz loc_923 ; Jump if zero 3BBB:4BED E9 EB5E jmp loc_649 ; (374E) 3BBB:4BF0 loc_923: ; xref 3BBB:4BE3, 4BEB 3BBB:4BF0 C6 06 0769 20 mov byte ptr ds:[769h],20h ; (3BBB:0769=0D8h) ' ' 3BBB:4BF5 B1 01 mov cl,1 3BBB:4BF7 C7 06 05D9 FFFF mov word ptr ds:[5D9h],0FFFFh ; (3BBB:05D9=1E06h) 3BBB:4BFD E8 EAEC call sub_200 ; (36EC) 3BBB:4C00 75 17 jnz loc_925 ; Jump if not zero 3BBB:4C02 C6 06 05D7 FF mov byte ptr ds:[5D7h],0FFh ; (3BBB:05D7=0Bh) 3BBB:4C07 E8 EE5E call sub_225 ; (3A68) 3BBB:4C0A 75 01 jnz loc_924 ; Jump if not zero 3BBB:4C0C C3 retn 3BBB:4C0D loc_924: ; xref 3BBB:4C0A 3BBB:4C0D E8 F63D call sub_251 ; (424D) 3BBB:4C10 B9 0018 mov cx,18h 3BBB:4C13 E8 F7E4 call sub_268 ; (43FA) 3BBB:4C16 E8 F7BE call sub_265 ; (43D7) 3BBB:4C19 loc_925: ; xref 3BBB:4C00 3BBB:4C19 B9 001C mov cx,1Ch 3BBB:4C1C E8 F7DB call sub_268 ; (43FA) 3BBB:4C1F E8 F7B9 call sub_266 ; (43DB) 3BBB:4C22 E8 F726 call sub_257 ; (434B) 3BBB:4C25 74 03 jz loc_926 ; Jump if zero 3BBB:4C27 E9 F6AF jmp loc_800 ; (42D9) 3BBB:4C2A loc_926: ; xref 3BBB:4C25 3BBB:4C2A 33 C9 xor cx,cx ; Zero register 3BBB:4C2C E8 F624 call sub_252 ; (4253) 3BBB:4C2F 8B F2 mov si,dx 3BBB:4C31 AC lodsb ; String [si] to al 3BBB:4C32 0C 01 or al,1 3BBB:4C34 88 07 mov [bx],al 3BBB:4C36 8B 3E 0649 mov di,word ptr ds:[649h] ; (3BBB:0649=8B26h) 3BBB:4C3A AA stosb ; Store al to es:[di] ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:4D04 ;========================================================================== 3BBB:4C3B sub_282 proc near 3BBB:4C3B 4E dec si 3BBB:4C3C AC lodsb ; String [si] to al 3BBB:4C3D 24 01 and al,1 3BBB:4C3F 74 06 jz loc_927 ; Jump if zero 3BBB:4C41 ,BE 067F mov si,67Fh ; (3BBB:067F=0C2h) 3BBB:4C44 E8 F70D call sub_259 ; (4354) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:47E0, 4CF6 3BBB:4C47 sub_283: 3BBB:4C47 loc_927: ; xref 3BBB:4C3F 3BBB:4C47 E8 E61A call sub_168 ; (3264) 3BBB:4C4A E9 EA38 jmp loc_642 ; (3685) sub_282 endp ;* No entry point to code 3BBB:4C4D E8 F42D call sub_238 ; (407D) 3BBB:4C50 80 3E 0676 00 cmp byte ptr ds:[676h],0 ; (3BBB:0676=45h) 3BBB:4C55 74 05 je loc_928 ; Jump if equal 3BBB:4C57 B0 21 mov al,21h ; '!' 3BBB:4C59 E9 DD78 jmp loc_466 ; (29D4) 3BBB:4C5C loc_928: ; xref 3BBB:4C55 3BBB:4C5C E8 F5C0 call sub_248 ; (421F) 3BBB:4C5F E9 DD72 jmp loc_466 ; (29D4) ;* No entry point to code 3BBB:4C62 E8 F4BB call sub_242 ; (4120) 3BBB:4C65 E8 E86F call sub_185 ; (34D7) 3BBB:4C68 80 3E 0676 00 cmp byte ptr ds:[676h],0 ; (3BBB:0676=45h) 3BBB:4C6D 74 03 je loc_929 ; Jump if equal 3BBB:4C6F E9 0DC6 jmp loc_1120 ; (5A38) 3BBB:4C72 loc_929: ; xref 3BBB:4C6D 3BBB:4C72 E8 EA69 call sub_197 ; (36DE) 3BBB:4C75 74 58 jz loc_ret_934 ; Jump if zero 3BBB:4C77 B5 00 mov ch,0 3BBB:4C79 E8 F70A call sub_261 ; (4386) 3BBB:4C7C 0A C0 or al,al ; Zero ? 3BBB:4C7E 75 13 jnz loc_930 ; Jump if not zero 3BBB:4C80 53 push bx 3BBB:4C81 ,BF 0779 mov di,779h ; (3BBB:0779=0E8h) 3BBB:4C84 B9 0008 mov cx,8 3BBB:4C87 F3/ AA rep stosb ; Rep when cx >0 Store al to es:[di] 3BBB:4C89 5E pop si 3BBB:4C8A B1 04 mov cl,4 3BBB:4C8C F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:4C8E AC lodsb ; String [si] to al 3BBB:4C8F A2 0775 mov byte ptr ds:[775h],al ; (3BBB:0775=0F0h) 3BBB:4C92 C3 retn 3BBB:4C93 loc_930: ; xref 3BBB:4C7E 3BBB:4C93 E8 F590 call sub_249 ; (4226) 3BBB:4C96 B0 FF mov al,0FFh 3BBB:4C98 75 03 jnz loc_931 ; Jump if not zero 3BBB:4C9A E9 DD37 jmp loc_466 ; (29D4) 3BBB:4C9D loc_931: ; xref 3BBB:4C98 3BBB:4C9D BB 0769 mov bx,769h 3BBB:4CA0 B1 20 mov cl,20h ; ' ' 3BBB:4CA2 E9 DD6A jmp loc_470 ; (2A0F) ;* No entry point to code 3BBB:4CA5 B1 10 mov cl,10h 3BBB:4CA7 E8 F563 call sub_247 ; (420D) 3BBB:4CAA E8 F473 call sub_242 ; (4120) 3BBB:4CAD 80 3E 0676 00 cmp byte ptr ds:[676h],0 ; (3BBB:0676=45h) 3BBB:4CB2 74 03 je loc_932 ; Jump if equal 3BBB:4CB4 E9 EA97 jmp loc_649 ; (374E) 3BBB:4CB7 loc_932: ; xref 3BBB:4CB2 3BBB:4CB7 E8 F565 call sub_248 ; (421F) 3BBB:4CBA 24 80 and al,80h 3BBB:4CBC 75 03 jnz loc_933 ; Jump if not zero 3BBB:4CBE E9 EA8D jmp loc_649 ; (374E) 3BBB:4CC1 loc_933: ; xref 3BBB:4CBC 3BBB:4CC1 E8 E813 call sub_185 ; (34D7) 3BBB:4CC4 C7 06 05D9 FFFF mov word ptr ds:[5D9h],0FFFFh ; (3BBB:05D9=1E06h) 3BBB:4CCA E8 EA1D call sub_199 ; (36EA) 3BBB:4CCD 75 01 jnz loc_935 ; Jump if not zero 3BBB:4CCF loc_ret_934: ; xref 3BBB:4C75, 4CDB, 4D17, 4D1E 3BBB:4CCF C3 retn 3BBB:4CD0 loc_935: ; xref 3BBB:4CCD 3BBB:4CD0 E8 F553 call sub_249 ; (4226) 3BBB:4CD3 75 0B jnz loc_936 ; Jump if not zero 3BBB:4CD5 A2 05D7 mov byte ptr ds:[5D7h],al ; (3BBB:05D7=0Bh) 3BBB:4CD8 E8 ED8D call sub_225 ; (3A68) 3BBB:4CDB 74 F2 jz loc_ret_934 ; Jump if zero 3BBB:4CDD E8 F56D call sub_251 ; (424D) 3BBB:4CE0 loc_936: ; xref 3BBB:4CD3 3BBB:4CE0 E8 F668 call sub_257 ; (434B) 3BBB:4CE3 74 03 jz loc_937 ; Jump if zero 3BBB:4CE5 E9 F5F1 jmp loc_800 ; (42D9) 3BBB:4CE8 loc_937: ; xref 3BBB:4CE3 3BBB:4CE8 ,BE 0775 mov si,775h ; (3BBB:0775=0F0h) 3BBB:4CEB F6 07 FF test byte ptr [bx],0FFh 3BBB:4CEE 75 0B jnz loc_938 ; Jump if not zero 3BBB:4CF0 AC lodsb ; String [si] to al 3BBB:4CF1 4E dec si 3BBB:4CF2 24 01 and al,1 3BBB:4CF4 75 05 jnz loc_938 ; Jump if not zero 3BBB:4CF6 E8 FF4E call sub_283 ; (4C47) 3BBB:4CF9 EB 0C jmp short loc_940 ; (4D07) 3BBB:4CFB loc_938: ; xref 3BBB:4CEE, 4CF4 3BBB:4CFB AC lodsb ; String [si] to al 3BBB:4CFC 24 E0 and al,0E0h 3BBB:4CFE 75 02 jnz loc_939 ; Jump if not zero 3BBB:4D00 B0 80 mov al,80h 3BBB:4D02 loc_939: ; xref 3BBB:4CFE 3BBB:4D02 88 07 mov [bx],al 3BBB:4D04 E8 FF34 call sub_282 ; (4C3B) 3BBB:4D07 loc_940: ; xref 3BBB:4CF9 3BBB:4D07 E8 F534 call sub_250 ; (423E) 3BBB:4D0A 24 E0 and al,0E0h 3BBB:4D0C A2 068B mov byte ptr ds:[68Bh],al ; (3BBB:068B=5Dh) 3BBB:4D0F 50 push ax 3BBB:4D10 E8 E9CB call sub_197 ; (36DE) 3BBB:4D13 58 pop ax 3BBB:4D14 A2 0775 mov byte ptr ds:[775h],al ; (3BBB:0775=0F0h) 3BBB:4D17 74 B6 jz loc_ret_934 ; Jump if zero 3BBB:4D19 E8 F668 call sub_260 ; (4384) 3BBB:4D1C 0A C0 or al,al ; Zero ? 3BBB:4D1E 75 AF jnz loc_ret_934 ; Jump if not zero 3BBB:4D20 A0 068B mov al,byte ptr ds:[68Bh] ; (3BBB:068B=5Dh) 3BBB:4D23 88 07 mov [bx],al 3BBB:4D25 E9 E53C jmp loc_588 ; (3264) ;* No entry point to code 3BBB:4D28 B1 08 mov cl,8 3BBB:4D2A E8 DBF5 call sub_100 ; (2922) 3BBB:4D2D C6 06 05D0 00 mov byte ptr ds:[5D0h],0 ; (3BBB:05D0=8) 3BBB:4D32 BE 0769 mov si,769h 3BBB:4D35 8B DE mov bx,si 3BBB:4D37 BF 0643 mov di,643h 3BBB:4D3A B9 0008 mov cx,8 3BBB:4D3D E9 F61A jmp loc_808 ; (435A) ;* No entry point to code 3BBB:4D40 E8 DE84 call sub_120 ; (2BC7) 3BBB:4D43 E8 F4C5 call sub_246 ; (420B) 3BBB:4D46 E8 DED7 call sub_130 ; (2C20) 3BBB:4D49 80 3E 0676 00 cmp byte ptr ds:[676h],0 ; (3BBB:0676=45h) 3BBB:4D4E 74 03 je loc_941 ; Jump if equal 3BBB:4D50 E9 0D08 jmp loc_1122 ; (5A5B) 3BBB:4D53 loc_941: ; xref 3BBB:4D4E 3BBB:4D53 8A 26 0775 mov ah,byte ptr ds:[775h] ; (3BBB:0775=0F0h) 3BBB:4D57 A0 0777 mov al,byte ptr ds:[777h] ; (3BBB:0777=0F8h) 3BBB:4D5A 50 push ax 3BBB:4D5B E8 E980 call sub_197 ; (36DE) 3BBB:4D5E 58 pop ax 3BBB:4D5F 88 26 0775 mov byte ptr ds:[775h],ah ; (3BBB:0775=0F0h) 3BBB:4D63 A2 0777 mov byte ptr ds:[777h],al ; (3BBB:0777=0F8h) 3BBB:4D66 74 31 jz loc_ret_943 ; Jump if zero 3BBB:4D68 B1 50 mov cl,50h ; 'P' 3BBB:4D6A E8 F658 call sub_263 ; (43C5) 3BBB:4D6D 75 0F jnz loc_942 ; Jump if not zero 3BBB:4D6F B5 00 mov ch,0 3BBB:4D71 E8 F612 call sub_261 ; (4386) 3BBB:4D74 0A C0 or al,al ; Zero ? 3BBB:4D76 75 06 jnz loc_942 ; Jump if not zero 3BBB:4D78 BA 0677 mov dx,677h 3BBB:4D7B E8 F669 call sub_267 ; (43E7) 3BBB:4D7E loc_942: ; xref 3BBB:4D6D, 4D76 3BBB:4D7E B1 20 mov cl,20h ; ' ' 3BBB:4D80 E8 F642 call sub_263 ; (43C5) 3BBB:4D83 75 14 jnz loc_ret_943 ; Jump if not zero 3BBB:4D85 B5 04 mov ch,4 3BBB:4D87 E8 F5FC call sub_261 ; (4386) 3BBB:4D8A 0A C0 or al,al ; Zero ? 3BBB:4D8C 75 0B jnz loc_ret_943 ; Jump if not zero 3BBB:4D8E BA 067B mov dx,67Bh 3BBB:4D91 E8 F653 call sub_267 ; (43E7) 3BBB:4D94 80 0E 0777 40 or byte ptr ds:[777h],40h ; (3BBB:0777=0F8h) '@' 3BBB:4D99 loc_ret_943: ; xref 3BBB:4D66, 4D83, 4D8C 3BBB:4D99 C3 retn ;* No entry point to code 3BBB:4D9A 8B F2 mov si,dx 3BBB:4D9C ,BF 07DC mov di,7DCh ; (3BBB:07DC=0BCh) 3BBB:4D9F 1E push ds 3BBB:4DA0 8E 1E 0628 mov ds,word ptr ds:[628h] ; (3BBB:0628=2607h) 3BBB:4DA4 B9 000A mov cx,0Ah 3BBB:4DA7 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:4DA9 1F pop ds 3BBB:4DAA 8A 16 07DD mov dl,byte ptr ds:[7DDh] ; (3BBB:07DD=3) 3BBB:4DAE E8 F2CC call sub_238 ; (407D) 3BBB:4DB1 E8 FCFB call sub_280 ; (4AAF) 3BBB:4DB4 A1 07E4 mov ax,word ptr ds:[7E4h] ; (3BBB:07E4=0A5F3h) 3BBB:4DB7 A3 06A2 mov word ptr ds:[6A2h],ax ; (3BBB:06A2=1FFFh) 3BBB:4DBA A1 07E2 mov ax,word ptr ds:[7E2h] ; (3BBB:07E2=71Eh) 3BBB:4DBD A3 06A4 mov word ptr ds:[6A4h],ax ; (3BBB:06A4=68Eh) 3BBB:4DC0 A0 07DE mov al,byte ptr ds:[7DEh] ; (3BBB:07DE=0B9h) 3BBB:4DC3 A2 05E3 mov byte ptr ds:[5E3h],al ; (3BBB:05E3=3Eh) 3BBB:4DC6 80 3E 07DC 03 cmp byte ptr ds:[7DCh],3 ; (3BBB:07DC=0BCh) 3BBB:4DCB 73 66 jae loc_948 ; Jump if above or = 3BBB:4DCD 32 E4 xor ah,ah ; Zero register 3BBB:4DCF A0 07E0 mov al,byte ptr ds:[7E0h] ; (3BBB:07E0=0) 3BBB:4DD2 A3 0620 mov word ptr ds:[620h],ax ; (3BBB:0620=6C6h) 3BBB:4DD5 8A 26 07DF mov ah,byte ptr ds:[7DFh] ; (3BBB:07DF=12h) 3BBB:4DD9 A0 07E1 mov al,byte ptr ds:[7E1h] ; (3BBB:07E1=6) 3BBB:4DDC A3 061E mov word ptr ds:[61Eh],ax ; (3BBB:061E=26C3h) 3BBB:4DDF 80 3E 07DC 00 cmp byte ptr ds:[7DCh],0 ; (3BBB:07DC=0BCh) 3BBB:4DE4 75 09 jne loc_944 ; Jump if not equal 3BBB:4DE6 B0 23 mov al,23h ; '#' 3BBB:4DE8 E8 DB7C call sub_105 ; (2967) 3BBB:4DEB A3 05D1 mov word ptr ds:[5D1h],ax ; (3BBB:05D1=5BBFh) 3BBB:4DEE C3 retn 3BBB:4DEF loc_944: ; xref 3BBB:4DE4 3BBB:4DEF 80 3E 07DC 01 cmp byte ptr ds:[7DCh],1 ; (3BBB:07DC=0BCh) 3BBB:4DF4 75 0C jne loc_945 ; Jump if not equal 3BBB:4DF6 E8 0066 call sub_284 ; (4E5F) 3BBB:4DF9 B0 24 mov al,24h ; '$' 3BBB:4DFB E8 DB69 call sub_105 ; (2967) 3BBB:4DFE A3 05D1 mov word ptr ds:[5D1h],ax ; (3BBB:05D1=5BBFh) 3BBB:4E01 C3 retn 3BBB:4E02 loc_945: ; xref 3BBB:4DF4 3BBB:4E02 C6 06 05E3 01 mov byte ptr ds:[5E3h],1 ; (3BBB:05E3=3Eh) 3BBB:4E07 8B 36 0653 mov si,word ptr ds:[653h] ; (3BBB:0653=3A26h) 3BBB:4E0B 8B 34 mov si,[si] 3BBB:4E0D loc_946: ; xref 3BBB:4E1B 3BBB:4E0D ,80 3C FF cmp byte ptr [si],0FFh 3BBB:4E10 74 0B je loc_947 ; Jump if equal 3BBB:4E12 8B 5C 0C mov bx,[si+0Ch] 3BBB:4E15 0B DB or bx,bx ; Zero ? 3BBB:4E17 74 04 jz loc_947 ; Jump if zero 3BBB:4E19 8B F3 mov si,bx 3BBB:4E1B EB F0 jmp short loc_946 ; (4E0D) 3BBB:4E1D loc_947: ; xref 3BBB:4E10, 4E17 3BBB:4E1D C6 04 FF mov byte ptr [si],0FFh 3BBB:4E20 8B 44 0A mov ax,[si+0Ah] 3BBB:4E23 A3 06A4 mov word ptr ds:[6A4h],ax ; (3BBB:06A4=68Eh) 3BBB:4E26 8C 1E 06A2 mov word ptr ds:[6A2h],ds ; (3BBB:06A2=1FFFh) 3BBB:4E2A B0 23 mov al,23h ; '#' 3BBB:4E2C E8 DB38 call sub_105 ; (2967) 3BBB:4E2F A3 05D1 mov word ptr ds:[5D1h],ax ; (3BBB:05D1=5BBFh) 3BBB:4E32 C3 retn 3BBB:4E33 loc_948: ; xref 3BBB:4DCB 3BBB:4E33 A1 07E0 mov ax,word ptr ds:[7E0h] ; (3BBB:07E0=600h) 3BBB:4E36 33 D2 xor dx,dx ; Zero register 3BBB:4E38 F7 36 0663 div word ptr ds:[663h] ; (3BBB:0663=8906h) ax,dxrem=dx:ax/dat 3BBB:4E3C A3 061E mov word ptr ds:[61Eh],ax ; (3BBB:061E=26C3h) 3BBB:4E3F 89 16 0620 mov word ptr ds:[620h],dx ; (3BBB:0620=6C6h) 3BBB:4E43 80 3E 07DC 04 cmp byte ptr ds:[7DCh],4 ; (3BBB:07DC=0BCh) 3BBB:4E48 74 09 je loc_949 ; Jump if equal 3BBB:4E4A B0 0A mov al,0Ah 3BBB:4E4C E8 DB18 call sub_105 ; (2967) 3BBB:4E4F A3 05D1 mov word ptr ds:[5D1h],ax ; (3BBB:05D1=5BBFh) 3BBB:4E52 C3 retn 3BBB:4E53 loc_949: ; xref 3BBB:4E48 3BBB:4E53 E8 0009 call sub_284 ; (4E5F) 3BBB:4E56 B0 0B mov al,0Bh 3BBB:4E58 E8 DB0C call sub_105 ; (2967) 3BBB:4E5B A3 05D1 mov word ptr ds:[5D1h],ax ; (3BBB:05D1=5BBFh) 3BBB:4E5E C3 retn ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:4DF6, 4E53 ;========================================================================== 3BBB:4E5F sub_284 proc near 3BBB:4E5F 8B 1E 0655 mov bx,word ptr ds:[655h] ; (3BBB:0655=124Fh) 3BBB:4E63 E8 DF10 call sub_152 ; (2D76) 3BBB:4E66 E9 DF09 jmp loc_515 ; (2D72) sub_284 endp 3BBB:4E69 0C 02 03 04 06 09 db 0Ch, 02h, 03h, 04h, 06h, 09h 3BBB:4E6F 0A 0D 11 1C 1D 1F db 0Ah, 0Dh, 11h, 1Ch, 1Dh, 1Fh 3BBB:4E75 20 00 00 00 00 05 db 20h, 00h, 00h, 00h, 00h, 05h 3BBB:4E7B 07 08 0F 10 16 00 db 07h, 08h, 0Fh, 10h, 16h, 00h 3BBB:4E81 00 02 03 05 00 00 db 00h, 02h, 03h, 05h, 00h, 00h 3BBB:4E87 loc_950: ; xref 3BBB:465E 3BBB:4E87 9D popf ; Pop flags 3BBB:4E88 9C pushf ; Push flags 3BBB:4E89 75 09 jnz loc_951 ; Jump if not zero 3BBB:4E8B E8 DDCB call sub_138 ; (2C59) 3BBB:4E8E C7 06 0638 0000 mov word ptr ds:[638h],0 ; (3BBB:0638=50Eh) 3BBB:4E94 loc_951: ; xref 3BBB:4E89 3BBB:4E94 80 F9 00 cmp cl,0 3BBB:4E97 74 13 je loc_952 ; Jump if equal 3BBB:4E99 ,BB 0775 mov bx,775h ; (3BBB:0775=0F0h) 3BBB:4E9C 80 3F 3F cmp byte ptr [bx],3Fh ; '?' 3BBB:4E9F B1 02 mov cl,2 3BBB:4EA1 74 09 jz loc_952 ; Jump if zero 3BBB:4EA3 B1 03 mov cl,3 3BBB:4EA5 8A 07 mov al,[bx] 3BBB:4EA7 32 E4 xor ah,ah ; Zero register 3BBB:4EA9 A3 0638 mov word ptr ds:[638h],ax ; (3BBB:0638=50Eh) 3BBB:4EAC loc_952: ; xref 3BBB:4E97, 4EA1 3BBB:4EAC 80 F9 03 cmp cl,3 3BBB:4EAF 73 0C jae loc_953 ; Jump if above or = 3BBB:4EB1 F7 06 0638 FFFF test word ptr ds:[638h],0FFFFh ; (3BBB:0638=50Eh) 3BBB:4EB7 74 04 jz loc_953 ; Jump if zero 3BBB:4EB9 FF 0E 0636 dec word ptr ds:[636h] ; (3BBB:0636=8A26h) 3BBB:4EBD loc_953: ; xref 3BBB:4EAF, 4EB7 3BBB:4EBD 88 0E 0631 mov byte ptr ds:[631h],cl ; (3BBB:0631=0E9h) 3BBB:4EC1 loc_954: ; xref 3BBB:4EE6, 4EF5, 4F0D 3BBB:4EC1 8A 0E 0631 mov cl,byte ptr ds:[631h] ; (3BBB:0631=0E9h) 3BBB:4EC5 32 ED xor ch,ch ; Zero register 3BBB:4EC7 E8 03E6 call sub_299 ; (52B0) 3BBB:4ECA 0B C0 or ax,ax ; Zero ? 3BBB:4ECC 75 04 jnz loc_955 ; Jump if not zero 3BBB:4ECE 9D popf ; Pop flags 3BBB:4ECF E9 E87C jmp loc_649 ; (374E) 3BBB:4ED2 loc_955: ; xref 3BBB:4ECC 3BBB:4ED2 80 3E 0631 02 cmp byte ptr ds:[631h],2 ; (3BBB:0631=0E9h) 3BBB:4ED7 72 0F jb loc_956 ; Jump if below 3BBB:4ED9 8B D8 mov bx,ax 3BBB:4EDB F6 47 0B 10 test byte ptr [bx+0Bh],10h 3BBB:4EDF 74 07 jz loc_956 ; Jump if zero 3BBB:4EE1 F6 06 05E0 FF test byte ptr ds:[5E0h],0FFh ; (3BBB:05E0=0C3h) 3BBB:4EE6 74 D9 jz loc_954 ; Jump if zero 3BBB:4EE8 loc_956: ; xref 3BBB:4ED7, 4EDF 3BBB:4EE8 80 3E 0631 03 cmp byte ptr ds:[631h],3 ; (3BBB:0631=0E9h) 3BBB:4EED 75 08 jne loc_957 ; Jump if not equal 3BBB:4EEF E8 00FF call sub_286 ; (4FF1) 3BBB:4EF2 3D FFFF cmp ax,0FFFFh 3BBB:4EF5 74 CA je loc_954 ; Jump if equal 3BBB:4EF7 loc_957: ; xref 3BBB:4EED 3BBB:4EF7 9D popf ; Pop flags 3BBB:4EF8 75 0A jnz loc_958 ; Jump if not zero 3BBB:4EFA 80 3E 0631 00 cmp byte ptr ds:[631h],0 ; (3BBB:0631=0E9h) 3BBB:4EFF 75 03 jne loc_958 ; Jump if not equal 3BBB:4F01 E9 005C jmpn loc_962 ; (4F60) 3BBB:4F04 loc_958: ; xref 3BBB:4EF8, 4EFF 3BBB:4F04 9C pushf ; Push flags 3BBB:4F05 8B 1E 07AF mov bx,data_533 ; (3BBB:07AF=0F8h) 3BBB:4F09 F6 47 0B 08 test byte ptr [bx+0Bh],8 3BBB:4F0D 75 B2 jnz loc_954 ; Jump if not zero 3BBB:4F0F 9D popf ; Pop flags 3BBB:4F10 06 push es 3BBB:4F11 8E 06 062E mov es,word ptr ds:[62Eh] ; (3BBB:062E=7493h) 3BBB:4F15 8B 3E 062C mov di,word ptr ds:[62Ch] ; (3BBB:062C=3Ch) 3BBB:4F19 8B 1E 07AF mov bx,data_533 ; (3BBB:07AF=0F8h) 3BBB:4F1D 80 3F 00 cmp byte ptr [bx],0 3BBB:4F20 74 05 je loc_959 ; Jump if equal 3BBB:4F22 80 3F E5 cmp byte ptr [bx],0E5h 3BBB:4F25 75 0C jne loc_960 ; Jump if not equal 3BBB:4F27 loc_959: ; xref 3BBB:4F20 3BBB:4F27 B0 E5 mov al,0E5h 3BBB:4F29 AA stosb ; Store al to es:[di] 3BBB:4F2A 33 C0 xor ax,ax ; Zero register 3BBB:4F2C B9 007F mov cx,7Fh 3BBB:4F2F F3/ AA rep stosb ; Rep when cx >0 Store al to es:[di] 3BBB:4F31 EB 2B jmp short loc_961 ; (4F5E) 3BBB:4F33 loc_960: ; xref 3BBB:4F25 3BBB:4F33 E8 00BB call sub_286 ; (4FF1) 3BBB:4F36 33 DB xor bx,bx ; Zero register 3BBB:4F38 ,53 push bx ; PARAMETER_3 3BBB:4F39 50 push ax ; PARAMETER_2 3BBB:4F3A 57 push di ; PARAMETER_1 3BBB:4F3B E8 00E7 call sub_287 ; (5025) 3BBB:4F3E 5F pop di 3BBB:4F3F 5B pop bx 3BBB:4F40 58 pop ax 3BBB:4F41 83 C7 20 add di,20h 3BBB:4F44 B9 0020 mov cx,20h 3BBB:4F47 F3/ AB rep stosw ; Rep when cx >0 Store ax to es:[di] 3BBB:4F49 E8 01B0 call sub_288 ; (50FC) 3BBB:4F4C FF 06 0638 inc word ptr ds:[638h] ; (3BBB:0638=50Eh) 3BBB:4F50 E8 009E call sub_286 ; (4FF1) 3BBB:4F53 3D FFFF cmp ax,0FFFFh 3BBB:4F56 75 06 jne loc_961 ; Jump if not equal 3BBB:4F58 C7 06 0638 0000 mov word ptr ds:[638h],0 ; (3BBB:0638=50Eh) 3BBB:4F5E loc_961: ; xref 3BBB:4F31, 4F56 3BBB:4F5E 07 pop es 3BBB:4F5F C3 retn 3BBB:4F60 loc_962: ; xref 3BBB:4F01, 4F7B 3BBB:4F60 8B 1E 07AF mov bx,data_533 ; (3BBB:07AF=0F8h) 3BBB:4F64 8A 07 mov al,[bx] 3BBB:4F66 3C 00 cmp al,0 3BBB:4F68 74 29 je loc_965 ; Jump if equal 3BBB:4F6A 3C E5 cmp al,0E5h 3BBB:4F6C 74 06 je loc_963 ; Jump if equal 3BBB:4F6E F6 47 0B 08 test byte ptr [bx+0Bh],8 3BBB:4F72 75 0B jnz loc_964 ; Jump if not zero 3BBB:4F74 loc_963: ; xref 3BBB:4F6C 3BBB:4F74 2B C9 sub cx,cx 3BBB:4F76 E8 0337 call sub_299 ; (52B0) 3BBB:4F79 85 DB test bx,bx 3BBB:4F7B 75 E3 jnz loc_962 ; Jump if not zero 3BBB:4F7D EB 14 jmp short loc_965 ; (4F93) 3BBB:4F7F loc_964: ; xref 3BBB:4F72 3BBB:4F7F 8E 06 062E mov es,word ptr ds:[62Eh] ; (3BBB:062E=7493h) 3BBB:4F83 8B 3E 062C mov di,word ptr ds:[62Ch] ; (3BBB:062C=3Ch) 3BBB:4F87 B0 20 mov al,20h ; ' ' 3BBB:4F89 AA stosb ; Store al to es:[di] 3BBB:4F8A 8D 37 lea si,[bx] ; Load effective addr 3BBB:4F8C B9 000B mov cx,0Bh 3BBB:4F8F F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:4F91 EB 0F jmp short loc_966 ; (4FA2) 3BBB:4F93 loc_965: ; xref 3BBB:4F68, 4F7D 3BBB:4F93 8E 06 062E mov es,word ptr ds:[62Eh] ; (3BBB:062E=7493h) 3BBB:4F97 8B 3E 062C mov di,word ptr ds:[62Ch] ; (3BBB:062C=3Ch) 3BBB:4F9B B0 20 mov al,20h ; ' ' 3BBB:4F9D B9 000C mov cx,0Ch 3BBB:4FA0 F3/ AA rep stosb ; Rep when cx >0 Store al to es:[di] 3BBB:4FA2 loc_966: ; xref 3BBB:4F91 3BBB:4FA2 06 push es 3BBB:4FA3 57 push di 3BBB:4FA4 1E push ds 3BBB:4FA5 07 pop es 3BBB:4FA6 E8 DCB0 call sub_138 ; (2C59) 3BBB:4FA9 2B C9 sub cx,cx 3BBB:4FAB E8 0302 call sub_299 ; (52B0) 3BBB:4FAE 5F pop di 3BBB:4FAF 07 pop es 3BBB:4FB0 B0 21 mov al,21h ; '!' 3BBB:4FB2 AA stosb ; Store al to es:[di] 3BBB:4FB3 33 C0 xor ax,ax ; Zero register 3BBB:4FB5 AB stosw ; Store ax to es:[di] 3BBB:4FB6 B0 80 mov al,80h 3BBB:4FB8 AA stosb ; Store al to es:[di] 3BBB:4FB9 AA stosb ; Store al to es:[di] 3BBB:4FBA AA stosb ; Store al to es:[di] 3BBB:4FBB 33 C0 xor ax,ax ; Zero register 3BBB:4FBD B9 0027 mov cx,27h 3BBB:4FC0 F3/ AB rep stosw ; Rep when cx >0 Store ax to es:[di] 3BBB:4FC2 B0 21 mov al,21h ; '!' 3BBB:4FC4 AA stosb ; Store al to es:[di] 3BBB:4FC5 32 C0 xor al,al ; Zero register 3BBB:4FC7 B9 001F mov cx,1Fh 3BBB:4FCA F3/ AA rep stosb ; Rep when cx >0 Store al to es:[di] 3BBB:4FCC 1E push ds 3BBB:4FCD 07 pop es 3BBB:4FCE F6 47 0B 08 test byte ptr [bx+0Bh],8 3BBB:4FD2 75 03 jnz loc_ret_967 ; Jump if not zero 3BBB:4FD4 E9 DC82 jmp loc_497 ; (2C59) 3BBB:4FD7 loc_ret_967: ; xref 3BBB:4FD2 3BBB:4FD7 C3 retn ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:5F00 ;========================================================================== 3BBB:4FD8 sub_285 proc near 3BBB:4FD8 32 E4 xor ah,ah ; Zero register 3BBB:4FDA A0 07D9 mov al,byte ptr ds:[7D9h] ; (3BBB:07D9=8Eh) 3BBB:4FDD B1 05 mov cl,5 3BBB:4FDF D3 E0 shl ax,cl ; Shift w/zeros fill 3BBB:4FE1 0A 06 07DA or al,byte ptr ds:[7DAh] ; (3BBB:07DA=3) 3BBB:4FE5 A3 0638 mov word ptr ds:[638h],ax ; (3BBB:0638=50Eh) 3BBB:4FE8 A1 0785 mov ax,data_512 ; (3BBB:0785=204h) 3BBB:4FEB 8B 16 0787 mov dx,data_513 ; (3BBB:0787=19E8h) 3BBB:4FEF EB 0A jmp short loc_968 ; (4FFB) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:4EEF, 4F33, 4F50, 550A 3BBB:4FF1 sub_286: 3BBB:4FF1 8B 1E 07AF mov bx,data_533 ; (3BBB:07AF=0F8h) 3BBB:4FF5 8B 47 1C mov ax,[bx+1Ch] 3BBB:4FF8 8B 57 1E mov dx,[bx+1Eh] 3BBB:4FFB loc_968: ; xref 3BBB:4FEF 3BBB:4FFB 8B D8 mov bx,ax 3BBB:4FFD B1 0E mov cl,0Eh 3BBB:4FFF E8 033F call sub_302 ; (5341) 3BBB:5002 81 E3 3FFF and bx,3FFFh 3BBB:5006 0B DB or bx,bx ; Zero ? 3BBB:5008 75 08 jnz loc_969 ; Jump if not zero 3BBB:500A 0B C0 or ax,ax ; Zero ? 3BBB:500C 74 04 jz loc_969 ; Jump if zero 3BBB:500E 48 dec ax 3BBB:500F BB 4000 mov bx,4000h 3BBB:5012 loc_969: ; xref 3BBB:5008, 500C 3BBB:5012 3B 06 0638 cmp ax,word ptr ds:[638h] ; (3BBB:0638=50Eh) 3BBB:5016 73 04 jae loc_970 ; Jump if above or = 3BBB:5018 B8 FFFF mov ax,0FFFFh 3BBB:501B C3 retn 3BBB:501C loc_970: ; xref 3BBB:5016 3BBB:501C 77 03 ja loc_971 ; Jump if above 3BBB:501E 8B C3 mov ax,bx 3BBB:5020 C3 retn 3BBB:5021 loc_971: ; xref 3BBB:501C 3BBB:5021 B8 4000 mov ax,4000h 3BBB:5024 C3 retn sub_285 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:4F3B, 551C, 5707 ;========================================================================== 3BBB:5025 sub_287 proc near PARAMETER_1 = 4 ; bp+4 PARAMETER_2 = 6 ; bp+6 PARAMETER_3 = 8 ; bp+8 3BBB:5025 55 push bp 3BBB:5026 8B EC mov bp,sp 3BBB:5028 8B 7E 04 mov di,[bp+PARAMETER_1] 3BBB:502B F7 46 08 FFFF test word ptr [bp+PARAMETER_3],0FFFFh 3BBB:5030 75 06 jnz loc_972 ; Jump if not zero 3BBB:5032 A0 0627 mov al,byte ptr ds:[627h] ; (3BBB:0627=0FDh) 3BBB:5035 26: 88 05 mov es:[di],al 3BBB:5038 loc_972: ; xref 3BBB:5030 3BBB:5038 33 DB xor bx,bx ; Zero register 3BBB:503A 8B 36 07AF mov si,data_533 ; (3BBB:07AF=0F8h) 3BBB:503E loc_973: ; xref 3BBB:5088 3BBB:503E ,80 FB 0B cmp bl,0Bh 3BBB:5041 73 47 jae loc_979 ; Jump if above or = 3BBB:5043 32 C0 xor al,al ; Zero register 3BBB:5045 80 FB 04 cmp bl,4 3BBB:5048 77 0B ja loc_974 ; Jump if above 3BBB:504A 8A 44 0C mov al,[si+0Ch] 3BBB:504D 8A CB mov cl,bl 3BBB:504F D2 E0 shl al,cl ; Shift w/zeros fill 3BBB:5051 24 80 and al,80h 3BBB:5053 EB 27 jmp short loc_978 ; (507C) 3BBB:5055 loc_974: ; xref 3BBB:5048 3BBB:5055 80 FB 08 cmp bl,8 3BBB:5058 75 08 jne loc_975 ; Jump if not equal 3BBB:505A F6 44 0B 01 test byte ptr [si+0Bh],1 3BBB:505E 74 1C jz loc_978 ; Jump if zero 3BBB:5060 EB 18 jmp short loc_977 ; (507A) 3BBB:5062 loc_975: ; xref 3BBB:5058 3BBB:5062 80 FB 09 cmp bl,9 3BBB:5065 75 08 jne loc_976 ; Jump if not equal 3BBB:5067 F6 44 0B 04 test byte ptr [si+0Bh],4 3BBB:506B 74 0F jz loc_978 ; Jump if zero 3BBB:506D EB 0B jmp short loc_977 ; (507A) 3BBB:506F loc_976: ; xref 3BBB:5065 3BBB:506F 80 FB 0A cmp bl,0Ah 3BBB:5072 75 08 jne loc_978 ; Jump if not equal 3BBB:5074 F6 44 0B 20 test byte ptr [si+0Bh],20h ; ' ' 3BBB:5078 75 02 jnz loc_978 ; Jump if not zero 3BBB:507A loc_977: ; xref 3BBB:5060, 506D 3BBB:507A B0 80 mov al,80h 3BBB:507C loc_978: ; xref 3BBB:5053, 505E, 506B, 5072 ; 5078 3BBB:507C 8A 10 mov dl,[bx+si] 3BBB:507E 80 E2 7F and dl,7Fh 3BBB:5081 0A D0 or dl,al 3BBB:5083 26: 88 51 01 mov es:[bx+di+1],dl 3BBB:5087 43 inc bx 3BBB:5088 EB B4 jmp short loc_973 ; (503E) 3BBB:508A loc_979: ; xref 3BBB:5041 3BBB:508A A1 0638 mov ax,word ptr ds:[638h] ; (3BBB:0638=50Eh) 3BBB:508D 25 001F and ax,1Fh 3BBB:5090 26: 88 45 0C mov es:[di+0Ch],al 3BBB:5094 8B 46 06 mov ax,[bp+PARAMETER_2] 3BBB:5097 8A D0 mov dl,al 3BBB:5099 80 E2 7F and dl,7Fh 3BBB:509C D1 E0 shl ax,1 ; Shift w/zeros fill 3BBB:509E 8A C2 mov al,dl 3BBB:50A0 0A C0 or al,al ; Zero ? 3BBB:50A2 74 02 jz loc_980 ; Jump if zero 3BBB:50A4 FE C4 inc ah 3BBB:50A6 loc_980: ; xref 3BBB:50A2 3BBB:50A6 F7 46 08 FFFF test word ptr [bp+PARAMETER_3],0FFFFh 3BBB:50AB 75 04 jnz loc_981 ; Jump if not zero 3BBB:50AD 26: 88 45 0D mov es:[di+0Dh],al 3BBB:50B1 loc_981: ; xref 3BBB:50AB 3BBB:50B1 8B 1E 0638 mov bx,word ptr ds:[638h] ; (3BBB:0638=50Eh) 3BBB:50B5 B1 05 mov cl,5 3BBB:50B7 D3 EB shr bx,cl ; Shift w/zeros fill 3BBB:50B9 26: 88 5D 0E mov es:[di+0Eh],bl 3BBB:50BD 26: 88 65 0F mov es:[di+0Fh],ah 3BBB:50C1 B0 80 mov al,80h 3BBB:50C3 F6 44 0B 10 test byte ptr [si+0Bh],10h 3BBB:50C7 74 02 jz loc_982 ; Jump if zero 3BBB:50C9 0C 40 or al,40h ; '@' 3BBB:50CB loc_982: ; xref 3BBB:50C7 3BBB:50CB F6 44 0B 02 test byte ptr [si+0Bh],2 3BBB:50CF 74 02 jz loc_983 ; Jump if zero 3BBB:50D1 0C 20 or al,20h ; ' ' 3BBB:50D3 loc_983: ; xref 3BBB:50CF 3BBB:50D3 8B 1E 0636 mov bx,word ptr ds:[636h] ; (3BBB:0636=8A26h) 3BBB:50D7 0A C7 or al,bh 3BBB:50D9 26: 88 45 10 mov es:[di+10h],al 3BBB:50DD 26: 88 45 11 mov es:[di+11h],al 3BBB:50E1 26: 88 5D 12 mov es:[di+12h],bl 3BBB:50E5 33 C0 xor ax,ax ; Zero register 3BBB:50E7 26: 88 45 13 mov es:[di+13h],al 3BBB:50EB 26: 89 45 14 mov es:[di+14h],ax 3BBB:50EF 8D 7D 16 lea di,[di+16h] ; Load effective addr 3BBB:50F2 8D 74 16 lea si,[si+16h] ; Load effective addr 3BBB:50F5 B9 0005 mov cx,5 3BBB:50F8 F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:50FA 5D pop bp 3BBB:50FB C3 retn sub_287 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:4F49 ;========================================================================== 3BBB:50FC sub_288 proc near 3BBB:50FC B0 21 mov al,21h ; '!' 3BBB:50FE AA stosb ; Store al to es:[di] 3BBB:50FF 8B 1E 07AF mov bx,data_533 ; (3BBB:07AF=0F8h) 3BBB:5103 8B 47 18 mov ax,[bx+18h] 3BBB:5106 8B 5F 16 mov bx,[bx+16h] 3BBB:5109 0B C3 or ax,bx 3BBB:510B 75 06 jnz loc_984 ; Jump if not zero 3BBB:510D B9 001F mov cx,1Fh 3BBB:5110 F3/ AA rep stosb ; Rep when cx >0 Store al to es:[di] 3BBB:5112 C3 retn 3BBB:5113 loc_984: ; xref 3BBB:510B 3BBB:5113 E8 0012 call sub_289 ; (5128) 3BBB:5116 E8 0085 call sub_291 ; (519E) 3BBB:5119 33 C0 xor ax,ax ; Zero register 3BBB:511B AB stosw ; Store ax to es:[di] 3BBB:511C AB stosw ; Store ax to es:[di] 3BBB:511D ,BE 07AA mov si,offset data_529 ; (3BBB:07AA=0AAh) 3BBB:5120 A5 movsw ; Mov [si] to es:[di] 3BBB:5121 A5 movsw ; Mov [si] to es:[di] 3BBB:5122 B9 0015 mov cx,15h 3BBB:5125 F3/ AA rep stosb ; Rep when cx >0 Store al to es:[di] 3BBB:5127 C3 retn sub_288 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:5113, 5A4C ;========================================================================== 3BBB:5128 sub_289 proc near 3BBB:5128 8B 1E 07AF mov bx,data_533 ; (3BBB:07AF=0F8h) 3BBB:512C 8B 47 18 mov ax,[bx+18h] 3BBB:512F 8A D0 mov dl,al 3BBB:5131 80 E2 1F and dl,1Fh 3BBB:5134 88 16 07D1 mov byte ptr ds:[7D1h],dl ; (3BBB:07D1=85h) 3BBB:5138 B1 05 mov cl,5 3BBB:513A D3 E8 shr ax,cl ; Shift w/zeros fill 3BBB:513C 8A D0 mov dl,al 3BBB:513E 80 E2 0F and dl,0Fh 3BBB:5141 88 16 07D0 mov byte ptr ds:[7D0h],dl ; (3BBB:07D0=4) 3BBB:5145 B1 04 mov cl,4 3BBB:5147 D3 E8 shr ax,cl ; Shift w/zeros fill 3BBB:5149 A2 07CF mov byte ptr ds:[7CFh],al ; (3BBB:07CF=5Bh) 3BBB:514C 8B 47 16 mov ax,[bx+16h] 3BBB:514F 8A D0 mov dl,al 3BBB:5151 80 E2 1F and dl,1Fh 3BBB:5154 88 16 07D4 mov byte ptr ds:[7D4h],dl ; (3BBB:07D4=3) 3BBB:5158 B1 05 mov cl,5 3BBB:515A D3 E8 shr ax,cl ; Shift w/zeros fill 3BBB:515C 8A D0 mov dl,al 3BBB:515E 80 E2 3F and dl,3Fh ; '?' 3BBB:5161 88 16 07D3 mov byte ptr ds:[7D3h],dl ; (3BBB:07D3=75h) 3BBB:5165 B1 06 mov cl,6 3BBB:5167 D3 E8 shr ax,cl ; Shift w/zeros fill 3BBB:5169 A2 07D2 mov byte ptr ds:[7D2h],al ; (3BBB:07D2=0C0h) 3BBB:516C C3 retn sub_289 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:5643, 56B0, 56DB, 5A32, 5A73 ;========================================================================== 3BBB:516D sub_290 proc near 3BBB:516D 8B 1E 07AF mov bx,data_533 ; (3BBB:07AF=0F8h) 3BBB:5171 A0 07CF mov al,byte ptr ds:[7CFh] ; (3BBB:07CF=5Bh) 3BBB:5174 B1 04 mov cl,4 3BBB:5176 D3 E0 shl ax,cl ; Shift w/zeros fill 3BBB:5178 02 06 07D0 add al,byte ptr ds:[7D0h] ; (3BBB:07D0=4) 3BBB:517C B1 05 mov cl,5 3BBB:517E D3 E0 shl ax,cl ; Shift w/zeros fill 3BBB:5180 02 06 07D1 add al,byte ptr ds:[7D1h] ; (3BBB:07D1=85h) 3BBB:5184 89 47 18 mov [bx+18h],ax 3BBB:5187 A0 07D2 mov al,byte ptr ds:[7D2h] ; (3BBB:07D2=0C0h) 3BBB:518A B1 06 mov cl,6 3BBB:518C D3 E0 shl ax,cl ; Shift w/zeros fill 3BBB:518E 02 06 07D3 add al,byte ptr ds:[7D3h] ; (3BBB:07D3=75h) 3BBB:5192 B1 05 mov cl,5 3BBB:5194 D3 E0 shl ax,cl ; Shift w/zeros fill 3BBB:5196 02 06 07D4 add al,byte ptr ds:[7D4h] ; (3BBB:07D4=3) 3BBB:519A 89 47 16 mov [bx+16h],ax 3BBB:519D C3 retn sub_290 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:5116, 5A4F ;========================================================================== 3BBB:519E sub_291 proc near 3BBB:519E 33 DB xor bx,bx ; Zero register 3BBB:51A0 8A 1E 07D0 mov bl,byte ptr ds:[7D0h] ; (3BBB:07D0=4) 3BBB:51A4 4B dec bx 3BBB:51A5 03 DB add bx,bx 3BBB:51A7 8B 87 07B3 mov ax,data_535[bx] ; (3BBB:07B3=0C704h) 3BBB:51AB 50 push ax 3BBB:51AC 32 E4 xor ah,ah ; Zero register 3BBB:51AE A0 07CF mov al,byte ptr ds:[7CFh] ; (3BBB:07CF=5Bh) 3BBB:51B1 40 inc ax 3BBB:51B2 40 inc ax 3BBB:51B3 ,BB 016D mov bx,offset data_227 ; (3BBB:016D=0A0h) 3BBB:51B6 F7 E3 mul bx ; dx:ax = reg * ax 3BBB:51B8 5B pop bx 3BBB:51B9 03 C3 add ax,bx 3BBB:51BB 33 DB xor bx,bx ; Zero register 3BBB:51BD 8A 1E 07D1 mov bl,byte ptr ds:[7D1h] ; (3BBB:07D1=85h) 3BBB:51C1 03 C3 add ax,bx 3BBB:51C3 50 push ax 3BBB:51C4 8A 1E 07D0 mov bl,byte ptr ds:[7D0h] ; (3BBB:07D0=4) 3BBB:51C8 32 FF xor bh,bh ; Zero register 3BBB:51CA A0 07CF mov al,byte ptr ds:[7CFh] ; (3BBB:07CF=5Bh) 3BBB:51CD 04 04 add al,4 3BBB:51CF 32 E4 xor ah,ah ; Zero register 3BBB:51D1 E8 009C call sub_294 ; (5270) 3BBB:51D4 5B pop bx 3BBB:51D5 03 C3 add ax,bx 3BBB:51D7 A3 07AA mov data_529,ax ; (3BBB:07AA=5AAh) 3BBB:51DA A0 07D2 mov al,byte ptr ds:[7D2h] ; (3BBB:07D2=0C0h) 3BBB:51DD E8 00AA call sub_295 ; (528A) 3BBB:51E0 A2 07AC mov data_530,al ; (3BBB:07AC=0E3h) 3BBB:51E3 A0 07D3 mov al,byte ptr ds:[7D3h] ; (3BBB:07D3=75h) 3BBB:51E6 E8 00A1 call sub_295 ; (528A) 3BBB:51E9 A2 07AD mov data_531,al ; (3BBB:07AD=3) 3BBB:51EC C3 retn sub_291 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:5640, 5A2F ;========================================================================== 3BBB:51ED sub_292 proc near 3BBB:51ED ,BE 005F mov si,offset data_204 ; (3BBB:005F=0) 3BBB:51F0 ,BF 07AA mov di,offset data_529 ; (3BBB:07AA=0AAh) 3BBB:51F3 B9 0005 mov cx,5 3BBB:51F6 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:5A70 3BBB:51F8 sub_293: 3BBB:51F8 B9 004E mov cx,4Eh 3BBB:51FB 8B 1E 07AA mov bx,data_529 ; (3BBB:07AA=5AAh) 3BBB:51FF 4B dec bx 3BBB:5200 loc_985: ; xref 3BBB:5210 3BBB:5200 ,BA 016D mov dx,16Dh 3BBB:5203 F6 C1 03 test cl,3 3BBB:5206 75 01 jnz loc_986 ; Jump if not zero 3BBB:5208 42 inc dx 3BBB:5209 loc_986: ; xref 3BBB:5206 3BBB:5209 3B DA cmp bx,dx 3BBB:520B 72 05 jb loc_987 ; Jump if below 3BBB:520D 2B DA sub bx,dx 3BBB:520F 41 inc cx 3BBB:5210 EB EE jmp short loc_985 ; (5200) 3BBB:5212 loc_987: ; xref 3BBB:520B 3BBB:5212 33 D2 xor dx,dx ; Zero register 3BBB:5214 F6 C1 03 test cl,3 3BBB:5217 75 08 jnz loc_988 ; Jump if not zero 3BBB:5219 83 FB 3B cmp bx,3Bh 3BBB:521C 76 03 jbe loc_988 ; Jump if below or = 3BBB:521E BA 0001 mov dx,1 3BBB:5221 loc_988: ; xref 3BBB:5217, 521C 3BBB:5221 ,BE 0018 mov si,offset data_169 ; (3BBB:0018=0) 3BBB:5224 loc_989: ; xref 3BBB:5232 3BBB:5224 4E dec si 3BBB:5225 4E dec si 3BBB:5226 0B F6 or si,si ; Zero ? 3BBB:5228 74 0A jz loc_990 ; Jump if zero 3BBB:522A 8B 84 07B3 mov ax,data_535[si] ; (3BBB:07B3=0C704h) 3BBB:522E 03 C2 add ax,dx 3BBB:5230 3B C3 cmp ax,bx 3BBB:5232 77 F0 ja loc_989 ; Jump if above 3BBB:5234 loc_990: ; xref 3BBB:5228 3BBB:5234 83 E9 50 sub cx,50h 3BBB:5237 88 0E 07CF mov byte ptr ds:[7CFh],cl ; (3BBB:07CF=5Bh) 3BBB:523B 8B C6 mov ax,si 3BBB:523D D0 E8 shr al,1 ; Shift w/zeros fill 3BBB:523F FE C0 inc al 3BBB:5241 A2 07D0 mov byte ptr ds:[7D0h],al ; (3BBB:07D0=4) 3BBB:5244 8B 84 07B3 mov ax,data_535[si] ; (3BBB:07B3=0C704h) 3BBB:5248 2B D8 sub bx,ax 3BBB:524A 2B DA sub bx,dx 3BBB:524C FE C3 inc bl 3BBB:524E 88 1E 07D1 mov byte ptr ds:[7D1h],bl ; (3BBB:07D1=85h) 3BBB:5252 A0 07AC mov al,data_530 ; (3BBB:07AC=0E3h) 3BBB:5255 E8 0042 call sub_296 ; (529A) 3BBB:5258 A2 07D2 mov byte ptr ds:[7D2h],al ; (3BBB:07D2=0C0h) 3BBB:525B A0 07AD mov al,data_531 ; (3BBB:07AD=3) 3BBB:525E E8 0039 call sub_296 ; (529A) 3BBB:5261 A2 07D3 mov byte ptr ds:[7D3h],al ; (3BBB:07D3=75h) 3BBB:5264 A0 07AE mov al,data_532 ; (3BBB:07AE=0E9h) 3BBB:5267 E8 0030 call sub_296 ; (529A) 3BBB:526A D0 E8 shr al,1 ; Shift w/zeros fill 3BBB:526C A2 07D4 mov byte ptr ds:[7D4h],al ; (3BBB:07D4=3) 3BBB:526F C3 retn sub_292 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:51D1 ;========================================================================== 3BBB:5270 sub_294 proc near 3BBB:5270 8B D0 mov dx,ax 3BBB:5272 D1 E8 shr ax,1 ; Shift w/zeros fill 3BBB:5274 D1 E8 shr ax,1 ; Shift w/zeros fill 3BBB:5276 F7 C2 0003 test dx,3 3BBB:527A 75 0D jnz loc_ret_991 ; Jump if not zero 3BBB:527C 4B dec bx 3BBB:527D 03 DB add bx,bx 3BBB:527F 8B 9F 07B3 mov bx,data_535[bx] ; (3BBB:07B3=0C704h) 3BBB:5283 83 FB 3B cmp bx,3Bh 3BBB:5286 73 01 jae loc_ret_991 ; Jump if above or = 3BBB:5288 48 dec ax 3BBB:5289 loc_ret_991: ; xref 3BBB:527A, 5286 3BBB:5289 C3 retn sub_294 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:51DD, 51E6 ;========================================================================== 3BBB:528A sub_295 proc near 3BBB:528A 32 E4 xor ah,ah ; Zero register 3BBB:528C loc_992: ; xref 3BBB:5295 3BBB:528C ,3C 0A cmp al,0Ah 3BBB:528E 72 07 jb loc_993 ; Jump if below 3BBB:5290 2C 0A sub al,0Ah 3BBB:5292 80 C4 10 add ah,10h 3BBB:5295 EB F5 jmp short loc_992 ; (528C) 3BBB:5297 loc_993: ; xref 3BBB:528E 3BBB:5297 02 C4 add al,ah 3BBB:5299 C3 retn sub_295 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:5255, 525E, 5267 ;========================================================================== 3BBB:529A sub_296 proc near 3BBB:529A 32 E4 xor ah,ah ; Zero register 3BBB:529C loc_994: ; xref 3BBB:52A5 3BBB:529C ,3C 10 cmp al,10h 3BBB:529E 72 07 jb loc_995 ; Jump if below 3BBB:52A0 2C 10 sub al,10h 3BBB:52A2 80 C4 0A add ah,0Ah 3BBB:52A5 EB F5 jmp short loc_994 ; (529C) 3BBB:52A7 loc_995: ; xref 3BBB:529E 3BBB:52A7 02 C4 add al,ah 3BBB:52A9 C3 retn sub_296 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:539C, 557F, 55B5, 58C6, 58F8, 59A6, 5A38 ; 5A5B, 6186 ;========================================================================== 3BBB:52AA sub_297 proc near 3BBB:52AA E8 D9AC call sub_138 ; (2C59) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:5734, 57BA, 5A81, 6125 3BBB:52AD sub_298: 3BBB:52AD B9 0002 mov cx,2 ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:4EC7, 4F76, 4FAB, 55C7, 5611, 58B0 3BBB:52B0 sub_299: 3BBB:52B0 loc_996: ; xref 3BBB:530C 3BBB:52B0 ,51 push cx 3BBB:52B1 E8 DE92 call sub_165 ; (3146) 3BBB:52B4 59 pop cx 3BBB:52B5 A3 07AF mov data_533,ax ; (3BBB:07AF=0F8h) 3BBB:52B8 8B D8 mov bx,ax 3BBB:52BA 0B C0 or ax,ax ; Zero ? 3BBB:52BC 74 30 jz loc_1001 ; Jump if zero 3BBB:52BE 80 F9 00 cmp cl,0 3BBB:52C1 75 03 jne loc_998 ; Jump if not equal 3BBB:52C3 loc_997: ; xref 3BBB:52CF, 52D3 3BBB:52C3 8B C3 mov ax,bx 3BBB:52C5 C3 retn 3BBB:52C6 loc_998: ; xref 3BBB:52C1 3BBB:52C6 80 F9 01 cmp cl,1 3BBB:52C9 75 0C jne loc_999 ; Jump if not equal 3BBB:52CB 8A 07 mov al,[bx] 3BBB:52CD 0A C0 or al,al ; Zero ? 3BBB:52CF 74 F2 jz loc_997 ; Jump if zero 3BBB:52D1 3C E5 cmp al,0E5h 3BBB:52D3 74 EE je loc_997 ; Jump if equal 3BBB:52D5 EB 35 jmp short loc_1003 ; (530C) 3BBB:52D7 loc_999: ; xref 3BBB:52C9 3BBB:52D7 53 push bx 3BBB:52D8 E8 0EF4 call sub_325 ; (61CF) 3BBB:52DB 5B pop bx 3BBB:52DC 75 13 jnz loc_1002 ; Jump if not zero 3BBB:52DE A1 0636 mov ax,word ptr ds:[636h] ; (3BBB:0636=8A26h) 3BBB:52E1 8B 36 0647 mov si,word ptr ds:[647h] ; (3BBB:0647=45Ch) 3BBB:52E5 3B 04 cmp ax,[si] 3BBB:52E7 72 08 jb loc_1002 ; Jump if below 3BBB:52E9 loc_1000: ; xref 3BBB:52F5 3BBB:52E9 33 C0 xor ax,ax ; Zero register 3BBB:52EB A3 07AF mov data_533,ax ; (3BBB:07AF=0F8h) 3BBB:52EE loc_1001: ; xref 3BBB:52BC 3BBB:52EE 8B D8 mov bx,ax 3BBB:52F0 C3 retn 3BBB:52F1 loc_1002: ; xref 3BBB:52DC, 52E7 3BBB:52F1 8A 07 mov al,[bx] 3BBB:52F3 0A C0 or al,al ; Zero ? 3BBB:52F5 74 F2 jz loc_1000 ; Jump if zero 3BBB:52F7 3C E5 cmp al,0E5h 3BBB:52F9 74 11 je loc_1003 ; Jump if equal 3BBB:52FB F6 47 0B 08 test byte ptr [bx+0Bh],8 3BBB:52FF 75 0B jnz loc_1003 ; Jump if not zero 3BBB:5301 E8 000B call sub_300 ; (530F) 3BBB:5304 0A C0 or al,al ; Zero ? 3BBB:5306 74 04 jz loc_1003 ; Jump if zero 3BBB:5308 A1 07AF mov ax,data_533 ; (3BBB:07AF=0F8h) 3BBB:530B C3 retn 3BBB:530C loc_1003: ; xref 3BBB:52D5, 52F9, 52FF, 5306 3BBB:530C E9 FFA1 ;* jmp loc_996 ; (52B0) sub_297 endp 3BBB:530C db 0E9h,0A1h,0FFh ; Fixup - byte match ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:5301 ;========================================================================== 3BBB:530F sub_300 proc near 3BBB:530F 8A C5 mov al,ch 3BBB:5311 51 push cx 3BBB:5312 32 E4 xor ah,ah ; Zero register 3BBB:5314 ,BE 076A mov si,76Ah ; (3BBB:076A=8Eh) 3BBB:5317 03 F0 add si,ax 3BBB:5319 B9 000B mov cx,0Bh 3BBB:531C locloop_1004: ; xref 3BBB:5332 3BBB:531C 8A 04 mov al,[si] 3BBB:531E 32 07 xor al,[bx] 3BBB:5320 A8 7F test al,7Fh 3BBB:5322 74 0C jz loc_1005 ; Jump if zero 3BBB:5324 8A 04 mov al,[si] 3BBB:5326 34 3F xor al,3Fh ; '?' 3BBB:5328 A8 7F test al,7Fh 3BBB:532A 74 04 jz loc_1005 ; Jump if zero 3BBB:532C 32 C0 xor al,al ; Zero register 3BBB:532E 59 pop cx 3BBB:532F C3 retn 3BBB:5330 loc_1005: ; xref 3BBB:5322, 532A 3BBB:5330 46 inc si 3BBB:5331 43 inc bx 3BBB:5332 E2 E8 loop locloop_1004 ; Loop if cx > 0 3BBB:5334 0C 01 or al,1 3BBB:5336 59 pop cx 3BBB:5337 C3 retn sub_300 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:59C8 ;========================================================================== 3BBB:5338 sub_301 proc near 3BBB:5338 32 ED xor ch,ch ; Zero register 3BBB:533A locloop_1006: ; xref 3BBB:533E 3BBB:533A D1 E0 shl ax,1 ; Shift w/zeros fill 3BBB:533C D1 D2 rcl dx,1 ; Rotate thru carry 3BBB:533E E2 FA loop locloop_1006 ; Loop if cx > 0 3BBB:5340 C3 retn sub_301 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:4FFF, 5AC3, 5E12, 5E1F, 5FF2, 6092 ;========================================================================== 3BBB:5341 sub_302 proc near 3BBB:5341 32 ED xor ch,ch ; Zero register 3BBB:5343 locloop_1007: ; xref 3BBB:5347 3BBB:5343 D1 EA shr dx,1 ; Shift w/zeros fill 3BBB:5345 D1 D8 rcr ax,1 ; Rotate thru carry 3BBB:5347 E2 FA loop locloop_1007 ; Loop if cx > 0 3BBB:5349 C3 retn sub_302 endp ;* No entry point to code 3BBB:534A F7 E1 mul cx ; dx:ax = reg * ax 3BBB:534C 52 push dx 3BBB:534D 93 xchg bx,ax 3BBB:534E F7 E1 mul cx ; dx:ax = reg * ax 3BBB:5350 5A pop dx 3BBB:5351 03 C2 add ax,dx 3BBB:5353 93 xchg bx,ax 3BBB:5354 C3 retn ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:5C6A ;========================================================================== 3BBB:5355 sub_303 proc near 3BBB:5355 E3 20 jcxz loc_1009 ; Jump if cx=0 3BBB:5357 83 F9 01 cmp cx,1 3BBB:535A 75 05 jne loc_1008 ; Jump if not equal 3BBB:535C 8B D3 mov dx,bx 3BBB:535E 33 C9 xor cx,cx ; Zero register 3BBB:5360 C3 retn 3BBB:5361 loc_1008: ; xref 3BBB:535A 3BBB:5361 33 D2 xor dx,dx ; Zero register 3BBB:5363 93 xchg bx,ax 3BBB:5364 50 push ax 3BBB:5365 F7 F1 div cx ; ax,dx rem=dx:ax/reg 3BBB:5367 8B F8 mov di,ax 3BBB:5369 F7 E1 mul cx ; dx:ax = reg * ax 3BBB:536B 5A pop dx 3BBB:536C 2B D0 sub dx,ax 3BBB:536E 8B C3 mov ax,bx 3BBB:5370 F7 F1 div cx ; ax,dx rem=dx:ax/reg 3BBB:5372 8B CA mov cx,dx 3BBB:5374 8B D7 mov dx,di 3BBB:5376 C3 retn 3BBB:5377 loc_1009: ; xref 3BBB:5355 3BBB:5377 B8 FFFF mov ax,0FFFFh 3BBB:537A 8B D0 mov dx,ax 3BBB:537C C3 retn sub_303 endp 3BBB:537D loc_1010: ; xref 3BBB:44DC 3BBB:537D B1 C0 mov cl,0C0h 3BBB:537F E8 01C1 call sub_306 ; (5543) 3BBB:5382 F6 06 05E0 FF test byte ptr ds:[5E0h],0FFh ; (3BBB:05E0=0C3h) 3BBB:5387 74 13 jz loc_1011 ; Jump if zero 3BBB:5389 E8 0E43 call sub_325 ; (61CF) 3BBB:538C 75 0E jnz loc_1011 ; Jump if not zero 3BBB:538E 80 3E 076A 2E cmp byte ptr ds:[76Ah],2Eh ; (3BBB:076A=8Eh) '.' 3BBB:5393 75 07 jne loc_1011 ; Jump if not equal 3BBB:5395 80 3E 076B 20 cmp byte ptr ds:[76Bh],20h ; (3BBB:076B=0C0h) ' ' 3BBB:539A 74 21 je loc_1012 ; Jump if equal 3BBB:539C loc_1011: ; xref 3BBB:5387, 538C, 5393 3BBB:539C E8 FF0B call sub_297 ; (52AA) 3BBB:539F 0B C0 or ax,ax ; Zero ? 3BBB:53A1 75 30 jnz loc_1014 ; Jump if not zero 3BBB:53A3 F6 06 05E0 FF test byte ptr ds:[5E0h],0FFh ; (3BBB:05E0=0C3h) 3BBB:53A8 74 26 jz loc_1013 ; Jump if zero 3BBB:53AA E8 0E22 call sub_325 ; (61CF) 3BBB:53AD 75 21 jnz loc_1013 ; Jump if not zero ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:44E6 ;========================================================================== 3BBB:53AF sub_304 proc near 3BBB:53AF 80 3E 076A 2E cmp byte ptr ds:[76Ah],2Eh ; (3BBB:076A=8Eh) '.' 3BBB:53B4 75 1A jne loc_1013 ; Jump if not equal 3BBB:53B6 80 3E 076B 20 cmp byte ptr ds:[76Bh],20h ; (3BBB:076B=0C0h) ' ' 3BBB:53BB 75 13 jne loc_1013 ; Jump if not equal 3BBB:53BD loc_1012: ; xref 3BBB:539A, 556F 3BBB:53BD ,B8 076B mov ax,76Bh 3BBB:53C0 A3 07AF mov data_533,ax ; (3BBB:07AF=0F8h) 3BBB:53C3 C6 06 0776 10 mov byte ptr ds:[776h],10h ; (3BBB:0776=8Bh) 3BBB:53C8 C7 06 0785 0000 mov data_512,0 ; (3BBB:0785=204h) 3BBB:53CE EB 03 jmp short loc_1014 ; (53D3) 3BBB:53D0 loc_1013: ; xref 3BBB:53A8, 53AD, 53B4, 53BB ; 53E6, 53EE, 54EB 3BBB:53D0 ,E9 E37B jmp loc_649 ; (374E) 3BBB:53D3 loc_1014: ; xref 3BBB:53A1, 53CE 3BBB:53D3 F6 06 05E0 FF test byte ptr ds:[5E0h],0FFh ; (3BBB:05E0=0C3h) 3BBB:53D8 75 03 jnz loc_1015 ; Jump if not zero 3BBB:53DA E9 0106 jmp loc_1031 ; (54E3) 3BBB:53DD loc_1015: ; xref 3BBB:53D8 3BBB:53DD 33 DB xor bx,bx ; Zero register 3BBB:53DF 8A 1E 0775 mov bl,byte ptr ds:[775h] ; (3BBB:0775=0F0h) 3BBB:53E3 80 FB 04 cmp bl,4 3BBB:53E6 73 E8 jae loc_1013 ; Jump if above or = 3BBB:53E8 8B F8 mov di,ax 3BBB:53EA F6 45 0B 10 test byte ptr [di+0Bh],10h 3BBB:53EE 74 E0 jz loc_1013 ; Jump if zero 3BBB:53F0 0A DB or bl,bl ; Zero ? 3BBB:53F2 74 05 jz loc_1016 ; Jump if zero 3BBB:53F4 80 C3 0C add bl,0Ch 3BBB:53F7 EB 33 jmp short loc_1020 ; (542C) 3BBB:53F9 loc_1016: ; xref 3BBB:53F2 3BBB:53F9 83 3E 07E6 00 cmp word ptr ds:[7E6h],0 ; (3BBB:07E6=0A307h) 3BBB:53FE 74 06 je loc_1017 ; Jump if equal 3BBB:5400 8A 1E 07EC mov bl,byte ptr ds:[7ECh] ; (3BBB:07EC=0) 3BBB:5404 EB 26 jmp short loc_1020 ; (542C) 3BBB:5406 loc_1017: ; xref 3BBB:53FE 3BBB:5406 8A 1E 05CF mov bl,byte ptr ds:[5CFh] ; (3BBB:05CF=2) 3BBB:540A 80 EB 01 sub bl,1 3BBB:540D 73 0C jnc loc_1018 ; Jump if carry=0 3BBB:540F 1E push ds 3BBB:5410 8E 1E 004E mov ds,data_193 ; (3BBB:004E=0) 3BBB:5414 8A 1E 0036 mov bl,ds:data_16e ; (0000:0036=7Ch) 3BBB:5418 1F pop ds 3BBB:5419 EB 11 jmp short loc_1020 ; (542C) 3BBB:541B loc_1018: ; xref 3BBB:540D 3BBB:541B 80 E3 1F and bl,1Fh 3BBB:541E 80 FB 0D cmp bl,0Dh 3BBB:5421 72 05 jb loc_1019 ; Jump if below 3BBB:5423 80 FB 0F cmp bl,0Fh 3BBB:5426 76 04 jbe loc_1020 ; Jump if below or = 3BBB:5428 loc_1019: ; xref 3BBB:5421 3BBB:5428 8A 1E 0626 mov bl,byte ptr ds:[626h] ; (3BBB:0626=91h) 3BBB:542C loc_1020: ; xref 3BBB:53F7, 5404, 5419, 5426 3BBB:542C 1E push ds 3BBB:542D 8E 1E 004E mov ds,data_193 ; (3BBB:004E=0) 3BBB:5431 8B 36 0011 mov si,ds:data_6e ; (0000:0011=7002h) 3BBB:5435 1F pop ds 3BBB:5436 0B F6 or si,si ; Zero ? 3BBB:5438 8B D6 mov dx,si 3BBB:543A 74 09 jz loc_1021 ; Jump if zero 3BBB:543C 83 7C 20 01 cmp word ptr [si+20h],1 3BBB:5440 74 42 je loc_1025 ; Jump if equal 3BBB:5442 FF 4C 20 dec word ptr [si+20h] 3BBB:5445 loc_1021: ; xref 3BBB:543A 3BBB:5445 9C pushf ; Push flags 3BBB:5446 FA cli ; Disable interrupts 3BBB:5447 8B 36 0192 mov si,data_245 ; (3BBB:0192=0E4E2h) 3BBB:544B 0B F6 or si,si ; Zero ? 3BBB:544D 75 03 jnz loc_1022 ; Jump if not zero 3BBB:544F 9D popf ; Pop flags 3BBB:5450 EB 48 jmp short loc_1027 ; (549A) 3BBB:5452 loc_1022: ; xref 3BBB:544D 3BBB:5452 8B 04 mov ax,[si] 3BBB:5454 A3 0192 mov data_245,ax ; (3BBB:0192=0E4E2h) 3BBB:5457 9D popf ; Pop flags 3BBB:5458 06 push es 3BBB:5459 8E 06 004E mov es,data_193 ; (3BBB:004E=0) 3BBB:545D 26: 89 36 0011 mov es:data_6e,si ; (0000:0011=7002h) 3BBB:5462 07 pop es 3BBB:5463 0B D2 or dx,dx ; Zero ? 3BBB:5465 74 0F jz loc_1023 ; Jump if zero 3BBB:5467 8B EE mov bp,si 3BBB:5469 8B FE mov di,si 3BBB:546B 8B F2 mov si,dx 3BBB:546D B9 0012 mov cx,12h 3BBB:5470 F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:5472 8B F5 mov si,bp 3BBB:5474 EB 09 jmp short loc_1024 ; (547F) 3BBB:5476 loc_1023: ; xref 3BBB:5465 3BBB:5476 33 C0 xor ax,ax ; Zero register 3BBB:5478 8B FE mov di,si 3BBB:547A B9 0012 mov cx,12h 3BBB:547D F3/ AB rep stosw ; Rep when cx >0 Store ax to es:[di] 3BBB:547F loc_1024: ; xref 3BBB:5474 3BBB:547F C7 44 20 0001 mov word ptr [si+20h],1 3BBB:5484 loc_1025: ; xref 3BBB:5440 3BBB:5484 03 DB add bx,bx 3BBB:5486 03 F3 add si,bx 3BBB:5488 8B 1C mov bx,[si] 3BBB:548A 0B DB or bx,bx ; Zero ? 3BBB:548C 74 05 jz loc_1026 ; Jump if zero 3BBB:548E FF 4F 08 dec word ptr [bx+8] 3BBB:5491 74 0C jz loc_1028 ; Jump if zero 3BBB:5493 loc_1026: ; xref 3BBB:548C 3BBB:5493 56 push si 3BBB:5494 E8 EF9A call sub_270 ; (4431) 3BBB:5497 5E pop si 3BBB:5498 75 05 jnz loc_1028 ; Jump if not zero 3BBB:549A loc_1027: ; xref 3BBB:5450 3BBB:549A B4 0B mov ah,0Bh 3BBB:549C E9 D539 jmp loc_467 ; (29D8) 3BBB:549F loc_1028: ; xref 3BBB:5491, 5498 3BBB:549F 89 1C mov [si],bx 3BBB:54A1 A0 0646 mov al,byte ptr ds:[646h] ; (3BBB:0646=0C4h) 3BBB:54A4 88 07 mov [bx],al 3BBB:54A6 8B 36 0649 mov si,word ptr ds:[649h] ; (3BBB:0649=8B26h) 3BBB:54AA 8A 44 02 mov al,[si+2] 3BBB:54AD 88 47 01 mov [bx+1],al 3BBB:54B0 8B 3E 07AF mov di,data_533 ; (3BBB:07AF=0F8h) 3BBB:54B4 8B 55 1A mov dx,[di+1Ah] 3BBB:54B7 3B 16 07E8 cmp dx,word ptr ds:[7E8h] ; (3BBB:07E8=464h) 3BBB:54BB 75 10 jne loc_1029 ; Jump if not equal 3BBB:54BD 8B 36 07E6 mov si,word ptr ds:[7E6h] ; (3BBB:07E6=0A307h) 3BBB:54C1 0B F6 or si,si ; Zero ? 3BBB:54C3 74 08 jz loc_1029 ; Jump if zero 3BBB:54C5 8B 44 02 mov ax,[si+2] 3BBB:54C8 8B 4C 04 mov cx,[si+4] 3BBB:54CB EB 07 jmp short loc_1030 ; (54D4) 3BBB:54CD loc_1029: ; xref 3BBB:54BB, 54C3 3BBB:54CD A1 07E8 mov ax,word ptr ds:[7E8h] ; (3BBB:07E8=464h) 3BBB:54D0 8B 0E 0636 mov cx,word ptr ds:[636h] ; (3BBB:0636=8A26h) 3BBB:54D4 loc_1030: ; xref 3BBB:54CB 3BBB:54D4 89 47 02 mov [bx+2],ax 3BBB:54D7 89 4F 04 mov [bx+4],cx 3BBB:54DA 89 57 06 mov [bx+6],dx 3BBB:54DD C7 47 08 0001 mov word ptr [bx+8],1 3BBB:54E2 C3 retn 3BBB:54E3 loc_1031: ; xref 3BBB:53DA 3BBB:54E3 8B D8 mov bx,ax 3BBB:54E5 F6 47 0B 10 test byte ptr [bx+0Bh],10h 3BBB:54E9 74 03 jz loc_1032 ; Jump if zero 3BBB:54EB E9 FEE2 jmp loc_1013 ; (53D0) 3BBB:54EE loc_1032: ; xref 3BBB:54E9 3BBB:54EE 80 3E 068C 80 cmp byte ptr ds:[68Ch],80h ; (3BBB:068C=4) 3BBB:54F3 75 0B jne loc_1033 ; Jump if not equal 3BBB:54F5 F6 47 0B 01 test byte ptr [bx+0Bh],1 3BBB:54F9 74 05 jz loc_1033 ; Jump if zero 3BBB:54FB C6 06 068C 20 mov byte ptr ds:[68Ch],20h ; (3BBB:068C=4) ' ' 3BBB:5500 loc_1033: ; xref 3BBB:54F3, 54F9 3BBB:5500 A0 0775 mov al,byte ptr ds:[775h] ; (3BBB:0775=0F0h) 3BBB:5503 24 1F and al,1Fh 3BBB:5505 32 E4 xor ah,ah ; Zero register 3BBB:5507 A3 0638 mov word ptr ds:[638h],ax ; (3BBB:0638=50Eh) 3BBB:550A E8 FAE4 call sub_286 ; (4FF1) 3BBB:550D 3D FFFF cmp ax,0FFFFh 3BBB:5510 75 01 jne loc_1034 ; Jump if not equal 3BBB:5512 40 inc ax 3BBB:5513 loc_1034: ; xref 3BBB:5510 3BBB:5513 BB FFFF mov bx,0FFFFh 3BBB:5516 ,53 push bx ; PARAMETER_3 3BBB:5517 50 push ax ; PARAMETER_2 3BBB:5518 BB 0769 mov bx,769h 3BBB:551B 53 push bx ; PARAMETER_1 3BBB:551C E8 FB06 call sub_287 ; (5025) 3BBB:551F 83 C4 06 add sp,6 3BBB:5522 80 3E 0789 FF cmp data_514,0FFh ; (3BBB:0789=0FBh) 3BBB:5527 75 0C jne loc_1035 ; Jump if not equal 3BBB:5529 8B 1E 07AF mov bx,data_533 ; (3BBB:07AF=0F8h) 3BBB:552D 8A 47 1C mov al,[bx+1Ch] 3BBB:5530 24 7F and al,7Fh 3BBB:5532 A2 0789 mov data_514,al ; (3BBB:0789=0FBh) 3BBB:5535 loc_1035: ; xref 3BBB:5527 3BBB:5535 80 0E 0777 80 or byte ptr ds:[777h],80h ; (3BBB:0777=0F8h) 3BBB:553A C6 06 0687 FF mov byte ptr ds:[687h],0FFh ; (3BBB:0687=0BEh) 3BBB:553F E9 F08B jmp loc_837 ; (45CD) sub_304 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:5593, 56EB ;========================================================================== 3BBB:5542 sub_305 proc near 3BBB:5542 C3 retn sub_305 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:537F, 55B2 ;========================================================================== 3BBB:5543 sub_306 proc near 3BBB:5543 51 push cx 3BBB:5544 E8 D58E call sub_113 ; (2AD5) 3BBB:5547 59 pop cx 3BBB:5548 22 C1 and al,cl 3BBB:554A 3C C0 cmp al,0C0h 3BBB:554C 75 02 jne loc_1036 ; Jump if not equal 3BBB:554E B0 40 mov al,40h ; '@' 3BBB:5550 loc_1036: ; xref 3BBB:554C 3BBB:5550 A2 0644 mov byte ptr ds:[644h],al ; (3BBB:0644=8Bh) 3BBB:5553 D0 E8 shr al,1 ; Shift w/zeros fill 3BBB:5555 75 02 jnz loc_1037 ; Jump if not zero 3BBB:5557 B0 80 mov al,80h 3BBB:5559 loc_1037: ; xref 3BBB:5555 3BBB:5559 A2 068C mov byte ptr ds:[68Ch],al ; (3BBB:068C=4) 3BBB:555C C3 retn sub_306 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:5F25 ;========================================================================== 3BBB:555D sub_307 proc near 3BBB:555D loc_1038: ; xref 3BBB:45ED, 45F7 3BBB:555D F6 06 05E0 FF test byte ptr ds:[5E0h],0FFh ; (3BBB:05E0=0C3h) 3BBB:5562 74 0F jz loc_1040 ; Jump if zero 3BBB:5564 E8 0C68 call sub_325 ; (61CF) 3BBB:5567 74 09 jz loc_ret_1039 ; Jump if zero 3BBB:5569 32 DB xor bl,bl ; Zero register 3BBB:556B 88 1E 0775 mov byte ptr ds:[775h],bl ; (3BBB:0775=0F0h) 3BBB:556F E9 FE4B jmp loc_1012 ; (53BD) 3BBB:5572 loc_ret_1039: ; xref 3BBB:5567 3BBB:5572 C3 retn 3BBB:5573 loc_1040: ; xref 3BBB:5562 3BBB:5573 F6 06 066F 80 test byte ptr ds:[66Fh],80h ; (3BBB:066F=26h) 3BBB:5578 75 05 jnz loc_1041 ; Jump if not zero 3BBB:557A C6 06 05D4 F0 mov byte ptr ds:[5D4h],0F0h ; (3BBB:05D4=0B0h) 3BBB:557F loc_1041: ; xref 3BBB:5578 3BBB:557F E8 FD28 call sub_297 ; (52AA) 3BBB:5582 0B C0 or ax,ax ; Zero ? 3BBB:5584 75 03 jnz loc_1042 ; Jump if not zero 3BBB:5586 E9 E1C5 jmp loc_649 ; (374E) 3BBB:5589 loc_1042: ; xref 3BBB:5584 3BBB:5589 F6 06 0777 80 test byte ptr ds:[777h],80h ; (3BBB:0777=0F8h) 3BBB:558E 75 03 jnz loc_1043 ; Jump if not zero 3BBB:5590 E8 EA8E call sub_235 ; (4021) 3BBB:5593 loc_1043: ; xref 3BBB:558E 3BBB:5593 E8 FFAC call sub_305 ; (5542) 3BBB:5596 F6 06 0777 40 test byte ptr ds:[777h],40h ; (3BBB:0777=0F8h) '@' 3BBB:559B 74 06 jz loc_1044 ; Jump if zero 3BBB:559D E8 0BF8 call sub_323 ; (6198) 3BBB:55A0 E8 F504 call sub_279 ; (4AA7) 3BBB:55A3 loc_1044: ; xref 3BBB:559B 3BBB:55A3 80 26 0777 3F and byte ptr ds:[777h],3Fh ; (3BBB:0777=0F8h) '?' 3BBB:55A8 80 0E 0777 80 or byte ptr ds:[777h],80h ; (3BBB:0777=0F8h) 3BBB:55AD E9 F06C jmp loc_ret_843 ; (461C) sub_307 endp 3BBB:55B0 loc_1045: ; xref 3BBB:472F 3BBB:55B0 B1 80 mov cl,80h 3BBB:55B2 E8 FF8E call sub_306 ; (5543) 3BBB:55B5 E8 FCF2 call sub_297 ; (52AA) 3BBB:55B8 0B C0 or ax,ax ; Zero ? 3BBB:55BA 74 05 jz loc_1046 ; Jump if zero 3BBB:55BC B4 08 mov ah,8 3BBB:55BE E9 D417 jmp loc_467 ; (29D8) 3BBB:55C1 loc_1046: ; xref 3BBB:55BA 3BBB:55C1 E8 D695 call sub_138 ; (2C59) 3BBB:55C4 B9 0001 mov cx,1 3BBB:55C7 E8 FCE6 call sub_299 ; (52B0) 3BBB:55CA 0B C0 or ax,ax ; Zero ? 3BBB:55CC 75 4D jnz loc_1050 ; Jump if not zero 3BBB:55CE E8 0BFE call sub_325 ; (61CF) 3BBB:55D1 74 45 jz loc_1049 ; Jump if zero 3BBB:55D3 loc_1047: ; xref 3BBB:55DE 3BBB:55D3 ,3B 06 065D cmp ax,word ptr ds:[65Dh] ; (3BBB:065D=4489h) 3BBB:55D7 73 07 jae loc_1048 ; Jump if above or = 3BBB:55D9 50 push ax 3BBB:55DA E8 04F5 call sub_312 ; (5AD2) 3BBB:55DD 5B pop bx 3BBB:55DE EB F3 jmp short loc_1047 ; (55D3) 3BBB:55E0 loc_1048: ; xref 3BBB:55D7 3BBB:55E0 89 1E 07D6 mov word ptr ds:[7D6h],bx ; (3BBB:07D6=0ADh) 3BBB:55E4 8B C3 mov ax,bx 3BBB:55E6 E8 0A3A call sub_317 ; (6023) 3BBB:55E9 A3 07A2 mov data_525,ax ; (3BBB:07A2=0A304h) 3BBB:55EC 8B D8 mov bx,ax 3BBB:55EE 0B C0 or ax,ax ; Zero ? 3BBB:55F0 74 26 jz loc_1049 ; Jump if zero 3BBB:55F2 A1 07D6 mov ax,word ptr ds:[7D6h] ; (3BBB:07D6=0ADh) 3BBB:55F5 E8 0522 call sub_314 ; (5B1A) 3BBB:55F8 A1 07A2 mov ax,data_525 ; (3BBB:07A2=0A304h) 3BBB:55FB 8B 1E 07ED mov bx,word ptr ds:[7EDh] ; (3BBB:07ED=67BAh) 3BBB:55FF E8 0518 call sub_314 ; (5B1A) 3BBB:5602 E8 EA1C call sub_235 ; (4021) 3BBB:5605 A1 07A2 mov ax,data_525 ; (3BBB:07A2=0A304h) 3BBB:5608 E8 0ABB call sub_320 ; (60C6) 3BBB:560B E8 D64B call sub_138 ; (2C59) 3BBB:560E B9 0001 mov cx,1 3BBB:5611 E8 FC9C call sub_299 ; (52B0) 3BBB:5614 0B C0 or ax,ax ; Zero ? 3BBB:5616 75 03 jnz loc_1050 ; Jump if not zero 3BBB:5618 loc_1049: ; xref 3BBB:55D1, 55F0, 565F 3BBB:5618 E9 E133 jmp loc_649 ; (374E) 3BBB:561B loc_1050: ; xref 3BBB:55CC, 5616 3BBB:561B 33 DB xor bx,bx ; Zero register 3BBB:561D 8B 36 07AF mov si,data_533 ; (3BBB:07AF=0F8h) 3BBB:5621 loc_1051: ; xref 3BBB:5630 3BBB:5621 ,80 FB 0B cmp bl,0Bh 3BBB:5624 73 0C jae loc_1052 ; Jump if above or = 3BBB:5626 8A 87 076A mov al,byte ptr ds:[76Ah][bx] ; (3BBB:076A=8Eh) 3BBB:562A 24 7F and al,7Fh 3BBB:562C 88 00 mov [bx+si],al 3BBB:562E FE C3 inc bl 3BBB:5630 EB EF jmp short loc_1051 ; (5621) 3BBB:5632 loc_1052: ; xref 3BBB:5624 3BBB:5632 33 C0 xor ax,ax ; Zero register 3BBB:5634 8B 3E 07AF mov di,data_533 ; (3BBB:07AF=0F8h) 3BBB:5638 83 C7 0C add di,0Ch 3BBB:563B B9 000A mov cx,0Ah 3BBB:563E F3/ AB rep stosw ; Rep when cx >0 Store ax to es:[di] 3BBB:5640 E8 FBAA call sub_292 ; (51ED) 3BBB:5643 E8 FB27 call sub_290 ; (516D) 3BBB:5646 8B 36 07AF mov si,data_533 ; (3BBB:07AF=0F8h) 3BBB:564A F6 06 05E0 FF test byte ptr ds:[5E0h],0FFh ; (3BBB:05E0=0C3h) 3BBB:564F 75 03 jnz loc_1053 ; Jump if not zero 3BBB:5651 E9 0093 jmp loc_1058 ; (56E7) 3BBB:5654 loc_1053: ; xref 3BBB:564F 3BBB:5654 C6 44 0B 10 mov byte ptr [si+0Bh],10h 3BBB:5658 33 C0 xor ax,ax ; Zero register 3BBB:565A E8 09C6 call sub_317 ; (6023) 3BBB:565D 0B C0 or ax,ax ; Zero ? 3BBB:565F 74 B7 jz loc_1049 ; Jump if zero 3BBB:5661 A3 07A2 mov data_525,ax ; (3BBB:07A2=0A304h) 3BBB:5664 8B 36 07AF mov si,data_533 ; (3BBB:07AF=0F8h) 3BBB:5668 89 44 1A mov [si+1Ah],ax 3BBB:566B 8B 1E 07ED mov bx,word ptr ds:[7EDh] ; (3BBB:07ED=67BAh) 3BBB:566F E8 04A8 call sub_314 ; (5B1A) 3BBB:5672 E8 E9AC call sub_235 ; (4021) 3BBB:5675 E8 DBEC call sub_168 ; (3264) 3BBB:5678 E8 00A0 call sub_308 ; (571B) 3BBB:567B A1 07A2 mov ax,data_525 ; (3BBB:07A2=0A304h) 3BBB:567E E8 0A45 call sub_320 ; (60C6) 3BBB:5681 A1 07A2 mov ax,data_525 ; (3BBB:07A2=0A304h) 3BBB:5684 33 DB xor bx,bx ; Zero register 3BBB:5686 E8 09FC call sub_319 ; (6085) 3BBB:5689 E8 E725 call sub_230 ; (3DB1) 3BBB:568C 8B 36 06A4 mov si,word ptr ds:[6A4h] ; (3BBB:06A4=68Eh) 3BBB:5690 C6 04 2E mov byte ptr [si],2Eh ; '.' 3BBB:5693 33 DB xor bx,bx ; Zero register 3BBB:5695 loc_1054: ; xref 3BBB:56A0 3BBB:5695 ,80 FB 0A cmp bl,0Ah 3BBB:5698 73 08 jae loc_1055 ; Jump if above or = 3BBB:569A C6 40 01 20 mov byte ptr [bx+si+1],20h ; ' ' 3BBB:569E FE C3 inc bl 3BBB:56A0 EB F3 jmp short loc_1054 ; (5695) 3BBB:56A2 loc_1055: ; xref 3BBB:5698 3BBB:56A2 C6 44 0B 10 mov byte ptr [si+0Bh],10h 3BBB:56A6 A1 07A2 mov ax,data_525 ; (3BBB:07A2=0A304h) 3BBB:56A9 89 44 1A mov [si+1Ah],ax 3BBB:56AC 89 36 07AF mov data_533,si ; (3BBB:07AF=0F8h) 3BBB:56B0 E8 FABA call sub_290 ; (516D) 3BBB:56B3 8B 36 06A4 mov si,word ptr ds:[6A4h] ; (3BBB:06A4=68Eh) 3BBB:56B7 83 C6 20 add si,20h 3BBB:56BA C7 04 2E2E mov word ptr [si],2E2Eh 3BBB:56BE 33 DB xor bx,bx ; Zero register 3BBB:56C0 loc_1056: ; xref 3BBB:56CB 3BBB:56C0 ,80 FB 09 cmp bl,9 3BBB:56C3 73 08 jae loc_1057 ; Jump if above or = 3BBB:56C5 C6 40 02 20 mov byte ptr [bx+si+2],20h ; ' ' 3BBB:56C9 FE C3 inc bl 3BBB:56CB EB F3 jmp short loc_1056 ; (56C0) 3BBB:56CD loc_1057: ; xref 3BBB:56C3 3BBB:56CD C6 44 0B 10 mov byte ptr [si+0Bh],10h 3BBB:56D1 E8 0AFB call sub_325 ; (61CF) 3BBB:56D4 89 44 1A mov [si+1Ah],ax 3BBB:56D7 89 36 07AF mov data_533,si ; (3BBB:07AF=0F8h) 3BBB:56DB E8 FA8F call sub_290 ; (516D) 3BBB:56DE E8 D340 call sub_108 ; (2A21) 3BBB:56E1 33 C9 xor cx,cx ; Zero register 3BBB:56E3 E8 D601 call sub_147 ; (2CE7) 3BBB:56E6 C3 retn 3BBB:56E7 loc_1058: ; xref 3BBB:5651 3BBB:56E7 C6 44 0B 20 mov byte ptr [si+0Bh],20h ; ' ' 3BBB:56EB E8 FE54 call sub_305 ; (5542) 3BBB:56EE A0 068C mov al,byte ptr ds:[68Ch] ; (3BBB:068C=4) 3BBB:56F1 E8 0027 call sub_308 ; (571B) 3BBB:56F4 E8 DB6D call sub_168 ; (3264) 3BBB:56F7 C7 06 0638 0000 mov word ptr ds:[638h],0 ; (3BBB:0638=50Eh) 3BBB:56FD BB FFFF mov bx,0FFFFh 3BBB:5700 ,53 push bx ; PARAMETER_3 3BBB:5701 43 inc bx 3BBB:5702 53 push bx ; PARAMETER_2 3BBB:5703 BB 0769 mov bx,769h 3BBB:5706 53 push bx ; PARAMETER_1 3BBB:5707 E8 F91B call sub_287 ; (5025) 3BBB:570A 83 C4 06 add sp,6 3BBB:570D 80 0E 0777 80 or byte ptr ds:[777h],80h ; (3BBB:0777=0F8h) 3BBB:5712 A0 0687 mov al,byte ptr ds:[687h] ; (3BBB:0687=0BEh) 3BBB:5715 A2 068C mov byte ptr ds:[68Ch],al ; (3BBB:068C=4) 3BBB:5718 E9 EEB2 jmp loc_837 ; (45CD) ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:5678, 56F1 ;========================================================================== 3BBB:571B sub_308 proc near 3BBB:571B E8 0AB1 call sub_325 ; (61CF) 3BBB:571E 75 03 jnz loc_ret_1059 ; Jump if not zero 3BBB:5720 E9 D558 jmp loc_499 ; (2C7B) 3BBB:5723 loc_ret_1059: ; xref 3BBB:571E 3BBB:5723 C3 retn sub_308 endp 3BBB:5724 loc_1060: ; xref 3BBB:46D7 3BBB:5724 E8 D3AE call sub_113 ; (2AD5) 3BBB:5727 33 C0 xor ax,ax ; Zero register 3BBB:5729 loc_1061: ; xref 3BBB:57EE 3BBB:5729 ,3C 02 cmp al,2 3BBB:572B 72 03 jb loc_1062 ; Jump if below 3BBB:572D E9 00C1 jmp loc_1076 ; (57F1) 3BBB:5730 loc_1062: ; xref 3BBB:572B 3BBB:5730 50 push ax 3BBB:5731 E8 D525 call sub_138 ; (2C59) 3BBB:5734 loc_1063: ; xref 3BBB:577D, 57E2 3BBB:5734 ,E8 FB76 call sub_298 ; (52AD) 3BBB:5737 0B C0 or ax,ax ; Zero ? 3BBB:5739 58 pop ax 3BBB:573A 75 03 jnz loc_1064 ; Jump if not zero 3BBB:573C E9 00A6 jmp loc_1074 ; (57E5) 3BBB:573F loc_1064: ; xref 3BBB:573A 3BBB:573F F6 06 068C 80 test byte ptr ds:[68Ch],80h ; (3BBB:068C=4) 3BBB:5744 74 01 jz loc_1065 ; Jump if zero 3BBB:5746 C3 retn 3BBB:5747 loc_1065: ; xref 3BBB:5744 3BBB:5747 B4 FF mov ah,0FFh 3BBB:5749 0A C0 or al,al ; Zero ? 3BBB:574B 75 19 jnz loc_1067 ; Jump if not zero 3BBB:574D 50 push ax 3BBB:574E 8B 1E 07AF mov bx,data_533 ; (3BBB:07AF=0F8h) 3BBB:5752 F6 47 0B 03 test byte ptr [bx+0Bh],3 3BBB:5756 74 03 jz loc_1066 ; Jump if zero 3BBB:5758 E9 D249 jmp loc_459 ; (29A4) 3BBB:575B loc_1066: ; xref 3BBB:5756 3BBB:575B BB 0769 mov bx,769h 3BBB:575E E8 DD56 call sub_183 ; (34B7) 3BBB:5761 58 pop ax 3BBB:5762 74 02 jz loc_1067 ; Jump if zero 3BBB:5764 FE C0 inc al 3BBB:5766 loc_1067: ; xref 3BBB:574B, 5762 3BBB:5766 3C 01 cmp al,1 3BBB:5768 75 77 jne loc_1073 ; Jump if not equal 3BBB:576A 50 push ax 3BBB:576B 8B 1E 07AF mov bx,data_533 ; (3BBB:07AF=0F8h) 3BBB:576F F6 47 0B 10 test byte ptr [bx+0Bh],10h 3BBB:5773 74 4E jz loc_1071 ; Jump if zero 3BBB:5775 53 push bx 3BBB:5776 BB 0769 mov bx,769h 3BBB:5779 E8 DD3B call sub_183 ; (34B7) 3BBB:577C 5B pop bx 3BBB:577D 74 B5 jz loc_1063 ; Jump if zero 3BBB:577F F6 06 05E0 FF test byte ptr ds:[5E0h],0FFh ; (3BBB:05E0=0C3h) 3BBB:5784 74 1C jz loc_1069 ; Jump if zero 3BBB:5786 8B 47 1A mov ax,[bx+1Ah] 3BBB:5789 B9 0002 mov cx,2 3BBB:578C loc_1068: ; xref 3BBB:579E 3BBB:578C 8B D8 mov bx,ax 3BBB:578E 50 push ax 3BBB:578F E8 00A4 call sub_310 ; (5836) 3BBB:5792 58 pop ax 3BBB:5793 74 0D jz loc_1069 ; Jump if zero 3BBB:5795 E8 033A call sub_312 ; (5AD2) 3BBB:5798 33 C9 xor cx,cx ; Zero register 3BBB:579A 3B 06 065D cmp ax,word ptr ds:[65Dh] ; (3BBB:065D=4489h) 3BBB:579E 72 EC jb loc_1068 ; Jump if below 3BBB:57A0 EB 04 jmp short loc_1070 ; (57A6) 3BBB:57A2 loc_1069: ; xref 3BBB:5784, 5793, 57A9, 57BF 3BBB:57A2 58 pop ax 3BBB:57A3 E9 DFA8 jmp loc_649 ; (374E) 3BBB:57A6 loc_1070: ; xref 3BBB:57A0 3BBB:57A6 E8 004B call sub_309 ; (57F4) 3BBB:57A9 75 F7 jnz loc_1069 ; Jump if not zero 3BBB:57AB FF 0E 0636 dec word ptr ds:[636h] ; (3BBB:0636=8A26h) 3BBB:57AF 80 0E 05D4 0F or byte ptr ds:[5D4h],0Fh ; (3BBB:05D4=0B0h) 3BBB:57B4 C7 06 07E8 0000 mov word ptr ds:[7E8h],0 ; (3BBB:07E8=464h) 3BBB:57BA E8 FAF0 call sub_298 ; (52AD) 3BBB:57BD 0B C0 or ax,ax ; Zero ? 3BBB:57BF 74 E1 jz loc_1069 ; Jump if zero 3BBB:57C1 EB 03 jmp short loc_1072 ; (57C6) 3BBB:57C3 loc_1071: ; xref 3BBB:5773 3BBB:57C3 E8 0A08 call sub_324 ; (61CE) 3BBB:57C6 loc_1072: ; xref 3BBB:57C1 3BBB:57C6 8B 1E 07AF mov bx,data_533 ; (3BBB:07AF=0F8h) 3BBB:57CA C6 07 E5 mov byte ptr [bx],0E5h 3BBB:57CD 8B 47 1A mov ax,[bx+1Ah] 3BBB:57D0 53 push bx 3BBB:57D1 E8 037E call sub_315 ; (5B52) 3BBB:57D4 5B pop bx 3BBB:57D5 E8 DA8C call sub_168 ; (3264) 3BBB:57D8 BB 0769 mov bx,769h 3BBB:57DB E8 DCD9 call sub_183 ; (34B7) 3BBB:57DE 58 pop ax 3BBB:57DF 75 10 jnz loc_1076 ; Jump if not zero 3BBB:57E1 loc_1073: ; xref 3BBB:5768 3BBB:57E1 50 push ax 3BBB:57E2 E9 FF4F jmp loc_1063 ; (5734) 3BBB:57E5 loc_1074: ; xref 3BBB:573C 3BBB:57E5 0A E4 or ah,ah ; Zero ? 3BBB:57E7 75 03 jnz loc_1075 ; Jump if not zero 3BBB:57E9 E9 DF62 jmp loc_649 ; (374E) 3BBB:57EC loc_1075: ; xref 3BBB:57E7 3BBB:57EC FE C0 inc al 3BBB:57EE E9 FF38 jmp loc_1061 ; (5729) 3BBB:57F1 loc_1076: ; xref 3BBB:572D, 57DF 3BBB:57F1 E9 E82D jmp loc_769 ; (4021) ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:57A6 ;========================================================================== 3BBB:57F4 sub_309 proc near 3BBB:57F4 FA cli ; Disable interrupts 3BBB:57F5 8B 1E 07AF mov bx,data_533 ; (3BBB:07AF=0F8h) 3BBB:57F9 8B 57 1A mov dx,[bx+1Ah] 3BBB:57FC 8B 36 004A mov si,data_191 ; (3BBB:004A=0) 3BBB:5800 loc_1077: ; xref 3BBB:5831 3BBB:5800 ,85 F6 test si,si 3BBB:5802 74 30 jz loc_1082 ; Jump if zero 3BBB:5804 1E push ds 3BBB:5805 8E DE mov ds,si 3BBB:5807 8B 3E 0011 mov di,word ptr ds:[11h] ; (ss:0011=696Eh) 3BBB:580B 1F pop ds 3BBB:580C 85 FF test di,di 3BBB:580E 74 19 jz loc_1080 ; Jump if zero 3BBB:5810 A0 0646 mov al,byte ptr ds:[646h] ; (3BBB:0646=0C4h) 3BBB:5813 B9 0010 mov cx,10h 3BBB:5816 locloop_1078: ; xref 3BBB:5827 3BBB:5816 8B 1D mov bx,[di] 3BBB:5818 85 DB test bx,bx 3BBB:581A 74 09 jz loc_1079 ; Jump if zero 3BBB:581C 3A 07 cmp al,[bx] 3BBB:581E 75 05 jne loc_1079 ; Jump if not equal 3BBB:5820 3B 57 06 cmp dx,[bx+6] 3BBB:5823 74 0E je loc_1081 ; Jump if equal 3BBB:5825 loc_1079: ; xref 3BBB:581A, 581E 3BBB:5825 47 inc di 3BBB:5826 47 inc di 3BBB:5827 E2 ED loop locloop_1078 ; Loop if cx > 0 3BBB:5829 loc_1080: ; xref 3BBB:580E 3BBB:5829 1E push ds 3BBB:582A 8E DE mov ds,si 3BBB:582C 8B 36 0002 mov si,word ptr ds:[2] ; (ss:0002=7275h) 3BBB:5830 1F pop ds 3BBB:5831 EB CD jmp short loc_1077 ; (5800) 3BBB:5833 loc_1081: ; xref 3BBB:5823 3BBB:5833 42 inc dx 3BBB:5834 loc_1082: ; xref 3BBB:5802 3BBB:5834 FB sti ; Enable interrupts 3BBB:5835 C3 retn sub_309 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:578F ;========================================================================== 3BBB:5836 sub_310 proc near 3BBB:5836 89 0E 07A4 mov data_526,cx ; (3BBB:07A4=462h) 3BBB:583A 33 DB xor bx,bx ; Zero register 3BBB:583C E8 0846 call sub_319 ; (6085) 3BBB:583F E8 E56F call sub_230 ; (3DB1) 3BBB:5842 A3 07A6 mov data_527,ax ; (3BBB:07A6=0B1A2h) 3BBB:5845 D1 E0 shl ax,1 ; Shift w/zeros fill 3BBB:5847 D1 E0 shl ax,1 ; Shift w/zeros fill 3BBB:5849 A3 07A8 mov data_528,ax ; (3BBB:07A8=0E803h) 3BBB:584C 8B 1E 065F mov bx,word ptr ds:[65Fh] ; (3BBB:065F=2604h) 3BBB:5850 B1 07 mov cl,7 3BBB:5852 02 0E 0672 add cl,byte ptr ds:[672h] ; (3BBB:0672=4) 3BBB:5856 D3 EB shr bx,cl ; Shift w/zeros fill 3BBB:5858 loc_1083: ; xref 3BBB:589A 3BBB:5858 53 push bx 3BBB:5859 E8 D1C5 call sub_108 ; (2A21) 3BBB:585C E8 D491 call sub_148 ; (2CF0) 3BBB:585F 5B pop bx 3BBB:5860 8B 0E 07A4 mov cx,data_526 ; (3BBB:07A4=462h) 3BBB:5864 8B 16 07A8 mov dx,data_528 ; (3BBB:07A8=0E803h) 3BBB:5868 2B D1 sub dx,cx 3BBB:586A 8B 36 06A4 mov si,word ptr ds:[6A4h] ; (3BBB:06A4=68Eh) 3BBB:586E locloop_1084: ; xref 3BBB:5873 3BBB:586E E3 05 jcxz loc_1085 ; Jump if cx=0 3BBB:5870 83 C6 20 add si,20h 3BBB:5873 E2 F9 loop locloop_1084 ; Loop if cx > 0 3BBB:5875 loc_1085: ; xref 3BBB:586E 3BBB:5875 89 0E 07A4 mov data_526,cx ; (3BBB:07A4=462h) 3BBB:5879 loc_1086: ; xref 3BBB:5888 3BBB:5879 ,4A dec dx 3BBB:587A 7C 11 jl loc_1089 ; Jump if < 3BBB:587C AC lodsb ; String [si] to al 3BBB:587D 3C 00 cmp al,0 3BBB:587F 74 04 je loc_1087 ; Jump if equal 3BBB:5881 3C E5 cmp al,0E5h 3BBB:5883 75 05 jne loc_1088 ; Jump if not equal 3BBB:5885 loc_1087: ; xref 3BBB:587F 3BBB:5885 83 C6 1F add si,1Fh 3BBB:5888 EB EF jmp short loc_1086 ; (5879) 3BBB:588A loc_1088: ; xref 3BBB:5883 3BBB:588A 33 C0 xor ax,ax ; Zero register 3BBB:588C C3 retn 3BBB:588D loc_1089: ; xref 3BBB:587A 3BBB:588D A1 07A6 mov ax,data_527 ; (3BBB:07A6=0B1A2h) 3BBB:5890 01 06 069B add word ptr ds:[69Bh],ax ; (3BBB:069B=674h) 3BBB:5894 80 16 069D 00 adc byte ptr ds:[69Dh],0 ; (3BBB:069D=0C7h) 3BBB:5899 4B dec bx 3BBB:589A 75 BC jnz loc_1083 ; Jump if not zero 3BBB:589C 43 inc bx 3BBB:589D C3 retn sub_310 endp 3BBB:589E loc_1090: ; xref 3BBB:481A 3BBB:589E E8 E06D call sub_215 ; (390E) 3BBB:58A1 B2 01 mov dl,1 3BBB:58A3 E8 DC13 call sub_184 ; (34B9) 3BBB:58A6 B4 09 mov ah,9 3BBB:58A8 74 0F jz loc_1091 ; Jump if zero 3BBB:58AA E8 D3AC call sub_138 ; (2C59) 3BBB:58AD B9 1002 mov cx,1002h 3BBB:58B0 E8 F9FD call sub_299 ; (52B0) 3BBB:58B3 0B C0 or ax,ax ; Zero ? 3BBB:58B5 74 0F jz loc_1092 ; Jump if zero 3BBB:58B7 B4 08 mov ah,8 3BBB:58B9 loc_1091: ; xref 3BBB:58A8 3BBB:58B9 83 06 0622 10 add word ptr ds:[622h],10h ; (3BBB:0622=13h) 3BBB:58BE C6 06 05D0 00 mov byte ptr ds:[5D0h],0 ; (3BBB:05D0=8) 3BBB:58C3 E9 D112 jmp loc_467 ; (29D8) 3BBB:58C6 loc_1092: ; xref 3BBB:58B5 3BBB:58C6 E8 F9E1 call sub_297 ; (52AA) 3BBB:58C9 0B C0 or ax,ax ; Zero ? 3BBB:58CB 75 03 jnz loc_1093 ; Jump if not zero 3BBB:58CD E9 DE7E jmp loc_649 ; (374E) 3BBB:58D0 loc_1093: ; xref 3BBB:58CB 3BBB:58D0 8B D8 mov bx,ax 3BBB:58D2 F6 47 0B 10 test byte ptr [bx+0Bh],10h 3BBB:58D6 74 03 jz loc_1094 ; Jump if zero 3BBB:58D8 E9 D0C9 jmp loc_459 ; (29A4) 3BBB:58DB loc_1094: ; xref 3BBB:58D6 3BBB:58DB E8 08F0 call sub_324 ; (61CE) 3BBB:58DE 33 DB xor bx,bx ; Zero register 3BBB:58E0 8B 36 07AF mov si,data_533 ; (3BBB:07AF=0F8h) 3BBB:58E4 loc_1095: ; xref 3BBB:58F3 3BBB:58E4 ,80 FB 0B cmp bl,0Bh 3BBB:58E7 73 0C jae loc_1096 ; Jump if above or = 3BBB:58E9 8A 87 077A mov al,byte ptr ds:[77Ah][bx] ; (3BBB:077A=0CFh) 3BBB:58ED 24 7F and al,7Fh 3BBB:58EF 88 00 mov [bx+si],al 3BBB:58F1 FE C3 inc bl 3BBB:58F3 EB EF jmp short loc_1095 ; (58E4) delay for I/O 3BBB:58F5 loc_1096: ; xref 3BBB:58E7 3BBB:58F5 E9 D96C jmp loc_588 ; (3264) 3BBB:58F8 loc_1097: ; xref 3BBB:48BD 3BBB:58F8 E8 F9AF call sub_297 ; (52AA) 3BBB:58FB 0B C0 or ax,ax ; Zero ? 3BBB:58FD 75 03 jnz loc_1098 ; Jump if not zero 3BBB:58FF E9 DE4C jmp loc_649 ; (374E) 3BBB:5902 loc_1098: ; xref 3BBB:58FD 3BBB:5902 E8 D1D0 call sub_113 ; (2AD5) 3BBB:5905 A8 40 test al,40h ; '@' 3BBB:5907 74 38 jz loc_1102 ; Jump if zero 3BBB:5909 8A 0E 0789 mov cl,data_514 ; (3BBB:0789=0FBh) 3BBB:590D 80 E1 7F and cl,7Fh 3BBB:5910 0A C9 or cl,cl ; Zero ? 3BBB:5912 74 2D jz loc_1102 ; Jump if zero 3BBB:5914 8B 1E 07AF mov bx,data_533 ; (3BBB:07AF=0F8h) 3BBB:5918 8B 47 1C mov ax,[bx+1Ch] 3BBB:591B 8B 57 1E mov dx,[bx+1Eh] 3BBB:591E 0B C0 or ax,ax ; Zero ? 3BBB:5920 75 04 jnz loc_1099 ; Jump if not zero 3BBB:5922 0B D2 or dx,dx ; Zero ? 3BBB:5924 74 1B jz loc_1102 ; Jump if zero 3BBB:5926 loc_1099: ; xref 3BBB:5920 3BBB:5926 A8 7F test al,7Fh 3BBB:5928 74 04 jz loc_1100 ; Jump if zero 3BBB:592A 24 80 and al,80h 3BBB:592C EB 06 jmp short loc_1101 ; (5934) 3BBB:592E loc_1100: ; xref 3BBB:5928 3BBB:592E 2D 0080 sub ax,80h 3BBB:5931 83 DA 00 sbb dx,0 3BBB:5934 loc_1101: ; xref 3BBB:592C 3BBB:5934 32 ED xor ch,ch ; Zero register 3BBB:5936 03 C1 add ax,cx 3BBB:5938 83 D2 00 adc dx,0 3BBB:593B 89 47 1C mov [bx+1Ch],ax 3BBB:593E 89 57 1E mov [bx+1Eh],dx 3BBB:5941 loc_1102: ; xref 3BBB:5907, 5912, 5924 3BBB:5941 E8 088A call sub_324 ; (61CE) 3BBB:5944 33 DB xor bx,bx ; Zero register 3BBB:5946 8B 36 07AF mov si,data_533 ; (3BBB:07AF=0F8h) 3BBB:594A loc_1103: ; xref 3BBB:5994 3BBB:594A ,80 FB 0B cmp bl,0Bh 3BBB:594D 73 47 jae loc_1110 ; Jump if above or = 3BBB:594F 8A A7 076A mov ah,byte ptr ds:[76Ah][bx] ; (3BBB:076A=8Eh) 3BBB:5953 80 E4 80 and ah,80h 3BBB:5956 80 FB 04 cmp bl,4 3BBB:5959 73 0B jae loc_1104 ; Jump if above or = 3BBB:595B 8D 7C 0C lea di,[si+0Ch] ; Load effective addr 3BBB:595E B0 80 mov al,80h 3BBB:5960 8A CB mov cl,bl 3BBB:5962 D2 E8 shr al,cl ; Shift w/zeros fill 3BBB:5964 EB 1F jmp short loc_1107 ; (5985) 3BBB:5966 loc_1104: ; xref 3BBB:5959 3BBB:5966 80 FB 08 cmp bl,8 3BBB:5969 72 27 jb loc_1109 ; Jump if below 3BBB:596B 8D 7C 0B lea di,[si+0Bh] ; Load effective addr 3BBB:596E 80 FB 08 cmp bl,8 3BBB:5971 75 04 jne loc_1105 ; Jump if not equal 3BBB:5973 B0 01 mov al,1 3BBB:5975 EB 0E jmp short loc_1107 ; (5985) 3BBB:5977 loc_1105: ; xref 3BBB:5971 3BBB:5977 80 FB 09 cmp bl,9 3BBB:597A 75 04 jne loc_1106 ; Jump if not equal 3BBB:597C B0 04 mov al,4 3BBB:597E EB 05 jmp short loc_1107 ; (5985) 3BBB:5980 loc_1106: ; xref 3BBB:597A 3BBB:5980 B0 20 mov al,20h ; ' ' 3BBB:5982 80 F4 80 xor ah,80h 3BBB:5985 loc_1107: ; xref 3BBB:5964, 5975, 597E 3BBB:5985 F6 C4 80 test ah,80h 3BBB:5988 74 04 jz loc_1108 ; Jump if zero 3BBB:598A 08 05 or [di],al 3BBB:598C EB 04 jmp short loc_1109 ; (5992) 3BBB:598E loc_1108: ; xref 3BBB:5988 3BBB:598E F6 D0 not al 3BBB:5990 20 05 and [di],al 3BBB:5992 loc_1109: ; xref 3BBB:5969, 598C 3BBB:5992 FE C3 inc bl 3BBB:5994 EB B4 jmp short loc_1103 ; (594A) 3BBB:5996 loc_1110: ; xref 3BBB:594D 3BBB:5996 E9 D8CB jmp loc_588 ; (3264) 3BBB:5999 loc_1111: ; xref 3BBB:4AD6 3BBB:5999 E8 D139 call sub_113 ; (2AD5) 3BBB:599C F6 06 078C FC test data_517,0FCh ; (3BBB:078C=8Eh) 3BBB:59A1 74 03 jz loc_1113 ; Jump if zero 3BBB:59A3 loc_1112: ; xref 3BBB:59AB, 59D4, 59DB 3BBB:59A3 E9 DDA8 jmp loc_649 ; (374E) 3BBB:59A6 loc_1113: ; xref 3BBB:59A1 3BBB:59A6 E8 F901 call sub_297 ; (52AA) 3BBB:59A9 0B C0 or ax,ax ; Zero ? 3BBB:59AB 74 F6 jz loc_1112 ; Jump if zero 3BBB:59AD E8 081E call sub_324 ; (61CE) 3BBB:59B0 8B 36 07AF mov si,data_533 ; (3BBB:07AF=0F8h) 3BBB:59B4 F6 44 0B 11 test byte ptr [si+0Bh],11h 3BBB:59B8 74 03 jz loc_1114 ; Jump if zero 3BBB:59BA E9 CFE7 jmp loc_459 ; (29A4) 3BBB:59BD loc_1114: ; xref 3BBB:59B8 3BBB:59BD A1 078A mov ax,data_515 ; (3BBB:078A=0BF5Eh) 3BBB:59C0 8A 16 078C mov dl,data_517 ; (3BBB:078C=8Eh) 3BBB:59C4 32 F6 xor dh,dh ; Zero register 3BBB:59C6 B1 07 mov cl,7 3BBB:59C8 E8 F96D call sub_301 ; (5338) 3BBB:59CB 05 0080 add ax,80h 3BBB:59CE 83 D2 00 adc dx,0 3BBB:59D1 3B 54 1E cmp dx,[si+1Eh] 3BBB:59D4 77 CD ja loc_1112 ; Jump if above 3BBB:59D6 72 05 jc loc_1115 ; Jump if carry Set 3BBB:59D8 3B 44 1C cmp ax,[si+1Ch] 3BBB:59DB 73 C6 jae loc_1112 ; Jump if above or = 3BBB:59DD loc_1115: ; xref 3BBB:59D6 3BBB:59DD 89 44 1C mov [si+1Ch],ax 3BBB:59E0 89 54 1E mov [si+1Eh],dx 3BBB:59E3 80 4C 0B 20 or byte ptr [si+0Bh],20h ; ' ' 3BBB:59E7 2D 0001 sub ax,1 3BBB:59EA 83 DA 00 sbb dx,0 3BBB:59ED 8B 0E 065F mov cx,word ptr ds:[65Fh] ; (3BBB:065F=2604h) 3BBB:59F1 F7 F1 div cx ; ax,dx rem=dx:ax/reg 3BBB:59F3 8B 5C 1A mov bx,[si+1Ah] 3BBB:59F6 0B DB or bx,bx ; Zero ? 3BBB:59F8 75 03 jnz loc_1117 ; Jump if not zero 3BBB:59FA loc_1116: ; xref 3BBB:5A01 3BBB:59FA E9 DD51 jmp loc_649 ; (374E) 3BBB:59FD loc_1117: ; xref 3BBB:59F8, 5A11 3BBB:59FD ,3B 1E 065D cmp bx,word ptr ds:[65Dh] ; (3BBB:065D=4489h) 3BBB:5A01 73 F7 jae loc_1116 ; Jump if above or = 3BBB:5A03 0B C0 or ax,ax ; Zero ? 3BBB:5A05 74 0C jz loc_1118 ; Jump if zero 3BBB:5A07 48 dec ax 3BBB:5A08 50 push ax 3BBB:5A09 8B C3 mov ax,bx 3BBB:5A0B E8 00C4 call sub_312 ; (5AD2) 3BBB:5A0E 8B D8 mov bx,ax 3BBB:5A10 58 pop ax 3BBB:5A11 EB EA jmp short loc_1117 ; (59FD) 3BBB:5A13 loc_1118: ; xref 3BBB:5A05 3BBB:5A13 8B C3 mov ax,bx 3BBB:5A15 53 push bx 3BBB:5A16 E8 00B9 call sub_312 ; (5AD2) 3BBB:5A19 5B pop bx 3BBB:5A1A 3B 06 065D cmp ax,word ptr ds:[65Dh] ; (3BBB:065D=4489h) 3BBB:5A1E 73 0F jae loc_1119 ; Jump if above or = 3BBB:5A20 53 push bx 3BBB:5A21 E8 012E call sub_315 ; (5B52) 3BBB:5A24 58 pop ax 3BBB:5A25 8B 1E 07ED mov bx,word ptr ds:[7EDh] ; (3BBB:07ED=67BAh) 3BBB:5A29 E8 00EE call sub_314 ; (5B1A) 3BBB:5A2C E8 E5F2 call sub_235 ; (4021) 3BBB:5A2F loc_1119: ; xref 3BBB:5A1E 3BBB:5A2F E8 F7BB call sub_292 ; (51ED) 3BBB:5A32 E8 F738 call sub_290 ; (516D) 3BBB:5A35 E9 D82C jmp loc_588 ; (3264) 3BBB:5A38 loc_1120: ; xref 3BBB:4C6F 3BBB:5A38 E8 F86F call sub_297 ; (52AA) 3BBB:5A3B 0B C0 or ax,ax ; Zero ? 3BBB:5A3D 75 03 jnz loc_1121 ; Jump if not zero 3BBB:5A3F E9 DD0C jmp loc_649 ; (374E) 3BBB:5A42 loc_1121: ; xref 3BBB:5A3D 3BBB:5A42 ,BF 0775 mov di,775h ; (3BBB:0775=0F0h) 3BBB:5A45 B9 0004 mov cx,4 3BBB:5A48 33 C0 xor ax,ax ; Zero register 3BBB:5A4A F3/ AB rep stosw ; Rep when cx >0 Store ax to es:[di] 3BBB:5A4C E8 F6D9 call sub_289 ; (5128) 3BBB:5A4F E8 F74C call sub_291 ; (519E) 3BBB:5A52 ,BE 07AA mov si,offset data_529 ; (3BBB:07AA=0AAh) 3BBB:5A55 ,BF 077D mov di,offset data_509 ; (3BBB:077D=6) 3BBB:5A58 A5 movsw ; Mov [si] to es:[di] 3BBB:5A59 A5 movsw ; Mov [si] to es:[di] 3BBB:5A5A C3 retn 3BBB:5A5B loc_1122: ; xref 3BBB:4D50 3BBB:5A5B E8 F84C call sub_297 ; (52AA) 3BBB:5A5E 0B C0 or ax,ax ; Zero ? 3BBB:5A60 75 03 jnz loc_1123 ; Jump if not zero 3BBB:5A62 E9 DCE9 jmp loc_649 ; (374E) 3BBB:5A65 loc_1123: ; xref 3BBB:5A60 3BBB:5A65 ,BE 067B mov si,67Bh ; (3BBB:067B=6) 3BBB:5A68 ,BF 07AA mov di,offset data_529 ; (3BBB:07AA=0AAh) 3BBB:5A6B A5 movsw ; Mov [si] to es:[di] 3BBB:5A6C A5 movsw ; Mov [si] to es:[di] 3BBB:5A6D 32 C0 xor al,al ; Zero register 3BBB:5A6F AA stosb ; Store al to es:[di] 3BBB:5A70 E8 F785 call sub_293 ; (51F8) 3BBB:5A73 E8 F6F7 call sub_290 ; (516D) 3BBB:5A76 E9 D7EB jmp loc_588 ; (3264) 3BBB:5A79 loc_1124: ; xref 3BBB:4943 3BBB:5A79 BA FFFF mov dx,0FFFFh 3BBB:5A7C 50 push ax 3BBB:5A7D 52 push dx 3BBB:5A7E E8 D1D8 call sub_138 ; (2C59) 3BBB:5A81 loc_1125: ; xref 3BBB:5AA5 3BBB:5A81 ,E8 F829 call sub_298 ; (52AD) 3BBB:5A84 0B C0 or ax,ax ; Zero ? 3BBB:5A86 74 1F jz loc_1128 ; Jump if zero 3BBB:5A88 8B F0 mov si,ax 3BBB:5A8A 5A pop dx 3BBB:5A8B 58 pop ax 3BBB:5A8C 83 FA FF ;* cmp dx,0FFFFh 3BBB:5A8C db 83h,0FAh,0FFh ; Fixup - byte match 3BBB:5A8F 74 0C jz loc_1126 ; Jump if zero 3BBB:5A91 3B 54 1E cmp dx,[si+1Eh] 3BBB:5A94 72 07 jb loc_1126 ; Jump if below 3BBB:5A96 77 0B ja loc_1127 ; Jump if above 3BBB:5A98 3B 44 1C cmp ax,[si+1Ch] 3BBB:5A9B 73 06 jae loc_1127 ; Jump if above or = 3BBB:5A9D loc_1126: ; xref 3BBB:5A8F, 5A94 3BBB:5A9D 8B 44 1C mov ax,[si+1Ch] 3BBB:5AA0 8B 54 1E mov dx,[si+1Eh] 3BBB:5AA3 loc_1127: ; xref 3BBB:5A96, 5A9B 3BBB:5AA3 50 push ax 3BBB:5AA4 52 push dx 3BBB:5AA5 EB DA jmp short loc_1125 ; (5A81) 3BBB:5AA7 loc_1128: ; xref 3BBB:5A86 3BBB:5AA7 5A pop dx 3BBB:5AA8 58 pop ax 3BBB:5AA9 83 FA FF ;* cmp dx,0FFFFh 3BBB:5AA9 db 83h,0FAh,0FFh ; Fixup - byte match 3BBB:5AAC 75 03 jnz loc_1129 ; Jump if not zero 3BBB:5AAE E9 DC9D jmp loc_649 ; (374E) 3BBB:5AB1 loc_1129: ; xref 3BBB:5AAC 3BBB:5AB1 BF 078A mov di,78Ah ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:5B95 ;========================================================================== 3BBB:5AB4 sub_311 proc near 3BBB:5AB4 A8 7F test al,7Fh 3BBB:5AB6 74 08 jz loc_1130 ; Jump if zero 3BBB:5AB8 24 80 and al,80h 3BBB:5ABA 05 0080 add ax,80h 3BBB:5ABD 83 D2 00 adc dx,0 3BBB:5AC0 loc_1130: ; xref 3BBB:5AB6 3BBB:5AC0 B9 0007 mov cx,7 3BBB:5AC3 E8 F87B call sub_302 ; (5341) 3BBB:5AC6 26: 88 05 mov es:[di],al 3BBB:5AC9 26: 88 65 01 mov es:[di+1],ah 3BBB:5ACD 26: 88 55 02 mov es:[di+2],dl 3BBB:5AD1 C3 retn sub_311 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:31B0, 55DA, 5795, 5A0B, 5A16, 5CC2, 5D6A ; 5DA0, 5F75 ;========================================================================== 3BBB:5AD2 sub_312 proc near 3BBB:5AD2 50 push ax 3BBB:5AD3 E8 000F call sub_313 ; (5AE5) 3BBB:5AD6 5B pop bx 3BBB:5AD7 0B C0 or ax,ax ; Zero ? 3BBB:5AD9 75 09 jnz loc_ret_1131 ; Jump if not zero 3BBB:5ADB A1 07ED mov ax,word ptr ds:[7EDh] ; (3BBB:07ED=67BAh) 3BBB:5ADE 50 push ax 3BBB:5ADF 93 xchg bx,ax 3BBB:5AE0 E8 0037 call sub_314 ; (5B1A) 3BBB:5AE3 58 pop ax 3BBB:5AE4 loc_ret_1131: ; xref 3BBB:5AD9 3BBB:5AE4 C3 retn sub_312 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:5AD3, 5B5D, 5B7A, 5F92, 6038, 604C ;========================================================================== 3BBB:5AE5 sub_313 proc near 3BBB:5AE5 8B F8 mov di,ax 3BBB:5AE7 83 3E 07ED FF ;* cmp word ptr ds:[7EDh],0FFFFh ; (3BBB:07ED=67BAh) 3BBB:5AE7 db 83h, 3Eh,0EDh, 07h,0FFh ; Fixup - byte match 3BBB:5AEC 74 16 jz loc_1132 ; Jump if zero 3BBB:5AEE D1 EF shr di,1 ; Shift w/zeros fill 3BBB:5AF0 03 F8 add di,ax 3BBB:5AF2 8E 06 0657 mov es,word ptr ds:[657h] ; (3BBB:0657=2A74h) 3BBB:5AF6 26: 8B 15 mov dx,es:[di] 3BBB:5AF9 A9 0001 test ax,1 3BBB:5AFC 74 11 jz loc_1133 ; Jump if zero 3BBB:5AFE B1 04 mov cl,4 3BBB:5B00 D3 EA shr dx,cl ; Shift w/zeros fill 3BBB:5B02 EB 0F jmp short loc_1134 ; (5B13) 3BBB:5B04 loc_1132: ; xref 3BBB:5AEC 3BBB:5B04 D1 E7 shl di,1 ; Shift w/zeros fill 3BBB:5B06 8E 06 0657 mov es,word ptr ds:[657h] ; (3BBB:0657=2A74h) 3BBB:5B0A 26: 8B 15 mov dx,es:[di] 3BBB:5B0D EB 04 jmp short loc_1134 ; (5B13) 3BBB:5B0F loc_1133: ; xref 3BBB:5AFC 3BBB:5B0F 81 E2 0FFF and dx,0FFFh 3BBB:5B13 loc_1134: ; xref 3BBB:5B02, 5B0D 3BBB:5B13 8C D8 mov ax,ds 3BBB:5B15 8E C0 mov es,ax 3BBB:5B17 8B C2 mov ax,dx 3BBB:5B19 C3 retn sub_313 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:55F5, 55FF, 566F, 5A29, 5AE0, 5B66, 5D40 ; 5D50, 5D7D ;========================================================================== 3BBB:5B1A sub_314 proc near 3BBB:5B1A 8B F8 mov di,ax 3BBB:5B1C 83 3E 07ED FF ;* cmp word ptr ds:[7EDh],0FFFFh ; (3BBB:07ED=67BAh) 3BBB:5B1C db 83h, 3Eh,0EDh, 07h,0FFh ; Fixup - byte match 3BBB:5B21 74 12 jz loc_1135 ; Jump if zero 3BBB:5B23 D1 EF shr di,1 ; Shift w/zeros fill 3BBB:5B25 03 F8 add di,ax 3BBB:5B27 A9 0001 test ax,1 3BBB:5B2A 74 14 jz loc_1136 ; Jump if zero 3BBB:5B2C B1 04 mov cl,4 3BBB:5B2E D3 E3 shl bx,cl ; Shift w/zeros fill 3BBB:5B30 B8 000F mov ax,0Fh 3BBB:5B33 EB 0E jmp short loc_1137 ; (5B43) 3BBB:5B35 loc_1135: ; xref 3BBB:5B21 3BBB:5B35 D1 E7 shl di,1 ; Shift w/zeros fill 3BBB:5B37 8E 06 0657 mov es,word ptr ds:[657h] ; (3BBB:0657=2A74h) 3BBB:5B3B 26: 89 1D mov es:[di],bx 3BBB:5B3E EB 0D jmp short loc_1138 ; (5B4D) 3BBB:5B40 loc_1136: ; xref 3BBB:5B2A 3BBB:5B40 B8 F000 mov ax,0F000h 3BBB:5B43 loc_1137: ; xref 3BBB:5B33 3BBB:5B43 8E 06 0657 mov es,word ptr ds:[657h] ; (3BBB:0657=2A74h) 3BBB:5B47 26: 21 05 and es:[di],ax 3BBB:5B4A 26: 09 1D or es:[di],bx 3BBB:5B4D loc_1138: ; xref 3BBB:5B3E 3BBB:5B4D 8C D8 mov ax,ds 3BBB:5B4F 8E C0 mov es,ax 3BBB:5B51 C3 retn sub_314 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:57D1, 5A21, 5D73, 5D85 ;========================================================================== 3BBB:5B52 sub_315 proc near 3BBB:5B52 loc_1139: ; xref 3BBB:5B6A 3BBB:5B52 ,0B C0 or ax,ax ; Zero ? 3BBB:5B54 74 16 jz loc_ret_1140 ; Jump if zero 3BBB:5B56 3B 06 065D cmp ax,word ptr ds:[65Dh] ; (3BBB:065D=4489h) 3BBB:5B5A 73 10 jae loc_ret_1140 ; Jump if above or = 3BBB:5B5C 50 push ax 3BBB:5B5D E8 FF85 call sub_313 ; (5AE5) 3BBB:5B60 5B pop bx 3BBB:5B61 50 push ax 3BBB:5B62 8B C3 mov ax,bx 3BBB:5B64 33 DB xor bx,bx ; Zero register 3BBB:5B66 E8 FFB1 call sub_314 ; (5B1A) 3BBB:5B69 58 pop ax 3BBB:5B6A EB E6 jmp short loc_1139 ; (5B52) 3BBB:5B6C loc_ret_1140: ; xref 3BBB:5B54, 5B5A 3BBB:5B6C C3 retn sub_315 endp 3BBB:5B6D loc_1141: ; xref 3BBB:49F0 3BBB:5B6D 33 C9 xor cx,cx ; Zero register 3BBB:5B6F B8 0002 mov ax,2 3BBB:5B72 loc_1142: ; xref 3BBB:5B85 3BBB:5B72 ,3B 06 065D cmp ax,word ptr ds:[65Dh] ; (3BBB:065D=4489h) 3BBB:5B76 73 0F jae loc_1144 ; Jump if above or = 3BBB:5B78 50 push ax 3BBB:5B79 51 push cx 3BBB:5B7A E8 FF68 call sub_313 ; (5AE5) 3BBB:5B7D 59 pop cx 3BBB:5B7E 0B C0 or ax,ax ; Zero ? 3BBB:5B80 75 01 jnz loc_1143 ; Jump if not zero 3BBB:5B82 41 inc cx 3BBB:5B83 loc_1143: ; xref 3BBB:5B80 3BBB:5B83 58 pop ax 3BBB:5B84 40 inc ax 3BBB:5B85 EB EB jmp short loc_1142 ; (5B72) 3BBB:5B87 loc_1144: ; xref 3BBB:5B76 3BBB:5B87 8B C1 mov ax,cx 3BBB:5B89 F7 26 065F mul word ptr ds:[65Fh] ; (3BBB:065F=2604h) dx:ax = data * ax 3BBB:5B8D 8E 06 062E mov es,word ptr ds:[62Eh] ; (3BBB:062E=7493h) 3BBB:5B91 8B 3E 062C mov di,word ptr ds:[62Ch] ; (3BBB:062C=3Ch) 3BBB:5B95 E8 FF1C call sub_311 ; (5AB4) 3BBB:5B98 8C D8 mov ax,ds 3BBB:5B9A 8E C0 mov es,ax 3BBB:5B9C C3 retn 3BBB:5B9D loc_1145: ; xref 3BBB:46F7, 4709, 4916, 492F ; 49D8 3BBB:5B9D C6 06 068C 00 mov byte ptr ds:[68Ch],0 ; (3BBB:068C=4) 3BBB:5BA2 C6 06 07D8 00 mov byte ptr ds:[7D8h],0 ; (3BBB:07D8=0BEh) 3BBB:5BA7 88 0E 07A1 mov data_524,cl ; (3BBB:07A1=60h) 3BBB:5BAB F6 C1 01 test cl,1 3BBB:5BAE 75 1A jnz loc_1147 ; Jump if not zero 3BBB:5BB0 B4 03 mov ah,3 3BBB:5BB2 F6 06 0644 40 test byte ptr ds:[644h],40h ; (3BBB:0644=8Bh) '@' 3BBB:5BB7 74 03 jz loc_1146 ; Jump if zero 3BBB:5BB9 E9 CE1C jmp loc_467 ; (29D8) 3BBB:5BBC loc_1146: ; xref 3BBB:5BB7 3BBB:5BBC ,BB 0769 mov bx,769h ; (3BBB:0769=0D8h) 3BBB:5BBF E8 D056 call sub_129 ; (2C18) 3BBB:5BC2 E8 D05B call sub_130 ; (2C20) 3BBB:5BC5 80 0E 0777 40 or byte ptr ds:[777h],40h ; (3BBB:0777=0F8h) '@' 3BBB:5BCA loc_1147: ; xref 3BBB:5BAE 3BBB:5BCA F6 06 07A1 02 test data_524,2 ; (3BBB:07A1=60h) 3BBB:5BCF 74 28 jz loc_1150 ; Jump if zero 3BBB:5BD1 F6 06 078C FC test data_517,0FCh ; (3BBB:078C=8Eh) 3BBB:5BD6 74 06 jz loc_1148 ; Jump if zero 3BBB:5BD8 C6 06 05D1 06 mov byte ptr ds:[5D1h],6 ; (3BBB:05D1=0BFh) 3BBB:5BDD C3 retn 3BBB:5BDE loc_1148: ; xref 3BBB:5BD6 3BBB:5BDE E8 DF96 call sub_227 ; (3B77) 3BBB:5BE1 8A 26 0777 mov ah,byte ptr ds:[777h] ; (3BBB:0777=0F8h) 3BBB:5BE5 80 E4 3F and ah,3Fh ; '?' 3BBB:5BE8 3A E5 cmp ah,ch 3BBB:5BEA 75 06 jne loc_1149 ; Jump if not equal 3BBB:5BEC 3A 0E 0775 cmp cl,byte ptr ds:[775h] ; (3BBB:0775=0F0h) 3BBB:5BF0 74 3D je loc_1152 ; Jump if equal 3BBB:5BF2 loc_1149: ; xref 3BBB:5BEA 3BBB:5BF2 C6 06 07D8 FF mov byte ptr ds:[7D8h],0FFh ; (3BBB:07D8=0BEh) 3BBB:5BF7 EB 36 jmp short loc_1152 ; (5C2F) 3BBB:5BF9 loc_1150: ; xref 3BBB:5BCF 3BBB:5BF9 8A 2E 0777 mov ch,byte ptr ds:[777h] ; (3BBB:0777=0F8h) 3BBB:5BFD 80 E5 3F and ch,3Fh ; '?' 3BBB:5C00 8A 0E 0775 mov cl,byte ptr ds:[775h] ; (3BBB:0775=0F0h) 3BBB:5C04 8A 16 0789 mov dl,data_514 ; (3BBB:0789=0FBh) 3BBB:5C08 80 FA 80 cmp dl,80h 3BBB:5C0B 72 22 jb loc_1152 ; Jump if below 3BBB:5C0D 80 F9 1F cmp cl,1Fh 3BBB:5C10 75 0B jne loc_1151 ; Jump if not equal 3BBB:5C12 80 FD 3F cmp ch,3Fh ; '?' 3BBB:5C15 75 06 jne loc_1151 ; Jump if not equal 3BBB:5C17 C6 06 05D1 01 mov byte ptr ds:[5D1h],1 ; (3BBB:05D1=0BFh) 3BBB:5C1C C3 retn 3BBB:5C1D loc_1151: ; xref 3BBB:5C10, 5C15 3BBB:5C1D C6 06 07D8 FF mov byte ptr ds:[7D8h],0FFh ; (3BBB:07D8=0BEh) 3BBB:5C22 32 D2 xor dl,dl ; Zero register 3BBB:5C24 FE C1 inc cl 3BBB:5C26 80 F9 20 cmp cl,20h ; ' ' 3BBB:5C29 75 04 jne loc_1152 ; Jump if not equal 3BBB:5C2B 32 C9 xor cl,cl ; Zero register 3BBB:5C2D FE C5 inc ch 3BBB:5C2F loc_1152: ; xref 3BBB:5BF0, 5BF7, 5C0B, 5C29 3BBB:5C2F 88 2E 07D9 mov byte ptr ds:[7D9h],ch ; (3BBB:07D9=8Eh) 3BBB:5C33 88 0E 07DA mov byte ptr ds:[7DAh],cl ; (3BBB:07DA=3) 3BBB:5C37 88 16 07DB mov byte ptr ds:[7DBh],dl ; (3BBB:07DB=0BFh) 3BBB:5C3B 33 C0 xor ax,ax ; Zero register 3BBB:5C3D 8A E2 mov ah,dl 3BBB:5C3F D1 E8 shr ax,1 ; Shift w/zeros fill 3BBB:5C41 33 DB xor bx,bx ; Zero register 3BBB:5C43 8A F9 mov bh,cl 3BBB:5C45 B1 02 mov cl,2 3BBB:5C47 D3 EB shr bx,cl ; Shift w/zeros fill 3BBB:5C49 0A E3 or ah,bl 3BBB:5C4B 33 D2 xor dx,dx ; Zero register 3BBB:5C4D 8A D5 mov dl,ch 3BBB:5C4F B1 03 mov cl,3 3BBB:5C51 D3 E2 shl dx,cl ; Shift w/zeros fill 3BBB:5C53 0A D7 or dl,bh 3BBB:5C55 A3 07CB mov word ptr ds:[7CBh],ax ; (3BBB:07CB=0D6E9h) 3BBB:5C58 89 16 07CD mov word ptr ds:[7CDh],dx ; (3BBB:07CD=0A100h) 3BBB:5C5C 80 3E 061D 16 cmp byte ptr ds:[61Dh],16h ; (3BBB:061D=8Eh) 3BBB:5C61 76 01 jbe loc_1153 ; Jump if below or = 3BBB:5C63 C3 retn 3BBB:5C64 loc_1153: ; xref 3BBB:5C61 3BBB:5C64 8B DA mov bx,dx 3BBB:5C66 8B 0E 065F mov cx,word ptr ds:[65Fh] ; (3BBB:065F=2604h) 3BBB:5C6A E8 F6E8 call sub_303 ; (5355) 3BBB:5C6D 0B D2 or dx,dx ; Zero ? 3BBB:5C6F 75 07 jnz loc_1154 ; Jump if not zero 3BBB:5C71 40 inc ax 3BBB:5C72 3B 06 065D cmp ax,word ptr ds:[65Dh] ; (3BBB:065D=4489h) 3BBB:5C76 72 0F jb loc_1156 ; Jump if below 3BBB:5C78 loc_1154: ; xref 3BBB:5C6F 3BBB:5C78 B0 02 mov al,2 3BBB:5C7A F6 06 07A1 01 test data_524,1 ; (3BBB:07A1=60h) 3BBB:5C7F 74 02 jz loc_1155 ; Jump if zero 3BBB:5C81 FE C8 dec al 3BBB:5C83 loc_1155: ; xref 3BBB:5C7F 3BBB:5C83 A2 05D1 mov byte ptr ds:[5D1h],al ; (3BBB:05D1=0BFh) 3BBB:5C86 C3 retn 3BBB:5C87 loc_1156: ; xref 3BBB:5C76 3BBB:5C87 48 dec ax 3BBB:5C88 A3 07A6 mov data_527,ax ; (3BBB:07A6=0B1A2h) 3BBB:5C8B 89 0E 07A8 mov data_528,cx ; (3BBB:07A8=0E803h) 3BBB:5C8F 8B 16 077F mov dx,data_510 ; (3BBB:077F=5200h) 3BBB:5C93 A1 07A6 mov ax,data_527 ; (3BBB:07A6=0B1A2h) 3BBB:5C96 3B C2 cmp ax,dx 3BBB:5C98 75 0A jne loc_1157 ; Jump if not equal 3BBB:5C9A 83 3E 077D 00 cmp data_509,0 ; (3BBB:077D=1306h) 3BBB:5C9F 74 03 je loc_1157 ; Jump if equal 3BBB:5CA1 E9 0113 jmp loc_1173 ; (5DB7) 3BBB:5CA4 loc_1157: ; xref 3BBB:5C98, 5C9F 3BBB:5CA4 C6 06 05D5 FF mov byte ptr ds:[5D5h],0FFh ; (3BBB:05D5=20h) 3BBB:5CA9 3B C2 cmp ax,dx 3BBB:5CAB 72 1D jb loc_1158 ; Jump if below 3BBB:5CAD 83 3E 077D 00 cmp data_509,0 ; (3BBB:077D=1306h) 3BBB:5CB2 74 16 je loc_1158 ; Jump if equal 3BBB:5CB4 2B C2 sub ax,dx 3BBB:5CB6 A3 07A4 mov data_526,ax ; (3BBB:07A4=462h) 3BBB:5CB9 A1 077D mov ax,data_509 ; (3BBB:077D=1306h) 3BBB:5CBC A3 07D6 mov word ptr ds:[7D6h],ax ; (3BBB:07D6=0ADh) 3BBB:5CBF A3 07B1 mov data_534,ax ; (3BBB:07B1=5BA1h) 3BBB:5CC2 E8 FE0D call sub_312 ; (5AD2) 3BBB:5CC5 A3 07A2 mov data_525,ax ; (3BBB:07A2=0A304h) 3BBB:5CC8 EB 32 jmp short loc_1161 ; (5CFC) 3BBB:5CCA loc_1158: ; xref 3BBB:5CAB, 5CB2 3BBB:5CCA C7 06 077D 0000 mov data_509,0 ; (3BBB:077D=1306h) 3BBB:5CD0 40 inc ax 3BBB:5CD1 A3 07A4 mov data_526,ax ; (3BBB:07A4=462h) 3BBB:5CD4 A1 0783 mov ax,data_511 ; (3BBB:0783=0B900h) 3BBB:5CD7 A3 07A2 mov data_525,ax ; (3BBB:07A2=0A304h) 3BBB:5CDA 0B C0 or ax,ax ; Zero ? 3BBB:5CDC 75 09 jnz loc_1159 ; Jump if not zero 3BBB:5CDE E8 041A call sub_321 ; (60FB) 3BBB:5CE1 A1 0783 mov ax,data_511 ; (3BBB:0783=0B900h) 3BBB:5CE4 A3 07A2 mov data_525,ax ; (3BBB:07A2=0A304h) 3BBB:5CE7 loc_1159: ; xref 3BBB:5CDC 3BBB:5CE7 0B C0 or ax,ax ; Zero ? 3BBB:5CE9 75 05 jnz loc_1160 ; Jump if not zero 3BBB:5CEB C6 06 068C 80 mov byte ptr ds:[68Ch],80h ; (3BBB:068C=4) 3BBB:5CF0 loc_1160: ; xref 3BBB:5CE9 3BBB:5CF0 C7 06 07D6 0000 mov word ptr ds:[7D6h],0 ; (3BBB:07D6=0ADh) 3BBB:5CF6 C7 06 07B1 0000 mov data_534,0 ; (3BBB:07B1=5BA1h) 3BBB:5CFC loc_1161: ; xref 3BBB:5CC8, 5DA6 3BBB:5CFC ,F7 06 07A4 FFFF test data_526,0FFFFh ; (3BBB:07A4=462h) 3BBB:5D02 75 03 jnz loc_1162 ; Jump if not zero 3BBB:5D04 E9 00A2 jmp loc_1172 ; (5DA9) 3BBB:5D07 loc_1162: ; xref 3BBB:5D02 3BBB:5D07 FF 0E 07A4 dec data_526 ; (3BBB:07A4=462h) 3BBB:5D0B A1 07A2 mov ax,data_525 ; (3BBB:07A2=0A304h) 3BBB:5D0E 0B C0 or ax,ax ; Zero ? 3BBB:5D10 74 09 jz loc_1163 ; Jump if zero 3BBB:5D12 3B 06 065D cmp ax,word ptr ds:[65Dh] ; (3BBB:065D=4489h) 3BBB:5D16 73 03 jae loc_1163 ; Jump if above or = 3BBB:5D18 E9 0079 jmpn loc_1170 ; (5D94) 3BBB:5D1B loc_1163: ; xref 3BBB:5D10, 5D16 3BBB:5D1B F6 06 07A1 01 test data_524,1 ; (3BBB:07A1=60h) 3BBB:5D20 74 03 jz loc_1164 ; Jump if zero 3BBB:5D22 E9 CCAD jmp loc_465 ; (29D2) 3BBB:5D25 loc_1164: ; xref 3BBB:5D20 3BBB:5D25 A1 07D6 mov ax,word ptr ds:[7D6h] ; (3BBB:07D6=0ADh) 3BBB:5D28 E8 02F8 call sub_317 ; (6023) 3BBB:5D2B 0B C0 or ax,ax ; Zero ? 3BBB:5D2D 74 34 jz loc_1167 ; Jump if zero 3BBB:5D2F A3 07A2 mov data_525,ax ; (3BBB:07A2=0A304h) 3BBB:5D32 8B D8 mov bx,ax 3BBB:5D34 80 26 0777 7F and byte ptr ds:[777h],7Fh ; (3BBB:0777=0F8h) 3BBB:5D39 A1 07D6 mov ax,word ptr ds:[7D6h] ; (3BBB:07D6=0ADh) 3BBB:5D3C 0B C0 or ax,ax ; Zero ? 3BBB:5D3E 74 05 jz loc_1165 ; Jump if zero 3BBB:5D40 E8 FDD7 call sub_314 ; (5B1A) 3BBB:5D43 EB 04 jmp short loc_1166 ; (5D49) 3BBB:5D45 loc_1165: ; xref 3BBB:5D3E 3BBB:5D45 89 1E 0783 mov data_511,bx ; (3BBB:0783=0B900h) 3BBB:5D49 loc_1166: ; xref 3BBB:5D43 3BBB:5D49 A1 07A2 mov ax,data_525 ; (3BBB:07A2=0A304h) 3BBB:5D4C 8B 1E 07ED mov bx,word ptr ds:[7EDh] ; (3BBB:07ED=67BAh) 3BBB:5D50 E8 FDC7 call sub_314 ; (5B1A) 3BBB:5D53 80 3E 061D 16 cmp byte ptr ds:[61Dh],16h ; (3BBB:061D=8Eh) 3BBB:5D58 75 40 jne loc_1171 ; Jump if not equal 3BBB:5D5A A1 07A2 mov ax,data_525 ; (3BBB:07A2=0A304h) 3BBB:5D5D E8 0366 call sub_320 ; (60C6) 3BBB:5D60 E9 0037 jmpn loc_1171 ; (5D9A) 3BBB:5D63 loc_1167: ; xref 3BBB:5D2D 3BBB:5D63 A1 07B1 mov ax,data_534 ; (3BBB:07B1=5BA1h) 3BBB:5D66 0B C0 or ax,ax ; Zero ? 3BBB:5D68 74 18 jz loc_1168 ; Jump if zero 3BBB:5D6A E8 FD65 call sub_312 ; (5AD2) 3BBB:5D6D 3B 06 065D cmp ax,word ptr ds:[65Dh] ; (3BBB:065D=4489h) 3BBB:5D71 73 1B jae loc_1169 ; Jump if above or = 3BBB:5D73 E8 FDDC call sub_315 ; (5B52) 3BBB:5D76 A1 07B1 mov ax,data_534 ; (3BBB:07B1=5BA1h) 3BBB:5D79 8B 1E 07ED mov bx,word ptr ds:[7EDh] ; (3BBB:07ED=67BAh) 3BBB:5D7D E8 FD9A call sub_314 ; (5B1A) 3BBB:5D80 EB 0C jmp short loc_1169 ; (5D8E) 3BBB:5D82 loc_1168: ; xref 3BBB:5D68 3BBB:5D82 A1 0783 mov ax,data_511 ; (3BBB:0783=0B900h) 3BBB:5D85 E8 FDCA call sub_315 ; (5B52) 3BBB:5D88 C7 06 0783 0000 mov data_511,0 ; (3BBB:0783=0B900h) 3BBB:5D8E loc_1169: ; xref 3BBB:5D71, 5D80 3BBB:5D8E C6 06 05D1 02 mov byte ptr ds:[5D1h],2 ; (3BBB:05D1=0BFh) 3BBB:5D93 C3 retn 3BBB:5D94 loc_1170: ; xref 3BBB:5D18 3BBB:5D94 A1 07A2 mov ax,data_525 ; (3BBB:07A2=0A304h) 3BBB:5D97 A3 07B1 mov data_534,ax ; (3BBB:07B1=5BA1h) 3BBB:5D9A loc_1171: ; xref 3BBB:5D58, 5D60 3BBB:5D9A A1 07A2 mov ax,data_525 ; (3BBB:07A2=0A304h) 3BBB:5D9D A3 07D6 mov word ptr ds:[7D6h],ax ; (3BBB:07D6=0ADh) 3BBB:5DA0 E8 FD2F call sub_312 ; (5AD2) 3BBB:5DA3 A3 07A2 mov data_525,ax ; (3BBB:07A2=0A304h) 3BBB:5DA6 E9 FF53 jmp loc_1161 ; (5CFC) 3BBB:5DA9 loc_1172: ; xref 3BBB:5D04 3BBB:5DA9 A1 07D6 mov ax,word ptr ds:[7D6h] ; (3BBB:07D6=0ADh) 3BBB:5DAC A3 077D mov data_509,ax ; (3BBB:077D=1306h) 3BBB:5DAF A1 07A6 mov ax,data_527 ; (3BBB:07A6=0B1A2h) 3BBB:5DB2 A3 077F mov data_510,ax ; (3BBB:077F=5200h) 3BBB:5DB5 EB 06 jmp short loc_1174 ; (5DBD) 3BBB:5DB7 loc_1173: ; xref 3BBB:5CA1 3BBB:5DB7 A1 077D mov ax,data_509 ; (3BBB:077D=1306h) 3BBB:5DBA A3 07D6 mov word ptr ds:[7D6h],ax ; (3BBB:07D6=0ADh) 3BBB:5DBD loc_1174: ; xref 3BBB:5DB5, 5DDE 3BBB:5DBD 32 ED xor ch,ch ; Zero register 3BBB:5DBF A1 07CD mov ax,word ptr ds:[7CDh] ; (3BBB:07CD=0A100h) 3BBB:5DC2 3B 06 0787 cmp ax,data_513 ; (3BBB:0787=19E8h) 3BBB:5DC6 77 0B ja loc_1175 ; Jump if above 3BBB:5DC8 72 0B jc loc_1176 ; Jump if carry Set 3BBB:5DCA A1 07CB mov ax,word ptr ds:[7CBh] ; (3BBB:07CB=0D6E9h) 3BBB:5DCD 3B 06 0785 cmp ax,data_512 ; (3BBB:0785=204h) 3BBB:5DD1 72 02 jb loc_1176 ; Jump if below 3BBB:5DD3 loc_1175: ; xref 3BBB:5DC6 3BBB:5DD3 B5 FF mov ch,0FFh 3BBB:5DD5 loc_1176: ; xref 3BBB:5DC8, 5DD1 3BBB:5DD5 0A ED or ch,ch ; Zero ? 3BBB:5DD7 74 09 jz loc_1177 ; Jump if zero 3BBB:5DD9 E8 031F call sub_321 ; (60FB) 3BBB:5DDC 0B C0 or ax,ax ; Zero ? 3BBB:5DDE 75 DD jnz loc_1174 ; Jump if not zero 3BBB:5DE0 B5 FF mov ch,0FFh 3BBB:5DE2 loc_1177: ; xref 3BBB:5DD7 3BBB:5DE2 F6 06 07A1 01 test data_524,1 ; (3BBB:07A1=60h) 3BBB:5DE7 75 51 jnz loc_1180 ; Jump if not zero 3BBB:5DE9 80 3E 061D 16 cmp byte ptr ds:[61Dh],16h ; (3BBB:061D=8Eh) 3BBB:5DEE 74 43 je loc_1179 ; Jump if equal 3BBB:5DF0 0A ED or ch,ch ; Zero ? 3BBB:5DF2 74 3F jz loc_1179 ; Jump if zero 3BBB:5DF4 A0 0673 mov al,byte ptr ds:[673h] ; (3BBB:0673=8Ch) 3BBB:5DF7 32 E4 xor ah,ah ; Zero register 3BBB:5DF9 B1 07 mov cl,7 3BBB:5DFB D3 E0 shl ax,cl ; Shift w/zeros fill 3BBB:5DFD 85 06 07CB test ax,word ptr ds:[7CBh] ; (3BBB:07CB=0D6E9h) 3BBB:5E01 74 29 jz loc_1178 ; Jump if zero 3BBB:5E03 A1 07CB mov ax,word ptr ds:[7CBh] ; (3BBB:07CB=0D6E9h) 3BBB:5E06 8B 16 07CD mov dx,word ptr ds:[7CDh] ; (3BBB:07CD=0A100h) 3BBB:5E0A 8A 0E 0672 mov cl,byte ptr ds:[672h] ; (3BBB:0672=4) 3BBB:5E0E 80 C1 07 add cl,7 3BBB:5E11 51 push cx 3BBB:5E12 E8 F52C call sub_302 ; (5341) 3BBB:5E15 59 pop cx 3BBB:5E16 50 push ax 3BBB:5E17 52 push dx 3BBB:5E18 A1 0785 mov ax,data_512 ; (3BBB:0785=204h) 3BBB:5E1B 8B 16 0787 mov dx,data_513 ; (3BBB:0787=19E8h) 3BBB:5E1F E8 F51F call sub_302 ; (5341) 3BBB:5E22 59 pop cx 3BBB:5E23 5B pop bx 3BBB:5E24 2B D8 sub bx,ax 3BBB:5E26 1B CA sbb cx,dx 3BBB:5E28 0B D9 or bx,cx 3BBB:5E2A 74 07 jz loc_1179 ; Jump if zero 3BBB:5E2C loc_1178: ; xref 3BBB:5E01 3BBB:5E2C C6 06 07D5 00 mov byte ptr ds:[7D5h],0 ; (3BBB:07D5=0E9h) 3BBB:5E31 EB 0E jmp short loc_1181 ; (5E41) 3BBB:5E33 loc_1179: ; xref 3BBB:5DEE, 5DF2, 5E2A 3BBB:5E33 C6 06 07D5 FF mov byte ptr ds:[7D5h],0FFh ; (3BBB:07D5=0E9h) 3BBB:5E38 EB 07 jmp short loc_1181 ; (5E41) 3BBB:5E3A loc_1180: ; xref 3BBB:5DE7 3BBB:5E3A 0A ED or ch,ch ; Zero ? 3BBB:5E3C 74 03 jz loc_1181 ; Jump if zero 3BBB:5E3E E9 CB91 jmp loc_465 ; (29D2) 3BBB:5E41 loc_1181: ; xref 3BBB:5E31, 5E38, 5E3C 3BBB:5E41 A1 07D6 mov ax,word ptr ds:[7D6h] ; (3BBB:07D6=0ADh) 3BBB:5E44 8B 1E 07A8 mov bx,data_528 ; (3BBB:07A8=0E803h) 3BBB:5E48 E8 023A call sub_319 ; (6085) 3BBB:5E4B E8 00E7 call sub_316 ; (5F35) 3BBB:5E4E 3D FFFF cmp ax,0FFFFh 3BBB:5E51 74 05 je loc_1182 ; Jump if equal 3BBB:5E53 E8 020F call sub_318 ; (6065) 3BBB:5E56 EB 1A jmp short loc_1184 ; (5E72) 3BBB:5E58 loc_1182: ; xref 3BBB:5E51 3BBB:5E58 F6 06 07A1 01 test data_524,1 ; (3BBB:07A1=60h) 3BBB:5E5D 75 13 jnz loc_1184 ; Jump if not zero 3BBB:5E5F F6 06 0673 FF test byte ptr ds:[673h],0FFh ; (3BBB:0673=8Ch) 3BBB:5E64 74 09 jz loc_1183 ; Jump if zero 3BBB:5E66 A0 069B mov al,byte ptr ds:[69Bh] ; (3BBB:069B=74h) 3BBB:5E69 84 06 0673 test al,byte ptr ds:[673h] ; (3BBB:0673=8Ch) 3BBB:5E6D 75 03 jnz loc_1184 ; Jump if not zero 3BBB:5E6F loc_1183: ; xref 3BBB:5E64 3BBB:5E6F E8 CEF8 call sub_150 ; (2D6A) 3BBB:5E72 loc_1184: ; xref 3BBB:5E56, 5E5D, 5E6D 3BBB:5E72 81 06 07CB 0080 add word ptr ds:[7CBh],80h ; (3BBB:07CB=0D6E9h) 3BBB:5E78 83 16 07CD 00 adc word ptr ds:[7CDh],0 ; (3BBB:07CD=0A100h) 3BBB:5E7D loc_1185: ; xref 3BBB:5E96 3BBB:5E7D A1 07CD mov ax,word ptr ds:[7CDh] ; (3BBB:07CD=0A100h) 3BBB:5E80 3B 06 0787 cmp ax,data_513 ; (3BBB:0787=19E8h) 3BBB:5E84 77 0B ja loc_1186 ; Jump if above 3BBB:5E86 72 59 jc loc_1188 ; Jump if carry Set 3BBB:5E88 A1 07CB mov ax,word ptr ds:[7CBh] ; (3BBB:07CB=0D6E9h) 3BBB:5E8B 3B 06 0785 cmp ax,data_512 ; (3BBB:0785=204h) 3BBB:5E8F 76 50 jbe loc_1188 ; Jump if below or = 3BBB:5E91 loc_1186: ; xref 3BBB:5E84 3BBB:5E91 E8 0267 call sub_321 ; (60FB) 3BBB:5E94 0B C0 or ax,ax ; Zero ? 3BBB:5E96 75 E5 jnz loc_1185 ; Jump if not zero 3BBB:5E98 F6 06 07A1 01 test data_524,1 ; (3BBB:07A1=60h) 3BBB:5E9D 74 29 jz loc_1187 ; Jump if zero 3BBB:5E9F A1 07CD mov ax,word ptr ds:[7CDh] ; (3BBB:07CD=0A100h) 3BBB:5EA2 2B 06 0787 sub ax,data_513 ; (3BBB:0787=19E8h) 3BBB:5EA6 A1 07CB mov ax,word ptr ds:[7CBh] ; (3BBB:07CB=0D6E9h) 3BBB:5EA9 1B 06 0785 sbb ax,data_512 ; (3BBB:0785=204h) 3BBB:5EAD BB 0080 mov bx,80h 3BBB:5EB0 2B D8 sub bx,ax 3BBB:5EB2 8B 3E 062C mov di,word ptr ds:[62Ch] ; (3BBB:062C=3Ch) 3BBB:5EB6 03 FB add di,bx 3BBB:5EB8 8E 06 062E mov es,word ptr ds:[62Eh] ; (3BBB:062E=7493h) 3BBB:5EBC 8B C8 mov cx,ax 3BBB:5EBE 32 C0 xor al,al ; Zero register 3BBB:5EC0 F3/ AA rep stosb ; Rep when cx >0 Store al to es:[di] 3BBB:5EC2 8C D8 mov ax,ds 3BBB:5EC4 8E C0 mov es,ax 3BBB:5EC6 EB 19 jmp short loc_1188 ; (5EE1) 3BBB:5EC8 loc_1187: ; xref 3BBB:5E9D 3BBB:5EC8 A1 07CB mov ax,word ptr ds:[7CBh] ; (3BBB:07CB=0D6E9h) 3BBB:5ECB A3 0785 mov data_512,ax ; (3BBB:0785=204h) 3BBB:5ECE C6 06 07D8 FF mov byte ptr ds:[7D8h],0FFh ; (3BBB:07D8=0BEh) 3BBB:5ED3 A1 07CD mov ax,word ptr ds:[7CDh] ; (3BBB:07CD=0A100h) 3BBB:5ED6 A3 0787 mov data_513,ax ; (3BBB:0787=19E8h) 3BBB:5ED9 C6 06 05D5 FF mov byte ptr ds:[5D5h],0FFh ; (3BBB:05D5=20h) 3BBB:5EDE E8 0285 call sub_322 ; (6166) 3BBB:5EE1 loc_1188: ; xref 3BBB:5E86, 5E8F, 5EC6 3BBB:5EE1 A0 0777 mov al,byte ptr ds:[777h] ; (3BBB:0777=0F8h) 3BBB:5EE4 24 C0 and al,0C0h 3BBB:5EE6 0A 06 07D9 or al,byte ptr ds:[7D9h] ; (3BBB:07D9=8Eh) 3BBB:5EEA A2 0777 mov byte ptr ds:[777h],al ; (3BBB:0777=0F8h) 3BBB:5EED A0 07DA mov al,byte ptr ds:[7DAh] ; (3BBB:07DA=3) 3BBB:5EF0 A2 0775 mov byte ptr ds:[775h],al ; (3BBB:0775=0F0h) 3BBB:5EF3 A0 07DB mov al,byte ptr ds:[7DBh] ; (3BBB:07DB=0BFh) 3BBB:5EF6 A2 0789 mov data_514,al ; (3BBB:0789=0FBh) 3BBB:5EF9 F6 06 07D8 FF test byte ptr ds:[7D8h],0FFh ; (3BBB:07D8=0BEh) 3BBB:5EFE 74 13 jz loc_1191 ; Jump if zero 3BBB:5F00 E8 F0D5 call sub_285 ; (4FD8) 3BBB:5F03 3D FFFF cmp ax,0FFFFh 3BBB:5F06 75 04 jne loc_1189 ; Jump if not equal 3BBB:5F08 32 C0 xor al,al ; Zero register 3BBB:5F0A EB 04 jmp short loc_1190 ; (5F10) 3BBB:5F0C loc_1189: ; xref 3BBB:5F06 3BBB:5F0C B1 07 mov cl,7 3BBB:5F0E D3 E8 shr ax,cl ; Shift w/zeros fill 3BBB:5F10 loc_1190: ; xref 3BBB:5F0A 3BBB:5F10 A2 0778 mov byte ptr ds:[778h],al ; (3BBB:0778=8Bh) 3BBB:5F13 loc_1191: ; xref 3BBB:5EFE 3BBB:5F13 F6 06 07A1 02 test data_524,2 ; (3BBB:07A1=60h) 3BBB:5F18 75 04 jnz loc_1192 ; Jump if not zero 3BBB:5F1A FE 06 0789 inc data_514 ; (3BBB:0789=0FBh) 3BBB:5F1E loc_1192: ; xref 3BBB:5F18 3BBB:5F1E F6 06 068C 80 test byte ptr ds:[68Ch],80h ; (3BBB:068C=4) 3BBB:5F23 74 0F jz loc_ret_1193 ; Jump if zero 3BBB:5F25 E8 F635 call sub_307 ; (555D) 3BBB:5F28 80 3E 05D1 FF cmp byte ptr ds:[5D1h],0FFh ; (3BBB:05D1=0BFh) 3BBB:5F2D 75 05 jne loc_ret_1193 ; Jump if not equal 3BBB:5F2F B4 0A mov ah,0Ah 3BBB:5F31 E9 CAA4 jmp loc_467 ; (29D8) 3BBB:5F34 loc_ret_1193: ; xref 3BBB:5F23, 5F2D 3BBB:5F34 C3 retn ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:5E4B ;========================================================================== 3BBB:5F35 sub_316 proc near 3BBB:5F35 80 3E 05DB 01 cmp byte ptr ds:[5DBh],1 ; (3BBB:05DB=7) 3BBB:5F3A 76 08 jbe loc_1194 ; Jump if below or = 3BBB:5F3C FE 0E 05DB dec byte ptr ds:[5DBh] ; (3BBB:05DB=7) 3BBB:5F40 B8 FFFF mov ax,0FFFFh 3BBB:5F43 C3 retn 3BBB:5F44 loc_1194: ; xref 3BBB:5F3A 3BBB:5F44 A0 0673 mov al,byte ptr ds:[673h] ; (3BBB:0673=8Ch) 3BBB:5F47 22 06 069B and al,byte ptr ds:[69Bh] ; (3BBB:069B=74h) 3BBB:5F4B 75 15 jnz loc_1195 ; Jump if not zero 3BBB:5F4D 80 3E 05DC 02 cmp byte ptr ds:[5DCh],2 ; (3BBB:05DC=0F3h) 3BBB:5F52 72 0E jb loc_1195 ; Jump if below 3BBB:5F54 F6 06 0644 80 test byte ptr ds:[644h],80h ; (3BBB:0644=8Bh) 3BBB:5F59 75 07 jnz loc_1195 ; Jump if not zero 3BBB:5F5B 80 3E 061D 16 cmp byte ptr ds:[61Dh],16h ; (3BBB:061D=8Eh) 3BBB:5F60 75 0C jne loc_1197 ; Jump if not equal 3BBB:5F62 loc_1195: ; xref 3BBB:5F4B, 5F52, 5F59 3BBB:5F62 33 C0 xor ax,ax ; Zero register 3BBB:5F64 F6 06 0673 FF test byte ptr ds:[673h],0FFh ; (3BBB:0673=8Ch) 3BBB:5F69 75 02 jnz loc_ret_1196 ; Jump if not zero 3BBB:5F6B B0 01 mov al,1 3BBB:5F6D loc_ret_1196: ; xref 3BBB:5F69 3BBB:5F6D C3 retn 3BBB:5F6E loc_1197: ; xref 3BBB:5F60 3BBB:5F6E A1 07D6 mov ax,word ptr ds:[7D6h] ; (3BBB:07D6=0ADh) 3BBB:5F71 33 C9 xor cx,cx ; Zero register 3BBB:5F73 loc_1198: ; xref 3BBB:5F80 3BBB:5F73 ,50 push ax 3BBB:5F74 51 push cx 3BBB:5F75 E8 FB5A call sub_312 ; (5AD2) 3BBB:5F78 59 pop cx 3BBB:5F79 5B pop bx 3BBB:5F7A 43 inc bx 3BBB:5F7B 3B C3 cmp ax,bx 3BBB:5F7D 75 03 jne loc_1199 ; Jump if not equal 3BBB:5F7F 41 inc cx 3BBB:5F80 EB F1 jmp short loc_1198 ; (5F73) 3BBB:5F82 loc_1199: ; xref 3BBB:5F7D 3BBB:5F82 F6 06 07A1 01 test data_524,1 ; (3BBB:07A1=60h) 3BBB:5F87 75 1C jnz loc_1201 ; Jump if not zero 3BBB:5F89 3D 0FF7 cmp ax,0FF7h 3BBB:5F8C 76 17 jbe loc_1201 ; Jump if below or = 3BBB:5F8E loc_1200: ; xref 3BBB:5FA3 3BBB:5F8E ,53 push bx 3BBB:5F8F 51 push cx 3BBB:5F90 8B C3 mov ax,bx 3BBB:5F92 E8 FB50 call sub_313 ; (5AE5) 3BBB:5F95 59 pop cx 3BBB:5F96 5B pop bx 3BBB:5F97 0B C0 or ax,ax ; Zero ? 3BBB:5F99 75 0A jnz loc_1201 ; Jump if not zero 3BBB:5F9B 3B 1E 065D cmp bx,word ptr ds:[65Dh] ; (3BBB:065D=4489h) 3BBB:5F9F 73 04 jae loc_1201 ; Jump if above or = 3BBB:5FA1 43 inc bx 3BBB:5FA2 41 inc cx 3BBB:5FA3 EB E9 jmp short loc_1200 ; (5F8E) 3BBB:5FA5 loc_1201: ; xref 3BBB:5F87, 5F8C, 5F99, 5F9F 3BBB:5FA5 A1 065F mov ax,word ptr ds:[65Fh] ; (3BBB:065F=2604h) 3BBB:5FA8 F7 E1 mul cx ; dx:ax = reg * ax 3BBB:5FAA 8B 1E 065F mov bx,word ptr ds:[65Fh] ; (3BBB:065F=2604h) 3BBB:5FAE 2B 1E 07A8 sub bx,data_528 ; (3BBB:07A8=0E803h) 3BBB:5FB2 03 C3 add ax,bx 3BBB:5FB4 83 D2 00 adc dx,0 3BBB:5FB7 0B D2 or dx,dx ; Zero ? 3BBB:5FB9 75 05 jnz loc_1202 ; Jump if not zero 3BBB:5FBB 3D 4000 cmp ax,4000h 3BBB:5FBE 72 05 jb loc_1203 ; Jump if below 3BBB:5FC0 loc_1202: ; xref 3BBB:5FB9 3BBB:5FC0 B8 4000 mov ax,4000h 3BBB:5FC3 33 D2 xor dx,dx ; Zero register 3BBB:5FC5 loc_1203: ; xref 3BBB:5FBE 3BBB:5FC5 F6 06 07A1 01 test data_524,1 ; (3BBB:07A1=60h) 3BBB:5FCA 74 24 jz loc_1206 ; Jump if zero 3BBB:5FCC 8B 1E 0785 mov bx,data_512 ; (3BBB:0785=204h) 3BBB:5FD0 2B 1E 07CB sub bx,word ptr ds:[7CBh] ; (3BBB:07CB=0D6E9h) 3BBB:5FD4 8B 0E 0787 mov cx,data_513 ; (3BBB:0787=19E8h) 3BBB:5FD8 1B 0E 07CD sbb cx,word ptr ds:[7CDh] ; (3BBB:07CD=0A100h) 3BBB:5FDC 73 04 jnc loc_1204 ; Jump if carry=0 3BBB:5FDE 33 DB xor bx,bx ; Zero register 3BBB:5FE0 33 C9 xor cx,cx ; Zero register 3BBB:5FE2 loc_1204: ; xref 3BBB:5FDC 3BBB:5FE2 3B CA cmp cx,dx 3BBB:5FE4 77 0A ja loc_1206 ; Jump if above 3BBB:5FE6 72 04 jc loc_1205 ; Jump if carry Set 3BBB:5FE8 3B D8 cmp bx,ax 3BBB:5FEA 73 04 jae loc_1206 ; Jump if above or = 3BBB:5FEC loc_1205: ; xref 3BBB:5FE6 3BBB:5FEC 8B C3 mov ax,bx 3BBB:5FEE 8B D1 mov dx,cx 3BBB:5FF0 loc_1206: ; xref 3BBB:5FCA, 5FE4, 5FEA 3BBB:5FF0 B1 07 mov cl,7 3BBB:5FF2 E8 F34C call sub_302 ; (5341) 3BBB:5FF5 3A 06 05DC cmp al,byte ptr ds:[5DCh] ; (3BBB:05DC=0F3h) 3BBB:5FF9 76 03 jbe loc_1207 ; Jump if below or = 3BBB:5FFB A0 05DC mov al,byte ptr ds:[5DCh] ; (3BBB:05DC=0F3h) 3BBB:5FFE loc_1207: ; xref 3BBB:5FF9 3BBB:5FFE 8A D8 mov bl,al 3BBB:6000 8A 0E 0672 mov cl,byte ptr ds:[672h] ; (3BBB:0672=4) 3BBB:6004 D2 E8 shr al,cl ; Shift w/zeros fill 3BBB:6006 8A 16 0673 mov dl,byte ptr ds:[673h] ; (3BBB:0673=8Ch) 3BBB:600A F6 D2 not dl 3BBB:600C 22 DA and bl,dl 3BBB:600E 88 1E 05DB mov byte ptr ds:[5DBh],bl ; (3BBB:05DB=7) 3BBB:6012 50 push ax 3BBB:6013 0A C0 or al,al ; Zero ? 3BBB:6015 74 0A jz loc_1208 ; Jump if zero 3BBB:6017 F6 06 07A1 01 test data_524,1 ; (3BBB:07A1=60h) 3BBB:601C 74 03 jz loc_1208 ; Jump if zero 3BBB:601E E8 EA8E call sub_280 ; (4AAF) 3BBB:6021 loc_1208: ; xref 3BBB:6015, 601C 3BBB:6021 58 pop ax 3BBB:6022 C3 retn sub_316 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:55E6, 565A, 5D28 ;========================================================================== 3BBB:6023 sub_317 proc near 3BBB:6023 0B C0 or ax,ax ; Zero ? 3BBB:6025 75 03 jnz loc_1209 ; Jump if not zero 3BBB:6027 B8 0001 mov ax,1 3BBB:602A loc_1209: ; xref 3BBB:6025 3BBB:602A 8B D8 mov bx,ax 3BBB:602C 43 inc bx 3BBB:602D 48 dec ax 3BBB:602E loc_1210: ; xref 3BBB:605A, 6060 3BBB:602E 3B 1E 065D cmp bx,word ptr ds:[65Dh] ; (3BBB:065D=4489h) 3BBB:6032 73 11 jae loc_1212 ; Jump if above or = 3BBB:6034 50 push ax 3BBB:6035 53 push bx 3BBB:6036 8B C3 mov ax,bx 3BBB:6038 E8 FAAA call sub_313 ; (5AE5) 3BBB:603B 5B pop bx 3BBB:603C 0B C0 or ax,ax ; Zero ? 3BBB:603E 58 pop ax 3BBB:603F 75 03 jnz loc_1211 ; Jump if not zero 3BBB:6041 8B C3 mov ax,bx 3BBB:6043 C3 retn 3BBB:6044 loc_1211: ; xref 3BBB:603F 3BBB:6044 43 inc bx 3BBB:6045 loc_1212: ; xref 3BBB:6032 3BBB:6045 3D 0002 cmp ax,2 3BBB:6048 76 0D jbe loc_1214 ; Jump if below or = 3BBB:604A 50 push ax 3BBB:604B 53 push bx 3BBB:604C E8 FA96 call sub_313 ; (5AE5) 3BBB:604F 5B pop bx 3BBB:6050 0B C0 or ax,ax ; Zero ? 3BBB:6052 58 pop ax 3BBB:6053 75 01 jnz loc_1213 ; Jump if not zero 3BBB:6055 C3 retn 3BBB:6056 loc_1213: ; xref 3BBB:6053 3BBB:6056 48 dec ax 3BBB:6057 loc_1214: ; xref 3BBB:6048 3BBB:6057 3D 0002 cmp ax,2 3BBB:605A 77 D2 ja loc_1210 ; Jump if above 3BBB:605C 3B 1E 065D cmp bx,word ptr ds:[65Dh] ; (3BBB:065D=4489h) 3BBB:6060 72 CC jb loc_1210 ; Jump if below 3BBB:6062 33 C0 xor ax,ax ; Zero register 3BBB:6064 C3 retn sub_317 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:5E53 ;========================================================================== 3BBB:6065 sub_318 proc near 3BBB:6065 8A 0E 07A1 mov cl,data_524 ; (3BBB:07A1=60h) 3BBB:6069 80 E1 01 and cl,1 3BBB:606C 0B C0 or ax,ax ; Zero ? 3BBB:606E 74 0E jz loc_1216 ; Jump if zero 3BBB:6070 0A C9 or cl,cl ; Zero ? 3BBB:6072 75 07 jnz loc_1215 ; Jump if not zero 3BBB:6074 50 push ax 3BBB:6075 E8 CCF2 call sub_150 ; (2D6A) 3BBB:6078 58 pop ax 3BBB:6079 32 C9 xor cl,cl ; Zero register 3BBB:607B loc_1215: ; xref 3BBB:6072 3BBB:607B E9 CC58 jmp loc_504 ; (2CD6) 3BBB:607E loc_1216: ; xref 3BBB:606E 3BBB:607E 8A 2E 07D5 mov ch,byte ptr ds:[7D5h] ; (3BBB:07D5=0E9h) 3BBB:6082 E9 CEED jmp loc_548 ; (2F72) sub_318 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:31E8, 5686, 583C, 5E48, 60C8 ;========================================================================== 3BBB:6085 sub_319 proc near 3BBB:6085 48 dec ax 3BBB:6086 48 dec ax 3BBB:6087 F7 26 065F mul word ptr ds:[65Fh] ; (3BBB:065F=2604h) dx:ax = data * ax 3BBB:608B 03 C3 add ax,bx 3BBB:608D 83 D2 00 adc dx,0 3BBB:6090 B1 07 mov cl,7 3BBB:6092 E8 F2AC call sub_302 ; (5341) 3BBB:6095 8B 1E 066A mov bx,word ptr ds:[66Ah] ; (3BBB:066A=0C38Bh) 3BBB:6099 83 C3 04 add bx,4 3BBB:609C B1 02 mov cl,2 3BBB:609E D3 EB shr bx,cl ; Shift w/zeros fill 3BBB:60A0 84 1E 0673 test bl,byte ptr ds:[673h] ; (3BBB:0673=8Ch) 3BBB:60A4 74 0F jz loc_1217 ; Jump if zero 3BBB:60A6 8A 0E 0673 mov cl,byte ptr ds:[673h] ; (3BBB:0673=8Ch) 3BBB:60AA 32 ED xor ch,ch ; Zero register 3BBB:60AC F7 D1 not cx 3BBB:60AE 23 D9 and bx,cx 3BBB:60B0 F7 D1 not cx 3BBB:60B2 03 D9 add bx,cx 3BBB:60B4 43 inc bx 3BBB:60B5 loc_1217: ; xref 3BBB:60A4 3BBB:60B5 03 C3 add ax,bx 3BBB:60B7 83 D2 00 adc dx,0 3BBB:60BA A2 069B mov byte ptr ds:[69Bh],al ; (3BBB:069B=74h) 3BBB:60BD 88 26 069C mov byte ptr ds:[69Ch],ah ; (3BBB:069C=6) 3BBB:60C1 88 16 069D mov byte ptr ds:[69Dh],dl ; (3BBB:069D=0C7h) 3BBB:60C5 C3 retn sub_319 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:5608, 567E, 5D5D ;========================================================================== 3BBB:60C6 sub_320 proc near 3BBB:60C6 33 DB xor bx,bx ; Zero register 3BBB:60C8 E8 FFBA call sub_319 ; (6085) 3BBB:60CB E8 DCE3 call sub_230 ; (3DB1) 3BBB:60CE 8B 1E 065F mov bx,word ptr ds:[65Fh] ; (3BBB:065F=2604h) 3BBB:60D2 B1 07 mov cl,7 3BBB:60D4 02 0E 0672 add cl,byte ptr ds:[672h] ; (3BBB:0672=4) 3BBB:60D8 D3 EB shr bx,cl ; Shift w/zeros fill 3BBB:60DA C6 06 07D5 00 mov byte ptr ds:[7D5h],0 ; (3BBB:07D5=0E9h) 3BBB:60DF loc_1218: ; xref 3BBB:60F8 3BBB:60DF 50 push ax 3BBB:60E0 53 push bx 3BBB:60E1 E8 CC86 call sub_150 ; (2D6A) 3BBB:60E4 E8 C93A call sub_108 ; (2A21) 3BBB:60E7 32 C9 xor cl,cl ; Zero register 3BBB:60E9 E8 CBFB call sub_147 ; (2CE7) 3BBB:60EC 5B pop bx 3BBB:60ED 58 pop ax 3BBB:60EE 01 06 069B add word ptr ds:[69Bh],ax ; (3BBB:069B=674h) 3BBB:60F2 80 16 069D 00 adc byte ptr ds:[69Dh],0 ; (3BBB:069D=0C7h) 3BBB:60F7 4B dec bx 3BBB:60F8 75 E5 jnz loc_1218 ; Jump if not zero 3BBB:60FA C3 retn sub_320 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:5CDE, 5DD9, 5E91 ;========================================================================== 3BBB:60FB sub_321 proc near 3BBB:60FB 80 0E 05D4 0F or byte ptr ds:[5D4h],0Fh ; (3BBB:05D4=0B0h) 3BBB:6100 F6 06 0644 80 test byte ptr ds:[644h],80h ; (3BBB:0644=8Bh) 3BBB:6105 74 5C jz loc_1222 ; Jump if zero 3BBB:6107 80 3E 063B 01 cmp byte ptr ds:[63Bh],1 ; (3BBB:063B=8Bh) 3BBB:610C 76 09 jbe loc_1219 ; Jump if below or = 3BBB:610E A0 05DC mov al,byte ptr ds:[5DCh] ; (3BBB:05DC=0F3h) 3BBB:6111 3A 06 063B cmp al,byte ptr ds:[63Bh] ; (3BBB:063B=8Bh) 3BBB:6115 75 4C jne loc_1222 ; Jump if not equal 3BBB:6117 loc_1219: ; xref 3BBB:610C 3BBB:6117 A0 077B mov al,data_508 ; (3BBB:077B=26h) 3BBB:611A 8A 26 0779 mov ah,byte ptr ds:[779h] ; (3BBB:0779=0E8h) 3BBB:611E 80 E4 1F and ah,1Fh 3BBB:6121 48 dec ax 3BBB:6122 A3 0636 mov word ptr ds:[636h],ax ; (3BBB:0636=8A26h) 3BBB:6125 E8 F185 call sub_298 ; (52AD) 3BBB:6128 0B C0 or ax,ax ; Zero ? 3BBB:612A 75 07 jnz loc_1220 ; Jump if not zero 3BBB:612C 5B pop bx 3BBB:612D C6 06 05D1 0B mov byte ptr ds:[5D1h],0Bh ; (3BBB:05D1=0BFh) 3BBB:6132 C3 retn 3BBB:6133 loc_1220: ; xref 3BBB:612A 3BBB:6133 C6 06 05D5 FF mov byte ptr ds:[5D5h],0FFh ; (3BBB:05D5=20h) 3BBB:6138 8B D8 mov bx,ax 3BBB:613A 8B 47 1A mov ax,[bx+1Ah] 3BBB:613D A3 0783 mov data_511,ax ; (3BBB:0783=0B900h) 3BBB:6140 8B 57 1E mov dx,[bx+1Eh] 3BBB:6143 39 16 0787 cmp data_513,dx ; (3BBB:0787=19E8h) 3BBB:6147 77 1A ja loc_1222 ; Jump if above 3BBB:6149 72 09 jc loc_1221 ; Jump if carry Set 3BBB:614B 8B 47 1C mov ax,[bx+1Ch] 3BBB:614E 39 06 0785 cmp data_512,ax ; (3BBB:0785=204h) 3BBB:6152 73 0F jae loc_1222 ; Jump if above or = 3BBB:6154 loc_1221: ; xref 3BBB:6149 3BBB:6154 A3 0785 mov data_512,ax ; (3BBB:0785=204h) 3BBB:6157 89 16 0787 mov data_513,dx ; (3BBB:0787=19E8h) 3BBB:615B C6 06 07D8 FF mov byte ptr ds:[7D8h],0FFh ; (3BBB:07D8=0BEh) 3BBB:6160 B0 01 mov al,1 3BBB:6162 C3 retn 3BBB:6163 loc_1222: ; xref 3BBB:6105, 6115, 6147, 6152 3BBB:6163 33 C0 xor ax,ax ; Zero register 3BBB:6165 C3 retn sub_321 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:5EDE ;========================================================================== 3BBB:6166 sub_322 proc near 3BBB:6166 80 3E 063B 01 cmp byte ptr ds:[63Bh],1 ; (3BBB:063B=8Bh) 3BBB:616B 77 2A ja loc_ret_1225 ; Jump if above 3BBB:616D F6 06 0644 80 test byte ptr ds:[644h],80h ; (3BBB:0644=8Bh) 3BBB:6172 74 23 jz loc_ret_1225 ; Jump if zero 3BBB:6174 C6 06 05D4 0F mov byte ptr ds:[5D4h],0Fh ; (3BBB:05D4=0B0h) 3BBB:6179 F7 06 066F 0050 test word ptr ds:[66Fh],50h ; (3BBB:066F=8926h) 3BBB:617F 75 05 jnz loc_1223 ; Jump if not zero 3BBB:6181 C6 06 05D4 FF mov byte ptr ds:[5D4h],0FFh ; (3BBB:05D4=0B0h) 3BBB:6186 loc_1223: ; xref 3BBB:617F 3BBB:6186 E8 F121 call sub_297 ; (52AA) 3BBB:6189 0B C0 or ax,ax ; Zero ? 3BBB:618B 74 02 jz loc_1224 ; Jump if zero 3BBB:618D EB 09 jmp short loc_1226 ; (6198) 3BBB:618F loc_1224: ; xref 3BBB:618B 3BBB:618F C6 06 05D1 0B mov byte ptr ds:[5D1h],0Bh ; (3BBB:05D1=0BFh) 3BBB:6194 83 C4 02 add sp,2 3BBB:6197 loc_ret_1225: ; xref 3BBB:616B, 6172 3BBB:6197 C3 retn ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:559D 3BBB:6198 sub_323: 3BBB:6198 loc_1226: ; xref 3BBB:618D 3BBB:6198 8B 1E 07AF mov bx,data_533 ; (3BBB:07AF=0F8h) 3BBB:619C F7 47 1A FFFF test word ptr [bx+1Ah],0FFFFh 3BBB:61A1 75 06 jnz loc_1227 ; Jump if not zero 3BBB:61A3 A1 0783 mov ax,data_511 ; (3BBB:0783=0B900h) 3BBB:61A6 89 47 1A mov [bx+1Ah],ax 3BBB:61A9 loc_1227: ; xref 3BBB:61A1 3BBB:61A9 A1 0785 mov ax,data_512 ; (3BBB:0785=204h) 3BBB:61AC 8B 16 0787 mov dx,data_513 ; (3BBB:0787=19E8h) 3BBB:61B0 3B 57 1E cmp dx,[bx+1Eh] 3BBB:61B3 77 07 ja loc_1228 ; Jump if above 3BBB:61B5 72 0B jc loc_1229 ; Jump if carry Set 3BBB:61B7 3B 47 1C cmp ax,[bx+1Ch] 3BBB:61BA 76 06 jbe loc_1229 ; Jump if below or = 3BBB:61BC loc_1228: ; xref 3BBB:61B3 3BBB:61BC 89 47 1C mov [bx+1Ch],ax 3BBB:61BF 89 57 1E mov [bx+1Eh],dx 3BBB:61C2 loc_1229: ; xref 3BBB:61B5, 61BA 3BBB:61C2 80 4F 0B 20 or byte ptr [bx+0Bh],20h ; ' ' 3BBB:61C6 80 26 0774 7F and byte ptr ds:[774h],7Fh ; (3BBB:0774=8Bh) 3BBB:61CB E9 D096 jmp loc_588 ; (3264) sub_322 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:57C3, 58DB, 5941, 59AD ;========================================================================== 3BBB:61CE sub_324 proc near 3BBB:61CE C3 retn sub_324 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:52D8, 5389, 53AA, 5564, 55CE, 56D1, 571B ;========================================================================== 3BBB:61CF sub_325 proc near 3BBB:61CF A1 07E6 mov ax,word ptr ds:[7E6h] ; (3BBB:07E6=0A307h) 3BBB:61D2 85 C0 test ax,ax 3BBB:61D4 74 06 jz loc_ret_1230 ; Jump if zero 3BBB:61D6 93 xchg bx,ax 3BBB:61D7 8B 47 06 mov ax,[bx+6] 3BBB:61DA 0B C0 or ax,ax ; Zero ? 3BBB:61DC loc_ret_1230: ; xref 3BBB:61D4 3BBB:61DC C3 retn sub_325 endp 3BBB:61DD loc_1231: ; xref 3BBB:3EF5 3BBB:61DD 8A 0E 05E4 mov cl,byte ptr ds:[5E4h] ; (3BBB:05E4=3Ch) 3BBB:61E1 E8 CD2A call sub_157 ; (2F0E) 3BBB:61E4 E8 CB83 call sub_150 ; (2D6A) 3BBB:61E7 E9 DD0E jmp loc_756 ; (3EF8) 3BBB:61EA loc_1232: ; xref 3BBB:29A0 3BBB:61EA 8B 1E 0655 mov bx,word ptr ds:[655h] ; (3BBB:0655=124Fh) 3BBB:61EE 85 DB test bx,bx 3BBB:61F0 74 23 jz loc_1235 ; Jump if zero 3BBB:61F2 8B 1F mov bx,[bx] 3BBB:61F4 loc_1233: ; xref 3BBB:6213 3BBB:61F4 A0 069A mov al,byte ptr ds:[69Ah] ; (3BBB:069A=0) 3BBB:61F7 3A 07 cmp al,[bx] 3BBB:61F9 75 13 jne loc_1234 ; Jump if not equal 3BBB:61FB A1 004E mov ax,data_193 ; (3BBB:004E=0) 3BBB:61FE 3B 47 0E cmp ax,[bx+0Eh] 3BBB:6201 75 0B jne loc_1234 ; Jump if not equal 3BBB:6203 2B C0 sub ax,ax 3BBB:6205 89 47 0E mov [bx+0Eh],ax 3BBB:6208 88 47 04 mov [bx+4],al 3BBB:620B 48 dec ax 3BBB:620C 88 07 mov [bx],al 3BBB:620E loc_1234: ; xref 3BBB:61F9, 6201 3BBB:620E 8B 5F 0C mov bx,[bx+0Ch] 3BBB:6211 85 DB test bx,bx 3BBB:6213 75 DF jnz loc_1233 ; Jump if not zero 3BBB:6215 loc_1235: ; xref 3BBB:61F0 3BBB:6215 B4 02 mov ah,2 3BBB:6217 E9 C795 jmp loc_461 ; (29AF) 3BBB:621A 00C3[90] db 195 dup (90h) 3BBB:62DD 00 00 00 E9 6F 00 db 00h, 00h, 00h,0E9h, 6Fh, 00h 3BBB:62E3 E9 AE 00 81 0A F0 db 0E9h,0AEh, 00h, 81h, 0Ah,0F0h 3BBB:62E9 F9 76 01 B9 01 CD db 0F9h, 76h, 01h,0B9h, 01h,0CDh 3BBB:62EF 01 8A 01 E6 01 C7 db 01h, 8Ah, 01h,0E6h, 01h,0C7h 3BBB:62F5 01 EF 01 3B 02 3B db 01h,0EFh, 01h, 3Bh, 02h, 3Bh 3BBB:62FB 02 F8 01 16 02 1B db 02h,0F8h, 01h, 16h, 02h, 1Bh 3BBB:6301 02 38 02 3B 02 CF db 02h, 38h, 02h, 3Bh, 02h,0CFh 3BBB:6307 00 93 01 84 01 B0 db 00h, 93h, 01h, 84h, 01h,0B0h 3BBB:630D 01 3E 02 3E 02 3E db 01h, 3Eh, 02h, 3Eh, 02h, 3Eh 3BBB:6313 02 3E 02 3E 02 3E db 02h, 3Eh, 02h, 3Eh, 02h, 3Eh 3BBB:6319 02 3E 02 3E 02 3E db 02h, 3Eh, 02h, 3Eh, 02h, 3Eh 3BBB:631F 02 3E 02 3E 02 3E db 02h, 3Eh, 02h, 3Eh, 02h, 3Eh 3BBB:6325 02 3E 02 3E 02 3E db 02h, 3Eh, 02h, 3Eh, 02h, 3Eh 3BBB:632B 02 3E 02 3E 02 3E db 02h, 3Eh, 02h, 3Eh, 02h, 3Eh 3BBB:6331 02 3E 02 3E 02 3E db 02h, 3Eh, 02h, 3Eh, 02h, 3Eh 3BBB:6337 02 D6 00 3E 02 3E db 02h,0D6h, 00h, 3Eh, 02h, 3Eh 3BBB:633D 02 3E 02 3E 02 4A db 02h, 3Eh, 02h, 3Eh, 02h, 4Ah 3BBB:6343 0F 50 0F 4C 0F 4E db 0Fh, 50h, 0Fh, 4Ch, 0Fh, 4Eh 3BBB:6349 0F FC 00 FC 00 10 db 0Fh,0FCh, 00h,0FCh, 00h, 10h 3BBB:634F 01 37 01 E8 0A 02 db 01h, 37h, 01h,0E8h, 0Ah, 02h 3BBB:6355 33 F6 B9 10 00 db 33h,0F6h,0B9h, 10h, 00h 3BBB:635A locloop_1236: ; xref 3BBB:637A 3BBB:635A 51 push cx 3BBB:635B 8B 9C 0F28 mov bx,data_581[si] ; (3BBB:0F28=3E3Dh) 3BBB:635F 0B DB or bx,bx ; Zero ? 3BBB:6361 74 07 jz loc_1237 ; Jump if zero 3BBB:6363 32 D2 xor dl,dl ; Zero register 3BBB:6365 56 push si 3BBB:6366 FF 57 18 call word ptr [bx+18h] ;* 3BBB:6369 5E pop si 3BBB:636A loc_1237: ; xref 3BBB:6361 3BBB:636A 8B 9C 0F08 mov bx,word ptr ds:[0F08h][si] ; (3BBB:0F08=0B95Bh) 3BBB:636E 0B DB or bx,bx ; Zero ? 3BBB:6370 74 05 jz loc_1238 ; Jump if zero 3BBB:6372 56 push si 3BBB:6373 FF 57 14 call word ptr [bx+14h] ;* 3BBB:6376 5E pop si 3BBB:6377 loc_1238: ; xref 3BBB:6370 3BBB:6377 46 inc si 3BBB:6378 46 inc si 3BBB:6379 59 pop cx 3BBB:637A E2 DE loop locloop_1236 ; Loop if cx > 0 3BBB:637C 8B 1E 0F48 mov bx,word ptr ds:[0F48h] ; (3BBB:0F48=2B1h) 3BBB:6380 8A 47 0F mov al,[bx+0Fh] 3BBB:6383 A2 0F06 mov byte ptr ds:[0F06h],al ; (3BBB:0F06=8) 3BBB:6386 E8 1992 call sub_358 ; (7D1B) 3BBB:6389 ,BE 1314 mov si,1314h ; (3BBB:1314=0) 3BBB:638C E8 01AF call sub_332 ; (653E) 3BBB:638F E8 05BB call sub_335 ; (694D) 3BBB:6392 FB sti ; Enable interrupts 3BBB:6393 CB retf ;* No entry point to code 3BBB:6394 3C 2B cmp al,2Bh ; '+' 3BBB:6396 77 12 ja loc_1240 ; Jump if above 3BBB:6398 FC cld ; Clear direction 3BBB:6399 32 E4 xor ah,ah ; Zero register 3BBB:639B D1 E0 shl ax,1 ; Shift w/zeros fill 3BBB:639D 93 xchg bx,ax 3BBB:639E 2E: FF 97 000A call cs:data_162[bx] ;*(3BBB:000A=3A2h) 3BBB:63A3 loc_1239: ; xref 3BBB:63AD 3BBB:63A3 ,8E 06 004E mov es,data_193 ; (3BBB:004E=0) 3BBB:63A7 8B D8 mov bx,ax 3BBB:63A9 CB retf ; Return far 3BBB:63AA loc_1240: ; xref 3BBB:6396 3BBB:63AA B8 FFFF mov ax,0FFFFh 3BBB:63AD EB F4 jmp short loc_1239 ; (63A3) ;* No entry point to code 3BBB:63AF 8B D9 mov bx,cx 3BBB:63B1 B2 01 mov dl,1 3BBB:63B3 FF 67 18 jmp word ptr [bx+18h] ;* ;* No entry point to code 3BBB:63B6 8A C6 mov al,dh 3BBB:63B8 98 cbw ; Convrt byte to word 3BBB:63B9 3C 04 cmp al,4 3BBB:63BB 73 1B jae loc_1242 ; Jump if above or = 3BBB:63BD E3 16 jcxz loc_1241 ; Jump if cx=0 3BBB:63BF 8B F0 mov si,ax 3BBB:63C1 D1 E6 shl si,1 ; Shift w/zeros fill 3BBB:63C3 2E: 8B 9C 0062 mov bx,cs:data_206[si] ; (3BBB:0062=0) 3BBB:63C8 8B 1F mov bx,[bx] 3BBB:63CA 85 DB test bx,bx 3BBB:63CC 74 07 jz loc_1241 ; Jump if zero 3BBB:63CE 8B EC mov bp,sp 3BBB:63D0 2E: FF A4 006A jmp cs:data_214[si] ;*(3BBB:006A=0) 3BBB:63D5 loc_1241: ; xref 3BBB:63BD, 63CC 3BBB:63D5 2B C0 sub ax,ax 3BBB:63D7 C3 retn 3BBB:63D8 loc_1242: ; xref 3BBB:63BB 3BBB:63D8 B8 FFFF mov ax,0FFFFh 3BBB:63DB C3 retn ;* No entry point to code 3BBB:63DC F6 47 0E 10 test byte ptr [bx+0Eh],10h 3BBB:63E0 74 03 jz locloop_1243 ; Jump if zero 3BBB:63E2 FF 67 22 jmp word ptr [bx+22h] ;* 3BBB:63E5 locloop_1243: ; xref 3BBB:63E0, 63E8 3BBB:63E5 E8 0057 call sub_326 ; (643F) 3BBB:63E8 E2 FB loop locloop_1243 ; Loop if cx > 0 3BBB:63EA 2B C0 sub ax,ax 3BBB:63EC 87 46 0A xchg [bp+0Ah],ax 3BBB:63EF C3 retn ;* No entry point to code 3BBB:63F0 F6 47 0E 20 test byte ptr [bx+0Eh],20h ; ' ' 3BBB:63F4 74 03 jz loc_1244 ; Jump if zero 3BBB:63F6 FF 67 24 jmp word ptr [bx+24h] ;* 3BBB:63F9 loc_1244: ; xref 3BBB:63F4, 6413 3BBB:63F9 BF 001A mov di,1Ah 3BBB:63FC E8 004C call sub_327 ; (644B) 3BBB:63FF 06 push es 3BBB:6400 C4 7E 06 les di,dword ptr [bp+6] ; Load seg:offset ptr 3BBB:6403 AA stosb ; Store al to es:[di] 3BBB:6404 89 7E 06 mov [bp+6],di 3BBB:6407 07 pop es 3BBB:6408 49 dec cx 3BBB:6409 74 2C jz loc_1247 ; Jump if zero 3BBB:640B BF 001C mov di,1Ch 3BBB:640E E8 003A call sub_327 ; (644B) 3BBB:6411 84 C0 test al,al 3BBB:6413 75 E4 jnz loc_1244 ; Jump if not zero 3BBB:6415 EB 20 jmp short loc_1247 ; (6437) ;* No entry point to code 3BBB:6417 F6 47 0E 40 test byte ptr [bx+0Eh],40h ; '@' 3BBB:641B 74 03 jz loc_1245 ; Jump if zero 3BBB:641D FF 67 26 jmp word ptr [bx+26h] ;* 3BBB:6420 loc_1245: ; xref 3BBB:641B, 6435 3BBB:6420 E8 001C call sub_326 ; (643F) 3BBB:6423 49 dec cx 3BBB:6424 74 11 jz loc_1247 ; Jump if zero 3BBB:6426 BF 0020 mov di,20h 3BBB:6429 E8 001F call sub_327 ; (644B) 3BBB:642C 80 3F 4C cmp byte ptr [bx],4Ch ; 'L' 3BBB:642F 75 02 jne loc_1246 ; Jump if not equal 3BBB:6431 F6 D0 not al 3BBB:6433 loc_1246: ; xref 3BBB:642F 3BBB:6433 84 C0 test al,al 3BBB:6435 75 E9 jnz loc_1245 ; Jump if not zero 3BBB:6437 loc_1247: ; xref 3BBB:6409, 6415, 6424 3BBB:6437 8B C1 mov ax,cx 3BBB:6439 87 46 0A xchg [bp+0Ah],ax 3BBB:643C 2B C1 sub ax,cx 3BBB:643E C3 retn ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:63E5, 6420 ;========================================================================== 3BBB:643F sub_326 proc near 3BBB:643F 1E push ds 3BBB:6440 C5 76 06 lds si,dword ptr [bp+6] ; Load seg:offset ptr 3BBB:6443 AC lodsb ; String [si] to al 3BBB:6444 89 76 06 mov [bp+6],si 3BBB:6447 1F pop ds 3BBB:6448 ,BF 001E mov di,offset data_171 ; (3BBB:001E=0) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:63FC, 640E, 6429 3BBB:644B sub_327: 3BBB:644B 53 push bx 3BBB:644C 51 push cx 3BBB:644D 55 push bp 3BBB:644E 8A C8 mov cl,al 3BBB:6450 FF 11 call word ptr [bx+di] ;* 3BBB:6452 5D pop bp 3BBB:6453 59 pop cx 3BBB:6454 5B pop bx 3BBB:6455 C3 retn sub_326 endp 3BBB:6456 8B 1E 48 0F db 8Bh, 1Eh, 48h, 0Fh 3BBB:645A loc_1248: ; xref 3BBB:6468 3BBB:645A ,0B DB or bx,bx ; Zero ? 3BBB:645C 74 03 jz loc_1249 ; Jump if zero 3BBB:645E FF 67 1C jmp word ptr [bx+1Ch] ;* 3BBB:6461 loc_1249: ; xref 3BBB:645C 3BBB:6461 33 C0 xor ax,ax ; Zero register 3BBB:6463 C3 retn ;* No entry point to code 3BBB:6464 8B 1E 0F4C mov bx,word ptr ds:[0F4Ch] ; (3BBB:0F4C=20B0h) 3BBB:6468 EB F0 jmp short loc_1248 ; (645A) ;* No entry point to code 3BBB:646A 8B 1E 0F50 mov bx,word ptr ds:[0F50h] ; (3BBB:0F50=0AAF3h) 3BBB:646E BF 0016 mov di,16h 3BBB:6471 EB 07 jmp short loc_1250 ; (647A) ;* No entry point to code 3BBB:6473 8B 1E 0F4A mov bx,word ptr ds:[0F4Ah] ; (3BBB:0F4A=0ABF3h) 3BBB:6477 BF 0012 mov di,12h 3BBB:647A loc_1250: ; xref 3BBB:6471, 648B, 6497 3BBB:647A ,0B DB or bx,bx ; Zero ? 3BBB:647C 74 0F jz loc_1251 ; Jump if zero 3BBB:647E 53 push bx 3BBB:647F 57 push di 3BBB:6480 FF 57 20 call word ptr [bx+20h] ;* 3BBB:6483 5F pop di 3BBB:6484 5B pop bx 3BBB:6485 0A C0 or al,al ; Zero ? 3BBB:6487 74 06 jz loc_ret_1252 ; Jump if zero 3BBB:6489 8B 19 mov bx,[bx+di] 3BBB:648B EB ED jmp short loc_1250 ; (647A) 3BBB:648D loc_1251: ; xref 3BBB:647C 3BBB:648D B0 FF mov al,0FFh 3BBB:648F loc_ret_1252: ; xref 3BBB:6487 3BBB:648F C3 retn ;* No entry point to code 3BBB:6490 8B 1E 0F4E mov bx,word ptr ds:[0F4Eh] ; (3BBB:0F4E=8B1h) 3BBB:6494 BF 0014 mov di,14h 3BBB:6497 EB E1 jmp short loc_1250 ; (647A) 3BBB:6499 8B 1E 48 0F db 8Bh, 1Eh, 48h, 0Fh 3BBB:649D loc_1253: ; xref 3BBB:64AB 3BBB:649D ,0B DB or bx,bx ; Zero ? 3BBB:649F 74 03 jz loc_1254 ; Jump if zero 3BBB:64A1 FF 67 1A jmp word ptr [bx+1Ah] ;* 3BBB:64A4 loc_1254: ; xref 3BBB:649F 3BBB:64A4 33 C0 xor ax,ax ; Zero register 3BBB:64A6 C3 retn ;* No entry point to code 3BBB:64A7 8B 1E 0F4C mov bx,word ptr ds:[0F4Ch] ; (3BBB:0F4C=20B0h) 3BBB:64AB EB F0 jmp short loc_1253 ; (649D) ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:654D ;========================================================================== 3BBB:64AD sub_328 proc near 3BBB:64AD 8B 1E 0F4A mov bx,word ptr ds:[0F4Ah] ; (3BBB:0F4A=0ABF3h) 3BBB:64B1 BF 0012 mov di,12h 3BBB:64B4 loc_1255: ; xref 3BBB:64C3, 64CD, 64D6 3BBB:64B4 ,0B DB or bx,bx ; Zero ? 3BBB:64B6 74 0D jz loc_ret_1256 ; Jump if zero 3BBB:64B8 53 push bx 3BBB:64B9 51 push cx 3BBB:64BA 57 push di 3BBB:64BB FF 57 1E call word ptr [bx+1Eh] ;* 3BBB:64BE 5F pop di 3BBB:64BF 59 pop cx 3BBB:64C0 5B pop bx 3BBB:64C1 8B 19 mov bx,[bx+di] 3BBB:64C3 EB EF jmp short loc_1255 ; (64B4) 3BBB:64C5 loc_ret_1256: ; xref 3BBB:64B6 3BBB:64C5 C3 retn sub_328 endp ;* No entry point to code 3BBB:64C6 8B 1E 0F50 mov bx,word ptr ds:[0F50h] ; (3BBB:0F50=0AAF3h) 3BBB:64CA BF 0016 mov di,16h 3BBB:64CD EB E5 jmp short loc_1255 ; (64B4) ;* No entry point to code 3BBB:64CF 8B 1E 0F4E mov bx,word ptr ds:[0F4Eh] ; (3BBB:0F4E=8B1h) 3BBB:64D3 BF 0014 mov di,14h 3BBB:64D6 EB DC jmp short loc_1255 ; (64B4) ;* No entry point to code 3BBB:64D8 33 DB xor bx,bx ; Zero register 3BBB:64DA 80 F9 0F cmp cl,0Fh 3BBB:64DD 77 14 ja loc_1257 ; Jump if above 3BBB:64DF 8A D9 mov bl,cl 3BBB:64E1 D1 E3 shl bx,1 ; Shift w/zeros fill 3BBB:64E3 8B 9F 0F08 mov bx,word ptr ds:[0F08h][bx] ; (3BBB:0F08=0B95Bh) 3BBB:64E7 0B DB or bx,bx ; Zero ? 3BBB:64E9 74 08 jz loc_1257 ; Jump if zero 3BBB:64EB F6 C2 01 test dl,1 3BBB:64EE 75 03 jnz loc_1257 ; Jump if not zero 3BBB:64F0 FF 57 16 call word ptr [bx+16h] ;* 3BBB:64F3 loc_1257: ; xref 3BBB:64DD, 64E9, 64EE 3BBB:64F3 8B C3 mov ax,bx 3BBB:64F5 C3 retn ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:6A23 ;========================================================================== 3BBB:64F6 sub_329 proc near 3BBB:64F6 ,BF 0018 mov di,offset data_169 ; (3BBB:0018=0) 3BBB:64F9 EB 05 jmp short loc_1258 ; (6500) 3BBB:64FB BF 1A 00 EB 00 db 0BFh, 1Ah, 00h,0EBh, 00h 3BBB:6500 loc_1258: ; xref 3BBB:64F9 3BBB:6500 8B EC mov bp,sp 3BBB:6502 8A 5E 0E mov bl,[bp+0Eh] 3BBB:6505 32 FF xor bh,bh ; Zero register 3BBB:6507 8B C3 mov ax,bx 3BBB:6509 D1 E3 shl bx,1 ; Shift w/zeros fill 3BBB:650B 8B 9F 0F08 mov bx,word ptr ds:[0F08h][bx] ; (3BBB:0F08=0B95Bh) 3BBB:650F 0B DB or bx,bx ; Zero ? 3BBB:6511 74 02 jz loc_1259 ; Jump if zero 3BBB:6513 FF 21 jmp word ptr [bx+di] ;* 3BBB:6515 loc_1259: ; xref 3BBB:6511 3BBB:6515 B0 01 mov al,1 3BBB:6517 C3 retn sub_329 endp ;* No entry point to code 3BBB:6518 33 C0 xor ax,ax ; Zero register 3BBB:651A C3 retn ;* No entry point to code 3BBB:651B 33 C0 xor ax,ax ; Zero register 3BBB:651D C3 retn 3BBB:651E B8 FF FF C3 db 0B8h,0FFh,0FFh,0C3h ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:71C2 ;========================================================================== 3BBB:6522 sub_330 proc near 3BBB:6522 B1 84 mov cl,84h 3BBB:6524 FF 1E 0030 call dword ptr data_178 ; (3BBB:0030=3BBBh) 3BBB:6528 C3 retn sub_330 endp ;* No entry point to code 3BBB:6529 B1 85 mov cl,85h 3BBB:652B FF 1E 0030 call dword ptr data_178 ; (3BBB:0030=3BBBh) 3BBB:652F C3 retn ;* No entry point to code 3BBB:6530 B1 8D mov cl,8Dh 3BBB:6532 FF 1E 0030 call dword ptr data_178 ; (3BBB:0030=3BBBh) 3BBB:6536 C3 retn ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:8625 ;========================================================================== 3BBB:6537 sub_331 proc near 3BBB:6537 B1 8E mov cl,8Eh 3BBB:6539 FF 1E 0030 call dword ptr data_178 ; (3BBB:0030=3BBBh) 3BBB:653D C3 retn sub_331 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:638C, 6957, 6B2B, 6BCE, 6BD8, 6BDE ;========================================================================== 3BBB:653E sub_332 proc near 3BBB:653E 26: 80 3E 0046 FF cmp es:data_188,0FFh ; (3BBB:0046=0) 3BBB:6544 74 0E je loc_ret_1261 ; Jump if equal 3BBB:6546 loc_1260: ; xref 3BBB:6552 3BBB:6546 ,8A 0C mov cl,[si] 3BBB:6548 0A C9 or cl,cl ; Zero ? 3BBB:654A 74 08 jz loc_ret_1261 ; Jump if zero 3BBB:654C 56 push si 3BBB:654D E8 FF5D call sub_328 ; (64AD) 3BBB:6550 5E pop si 3BBB:6551 46 inc si 3BBB:6552 EB F2 jmp short loc_1260 ; (6546) 3BBB:6554 loc_ret_1261: ; xref 3BBB:6544, 654A 3BBB:6554 C3 retn sub_332 endp ;* No entry point to code 3BBB:6555 49 dec cx 3BBB:6556 4E dec si 3BBB:6557 49 dec cx 3BBB:6558 54 push sp 3BBB:6559 2D 5343 sub ax,5343h 3BBB:655C 45 inc bp 3BBB:655D 47 inc di 3BBB:655E 3A FA cmp bh,dl 3BBB:6560 FC cld ; Clear direction 3BBB:6561 1E push ds 3BBB:6562 06 push es 3BBB:6563 B8 F9F0 mov ax,0F9F0h 3BBB:6566 8E C0 mov es,ax 3BBB:6568 B1 20 mov cl,20h ; ' ' 3BBB:656A B8 0001 mov ax,1 3BBB:656D D3 E8 shr ax,cl ; Shift w/zeros fill 3BBB:656F 85 C0 test ax,ax 3BBB:6571 75 17 jnz loc_1262 ; Jump if not zero 3BBB:6573 8B C4 mov ax,sp 3BBB:6575 68 90 90 3B C4 C6 db 68h, 90h, 90h, 3Bh,0C4h,0C6h 3BBB:657B 06 46 10 00 74 07 db 06h, 46h, 10h, 00h, 74h, 07h 3BBB:6581 8B E0 C6 06 46 10 db 8Bh,0E0h,0C6h, 06h, 46h, 10h 3BBB:6587 01 EB 10 db 01h,0EBh, 10h 3BBB:658A loc_1262: ; xref 3BBB:6571 3BBB:658A C6 06 1046 03 mov byte ptr ds:[1046h],3 ; (3BBB:1046=0C9h) 3BBB:658F 54 push sp 3BBB:6590 5B pop bx 3BBB:6591 3B DC cmp bx,sp 3BBB:6593 74 05 je loc_1263 ; Jump if equal 3BBB:6595 C6 06 1046 02 mov byte ptr ds:[1046h],2 ; (3BBB:1046=0C9h) 3BBB:659A loc_1263: ; xref 3BBB:6593 3BBB:659A C6 06 1043 03 mov byte ptr ds:[1043h],3 ; (3BBB:1043=56h) 3BBB:659F C6 06 1041 00 mov byte ptr ds:[1041h],0 ; (3BBB:1041=0FEh) 3BBB:65A4 C6 06 1042 01 mov byte ptr ds:[1042h],1 ; (3BBB:1042=6) 3BBB:65A9 C6 06 1044 00 mov byte ptr ds:[1044h],0 ; (3BBB:1044=0) 3BBB:65AE C6 06 109D 00 mov byte ptr ds:[109Dh],0 ; (3BBB:109D=14h) 3BBB:65B3 C6 06 109A 02 mov byte ptr ds:[109Ah],2 ; (3BBB:109A=0E1h) 3BBB:65B8 C6 06 109B 02 mov byte ptr ds:[109Bh],2 ; (3BBB:109B=8Bh) 3BBB:65BD 80 3E 1046 03 cmp byte ptr ds:[1046h],3 ; (3BBB:1046=0C9h) 3BBB:65C2 75 0A jne loc_1264 ; Jump if not equal 3BBB:65C4 C6 06 1043 06 mov byte ptr ds:[1043h],6 ; (3BBB:1043=56h) 3BBB:65C9 C6 06 1044 03 mov byte ptr ds:[1044h],3 ; (3BBB:1044=0) 3BBB:65CE loc_1264: ; xref 3BBB:65C2 3BBB:65CE 33 DB xor bx,bx ; Zero register 3BBB:65D0 B9 0008 mov cx,8 3BBB:65D3 ,BE 10B9 mov si,10B9h ; (3BBB:10B9=5) 3BBB:65D6 ,BF 10C1 mov di,10C1h ; (3BBB:10C1=0E0h) 3BBB:65D9 locloop_1265: ; xref 3BBB:65E2 3BBB:65D9 26: 8A 47 48 mov al,es:[bx+48h] 3BBB:65DD 22 00 and al,[bx+si] 3BBB:65DF 88 01 mov [bx+di],al 3BBB:65E1 43 inc bx 3BBB:65E2 E2 F5 loop locloop_1265 ; Loop if cx > 0 3BBB:65E4 8A 05 mov al,[di] 3BBB:65E6 ,BB 0002 mov bx,2 ; (3BBB:0002=0Ah) 3BBB:65E9 B9 0006 mov cx,6 3BBB:65EC locloop_1266: ; xref 3BBB:65EF 3BBB:65EC 02 01 add al,[bx+di] 3BBB:65EE 43 inc bx 3BBB:65EF E2 FB loop locloop_1266 ; Loop if cx > 0 3BBB:65F1 F6 D0 not al 3BBB:65F3 A2 10B8 mov byte ptr ds:[10B8h],al ; (3BBB:10B8=54h) 3BBB:65F6 3C 00 cmp al,0 3BBB:65F8 75 09 jne loc_1267 ; Jump if not equal 3BBB:65FA 80 7D 02 00 cmp byte ptr [di+2],0 3BBB:65FE 75 03 jne loc_1267 ; Jump if not equal 3BBB:6600 E9 0140 jmp loc_1281 ; (6743) 3BBB:6603 loc_1267: ; xref 3BBB:65F8, 65FE 3BBB:6603 3A 45 01 cmp al,[di+1] 3BBB:6606 74 03 je loc_1268 ; Jump if equal 3BBB:6608 E9 0138 jmp loc_1281 ; (6743) 3BBB:660B loc_1268: ; xref 3BBB:6606 3BBB:660B C6 06 109D FF mov byte ptr ds:[109Dh],0FFh ; (3BBB:109D=14h) 3BBB:6610 8A 45 05 mov al,[di+5] 3BBB:6613 24 07 and al,7 3BBB:6615 A2 1043 mov byte ptr ds:[1043h],al ; (3BBB:1043=56h) 3BBB:6618 C6 06 1041 00 mov byte ptr ds:[1041h],0 ; (3BBB:1041=0FEh) 3BBB:661D 8A 45 02 mov al,[di+2] 3BBB:6620 24 07 and al,7 3BBB:6622 3C 01 cmp al,1 3BBB:6624 75 05 jne loc_1269 ; Jump if not equal 3BBB:6626 C6 06 109A 01 mov byte ptr ds:[109Ah],1 ; (3BBB:109A=0E1h) 3BBB:662B loc_1269: ; xref 3BBB:6624 3BBB:662B 8A 45 02 mov al,[di+2] 3BBB:662E 24 38 and al,38h ; '8' 3BBB:6630 3C 00 cmp al,0 3BBB:6632 74 0D je loc_1270 ; Jump if equal 3BBB:6634 FE 06 1041 inc byte ptr ds:[1041h] ; (3BBB:1041=0FEh) 3BBB:6638 3C 08 cmp al,8 3BBB:663A 75 05 jne loc_1270 ; Jump if not equal 3BBB:663C C6 06 109B 01 mov byte ptr ds:[109Bh],1 ; (3BBB:109B=8Bh) 3BBB:6641 loc_1270: ; xref 3BBB:6632, 663A 3BBB:6641 8A 45 03 mov al,[di+3] 3BBB:6644 24 07 and al,7 3BBB:6646 C6 06 1042 00 mov byte ptr ds:[1042h],0 ; (3BBB:1042=6) 3BBB:664B 3C 00 cmp al,0 3BBB:664D 74 04 je loc_1271 ; Jump if equal 3BBB:664F FE 06 1042 inc byte ptr ds:[1042h] ; (3BBB:1042=6) 3BBB:6653 loc_1271: ; xref 3BBB:664D 3BBB:6653 8A 45 03 mov al,[di+3] 3BBB:6656 24 38 and al,38h ; '8' 3BBB:6658 3C 00 cmp al,0 3BBB:665A 74 04 je loc_1272 ; Jump if equal 3BBB:665C FE 06 1042 inc byte ptr ds:[1042h] ; (3BBB:1042=6) 3BBB:6660 loc_1272: ; xref 3BBB:665A 3BBB:6660 B9 02DB mov cx,2DBh 3BBB:6663 ,BF 10C1 mov di,10C1h ; (3BBB:10C1=0E0h) 3BBB:6666 2A E4 sub ah,ah 3BBB:6668 26: A0 004C mov al,es:data_1167e ; (F9F0:004C=0) 3BBB:666C 24 3F and al,3Fh ; '?' 3BBB:666E 8A E0 mov ah,al 3BBB:6670 25 F00F and ax,0F00Fh 3BBB:6673 D0 EC shr ah,1 ; Shift w/zeros fill 3BBB:6675 D0 EC shr ah,1 ; Shift w/zeros fill 3BBB:6677 D0 EC shr ah,1 ; Shift w/zeros fill 3BBB:6679 D0 EC shr ah,1 ; Shift w/zeros fill 3BBB:667B D5 0A aad ; Ascii adjust 3BBB:667D A2 10B7 mov byte ptr ds:[10B7h],al ; (3BBB:10B7=0A3h) 3BBB:6680 BA 016D mov dx,16Dh 3BBB:6683 F7 E2 mul dx ; dx:ax = reg * ax 3BBB:6685 03 C8 add cx,ax 3BBB:6687 2B C0 sub ax,ax 3BBB:6689 A0 10B7 mov al,byte ptr ds:[10B7h] ; (3BBB:10B7=0A3h) 3BBB:668C D0 E8 shr al,1 ; Shift w/zeros fill 3BBB:668E D0 E8 shr al,1 ; Shift w/zeros fill 3BBB:6690 03 C8 add cx,ax 3BBB:6692 loc_1273: ; xref 3BBB:669C 3BBB:6692 26: A0 0046 mov al,es:data_1165e ; (F9F0:0046=0FCh) 3BBB:6696 26: 80 3E 0050 01 cmp byte ptr es:data_1168e,1 ; (F9F0:0050=0) 3BBB:669C 74 F4 je loc_1273 ; Jump if equal 3BBB:669E 8A E0 mov ah,al 3BBB:66A0 25 300F and ax,300Fh 3BBB:66A3 D0 EC shr ah,1 ; Shift w/zeros fill 3BBB:66A5 D0 EC shr ah,1 ; Shift w/zeros fill 3BBB:66A7 D0 EC shr ah,1 ; Shift w/zeros fill 3BBB:66A9 D0 EC shr ah,1 ; Shift w/zeros fill 3BBB:66AB D5 0A aad ; Ascii adjust 3BBB:66AD 03 C8 add cx,ax 3BBB:66AF loc_1274: ; xref 3BBB:66B9 3BBB:66AF 26: A0 0047 mov al,es:data_1166e ; (F9F0:0047=1) 3BBB:66B3 26: 80 3E 0050 01 cmp byte ptr es:data_1168e,1 ; (F9F0:0050=0) 3BBB:66B9 74 F4 je loc_1274 ; Jump if equal 3BBB:66BB 8A E0 mov ah,al 3BBB:66BD 25 100F and ax,100Fh 3BBB:66C0 D0 EC shr ah,1 ; Shift w/zeros fill 3BBB:66C2 D0 EC shr ah,1 ; Shift w/zeros fill 3BBB:66C4 D0 EC shr ah,1 ; Shift w/zeros fill 3BBB:66C6 D0 EC shr ah,1 ; Shift w/zeros fill 3BBB:66C8 D5 0A aad ; Ascii adjust 3BBB:66CA 8B D8 mov bx,ax 3BBB:66CC 4B dec bx 3BBB:66CD D1 E3 shl bx,1 ; Shift w/zeros fill 3BBB:66CF ,BE 109F mov si,109Fh ; (3BBB:109F=74h) 3BBB:66D2 03 08 add cx,[bx+si] 3BBB:66D4 3C 03 cmp al,3 3BBB:66D6 72 11 jb loc_1276 ; Jump if below 3BBB:66D8 8A 16 10B7 mov dl,byte ptr ds:[10B7h] ; (3BBB:10B7=0A3h) 3BBB:66DC loc_1275: ; xref 3BBB:66E4 3BBB:66DC 80 FA 04 cmp dl,4 3BBB:66DF 72 08 jb loc_1276 ; Jump if below 3BBB:66E1 80 EA 04 sub dl,4 3BBB:66E4 75 F6 jnz loc_1275 ; Jump if not zero 3BBB:66E6 83 E9 00 sub cx,0 3BBB:66E9 loc_1276: ; xref 3BBB:66D6, 66DF 3BBB:66E9 89 0E 005F mov data_204,cx ; (3BBB:005F=0) 3BBB:66ED loc_1277: ; xref 3BBB:66FA 3BBB:66ED 26: A0 0044 mov al,es:data_1164e ; (F9F0:0044=0FCh) 3BBB:66F1 A2 0061 mov data_205,al ; (3BBB:0061=0) 3BBB:66F4 26: 80 3E 0050 01 cmp byte ptr es:data_1168e,1 ; (F9F0:0050=0) 3BBB:66FA 74 F1 je loc_1277 ; Jump if equal 3BBB:66FC loc_1278: ; xref 3BBB:6709 3BBB:66FC 26: A0 0043 mov al,es:data_1163e ; (F9F0:0043=0Ch) 3BBB:6700 A2 0062 mov byte ptr data_206,al ; (3BBB:0062=0) 3BBB:6703 26: 80 3E 0050 01 cmp byte ptr es:data_1168e,1 ; (F9F0:0050=0) 3BBB:6709 74 F1 je loc_1278 ; Jump if equal 3BBB:670B loc_1279: ; xref 3BBB:6718 3BBB:670B 26: A0 0042 mov al,es:data_1162e ; (F9F0:0042=0F3h) 3BBB:670F A2 0063 mov byte ptr data_206+1,al ; (3BBB:0063=0) 3BBB:6712 26: 80 3E 0050 01 cmp byte ptr es:data_1168e,1 ; (F9F0:0050=0) 3BBB:6718 74 F1 je loc_1279 ; Jump if equal 3BBB:671A 8A 45 07 mov al,[di+7] 3BBB:671D A8 08 test al,8 3BBB:671F 74 05 jz loc_1280 ; Jump if zero 3BBB:6721 C6 06 1044 10 mov byte ptr ds:[1044h],10h ; (3BBB:1044=0) 3BBB:6726 loc_1280: ; xref 3BBB:671F 3BBB:6726 24 07 and al,7 3BBB:6728 08 06 1044 or byte ptr ds:[1044h],al ; (3BBB:1044=0) 3BBB:672C 8A 45 06 mov al,[di+6] 3BBB:672F 24 01 and al,1 3BBB:6731 D0 E0 shl al,1 ; Shift w/zeros fill 3BBB:6733 8A 65 06 mov ah,[di+6] 3BBB:6736 80 E4 04 and ah,4 3BBB:6739 D0 E4 shl ah,1 ; Shift w/zeros fill 3BBB:673B D0 E4 shl ah,1 ; Shift w/zeros fill 3BBB:673D 0A C4 or al,ah 3BBB:673F 08 06 1045 or byte ptr ds:[1045h],al ; (3BBB:1045=33h) 3BBB:6743 loc_1281: ; xref 3BBB:6600, 6608 3BBB:6743 8C D8 mov ax,ds 3BBB:6745 8E C0 mov es,ax 3BBB:6747 33 C0 xor ax,ax ; Zero register 3BBB:6749 B9 0004 mov cx,4 3BBB:674C ,BF 0F08 mov di,0F08h ; (3BBB:0F08=5Bh) 3BBB:674F F3/ AB rep stosw ; Rep when cx >0 Store ax to es:[di] 3BBB:6751 33 C9 xor cx,cx ; Zero register 3BBB:6753 ,BF 0F08 mov di,0F08h ; (3BBB:0F08=5Bh) 3BBB:6756 ,BE 10E1 mov si,offset data_610 ; (3BBB:10E1=75h) 3BBB:6759 8A 0E 1041 mov cl,byte ptr ds:[1041h] ; (3BBB:1041=0FEh) 3BBB:675D 41 inc cx 3BBB:675E locloop_1282: ; xref 3BBB:675F 3BBB:675E A5 movsw ; Mov [si] to es:[di] 3BBB:675F E2 FD loop locloop_1282 ; Loop if cx > 0 3BBB:6761 ,BE 10E9 mov si,offset data_611 ; (3BBB:10E9=74h) 3BBB:6764 8A 0E 1042 mov cl,byte ptr ds:[1042h] ; (3BBB:1042=6) 3BBB:6768 E3 03 jcxz loc_1284 ; Jump if cx=0 3BBB:676A locloop_1283: ; xref 3BBB:676B 3BBB:676A A5 movsw ; Mov [si] to es:[di] 3BBB:676B E2 FD loop locloop_1283 ; Loop if cx > 0 3BBB:676D loc_1284: ; xref 3BBB:6768 3BBB:676D 33 C0 xor ax,ax ; Zero register 3BBB:676F ,BB 0F56 mov bx,0F56h ; (3BBB:0F56=0F3h) 3BBB:6772 B9 0008 mov cx,8 3BBB:6775 locloop_1285: ; xref 3BBB:6786 3BBB:6775 C7 07 0000 mov word ptr [bx],0 3BBB:6779 C7 47 02 0000 mov word ptr [bx+2],0 3BBB:677E C7 47 04 00FF mov word ptr [bx+4],0FFh 3BBB:6783 83 C3 06 add bx,6 3BBB:6786 E2 ED loop locloop_1285 ; Loop if cx > 0 3BBB:6788 A1 0048 mov ax,data_190 ; (3BBB:0048=0) 3BBB:678B ,BF 0F56 mov di,0F56h ; (3BBB:0F56=0F3h) 3BBB:678E 89 05 mov [di],ax 3BBB:6790 ,BE 113F mov si,113Fh ; (3BBB:113F=0C6h) 3BBB:6793 33 DB xor bx,bx ; Zero register 3BBB:6795 8A 1E 1043 mov bl,byte ptr ds:[1043h] ; (3BBB:1043=56h) 3BBB:6799 D1 E3 shl bx,1 ; Shift w/zeros fill 3BBB:679B 8B 08 mov cx,[bx+si] 3BBB:679D 89 4D 02 mov [di+2],cx 3BBB:67A0 29 45 02 sub [di+2],ax 3BBB:67A3 C7 45 04 00FE mov word ptr [di+4],0FEh 3BBB:67A8 B0 00 mov al,0 3BBB:67AA 06 push es 3BBB:67AB 33 C0 xor ax,ax ; Zero register 3BBB:67AD 8E C0 mov es,ax 3BBB:67AF 26: A0 0000 mov al,es:data_1e ; (0000:0000=62h) 3BBB:67B3 07 pop es 3BBB:67B4 A2 10EF mov data_612,al ; (3BBB:10EF=85h) 3BBB:67B7 C6 06 005A 00 mov data_201,0 ; (3BBB:005A=0) 3BBB:67BC 80 3E 1042 01 cmp byte ptr ds:[1042h],1 ; (3BBB:1042=6) 3BBB:67C1 72 05 jb loc_1286 ; Jump if below 3BBB:67C3 C6 06 005B 02 mov data_202,2 ; (3BBB:005B=0) 3BBB:67C8 loc_1286: ; xref 3BBB:67C1 3BBB:67C8 C6 06 0066 17 mov data_210,17h ; (3BBB:0066=0) 3BBB:67CD C6 06 0065 4F mov data_209,4Fh ; (3BBB:0065=0) 'O' 3BBB:67D2 C6 06 0067 00 mov data_211,0 ; (3BBB:0067=0) 3BBB:67D7 80 3E 1046 03 cmp byte ptr ds:[1046h],3 ; (3BBB:1046=0C9h) 3BBB:67DC 75 0B jne $+0Dh ; Jump if not equal 3BBB:67DE 0F ;* pop cs ; Dangerous-8088 only 3BBB:67DE db 0Fh ; Fixup - byte match 3BBB:67DF 01 E0 ;* add ax,sp 3BBB:67DF db 01h,0E0h ; Fixup - byte match 3BBB:67E1 0D 0004 or ax,4 3BBB:67E4 0F ;* pop cs ; Dangerous-8088 only 3BBB:67E4 db 0Fh ; Fixup - byte match 3BBB:67E5 01 F0 ;* add ax,si 3BBB:67E5 db 01h,0F0h ; Fixup - byte match 3BBB:67E7 EB 16 jmp short loc_1287 ; (67FF) 3BBB:67E9 DB E3 33 C0 A3 98 db 0DBh,0E3h, 33h,0C0h,0A3h, 98h 3BBB:67EF 10 D9 3E 98 10 0B db 10h,0D9h, 3Eh, 98h, 10h, 0Bh 3BBB:67F5 06 98 10 74 05 C6 db 06h, 98h, 10h, 74h, 05h,0C6h 3BBB:67FB 06 07 0F FF db 06h, 07h, 0Fh,0FFh 3BBB:67FF loc_1287: ; xref 3BBB:67E7 3BBB:67FF B8 F9F0 mov ax,0F9F0h 3BBB:6802 8E C0 mov es,ax 3BBB:6804 C6 06 104A 00 mov data_598,0 ; (3BBB:104A=3Eh) 3BBB:6809 26: C6 06 0004 00 mov byte ptr es:data_1144e,0 ; (F9F0:0004=7) 3BBB:680F 26: C6 06 0001 02 mov byte ptr es:data_1143e,2 ; (F9F0:0001=30h) 3BBB:6815 26: C6 06 0001 3F mov byte ptr es:data_1143e,3Fh ; (F9F0:0001=30h) '?' 3BBB:681B 26: C6 06 0001 C1 mov byte ptr es:data_1143e,0C1h ; (F9F0:0001=30h) 3BBB:6821 26: C6 06 0037 B6 mov byte ptr es:data_1158e,0B6h ; (F9F0:0037=10h) 3BBB:6827 26: C6 06 0036 EB mov byte ptr es:data_1157e,0EBh ; (F9F0:0036=0CFh) 3BBB:682D 26: C6 06 0036 01 mov byte ptr es:data_1157e,1 ; (F9F0:0036=0CFh) 3BBB:6833 26: C6 06 0037 70 mov byte ptr es:data_1158e,70h ; (F9F0:0037=10h) 'p' 3BBB:6839 26: C6 06 0035 00 mov byte ptr es:data_1156e,0 ; (F9F0:0035=0) 3BBB:683F 26: C6 06 0035 60 mov byte ptr es:data_1156e,60h ; (F9F0:0035=0) '`' 3BBB:6845 26: C6 06 0037 30 mov byte ptr es:data_1158e,30h ; (F9F0:0037=10h) '0' 3BBB:684B 26: C6 06 0034 00 mov byte ptr es:data_1155e,0 ; (F9F0:0034=0CFh) 3BBB:6851 26: C6 06 0034 60 mov byte ptr es:data_1155e,60h ; (F9F0:0034=0CFh) '`' 3BBB:6857 ,BB 10C9 mov bx,10C9h ; (3BBB:10C9=0B2h) 3BBB:685A 8A 47 04 mov al,[bx+4] 3BBB:685D 0C 40 or al,40h ; '@' 3BBB:685F 88 47 04 mov [bx+4],al 3BBB:6862 26: A2 003E mov es:data_1161e,al ; (F9F0:003E=0F3h) 3BBB:6866 2E: 8E 1E 0006 mov ds,cs:data_160 ; (3BBB:0006=0Ah) 3BBB:686B 33 C0 xor ax,ax ; Zero register 3BBB:686D 8E C0 mov es,ax 3BBB:686F B8 1B93 mov ax,1B93h 3BBB:6872 BF 0160 mov di,160h 3BBB:6875 E8 00CE call sub_334 ; (6946) 3BBB:6878 BF 0164 mov di,164h 3BBB:687B E8 00C8 call sub_334 ; (6946) 3BBB:687E BF 0168 mov di,168h 3BBB:6881 E8 00C2 call sub_334 ; (6946) 3BBB:6884 BF 016C mov di,16Ch 3BBB:6887 E8 00BC call sub_334 ; (6946) 3BBB:688A BF 0170 mov di,170h 3BBB:688D E8 00B6 call sub_334 ; (6946) 3BBB:6890 BF 0174 mov di,174h 3BBB:6893 E8 00B0 call sub_334 ; (6946) 3BBB:6896 BF 0178 mov di,178h 3BBB:6899 E8 00AA call sub_334 ; (6946) 3BBB:689C BF 017C mov di,17Ch 3BBB:689F E8 00A4 call sub_334 ; (6946) 3BBB:68A2 BF 0140 mov di,140h 3BBB:68A5 B8 0996 mov ax,996h 3BBB:68A8 E8 009B call sub_334 ; (6946) 3BBB:68AB BF 0150 mov di,150h 3BBB:68AE B8 1BA1 mov ax,1BA1h 3BBB:68B1 E8 0092 call sub_334 ; (6946) 3BBB:68B4 BF 015C mov di,15Ch 3BBB:68B7 B8 1A3E mov ax,1A3Eh 3BBB:68BA E8 0089 call sub_334 ; (6946) 3BBB:68BD BF 0070 mov di,70h 3BBB:68C0 B8 1B93 mov ax,1B93h 3BBB:68C3 E8 0080 call sub_334 ; (6946) 3BBB:68C6 80 3E 1046 03 cmp byte ptr ds:data_74e,3 ; (000A:1046=0) 3BBB:68CB 75 1C jne loc_1289 ; Jump if not equal 3BBB:68CD 2B FF sub di,di 3BBB:68CF ,BE 092A mov si,92Ah ; (3BBB:092A=47h) 3BBB:68D2 B9 0009 mov cx,9 3BBB:68D5 locloop_1288: ; xref 3BBB:68DE 3BBB:68D5 2E: AD lods word ptr cs:[si] ; String [si] to ax 3BBB:68D7 8B F8 mov di,ax 3BBB:68D9 2E: AD lods word ptr cs:[si] ; String [si] to ax 3BBB:68DB E8 0068 call sub_334 ; (6946) 3BBB:68DE E2 F5 loop locloop_1288 ; Loop if cx > 0 3BBB:68E0 BF 001C mov di,1Ch 3BBB:68E3 B8 079B mov ax,79Bh 3BBB:68E6 E8 005D call sub_334 ; (6946) 3BBB:68E9 loc_1289: ; xref 3BBB:68CB 3BBB:68E9 ,BF 013C mov di,data_26e ; (0000:013C=6Fh) 3BBB:68EC B8 1040 mov ax,1040h 3BBB:68EF AB stosw ; Store ax to es:[di] 3BBB:68F0 2E: A1 0006 mov ax,cs:data_160 ; (3BBB:0006=0Ah) 3BBB:68F4 AB stosw ; Store ax to es:[di] 3BBB:68F5 B8 F9F0 mov ax,0F9F0h 3BBB:68F8 8E C0 mov es,ax 3BBB:68FA 26: C6 06 003C 13 mov byte ptr es:data_1159e,13h ; (F9F0:003C=0F3h) 3BBB:6900 26: C6 06 003D 30 mov byte ptr es:data_1160e,30h ; (F9F0:003D=0) '0' 3BBB:6906 26: C6 06 003D 01 mov byte ptr es:data_1160e,1 ; (F9F0:003D=0) 3BBB:690C 26: C6 06 003C 00 mov byte ptr es:data_1159e,0 ; (F9F0:003C=0F3h) 3BBB:6912 26: C6 06 003D FB mov byte ptr es:data_1160e,0FBh ; (F9F0:003D=0) 3BBB:6918 26: C6 06 0006 13 mov byte ptr es:data_1145e,13h ; (F9F0:0006=3) 3BBB:691E 26: C6 06 0007 50 mov byte ptr es:data_1146e,50h ; (F9F0:0007=3) 'P' 3BBB:6924 26: C6 06 0007 01 mov byte ptr es:data_1146e,1 ; (F9F0:0007=3) 3BBB:692A 26: C6 06 0006 C0 mov byte ptr es:data_1145e,0C0h ; (F9F0:0006=3) 3BBB:6930 B0 66 mov al,66h ; 'f' 3BBB:6932 80 3E 1042 00 cmp byte ptr ds:data_73e,0 ; (000A:1042=20h) 3BBB:6937 75 02 jne loc_1290 ; Jump if not equal 3BBB:6939 24 F7 and al,0F7h 3BBB:693B loc_1290: ; xref 3BBB:6937 3BBB:693B 26: A2 0007 mov es:data_1146e,al ; (F9F0:0007=3) 3BBB:693F A2 104B mov ds:data_75e,al ; (000A:104B=0FFh) 3BBB:6942 07 pop es 3BBB:6943 1F pop ds 3BBB:6944 FB sti ; Enable interrupts 3BBB:6945 C3 retn ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:6875, 687B, 6881, 6887, 688D, 6893, 6899 ; 689F, 68A8, 68B1, 68BA, 68C3, 68DB, 68E6 ;========================================================================== 3BBB:6946 sub_334 proc near 3BBB:6946 AB stosw ; Store ax to es:[di] 3BBB:6947 50 push ax 3BBB:6948 8C C8 mov ax,cs 3BBB:694A AB stosw ; Store ax to es:[di] 3BBB:694B 58 pop ax 3BBB:694C C3 retn sub_334 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:638F ;========================================================================== 3BBB:694D sub_335 proc near 3BBB:694D 80 3E 109D 00 cmp byte ptr ds:[109Dh],0 ; (3BBB:109D=14h) 3BBB:6952 75 06 jne loc_1291 ; Jump if not equal 3BBB:6954 ,BE 140D mov si,140Dh ; (3BBB:140D=0) 3BBB:6957 E8 FBE4 call sub_332 ; (653E) 3BBB:695A loc_1291: ; xref 3BBB:6952 3BBB:695A FA cli ; Disable interrupts 3BBB:695B 1E push ds 3BBB:695C 06 push es 3BBB:695D C6 06 10F5 00 mov data_616,0 ; (3BBB:10F5=4Ch) 3BBB:6962 C6 06 10F4 00 mov data_615,0 ; (3BBB:10F4=0) 3BBB:6967 A0 10EF mov al,data_612 ; (3BBB:10EF=85h) 3BBB:696A 3C 01 cmp al,1 3BBB:696C 75 07 jne loc_1292 ; Jump if not equal 3BBB:696E 80 3E 1042 00 cmp byte ptr ds:[1042h],0 ; (3BBB:1042=6) 3BBB:6973 74 5B je loc_1296 ; Jump if equal 3BBB:6975 loc_1292: ; xref 3BBB:696C 3BBB:6975 3C 03 cmp al,3 3BBB:6977 74 20 je loc_1294 ; Jump if equal 3BBB:6979 loc_1293: ; xref 3BBB:69CE 3BBB:6979 C7 06 10F0 3812 mov data_613,3812h ; (3BBB:10F0=74DBh) 3BBB:697F C7 06 10F2 37E1 mov data_614,37E1h ; (3BBB:10F2=0B807h) 3BBB:6985 80 0E 10F4 01 or data_615,1 ; (3BBB:10F4=0) 3BBB:698A A0 1041 mov al,byte ptr ds:[1041h] ; (3BBB:1041=0FEh) 3BBB:698D FE C0 inc al 3BBB:698F E8 007E call sub_336 ; (6A10) 3BBB:6992 75 05 jnz loc_1294 ; Jump if not zero 3BBB:6994 80 0E 10F5 01 or data_616,1 ; (3BBB:10F5=4Ch) 3BBB:6999 loc_1294: ; xref 3BBB:6977, 6992 3BBB:6999 F6 06 10F4 02 test data_615,2 ; (3BBB:10F4=0) 3BBB:699E 75 30 jnz loc_1296 ; Jump if not zero 3BBB:69A0 80 3E 1042 02 cmp byte ptr ds:[1042h],2 ; (3BBB:1042=6) 3BBB:69A5 72 29 jb loc_1296 ; Jump if below 3BBB:69A7 C7 06 10F0 3823 mov data_613,3823h ; (3BBB:10F0=74DBh) 3BBB:69AD C7 06 10F2 3809 mov data_614,3809h ; (3BBB:10F2=0B807h) 3BBB:69B3 80 0E 10F4 02 or data_615,2 ; (3BBB:10F4=0) 3BBB:69B8 A0 1041 mov al,byte ptr ds:[1041h] ; (3BBB:1041=0FEh) 3BBB:69BB FE C0 inc al 3BBB:69BD FE C0 inc al 3BBB:69BF E8 004E call sub_336 ; (6A10) 3BBB:69C2 75 05 jnz loc_1295 ; Jump if not zero 3BBB:69C4 80 0E 10F5 02 or data_616,2 ; (3BBB:10F5=4Ch) 3BBB:69C9 loc_1295: ; xref 3BBB:69C2 3BBB:69C9 F6 06 10F4 01 test data_615,1 ; (3BBB:10F4=0) 3BBB:69CE 74 A9 jz loc_1293 ; Jump if zero 3BBB:69D0 loc_1296: ; xref 3BBB:6973, 699E, 69A5 3BBB:69D0 ,BE 0F08 mov si,0F08h ; (3BBB:0F08=5Bh) 3BBB:69D3 33 DB xor bx,bx ; Zero register 3BBB:69D5 8B CB mov cx,bx 3BBB:69D7 8A 1E 1041 mov bl,byte ptr ds:[1041h] ; (3BBB:1041=0FEh) 3BBB:69DB 43 inc bx 3BBB:69DC 03 DB add bx,bx 3BBB:69DE A0 10F5 mov al,data_616 ; (3BBB:10F5=4Ch) 3BBB:69E1 8A 0E 1042 mov cl,byte ptr ds:[1042h] ; (3BBB:1042=6) 3BBB:69E5 E3 0C jcxz loc_1299 ; Jump if cx=0 3BBB:69E7 locloop_1297: ; xref 3BBB:69F1 3BBB:69E7 D0 D8 rcr al,1 ; Rotate thru carry 3BBB:69E9 72 04 jc loc_1298 ; Jump if carry Set 3BBB:69EB C7 00 0000 mov word ptr [bx+si],0 3BBB:69EF loc_1298: ; xref 3BBB:69E9 3BBB:69EF 43 inc bx 3BBB:69F0 43 inc bx 3BBB:69F1 E2 F4 loop locloop_1297 ; Loop if cx > 0 3BBB:69F3 loc_1299: ; xref 3BBB:69E5 3BBB:69F3 33 C0 xor ax,ax ; Zero register 3BBB:69F5 A0 10EF mov al,data_612 ; (3BBB:10EF=85h) 3BBB:69F8 3C 02 cmp al,2 3BBB:69FA 72 0C jb loc_1300 ; Jump if below 3BBB:69FC 8A 26 1041 mov ah,byte ptr ds:[1041h] ; (3BBB:1041=0FEh) 3BBB:6A00 FE C4 inc ah 3BBB:6A02 3C 02 cmp al,2 3BBB:6A04 74 02 je loc_1300 ; Jump if equal 3BBB:6A06 FE C4 inc ah 3BBB:6A08 loc_1300: ; xref 3BBB:69FA, 6A04 3BBB:6A08 88 26 0092 mov data_220,ah ; (3BBB:0092=42h) 3BBB:6A0C 07 pop es 3BBB:6A0D 1F pop ds 3BBB:6A0E FB sti ; Enable interrupts 3BBB:6A0F C3 retn sub_335 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:698F, 69BF ;========================================================================== 3BBB:6A10 sub_336 proc near 3BBB:6A10 8C DD mov bp,ds 3BBB:6A12 8B 1E 0048 mov bx,data_190 ; (3BBB:0048=0) 3BBB:6A16 53 push bx 3BBB:6A17 B4 02 mov ah,2 3BBB:6A19 50 push ax 3BBB:6A1A 33 C0 xor ax,ax ; Zero register 3BBB:6A1C ,50 push ax 3BBB:6A1D 50 push ax 3BBB:6A1E 53 push bx 3BBB:6A1F 50 push ax 3BBB:6A20 50 push ax 3BBB:6A21 55 push bp 3BBB:6A22 FB sti ; Enable interrupts 3BBB:6A23 E8 FAD0 call sub_329 ; (64F6) 3BBB:6A26 FA cli ; Disable interrupts 3BBB:6A27 5D pop bp 3BBB:6A28 83 C4 0C add sp,0Ch 3BBB:6A2B 1F pop ds 3BBB:6A2C B9 0004 mov cx,4 3BBB:6A2F ,BF 01AE mov di,data_27e ; (0000:01AE=0) 3BBB:6A32 ,BE 01E0 mov si,data_28e ; (0000:01E0=0) 3BBB:6A35 locloop_1301: ; xref 3BBB:6A3F 3BBB:6A35 83 C7 10 add di,10h 3BBB:6A38 83 C6 40 add si,40h 3BBB:6A3B 80 7D 04 30 cmp byte ptr [di+4],30h ; '0' 3BBB:6A3F E0 F4 loopnz locloop_1301 ; Loop if zf=0, cx>0 3BBB:6A41 75 35 jnz loc_1302 ; Jump if not zero 3BBB:6A43 2E: 8E 06 0006 mov es,cs:data_160 ; (3BBB:0006=0Ah) 3BBB:6A48 26: 8B 3E 10F2 mov di,es:data_77e ; (000A:10F2=0FFh) 3BBB:6A4D A5 movsw ; Mov [si] to es:[di] 3BBB:6A4E 26: 8B 3E 10F0 mov di,es:data_76e ; (000A:10F0=0F800h) 3BBB:6A53 B9 0011 mov cx,11h 3BBB:6A56 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:6A58 26: 8B 3E 10F2 mov di,es:data_77e ; (000A:10F2=0FFh) 3BBB:6A5D 83 C7 02 add di,2 3BBB:6A60 ,BE 0200 mov si,data_29e ; (0000:0200=0) 3BBB:6A63 AD lodsw ; String [si] to ax 3BBB:6A64 48 dec ax 3BBB:6A65 AB stosw ; Store ax to es:[di] 3BBB:6A66 AC lodsb ; String [si] to al 3BBB:6A67 FE C8 dec al 3BBB:6A69 AA stosb ; Store al to es:[di] 3BBB:6A6A AC lodsb ; String [si] to al 3BBB:6A6B 2A 04 sub al,[si] 3BBB:6A6D 46 inc si 3BBB:6A6E AA stosb ; Store al to es:[di] 3BBB:6A6F A5 movsw ; Mov [si] to es:[di] 3BBB:6A70 AD lodsw ; String [si] to ax 3BBB:6A71 D1 E8 shr ax,1 ; Shift w/zeros fill 3BBB:6A73 D1 E8 shr ax,1 ; Shift w/zeros fill 3BBB:6A75 AA stosb ; Store al to es:[di] 3BBB:6A76 33 C0 xor ax,ax ; Zero register 3BBB:6A78 loc_1302: ; xref 3BBB:6A41 3BBB:6A78 8E DD mov ds,bp 3BBB:6A7A C3 retn sub_336 endp ;* No entry point to code 3BBB:6A7B 55 push bp 3BBB:6A7C 8B EC mov bp,sp 3BBB:6A7E 1E push ds 3BBB:6A7F 53 push bx 3BBB:6A80 50 push ax 3BBB:6A81 8B 5E 04 mov bx,[bp+4] 3BBB:6A84 8E DB mov ds,bx 3BBB:6A86 8B 5E 02 mov bx,[bp+2] 3BBB:6A89 8B 07 mov ax,[bx] 3BBB:6A8B 3C DB cmp al,0DBh 3BBB:6A8D 74 5D je loc_1304 ; Jump if equal 3BBB:6A8F 3C DF cmp al,0DFh 3BBB:6A91 74 59 je loc_1304 ; Jump if equal 3BBB:6A93 3C DD cmp al,0DDh 3BBB:6A95 74 13 je loc_1303 ; Jump if equal 3BBB:6A97 3C D9 cmp al,0D9h 3BBB:6A99 75 76 jne loc_1309 ; Jump if not equal 3BBB:6A9B 80 FC F7 cmp ah,0F7h 3BBB:6A9E 74 65 je loc_1307 ; Jump if equal 3BBB:6AA0 80 FC F6 cmp ah,0F6h 3BBB:6AA3 74 60 je loc_1307 ; Jump if equal 3BBB:6AA5 80 FC D0 cmp ah,0D0h 3BBB:6AA8 74 5B je loc_1307 ; Jump if equal 3BBB:6AAA loc_1303: ; xref 3BBB:6A95 3BBB:6AAA 80 FC 2E cmp ah,2Eh ; '.' 3BBB:6AAD 74 54 je loc_1305 ; Jump if equal 3BBB:6AAF 80 FC 3E cmp ah,3Eh ; '>' 3BBB:6AB2 74 4F je loc_1305 ; Jump if equal 3BBB:6AB4 80 FC 26 cmp ah,26h ; '&' 3BBB:6AB7 74 4A je loc_1305 ; Jump if equal 3BBB:6AB9 80 FC 36 cmp ah,36h ; '6' 3BBB:6ABC 74 45 je loc_1305 ; Jump if equal 3BBB:6ABE 80 E4 F8 and ah,0F8h 3BBB:6AC1 80 FC A8 cmp ah,0A8h 3BBB:6AC4 74 3D je loc_1305 ; Jump if equal 3BBB:6AC6 80 FC B8 cmp ah,0B8h 3BBB:6AC9 74 38 je loc_1305 ; Jump if equal 3BBB:6ACB 80 FC B0 cmp ah,0B0h 3BBB:6ACE 74 33 je loc_1305 ; Jump if equal 3BBB:6AD0 80 FC A0 cmp ah,0A0h 3BBB:6AD3 74 2E je loc_1305 ; Jump if equal 3BBB:6AD5 80 FC 68 cmp ah,68h ; 'h' 3BBB:6AD8 74 2A je loc_1306 ; Jump if equal 3BBB:6ADA 80 FC 78 cmp ah,78h ; 'x' 3BBB:6ADD 74 25 je loc_1306 ; Jump if equal 3BBB:6ADF 80 FC 60 cmp ah,60h ; '`' 3BBB:6AE2 74 20 je loc_1306 ; Jump if equal 3BBB:6AE4 80 FC 70 cmp ah,70h ; 'p' 3BBB:6AE7 74 1B je loc_1306 ; Jump if equal 3BBB:6AE9 E9 0025 jmpn loc_1309 ; (6B11) 3BBB:6AEC loc_1304: ; xref 3BBB:6A8D, 6A91 3BBB:6AEC 80 FC E0 cmp ah,0E0h 3BBB:6AEF 74 14 je loc_1307 ; Jump if equal 3BBB:6AF1 80 FC E2 cmp ah,0E2h 3BBB:6AF4 74 0F je loc_1307 ; Jump if equal 3BBB:6AF6 80 FC E3 cmp ah,0E3h 3BBB:6AF9 74 0A je loc_1307 ; Jump if equal 3BBB:6AFB 80 FC E4 cmp ah,0E4h 3BBB:6AFE 74 05 je loc_1307 ; Jump if equal 3BBB:6B00 E9 000E jmpn loc_1309 ; (6B11) 3BBB:6B03 loc_1305: ; xref 3BBB:6AAD, 6AB2, 6AB7, 6ABC ; 6AC4, 6AC9, 6ACE, 6AD3 3BBB:6B03 43 inc bx 3BBB:6B04 loc_1306: ; xref 3BBB:6AD8, 6ADD, 6AE2, 6AE7 3BBB:6B04 43 inc bx 3BBB:6B05 loc_1307: ; xref 3BBB:6A9E, 6AA3, 6AA8, 6AEF ; 6AF4, 6AF9, 6AFE 3BBB:6B05 43 inc bx 3BBB:6B06 43 inc bx 3BBB:6B07 8A 07 mov al,[bx] 3BBB:6B09 3C 9B cmp al,9Bh 3BBB:6B0B 75 01 jne loc_1308 ; Jump if not equal 3BBB:6B0D 43 inc bx 3BBB:6B0E loc_1308: ; xref 3BBB:6B0B 3BBB:6B0E 89 5E 02 mov [bp+2],bx 3BBB:6B11 loc_1309: ; xref 3BBB:6A99, 6AE9, 6B00 3BBB:6B11 58 pop ax 3BBB:6B12 5B pop bx 3BBB:6B13 1F pop ds 3BBB:6B14 5D pop bp 3BBB:6B15 CF iret ; Interrupt return ;* No entry point to code 3BBB:6B16 49 dec cx 3BBB:6B17 4E dec si 3BBB:6B18 54 push sp 3BBB:6B19 2D 5254 sub ax,5254h 3BBB:6B1C 41 inc cx 3BBB:6B1D 50 push ax 3BBB:6B1E 3A 2E 1E8E cmp ch,data_668 ; (3BBB:1E8E=89h) 3BBB:6B22 06 push es 3BBB:6B23 00 BE 10F6 add ss:data_617[bp],bh ; (3BBB:10F6=0CDh) 3BBB:6B27 8E 06 004E mov es,data_193 ; (3BBB:004E=0) 3BBB:6B2B E8 FA10 call sub_332 ; (653E) 3BBB:6B2E loc_1310: ; xref 3BBB:6B30 3BBB:6B2E ,FB sti ; Enable interrupts 3BBB:6B2F F4 hlt ; Halt processor 3BBB:6B30 EB FC jmp short loc_1310 ; (6B2E) ;* No entry point to code 3BBB:6B32 E8 0039 call sub_337 ; (6B6E) 3BBB:6B35 71 12 jno loc_1311 ; Jump if not overflw 3BBB:6B37 E8 0034 call sub_337 ; (6B6E) 3BBB:6B3A 78 12 js loc_1312 ; Jump if sign=1 3BBB:6B3C E8 002F call sub_337 ; (6B6E) 3BBB:6B3F 88 12 mov [bp+si],dl 3BBB:6B41 E8 002A call sub_337 ; (6B6E) 3BBB:6B44 8C 12 mov [bp+si],ss 3BBB:6B46 E8 0025 call sub_337 ; (6B6E) 3BBB:6B49 loc_1311: ; xref 3BBB:6B35 3BBB:6B49 98 cbw ; Convrt byte to word 3BBB:6B4A 12 E8 adc ch,al 3BBB:6B4C 20 00 and [bx+si],al 3BBB:6B4E loc_1312: ; xref 3BBB:6B3A 3BBB:6B4E A1 E812 mov ax,ds:data_1124e ; (3BBB:E812=0) 3BBB:6B51 1B 00 sbb ax,[bx+si] 3BBB:6B53 A7 cmpsw ; Cmp [si] to es:[di] 3BBB:6B54 12 E8 adc ch,al 3BBB:6B56 ,16 push ss 3BBB:6B57 00 B6 E812 add ss:data_1124e[bp],dh ; (3BBB:E812=0) 3BBB:6B5B 11 00 adc [bx+si],ax 3BBB:6B5D CA E812 retf 0E812h ;* No entry point to code 3BBB:6B60 0C 00 or al,0 3BBB:6B62 E0 12 ;* loopnz locloop_1313 ;*Loop if zf=0, cx>0 3BBB:6B62 db 0E0h, 12h ; Fixup - byte match 3BBB:6B64 E8 0007 call sub_337 ; (6B6E) 3BBB:6B67 F4 hlt ; Halt processor 3BBB:6B68 12 E8 adc ch,al 3BBB:6B6A 02 00 add al,[bx+si] 3BBB:6B6C FF 12 call word ptr [bp+si] ;* ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:6B32, 6B37, 6B3C, 6B41, 6B46, 6B64 ;========================================================================== 3BBB:6B6E sub_337 proc near 3BBB:6B6E 1E push ds 3BBB:6B6F 2E: 8E 1E 0006 mov ds,cs:data_160 ; (3BBB:0006=0Ah) 3BBB:6B74 8F 06 11B3 pop word ptr ds:data_80e ; (000A:11B3=200h) 3BBB:6B78 8F 06 11BB pop word ptr ds:data_84e ; (000A:11BB=3F00h) 3BBB:6B7C 8F 06 11B7 pop word ptr ds:data_82e ; (000A:11B7=0) 3BBB:6B80 8F 06 11B9 pop word ptr ds:data_83e ; (000A:11B9=0FFF8h) 3BBB:6B84 8C 16 11B1 mov ds:data_79e,ss ; (000A:11B1=120h) 3BBB:6B88 89 26 11AF mov ds:data_78e,sp ; (000A:11AF=200h) 3BBB:6B8C 2E: 8E 16 0006 mov ss,cs:data_160 ; (3BBB:0006=0Ah) 3BBB:6B91 BC 11AF mov sp,11AFh 3BBB:6B94 50 push ax 3BBB:6B95 51 push cx 3BBB:6B96 52 push dx 3BBB:6B97 53 push bx 3BBB:6B98 54 push sp 3BBB:6B99 55 push bp 3BBB:6B9A 56 push si 3BBB:6B9B 57 push di 3BBB:6B9C 8C 06 11B5 mov ds:data_81e,es ; (000A:11B5=200h) 3BBB:6BA0 8C D8 mov ax,ds 3BBB:6BA2 8E C0 mov es,ax 3BBB:6BA4 ,BE 094E mov si,94Eh ; (3BBB:094E=47h) 3BBB:6BA7 B9 000D mov cx,0Dh 3BBB:6BAA FC cld ; Clear direction 3BBB:6BAB locloop_1314: ; xref 3BBB:6BB8 3BBB:6BAB 2E: AD lods word ptr cs:[si] ; String [si] to ax 3BBB:6BAD 8B D8 mov bx,ax 3BBB:6BAF 2E: AD lods word ptr cs:[si] ; String [si] to ax 3BBB:6BB1 8B F8 mov di,ax 3BBB:6BB3 8B 07 mov ax,[bx] 3BBB:6BB5 E8 0035 call sub_338 ; (6BED) 3BBB:6BB8 E2 F1 loop locloop_1314 ; Loop if cx > 0 3BBB:6BBA 1E push ds 3BBB:6BBB 8E 1E 004E mov ds,ds:data_53e ; (000A:004E=157h) 3BBB:6BBF ,BE 0008 mov si,data_96e ; (0157:0008=0) 3BBB:6BC2 ,BF 11CF mov di,data_87e ; (000A:11CF=0) 3BBB:6BC5 B9 0004 mov cx,4 3BBB:6BC8 F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:6BCA 1F pop ds 3BBB:6BCB ,BE 11BD mov si,data_85e ; (000A:11BD=0) 3BBB:6BCE E8 F96D call sub_332 ; (653E) 3BBB:6BD1 8B 36 11BB mov si,ds:data_84e ; (000A:11BB=3F00h) 3BBB:6BD5 2E: 8B 34 mov si,cs:[si] 3BBB:6BD8 E8 F963 call sub_332 ; (653E) 3BBB:6BDB ,BE 11C1 mov si,data_86e ; (000A:11C1=39h) 3BBB:6BDE E8 F95D call sub_332 ; (653E) 3BBB:6BE1 FB sti ; Enable interrupts 3BBB:6BE2 B9 0000 mov cx,0 3BBB:6BE5 BA 0000 mov dx,0 3BBB:6BE8 CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:6BEA loc_1315: ; xref 3BBB:6BEB 3BBB:6BEA ,F4 hlt ; Halt processor 3BBB:6BEB EB FD jmp short loc_1315 ; (6BEA) sub_337 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:6BB5 ;========================================================================== 3BBB:6BED sub_338 proc near 3BBB:6BED 51 push cx 3BBB:6BEE B1 04 mov cl,4 3BBB:6BF0 8B D8 mov bx,ax 3BBB:6BF2 FC cld ; Clear direction 3BBB:6BF3 locloop_1316: ; xref 3BBB:6C06 3BBB:6BF3 D1 C3 rol bx,1 ; Rotate 3BBB:6BF5 D1 C3 rol bx,1 ; Rotate 3BBB:6BF7 D1 C3 rol bx,1 ; Rotate 3BBB:6BF9 D1 C3 rol bx,1 ; Rotate 3BBB:6BFB 8A C3 mov al,bl 3BBB:6BFD 24 0F and al,0Fh 3BBB:6BFF 04 90 add al,90h 3BBB:6C01 27 daa ; Decimal adjust 3BBB:6C02 14 40 adc al,40h ; '@' 3BBB:6C04 27 daa ; Decimal adjust 3BBB:6C05 AA stosb ; Store al to es:[di] 3BBB:6C06 E2 EB loop locloop_1316 ; Loop if cx > 0 3BBB:6C08 59 pop cx 3BBB:6C09 C3 retn sub_338 endp 3BBB:6C0A 00 00 52 08 04 00 db 00h, 00h, 52h, 08h, 04h, 00h 3BBB:6C10 57 08 0C 00 61 08 db 57h, 08h, 0Ch, 00h, 61h, 08h 3BBB:6C16 10 00 66 08 14 00 db 10h, 00h, 66h, 08h, 14h, 00h 3BBB:6C1C 6B 08 18 00 70 08 db 6Bh, 08h, 18h, 00h, 70h, 08h 3BBB:6C22 20 00 7A 08 24 00 db 20h, 00h, 7Ah, 08h, 24h, 00h 3BBB:6C28 7F 08 34 00 84 08 db 7Fh, 08h, 34h, 00h, 84h, 08h 3BBB:6C2E B9 11 19 12 B7 11 db 0B9h, 11h, 19h, 12h,0B7h, 11h 3BBB:6C34 1E 12 B1 11 2D 12 db 1Eh, 12h,0B1h, 11h, 2Dh, 12h 3BBB:6C3A AF 11 32 12 B3 11 db 0AFh, 11h, 32h, 12h,0B3h, 11h 3BBB:6C40 23 12 B5 11 28 12 db 23h, 12h,0B5h, 11h, 28h, 12h 3BBB:6C46 AD 11 37 12 A7 11 db 0ADh, 11h, 37h, 12h,0A7h, 11h 3BBB:6C4C 3C 12 AB 11 41 12 db 3Ch, 12h,0ABh, 11h, 41h, 12h 3BBB:6C52 A9 11 46 12 A3 11 db 0A9h, 11h, 46h, 12h,0A3h, 11h 3BBB:6C58 4B 12 A1 11 50 12 db 4Bh, 12h,0A1h, 11h, 50h, 12h 3BBB:6C5E 9F 11 55 12 db 9Fh, 11h, 55h, 12h 3BBB:6C62 43 48 41 52 49 4F db 'CHARIO-CSEG:@' 3BBB:6C68 2D 43 53 45 47 3A 3BBB:6C6E 40 3BBB:6C6F 00 00 FB 00 FA 00 db 00h, 00h,0FBh, 00h,0FAh, 00h 3BBB:6C75 00 2E 8C 1E 94 09 db 00h, 2Eh, 8Ch, 1Eh, 94h, 09h 3BBB:6C7B 2E 8E 1E 06 00 8C db 2Eh, 8Eh, 1Eh, 06h, 00h, 8Ch 3BBB:6C81 16 5E 16 89 26 60 db 16h, 5Eh, 16h, 89h, 26h, 60h 3BBB:6C87 16 2E 8E 16 06 00 db 16h, 2Eh, 8Eh, 16h, 06h, 00h 3BBB:6C8D BC 8A 16 50 06 2E db 0BCh, 8Ah, 16h, 50h, 06h, 2Eh 3BBB:6C93 8E 06 08 00 26 A0 db 8Eh, 06h, 08h, 00h, 26h,0A0h 3BBB:6C99 01 00 A8 30 74 09 db 01h, 00h,0A8h, 30h, 74h, 09h 3BBB:6C9F 26 C6 06 01 00 C1 db 26h,0C6h, 06h, 01h, 00h,0C1h 3BBB:6CA5 E9 45 01 C6 06 97 db 0E9h, 45h, 01h,0C6h, 06h, 97h 3BBB:6CAB 10 00 26 F6 06 04 db 10h, 00h, 26h,0F6h, 06h, 04h 3BBB:6CB1 00 10 75 05 C6 06 db 00h, 10h, 75h, 05h,0C6h, 06h 3BBB:6CB7 97 10 FF db 97h, 10h,0FFh 3BBB:6CBA loc_1317: 3BBB:6CBA 26: A0 0000 mov al,byte ptr es:[0] ; (3BBB:0000=1) 3BBB:6CBE 26: F6 06 0004 08 test byte ptr es:[4],8 ; (3BBB:0004=0) 3BBB:6CC4 75 05 jnz loc_1318 ; Jump if not zero 3BBB:6CC6 C6 06 161B FF mov byte ptr ds:[161Bh],0FFh ; (3BBB:161B=0E8h) 3BBB:6CCB loc_1318: ; xref 3BBB:6CC4 3BBB:6CCB 53 push bx 3BBB:6CCC 56 push si 3BBB:6CCD ,BB 18B0 mov bx,18B0h ; (3BBB:18B0=6) 3BBB:6CD0 D7 xlat ; al=[al+[bx]] table 3BBB:6CD1 3C F0 cmp al,0F0h 3BBB:6CD3 75 13 jne loc_1319 ; Jump if not equal 3BBB:6CD5 F6 16 1618 not byte ptr ds:[1618h] ; (3BBB:1618=16h) 3BBB:6CD9 80 36 104A 02 xor data_598,2 ; (3BBB:104A=3Eh) 3BBB:6CDE A0 104A mov al,data_598 ; (3BBB:104A=3Eh) 3BBB:6CE1 26: A2 0004 mov byte ptr es:[4],al ; (3BBB:0004=0) 3BBB:6CE5 E9 0103 jmp loc_1331 ; (6DEB) 3BBB:6CE8 loc_1319: ; xref 3BBB:6CD3 3BBB:6CE8 3C FF cmp al,0FFh 3BBB:6CEA 75 03 jne loc_1320 ; Jump if not equal 3BBB:6CEC E9 00FC jmp loc_1331 ; (6DEB) 3BBB:6CEF loc_1320: ; xref 3BBB:6CEA 3BBB:6CEF 3C FE cmp al,0FEh 3BBB:6CF1 74 03 je loc_1321 ; Jump if equal 3BBB:6CF3 E9 009C jmp loc_1326 ; (6D92) 3BBB:6CF6 loc_1321: ; xref 3BBB:6CF1 3BBB:6CF6 06 push es 3BBB:6CF7 57 push di 3BBB:6CF8 2E: 8E 06 098E mov es,word ptr cs:[98Eh] ; (3BBB:098E=8726h) 3BBB:6CFD 26: 8A 1E 00A1 mov bl,es:data_1129e ; (8726:00A1=0) 3BBB:6D02 80 E3 07 and bl,7 3BBB:6D05 80 FB 03 cmp bl,3 3BBB:6D08 2E: 8E 06 0008 mov es,cs:data_161 ; (3BBB:0008=200h) 3BBB:6D0D 75 52 jnz loc_1323 ; Jump if not zero 3BBB:6D0F 80 3E 1046 03 cmp byte ptr ds:[1046h],3 ; (3BBB:1046=0C9h) 3BBB:6D14 75 45 jne loc_1322 ; Jump if not equal 3BBB:6D16 2E: 8E 06 098E mov es,word ptr cs:[98Eh] ; (3BBB:098E=8726h) 3BBB:6D1B 26: 8A 1E 0066 mov bl,es:data_1128e ; (8726:0066=0) 3BBB:6D20 80 E3 FD and bl,0FDh 3BBB:6D23 26: 88 1E 0066 mov es:data_1128e,bl ; (8726:0066=0) 3BBB:6D28 2E: 8E 06 0008 mov es,cs:data_161 ; (3BBB:0008=200h) 3BBB:6D2D 26: 88 1E 0085 mov es:data_126e,bl ; (0200:0085=0E6h) 3BBB:6D32 F6 16 1619 not byte ptr ds:[1619h] ; (3BBB:1619=0A6h) 3BBB:6D36 80 3E 1619 FF cmp byte ptr ds:[1619h],0FFh ; (3BBB:1619=0A6h) 3BBB:6D3B 75 50 jne loc_1325 ; Jump if not equal 3BBB:6D3D 2E: 8E 06 098E mov es,word ptr cs:[98Eh] ; (3BBB:098E=8726h) 3BBB:6D42 26: 8A 1E 0066 mov bl,es:data_1128e ; (8726:0066=0) 3BBB:6D47 80 CB 02 or bl,2 3BBB:6D4A 26: 88 1E 0066 mov es:data_1128e,bl ; (8726:0066=0) 3BBB:6D4F 2E: 8E 06 0008 mov es,cs:data_161 ; (3BBB:0008=200h) 3BBB:6D54 26: 88 1E 0085 mov es:data_126e,bl ; (0200:0085=0E6h) 3BBB:6D59 EB 32 jmp short loc_1325 ; (6D8D) 3BBB:6D5B loc_1322: ; xref 3BBB:6D14 3BBB:6D5B 26: 80 36 0085 10 xor byte ptr es:data_126e,10h ; (0200:0085=0E6h) 3BBB:6D61 loc_1323: ; xref 3BBB:6D0D 3BBB:6D61 BE 1790 mov si,1790h 3BBB:6D64 F6 16 1619 not byte ptr ds:[1619h] ; (3BBB:1619=0A6h) 3BBB:6D68 80 3E 1619 FF cmp byte ptr ds:[1619h],0FFh ; (3BBB:1619=0A6h) 3BBB:6D6D 75 03 jne loc_1324 ; Jump if not equal 3BBB:6D6F ,BE 1810 mov si,offset data_637 ; (3BBB:1810=19h) 3BBB:6D72 loc_1324: ; xref 3BBB:6D6D 3BBB:6D72 FC cld ; Clear direction 3BBB:6D73 51 push cx 3BBB:6D74 ,BF 06B0 mov di,data_128e ; (0200:06B0=2) 3BBB:6D77 B9 0018 mov cx,18h 3BBB:6D7A F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:6D7C ,BF 08B0 mov di,data_129e ; (0200:08B0=0) 3BBB:6D7F B9 0020 mov cx,20h 3BBB:6D82 F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:6D84 ,BF 0500 mov di,data_127e ; (0200:0500=0) 3BBB:6D87 B9 0008 mov cx,8 3BBB:6D8A F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:6D8C 59 pop cx 3BBB:6D8D loc_1325: ; xref 3BBB:6D3B, 6D59 3BBB:6D8D 5F pop di 3BBB:6D8E 07 pop es 3BBB:6D8F E9 0059 jmpn loc_1331 ; (6DEB) 3BBB:6D92 loc_1326: ; xref 3BBB:6CF3 3BBB:6D92 3C 20 cmp al,20h ; ' ' 3BBB:6D94 73 25 jae loc_1328 ; Jump if above or = 3BBB:6D96 FF 1E 003C call dword ptr data_183 ; (3BBB:003C=0) 3BBB:6D9A 84 DB test bl,bl 3BBB:6D9C 75 1D jnz loc_1328 ; Jump if not zero 3BBB:6D9E 3C 10 cmp al,10h 3BBB:6DA0 75 04 jne loc_1327 ; Jump if not equal 3BBB:6DA2 F6 16 1616 not byte ptr ds:[1616h] ; (3BBB:1616=55h) 3BBB:6DA6 loc_1327: ; xref 3BBB:6DA0 3BBB:6DA6 3C 03 cmp al,3 3BBB:6DA8 75 41 jne loc_1331 ; Jump if not equal 3BBB:6DAA C6 06 1616 00 mov byte ptr ds:[1616h],0 ; (3BBB:1616=55h) 3BBB:6DAF C6 06 1617 00 mov byte ptr ds:[1617h],0 ; (3BBB:1617=8Bh) 3BBB:6DB4 C6 06 168C 00 mov byte ptr ds:[168Ch],0 ; (3BBB:168C=72h) 3BBB:6DB9 EB 30 jmp short loc_1331 ; (6DEB) 3BBB:6DBB loc_1328: ; xref 3BBB:6D94, 6D9C 3BBB:6DBB ,BB 168A mov bx,168Ah ; (3BBB:168A=3Ch) 3BBB:6DBE 51 push cx 3BBB:6DBF 8B 4F 02 mov cx,[bx+2] 3BBB:6DC2 81 F9 0100 cmp cx,100h 3BBB:6DC6 73 10 jae loc_1329 ; Jump if above or = 3BBB:6DC8 8B 77 04 mov si,[bx+4] 3BBB:6DCB 03 F1 add si,cx 3BBB:6DCD 81 E6 00FF and si,0FFh 3BBB:6DD1 88 40 06 mov [bx+si+6],al 3BBB:6DD4 41 inc cx 3BBB:6DD5 89 4F 02 mov [bx+2],cx 3BBB:6DD8 loc_1329: ; xref 3BBB:6DC6 3BBB:6DD8 80 7F 01 FF cmp byte ptr [bx+1],0FFh 3BBB:6DDC 75 0C jne loc_1330 ; Jump if not equal 3BBB:6DDE C6 47 01 00 mov byte ptr [bx+1],0 3BBB:6DE2 52 push dx 3BBB:6DE3 8A 17 mov dl,[bx] 3BBB:6DE5 FF 1E 0038 call dword ptr data_181 ; (3BBB:0038=0) 3BBB:6DE9 5A pop dx 3BBB:6DEA loc_1330: ; xref 3BBB:6DDC 3BBB:6DEA 59 pop cx 3BBB:6DEB loc_1331: ; xref 3BBB:6CE5, 6CEC, 6D8F, 6DA8 ; 6DB9 3BBB:6DEB 5E pop si 3BBB:6DEC 5B pop bx 3BBB:6DED 2E: 8E 06 0008 mov es,cs:data_161 ; (3BBB:0008=200h) 3BBB:6DF2 26: C6 06 0006 60 mov byte ptr es:data_119e,60h ; (0200:0006=0F3h) '`' 3BBB:6DF8 07 pop es 3BBB:6DF9 58 pop ax 3BBB:6DFA 8E 16 165E mov ss,word ptr ds:[165Eh] ; (3BBB:165E=0C606h) 3BBB:6DFE 8B 26 1660 mov sp,word ptr ds:[1660h] ; (3BBB:1660=444h) 3BBB:6E02 2E: 8E 1E 0994 mov ds,word ptr cs:[994h] ; (3BBB:0994=3687h) 3BBB:6E07 CF iret ; Interrupt return ;* No entry point to code 3BBB:6E08 A0 0066 mov al,data_210 ; (3BBB:0066=0) 3BBB:6E0B 3C 18 cmp al,18h 3BBB:6E0D 76 02 jbe loc_1332 ; Jump if below or = 3BBB:6E0F B0 18 mov al,18h 3BBB:6E11 loc_1332: ; xref 3BBB:6E0D 3BBB:6E11 A2 1614 mov byte ptr ds:[1614h],al ; (3BBB:1614=0) 3BBB:6E14 C6 06 1616 00 mov byte ptr ds:[1616h],0 ; (3BBB:1616=55h) 3BBB:6E19 C6 06 1617 00 mov byte ptr ds:[1617h],0 ; (3BBB:1617=8Bh) 3BBB:6E1E 33 C0 xor ax,ax ; Zero register 3BBB:6E20 06 push es 3BBB:6E21 80 FA 00 cmp dl,0 3BBB:6E24 74 04 je loc_1333 ; Jump if equal 3BBB:6E26 33 C0 xor ax,ax ; Zero register 3BBB:6E28 07 pop es 3BBB:6E29 C3 retn 3BBB:6E2A loc_1333: ; xref 3BBB:6E24 3BBB:6E2A 2E: 8E 06 098E mov es,word ptr cs:[98Eh] ; (3BBB:098E=8726h) 3BBB:6E2F 26: A0 00A1 mov al,es:data_1129e ; (8726:00A1=0) 3BBB:6E33 08 06 1044 or byte ptr ds:[1044h],al ; (3BBB:1044=0) 3BBB:6E37 24 07 and al,7 3BBB:6E39 3C 03 cmp al,3 3BBB:6E3B 74 03 je loc_1334 ; Jump if equal 3BBB:6E3D E9 01A1 jmp loc_1344 ; (6FE1) 3BBB:6E40 loc_1334: ; xref 3BBB:6E3B 3BBB:6E40 80 0E 1044 80 or byte ptr ds:[1044h],80h ; (3BBB:1044=0) 3BBB:6E45 8B 1E 1C0E mov bx,word ptr ds:[1C0Eh] ; (3BBB:1C0E=3A00h) 3BBB:6E49 C6 47 08 07 mov byte ptr [bx+8],7 3BBB:6E4D 80 3E 1046 03 cmp byte ptr ds:[1046h],3 ; (3BBB:1046=0C9h) 3BBB:6E52 74 67 je loc_1335 ; Jump if equal 3BBB:6E54 2E: 8E 06 0008 mov es,cs:data_161 ; (3BBB:0008=200h) 3BBB:6E59 26: 80 0E 0085 80 or byte ptr es:data_126e,80h ; (0200:0085=0E6h) 3BBB:6E5F 2E: 8E 06 098E mov es,word ptr cs:[98Eh] ; (3BBB:098E=8726h) 3BBB:6E64 26: 8B 36 0052 mov si,es:data_1125e ; (8726:0052=0) 3BBB:6E69 8E C6 mov es,si 3BBB:6E6B ,BE 1C12 mov si,1C12h ; (3BBB:1C12=5) 3BBB:6E6E ,BF 1000 mov di,data_37e ; (0000:1000=0) 3BBB:6E71 B9 1000 mov cx,1000h 3BBB:6E74 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:6E76 ,BE 1C12 mov si,1C12h ; (3BBB:1C12=5) 3BBB:6E79 33 FF xor di,di ; Zero register 3BBB:6E7B B9 1000 mov cx,1000h 3BBB:6E7E F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:6E80 ,BE 1A30 mov si,1A30h ; (3BBB:1A30=0E8h) 3BBB:6E83 ,BF 0400 mov di,data_33e ; (0000:0400=0F8h) 3BBB:6E86 B9 0010 mov cx,10h 3BBB:6E89 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:6E8B ,BE 1A40 mov si,1A40h ; (3BBB:1A40=0FFh) 3BBB:6E8E ,BF 05B0 mov di,data_34e ; (0000:05B0=0) 3BBB:6E91 B9 0030 mov cx,30h 3BBB:6E94 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:6E96 ,BE 1A70 mov si,1A70h ; (3BBB:1A70=0FAh) 3BBB:6E99 ,BF 07B0 mov di,data_35e ; (0000:07B0=20h) 3BBB:6E9C B9 0040 mov cx,40h 3BBB:6E9F F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:6EA1 ,BE 2C12 mov si,2C12h ; (3BBB:2C12=0D0h) 3BBB:6EA4 ,BF 0C00 mov di,data_36e ; (0000:0C00=0) 3BBB:6EA7 B9 0200 mov cx,200h 3BBB:6EAA F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:6EAC ,BE 2C12 mov si,2C12h ; (3BBB:2C12=0D0h) 3BBB:6EAF BF 0C00 mov di,0C00h 3BBB:6EB2 ,81 C7 1000 add di,data_37e ; (0000:1000=0) 3BBB:6EB6 B9 0200 mov cx,200h 3BBB:6EB9 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:6EBB loc_1335: ; xref 3BBB:6E52 3BBB:6EBB 80 3E 1046 03 cmp byte ptr ds:[1046h],3 ; (3BBB:1046=0C9h) 3BBB:6EC0 75 21 jne loc_1336 ; Jump if not equal 3BBB:6EC2 2E: 8E 06 098E mov es,word ptr cs:[98Eh] ; (3BBB:098E=8726h) 3BBB:6EC7 26: 8A 1E 0066 mov bl,es:data_1128e ; (8726:0066=0) 3BBB:6ECC 80 E3 7F and bl,7Fh 3BBB:6ECF 80 CB 10 or bl,10h 3BBB:6ED2 26: 88 1E 0066 mov es:data_1128e,bl ; (8726:0066=0) 3BBB:6ED7 2E: 8E 06 0008 mov es,cs:data_161 ; (3BBB:0008=200h) 3BBB:6EDC 26: 88 1E 0085 mov es:data_126e,bl ; (0200:0085=0E6h) 3BBB:6EE1 EB 11 jmp short loc_1337 ; (6EF4) 3BBB:6EE3 loc_1336: ; xref 3BBB:6EC0 3BBB:6EE3 2E: 8E 06 0008 mov es,cs:data_161 ; (3BBB:0008=200h) 3BBB:6EE8 26: 80 26 0085 7F and byte ptr es:data_126e,7Fh ; (0200:0085=0E6h) 3BBB:6EEE 26: 80 0E 0085 10 or byte ptr es:data_126e,10h ; (0200:0085=0E6h) 3BBB:6EF4 loc_1337: ; xref 3BBB:6EE1 3BBB:6EF4 2E: 8E 06 098E mov es,word ptr cs:[98Eh] ; (3BBB:098E=8726h) 3BBB:6EF9 80 0E 1044 08 or byte ptr ds:[1044h],8 ; (3BBB:1044=0) 3BBB:6EFE 26: 80 0E 00A1 08 or byte ptr es:data_1129e,8 ; (8726:00A1=0) 3BBB:6F04 26: C6 06 00DB 00 mov byte ptr es:data_1130e,0 ; (8726:00DB=0) 3BBB:6F0A 2E: 8E 06 098E mov es,word ptr cs:[98Eh] ; (3BBB:098E=8726h) 3BBB:6F0F 26: 80 26 0054 F5 and byte ptr es:data_1126e,0F5h ; (8726:0054=0) 3BBB:6F15 26: A0 0054 mov al,es:data_1126e ; (8726:0054=0) 3BBB:6F19 2E: 8E 06 0008 mov es,cs:data_161 ; (3BBB:0008=200h) 3BBB:6F1E 26: A2 0082 mov es:data_124e,al ; (0200:0082=0E3h) 3BBB:6F22 2E: 8E 06 098E mov es,word ptr cs:[98Eh] ; (3BBB:098E=8726h) 3BBB:6F27 26: A0 00A1 mov al,es:data_1129e ; (8726:00A1=0) 3BBB:6F2B 8D 36 1BB6 ;* lea si,cs:[1BB6h] ; Load effective addr 3BBB:6F2B db 8Dh, 36h,0B6h, 1Bh ; Fixup - byte match 3BBB:6F2F A8 40 test al,40h ; '@' 3BBB:6F31 74 36 jz loc_1340 ; Jump if zero 3BBB:6F33 80 3E 1046 03 cmp byte ptr ds:[1046h],3 ; (3BBB:1046=0C9h) 3BBB:6F38 75 1E jne loc_1338 ; Jump if not equal 3BBB:6F3A 2E: 8E 06 098E mov es,word ptr cs:[98Eh] ; (3BBB:098E=8726h) 3BBB:6F3F 26: 8A 1E 0066 mov bl,es:data_1128e ; (8726:0066=0) 3BBB:6F44 80 CB 01 or bl,1 3BBB:6F47 26: 88 1E 0066 mov es:data_1128e,bl ; (8726:0066=0) 3BBB:6F4C 2E: 8E 06 0008 mov es,cs:data_161 ; (3BBB:0008=200h) 3BBB:6F51 26: 88 1E 0085 mov es:data_126e,bl ; (0200:0085=0E6h) 3BBB:6F56 EB 0B jmp short loc_1339 ; (6F63) 3BBB:6F58 loc_1338: ; xref 3BBB:6F38 3BBB:6F58 2E: 8E 06 0008 mov es,cs:data_161 ; (3BBB:0008=200h) 3BBB:6F5D 26: 80 0E 0085 01 or byte ptr es:data_126e,1 ; (0200:0085=0E6h) 3BBB:6F63 loc_1339: ; xref 3BBB:6F56 3BBB:6F63 E8 01B1 call sub_339 ; (7117) 3BBB:6F66 E9 0033 jmpn loc_1343 ; (6F9C) 3BBB:6F69 loc_1340: ; xref 3BBB:6F31 3BBB:6F69 80 3E 1046 03 cmp byte ptr ds:[1046h],3 ; (3BBB:1046=0C9h) 3BBB:6F6E 75 1E jne loc_1341 ; Jump if not equal 3BBB:6F70 2E: 8E 06 098E mov es,word ptr cs:[98Eh] ; (3BBB:098E=8726h) 3BBB:6F75 26: 8A 1E 0066 mov bl,es:data_1128e ; (8726:0066=0) 3BBB:6F7A 80 E3 FE and bl,0FEh 3BBB:6F7D 26: 88 1E 0066 mov es:data_1128e,bl ; (8726:0066=0) 3BBB:6F82 2E: 8E 06 0008 mov es,cs:data_161 ; (3BBB:0008=200h) 3BBB:6F87 26: 88 1E 0085 mov es:data_126e,bl ; (0200:0085=0E6h) 3BBB:6F8C EB 0B jmp short loc_1342 ; (6F99) 3BBB:6F8E loc_1341: ; xref 3BBB:6F6E 3BBB:6F8E 2E: 8E 06 0008 mov es,cs:data_161 ; (3BBB:0008=200h) 3BBB:6F93 26: 80 26 0085 FE and byte ptr es:data_126e,0FEh ; (0200:0085=0E6h) 3BBB:6F99 loc_1342: ; xref 3BBB:6F8C 3BBB:6F99 E8 017E call sub_340 ; (711A) 3BBB:6F9C loc_1343: ; xref 3BBB:6F66 3BBB:6F9C FC cld ; Clear direction 3BBB:6F9D 2E: 8E 06 098E mov es,word ptr cs:[98Eh] ; (3BBB:098E=8726h) 3BBB:6FA2 26: 8B 36 0052 mov si,es:data_1125e ; (8726:0052=0) 3BBB:6FA7 8E C6 mov es,si 3BBB:6FA9 33 FF xor di,di ; Zero register 3BBB:6FAB B8 0720 mov ax,720h 3BBB:6FAE B9 3FFF mov cx,3FFFh 3BBB:6FB1 F3/ AB rep stosw ; Rep when cx >0 Store ax to es:[di] 3BBB:6FB3 8B 1E 1C0E mov bx,word ptr ds:[1C0Eh] ; (3BBB:1C0E=3A00h) 3BBB:6FB7 C6 47 12 00 mov byte ptr [bx+12h],0 3BBB:6FBB 2E: 8E 06 098E mov es,word ptr cs:[98Eh] ; (3BBB:098E=8726h) 3BBB:6FC0 26: 80 0E 0054 08 or byte ptr es:data_1126e,8 ; (8726:0054=0) 3BBB:6FC6 26: A0 0054 mov al,es:data_1126e ; (8726:0054=0) 3BBB:6FCA 2E: 8E 06 0008 mov es,cs:data_161 ; (3BBB:0008=200h) 3BBB:6FCF 26: A2 0082 mov es:data_124e,al ; (0200:0082=0E3h) 3BBB:6FD3 8B 1E 1C0E mov bx,word ptr ds:[1C0Eh] ; (3BBB:1C0E=3A00h) 3BBB:6FD7 C6 47 09 02 mov byte ptr [bx+9],2 3BBB:6FDB E8 0408 call sub_345 ; (73E6) 3BBB:6FDE E9 00EF jmp loc_1345 ; (70D0) 3BBB:6FE1 loc_1344: ; xref 3BBB:6E3D 3BBB:6FE1 80 26 1044 7F and byte ptr ds:[1044h],7Fh ; (3BBB:1044=0) 3BBB:6FE6 8B 1E 1C0E mov bx,word ptr ds:[1C0Eh] ; (3BBB:1C0E=3A00h) 3BBB:6FEA C6 47 08 00 mov byte ptr [bx+8],0 3BBB:6FEE B8 FB00 mov ax,0FB00h 3BBB:6FF1 8E C0 mov es,ax 3BBB:6FF3 ,BF 0000 mov di,data_1170e ; (FB00:0000=0C3h) 3BBB:6FF6 B8 2020 mov ax,2020h 3BBB:6FF9 B9 03E8 mov cx,3E8h 3BBB:6FFC FC cld ; Clear direction 3BBB:6FFD F3/ AB rep stosw ; Rep when cx >0 Store ax to es:[di] 3BBB:6FFF 2E: 8E 06 0008 mov es,cs:data_161 ; (3BBB:0008=200h) 3BBB:7004 26: C6 06 0002 00 mov byte ptr es:data_116e,0 ; (0200:0002=42h) 3BBB:700A 26: C6 06 0003 6F mov byte ptr es:data_117e,6Fh ; (0200:0003=3Ch) 'o' 3BBB:7010 26: C6 06 0002 01 mov byte ptr es:data_116e,1 ; (0200:0002=42h) 3BBB:7016 26: C6 06 0003 50 mov byte ptr es:data_117e,50h ; (0200:0003=3Ch) 'P' 3BBB:701C 26: C6 06 0002 02 mov byte ptr es:data_116e,2 ; (0200:0002=42h) 3BBB:7022 26: C6 06 0003 5B mov byte ptr es:data_117e,5Bh ; (0200:0003=3Ch) '[' 3BBB:7028 26: C6 06 0002 03 mov byte ptr es:data_116e,3 ; (0200:0002=42h) 3BBB:702E 26: C6 06 0003 08 mov byte ptr es:data_117e,8 ; (0200:0003=3Ch) 3BBB:7034 26: C6 06 0002 04 mov byte ptr es:data_116e,4 ; (0200:0002=42h) 3BBB:703A 26: C6 06 0003 1B mov byte ptr es:data_117e,1Bh ; (0200:0003=3Ch) 3BBB:7040 26: C6 06 0002 05 mov byte ptr es:data_116e,5 ; (0200:0002=42h) 3BBB:7046 26: C6 06 0003 05 mov byte ptr es:data_117e,5 ; (0200:0003=3Ch) 3BBB:704C 26: C6 06 0002 06 mov byte ptr es:data_116e,6 ; (0200:0002=42h) 3BBB:7052 26: C6 06 0003 19 mov byte ptr es:data_117e,19h ; (0200:0003=3Ch) 3BBB:7058 26: C6 06 0002 07 mov byte ptr es:data_116e,7 ; (0200:0002=42h) 3BBB:705E 26: C6 06 0003 1A mov byte ptr es:data_117e,1Ah ; (0200:0003=3Ch) 3BBB:7064 26: C6 06 0002 08 mov byte ptr es:data_116e,8 ; (0200:0002=42h) 3BBB:706A 26: C6 06 0003 00 mov byte ptr es:data_117e,0 ; (0200:0003=3Ch) 3BBB:7070 26: C6 06 0002 09 mov byte ptr es:data_116e,9 ; (0200:0002=42h) 3BBB:7076 26: C6 06 0003 0A mov byte ptr es:data_117e,0Ah ; (0200:0003=3Ch) 3BBB:707C 26: C6 06 0002 0A mov byte ptr es:data_116e,0Ah ; (0200:0002=42h) 3BBB:7082 26: C6 06 0003 20 mov byte ptr es:data_117e,20h ; (0200:0003=3Ch) ' ' 3BBB:7088 26: C6 06 0002 0B mov byte ptr es:data_116e,0Bh ; (0200:0002=42h) 3BBB:708E 26: C6 06 0003 0A mov byte ptr es:data_117e,0Ah ; (0200:0003=3Ch) 3BBB:7094 26: C6 06 0002 0C mov byte ptr es:data_116e,0Ch ; (0200:0002=42h) 3BBB:709A 26: C6 06 0003 00 mov byte ptr es:data_117e,0 ; (0200:0003=3Ch) 3BBB:70A0 26: C6 06 0002 0D mov byte ptr es:data_116e,0Dh ; (0200:0002=42h) 3BBB:70A6 26: C6 06 0003 00 mov byte ptr es:data_117e,0 ; (0200:0003=3Ch) 3BBB:70AC 26: C6 06 0002 0E mov byte ptr es:data_116e,0Eh ; (0200:0002=42h) 3BBB:70B2 26: C6 06 0003 00 mov byte ptr es:data_117e,0 ; (0200:0003=3Ch) 3BBB:70B8 26: C6 06 0002 0F mov byte ptr es:data_116e,0Fh ; (0200:0002=42h) 3BBB:70BE 26: C6 06 0003 00 mov byte ptr es:data_117e,0 ; (0200:0003=3Ch) 3BBB:70C4 26: C6 06 0002 0A mov byte ptr es:data_116e,0Ah ; (0200:0002=42h) 3BBB:70CA 26: C6 06 0003 00 mov byte ptr es:data_117e,0 ; (0200:0003=3Ch) 3BBB:70D0 loc_1345: ; xref 3BBB:6FDE 3BBB:70D0 ,BE 1790 mov si,1790h ; (3BBB:1790=3Dh) 3BBB:70D3 FC cld ; Clear direction 3BBB:70D4 ,BF 06B0 mov di,data_128e ; (0200:06B0=2) 3BBB:70D7 B9 0018 mov cx,18h 3BBB:70DA F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:70DC ,BF 08B0 mov di,data_129e ; (0200:08B0=0) 3BBB:70DF B9 0020 mov cx,20h 3BBB:70E2 F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:70E4 ,BF 0500 mov di,data_127e ; (0200:0500=0) 3BBB:70E7 B9 0008 mov cx,8 3BBB:70EA F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:70EC 2E: 8E 06 0008 mov es,cs:data_161 ; (3BBB:0008=200h) 3BBB:70F1 80 26 104A FD and data_598,0FDh ; (3BBB:104A=3Eh) 3BBB:70F6 8A 16 104A mov dl,data_598 ; (3BBB:104A=3Eh) 3BBB:70FA 26: 88 16 0004 mov es:data_118e,dl ; (0200:0004=0) 3BBB:70FF ,BF 168A mov di,168Ah ; (3BBB:168A=3Ch) 3BBB:7102 ,BE 1636 mov si,1636h ; (3BBB:1636=6) 3BBB:7105 8A 16 0F04 mov dl,byte ptr ds:[0F04h] ; (3BBB:0F04=20h) 3BBB:7109 88 15 mov [di],dl 3BBB:710B 02 54 10 add dl,[si+10h] 3BBB:710E 88 16 0F04 mov byte ptr ds:[0F04h],dl ; (3BBB:0F04=20h) 3BBB:7112 33 C0 xor ax,ax ; Zero register 3BBB:7114 48 dec ax 3BBB:7115 07 pop es 3BBB:7116 C3 retn ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:6F63 ;========================================================================== 3BBB:7117 sub_339 proc near 3BBB:7117 83 C6 10 add si,10h ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:6F99 3BBB:711A sub_340: 3BBB:711A 33 D2 xor dx,dx ; Zero register 3BBB:711C B9 0010 mov cx,10h 3BBB:711F FC cld ; Clear direction 3BBB:7120 locloop_1346: ; xref 3BBB:712C 3BBB:7120 26: 88 16 0080 mov es:data_122e,dl ; (0200:0080=0E1h) 3BBB:7125 FE C2 inc dl 3BBB:7127 AC lodsb ; String [si] to al 3BBB:7128 26: A2 0081 mov es:data_123e,al ; (0200:0081=0E2h) 3BBB:712C E2 F2 loop locloop_1346 ; Loop if cx > 0 3BBB:712E C3 retn sub_339 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:71B3 ;========================================================================== 3BBB:712F sub_341 proc near 3BBB:712F 33 C0 xor ax,ax ; Zero register 3BBB:7131 ,BB 168A mov bx,168Ah ; (3BBB:168A=3Ch) 3BBB:7134 80 3E 1AB8 00 cmp byte ptr ds:[1AB8h],0 ; (3BBB:1AB8=0Eh) 3BBB:7139 74 05 je loc_1347 ; Jump if equal 3BBB:713B 3B 47 02 cmp ax,[bx+2] 3BBB:713E 74 02 je loc_ret_1348 ; Jump if equal 3BBB:7140 loc_1347: ; xref 3BBB:7139 3BBB:7140 FE C8 dec al 3BBB:7142 loc_ret_1348: ; xref 3BBB:713E 3BBB:7142 C3 retn sub_341 endp 3BBB:7143 loc_1349: ; xref 3BBB:71C6, 726A 3BBB:7143 ,80 3E 1AB8 FF cmp byte ptr ds:[1AB8h],0FFh ; (3BBB:1AB8=0Eh) 3BBB:7148 74 2F je loc_1352 ; Jump if equal 3BBB:714A 8B D3 mov dx,bx 3BBB:714C 8B 1E 1AB9 mov bx,word ptr ds:[1AB9h] ; (3BBB:1AB9=8026h) 3BBB:7150 8B 36 1ABB mov si,word ptr ds:[1ABBh] ; (3BBB:1ABB=183Eh) 3BBB:7154 8A 00 mov al,[bx+si] 3BBB:7156 43 inc bx 3BBB:7157 89 1E 1AB9 mov word ptr ds:[1AB9h],bx ; (3BBB:1AB9=8026h) 3BBB:715B 8A 20 mov ah,[bx+si] 3BBB:715D 0A E4 or ah,ah ; Zero ? 3BBB:715F 75 03 jnz loc_1350 ; Jump if not zero 3BBB:7161 E8 0007 call sub_342 ; (716B) 3BBB:7164 loc_1350: ; xref 3BBB:715F 3BBB:7164 0A C0 or al,al ; Zero ? 3BBB:7166 74 09 jz loc_1351 ; Jump if zero 3BBB:7168 8B DA mov bx,dx 3BBB:716A C3 retn ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:7161 ;========================================================================== 3BBB:716B sub_342 proc near 3BBB:716B C6 06 1AB8 FF mov byte ptr ds:[1AB8h],0FFh ; (3BBB:1AB8=0Eh) 3BBB:7170 C3 retn sub_342 endp 3BBB:7171 loc_1351: ; xref 3BBB:7166, 7214, 7237 3BBB:7171 ,8B DA mov bx,dx 3BBB:7173 C7 06 1AB9 0000 mov word ptr ds:[1AB9h],0 ; (3BBB:1AB9=8026h) 3BBB:7179 loc_1352: ; xref 3BBB:7148 3BBB:7179 80 3E 161B FF cmp byte ptr ds:[161Bh],0FFh ; (3BBB:161B=0E8h) 3BBB:717E 75 32 jne loc_1354 ; Jump if not equal 3BBB:7180 FA cli ; Disable interrupts 3BBB:7181 06 push es 3BBB:7182 2E: 8E 06 0008 mov es,cs:data_161 ; (3BBB:0008=200h) 3BBB:7187 80 0E 104A 01 or data_598,1 ; (3BBB:104A=3Eh) 3BBB:718C 8A 0E 104A mov cl,data_598 ; (3BBB:104A=3Eh) 3BBB:7190 26: 88 0E 0004 mov es:data_118e,cl ; (0200:0004=0) 3BBB:7195 FB sti ; Enable interrupts 3BBB:7196 B9 1500 mov cx,1500h 3BBB:7199 loc_1353: ; xref 3BBB:719A 3BBB:7199 49 dec cx 3BBB:719A 75 FD jnz loc_1353 ; Jump if not zero 3BBB:719C FA cli ; Disable interrupts 3BBB:719D 80 26 104A FE and data_598,0FEh ; (3BBB:104A=3Eh) 3BBB:71A2 8A 0E 104A mov cl,data_598 ; (3BBB:104A=3Eh) 3BBB:71A6 26: 88 0E 0004 mov es:data_118e,cl ; (0200:0004=0) 3BBB:71AB C6 06 161B 00 mov byte ptr ds:[161Bh],0 ; (3BBB:161B=0E8h) 3BBB:71B0 07 pop es 3BBB:71B1 FB sti ; Enable interrupts 3BBB:71B2 loc_1354: ; xref 3BBB:717E 3BBB:71B2 FA cli ; Disable interrupts 3BBB:71B3 E8 FF79 call sub_341 ; (712F) 3BBB:71B6 84 C0 test al,al 3BBB:71B8 75 0F jnz loc_1355 ; Jump if not zero 3BBB:71BA C6 47 01 FF mov byte ptr [bx+1],0FFh 3BBB:71BE FB sti ; Enable interrupts 3BBB:71BF 8A 17 mov dl,[bx] 3BBB:71C1 06 push es 3BBB:71C2 E8 F35D call sub_330 ; (6522) 3BBB:71C5 07 pop es 3BBB:71C6 E9 FF7A jmp loc_1349 ; (7143) 3BBB:71C9 loc_1355: ; xref 3BBB:71B8 3BBB:71C9 8B 77 04 mov si,[bx+4] 3BBB:71CC 8A 40 06 mov al,[bx+si+6] 3BBB:71CF 46 inc si 3BBB:71D0 81 E6 00FF and si,0FFh 3BBB:71D4 89 77 04 mov [bx+4],si 3BBB:71D7 FF 4F 02 dec word ptr [bx+2] 3BBB:71DA FB sti ; Enable interrupts 3BBB:71DB 3C 80 cmp al,80h 3BBB:71DD 73 27 jae loc_1359 ; Jump if above or = 3BBB:71DF 80 3E 1618 00 cmp byte ptr ds:[1618h],0 ; (3BBB:1618=16h) 3BBB:71E4 74 1F je loc_ret_1358 ; Jump if equal 3BBB:71E6 BB 5A7A mov bx,5A7Ah 3BBB:71E9 80 3E 1619 00 cmp byte ptr ds:[1619h],0 ; (3BBB:1619=0A6h) 3BBB:71EE 74 03 je loc_1356 ; Jump if equal 3BBB:71F0 BB 5D7D mov bx,5D7Dh 3BBB:71F3 loc_1356: ; xref 3BBB:71EE 3BBB:71F3 3A C3 cmp al,bl 3BBB:71F5 77 0E ja loc_ret_1358 ; Jump if above 3BBB:71F7 3C 61 cmp al,61h ; 'a' 3BBB:71F9 73 08 jae loc_1357 ; Jump if above or = 3BBB:71FB 3A C7 cmp al,bh 3BBB:71FD 77 06 ja loc_ret_1358 ; Jump if above 3BBB:71FF 3C 41 cmp al,41h ; 'A' 3BBB:7201 72 02 jb loc_ret_1358 ; Jump if below 3BBB:7203 loc_1357: ; xref 3BBB:71F9 3BBB:7203 34 20 xor al,20h ; ' ' 3BBB:7205 loc_ret_1358: ; xref 3BBB:71E4, 71F5, 71FD, 7201 ; 7219, 721D 3BBB:7205 C3 retn 3BBB:7206 loc_1359: ; xref 3BBB:71DD 3BBB:7206 8B D3 mov dx,bx 3BBB:7208 ,BB 19B0 mov bx,19B0h ; (3BBB:19B0=0) 3BBB:720B 24 7F and al,7Fh 3BBB:720D D7 xlat ; al=[al+[bx]] table 3BBB:720E 8B DA mov bx,dx 3BBB:7210 3C FF cmp al,0FFh 3BBB:7212 75 03 jne loc_1360 ; Jump if not equal 3BBB:7214 E9 FF5A jmp loc_1351 ; (7171) 3BBB:7217 loc_1360: ; xref 3BBB:7212 3BBB:7217 3C 7F cmp al,7Fh 3BBB:7219 74 EA je loc_ret_1358 ; Jump if equal 3BBB:721B 3C 20 cmp al,20h ; ' ' 3BBB:721D 72 E6 jb loc_ret_1358 ; Jump if below 3BBB:721F 3C 7F cmp al,7Fh 3BBB:7221 72 17 jb loc_1362 ; Jump if below 3BBB:7223 ,BE 1AB0 mov si,1AB0h ; (3BBB:1AB0=0) 3BBB:7226 24 07 and al,7 3BBB:7228 D0 E0 shl al,1 ; Shift w/zeros fill 3BBB:722A 2A E4 sub ah,ah 3BBB:722C 03 F0 add si,ax 3BBB:722E 06 push es 3BBB:722F 2E: 8E 06 0008 mov es,cs:data_161 ; (3BBB:0008=200h) 3BBB:7234 FF 24 jmp word ptr [si] ;* 3BBB:7236 loc_1361: ; xref 3BBB:7277, 727A 3BBB:7236 ,07 pop es 3BBB:7237 E9 FF37 jmp loc_1351 ; (7171) 3BBB:723A loc_1362: ; xref 3BBB:7221 3BBB:723A 3C 31 cmp al,31h ; '1' 3BBB:723C 72 15 jb loc_1364 ; Jump if below 3BBB:723E 3C 44 cmp al,44h ; 'D' 3BBB:7240 77 11 ja loc_1364 ; Jump if above 3BBB:7242 3C 3A cmp al,3Ah ; ':' 3BBB:7244 72 06 jb loc_1363 ; Jump if below 3BBB:7246 3C 40 cmp al,40h ; '@' 3BBB:7248 77 02 ja loc_1363 ; Jump if above 3BBB:724A EB 07 jmp short loc_1364 ; (7253) 3BBB:724C loc_1363: ; xref 3BBB:7244, 7248 3BBB:724C ,BE 1ABF mov si,1ABFh ; (3BBB:1ABF=75h) 3BBB:724F 88 04 mov [si],al 3BBB:7251 EB 05 jmp short loc_1365 ; (7258) 3BBB:7253 loc_1364: ; xref 3BBB:723C, 7240, 724A 3BBB:7253 ,BE 1AC3 mov si,1AC3h ; (3BBB:1AC3=0FEh) 3BBB:7256 88 04 mov [si],al 3BBB:7258 loc_1365: ; xref 3BBB:7251 3BBB:7258 83 EE 02 sub si,2 3BBB:725B 89 36 1ABB mov word ptr ds:[1ABBh],si ; (3BBB:1ABB=183Eh) 3BBB:725F C7 06 1AB9 0000 mov word ptr ds:[1AB9h],0 ; (3BBB:1AB9=8026h) 3BBB:7265 C6 06 1AB8 00 mov byte ptr ds:[1AB8h],0 ; (3BBB:1AB8=0Eh) 3BBB:726A E9 FED6 jmp loc_1349 ; (7143) ;* No entry point to code 3BBB:726D 8B 1E 1C0E mov bx,word ptr ds:[1C0Eh] ; (3BBB:1C0E=3A00h) 3BBB:7271 E8 0876 call sub_354 ; (7AEA) 3BBB:7274 E8 0241 call sub_347 ; (74B8) 3BBB:7277 E9 FFBC ;* jmp loc_1361 ; (7236) 3BBB:7277 db 0E9h,0BCh,0FFh ; Fixup - byte match 3BBB:727A E9 FFB9 ;* jmp loc_1361 ; (7236) 3BBB:727A db 0E9h,0B9h,0FFh ; Fixup - byte match ;* No entry point to code 3BBB:727D 33 C0 xor ax,ax ; Zero register 3BBB:727F 48 dec ax 3BBB:7280 C3 retn ;* No entry point to code 3BBB:7281 FC cld ; Clear direction 3BBB:7282 8A C1 mov al,cl 3BBB:7284 8B 1E 1C0E mov bx,word ptr ds:[1C0Eh] ; (3BBB:1C0E=3A00h) 3BBB:7288 83 7F 02 00 cmp word ptr [bx+2],0 3BBB:728C 74 03 je loc_1366 ; Jump if equal 3BBB:728E FF 67 02 jmp word ptr [bx+2] ;* 3BBB:7291 loc_1366: ; xref 3BBB:728C 3BBB:7291 3C 1F cmp al,1Fh 3BBB:7293 77 0A ja loc_1368 ; Jump if above 3BBB:7295 BF 1AC5 mov di,1AC5h 3BBB:7298 BE 1ACF mov si,1ACFh 3BBB:729B E8 010F call sub_344 ; (73AD) 3BBB:729E loc_ret_1367: ; xref 3BBB:72D6, 730E 3BBB:729E ,C3 retn 3BBB:729F loc_1368: ; xref 3BBB:7293 3BBB:729F 80 3E 1046 03 cmp byte ptr ds:[1046h],3 ; (3BBB:1046=0C9h) 3BBB:72A4 75 03 jne loc_1369 ; Jump if not equal 3BBB:72A6 E9 0068 jmpn loc_1375 ; (7311) 3BBB:72A9 loc_1369: ; xref 3BBB:72A4 3BBB:72A9 06 push es 3BBB:72AA 2E: 8E 06 098E mov es,word ptr cs:[98Eh] ; (3BBB:098E=8726h) 3BBB:72AF 26: 8A 0E 00A1 mov cl,es:data_1129e ; (8726:00A1=0) 3BBB:72B4 07 pop es 3BBB:72B5 80 E1 03 and cl,3 3BBB:72B8 80 F9 03 cmp cl,3 3BBB:72BB 75 17 jne loc_1371 ; Jump if not equal 3BBB:72BD 80 3E 1B7A FF cmp byte ptr ds:[1B7Ah],0FFh ; (3BBB:1B7A=50h) 3BBB:72C2 74 10 je loc_1371 ; Jump if equal 3BBB:72C4 loc_1370: ; xref 3BBB:7328 3BBB:72C4 ,53 push bx 3BBB:72C5 B4 09 mov ah,9 3BBB:72C7 B9 0001 mov cx,1 3BBB:72CA 8A 5F 08 mov bl,[bx+8] 3BBB:72CD B7 00 mov bh,0 3BBB:72CF CD 10 int 10h ; Video display ah=functn 09h ; set char al & attrib bl @curs ; cx=# of chars to replicate 3BBB:72D1 5B pop bx 3BBB:72D2 EB 22 jmp short loc_1372 ; (72F6) 3BBB:72D4 loc_1371: ; xref 3BBB:72BB, 72C2 3BBB:72D4 3C 9F cmp al,9Fh 3BBB:72D6 77 C6 ja loc_ret_1367 ; Jump if above 3BBB:72D8 50 push ax 3BBB:72D9 8A 47 07 mov al,[bx+7] 3BBB:72DC B9 0050 mov cx,50h 3BBB:72DF F6 E1 mul cl ; ax = reg * al 3BBB:72E1 8A 4F 06 mov cl,[bx+6] 3BBB:72E4 03 C8 add cx,ax 3BBB:72E6 8B F9 mov di,cx 3BBB:72E8 58 pop ax 3BBB:72E9 06 push es 3BBB:72EA 2E: 8E 06 0990 mov es,word ptr cs:[990h] ; (3BBB:0990=523Eh) 3BBB:72EF 24 7F and al,7Fh 3BBB:72F1 0A 47 08 or al,[bx+8] 3BBB:72F4 AA stosb ; Store al to es:[di] 3BBB:72F5 07 pop es 3BBB:72F6 loc_1372: ; xref 3BBB:72D2 3BBB:72F6 8A 0E 1615 mov cl,byte ptr ds:[1615h] ; (3BBB:1615=74h) 3BBB:72FA 38 4F 06 cmp [bx+6],cl 3BBB:72FD 73 06 jae loc_1373 ; Jump if above or = 3BBB:72FF FE 47 06 inc byte ptr [bx+6] 3BBB:7302 E9 0026 jmpn loc_1377 ; (732B) 3BBB:7305 loc_1373: ; xref 3BBB:72FD 3BBB:7305 F6 47 09 08 test byte ptr [bx+9],8 3BBB:7309 75 03 jnz loc_1374 ; Jump if not zero 3BBB:730B E8 0130 call sub_346 ; (743E) 3BBB:730E loc_1374: ; xref 3BBB:7309 3BBB:730E E9 FF8D ;* jmp loc_ret_1367 ; (729E) 3BBB:730E db 0E9h, 8Dh,0FFh ; Fixup - byte match 3BBB:7311 loc_1375: ; xref 3BBB:72A6 3BBB:7311 80 3E 161A FF cmp byte ptr ds:[161Ah],0FFh ; (3BBB:161A=5) 3BBB:7316 75 10 jne loc_1376 ; Jump if not equal 3BBB:7318 3C 80 cmp al,80h 3BBB:731A 72 0C jb loc_1376 ; Jump if below 3BBB:731C 3C 9F cmp al,9Fh 3BBB:731E 77 08 ja loc_1376 ; Jump if above 3BBB:7320 53 push bx 3BBB:7321 ,BB 1890 mov bx,1890h ; (3BBB:1890=5) 3BBB:7324 2C 80 sub al,80h 3BBB:7326 D7 xlat ; al=[al+[bx]] table 3BBB:7327 5B pop bx 3BBB:7328 loc_1376: ; xref 3BBB:7316, 731A, 731E 3BBB:7328 E9 FF99 ;* jmp loc_1370 ; (72C4) 3BBB:7328 db 0E9h, 99h,0FFh ; Fixup - byte match 3BBB:732B loc_1377: ; xref 3BBB:7302, 7449, 7457, 745D ; 746D, 747A, 76B3, 76CC ; 7972, 79EA, 7A07, 7A28 ; 7A49, 7A88, 7B03 3BBB:732B ,8B 57 06 mov dx,[bx+6] ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:76B9, 7A82 ;========================================================================== 3BBB:732E sub_343 proc near 3BBB:732E 53 push bx 3BBB:732F B4 02 mov ah,2 3BBB:7331 B7 00 mov bh,0 3BBB:7333 CD 10 int 10h ; Video display ah=functn 02h ; set cursor location in dx 3BBB:7335 5B pop bx 3BBB:7336 C3 retn sub_343 endp ;* No entry point to code 3BBB:7337 C7 47 02 10B6 mov word ptr [bx+2],10B6h 3BBB:733C C3 retn ;* No entry point to code 3BBB:733D C7 47 02 1078 mov word ptr [bx+2],1078h 3BBB:7342 C3 retn ;* No entry point to code 3BBB:7343 C7 47 02 1069 mov word ptr [bx+2],1069h 3BBB:7348 C3 retn ;* No entry point to code 3BBB:7349 C7 47 02 0000 mov word ptr [bx+2],0 3BBB:734E BF 1AE7 mov di,1AE7h 3BBB:7351 BE 1AFF mov si,1AFFh 3BBB:7354 E8 0056 call sub_344 ; (73AD) 3BBB:7357 C3 retn ;* No entry point to code 3BBB:7358 3C 3B cmp al,3Bh ; ';' 3BBB:735A 75 0A jne loc_1378 ; Jump if not equal 3BBB:735C FF 47 0A inc word ptr [bx+0Ah] 3BBB:735F 83 7F 0A 02 cmp word ptr [bx+0Ah],2 3BBB:7363 7D 25 jge loc_1380 ; Jump if > or = 3BBB:7365 C3 retn 3BBB:7366 loc_1378: ; xref 3BBB:735A 3BBB:7366 3C 30 cmp al,30h ; '0' 3BBB:7368 72 17 jb loc_1379 ; Jump if below 3BBB:736A 3C 39 cmp al,39h ; '9' 3BBB:736C 77 13 ja loc_1379 ; Jump if above 3BBB:736E 2C 30 sub al,30h ; '0' 3BBB:7370 8D 77 0C lea si,[bx+0Ch] ; Load effective addr 3BBB:7373 53 push bx 3BBB:7374 8B 5F 0A mov bx,[bx+0Ah] 3BBB:7377 86 00 xchg [bx+si],al 3BBB:7379 B4 0A mov ah,0Ah 3BBB:737B F6 E4 mul ah ; ax = reg * al 3BBB:737D 00 00 add [bx+si],al 3BBB:737F 5B pop bx 3BBB:7380 C3 retn 3BBB:7381 loc_1379: ; xref 3BBB:7368, 736C 3BBB:7381 BF 1B3C mov di,1B3Ch 3BBB:7384 BE 1B52 mov si,1B52h 3BBB:7387 E8 0023 call sub_344 ; (73AD) 3BBB:738A loc_1380: ; xref 3BBB:7363 3BBB:738A 33 C0 xor ax,ax ; Zero register 3BBB:738C 89 47 02 mov [bx+2],ax 3BBB:738F 89 47 0A mov [bx+0Ah],ax 3BBB:7392 89 47 0C mov [bx+0Ch],ax 3BBB:7395 C3 retn ;* No entry point to code 3BBB:7396 C7 47 02 0000 mov word ptr [bx+2],0 3BBB:739B BF 1ADF mov di,1ADFh 3BBB:739E BE 1AE3 mov si,1AE3h 3BBB:73A1 E8 0009 call sub_344 ; (73AD) 3BBB:73A4 E3 01 jcxz loc_1381 ; Jump if cx=0 3BBB:73A6 C3 retn 3BBB:73A7 loc_1381: ; xref 3BBB:73A4 3BBB:73A7 ,BF 1B2B mov di,1B2Bh ; (3BBB:1B2B=0) 3BBB:73AA ,BE 1B32 mov si,1B32h ; (3BBB:1B32=5) ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:729B, 7354, 7387, 73A1 ;========================================================================== 3BBB:73AD sub_344 proc near 3BBB:73AD 06 push es 3BBB:73AE 2E: 8E 06 0006 mov es,cs:data_160 ; (3BBB:0006=0Ah) 3BBB:73B3 8B 0D mov cx,[di] 3BBB:73B5 8B D1 mov dx,cx 3BBB:73B7 47 inc di 3BBB:73B8 47 inc di 3BBB:73B9 F2/ AE repne scasb ; Rep zf=0+cx >0 Scan es:[di] for al 3BBB:73BB 07 pop es 3BBB:73BC 74 01 jz loc_1382 ; Jump if zero 3BBB:73BE C3 retn 3BBB:73BF loc_1382: ; xref 3BBB:73BC 3BBB:73BF 41 inc cx 3BBB:73C0 2B D1 sub dx,cx 3BBB:73C2 D1 E2 shl dx,1 ; Shift w/zeros fill 3BBB:73C4 03 F2 add si,dx 3BBB:73C6 FF 14 call word ptr [si] ;* 3BBB:73C8 33 C9 xor cx,cx ; Zero register 3BBB:73CA 49 dec cx 3BBB:73CB C3 retn sub_344 endp ;* No entry point to code 3BBB:73CC 80 67 09 F7 and byte ptr [bx+9],0F7h 3BBB:73D0 C3 retn ;* No entry point to code 3BBB:73D1 80 4F 09 08 or byte ptr [bx+9],8 3BBB:73D5 C3 retn ;* No entry point to code 3BBB:73D6 E8 072D call sub_355 ; (7B06) 3BBB:73D9 75 62 jnz loc_ret_1384 ; Jump if not zero 3BBB:73DB 3C 05 cmp al,5 3BBB:73DD 73 5E jae loc_ret_1384 ; Jump if above or = 3BBB:73DF 80 67 09 F8 and byte ptr [bx+9],0F8h 3BBB:73E3 08 47 09 or [bx+9],al ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:6FDB, 7BFE, 7C72, 7CDF, 7D17 ;========================================================================== 3BBB:73E6 sub_345 proc near 3BBB:73E6 8A 47 09 mov al,[bx+9] 3BBB:73E9 24 07 and al,7 3BBB:73EB 53 push bx 3BBB:73EC ,BB 1BB1 mov bx,1BB1h ; (3BBB:1BB1=5Fh) 3BBB:73EF D7 xlat ; al=[al+[bx]] table 3BBB:73F0 8B E8 mov bp,ax 3BBB:73F2 B4 01 mov ah,1 3BBB:73F4 8A E8 mov ch,al 3BBB:73F6 B1 0C mov cl,0Ch 3BBB:73F8 CD 10 int 10h ; Video display ah=functn 01h ; set cursor mode in cx 3BBB:73FA 5B pop bx 3BBB:73FB 8B C5 mov ax,bp 3BBB:73FD 06 push es 3BBB:73FE 2E: 8E 06 098E mov es,word ptr cs:[98Eh] ; (3BBB:098E=8726h) 3BBB:7403 26: 8A 0E 00A1 mov cl,es:data_1129e ; (8726:00A1=0) 3BBB:7408 07 pop es 3BBB:7409 80 E1 03 and cl,3 3BBB:740C 80 F9 03 cmp cl,3 3BBB:740F 75 0A jne loc_1383 ; Jump if not equal 3BBB:7411 80 3E 1B7A FF cmp byte ptr ds:[1B7Ah],0FFh ; (3BBB:1B7A=50h) 3BBB:7416 74 03 je loc_1383 ; Jump if equal 3BBB:7418 E9 0022 jmpn loc_ret_1384 ; (743D) 3BBB:741B loc_1383: ; xref 3BBB:740F, 7416 3BBB:741B 24 FD and al,0FDh 3BBB:741D 06 push es 3BBB:741E 2E: 8E 06 0008 mov es,cs:data_161 ; (3BBB:0008=200h) 3BBB:7423 9C pushf ; Push flags 3BBB:7424 FA cli ; Disable interrupts 3BBB:7425 26: C6 06 0002 0B mov byte ptr es:data_116e,0Bh ; (0200:0002=42h) 3BBB:742B 26: C6 06 0003 0A mov byte ptr es:data_117e,0Ah ; (0200:0003=3Ch) 3BBB:7431 26: C6 06 0002 0A mov byte ptr es:data_116e,0Ah ; (0200:0002=42h) 3BBB:7437 26: A2 0003 mov es:data_117e,al ; (0200:0003=3Ch) 3BBB:743B 9D popf ; Pop flags 3BBB:743C 07 pop es 3BBB:743D loc_ret_1384: ; xref 3BBB:73D9, 73DD, 7418 3BBB:743D C3 retn sub_345 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:730B ;========================================================================== 3BBB:743E sub_346 proc near 3BBB:743E C6 47 06 00 mov byte ptr [bx+6],0 3BBB:7442 E9 0007 jmpn loc_1385 ; (744C) ;* No entry point to code 3BBB:7445 C6 47 06 00 mov byte ptr [bx+6],0 3BBB:7449 E9 FEDF jmp loc_1377 ; (732B) 3BBB:744C loc_1385: ; xref 3BBB:7442 3BBB:744C A0 1614 mov al,byte ptr ds:[1614h] ; (3BBB:1614=0) 3BBB:744F 38 47 07 cmp [bx+7],al 3BBB:7452 75 06 jne loc_1386 ; Jump if not equal 3BBB:7454 E8 06B7 call sub_356 ; (7B0E) 3BBB:7457 E9 FED1 jmp loc_1377 ; (732B) 3BBB:745A loc_1386: ; xref 3BBB:7452 3BBB:745A FE 47 07 inc byte ptr [bx+7] 3BBB:745D E9 FECB jmp loc_1377 ; (732B) sub_346 endp ;* No entry point to code 3BBB:7460 80 7F 07 00 cmp byte ptr [bx+7],0 3BBB:7464 75 04 jne loc_1387 ; Jump if not equal 3BBB:7466 E8 06BB call sub_357 ; (7B24) 3BBB:7469 C3 retn 3BBB:746A loc_1387: ; xref 3BBB:7464 3BBB:746A FE 4F 07 dec byte ptr [bx+7] 3BBB:746D E9 FEBB jmp loc_1377 ; (732B) ;* No entry point to code 3BBB:7470 80 7F 06 00 cmp byte ptr [bx+6],0 3BBB:7474 75 01 jne loc_1388 ; Jump if not equal 3BBB:7476 C3 retn 3BBB:7477 loc_1388: ; xref 3BBB:7474 3BBB:7477 FE 4F 06 dec byte ptr [bx+6] 3BBB:747A E9 FEAE jmp loc_1377 ; (732B) ;* No entry point to code 3BBB:747D 53 push bx 3BBB:747E 2E: 8E 06 0008 mov es,cs:data_161 ; (3BBB:0008=200h) 3BBB:7483 C6 06 3425 0A mov byte ptr ds:[3425h],0Ah ; (3BBB:3425=0FFh) 3BBB:7488 ,BB 10C9 mov bx,10C9h ; (3BBB:10C9=0B2h) 3BBB:748B 8A 47 04 mov al,[bx+4] 3BBB:748E 0C 20 or al,20h ; ' ' 3BBB:7490 88 47 04 mov [bx+4],al 3BBB:7493 26: A2 003E mov es:data_120e,al ; (0200:003E=9Fh) 3BBB:7497 5B pop bx 3BBB:7498 C3 retn 3BBB:7499 8B 47 06 89 47 10 db 8Bh, 47h, 06h, 89h, 47h, 10h 3BBB:749F 8B 47 08 89 47 0E db 8Bh, 47h, 08h, 89h, 47h, 0Eh 3BBB:74A5 C3 8B 47 0E 89 47 db 0C3h, 8Bh, 47h, 0Eh, 89h, 47h 3BBB:74AB 08 8B 47 10 89 47 db 08h, 8Bh, 47h, 10h, 89h, 47h 3BBB:74B1 06 E8 31 FF E9 73 db 06h,0E8h, 31h,0FFh,0E9h, 73h 3BBB:74B7 FE db 0FEh ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:7274 ;========================================================================== 3BBB:74B8 sub_347 proc near 3BBB:74B8 8B 1E 1C0E mov bx,word ptr ds:[1C0Eh] ; (3BBB:1C0E=3A00h) 3BBB:74BC ,BE 000B mov si,offset data_162+1 ; (3BBB:000B=3) 3BBB:74BF EB 03 jmp short loc_1389 ; (74C4) 3BBB:74C1 8B 77 0C db 8Bh, 77h, 0Ch 3BBB:74C4 loc_1389: ; xref 3BBB:74BF 3BBB:74C4 06 push es 3BBB:74C5 2E: 8E 06 098E mov es,word ptr cs:[98Eh] ; (3BBB:098E=8726h) 3BBB:74CA 26: 8A 0E 00A1 mov cl,es:data_1129e ; (8726:00A1=0) 3BBB:74CF 2E: 8E 06 0008 mov es,cs:data_161 ; (3BBB:0008=200h) 3BBB:74D4 8A E9 mov ch,cl 3BBB:74D6 80 E1 07 and cl,7 3BBB:74D9 80 F9 03 cmp cl,3 3BBB:74DC 75 12 jne loc_1390 ; Jump if not equal 3BBB:74DE F6 C5 10 test ch,10h 3BBB:74E1 74 0D jz loc_1390 ; Jump if zero 3BBB:74E3 83 FE 18 cmp si,18h 3BBB:74E6 73 13 jae loc_1391 ; Jump if above or = 3BBB:74E8 D1 E6 shl si,1 ; Shift w/zeros fill 3BBB:74EA FF 94 1B81 call word ptr ds:[1B81h][si] ;*(3BBB:1B81=0F1EBh) 3BBB:74EE EB 0B jmp short loc_1391 ; (74FB) 3BBB:74F0 loc_1390: ; xref 3BBB:74DC, 74E1 3BBB:74F0 83 FE 18 cmp si,18h 3BBB:74F3 73 06 jae loc_1391 ; Jump if above or = 3BBB:74F5 D1 E6 shl si,1 ; Shift w/zeros fill 3BBB:74F7 FF 94 1B99 call word ptr ds:[1B99h][si] ;*(3BBB:1B99=0A01Ah) 3BBB:74FB loc_1391: ; xref 3BBB:74E6, 74EE, 74F3 3BBB:74FB 07 pop es 3BBB:74FC C3 retn sub_347 endp 3BBB:74FD 80 67 08 7F C3 80 db 80h, 67h, 08h, 7Fh,0C3h, 80h 3BBB:7503 4F 08 80 80 67 09 db 4Fh, 08h, 80h, 80h, 67h, 09h 3BBB:7509 DF EB 12 80 4F 08 db 0DFh,0EBh, 12h, 80h, 4Fh, 08h 3BBB:750F 80 80 4F 09 20 EB db 80h, 80h, 4Fh, 09h, 20h,0EBh 3BBB:7515 08 80 4F 08 80 80 db 08h, 80h, 4Fh, 08h, 80h, 80h 3BBB:751B 67 09 DF db 67h, 09h,0DFh 3BBB:751E loc_1392: 3BBB:751E A0 104A mov al,data_598 ; (3BBB:104A=3Eh) 3BBB:7521 24 DF and al,0DFh 3BBB:7523 8A 67 09 mov ah,[bx+9] 3BBB:7526 80 E4 20 and ah,20h ; ' ' 3BBB:7529 0A C4 or al,ah 3BBB:752B 9C pushf ; Push flags 3BBB:752C FA cli ; Disable interrupts 3BBB:752D A2 104A mov data_598,al ; (3BBB:104A=3Eh) 3BBB:7530 26: A2 0004 mov byte ptr es:[4],al ; (3BBB:0004=0) 3BBB:7534 9D popf ; Pop flags 3BBB:7535 C3 retn ;* No entry point to code 3BBB:7536 2E: 8E 06 098E mov es,word ptr cs:[98Eh] ; (3BBB:098E=8726h) 3BBB:753B 26: A0 00A1 mov al,es:data_1129e ; (8726:00A1=0) 3BBB:753F 2E: 8E 06 0008 mov es,cs:data_161 ; (3BBB:0008=200h) 3BBB:7544 24 0F and al,0Fh 3BBB:7546 3C 01 cmp al,1 3BBB:7548 75 12 jne loc_ret_1393 ; Jump if not equal 3BBB:754A F6 06 1044 80 test byte ptr ds:[1044h],80h ; (3BBB:1044=0) 3BBB:754F 75 0B jnz loc_ret_1393 ; Jump if not zero 3BBB:7551 26: C6 06 0064 01 mov byte ptr es:data_121e,1 ; (0200:0064=0C5h) 3BBB:7557 80 0E 1044 80 or byte ptr ds:[1044h],80h ; (3BBB:1044=0) 3BBB:755C loc_ret_1393: ; xref 3BBB:7548, 754F 3BBB:755C C3 retn ;* No entry point to code 3BBB:755D 2E: 8E 06 098E mov es,word ptr cs:[98Eh] ; (3BBB:098E=8726h) 3BBB:7562 26: A0 00A1 mov al,es:data_1129e ; (8726:00A1=0) 3BBB:7566 2E: 8E 06 0008 mov es,cs:data_161 ; (3BBB:0008=200h) 3BBB:756B 24 07 and al,7 3BBB:756D 3C 01 cmp al,1 3BBB:756F 75 12 jne loc_ret_1394 ; Jump if not equal 3BBB:7571 F6 06 1044 80 test byte ptr ds:[1044h],80h ; (3BBB:1044=0) 3BBB:7576 75 0B jnz loc_ret_1394 ; Jump if not zero 3BBB:7578 26: C6 06 0064 00 mov byte ptr es:data_121e,0 ; (0200:0064=0C5h) 3BBB:757E 80 26 1044 7F and byte ptr ds:[1044h],7Fh ; (3BBB:1044=0) 3BBB:7583 loc_ret_1394: ; xref 3BBB:756F, 7576 3BBB:7583 C3 retn ;* No entry point to code 3BBB:7584 C3 retn ;* No entry point to code 3BBB:7585 80 67 08 00 and byte ptr [bx+8],0 3BBB:7589 80 4F 08 07 or byte ptr [bx+8],7 3BBB:758D C3 retn ;* No entry point to code 3BBB:758E 80 4F 08 08 or byte ptr [bx+8],8 3BBB:7592 C3 retn ;* No entry point to code 3BBB:7593 80 67 08 F7 and byte ptr [bx+8],0F7h 3BBB:7597 C3 retn ;* No entry point to code 3BBB:7598 80 67 08 F7 and byte ptr [bx+8],0F7h 3BBB:759C C3 retn ;* No entry point to code 3BBB:759D 80 67 08 88 and byte ptr [bx+8],88h 3BBB:75A1 80 4F 08 01 or byte ptr [bx+8],1 3BBB:75A5 C3 retn ;* No entry point to code 3BBB:75A6 80 4F 08 80 or byte ptr [bx+8],80h 3BBB:75AA 2E: 8E 06 098E mov es,word ptr cs:[98Eh] ; (3BBB:098E=8726h) 3BBB:75AF 26: 80 0E 0054 20 or byte ptr es:data_1126e,20h ; (8726:0054=0) ' ' 3BBB:75B5 E8 00D0 call sub_350 ; (7688) 3BBB:75B8 C3 retn ;* No entry point to code 3BBB:75B9 80 67 08 7F and byte ptr [bx+8],7Fh 3BBB:75BD C3 retn ;* No entry point to code 3BBB:75BE 80 4F 08 70 or byte ptr [bx+8],70h ; 'p' 3BBB:75C2 80 67 08 F8 and byte ptr [bx+8],0F8h 3BBB:75C6 C3 retn ;* No entry point to code 3BBB:75C7 80 4F 08 80 or byte ptr [bx+8],80h 3BBB:75CB 2E: 8E 06 098E mov es,word ptr cs:[98Eh] ; (3BBB:098E=8726h) 3BBB:75D0 26: 80 26 0054 DF and byte ptr es:data_1126e,0DFh ; (8726:0054=0) 3BBB:75D6 E8 00AF call sub_350 ; (7688) 3BBB:75D9 C3 retn ;* No entry point to code 3BBB:75DA 80 7F 12 80 cmp byte ptr [bx+12h],80h 3BBB:75DE 74 07 je loc_1395 ; Jump if equal 3BBB:75E0 ,8D 36 1BD6 ;* lea si,ds:[1BD6h] ; (3BBB:1BD6=0Eh) Load effective addr 3BBB:75E0 db 8Dh, 36h,0D6h, 1Bh ; Fixup - byte match 3BBB:75E4 E8 005E call sub_348 ; (7645) 3BBB:75E7 loc_1395: ; xref 3BBB:75DE 3BBB:75E7 2E: 8E 06 098E mov es,word ptr cs:[98Eh] ; (3BBB:098E=8726h) 3BBB:75EC 26: 80 0E 0055 03 or byte ptr es:data_1127e,3 ; (8726:0055=0) 3BBB:75F2 26: 80 0E 0054 82 or byte ptr es:data_1126e,82h ; (8726:0054=0) 3BBB:75F8 E8 0078 call sub_349 ; (7673) 3BBB:75FB E8 008A call sub_350 ; (7688) 3BBB:75FE C6 47 12 80 mov byte ptr [bx+12h],80h 3BBB:7602 C3 retn ;* No entry point to code 3BBB:7603 80 7F 12 00 cmp byte ptr [bx+12h],0 3BBB:7607 74 07 je loc_1396 ; Jump if equal 3BBB:7609 ,8D 36 1BB6 ;* lea si,ds:[1BB6h] ; (3BBB:1BB6=0BEh) Load effective addr 3BBB:7609 db 8Dh, 36h,0B6h, 1Bh ; Fixup - byte match 3BBB:760D E8 0035 call sub_348 ; (7645) 3BBB:7610 loc_1396: ; xref 3BBB:7607 3BBB:7610 2E: 8E 06 098E mov es,word ptr cs:[98Eh] ; (3BBB:098E=8726h) 3BBB:7615 26: C6 06 0055 02 mov byte ptr es:data_1127e,2 ; (8726:0055=0) 3BBB:761B 26: 80 26 0054 7D and byte ptr es:data_1126e,7Dh ; (8726:0054=0) '}' 3BBB:7621 26: F6 06 0054 80 test byte ptr es:data_1126e,80h ; (8726:0054=0) 3BBB:7627 75 0A jnz loc_1397 ; Jump if not zero 3BBB:7629 26: 81 26 0052 F7FF and word ptr es:data_1125e,0F7FFh ; (8726:0052=0) 3BBB:7630 E9 0007 jmpn loc_1398 ; (763A) 3BBB:7633 loc_1397: ; xref 3BBB:7627 3BBB:7633 26: 81 0E 0052 0800 or word ptr es:data_1125e,800h ; (8726:0052=0) 3BBB:763A loc_1398: ; xref 3BBB:7630 3BBB:763A E8 0036 call sub_349 ; (7673) 3BBB:763D E8 0048 call sub_350 ; (7688) 3BBB:7640 C6 47 12 00 mov byte ptr [bx+12h],0 3BBB:7644 C3 retn ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:75E4, 760D, 7C13, 7C87 ;========================================================================== 3BBB:7645 sub_348 proc near 3BBB:7645 2E: 8E 06 0008 mov es,cs:data_161 ; (3BBB:0008=200h) 3BBB:764A 26: F6 06 0085 01 test byte ptr es:data_126e,1 ; (0200:0085=0E6h) 3BBB:7650 74 03 jz loc_1399 ; Jump if zero 3BBB:7652 83 C6 10 add si,10h 3BBB:7655 loc_1399: ; xref 3BBB:7650 3BBB:7655 26: C6 06 0082 F7 mov byte ptr es:data_124e,0F7h ; (0200:0082=0E3h) 3BBB:765B 33 D2 xor dx,dx ; Zero register 3BBB:765D B9 0010 mov cx,10h 3BBB:7660 FC cld ; Clear direction 3BBB:7661 9C pushf ; Push flags 3BBB:7662 FA cli ; Disable interrupts 3BBB:7663 locloop_1400: ; xref 3BBB:766F 3BBB:7663 26: 88 16 0080 mov es:data_122e,dl ; (0200:0080=0E1h) 3BBB:7668 FE C2 inc dl 3BBB:766A AC lodsb ; String [si] to al 3BBB:766B 26: A2 0081 mov es:data_123e,al ; (0200:0081=0E2h) 3BBB:766F E2 F2 loop locloop_1400 ; Loop if cx > 0 3BBB:7671 9D popf ; Pop flags 3BBB:7672 C3 retn sub_348 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:75F8, 763A ;========================================================================== 3BBB:7673 sub_349 proc near 3BBB:7673 2E: 8E 06 098E mov es,word ptr cs:[98Eh] ; (3BBB:098E=8726h) 3BBB:7678 26: 8A 0E 0055 mov cl,es:data_1127e ; (8726:0055=0) 3BBB:767D 2E: 8E 06 0008 mov es,cs:data_161 ; (3BBB:0008=200h) 3BBB:7682 26: 88 0E 0084 mov es:data_125e,cl ; (0200:0084=0E5h) 3BBB:7687 C3 retn sub_349 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:75B5, 75D6, 75FB, 763D, 7C16, 7C8A ;========================================================================== 3BBB:7688 sub_350 proc near 3BBB:7688 2E: 8E 06 098E mov es,word ptr cs:[98Eh] ; (3BBB:098E=8726h) 3BBB:768D 26: 8A 0E 0054 mov cl,es:data_1126e ; (8726:0054=0) 3BBB:7692 2E: 8E 06 0008 mov es,cs:data_161 ; (3BBB:0008=200h) 3BBB:7697 26: 88 0E 0082 mov es:data_124e,cl ; (0200:0082=0E3h) 3BBB:769C C3 retn sub_350 endp ;* No entry point to code 3BBB:769D C6 06 1614 18 mov byte ptr ds:[1614h],18h ; (3BBB:1614=0) 3BBB:76A2 80 7F 07 18 cmp byte ptr [bx+7],18h 3BBB:76A6 72 0E jb loc_1401 ; Jump if below 3BBB:76A8 E8 0463 call sub_356 ; (7B0E) 3BBB:76AB C6 06 1614 17 mov byte ptr ds:[1614h],17h ; (3BBB:1614=0) 3BBB:76B0 FE 4F 07 dec byte ptr [bx+7] 3BBB:76B3 E9 FC75 jmp loc_1377 ; (732B) 3BBB:76B6 loc_1401: ; xref 3BBB:76A6 3BBB:76B6 BA 1800 mov dx,1800h 3BBB:76B9 E8 FC72 call sub_343 ; (732E) 3BBB:76BC 2A ED sub ch,ch 3BBB:76BE 8A 0E 1615 mov cl,byte ptr ds:[1615h] ; (3BBB:1615=74h) 3BBB:76C2 FE C1 inc cl 3BBB:76C4 E8 03A6 call sub_352 ; (7A6D) 3BBB:76C7 C6 06 1614 17 mov byte ptr ds:[1614h],17h ; (3BBB:1614=0) 3BBB:76CC E9 FC5C jmp loc_1377 ; (732B) ;* No entry point to code 3BBB:76CF C6 06 1614 18 mov byte ptr ds:[1614h],18h ; (3BBB:1614=0) 3BBB:76D4 C3 retn ;* No entry point to code 3BBB:76D5 80 3E 1046 03 cmp byte ptr ds:[1046h],3 ; (3BBB:1046=0C9h) 3BBB:76DA 75 33 jne loc_1403 ; Jump if not equal 3BBB:76DC 06 push es 3BBB:76DD 53 push bx 3BBB:76DE C6 06 161A 00 mov byte ptr ds:[161Ah],0 ; (3BBB:161A=5) 3BBB:76E3 9C pushf ; Push flags 3BBB:76E4 FA cli ; Disable interrupts 3BBB:76E5 2E: 8E 06 098E mov es,word ptr cs:[98Eh] ; (3BBB:098E=8726h) 3BBB:76EA 26: 8A 1E 0066 mov bl,es:data_1128e ; (8726:0066=0) 3BBB:76EF 80 E3 EF and bl,0EFh 3BBB:76F2 80 3E 1619 FF cmp byte ptr ds:[1619h],0FFh ; (3BBB:1619=0A6h) 3BBB:76F7 75 03 jne loc_1402 ; Jump if not equal 3BBB:76F9 80 CB 02 or bl,2 3BBB:76FC loc_1402: ; xref 3BBB:76F7 3BBB:76FC 26: 88 1E 0066 mov es:data_1128e,bl ; (8726:0066=0) 3BBB:7701 2E: 8E 06 0008 mov es,cs:data_161 ; (3BBB:0008=200h) 3BBB:7706 26: 88 1E 0085 mov es:data_126e,bl ; (0200:0085=0E6h) 3BBB:770B 9D popf ; Pop flags 3BBB:770C 5B pop bx 3BBB:770D 07 pop es 3BBB:770E C3 retn 3BBB:770F loc_1403: ; xref 3BBB:76DA 3BBB:770F 2E: 8E 06 098E mov es,word ptr cs:[98Eh] ; (3BBB:098E=8726h) 3BBB:7714 26: 8A 1E 00A1 mov bl,es:data_1129e ; (8726:00A1=0) 3BBB:7719 80 E3 07 and bl,7 3BBB:771C 80 FB 03 cmp bl,3 3BBB:771F 74 03 je loc_1404 ; Jump if equal 3BBB:7721 E9 00EE jmp loc_1406 ; (7812) 3BBB:7724 loc_1404: ; xref 3BBB:771F 3BBB:7724 2E: 8E 06 0008 mov es,cs:data_161 ; (3BBB:0008=200h) 3BBB:7729 26: 80 0E 0085 80 or byte ptr es:data_126e,80h ; (0200:0085=0E6h) 3BBB:772F 2E: 8E 06 098E mov es,word ptr cs:[98Eh] ; (3BBB:098E=8726h) 3BBB:7734 26: 8B 36 0052 mov si,es:data_1125e ; (8726:0052=0) 3BBB:7739 8E C6 mov es,si 3BBB:773B ,BE 2812 mov si,2812h ; (3BBB:2812=8Ah) 3BBB:773E ,BF 0C00 mov di,data_36e ; (0000:0C00=0) 3BBB:7741 B9 0200 mov cx,200h 3BBB:7744 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:7746 ,BE 2812 mov si,2812h ; (3BBB:2812=8Ah) 3BBB:7749 BF 0C00 mov di,0C00h 3BBB:774C ,81 C7 1000 add di,data_37e ; (0000:1000=0) 3BBB:7750 B9 0200 mov cx,200h 3BBB:7753 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:7755 ,BE 1EC2 mov si,1EC2h ; (3BBB:1EC2=5) 3BBB:7758 ,BF 02B0 mov di,data_30e ; (0000:02B0=0) 3BBB:775B B9 0010 mov cx,10h 3BBB:775E F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:7760 ,BE 1EC2 mov si,1EC2h ; (3BBB:1EC2=5) 3BBB:7763 BF 02B0 mov di,2B0h 3BBB:7766 ,81 C7 1000 add di,data_37e ; (0000:1000=0) 3BBB:776A B9 0010 mov cx,10h 3BBB:776D F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:776F 2E: 8E 06 0008 mov es,cs:data_161 ; (3BBB:0008=200h) 3BBB:7774 26: 80 26 0085 7F and byte ptr es:data_126e,7Fh ; (0200:0085=0E6h) 3BBB:777A E9 0095 jmp loc_1406 ; (7812) ;* No entry point to code 3BBB:777D 80 3E 1046 03 cmp byte ptr ds:[1046h],3 ; (3BBB:1046=0C9h) 3BBB:7782 75 26 jne loc_1405 ; Jump if not equal 3BBB:7784 06 push es 3BBB:7785 C6 06 161A 00 mov byte ptr ds:[161Ah],0 ; (3BBB:161A=5) 3BBB:778A 53 push bx 3BBB:778B 2E: 8E 06 098E mov es,word ptr cs:[98Eh] ; (3BBB:098E=8726h) 3BBB:7790 26: 8A 1E 0066 mov bl,es:data_1128e ; (8726:0066=0) 3BBB:7795 80 CB 10 or bl,10h 3BBB:7798 26: 88 1E 0066 mov es:data_1128e,bl ; (8726:0066=0) 3BBB:779D 2E: 8E 06 0008 mov es,cs:data_161 ; (3BBB:0008=200h) 3BBB:77A2 26: 88 1E 0085 mov es:data_126e,bl ; (0200:0085=0E6h) 3BBB:77A7 5B pop bx 3BBB:77A8 07 pop es 3BBB:77A9 C3 retn 3BBB:77AA loc_1405: ; xref 3BBB:7782 3BBB:77AA 2E: 8E 06 098E mov es,word ptr cs:[98Eh] ; (3BBB:098E=8726h) 3BBB:77AF 26: 8A 1E 00A1 mov bl,es:data_1129e ; (8726:00A1=0) 3BBB:77B4 80 E3 07 and bl,7 3BBB:77B7 80 FB 03 cmp bl,3 3BBB:77BA 75 56 jne loc_1406 ; Jump if not equal 3BBB:77BC 2E: 8E 06 0008 mov es,cs:data_161 ; (3BBB:0008=200h) 3BBB:77C1 26: 80 0E 0085 80 or byte ptr es:data_126e,80h ; (0200:0085=0E6h) 3BBB:77C7 2E: 8E 06 098E mov es,word ptr cs:[98Eh] ; (3BBB:098E=8726h) 3BBB:77CC 26: 8B 36 0052 mov si,es:data_1125e ; (8726:0052=0) 3BBB:77D1 8E C6 mov es,si 3BBB:77D3 ,BE 2C12 mov si,2C12h ; (3BBB:2C12=0D0h) 3BBB:77D6 ,BF 0C00 mov di,data_36e ; (0000:0C00=0) 3BBB:77D9 B9 0200 mov cx,200h 3BBB:77DC F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:77DE ,BE 2C12 mov si,2C12h ; (3BBB:2C12=0D0h) 3BBB:77E1 BF 0C00 mov di,0C00h 3BBB:77E4 ,81 C7 1000 add di,data_37e ; (0000:1000=0) 3BBB:77E8 B9 0200 mov cx,200h 3BBB:77EB F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:77ED ,BE 1EC2 mov si,1EC2h ; (3BBB:1EC2=5) 3BBB:77F0 ,BF 02B0 mov di,data_30e ; (0000:02B0=0) 3BBB:77F3 B9 0010 mov cx,10h 3BBB:77F6 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:77F8 ,BE 1EC2 mov si,1EC2h ; (3BBB:1EC2=5) 3BBB:77FB BF 02B0 mov di,2B0h 3BBB:77FE ,81 C7 1000 add di,data_37e ; (0000:1000=0) 3BBB:7802 B9 0010 mov cx,10h 3BBB:7805 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:7807 2E: 8E 06 0008 mov es,cs:data_161 ; (3BBB:0008=200h) 3BBB:780C 26: 80 26 0085 7F and byte ptr es:data_126e,7Fh ; (0200:0085=0E6h) 3BBB:7812 loc_1406: ; xref 3BBB:7721, 777A, 77BA 3BBB:7812 BE 3022 mov si,3022h 3BBB:7815 B9 0200 mov cx,200h 3BBB:7818 BF 0000 mov di,0 3BBB:781B E9 00AB jmp loc_1410 ; (78C9) ;* No entry point to code 3BBB:781E 80 3E 1046 03 cmp byte ptr ds:[1046h],3 ; (3BBB:1046=0C9h) 3BBB:7823 75 33 jne loc_1408 ; Jump if not equal 3BBB:7825 06 push es 3BBB:7826 53 push bx 3BBB:7827 C6 06 161A FF mov byte ptr ds:[161Ah],0FFh ; (3BBB:161A=5) 3BBB:782C 9C pushf ; Push flags 3BBB:782D FA cli ; Disable interrupts 3BBB:782E 2E: 8E 06 098E mov es,word ptr cs:[98Eh] ; (3BBB:098E=8726h) 3BBB:7833 26: 8A 1E 0066 mov bl,es:data_1128e ; (8726:0066=0) 3BBB:7838 80 E3 EF and bl,0EFh 3BBB:783B 80 3E 1619 FF cmp byte ptr ds:[1619h],0FFh ; (3BBB:1619=0A6h) 3BBB:7840 75 03 jne loc_1407 ; Jump if not equal 3BBB:7842 80 CB 02 or bl,2 3BBB:7845 loc_1407: ; xref 3BBB:7840 3BBB:7845 26: 88 1E 0066 mov es:data_1128e,bl ; (8726:0066=0) 3BBB:784A 2E: 8E 06 0008 mov es,cs:data_161 ; (3BBB:0008=200h) 3BBB:784F 26: 88 1E 0085 mov es:data_126e,bl ; (0200:0085=0E6h) 3BBB:7854 9D popf ; Pop flags 3BBB:7855 5B pop bx 3BBB:7856 07 pop es 3BBB:7857 C3 retn 3BBB:7858 loc_1408: ; xref 3BBB:7823 3BBB:7858 2E: 8E 06 098E mov es,word ptr cs:[98Eh] ; (3BBB:098E=8726h) 3BBB:785D 26: 8A 1E 00A1 mov bl,es:data_1129e ; (8726:00A1=0) 3BBB:7862 80 E3 07 and bl,7 3BBB:7865 80 FB 03 cmp bl,3 3BBB:7868 75 56 jne loc_1409 ; Jump if not equal 3BBB:786A 2E: 8E 06 0008 mov es,cs:data_161 ; (3BBB:0008=200h) 3BBB:786F 26: 80 0E 0085 80 or byte ptr es:data_126e,80h ; (0200:0085=0E6h) 3BBB:7875 2E: 8E 06 098E mov es,word ptr cs:[98Eh] ; (3BBB:098E=8726h) 3BBB:787A 26: 8B 36 0052 mov si,es:data_1125e ; (8726:0052=0) 3BBB:787F 8E C6 mov es,si 3BBB:7881 ,BE 2E12 mov si,2E12h ; (3BBB:2E12=1Ch) 3BBB:7884 ,BF 0C00 mov di,data_36e ; (0000:0C00=0) 3BBB:7887 B9 0200 mov cx,200h 3BBB:788A F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:788C ,BE 2E12 mov si,2E12h ; (3BBB:2E12=1Ch) 3BBB:788F BF 0C00 mov di,0C00h 3BBB:7892 ,81 C7 1000 add di,data_37e ; (0000:1000=0) 3BBB:7896 B9 0200 mov cx,200h 3BBB:7899 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:789B ,BE 3012 mov si,3012h ; (3BBB:3012=20h) 3BBB:789E ,BF 02B0 mov di,data_30e ; (0000:02B0=0) 3BBB:78A1 B9 0010 mov cx,10h 3BBB:78A4 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:78A6 ,BE 3012 mov si,3012h ; (3BBB:3012=20h) 3BBB:78A9 BF 02B0 mov di,2B0h 3BBB:78AC ,81 C7 1000 add di,data_37e ; (0000:1000=0) 3BBB:78B0 B9 0010 mov cx,10h 3BBB:78B3 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:78B5 2E: 8E 06 0008 mov es,cs:data_161 ; (3BBB:0008=200h) 3BBB:78BA 26: 80 26 0085 7F and byte ptr es:data_126e,7Fh ; (0200:0085=0E6h) 3BBB:78C0 loc_1409: ; xref 3BBB:7868 3BBB:78C0 ,BE 3222 mov si,3222h ; (3BBB:3222=6) 3BBB:78C3 B9 0200 mov cx,200h 3BBB:78C6 ,BF 0000 mov di,data_1169e ; (FA00:0000=74h) 3BBB:78C9 loc_1410: ; xref 3BBB:781B 3BBB:78C9 06 push es 3BBB:78CA 50 push ax 3BBB:78CB B8 FA00 mov ax,0FA00h 3BBB:78CE 8E C0 mov es,ax 3BBB:78D0 FC cld ; Clear direction 3BBB:78D1 D1 E9 shr cx,1 ; Shift w/zeros fill 3BBB:78D3 F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:78D5 58 pop ax 3BBB:78D6 07 pop es 3BBB:78D7 C3 retn ;* No entry point to code 3BBB:78D8 53 push bx 3BBB:78D9 BB 1970 mov bx,1970h 3BBB:78DC C6 47 18 10 mov byte ptr [bx+18h],10h 3BBB:78E0 C6 47 20 08 mov byte ptr [bx+20h],8 3BBB:78E4 BB 1930 mov bx,1930h 3BBB:78E7 C6 47 18 10 mov byte ptr [bx+18h],10h 3BBB:78EB C6 47 20 08 mov byte ptr [bx+20h],8 3BBB:78EF BB 18B0 mov bx,18B0h 3BBB:78F2 C6 47 27 FF mov byte ptr [bx+27h],0FFh 3BBB:78F6 C6 47 2F FF mov byte ptr [bx+2Fh],0FFh 3BBB:78FA C6 47 25 FF mov byte ptr [bx+25h],0FFh 3BBB:78FE C6 47 26 FF mov byte ptr [bx+26h],0FFh 3BBB:7902 5B pop bx 3BBB:7903 C3 retn ;* No entry point to code 3BBB:7904 53 push bx 3BBB:7905 BB 1970 mov bx,1970h 3BBB:7908 C6 47 18 E0 mov byte ptr [bx+18h],0E0h 3BBB:790C C6 47 20 E1 mov byte ptr [bx+20h],0E1h 3BBB:7910 BB 1930 mov bx,1930h 3BBB:7913 C6 47 18 EA mov byte ptr [bx+18h],0EAh 3BBB:7917 C6 47 20 EB mov byte ptr [bx+20h],0EBh 3BBB:791B BB 18B0 mov bx,18B0h 3BBB:791E C6 47 27 E4 mov byte ptr [bx+27h],0E4h 3BBB:7922 C6 47 2F E5 mov byte ptr [bx+2Fh],0E5h 3BBB:7926 C6 47 25 E6 mov byte ptr [bx+25h],0E6h 3BBB:792A C6 47 26 E7 mov byte ptr [bx+26h],0E7h 3BBB:792E 5B pop bx 3BBB:792F C3 retn ;* No entry point to code 3BBB:7930 C3 retn ;* No entry point to code 3BBB:7931 F6 16 1617 not byte ptr ds:[1617h] ; (3BBB:1617=8Bh) 3BBB:7935 C3 retn ;* No entry point to code 3BBB:7936 80 3E 1617 00 cmp byte ptr ds:[1617h],0 ; (3BBB:1617=8Bh) 3BBB:793B 74 0D je loc_ret_1411 ; Jump if equal 3BBB:793D 80 3E 1616 FF cmp byte ptr ds:[1616h],0FFh ; (3BBB:1616=55h) 3BBB:7942 74 07 je loc_1412 ; Jump if equal 3BBB:7944 53 push bx 3BBB:7945 FF 1E 003C call dword ptr data_183 ; (3BBB:003C=0) 3BBB:7949 5B pop bx 3BBB:794A loc_ret_1411: ; xref 3BBB:793B 3BBB:794A C3 retn 3BBB:794B loc_1412: ; xref 3BBB:7942 3BBB:794B F6 16 1616 not byte ptr ds:[1616h] ; (3BBB:1616=55h) 3BBB:794F C3 retn ;* No entry point to code 3BBB:7950 8B 57 0C mov dx,[bx+0Ch] 3BBB:7953 86 F2 xchg dh,dl 3BBB:7955 80 FE 00 cmp dh,0 3BBB:7958 74 08 je loc_1413 ; Jump if equal 3BBB:795A FE CE dec dh 3BBB:795C 3A 36 1614 cmp dh,byte ptr ds:[1614h] ; (3BBB:1614=0) 3BBB:7960 77 13 ja loc_ret_1415 ; Jump if above 3BBB:7962 loc_1413: ; xref 3BBB:7958 3BBB:7962 80 FA 00 cmp dl,0 3BBB:7965 74 08 je loc_1414 ; Jump if equal 3BBB:7967 FE CA dec dl 3BBB:7969 3A 16 1615 cmp dl,byte ptr ds:[1615h] ; (3BBB:1615=74h) 3BBB:796D 77 06 ja loc_ret_1415 ; Jump if above 3BBB:796F loc_1414: ; xref 3BBB:7965 3BBB:796F 89 57 06 mov [bx+6],dx 3BBB:7972 E9 F9B6 jmp loc_1377 ; (732B) 3BBB:7975 loc_ret_1415: ; xref 3BBB:7960, 796D 3BBB:7975 C3 retn ;* No entry point to code 3BBB:7976 E8 018D call sub_355 ; (7B06) 3BBB:7979 75 27 jnz loc_ret_1418 ; Jump if not zero 3BBB:797B 0A C0 or al,al ; Zero ? 3BBB:797D 75 02 jnz loc_1416 ; Jump if not zero 3BBB:797F FE C0 inc al 3BBB:7981 loc_1416: ; xref 3BBB:797D 3BBB:7981 8B 57 06 mov dx,[bx+6] 3BBB:7984 3A 36 1614 cmp dh,byte ptr ds:[1614h] ; (3BBB:1614=0) 3BBB:7988 75 03 jne loc_1417 ; Jump if not equal 3BBB:798A E9 00FE jmp loc_1438 ; (7A8B) 3BBB:798D loc_1417: ; xref 3BBB:7988 3BBB:798D B2 00 mov dl,0 3BBB:798F 8B CA mov cx,dx 3BBB:7991 8A 36 1614 mov dh,byte ptr ds:[1614h] ; (3BBB:1614=0) 3BBB:7995 8A 16 1615 mov dl,byte ptr ds:[1615h] ; (3BBB:1615=74h) 3BBB:7999 B4 07 mov ah,7 3BBB:799B 53 push bx 3BBB:799C BB 0700 mov bx,700h 3BBB:799F CD 10 int 10h ; Video display ah=functn 07h ; scroll down, al=lines ; bh=attrib, cx+dx=window size 3BBB:79A1 5B pop bx 3BBB:79A2 loc_ret_1418: ; xref 3BBB:7979 3BBB:79A2 C3 retn ;* No entry point to code 3BBB:79A3 E8 0160 call sub_355 ; (7B06) 3BBB:79A6 75 27 jnz loc_ret_1421 ; Jump if not zero 3BBB:79A8 0A C0 or al,al ; Zero ? 3BBB:79AA 75 02 jnz loc_1419 ; Jump if not zero 3BBB:79AC FE C0 inc al 3BBB:79AE loc_1419: ; xref 3BBB:79AA 3BBB:79AE 8B 57 06 mov dx,[bx+6] 3BBB:79B1 3A 36 1614 cmp dh,byte ptr ds:[1614h] ; (3BBB:1614=0) 3BBB:79B5 75 03 jne loc_1420 ; Jump if not equal 3BBB:79B7 E9 00D1 jmp loc_1438 ; (7A8B) 3BBB:79BA loc_1420: ; xref 3BBB:79B5 3BBB:79BA B2 00 mov dl,0 3BBB:79BC 8B CA mov cx,dx 3BBB:79BE 8A 36 1614 mov dh,byte ptr ds:[1614h] ; (3BBB:1614=0) 3BBB:79C2 8A 16 1615 mov dl,byte ptr ds:[1615h] ; (3BBB:1615=74h) 3BBB:79C6 B4 06 mov ah,6 3BBB:79C8 53 push bx 3BBB:79C9 BB 0700 mov bx,700h 3BBB:79CC CD 10 int 10h ; Video display ah=functn 06h ; scroll up, al=lines ; bh=attrib, cx+dx=window size 3BBB:79CE 5B pop bx 3BBB:79CF loc_ret_1421: ; xref 3BBB:79A6 3BBB:79CF C3 retn ;* No entry point to code 3BBB:79D0 C3 retn ;* No entry point to code 3BBB:79D1 8A 77 07 mov dh,[bx+7] 3BBB:79D4 E8 012F call sub_355 ; (7B06) 3BBB:79D7 75 14 jnz loc_ret_1424 ; Jump if not zero 3BBB:79D9 3C 00 cmp al,0 3BBB:79DB 75 02 jne loc_1422 ; Jump if not equal 3BBB:79DD FE C0 inc al 3BBB:79DF loc_1422: ; xref 3BBB:79DB 3BBB:79DF 2A F0 sub dh,al 3BBB:79E1 88 77 07 mov [bx+7],dh 3BBB:79E4 73 04 jnc loc_1423 ; Jump if carry=0 3BBB:79E6 C6 47 07 00 mov byte ptr [bx+7],0 3BBB:79EA loc_1423: ; xref 3BBB:79E4 3BBB:79EA E9 F93E jmp loc_1377 ; (732B) 3BBB:79ED loc_ret_1424: ; xref 3BBB:79D7 3BBB:79ED C3 retn ;* No entry point to code 3BBB:79EE 8A 57 06 mov dl,[bx+6] 3BBB:79F1 E8 0112 call sub_355 ; (7B06) 3BBB:79F4 75 14 jnz loc_ret_1427 ; Jump if not zero 3BBB:79F6 3C 00 cmp al,0 3BBB:79F8 75 02 jne loc_1425 ; Jump if not equal 3BBB:79FA FE C0 inc al 3BBB:79FC loc_1425: ; xref 3BBB:79F8 3BBB:79FC 2A D0 sub dl,al 3BBB:79FE 88 57 06 mov [bx+6],dl 3BBB:7A01 73 04 jnc loc_1426 ; Jump if carry=0 3BBB:7A03 C6 47 06 00 mov byte ptr [bx+6],0 3BBB:7A07 loc_1426: ; xref 3BBB:7A01 3BBB:7A07 E9 F921 jmp loc_1377 ; (732B) 3BBB:7A0A loc_ret_1427: ; xref 3BBB:79F4 3BBB:7A0A C3 retn ;* No entry point to code 3BBB:7A0B 8A 57 06 mov dl,[bx+6] 3BBB:7A0E E8 00F5 call sub_355 ; (7B06) 3BBB:7A11 75 18 jnz loc_ret_1430 ; Jump if not zero 3BBB:7A13 3C 00 cmp al,0 3BBB:7A15 75 02 jne loc_1428 ; Jump if not equal 3BBB:7A17 FE C0 inc al 3BBB:7A19 loc_1428: ; xref 3BBB:7A15 3BBB:7A19 02 D0 add dl,al 3BBB:7A1B 88 57 06 mov [bx+6],dl 3BBB:7A1E A0 1615 mov al,byte ptr ds:[1615h] ; (3BBB:1615=74h) 3BBB:7A21 3A D0 cmp dl,al 3BBB:7A23 72 03 jb loc_1429 ; Jump if below 3BBB:7A25 88 47 06 mov [bx+6],al 3BBB:7A28 loc_1429: ; xref 3BBB:7A23 3BBB:7A28 E9 F900 jmp loc_1377 ; (732B) 3BBB:7A2B loc_ret_1430: ; xref 3BBB:7A11 3BBB:7A2B C3 retn ;* No entry point to code 3BBB:7A2C 8A 77 07 mov dh,[bx+7] 3BBB:7A2F E8 00D4 call sub_355 ; (7B06) 3BBB:7A32 75 18 jnz loc_ret_1433 ; Jump if not zero 3BBB:7A34 3C 00 cmp al,0 3BBB:7A36 75 02 jne loc_1431 ; Jump if not equal 3BBB:7A38 FE C0 inc al 3BBB:7A3A loc_1431: ; xref 3BBB:7A36 3BBB:7A3A 02 F0 add dh,al 3BBB:7A3C 88 77 07 mov [bx+7],dh 3BBB:7A3F A0 1614 mov al,byte ptr ds:[1614h] ; (3BBB:1614=0) 3BBB:7A42 3A F0 cmp dh,al 3BBB:7A44 72 03 jb loc_1432 ; Jump if below 3BBB:7A46 88 47 07 mov [bx+7],al 3BBB:7A49 loc_1432: ; xref 3BBB:7A44 3BBB:7A49 E9 F8DF jmp loc_1377 ; (732B) 3BBB:7A4C loc_ret_1433: ; xref 3BBB:7A32 3BBB:7A4C C3 retn ;* No entry point to code 3BBB:7A4D 8B 57 06 mov dx,[bx+6] 3BBB:7A50 E8 00B3 call sub_355 ; (7B06) 3BBB:7A53 75 0E jnz loc_ret_1434 ; Jump if not zero 3BBB:7A55 33 C9 xor cx,cx ; Zero register 3BBB:7A57 3C 00 cmp al,0 3BBB:7A59 74 09 je loc_1435 ; Jump if equal 3BBB:7A5B 3C 01 cmp al,1 3BBB:7A5D 74 19 je loc_1436 ; Jump if equal 3BBB:7A5F 3C 02 cmp al,2 3BBB:7A61 74 28 je loc_1438 ; Jump if equal 3BBB:7A63 loc_ret_1434: ; xref 3BBB:7A53 3BBB:7A63 C3 retn ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:7AA9 ;========================================================================== 3BBB:7A64 sub_351 proc near 3BBB:7A64 loc_1435: ; xref 3BBB:7A59 3BBB:7A64 8A 0E 1615 mov cl,byte ptr ds:[1615h] ; (3BBB:1615=74h) 3BBB:7A68 2A 4F 06 sub cl,[bx+6] 3BBB:7A6B FE C1 inc cl ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:76C4, 7A85 3BBB:7A6D sub_352: 3BBB:7A6D B8 0920 mov ax,920h 3BBB:7A70 53 push bx 3BBB:7A71 BB 0007 mov bx,7 3BBB:7A74 CD 10 int 10h ; Video display ah=functn 09h ; set char al & attrib bl @curs ; cx=# of chars to replicate 3BBB:7A76 5B pop bx 3BBB:7A77 C3 retn sub_351 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:7ACE ;========================================================================== 3BBB:7A78 sub_353 proc near 3BBB:7A78 loc_1436: ; xref 3BBB:7A5D 3BBB:7A78 8A 4F 06 mov cl,[bx+6] 3BBB:7A7B FE C1 inc cl 3BBB:7A7D loc_1437: ; xref 3BBB:7A91 3BBB:7A7D ,8A 77 07 mov dh,[bx+7] 3BBB:7A80 B2 00 mov dl,0 3BBB:7A82 E8 F8A9 call sub_343 ; (732E) 3BBB:7A85 E8 FFE5 call sub_352 ; (7A6D) 3BBB:7A88 E9 F8A0 jmp loc_1377 ; (732B) sub_353 endp 3BBB:7A8B loc_1438: ; xref 3BBB:798A, 79B7, 7A61 3BBB:7A8B 8A 0E 1615 mov cl,byte ptr ds:[1615h] ; (3BBB:1615=74h) 3BBB:7A8F FE C1 inc cl 3BBB:7A91 E9 FFE9 ;* jmp loc_1437 ; (7A7D) 3BBB:7A91 db 0E9h,0E9h,0FFh ; Fixup - byte match ;* No entry point to code 3BBB:7A94 8B 57 06 mov dx,[bx+6] 3BBB:7A97 E8 006C call sub_355 ; (7B06) 3BBB:7A9A 75 0C jnz loc_ret_1439 ; Jump if not zero 3BBB:7A9C 3C 00 cmp al,0 3BBB:7A9E 74 09 je loc_1440 ; Jump if equal 3BBB:7AA0 3C 01 cmp al,1 3BBB:7AA2 74 2A je loc_1442 ; Jump if equal 3BBB:7AA4 3C 02 cmp al,2 3BBB:7AA6 74 42 je loc_1443 ; Jump if equal 3BBB:7AA8 loc_ret_1439: ; xref 3BBB:7A9A 3BBB:7AA8 C3 retn 3BBB:7AA9 loc_1440: ; xref 3BBB:7A9E 3BBB:7AA9 E8 FFB8 call sub_351 ; (7A64) 3BBB:7AAC 8B 57 06 mov dx,[bx+6] 3BBB:7AAF 3A 36 1614 cmp dh,byte ptr ds:[1614h] ; (3BBB:1614=0) 3BBB:7AB3 74 18 je loc_ret_1441 ; Jump if equal 3BBB:7AB5 53 push bx 3BBB:7AB6 B2 00 mov dl,0 3BBB:7AB8 FE C6 inc dh 3BBB:7ABA 8B CA mov cx,dx 3BBB:7ABC B8 0600 mov ax,600h 3BBB:7ABF BB 0700 mov bx,700h 3BBB:7AC2 8A 36 1614 mov dh,byte ptr ds:[1614h] ; (3BBB:1614=0) 3BBB:7AC6 8A 16 1615 mov dl,byte ptr ds:[1615h] ; (3BBB:1615=74h) 3BBB:7ACA CD 10 int 10h ; Video display ah=functn 06h ; scroll up, al=lines ; bh=attrib, cx+dx=window size 3BBB:7ACC 5B pop bx 3BBB:7ACD loc_ret_1441: ; xref 3BBB:7AB3, 7ADA 3BBB:7ACD C3 retn 3BBB:7ACE loc_1442: ; xref 3BBB:7AA2 3BBB:7ACE E8 FFA7 call sub_353 ; (7A78) 3BBB:7AD1 8B 57 06 mov dx,[bx+6] 3BBB:7AD4 8A 16 1615 mov dl,byte ptr ds:[1615h] ; (3BBB:1615=74h) 3BBB:7AD8 0A D2 or dl,dl ; Zero ? 3BBB:7ADA 74 F1 jz loc_ret_1441 ; Jump if zero 3BBB:7ADC 53 push bx 3BBB:7ADD B9 0000 mov cx,0 3BBB:7AE0 B8 0600 mov ax,600h 3BBB:7AE3 BB 0700 mov bx,700h 3BBB:7AE6 CD 10 int 10h ; Video display ah=functn 06h ; scroll up, al=lines ; bh=attrib, cx+dx=window size 3BBB:7AE8 5B pop bx 3BBB:7AE9 C3 retn ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:7271 ;========================================================================== 3BBB:7AEA sub_354 proc near 3BBB:7AEA loc_1443: ; xref 3BBB:7AA6 3BBB:7AEA 53 push bx 3BBB:7AEB B8 0600 mov ax,600h 3BBB:7AEE 2B C9 sub cx,cx 3BBB:7AF0 8A 36 1614 mov dh,byte ptr ds:[1614h] ; (3BBB:1614=0) 3BBB:7AF4 8A 16 1615 mov dl,byte ptr ds:[1615h] ; (3BBB:1615=74h) 3BBB:7AF8 BB 0700 mov bx,700h 3BBB:7AFB CD 10 int 10h ; Video display ah=functn 06h ; scroll up, al=lines ; bh=attrib, cx+dx=window size 3BBB:7AFD 5B pop bx 3BBB:7AFE C7 47 06 0000 mov word ptr [bx+6],0 3BBB:7B03 E9 F825 jmp loc_1377 ; (732B) sub_354 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:73D6, 7976, 79A3, 79D4, 79F1, 7A0E, 7A2F ; 7A50, 7A97, 7B97 ;========================================================================== 3BBB:7B06 sub_355 proc near 3BBB:7B06 83 7F 0A 00 cmp word ptr [bx+0Ah],0 3BBB:7B0A 8A 47 0C mov al,[bx+0Ch] 3BBB:7B0D C3 retn sub_355 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:7454, 76A8 ;========================================================================== 3BBB:7B0E sub_356 proc near 3BBB:7B0E 53 push bx 3BBB:7B0F 8A 36 1614 mov dh,byte ptr ds:[1614h] ; (3BBB:1614=0) 3BBB:7B13 8A 16 1615 mov dl,byte ptr ds:[1615h] ; (3BBB:1615=74h) 3BBB:7B17 B8 0601 mov ax,601h 3BBB:7B1A BB 0700 mov bx,700h 3BBB:7B1D B9 0000 mov cx,0 3BBB:7B20 CD 10 int 10h ; Video display ah=functn 06h ; scroll up, al=lines ; bh=attrib, cx+dx=window size 3BBB:7B22 5B pop bx 3BBB:7B23 C3 retn sub_356 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:7466 ;========================================================================== 3BBB:7B24 sub_357 proc near 3BBB:7B24 53 push bx 3BBB:7B25 8A 36 1614 mov dh,byte ptr ds:[1614h] ; (3BBB:1614=0) 3BBB:7B29 8A 16 1615 mov dl,byte ptr ds:[1615h] ; (3BBB:1615=74h) 3BBB:7B2D B8 0701 mov ax,701h 3BBB:7B30 BB 0700 mov bx,700h 3BBB:7B33 B9 0000 mov cx,0 3BBB:7B36 CD 10 int 10h ; Video display ah=functn 07h ; scroll down, al=lines ; bh=attrib, cx+dx=window size 3BBB:7B38 5B pop bx 3BBB:7B39 FC cld ; Clear direction 3BBB:7B3A C3 retn sub_357 endp ;* No entry point to code 3BBB:7B3B B4 06 mov ah,6 3BBB:7B3D EB 02 jmp short loc_1444 ; (7B41) 3BBB:7B3F B4 07 db 0B4h, 07h 3BBB:7B41 loc_1444: ; xref 3BBB:7B3D 3BBB:7B41 A0 1B80 mov al,byte ptr ds:[1B80h] ; (3BBB:1B80=58h) 3BBB:7B44 8B 57 0C mov dx,[bx+0Ch] 3BBB:7B47 80 FA 00 cmp dl,0 3BBB:7B4A 74 02 je loc_1445 ; Jump if equal 3BBB:7B4C FE CA dec dl 3BBB:7B4E loc_1445: ; xref 3BBB:7B4A 3BBB:7B4E 80 FE 00 cmp dh,0 3BBB:7B51 74 02 je loc_1446 ; Jump if equal 3BBB:7B53 FE CE dec dh 3BBB:7B55 loc_1446: ; xref 3BBB:7B51 3BBB:7B55 3A D6 cmp dl,dh 3BBB:7B57 72 04 jb loc_1447 ; Jump if below 3BBB:7B59 B0 00 mov al,0 3BBB:7B5B 86 F2 xchg dh,dl 3BBB:7B5D loc_1447: ; xref 3BBB:7B57 3BBB:7B5D 8A EA mov ch,dl 3BBB:7B5F 8A 16 1B7E mov dl,byte ptr ds:[1B7Eh] ; (3BBB:1B7E=95h) 3BBB:7B63 8A 0E 1B7F mov cl,byte ptr ds:[1B7Fh] ; (3BBB:1B7F=0FFh) 3BBB:7B67 53 push bx 3BBB:7B68 BB 0700 mov bx,700h 3BBB:7B6B CD 10 int 10h ; Video display ah=functn 06h ; scroll up, al=lines ; bh=attrib, cx+dx=window size 3BBB:7B6D 5B pop bx 3BBB:7B6E C3 retn ;* No entry point to code 3BBB:7B6F 8B 57 0C mov dx,[bx+0Ch] 3BBB:7B72 80 FA 00 cmp dl,0 3BBB:7B75 74 02 je loc_1448 ; Jump if equal 3BBB:7B77 FE CA dec dl 3BBB:7B79 loc_1448: ; xref 3BBB:7B75 3BBB:7B79 80 FA 4F cmp dl,4Fh ; 'O' 3BBB:7B7C 76 02 jbe loc_1449 ; Jump if below or = 3BBB:7B7E B2 4F mov dl,4Fh ; 'O' 3BBB:7B80 loc_1449: ; xref 3BBB:7B7C 3BBB:7B80 88 16 1B7F mov byte ptr ds:[1B7Fh],dl ; (3BBB:1B7F=0FFh) 3BBB:7B84 80 FE 00 cmp dh,0 3BBB:7B87 74 02 je loc_1450 ; Jump if equal 3BBB:7B89 FE CE dec dh 3BBB:7B8B loc_1450: ; xref 3BBB:7B87 3BBB:7B8B 80 FE 4F cmp dh,4Fh ; 'O' 3BBB:7B8E 76 02 jbe loc_1451 ; Jump if below or = 3BBB:7B90 B6 4F mov dh,4Fh ; 'O' 3BBB:7B92 loc_1451: ; xref 3BBB:7B8E 3BBB:7B92 88 36 1B7E mov byte ptr ds:[1B7Eh],dh ; (3BBB:1B7E=95h) 3BBB:7B96 C3 retn ;* No entry point to code 3BBB:7B97 E8 FF6C call sub_355 ; (7B06) 3BBB:7B9A 75 09 jnz loc_ret_1453 ; Jump if not zero 3BBB:7B9C 3C 19 cmp al,19h 3BBB:7B9E 77 02 ja loc_1452 ; Jump if above 3BBB:7BA0 B0 19 mov al,19h 3BBB:7BA2 loc_1452: ; xref 3BBB:7B9E 3BBB:7BA2 A2 1B80 mov byte ptr ds:[1B80h],al ; (3BBB:1B80=58h) 3BBB:7BA5 loc_ret_1453: ; xref 3BBB:7B9A 3BBB:7BA5 C3 retn 3BBB:7BA6 loc_1454: ; xref 3BBB:7C95, 7CEA 3BBB:7BA6 ,C6 06 1B7A FF mov byte ptr ds:[1B7Ah],0FFh ; (3BBB:1B7A=50h) 3BBB:7BAB C6 47 08 00 mov byte ptr [bx+8],0 3BBB:7BAF 2E: 8E 06 098E mov es,word ptr cs:[98Eh] ; (3BBB:098E=8726h) 3BBB:7BB4 26: A0 00A1 mov al,es:data_1129e ; (8726:00A1=0) 3BBB:7BB8 2E: 8E 06 0008 mov es,cs:data_161 ; (3BBB:0008=200h) 3BBB:7BBD 24 07 and al,7 3BBB:7BBF 3C 03 cmp al,3 3BBB:7BC1 75 56 jne loc_ret_1456 ; Jump if not equal 3BBB:7BC3 C6 06 1B7A 00 mov byte ptr ds:[1B7Ah],0 ; (3BBB:1B7A=50h) 3BBB:7BC8 C6 47 08 07 mov byte ptr [bx+8],7 3BBB:7BCC 80 7F 12 80 cmp byte ptr [bx+12h],80h 3BBB:7BD0 74 30 je loc_1455 ; Jump if equal 3BBB:7BD2 80 0E 1044 40 or byte ptr ds:[1044h],40h ; (3BBB:1044=0) '@' 3BBB:7BD7 80 26 1044 CF and byte ptr ds:[1044h],0CFh ; (3BBB:1044=0) 3BBB:7BDC 80 0E 1044 10 or byte ptr ds:[1044h],10h ; (3BBB:1044=0) 3BBB:7BE1 2E: 8E 06 098E mov es,word ptr cs:[98Eh] ; (3BBB:098E=8726h) 3BBB:7BE6 26: 80 26 00A1 CF and byte ptr es:data_1129e,0CFh ; (8726:00A1=0) 3BBB:7BEC 26: 80 0E 00A1 40 or byte ptr es:data_1129e,40h ; (8726:00A1=0) '@' 3BBB:7BF2 26: 80 0E 00A1 10 or byte ptr es:data_1129e,10h ; (8726:00A1=0) 3BBB:7BF8 26: C6 06 00DB 00 mov byte ptr es:data_1130e,0 ; (8726:00DB=0) 3BBB:7BFE E8 F7E5 call sub_345 ; (73E6) 3BBB:7C01 C3 retn 3BBB:7C02 loc_1455: ; xref 3BBB:7BD0 3BBB:7C02 26: F6 06 0058 01 test byte ptr es:data_198+1,1 ; (3BBB:0058=0) 3BBB:7C08 75 0F jnz loc_ret_1456 ; Jump if not zero 3BBB:7C0A 26: 80 0E 0058 01 or byte ptr es:data_198+1,1 ; (3BBB:0058=0) 3BBB:7C10 ,BE 1BD6 mov si,1BD6h ; (3BBB:1BD6=0Eh) 3BBB:7C13 E8 FA2F call sub_348 ; (7645) 3BBB:7C16 E8 FA6F call sub_350 ; (7688) 3BBB:7C19 loc_ret_1456: ; xref 3BBB:7BC1, 7C08, 7C7C 3BBB:7C19 C3 retn ;* No entry point to code 3BBB:7C1A C6 06 1B7A FF mov byte ptr ds:[1B7Ah],0FFh ; (3BBB:1B7A=50h) 3BBB:7C1F C6 47 08 00 mov byte ptr [bx+8],0 3BBB:7C23 2E: 8E 06 098E mov es,word ptr cs:[98Eh] ; (3BBB:098E=8726h) 3BBB:7C28 26: A0 00A1 mov al,es:data_1129e ; (8726:00A1=0) 3BBB:7C2C 2E: 8E 06 0008 mov es,cs:data_161 ; (3BBB:0008=200h) 3BBB:7C31 24 07 and al,7 3BBB:7C33 3C 03 cmp al,3 3BBB:7C35 75 56 jne loc_ret_1458 ; Jump if not equal 3BBB:7C37 C6 06 1B7A 00 mov byte ptr ds:[1B7Ah],0 ; (3BBB:1B7A=50h) 3BBB:7C3C C6 47 08 07 mov byte ptr [bx+8],7 3BBB:7C40 80 7F 12 80 cmp byte ptr [bx+12h],80h 3BBB:7C44 74 30 je loc_1457 ; Jump if equal 3BBB:7C46 80 26 1044 BF and byte ptr ds:[1044h],0BFh ; (3BBB:1044=0) 3BBB:7C4B 80 26 1044 CF and byte ptr ds:[1044h],0CFh ; (3BBB:1044=0) 3BBB:7C50 80 0E 1044 10 or byte ptr ds:[1044h],10h ; (3BBB:1044=0) 3BBB:7C55 2E: 8E 06 098E mov es,word ptr cs:[98Eh] ; (3BBB:098E=8726h) 3BBB:7C5A 26: 80 26 00A1 BF and byte ptr es:data_1129e,0BFh ; (8726:00A1=0) 3BBB:7C60 26: 80 26 00A1 CF and byte ptr es:data_1129e,0CFh ; (8726:00A1=0) 3BBB:7C66 26: 80 0E 00A1 10 or byte ptr es:data_1129e,10h ; (8726:00A1=0) 3BBB:7C6C 26: C6 06 00DB 00 mov byte ptr es:data_1130e,0 ; (8726:00DB=0) 3BBB:7C72 E8 F771 call sub_345 ; (73E6) 3BBB:7C75 C3 retn 3BBB:7C76 loc_1457: ; xref 3BBB:7C44 3BBB:7C76 26: F6 06 0058 01 test byte ptr es:data_198+1,1 ; (3BBB:0058=0) 3BBB:7C7C 75 9B jnz loc_ret_1456 ; Jump if not zero 3BBB:7C7E 26: 80 26 0058 FE and byte ptr es:data_198+1,0FEh ; (3BBB:0058=0) 3BBB:7C84 ,BE 1BD6 mov si,1BD6h ; (3BBB:1BD6=0Eh) 3BBB:7C87 E8 F9BB call sub_348 ; (7645) 3BBB:7C8A E8 F9FB call sub_350 ; (7688) 3BBB:7C8D loc_ret_1458: ; xref 3BBB:7C35 3BBB:7C8D C3 retn ;* No entry point to code 3BBB:7C8E 80 3E 1046 03 cmp byte ptr ds:[1046h],3 ; (3BBB:1046=0C9h) 3BBB:7C93 75 03 jne loc_1459 ; Jump if not equal 3BBB:7C95 E9 FF0E jmp loc_1454 ; (7BA6) 3BBB:7C98 loc_1459: ; xref 3BBB:7C93 3BBB:7C98 C6 06 1B7A FF mov byte ptr ds:[1B7Ah],0FFh ; (3BBB:1B7A=50h) 3BBB:7C9D C6 47 08 00 mov byte ptr [bx+8],0 3BBB:7CA1 2E: 8E 06 098E mov es,word ptr cs:[98Eh] ; (3BBB:098E=8726h) 3BBB:7CA6 26: A0 00A1 mov al,es:data_1129e ; (8726:00A1=0) 3BBB:7CAA 2E: 8E 06 0008 mov es,cs:data_161 ; (3BBB:0008=200h) 3BBB:7CAF 24 07 and al,7 3BBB:7CB1 3C 03 cmp al,3 3BBB:7CB3 75 2D jne loc_ret_1460 ; Jump if not equal 3BBB:7CB5 80 0E 1044 30 or byte ptr ds:[1044h],30h ; (3BBB:1044=0) '0' 3BBB:7CBA 80 26 1044 BF and byte ptr ds:[1044h],0BFh ; (3BBB:1044=0) 3BBB:7CBF 2E: 8E 06 098E mov es,word ptr cs:[98Eh] ; (3BBB:098E=8726h) 3BBB:7CC4 26: 80 0E 00A1 30 or byte ptr es:data_1129e,30h ; (8726:00A1=0) '0' 3BBB:7CCA 26: 80 26 00A1 BF and byte ptr es:data_1129e,0BFh ; (8726:00A1=0) 3BBB:7CD0 26: C6 06 00DB 00 mov byte ptr es:data_1130e,0 ; (8726:00DB=0) 3BBB:7CD6 C6 06 1B7A 00 mov byte ptr ds:[1B7Ah],0 ; (3BBB:1B7A=50h) 3BBB:7CDB C6 47 08 07 mov byte ptr [bx+8],7 3BBB:7CDF E8 F704 call sub_345 ; (73E6) 3BBB:7CE2 loc_ret_1460: ; xref 3BBB:7CB3 3BBB:7CE2 C3 retn ;* No entry point to code 3BBB:7CE3 80 3E 1046 03 cmp byte ptr ds:[1046h],3 ; (3BBB:1046=0C9h) 3BBB:7CE8 75 03 jne loc_1461 ; Jump if not equal 3BBB:7CEA E9 FEB9 jmp loc_1454 ; (7BA6) 3BBB:7CED loc_1461: ; xref 3BBB:7CE8 3BBB:7CED C6 06 1B7A FF mov byte ptr ds:[1B7Ah],0FFh ; (3BBB:1B7A=50h) 3BBB:7CF2 C6 47 08 00 mov byte ptr [bx+8],0 3BBB:7CF6 80 26 1044 CF and byte ptr ds:[1044h],0CFh ; (3BBB:1044=0) 3BBB:7CFB 80 0E 1044 20 or byte ptr ds:[1044h],20h ; (3BBB:1044=0) ' ' 3BBB:7D00 2E: 8E 06 098E mov es,word ptr cs:[98Eh] ; (3BBB:098E=8726h) 3BBB:7D05 26: 80 26 00A1 CF and byte ptr es:data_1129e,0CFh ; (8726:00A1=0) 3BBB:7D0B 26: 80 0E 00A1 20 or byte ptr es:data_1129e,20h ; (8726:00A1=0) ' ' 3BBB:7D11 26: C6 06 00DB 00 mov byte ptr es:data_1130e,0 ; (8726:00DB=0) 3BBB:7D17 E8 F6CC call sub_345 ; (73E6) 3BBB:7D1A C3 retn ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:6386 ;========================================================================== 3BBB:7D1B sub_358 proc near 3BBB:7D1B C3 retn sub_358 endp 3BBB:7D1C 00 00 2E 8C 1E 3C db 00h, 00h, 2Eh, 8Ch, 1Eh, 3Ch 3BBB:7D22 1A 2E 8E 1E 06 00 db 1Ah, 2Eh, 8Eh, 1Eh, 06h, 00h 3BBB:7D28 FE 06 03 0F 89 26 db 0FEh, 06h, 03h, 0Fh, 89h, 26h 3BBB:7D2E 38 34 BC BA 34 8C db 38h, 34h,0BCh,0BAh, 34h, 8Ch 3BBB:7D34 16 36 34 2E 8E 16 db 16h, 36h, 34h, 2Eh, 8Eh, 16h 3BBB:7D3A 06 00 06 53 50 51 db 06h, 00h, 06h, 53h, 50h, 51h 3BBB:7D40 52 BB F0 F9 8E C3 db 52h,0BBh,0F0h,0F9h, 8Eh,0C3h 3BBB:7D46 26 C6 06 3C 00 0D db 26h,0C6h, 06h, 3Ch, 00h, 0Dh 3BBB:7D4C 26 8A 1E 3C 00 F6 db 26h, 8Ah, 1Eh, 3Ch, 00h,0F6h 3BBB:7D52 C3 80 74 1B 2A FF db 0C3h, 80h, 74h, 1Bh, 2Ah,0FFh 3BBB:7D58 80 E3 07 53 D1 E3 db 80h,0E3h, 07h, 53h,0D1h,0E3h 3BBB:7D5E FF 97 26 34 FA BB db 0FFh, 97h, 26h, 34h,0FAh,0BBh 3BBB:7D64 F0 F9 8E C3 5B 80 db 0F0h,0F9h, 8Eh,0C3h, 5Bh, 80h 3BBB:7D6A CB 60 26 88 1E 3C db 0CBh, 60h, 26h, 88h, 1Eh, 3Ch 3BBB:7D70 00 26 C6 06 06 00 db 00h, 26h,0C6h, 06h, 06h, 00h 3BBB:7D76 67 5A 59 58 5B 07 db 67h, 5Ah, 59h, 58h, 5Bh, 07h 3BBB:7D7C 8E 16 36 34 8B 26 db 8Eh, 16h, 36h, 34h, 8Bh, 26h 3BBB:7D82 38 34 FE 0E 03 0F db 38h, 34h,0FEh, 0Eh, 03h, 0Fh 3BBB:7D88 2E 8E 1E 3C 1A 1E db 2Eh, 8Eh, 1Eh, 3Ch, 1Ah, 1Eh 3BBB:7D8E 2E 8E 1E 06 00 FF db 2Eh, 8Eh, 1Eh, 06h, 00h,0FFh 3BBB:7D94 2E 34 00 B8 00 60 db 2Eh, 34h, 00h,0B8h, 00h, 60h 3BBB:7D9A 26 A2 34 00 26 88 db 26h,0A2h, 34h, 00h, 26h, 88h 3BBB:7DA0 26 34 00 BB C9 10 db 26h, 34h, 00h,0BBh,0C9h, 10h 3BBB:7DA6 8A 47 04 A8 20 74 db 8Ah, 47h, 04h,0A8h, 20h, 74h 3BBB:7DAC 06 FE 0E db 06h,0FEh, 0Eh 3BBB:7DAF 25 34 75 29 db 25h, 34h, 75h, 29h 3BBB:7DB3 loc_1462: 3BBB:7DB3 24 DF and al,0DFh 3BBB:7DB5 88 47 04 mov [bx+4],al 3BBB:7DB8 26: A2 003E mov byte ptr es:data_183+2,al ; (3BBB:003E=0) 3BBB:7DBC 26: F6 06 0004 08 test byte ptr es:[4],8 ; (3BBB:0004=0) 3BBB:7DC2 75 18 jnz loc_1463 ; Jump if not zero 3BBB:7DC4 C6 06 161B FF mov byte ptr ds:[161Bh],0FFh ; (3BBB:161B=0E8h) 3BBB:7DC9 ,BB 168A mov bx,168Ah ; (3BBB:168A=3Ch) 3BBB:7DCC 80 7F 01 FF cmp byte ptr [bx+1],0FFh 3BBB:7DD0 75 0A jne loc_1463 ; Jump if not equal 3BBB:7DD2 C6 47 01 00 mov byte ptr [bx+1],0 3BBB:7DD6 8A 17 mov dl,[bx] 3BBB:7DD8 FF 1E 0038 call dword ptr data_181 ; (3BBB:0038=0) 3BBB:7DDC loc_1463: ; xref 3BBB:7DC2, 7DD0 3BBB:7DDC FE 0E 3424 dec byte ptr ds:[3424h] ; (3BBB:3424=0B1h) 3BBB:7DE0 75 40 jnz loc_1464 ; Jump if not zero 3BBB:7DE2 A0 0F01 mov al,byte ptr ds:[0F01h] ; (3BBB:0F01=0EBh) 3BBB:7DE5 A2 3424 mov byte ptr ds:[3424h],al ; (3BBB:3424=0B1h) 3BBB:7DE8 A0 0063 mov al,byte ptr data_206+1 ; (3BBB:0063=0) 3BBB:7DEB FE C0 inc al 3BBB:7DED 27 daa ; Decimal adjust 3BBB:7DEE A2 0063 mov byte ptr data_206+1,al ; (3BBB:0063=0) 3BBB:7DF1 3C 60 cmp al,60h ; '`' 3BBB:7DF3 72 2D jb loc_1464 ; Jump if below 3BBB:7DF5 C6 06 0063 00 mov byte ptr data_206+1,0 ; (3BBB:0063=0) 3BBB:7DFA A0 0062 mov al,byte ptr data_206 ; (3BBB:0062=0) 3BBB:7DFD FE C0 inc al 3BBB:7DFF 27 daa ; Decimal adjust 3BBB:7E00 A2 0062 mov byte ptr data_206,al ; (3BBB:0062=0) 3BBB:7E03 3C 60 cmp al,60h ; '`' 3BBB:7E05 72 1B jb loc_1464 ; Jump if below 3BBB:7E07 C6 06 0062 00 mov byte ptr data_206,0 ; (3BBB:0062=0) 3BBB:7E0C A0 0061 mov al,data_205 ; (3BBB:0061=0) 3BBB:7E0F FE C0 inc al 3BBB:7E11 27 daa ; Decimal adjust 3BBB:7E12 A2 0061 mov data_205,al ; (3BBB:0061=0) 3BBB:7E15 3C 24 cmp al,24h ; '$' 3BBB:7E17 72 09 jb loc_1464 ; Jump if below 3BBB:7E19 C6 06 0061 00 mov data_205,0 ; (3BBB:0061=0) 3BBB:7E1E FF 06 005F inc data_204 ; (3BBB:005F=0) 3BBB:7E22 loc_1464: ; xref 3BBB:7DE0, 7DF3, 7E05, 7E17 3BBB:7E22 F6 06 0F00 FF test byte ptr ds:[0F00h],0FFh ; (3BBB:0F00=47h) 3BBB:7E27 74 0B jz loc_1465 ; Jump if zero 3BBB:7E29 8E 06 004E mov es,data_193 ; (3BBB:004E=0) 3BBB:7E2D BA 0001 mov dx,1 3BBB:7E30 FF 1E 0038 call dword ptr data_181 ; (3BBB:0038=0) 3BBB:7E34 loc_1465: ; xref 3BBB:7E27 3BBB:7E34 2B D2 sub dx,dx 3BBB:7E36 loc_1466: ; xref 3BBB:7E59 3BBB:7E36 ,8B DA mov bx,dx 3BBB:7E38 D1 E3 shl bx,1 ; Shift w/zeros fill 3BBB:7E3A 8B 9F 0F08 mov bx,ds:data_71e[bx] ; (000A:0F08=0DDC3h) 3BBB:7E3E 83 7F 20 00 cmp word ptr [bx+20h],0 3BBB:7E42 74 0E je loc_1467 ; Jump if equal 3BBB:7E44 FF 4F 20 dec word ptr [bx+20h] 3BBB:7E47 75 09 jnz loc_1467 ; Jump if not zero 3BBB:7E49 C6 47 05 FF mov byte ptr [bx+5],0FFh 3BBB:7E4D C6 06 0F02 FF mov byte ptr ds:data_69e,0FFh ; (000A:0F02=0FFh) 3BBB:7E52 loc_1467: ; xref 3BBB:7E42, 7E47 3BBB:7E52 3A 16 1041 cmp dl,ds:data_72e ; (000A:1041=2) 3BBB:7E56 73 03 jae loc_1468 ; Jump if above or = 3BBB:7E58 42 inc dx 3BBB:7E59 EB DB jmp short loc_1466 ; (7E36) 3BBB:7E5B loc_1468: ; xref 3BBB:7E56 3BBB:7E5B CD 1C int 1Ch ; Timer break (call each 18.2ms) 3BBB:7E5D C3 retn ;* No entry point to code 3BBB:7E5E CD 5B int 5Bh ; ??INT Non-standard interrupt 3BBB:7E60 C3 retn ;* No entry point to code 3BBB:7E61 CD 58 int 58h ; ??INT Non-standard interrupt 3BBB:7E63 C3 retn ;* No entry point to code 3BBB:7E64 CD 59 int 59h ; ??INT Non-standard interrupt 3BBB:7E66 C3 retn ;* No entry point to code 3BBB:7E67 CD 5C int 5Ch ; Netbios services interface 3BBB:7E69 C3 retn ;* No entry point to code 3BBB:7E6A CD 5D int 5Dh ; ??INT Non-standard interrupt 3BBB:7E6C C3 retn ;* No entry point to code 3BBB:7E6D CD 5E int 5Eh ; ??INT Non-standard interrupt 3BBB:7E6F C3 retn ;* No entry point to code 3BBB:7E70 CD 5F int 5Fh ; ??INT Non-standard interrupt 3BBB:7E72 C3 retn ;* No entry point to code 3BBB:7E73 CF iret ; Interrupt return ;* No entry point to code 3BBB:7E74 46 inc si 3BBB:7E75 44 inc sp 3BBB:7E76 49 dec cx 3BBB:7E77 53 push bx 3BBB:7E78 4B dec bx 3BBB:7E79 49 dec cx 3BBB:7E7A 4F dec di 3BBB:7E7B 2D 5343 sub ax,5343h 3BBB:7E7E 45 inc bp 3BBB:7E7F 47 inc di 3BBB:7E80 3A 06 2E55 cmp al,byte ptr ds:[2E55h] ; (3BBB:2E55=75h) 3BBB:7E84 8E 06 0006 mov es,data_160 ; (3BBB:0006=0Ah) 3BBB:7E88 26: FE 06 0F03 inc byte ptr es:data_70e ; (000A:0F03=0) 3BBB:7E8D 8B EC mov bp,sp 3BBB:7E8F C4 6E 04 les bp,dword ptr [bp+4] ; Load seg:offset ptr 3BBB:7E92 26: 81 7E 00 A49B cmp word ptr es:[bp],0A49Bh 3BBB:7E98 75 06 jne loc_1469 ; Jump if not equal 3BBB:7E9A 8B EC mov bp,sp 3BBB:7E9C 83 46 04 05 add word ptr [bp+4],5 3BBB:7EA0 loc_1469: ; xref 3BBB:7E98 3BBB:7EA0 5D pop bp 3BBB:7EA1 50 push ax 3BBB:7EA2 B8 F9F0 mov ax,0F9F0h 3BBB:7EA5 8E C0 mov es,ax 3BBB:7EA7 26: A0 0020 mov al,es:data_1147e ; (F9F0:0020=0FBh) 3BBB:7EAB B4 20 mov ah,20h ; ' ' 3BBB:7EAD loc_1470: ; xref 3BBB:7EAF 3BBB:7EAD FE CC dec ah 3BBB:7EAF 75 FC jnz loc_1470 ; Jump if not zero 3BBB:7EB1 26: C6 06 0020 D0 mov byte ptr es:data_1147e,0D0h ; (F9F0:0020=0FBh) 3BBB:7EB7 B4 35 mov ah,35h ; '5' 3BBB:7EB9 loc_1471: ; xref 3BBB:7EBB 3BBB:7EB9 FE CC dec ah 3BBB:7EBB 75 FC jnz loc_1471 ; Jump if not zero 3BBB:7EBD 26: 8A 26 0020 mov ah,es:data_1147e ; (F9F0:0020=0FBh) 3BBB:7EC2 26: C6 06 0006 64 mov byte ptr es:data_1145e,64h ; (F9F0:0006=3) 'd' 3BBB:7EC8 2E: 8E 06 0006 mov es,cs:data_160 ; (3BBB:0006=0Ah) 3BBB:7ECD 26: A2 3588 mov es:data_88e,al ; (000A:3588=0) 3BBB:7ED1 26: C6 06 3589 01 mov byte ptr es:data_89e,1 ; (000A:3589=0) 3BBB:7ED7 26: FE 0E 0F03 dec byte ptr es:data_70e ; (000A:0F03=0) 3BBB:7EDC 58 pop ax 3BBB:7EDD 07 pop es 3BBB:7EDE CF iret ; Interrupt return ;* No entry point to code 3BBB:7EDF 80 7F 1C 01 cmp byte ptr [bx+1Ch],1 3BBB:7EE3 A0 109B mov al,byte ptr ds:[109Bh] ; (3BBB:109B=8Bh) 3BBB:7EE6 74 03 jz loc_1472 ; Jump if zero 3BBB:7EE8 A0 109A mov al,byte ptr ds:[109Ah] ; (3BBB:109A=0E1h) 3BBB:7EEB loc_1472: ; xref 3BBB:7EE6 3BBB:7EEB 3C 02 cmp al,2 3BBB:7EED C6 47 1F 00 mov byte ptr [bx+1Fh],0 3BBB:7EF1 C6 47 1D 00 mov byte ptr [bx+1Dh],0 3BBB:7EF5 74 0E jz loc_ret_1473 ; Jump if zero 3BBB:7EF7 BE 3532 mov si,3532h 3BBB:7EFA 89 77 08 mov [bx+8],si 3BBB:7EFD C6 47 1F FF mov byte ptr [bx+1Fh],0FFh 3BBB:7F01 C6 47 1D FF mov byte ptr [bx+1Dh],0FFh 3BBB:7F05 loc_ret_1473: ; xref 3BBB:7EF5 3BBB:7F05 C3 retn ;* No entry point to code 3BBB:7F06 B0 02 mov al,2 3BBB:7F08 C3 retn ;* No entry point to code 3BBB:7F09 B0 01 mov al,1 3BBB:7F0B C3 retn ;* No entry point to code 3BBB:7F0C 53 push bx 3BBB:7F0D 80 3E 104F 00 cmp data_599,0 ; (3BBB:104F=4) 3BBB:7F12 74 54 je loc_1480 ; Jump if equal 3BBB:7F14 80 3E 104F 11 cmp data_599,11h ; (3BBB:104F=4) 3BBB:7F19 74 31 je loc_1476 ; Jump if equal 3BBB:7F1B 80 3E 104F 02 cmp data_599,2 ; (3BBB:104F=4) 3BBB:7F20 74 2F je loc_1477 ; Jump if equal 3BBB:7F22 80 3E 104F 01 cmp data_599,1 ; (3BBB:104F=4) 3BBB:7F27 74 2D je loc_1478 ; Jump if equal 3BBB:7F29 80 3E 104F FF cmp data_599,0FFh ; (3BBB:104F=4) 3BBB:7F2E 75 38 jne loc_1480 ; Jump if not equal 3BBB:7F30 80 7F 1C 01 cmp byte ptr [bx+1Ch],1 3BBB:7F34 A0 109B mov al,byte ptr ds:[109Bh] ; (3BBB:109B=8Bh) 3BBB:7F37 74 03 jz loc_1474 ; Jump if zero 3BBB:7F39 A0 109A mov al,byte ptr ds:[109Ah] ; (3BBB:109A=0E1h) 3BBB:7F3C loc_1474: ; xref 3BBB:7F37 3BBB:7F3C 3C 02 cmp al,2 3BBB:7F3E BE 3517 mov si,3517h 3BBB:7F41 74 03 jz loc_1475 ; Jump if zero 3BBB:7F43 BE 3532 mov si,3532h 3BBB:7F46 loc_1475: ; xref 3BBB:7F41 3BBB:7F46 BF 1D43 mov di,1D43h 3BBB:7F49 E9 00B6 jmp loc_1486 ; (8002) 3BBB:7F4C loc_1476: ; xref 3BBB:7F19 3BBB:7F4C BE 3568 mov si,3568h 3BBB:7F4F EB 08 jmp short loc_1479 ; (7F59) 3BBB:7F51 loc_1477: ; xref 3BBB:7F20 3BBB:7F51 BE 3517 mov si,3517h 3BBB:7F54 EB 03 jmp short loc_1479 ; (7F59) 3BBB:7F56 loc_1478: ; xref 3BBB:7F27 3BBB:7F56 BE 3532 mov si,3532h 3BBB:7F59 loc_1479: ; xref 3BBB:7F4F, 7F54 3BBB:7F59 BF 1D43 mov di,1D43h 3BBB:7F5C 5B pop bx 3BBB:7F5D 89 77 08 mov [bx+8],si 3BBB:7F60 89 7F 1A mov [bx+1Ah],di 3BBB:7F63 C6 47 22 00 mov byte ptr [bx+22h],0 3BBB:7F67 C3 retn 3BBB:7F68 loc_1480: ; xref 3BBB:7F12, 7F2E 3BBB:7F68 C6 06 34BC FF mov byte ptr ds:[34BCh],0FFh ; (3BBB:34BC=8Bh) 3BBB:7F6D 8A 47 1C mov al,[bx+1Ch] 3BBB:7F70 B4 01 mov ah,1 3BBB:7F72 50 push ax 3BBB:7F73 33 C0 xor ax,ax ; Zero register 3BBB:7F75 50 push ax 3BBB:7F76 50 push ax 3BBB:7F77 1E push ds 3BBB:7F78 B8 35BE mov ax,35BEh 3BBB:7F7B 50 push ax 3BBB:7F7C 83 EC 04 sub sp,4 3BBB:7F7F FF 57 18 call word ptr [bx+18h] ;* 3BBB:7F82 83 C4 0E add sp,0Eh 3BBB:7F85 C6 06 34BC 00 mov byte ptr ds:[34BCh],0 ; (3BBB:34BC=8Bh) 3BBB:7F8A 3C 00 cmp al,0 3BBB:7F8C 74 04 je loc_1481 ; Jump if equal 3BBB:7F8E 84 C0 test al,al 3BBB:7F90 75 56 jnz loc_1483 ; Jump if not zero 3BBB:7F92 loc_1481: ; xref 3BBB:7F8C 3BBB:7F92 ,BE 35BE mov si,35BEh ; (3BBB:35BE=74h) 3BBB:7F95 8A 84 01FF mov al,byte ptr ds:[1FFh][si] ; (3BBB:01FF=5Fh) 3BBB:7F99 3C 10 cmp al,10h 3BBB:7F9B BE 3532 mov si,3532h 3BBB:7F9E BF 1C26 mov di,1C26h 3BBB:7FA1 74 5F jz loc_1486 ; Jump if zero 3BBB:7FA3 3C 40 cmp al,40h ; '@' 3BBB:7FA5 74 5B je loc_1486 ; Jump if equal 3BBB:7FA7 3C 01 cmp al,1 3BBB:7FA9 BE 3568 mov si,3568h 3BBB:7FAC 74 54 jz loc_1486 ; Jump if zero 3BBB:7FAE 3C 11 cmp al,11h 3BBB:7FB0 BE 3517 mov si,3517h 3BBB:7FB3 BF 1D43 mov di,1D43h 3BBB:7FB6 74 38 jz loc_1484 ; Jump if zero 3BBB:7FB8 3C FF cmp al,0FFh 3BBB:7FBA 74 04 je loc_1482 ; Jump if equal 3BBB:7FBC 3C 00 cmp al,0 3BBB:7FBE 75 28 jne loc_1483 ; Jump if not equal 3BBB:7FC0 loc_1482: ; xref 3BBB:7FBA 3BBB:7FC0 ,BE 35BE mov si,35BEh ; (3BBB:35BE=74h) 3BBB:7FC3 80 7C 40 94 cmp byte ptr [si+40h],94h 3BBB:7FC7 BE 3517 mov si,3517h 3BBB:7FCA BF 1D43 mov di,1D43h 3BBB:7FCD 74 21 jz loc_1484 ; Jump if zero 3BBB:7FCF ,BE 35BE mov si,35BEh ; (3BBB:35BE=74h) 3BBB:7FD2 80 7C 40 26 cmp byte ptr [si+40h],26h ; '&' 3BBB:7FD6 BE 3532 mov si,3532h 3BBB:7FD9 BF 1C26 mov di,1C26h 3BBB:7FDC 74 24 jz loc_1486 ; Jump if zero 3BBB:7FDE 3C FF cmp al,0FFh 3BBB:7FE0 74 06 je loc_1483 ; Jump if equal 3BBB:7FE2 ,BE 354D mov si,354Dh ; (3BBB:354D=7Fh) 3BBB:7FE5 E9 001A jmpn loc_1486 ; (8002) 3BBB:7FE8 loc_1483: ; xref 3BBB:7F90, 7FBE, 7FE0, 8000 3BBB:7FE8 5B pop bx 3BBB:7FE9 C6 47 22 00 mov byte ptr [bx+22h],0 3BBB:7FED 2B DB sub bx,bx 3BBB:7FEF C3 retn 3BBB:7FF0 loc_1484: ; xref 3BBB:7FB6, 7FCD 3BBB:7FF0 5B pop bx 3BBB:7FF1 80 7F 1C 01 cmp byte ptr [bx+1Ch],1 3BBB:7FF5 A0 109B mov al,byte ptr ds:[109Bh] ; (3BBB:109B=8Bh) 3BBB:7FF8 74 03 jz loc_1485 ; Jump if zero 3BBB:7FFA A0 109A mov al,byte ptr ds:[109Ah] ; (3BBB:109A=0E1h) 3BBB:7FFD loc_1485: ; xref 3BBB:7FF8 3BBB:7FFD 3C 01 cmp al,1 3BBB:7FFF 53 push bx ;========================================================================== ; SUBROUTINE ;========================================================================== 3BBB:8000 sub_359 proc near 3BBB:8000 74 E6 jz loc_1483 ; Jump if zero 3BBB:8002 loc_1486: ; xref 3BBB:7F49, 7FA1, 7FA5, 7FAC ; 7FDC, 7FE5 3BBB:8002 5B pop bx 3BBB:8003 80 7F 1D FF cmp byte ptr [bx+1Dh],0FFh 3BBB:8007 90 nop 3BBB:8008 90 nop 3BBB:8009 BF 1D43 mov di,1D43h 3BBB:800C 89 77 08 mov [bx+8],si 3BBB:800F 89 7F 1A mov [bx+1Ah],di 3BBB:8012 C6 47 22 00 mov byte ptr [bx+22h],0 3BBB:8016 C3 retn sub_359 endp ;* No entry point to code 3BBB:8017 C6 06 358B 98 mov byte ptr ds:[358Bh],98h ; (3BBB:358B=0E4h) 3BBB:801C C6 06 35AD 00 mov byte ptr ds:[35ADh],0 ; (3BBB:35AD=6) 3BBB:8021 EB 0A jmp short loc_1487 ; (802D) ;* No entry point to code 3BBB:8023 C6 06 358B B8 mov byte ptr ds:[358Bh],0B8h ; (3BBB:358B=0E4h) 3BBB:8028 C6 06 35AD 01 mov byte ptr ds:[35ADh],1 ; (3BBB:35AD=6) 3BBB:802D loc_1487: ; xref 3BBB:8021 3BBB:802D 8B EC mov bp,sp 3BBB:802F 89 1E 3586 mov word ptr ds:[3586h],bx ; (3BBB:3586=0EAD0h) 3BBB:8033 8B 77 08 mov si,[bx+8] 3BBB:8036 8B 44 15 mov ax,[si+15h] 3BBB:8039 A3 3590 mov word ptr ds:[3590h],ax ; (3BBB:3590=8827h) 3BBB:803C 8A 44 17 mov al,[si+17h] 3BBB:803F A2 3592 mov byte ptr ds:[3592h],al ; (3BBB:3592=47h) 3BBB:8042 8A 44 18 mov al,[si+18h] 3BBB:8045 A2 3593 mov byte ptr ds:[3593h],al ; (3BBB:3593=3) 3BBB:8048 8A 44 11 mov al,[si+11h] 3BBB:804B A2 358C mov byte ptr ds:[358Ch],al ; (3BBB:358C=1) 3BBB:804E 8A 44 12 mov al,[si+12h] 3BBB:8051 A2 358D mov byte ptr ds:[358Dh],al ; (3BBB:358D=0D2h) 3BBB:8054 8A 44 13 mov al,[si+13h] 3BBB:8057 A2 358E mov byte ptr ds:[358Eh],al ; (3BBB:358E=0CCh) 3BBB:805A 8A 44 14 mov al,[si+14h] 3BBB:805D A2 358F mov byte ptr ds:[358Fh],al ; (3BBB:358F=8) 3BBB:8060 8A 44 19 mov al,[si+19h] 3BBB:8063 80 7F 1F FF cmp byte ptr [bx+1Fh],0FFh 3BBB:8067 75 02 jne loc_1488 ; Jump if not equal 3BBB:8069 B0 01 mov al,1 3BBB:806B loc_1488: ; xref 3BBB:8067 3BBB:806B A2 3594 mov byte ptr ds:[3594h],al ; (3BBB:3594=0C3h) 3BBB:806E 8A 44 1A mov al,[si+1Ah] 3BBB:8071 A2 3595 mov byte ptr ds:[3595h],al ; (3BBB:3595=83h) 3BBB:8074 8A 47 22 mov al,[bx+22h] 3BBB:8077 A2 3596 mov byte ptr ds:[3596h],al ; (3BBB:3596=3Eh) 3BBB:807A 8A 47 1C mov al,[bx+1Ch] 3BBB:807D ,BB 3598 mov bx,3598h ; (3BBB:3598=6) 3BBB:8080 88 07 mov [bx],al 3BBB:8082 A0 358B mov al,byte ptr ds:[358Bh] ; (3BBB:358B=0E4h) 3BBB:8085 88 47 0D mov [bx+0Dh],al 3BBB:8088 8A 46 0F mov al,[bp+0Fh] 3BBB:808B 32 E4 xor ah,ah ; Zero register 3BBB:808D 89 47 01 mov [bx+1],ax 3BBB:8090 8B 46 0C mov ax,[bp+0Ch] 3BBB:8093 88 47 03 mov [bx+3],al 3BBB:8096 8B 46 0A mov ax,[bp+0Ah] 3BBB:8099 88 47 05 mov [bx+5],al 3BBB:809C 8B 46 08 mov ax,[bp+8] 3BBB:809F 89 47 09 mov [bx+9],ax 3BBB:80A2 8B 46 06 mov ax,[bp+6] 3BBB:80A5 8B C8 mov cx,ax 3BBB:80A7 25 000F and ax,0Fh 3BBB:80AA 89 47 07 mov [bx+7],ax 3BBB:80AD 8B C1 mov ax,cx 3BBB:80AF B1 04 mov cl,4 3BBB:80B1 D3 E8 shr ax,cl ; Shift w/zeros fill 3BBB:80B3 01 47 09 add [bx+9],ax 3BBB:80B6 B8 F9F0 mov ax,0F9F0h 3BBB:80B9 8E C0 mov es,ax 3BBB:80BB E8 02EB call sub_365 ; (83A9) 3BBB:80BE 80 3E 3596 00 cmp byte ptr ds:[3596h],0 ; (3BBB:3596=3Eh) 3BBB:80C3 74 03 je loc_1489 ; Jump if equal 3BBB:80C5 E8 01F8 call sub_361 ; (82C0) 3BBB:80C8 loc_1489: ; xref 3BBB:80C3 3BBB:80C8 E8 0316 call sub_367 ; (83E1) 3BBB:80CB EB 0B jmp short loc_1491 ; (80D8) 3BBB:80CD loc_1490: ; xref 3BBB:8182, 81F6 3BBB:80CD ,26: A0 0020 mov al,es:data_172 ; (3BBB:0020=0) 3BBB:80D1 24 80 and al,80h 3BBB:80D3 75 73 jnz loc_1496 ; Jump if not zero 3BBB:80D5 E8 034C call sub_368 ; (8424) 3BBB:80D8 loc_1491: ; xref 3BBB:80CB 3BBB:80D8 75 6E jnz loc_1496 ; Jump if not zero 3BBB:80DA 80 3E 3595 FF cmp byte ptr ds:data_148e,0FFh ; (361E:3595=0FFh) 3BBB:80DF 75 03 jne loc_1492 ; Jump if not equal 3BBB:80E1 E9 00A1 jmp loc_1502 ; (8185) 3BBB:80E4 loc_1492: ; xref 3BBB:80DF 3BBB:80E4 33 C0 xor ax,ax ; Zero register 3BBB:80E6 8A 47 05 mov al,[bx+5] 3BBB:80E9 98 cbw ; Convrt byte to word 3BBB:80EA F6 36 3592 div byte ptr ds:data_145e ; (361E:3592=0FFh) al,ah rem = ax/data 3BBB:80EE 88 47 0E mov [bx+0Eh],al 3BBB:80F1 FE C4 inc ah 3BBB:80F3 88 67 05 mov [bx+5],ah 3BBB:80F6 0A C0 or al,al ; Zero ? 3BBB:80F8 75 07 jnz loc_1493 ; Jump if not zero 3BBB:80FA 80 67 0D FD and byte ptr [bx+0Dh],0FDh 3BBB:80FE E9 0004 jmpn loc_1494 ; (8105) 3BBB:8101 loc_1493: ; xref 3BBB:80F8 3BBB:8101 80 4F 0D 02 or byte ptr [bx+0Dh],2 3BBB:8105 loc_1494: ; xref 3BBB:80FE 3BBB:8105 A0 3592 mov al,ds:data_145e ; (361E:3592=0FFh) 3BBB:8108 FE C0 inc al 3BBB:810A 2A C4 sub al,ah 3BBB:810C 2A E4 sub ah,ah 3BBB:810E 8B 4F 01 mov cx,[bx+1] 3BBB:8111 3B C8 cmp cx,ax 3BBB:8113 88 4F 12 mov [bx+12h],cl 3BBB:8116 C7 47 01 0000 mov word ptr [bx+1],0 3BBB:811B 76 08 jbe loc_1495 ; Jump if below or = 3BBB:811D 88 47 12 mov [bx+12h],al 3BBB:8120 2B C8 sub cx,ax 3BBB:8122 89 4F 01 mov [bx+1],cx 3BBB:8125 loc_1495: ; xref 3BBB:811B 3BBB:8125 E8 00D1 call sub_360 ; (81F9) 3BBB:8128 33 C0 xor ax,ax ; Zero register 3BBB:812A 38 47 0B cmp [bx+0Bh],al 3BBB:812D 75 21 jne loc_1497 ; Jump if not equal 3BBB:812F 39 47 01 cmp [bx+1],ax 3BBB:8132 74 34 je loc_1499 ; Jump if equal 3BBB:8134 8A 26 3593 mov ah,ds:data_146e ; (361E:3593=0FFh) 3BBB:8138 FE CC dec ah 3BBB:813A 38 67 0E cmp [bx+0Eh],ah 3BBB:813D 75 33 jne loc_1500 ; Jump if not equal 3BBB:813F FE 47 03 inc byte ptr [bx+3] 3BBB:8142 88 47 05 mov [bx+5],al 3BBB:8145 E9 0030 jmpn loc_1501 ; (8178) 3BBB:8148 loc_1496: ; xref 3BBB:80D3, 80D8 3BBB:8148 26: 80 26 0024 F0 and es:data_174,0F0h ; (3BBB:0024=0) 3BBB:814E EB 03 jmp short loc_1498 ; (8153) 3BBB:8150 loc_1497: ; xref 3BBB:812D, 81DD 3BBB:8150 ,8A 47 0B mov al,[bx+0Bh] 3BBB:8153 loc_1498: ; xref 3BBB:814E 3BBB:8153 80 3E 34BC FF cmp byte ptr ds:data_139e,0FFh ; (361E:34BC=0FFh) 3BBB:8158 74 0E je loc_1499 ; Jump if equal 3BBB:815A 8B 36 3586 mov si,ds:data_140e ; (361E:3586=0FFFFh) 3BBB:815E C6 44 05 FF mov byte ptr [si+5],0FFh 3BBB:8162 C6 06 0F02 FF mov byte ptr ds:data_138e,0FFh ; (361E:0F02=0FFh) 3BBB:8167 C3 retn 3BBB:8168 loc_1499: ; xref 3BBB:8132, 8158, 81E3 3BBB:8168 8B 36 3586 mov si,word ptr ds:[3586h] ; (3BBB:3586=0EAD0h) 3BBB:816C C7 44 20 00C8 mov word ptr [si+20h],0C8h 3BBB:8171 C3 retn 3BBB:8172 loc_1500: ; xref 3BBB:813D 3BBB:8172 A0 3592 mov al,byte ptr ds:[3592h] ; (3BBB:3592=47h) 3BBB:8175 88 47 05 mov [bx+5],al 3BBB:8178 loc_1501: ; xref 3BBB:8145 3BBB:8178 8B 47 0F mov ax,[bx+0Fh] 3BBB:817B B1 04 mov cl,4 3BBB:817D D3 E8 shr ax,cl ; Shift w/zeros fill 3BBB:817F 01 47 09 add [bx+9],ax 3BBB:8182 E9 FF48 jmp loc_1490 ; (80CD) 3BBB:8185 loc_1502: ; xref 3BBB:80E1 3BBB:8185 32 C0 xor al,al ; Zero register 3BBB:8187 C6 47 0E 00 mov byte ptr [bx+0Eh],0 3BBB:818B 80 67 0D FD and byte ptr [bx+0Dh],0FDh 3BBB:818F 8A 47 03 mov al,[bx+3] 3BBB:8192 50 push ax 3BBB:8193 80 7F 03 28 cmp byte ptr [bx+3],28h ; '(' 3BBB:8197 72 12 jb loc_1503 ; Jump if below 3BBB:8199 C6 47 0E 01 mov byte ptr [bx+0Eh],1 3BBB:819D 80 4F 0D 02 or byte ptr [bx+0Dh],2 3BBB:81A1 8A 47 03 mov al,[bx+3] 3BBB:81A4 F6 D8 neg al 3BBB:81A6 04 4F add al,4Fh ; 'O' 3BBB:81A8 88 47 03 mov [bx+3],al 3BBB:81AB loc_1503: ; xref 3BBB:8197 3BBB:81AB FE 47 05 inc byte ptr [bx+5] 3BBB:81AE A0 3592 mov al,byte ptr ds:[3592h] ; (3BBB:3592=47h) 3BBB:81B1 FE C0 inc al 3BBB:81B3 2A 47 05 sub al,[bx+5] 3BBB:81B6 2A E4 sub ah,ah 3BBB:81B8 8B 4F 01 mov cx,[bx+1] 3BBB:81BB 3B C8 cmp cx,ax 3BBB:81BD 88 4F 12 mov [bx+12h],cl 3BBB:81C0 C7 47 01 0000 mov word ptr [bx+1],0 3BBB:81C5 76 08 jbe loc_1504 ; Jump if below or = 3BBB:81C7 88 47 12 mov [bx+12h],al 3BBB:81CA 2B C8 sub cx,ax 3BBB:81CC 89 4F 01 mov [bx+1],cx 3BBB:81CF loc_1504: ; xref 3BBB:81C5 3BBB:81CF E8 0027 call sub_360 ; (81F9) 3BBB:81D2 58 pop ax 3BBB:81D3 88 47 03 mov [bx+3],al 3BBB:81D6 33 C0 xor ax,ax ; Zero register 3BBB:81D8 38 47 0B cmp [bx+0Bh],al 3BBB:81DB 74 03 je loc_1505 ; Jump if equal 3BBB:81DD E9 FF70 jmp loc_1497 ; (8150) 3BBB:81E0 loc_1505: ; xref 3BBB:81DB 3BBB:81E0 39 47 01 cmp [bx+1],ax 3BBB:81E3 74 83 je loc_1499 ; Jump if equal 3BBB:81E5 FE 47 03 inc byte ptr [bx+3] 3BBB:81E8 C6 47 05 00 mov byte ptr [bx+5],0 3BBB:81EC 8B 47 0F mov ax,[bx+0Fh] 3BBB:81EF B1 04 mov cl,4 3BBB:81F1 D3 E8 shr ax,cl ; Shift w/zeros fill 3BBB:81F3 01 47 09 add [bx+9],ax 3BBB:81F6 E9 FED4 jmp loc_1490 ; (80CD) ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:8125, 81CF ;========================================================================== 3BBB:81F9 sub_360 proc near 3BBB:81F9 C6 47 11 02 mov byte ptr [bx+11h],2 3BBB:81FD A1 3590 mov ax,ds:data_144e ; (361E:3590=0FFFFh) 3BBB:8200 33 D2 xor dx,dx ; Zero register 3BBB:8202 8A 57 12 mov dl,[bx+12h] 3BBB:8205 F7 E2 mul dx ; dx:ax = reg * ax 3BBB:8207 89 47 0F mov [bx+0Fh],ax 3BBB:820A loc_1506: ; xref 3BBB:82BD 3BBB:820A ,E8 0164 call sub_364 ; (8371) 3BBB:820D 06 push es 3BBB:820E C4 7F 07 les di,dword ptr [bx+7] ; Load seg:offset ptr 3BBB:8211 89 3E 35B3 mov ds:data_150e,di ; (361E:35B3=0FFFFh) 3BBB:8215 8C 06 35B5 mov word ptr ds:data_150e+2,es ; (361E:35B5=0FFFFh) 3BBB:8219 C4 3E 35AF les di,dword ptr ds:data_149e ; (361E:35AF=0FFFFh) Load seg:offset p 3BBB:821D 89 3E 35B7 mov ds:data_152e,di ; (361E:35B7=0FFFFh) 3BBB:8221 8C 06 35B9 mov word ptr ds:data_152e+2,es ; (361E:35B9=0FFFFh) 3BBB:8225 07 pop es 3BBB:8226 B8 2036 mov ax,2036h 3BBB:8229 26: 80 26 0024 EF and byte ptr es:data_1151e,0EFh ; (F9F0:0024=0FDh) 3BBB:822F 80 7F 15 00 cmp byte ptr [bx+15h],0 3BBB:8233 74 2B je loc_1507 ; Jump if equal 3BBB:8235 06 push es 3BBB:8236 C4 3E 35AF les di,dword ptr ds:data_149e ; (361E:35AF=0FFFFh) Load seg:offset p 3BBB:823A 89 3E 35B3 mov ds:data_150e,di ; (361E:35B3=0FFFFh) 3BBB:823E 8C 06 35B5 mov word ptr ds:data_150e+2,es ; (361E:35B5=0FFFFh) 3BBB:8242 C4 7F 07 les di,dword ptr [bx+7] ; Load seg:offset ptr 3BBB:8245 89 3E 35B7 mov ds:data_152e,di ; (361E:35B7=0FFFFh) 3BBB:8249 8C 06 35B9 mov word ptr ds:data_152e+2,es ; (361E:35B9=0FFFFh) 3BBB:824D 07 pop es 3BBB:824E B8 202E mov ax,202Eh 3BBB:8251 8A 16 358C mov dl,ds:data_142e ; (361E:358C=0FFh) 3BBB:8255 38 57 03 cmp [bx+3],dl 3BBB:8258 72 06 jb loc_1507 ; Jump if below 3BBB:825A 26: 80 0E 0024 10 or byte ptr es:data_1151e,10h ; (F9F0:0024=0FDh) 3BBB:8260 loc_1507: ; xref 3BBB:8233, 8258 3BBB:8260 8A 57 05 mov dl,[bx+5] 3BBB:8263 26: 88 16 0022 mov es:data_1149e,dl ; (F9F0:0022=0FBh) 3BBB:8268 E8 0069 call sub_362 ; (82D4) 3BBB:826B 8A 47 05 mov al,[bx+5] 3BBB:826E 02 47 12 add al,[bx+12h] 3BBB:8271 26: 8A 26 0022 mov ah,es:data_1149e ; (F9F0:0022=0FBh) 3BBB:8276 3A C4 cmp al,ah 3BBB:8278 77 17 ja loc_1510 ; Jump if above 3BBB:827A C6 47 0B 00 mov byte ptr [bx+0Bh],0 3BBB:827E 26: A0 0021 mov al,es:data_1148e ; (F9F0:0021=0) 3BBB:8282 8A 27 mov ah,[bx] 3BBB:8284 0A E4 or ah,ah ; Zero ? 3BBB:8286 74 04 jz loc_1509 ; Jump if zero 3BBB:8288 88 47 14 mov [bx+14h],al 3BBB:828B loc_ret_1508: ; xref 3BBB:828F, 82A7, 82B2 3BBB:828B ,C3 retn 3BBB:828C loc_1509: ; xref 3BBB:8286 3BBB:828C 88 47 13 mov [bx+13h],al 3BBB:828F EB FA jmp short loc_ret_1508 ; (828B) 3BBB:8291 loc_1510: ; xref 3BBB:8278 3BBB:8291 80 7F 15 00 cmp byte ptr [bx+15h],0 3BBB:8295 74 12 je loc_1511 ; Jump if equal 3BBB:8297 C6 47 0B FF mov byte ptr [bx+0Bh],0FFh 3BBB:829B 26: A0 0020 mov al,es:data_1147e ; (F9F0:0020=0FBh) 3BBB:829F A8 40 test al,40h ; '@' 3BBB:82A1 74 0A jz loc_1512 ; Jump if zero 3BBB:82A3 C6 47 0B 02 mov byte ptr [bx+0Bh],2 3BBB:82A7 EB E2 jmp short loc_ret_1508 ; (828B) 3BBB:82A9 loc_1511: ; xref 3BBB:8295 3BBB:82A9 C6 47 0B FF mov byte ptr [bx+0Bh],0FFh 3BBB:82AD loc_1512: ; xref 3BBB:82A1 3BBB:82AD FE 4F 11 dec byte ptr [bx+11h] 3BBB:82B0 75 02 jnz loc_1513 ; Jump if not zero 3BBB:82B2 EB D7 jmp short loc_ret_1508 ; (828B) 3BBB:82B4 loc_1513: ; xref 3BBB:82B0 3BBB:82B4 80 7F 11 01 cmp byte ptr [bx+11h],1 3BBB:82B8 75 03 jne loc_1514 ; Jump if not equal 3BBB:82BA E8 0003 call sub_361 ; (82C0) 3BBB:82BD loc_1514: ; xref 3BBB:82B8 3BBB:82BD E9 FF4A jmp loc_1506 ; (820A) sub_360 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:80C5, 82BA ;========================================================================== 3BBB:82C0 sub_361 proc near 3BBB:82C0 A0 358D mov al,byte ptr ds:[358Dh] ; (3BBB:358D=0D2h) 3BBB:82C3 E8 010A call sub_366 ; (83D0) 3BBB:82C6 33 C0 xor ax,ax ; Zero register 3BBB:82C8 38 07 cmp [bx],al 3BBB:82CA 74 04 je loc_1515 ; Jump if equal 3BBB:82CC 88 47 14 mov [bx+14h],al 3BBB:82CF C3 retn 3BBB:82D0 loc_1515: ; xref 3BBB:82CA 3BBB:82D0 88 47 13 mov [bx+13h],al 3BBB:82D3 C3 retn sub_361 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:8268 ;========================================================================== 3BBB:82D4 sub_362 proc near 3BBB:82D4 50 push ax 3BBB:82D5 9C pushf ; Push flags 3BBB:82D6 FA cli ; Disable interrupts 3BBB:82D7 26: A0 0007 mov al,es:data_1146e ; (F9F0:0007=3) 3BBB:82DB A2 35BB mov ds:data_154e,al ; (361E:35BB=0FFh) 3BBB:82DE 0C EF or al,0EFh 3BBB:82E0 26: A2 0007 mov es:data_1146e,al ; (F9F0:0007=3) 3BBB:82E4 9D popf ; Pop flags 3BBB:82E5 8B 57 0F mov dx,[bx+0Fh] 3BBB:82E8 8A 47 0D mov al,[bx+0Dh] 3BBB:82EB 06 push es 3BBB:82EC C4 3E 35B3 les di,dword ptr ds:data_150e ; (361E:35B3=0FFFFh) Load seg:offset p 3BBB:82F0 8C C6 mov si,es 3BBB:82F2 07 pop es 3BBB:82F3 56 push si 3BBB:82F4 C5 36 35B7 lds si,dword ptr ds:data_152e ; (361E:35B7=0FFFFh) Load seg:offset p 3BBB:82F8 FC cld ; Clear direction 3BBB:82F9 26: A2 0020 mov es:data_1147e,al ; (F9F0:0020=0FBh) 3BBB:82FD B9 FFFF mov cx,0FFFFh 3BBB:8300 locloop_1516: ; xref 3BBB:8306 3BBB:8300 26: A0 0020 mov al,es:data_1147e ; (F9F0:0020=0FBh) 3BBB:8304 A8 01 test al,1 3BBB:8306 E1 F8 loopz locloop_1516 ; Loop if zf=1, cx>0 3BBB:8308 07 pop es 3BBB:8309 E3 13 jcxz loc_1517 ; Jump if cx=0 3BBB:830B 8B CA mov cx,dx 3BBB:830D C3 retn ;* No entry point to code 3BBB:830E 9B A4 4F E2 FB E9 db 9Bh,0A4h, 4Fh,0E2h,0FBh,0E9h 3BBB:8314 09 00 9B A4 4E E2 db 09h, 00h, 9Bh,0A4h, 4Eh,0E2h 3BBB:831A FB E9 01 00 db 0FBh,0E9h, 01h, 00h 3BBB:831E loc_1517: ; xref 3BBB:8309 3BBB:831E 58 pop ax 3BBB:831F 2E: 8E 1E 0006 mov ds,cs:data_160 ; (3BBB:0006=0Ah) 3BBB:8324 B8 F9F0 mov ax,0F9F0h 3BBB:8327 8E C0 mov es,ax 3BBB:8329 9C pushf ; Push flags 3BBB:832A FA cli ; Disable interrupts 3BBB:832B A0 35BB mov al,ds:data_90e ; (000A:35BB=0) 3BBB:832E 26: A2 0007 mov es:data_1146e,al ; (F9F0:0007=3) 3BBB:8332 9D popf ; Pop flags 3BBB:8333 B8 0001 mov ax,1 3BBB:8336 E8 0006 call sub_363 ; (833F) 3BBB:8339 B0 D8 mov al,0D8h 3BBB:833B E8 0092 call sub_366 ; (83D0) 3BBB:833E C3 retn sub_362 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:8336, 840C, 843D ;========================================================================== 3BBB:833F sub_363 proc near 3BBB:833F 80 3E 1046 00 cmp byte ptr ds:data_74e,0 ; (000A:1046=0) 3BBB:8344 74 15 je loc_1520 ; Jump if equal 3BBB:8346 80 3E 1046 01 cmp byte ptr ds:data_74e,1 ; (000A:1046=0) 3BBB:834B 74 16 je loc_1521 ; Jump if equal 3BBB:834D loc_1518: ; xref 3BBB:8358 3BBB:834D B5 20 mov ch,20h ; ' ' 3BBB:834F loc_1519: ; xref 3BBB:8355 3BBB:834F B1 14 mov cl,14h 3BBB:8351 D2 E9 shr cl,cl ; Shift w/zeros fill 3BBB:8353 FE CD dec ch 3BBB:8355 75 F8 jnz loc_1519 ; Jump if not zero 3BBB:8357 48 dec ax 3BBB:8358 75 F3 jnz loc_1518 ; Jump if not zero 3BBB:835A C3 retn 3BBB:835B loc_1520: ; xref 3BBB:8344, 8360 3BBB:835B B1 78 mov cl,78h ; 'x' 3BBB:835D D2 E9 shr cl,cl ; Shift w/zeros fill 3BBB:835F 48 dec ax 3BBB:8360 75 F9 jnz loc_1520 ; Jump if not zero 3BBB:8362 C3 retn 3BBB:8363 loc_1521: ; xref 3BBB:834B, 836E 3BBB:8363 B5 06 mov ch,6 3BBB:8365 loc_1522: ; xref 3BBB:836B 3BBB:8365 B1 35 mov cl,35h ; '5' 3BBB:8367 D2 E9 shr cl,cl ; Shift w/zeros fill 3BBB:8369 FE CD dec ch 3BBB:836B 75 F8 jnz loc_1522 ; Jump if not zero 3BBB:836D 48 dec ax 3BBB:836E 75 F3 jnz loc_1521 ; Jump if not zero 3BBB:8370 C3 retn sub_363 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:820A ;========================================================================== 3BBB:8371 sub_364 proc near 3BBB:8371 80 3E 3594 02 cmp byte ptr ds:data_147e,2 ; (361E:3594=0FFh) 3BBB:8376 75 23 jne loc_1523 ; Jump if not equal 3BBB:8378 8A 47 03 mov al,[bx+3] 3BBB:837B 02 C0 add al,al 3BBB:837D 26: A2 0023 mov es:data_1150e,al ; (F9F0:0023=4) 3BBB:8381 50 push ax 3BBB:8382 58 pop ax 3BBB:8383 26: A0 0021 mov al,es:data_1148e ; (F9F0:0021=0) 3BBB:8387 02 C0 add al,al 3BBB:8389 26: A2 0021 mov es:data_1148e,al ; (F9F0:0021=0) 3BBB:838D A0 358E mov al,ds:data_143e ; (361E:358E=0FFh) 3BBB:8390 E8 003D call sub_366 ; (83D0) 3BBB:8393 8A 47 03 mov al,[bx+3] 3BBB:8396 26: A2 0021 mov es:data_1148e,al ; (F9F0:0021=0) 3BBB:839A C3 retn 3BBB:839B loc_1523: ; xref 3BBB:8376 3BBB:839B 8A 47 03 mov al,[bx+3] 3BBB:839E 26: A2 0023 mov es:data_1150e,al ; (F9F0:0023=4) 3BBB:83A2 A0 358E mov al,ds:data_143e ; (361E:358E=0FFh) 3BBB:83A5 E8 0028 call sub_366 ; (83D0) 3BBB:83A8 C3 retn sub_364 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:80BB ;========================================================================== 3BBB:83A9 sub_365 proc near 3BBB:83A9 26: A0 0024 mov al,es:data_1151e ; (F9F0:0024=0FDh) 3BBB:83AD 24 F0 and al,0F0h 3BBB:83AF 26: A2 0024 mov es:data_1151e,al ; (F9F0:0024=0FDh) 3BBB:83B3 8A 27 mov ah,[bx] 3BBB:83B5 0A E4 or ah,ah ; Zero ? 3BBB:83B7 74 08 jz loc_1524 ; Jump if zero 3BBB:83B9 0C 02 or al,2 3BBB:83BB 8A 67 14 mov ah,[bx+14h] 3BBB:83BE E9 0005 jmpn loc_1525 ; (83C6) 3BBB:83C1 loc_1524: ; xref 3BBB:83B7 3BBB:83C1 0C 01 or al,1 3BBB:83C3 8A 67 13 mov ah,[bx+13h] 3BBB:83C6 loc_1525: ; xref 3BBB:83BE 3BBB:83C6 26: 88 26 0021 mov es:data_1148e,ah ; (F9F0:0021=0) 3BBB:83CB 26: A2 0024 mov es:data_1151e,al ; (F9F0:0024=0FDh) 3BBB:83CF C3 retn sub_365 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:82C3, 833B, 8390, 83A5, 83EE ;========================================================================== 3BBB:83D0 sub_366 proc near 3BBB:83D0 C6 06 3589 00 mov byte ptr ds:[3589h],0 ; (3BBB:3589=0FAh) 3BBB:83D5 26: A2 0020 mov es:data_1147e,al ; (F9F0:0020=0FBh) 3BBB:83D9 loc_1526: ; xref 3BBB:83DE 3BBB:83D9 A0 3589 mov al,byte ptr ds:[3589h] ; (3BBB:3589=0FAh) 3BBB:83DC 0A C0 or al,al ; Zero ? 3BBB:83DE 74 F9 jz loc_1526 ; Jump if zero 3BBB:83E0 C3 retn sub_366 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:80C8 ;========================================================================== 3BBB:83E1 sub_367 proc near 3BBB:83E1 26: A0 0021 mov al,es:data_1148e ; (F9F0:0021=0) 3BBB:83E5 50 push ax 3BBB:83E6 58 pop ax 3BBB:83E7 26: A2 0023 mov es:data_1150e,al ; (F9F0:0023=4) 3BBB:83EB A0 358E mov al,byte ptr ds:[358Eh] ; (3BBB:358E=0CCh) 3BBB:83EE E8 FFDF call sub_366 ; (83D0) 3BBB:83F1 B6 02 mov dh,2 3BBB:83F3 loc_1527: ; xref 3BBB:8419 3BBB:83F3 B2 18 mov dl,18h 3BBB:83F5 C6 06 3589 00 mov byte ptr ds:[3589h],0 ; (3BBB:3589=0FAh) 3BBB:83FA 26: C6 06 0020 D4 mov byte ptr es:data_1147e,0D4h ; (F9F0:0020=0FBh) 3BBB:8400 loc_1528: ; xref 3BBB:8411 3BBB:8400 A0 3589 mov al,byte ptr ds:[3589h] ; (3BBB:3589=0FAh) 3BBB:8403 0A C0 or al,al ; Zero ? 3BBB:8405 B0 00 mov al,0 3BBB:8407 75 0E jnz loc_1529 ; Jump if not zero 3BBB:8409 B8 0050 mov ax,50h 3BBB:840C E8 FF30 call sub_363 ; (833F) 3BBB:840F FE CA dec dl 3BBB:8411 75 ED jnz loc_1528 ; Jump if not zero 3BBB:8413 B0 01 mov al,1 3BBB:8415 EB 04 jmp short loc_1530 ; (841B) 3BBB:8417 loc_1529: ; xref 3BBB:8407 3BBB:8417 FE CE dec dh 3BBB:8419 75 D8 jnz loc_1527 ; Jump if not zero 3BBB:841B loc_1530: ; xref 3BBB:8415 3BBB:841B 26: C6 06 0020 D0 mov byte ptr es:data_1147e,0D0h ; (F9F0:0020=0FBh) 3BBB:8421 0A C0 or al,al ; Zero ? 3BBB:8423 C3 retn sub_367 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:80D5 ;========================================================================== 3BBB:8424 sub_368 proc near 3BBB:8424 B2 78 mov dl,78h ; 'x' 3BBB:8426 C6 06 3589 00 mov byte ptr ds:data_141e,0 ; (361E:3589=0FFh) 3BBB:842B 26: C6 06 0020 C4 mov es:data_172,0C4h ; (3BBB:0020=0) 3BBB:8431 loc_1531: ; xref 3BBB:8442 3BBB:8431 A0 3589 mov al,ds:data_141e ; (361E:3589=0FFh) 3BBB:8434 0A C0 or al,al ; Zero ? 3BBB:8436 B0 00 mov al,0 3BBB:8438 75 0C jnz loc_1532 ; Jump if not zero 3BBB:843A B8 0050 mov ax,50h 3BBB:843D E8 FEFF call sub_363 ; (833F) 3BBB:8440 FE CA dec dl 3BBB:8442 75 ED jnz loc_1531 ; Jump if not zero 3BBB:8444 B0 FF mov al,0FFh 3BBB:8446 loc_1532: ; xref 3BBB:8438 3BBB:8446 26: C6 06 0020 D0 mov es:data_172,0D0h ; (3BBB:0020=0) 3BBB:844C 0A C0 or al,al ; Zero ? 3BBB:844E C3 retn sub_368 endp ;* No entry point to code 3BBB:844F 48 dec ax 3BBB:8450 44 inc sp 3BBB:8451 49 dec cx 3BBB:8452 53 push bx 3BBB:8453 4B dec bx 3BBB:8454 49 dec cx 3BBB:8455 4F dec di 3BBB:8456 2D 5343 sub ax,5343h 3BBB:8459 45 inc bp 3BBB:845A 47 inc di 3BBB:845B 3A C3 cmp al,bl 3BBB:845D B4 03 mov ah,3 3BBB:845F EB 02 jmp short loc_1533 ; (8463) 3BBB:8461 B4 02 db 0B4h, 02h 3BBB:8463 loc_1533: ; xref 3BBB:845F 3BBB:8463 06 push es 3BBB:8464 89 1E 37C0 mov word ptr ds:[37C0h],bx ; (3BBB:37C0=693h) 3BBB:8468 8B F3 mov si,bx 3BBB:846A ,BB 3834 mov bx,3834h ; (3BBB:3834=0E8h) 3BBB:846D C6 47 11 03 mov byte ptr [bx+11h],3 3BBB:8471 88 67 13 mov [bx+13h],ah 3BBB:8474 2A 06 1041 sub al,byte ptr ds:[1041h] ; (3BBB:1041=0FEh) 3BBB:8478 FE C8 dec al 3BBB:847A BF 37E1 mov di,37E1h 3BBB:847D 0A C0 or al,al ; Zero ? 3BBB:847F 74 03 jz loc_1534 ; Jump if zero 3BBB:8481 BF 3809 mov di,3809h 3BBB:8484 loc_1534: ; xref 3BBB:847F 3BBB:8484 0C 80 or al,80h 3BBB:8486 88 47 02 mov [bx+2],al 3BBB:8489 8A 46 0F mov al,[bp+0Fh] 3BBB:848C 2A E4 sub ah,ah 3BBB:848E 89 07 mov [bx],ax 3BBB:8490 8B 46 08 mov ax,[bp+8] 3BBB:8493 89 47 09 mov [bx+9],ax 3BBB:8496 8B 46 06 mov ax,[bp+6] 3BBB:8499 8B C8 mov cx,ax 3BBB:849B 25 000F and ax,0Fh 3BBB:849E 89 47 07 mov [bx+7],ax 3BBB:84A1 8B C1 mov ax,cx 3BBB:84A3 B1 04 mov cl,4 3BBB:84A5 D3 E8 shr ax,cl ; Shift w/zeros fill 3BBB:84A7 01 47 09 add [bx+9],ax 3BBB:84AA 8B 46 0A mov ax,[bp+0Ah] 3BBB:84AD 03 44 1F add ax,[si+1Fh] 3BBB:84B0 33 D2 xor dx,dx ; Zero register 3BBB:84B2 2A ED sub ch,ch 3BBB:84B4 8A 4C 24 mov cl,[si+24h] 3BBB:84B7 F7 F1 div cx ; ax,dx rem=dx:ax/reg 3BBB:84B9 8A 4C 23 mov cl,[si+23h] 3BBB:84BC FE C1 inc cl 3BBB:84BE F6 F1 div cl ; al, ah rem = ax/reg 3BBB:84C0 88 67 0E mov [bx+0Eh],ah 3BBB:84C3 88 57 05 mov [bx+5],dl 3BBB:84C6 32 E4 xor ah,ah ; Zero register 3BBB:84C8 03 46 0C add ax,[bp+0Ch] 3BBB:84CB 89 47 03 mov [bx+3],ax 3BBB:84CE loc_1535: ; xref 3BBB:8554 3BBB:84CE ,33 C0 xor ax,ax ; Zero register 3BBB:84D0 8A 44 24 mov al,[si+24h] 3BBB:84D3 2A C2 sub al,dl 3BBB:84D5 8B 17 mov dx,[bx] 3BBB:84D7 3B D0 cmp dx,ax 3BBB:84D9 77 07 ja loc_1536 ; Jump if above 3BBB:84DB 88 57 12 mov [bx+12h],dl 3BBB:84DE 2B D2 sub dx,dx 3BBB:84E0 EB 05 jmp short loc_1537 ; (84E7) 3BBB:84E2 loc_1536: ; xref 3BBB:84D9 3BBB:84E2 2B D0 sub dx,ax 3BBB:84E4 88 47 12 mov [bx+12h],al 3BBB:84E7 loc_1537: ; xref 3BBB:84E0 3BBB:84E7 89 17 mov [bx],dx 3BBB:84E9 loc_1538: ; xref 3BBB:851E 3BBB:84E9 8B 47 03 mov ax,[bx+3] 3BBB:84EC 8A E8 mov ch,al 3BBB:84EE D0 CC ror ah,1 ; Rotate 3BBB:84F0 D0 CC ror ah,1 ; Rotate 3BBB:84F2 80 E4 C0 and ah,0C0h 3BBB:84F5 8A 4F 05 mov cl,[bx+5] 3BBB:84F8 0A CC or cl,ah 3BBB:84FA FE C1 inc cl 3BBB:84FC 8B 47 09 mov ax,[bx+9] 3BBB:84FF 8E C0 mov es,ax 3BBB:8501 8A 67 13 mov ah,[bx+13h] 3BBB:8504 8A 47 12 mov al,[bx+12h] 3BBB:8507 8A 77 0E mov dh,[bx+0Eh] 3BBB:850A 8A 57 02 mov dl,[bx+2] 3BBB:850D 53 push bx 3BBB:850E 8B 5F 07 mov bx,[bx+7] 3BBB:8511 CD 13 int 13h ; ??INT Non-standard interrupt 3BBB:8513 5B pop bx 3BBB:8514 73 0D jnc loc_1539 ; Jump if carry=0 3BBB:8516 8A 47 11 mov al,[bx+11h] 3BBB:8519 FE C8 dec al 3BBB:851B 88 47 11 mov [bx+11h],al 3BBB:851E 75 C9 jnz loc_1538 ; Jump if not zero 3BBB:8520 E9 0034 jmpn loc_1542 ; (8557) 3BBB:8523 loc_1539: ; xref 3BBB:8514 3BBB:8523 33 C0 xor ax,ax ; Zero register 3BBB:8525 39 07 cmp [bx],ax 3BBB:8527 74 30 je loc_1543 ; Jump if equal 3BBB:8529 8A 47 0E mov al,[bx+0Eh] 3BBB:852C 3A 44 23 cmp al,[si+23h] 3BBB:852F 74 04 je loc_1540 ; Jump if equal 3BBB:8531 FE C0 inc al 3BBB:8533 EB 05 jmp short loc_1541 ; (853A) 3BBB:8535 loc_1540: ; xref 3BBB:852F 3BBB:8535 FF 47 03 inc word ptr [bx+3] 3BBB:8538 B0 00 mov al,0 3BBB:853A loc_1541: ; xref 3BBB:8533 3BBB:853A 88 47 0E mov [bx+0Eh],al 3BBB:853D 8A 47 12 mov al,[bx+12h] 3BBB:8540 98 cbw ; Convrt byte to word 3BBB:8541 8B 54 25 mov dx,[si+25h] 3BBB:8544 F7 E2 mul dx ; dx:ax = reg * ax 3BBB:8546 B1 04 mov cl,4 3BBB:8548 D3 E8 shr ax,cl ; Shift w/zeros fill 3BBB:854A 01 47 09 add [bx+9],ax 3BBB:854D 33 C0 xor ax,ax ; Zero register 3BBB:854F 89 47 05 mov [bx+5],ax 3BBB:8552 8A D0 mov dl,al 3BBB:8554 E9 FF77 jmp loc_1535 ; (84CE) 3BBB:8557 loc_1542: ; xref 3BBB:8520 3BBB:8557 B0 01 mov al,1 3BBB:8559 loc_1543: ; xref 3BBB:8527 3BBB:8559 07 pop es 3BBB:855A C3 retn ;* No entry point to code 3BBB:855B 41 inc cx 3BBB:855C 55 push bp 3BBB:855D 58 pop ax 3BBB:855E 49 dec cx 3BBB:855F 4F dec di 3BBB:8560 2D 5343 sub ax,5343h 3BBB:8563 45 inc bp 3BBB:8564 47 inc di 3BBB:8565 3A B2 8B02 cmp dh,byte ptr ss:[8B02h][bp+si] ; (3BBB:8B02=0CFh) 3BBB:8569 6F 08 BE 78 38 E8 db 6Fh, 08h,0BEh, 78h, 38h,0E8h 3BBB:856F 4C 00 0B C0 75 40 db 4Ch, 00h, 0Bh,0C0h, 75h, 40h 3BBB:8575 06 B8 F0 F9 8E C0 db 06h,0B8h,0F0h,0F9h, 8Eh,0C0h 3BBB:857B 26 C6 06 31 00 00 db 26h,0C6h, 06h, 31h, 00h, 00h 3BBB:8581 E8 32 00 26 C6 06 db 0E8h, 32h, 00h, 26h,0C6h, 06h 3BBB:8587 31 00 00 E8 29 00 db 31h, 00h, 00h,0E8h, 29h, 00h 3BBB:858D 26 C6 06 31 00 40 db 26h,0C6h, 06h, 31h, 00h, 40h 3BBB:8593 E8 20 00 E8 1D 00 db 0E8h, 20h, 00h,0E8h, 1Dh, 00h 3BBB:8599 26 88 16 31 00 8A db 26h, 88h, 16h, 31h, 00h, 8Ah 3BBB:859F 77 29 E8 12 00 26 db 77h, 29h,0E8h, 12h, 00h, 26h 3BBB:85A5 88 36 31 00 BB D5 db 88h, 36h, 31h, 00h,0BBh,0D5h 3BBB:85AB 10 88 77 06 88 67 db 10h, 88h, 77h, 06h, 88h, 67h 3BBB:85B1 05 07 33 C0 C3 B4 db 05h, 07h, 33h,0C0h,0C3h,0B4h 3BBB:85B7 FF db 0FFh 3BBB:85B8 loc_1544: ; xref 3BBB:85BA 3BBB:85B8 FE CC dec ah 3BBB:85BA 75 FC jnz loc_1544 ; Jump if not zero 3BBB:85BC C3 retn 3BBB:85BD loc_1545: ; xref 3BBB:85DF 3BBB:85BD ,8B FD mov di,bp 3BBB:85BF AD lodsw ; String [si] to ax 3BBB:85C0 0B C0 or ax,ax ; Zero ? 3BBB:85C2 74 20 jz loc_ret_1547 ; Jump if zero 3BBB:85C4 23 F8 and di,ax 3BBB:85C6 AD lodsw ; String [si] to ax 3BBB:85C7 8B C8 mov cx,ax 3BBB:85C9 D3 CF ror di,cl ; Rotate 3BBB:85CB 8A CD mov cl,ch 3BBB:85CD 32 ED xor ch,ch ; Zero register 3BBB:85CF 3B F9 cmp di,cx 3BBB:85D1 73 0E jae loc_1546 ; Jump if above or = 3BBB:85D3 03 FE add di,si 3BBB:85D5 8A 05 mov al,[di] 3BBB:85D7 3C FF cmp al,0FFh 3BBB:85D9 74 06 je loc_1546 ; Jump if equal 3BBB:85DB 0A D0 or dl,al 3BBB:85DD 03 F1 add si,cx 3BBB:85DF EB DC jmp short loc_1545 ; (85BD) 3BBB:85E1 loc_1546: ; xref 3BBB:85D1, 85D9 3BBB:85E1 B8 FFFF mov ax,0FFFFh 3BBB:85E4 loc_ret_1547: ; xref 3BBB:85C2 3BBB:85E4 C3 retn ;* No entry point to code 3BBB:85E5 33 C0 xor ax,ax ; Zero register 3BBB:85E7 C3 retn ;* No entry point to code 3BBB:85E8 C3 retn ;* No entry point to code 3BBB:85E9 8C C5 mov bp,es 3BBB:85EB B8 F9F0 mov ax,0F9F0h 3BBB:85EE 8E C0 mov es,ax 3BBB:85F0 33 C0 xor ax,ax ; Zero register 3BBB:85F2 26: 8A 16 0031 mov dl,es:data_1153e ; (F9F0:0031=80h) 3BBB:85F7 80 E2 81 and dl,81h 3BBB:85FA 80 FA 81 cmp dl,81h 3BBB:85FD 75 01 jne loc_1548 ; Jump if not equal 3BBB:85FF 48 dec ax 3BBB:8600 loc_1548: ; xref 3BBB:85FD 3BBB:8600 8E C5 mov es,bp 3BBB:8602 C3 retn ;* No entry point to code 3BBB:8603 8C C5 mov bp,es 3BBB:8605 B8 F9F0 mov ax,0F9F0h 3BBB:8608 8E C0 mov es,ax 3BBB:860A 26: 8A 16 0033 mov dl,es:data_1154e ; (F9F0:0033=0C0h) 3BBB:860F 80 E2 70 and dl,70h ; 'p' 3BBB:8612 80 FA 70 cmp dl,70h ; 'p' 3BBB:8615 74 1A je loc_1551 ; Jump if equal 3BBB:8617 loc_1549: ; xref 3BBB:862A 3BBB:8617 ,26: A0 0031 mov al,es:data_1153e ; (F9F0:0031=80h) 3BBB:861B 24 81 and al,81h 3BBB:861D 3C 81 cmp al,81h 3BBB:861F 74 0B je loc_1550 ; Jump if equal 3BBB:8621 06 push es 3BBB:8622 8E C5 mov es,bp 3BBB:8624 51 push cx 3BBB:8625 E8 DF0F call sub_331 ; (6537) 3BBB:8628 59 pop cx 3BBB:8629 07 pop es 3BBB:862A EB EB jmp short loc_1549 ; (8617) 3BBB:862C loc_1550: ; xref 3BBB:861F 3BBB:862C 26: 88 0E 0030 mov es:data_1152e,cl ; (F9F0:0030=3Fh) 3BBB:8631 loc_1551: ; xref 3BBB:8615 3BBB:8631 8E C5 mov es,bp 3BBB:8633 C3 retn 3BBB:8634 000C[00] db 12 dup (0) 3BBB:8640 E9 FD 00 db 0E9h,0FDh, 00h 3BBB:8643 0037[00] db 55 dup (0) 3BBB:867A 31 31 31 31 38 33 db '111183CP/M-86 Plus' 3BBB:8680 43 50 2F 4D 2D 38 3BBB:8686 36 20 50 6C 75 73 3BBB:868C 00 00 00 00 43 4F db 00h, 00h, 00h, 00h, 43h, 4Fh 3BBB:8692 50 59 52 49 47 48 db 'PYRIGHT 1983, DIGITAL RESEARCHXX' 3BBB:8698 54 20 31 39 38 33 3BBB:869E 2C 20 44 49 47 49 3BBB:86A4 54 41 4C 20 52 45 3BBB:86AA 53 45 41 52 43 48 3BBB:86B0 58 58 3BBB:86B2 58 58 2D 30 30 30 db 'XX-0000-005434' 3BBB:86B8 30 2D 30 30 35 34 3BBB:86BE 33 34 3BBB:86C0 0071[00] db 113 dup (0) 3BBB:8731 43 53 45 47 20 70 db 'CSEG patch area' 3BBB:8737 61 74 63 68 20 61 3BBB:873D 72 65 61 3BBB:8740 FA 8C D8 8E D0 BC db 0FAh, 8Ch,0D8h, 8Eh,0D0h,0BCh 3BBB:8746 0D 06 FB E8 42 0C db 0Dh, 06h,0FBh,0E8h, 42h, 0Ch 3BBB:874C E8 CE 0E 80 3E A8 db 0E8h,0CEh, 0Eh, 80h, 3Eh,0A8h 3BBB:8752 01 00 74 03 E8 db 01h, 00h, 74h, 03h,0E8h 3BBB:8757 54 0D db 54h, 0Dh 3BBB:8759 loc_1552: ; xref 3BBB:8804, 8830, 8844, 8853 ; 8866, 8870, 8959, 8A2A ; 8A73, 8AFD, 8D52, 8DEC ; 8DF7, 8E7B, 8E9C, 90E1 ; 95E8, 9890 3BBB:8759 ,A0 01A7 mov al,data_261 ; (3BBB:01A7=0A0h) 3BBB:875C 0A C0 or al,al ; Zero ? 3BBB:875E 74 11 jz loc_1553 ; Jump if zero 3BBB:8760 B1 6C mov cl,6Ch ; 'l' 3BBB:8762 BA FFFF mov dx,0FFFFh 3BBB:8765 CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:8767 3D FFFE cmp ax,0FFFEh 3BBB:876A 75 05 jne loc_1553 ; Jump if not equal 3BBB:876C C6 06 01A7 00 mov data_261,0 ; (3BBB:01A7=0A0h) 3BBB:8771 loc_1553: ; xref 3BBB:875E, 876A 3BBB:8771 FE 06 0186 inc data_234 ; (3BBB:0186=0ACh) 3BBB:8775 74 11 jz loc_1554 ; Jump if zero 3BBB:8777 E8 0D33 call sub_413 ; (94AD) 3BBB:877A FE 06 0186 inc data_234 ; (3BBB:0186=0ACh) 3BBB:877E 80 3E 0192 00 cmp byte ptr data_245,0 ; (3BBB:0192=0E2h) 3BBB:8783 75 03 jne loc_1554 ; Jump if not equal 3BBB:8785 E8 09DF call sub_392 ; (9167) 3BBB:8788 loc_1554: ; xref 3BBB:8775, 8783 3BBB:8788 FE 0E 0186 dec data_234 ; (3BBB:0186=0ACh) 3BBB:878C BB 060B mov bx,60Bh 3BBB:878F 8B E3 mov sp,bx 3BBB:8791 BB 0119 mov bx,119h 3BBB:8794 53 push bx 3BBB:8795 33 C0 xor ax,ax ; Zero register 3BBB:8797 A2 058C mov byte ptr ds:[58Ch],al ; (3BBB:058C=0ABh) 3BBB:879A A2 018E mov data_242,al ; (3BBB:018E=6Fh) 3BBB:879D A2 018F mov data_243,al ; (3BBB:018F=0A0h) 3BBB:87A0 A2 01A8 mov data_262,al ; (3BBB:01A8=0A0h) 3BBB:87A3 C7 06 0194 00FF mov data_247,0FFh ; (3BBB:0194=504h) 3BBB:87A9 A0 01A3 mov al,data_258 ; (3BBB:01A3=0A0h) 3BBB:87AC 0A C0 or al,al ; Zero ? 3BBB:87AE 74 03 jz loc_1555 ; Jump if zero 3BBB:87B0 E8 0E74 call sub_430 ; (9627) 3BBB:87B3 loc_1555: ; xref 3BBB:87AE 3BBB:87B3 E8 0E3C call sub_427 ; (95F2) 3BBB:87B6 A0 079A mov al,data_523 ; (3BBB:079A=0A5h) 3BBB:87B9 E8 0965 call sub_388 ; (9121) 3BBB:87BC 80 3E 01A7 00 cmp data_261,0 ; (3BBB:01A7=0A0h) 3BBB:87C1 74 53 je loc_1558 ; Jump if equal 3BBB:87C3 C6 06 0192 FF mov byte ptr data_245,0FFh ; (3BBB:0192=0E2h) 3BBB:87C8 FE 06 0188 inc data_236 ; (3BBB:0188=0E1h) 3BBB:87CC 75 0A jnz loc_1556 ; Jump if not zero 3BBB:87CE ,BE 0234 mov si,234h ; (3BBB:0234=2Eh) 3BBB:87D1 ,BF 01B2 mov di,offset data_266 ; (3BBB:01B2=0A0h) 3BBB:87D4 B1 41 mov cl,41h ; 'A' 3BBB:87D6 F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:87D8 loc_1556: ; xref 3BBB:87CC 3BBB:87D8 FE 0E 01A7 dec data_261 ; (3BBB:01A7=0A0h) 3BBB:87DC 8B 3E 01A5 mov di,data_260 ; (3BBB:01A5=0A070h) 3BBB:87E0 A0 0798 mov al,data_522 ; (3BBB:0798=7) 3BBB:87E3 8B DF mov bx,di 3BBB:87E5 81 EB 01B4 sub bx,1B4h 3BBB:87E9 8A 0E 01B3 mov cl,data_267 ; (3BBB:01B3=0A0h) 3BBB:87ED B5 00 mov ch,0 3BBB:87EF 2B CB sub cx,bx 3BBB:87F1 F2/ AE repne scasb ; Rep zf=0+cx >0 Scan es:[di] for al 3BBB:87F3 8B DF mov bx,di 3BBB:87F5 E8 0EB8 call sub_437 ; (96B0) 3BBB:87F8 89 1E 0587 mov word ptr ds:[587h],bx ; (3BBB:0587=258h) 3BBB:87FC 89 1E 01A5 mov data_260,bx ; (3BBB:01A5=0A070h) 3BBB:8800 53 push bx 3BBB:8801 75 04 jnz loc_1557 ; Jump if not zero 3BBB:8803 5B pop bx 3BBB:8804 E9 FF52 jmp loc_1552 ; (8759) 3BBB:8807 loc_1557: ; xref 3BBB:8801 3BBB:8807 8A 0E 0798 mov cl,data_522 ; (3BBB:0798=7) 3BBB:880B E8 0E33 call sub_431 ; (9641) 3BBB:880E E8 0E0C call sub_429 ; (961D) 3BBB:8811 5B pop bx 3BBB:8812 8A 07 mov al,[bx] 3BBB:8814 EB 24 jmp short loc_1561 ; (883A) 3BBB:8816 loc_1558: ; xref 3BBB:87C1 3BBB:8816 C6 06 0192 00 mov byte ptr data_245,0 ; (3BBB:0192=0E2h) 3BBB:881B FE 06 0186 inc data_234 ; (3BBB:0186=0ACh) 3BBB:881F 75 07 jnz loc_1559 ; Jump if not zero 3BBB:8821 FE 0E 0186 dec data_234 ; (3BBB:0186=0ACh) 3BBB:8825 E8 093F call sub_392 ; (9167) 3BBB:8828 loc_1559: ; xref 3BBB:881F 3BBB:8828 E8 0980 call sub_395 ; (91AB) 3BBB:882B E8 0E82 call sub_437 ; (96B0) 3BBB:882E 75 03 jnz loc_1560 ; Jump if not zero 3BBB:8830 E9 FF26 jmp loc_1552 ; (8759) 3BBB:8833 loc_1560: ; xref 3BBB:882E 3BBB:8833 E8 0966 call sub_394 ; (919C) 3BBB:8836 89 1E 01A5 mov data_260,bx ; (3BBB:01A5=0A070h) 3BBB:883A loc_1561: ; xref 3BBB:8814 3BBB:883A E8 0A84 call sub_406 ; (92C1) 3BBB:883D 80 3E 01B3 00 cmp data_267,0 ; (3BBB:01B3=0A0h) 3BBB:8842 75 03 jne loc_1562 ; Jump if not equal 3BBB:8844 E9 FF12 jmp loc_1552 ; (8759) 3BBB:8847 loc_1562: ; xref 3BBB:8842 3BBB:8847 8B 1E 0587 mov bx,word ptr ds:[587h] ; (3BBB:0587=258h) 3BBB:884B 8A 07 mov al,[bx] 3BBB:884D 50 push ax 3BBB:884E 53 push bx 3BBB:884F 3C 3B cmp al,3Bh ; ';' 3BBB:8851 75 03 jne loc_1563 ; Jump if not equal 3BBB:8853 E9 FF03 jmp loc_1552 ; (8759) 3BBB:8856 loc_1563: ; xref 3BBB:8851 3BBB:8856 3C 3A cmp al,3Ah ; ':' 3BBB:8858 75 1F jne loc_1566 ; Jump if not equal 3BBB:885A B1 6C mov cl,6Ch ; 'l' 3BBB:885C BA FFFF mov dx,0FFFFh 3BBB:885F CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:8861 3D FF00 cmp ax,0FF00h 3BBB:8864 72 03 jb loc_1564 ; Jump if below 3BBB:8866 E9 FEF0 jmp loc_1552 ; (8759) 3BBB:8869 loc_1564: ; xref 3BBB:8864 3BBB:8869 80 3E 0193 00 cmp byte ptr data_245+1,0 ; (3BBB:0193=0E4h) 3BBB:886E 75 03 jne loc_1565 ; Jump if not equal 3BBB:8870 E9 FEE6 jmp loc_1552 ; (8759) 3BBB:8873 loc_1565: ; xref 3BBB:886E 3BBB:8873 FF 06 0587 inc word ptr ds:[587h] ; (3BBB:0587=258h) 3BBB:8877 EB 0B jmp short loc_1567 ; (8884) 3BBB:8879 loc_1566: ; xref 3BBB:8858 3BBB:8879 C6 06 0193 FF mov byte ptr data_245+1,0FFh ; (3BBB:0193=0E4h) 3BBB:887E B1 6C mov cl,6Ch ; 'l' 3BBB:8880 33 D2 xor dx,dx ; Zero register 3BBB:8882 CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:8884 loc_1567: ; xref 3BBB:8877 3BBB:8884 5B pop bx 3BBB:8885 53 push bx 3BBB:8886 43 inc bx 3BBB:8887 E8 0E26 call sub_437 ; (96B0) 3BBB:888A 5B pop bx 3BBB:888B 58 pop ax 3BBB:888C 75 1F jnz loc_1570 ; Jump if not zero 3BBB:888E 3C 39 cmp al,39h ; '9' 3BBB:8890 7F 04 jg loc_1568 ; Jump if > 3BBB:8892 3C 30 cmp al,30h ; '0' 3BBB:8894 7D 17 jge loc_1570 ; Jump if > or = 3BBB:8896 loc_1568: ; xref 3BBB:8890 3BBB:8896 3C 7A cmp al,7Ah ; 'z' 3BBB:8898 7F 0C jg loc_1569 ; Jump if > 3BBB:889A 3C 61 cmp al,61h ; 'a' 3BBB:889C 7D 0F jge loc_1570 ; Jump if > or = 3BBB:889E 3C 5A cmp al,5Ah ; 'Z' 3BBB:88A0 7F 04 jg loc_1569 ; Jump if > 3BBB:88A2 3C 41 cmp al,41h ; 'A' 3BBB:88A4 7D 07 jge loc_1570 ; Jump if > or = 3BBB:88A6 loc_1569: ; xref 3BBB:8898, 88A0 3BBB:88A6 89 1E 019A mov data_252,bx ; (3BBB:019A=0A0A0h) 3BBB:88AA E9 0DA6 jmp loc_1777 ; (9653) 3BBB:88AD loc_1570: ; xref 3BBB:888C, 8894, 889C, 88A4 3BBB:88AD E8 096C call sub_403 ; (921C) 3BBB:88B0 FE 06 017E inc data_228 ; (3BBB:017E=1) 3BBB:88B4 75 1E jnz loc_1574 ; Jump if not zero 3BBB:88B6 B9 0004 mov cx,4 3BBB:88B9 locloop_1571: ; xref 3BBB:88C4 3BBB:88B9 3C 3A cmp al,3Ah ; ':' 3BBB:88BB 74 0B je loc_1572 ; Jump if equal 3BBB:88BD 43 inc bx 3BBB:88BE 8A 07 mov al,[bx] 3BBB:88C0 3C 20 cmp al,20h ; ' ' 3BBB:88C2 74 0D je loc_1573 ; Jump if equal 3BBB:88C4 E2 F3 loop locloop_1571 ; Loop if cx > 0 3BBB:88C6 EB 09 jmp short loc_1573 ; (88D1) 3BBB:88C8 loc_1572: ; xref 3BBB:88BB 3BBB:88C8 43 inc bx 3BBB:88C9 E8 0DE4 call sub_437 ; (96B0) 3BBB:88CC 75 03 jnz loc_1573 ; Jump if not zero 3BBB:88CE E9 008E jmp loc_1584 ; (895F) 3BBB:88D1 loc_1573: ; xref 3BBB:88C2, 88C6, 88CC 3BBB:88D1 E9 0161 jmp loc_1597 ; (8A35) 3BBB:88D4 loc_1574: ; xref 3BBB:88B4 3BBB:88D4 FE 0E 017E dec data_228 ; (3BBB:017E=1) 3BBB:88D8 8B 3E 0587 mov di,word ptr ds:[587h] ; (3BBB:0587=258h) 3BBB:88DC 89 3E 019A mov data_252,di ; (3BBB:019A=0A0A0h) 3BBB:88E0 89 1E 0587 mov word ptr ds:[587h],bx ; (3BBB:0587=258h) 3BBB:88E4 8A 07 mov al,[bx] 3BBB:88E6 E8 0DCA call sub_438 ; (96B3) 3BBB:88E9 75 09 jnz loc_1575 ; Jump if not zero 3BBB:88EB C7 06 0587 0000 mov word ptr ds:[587h],0 ; (3BBB:0587=258h) 3BBB:88F1 E9 00AE jmp loc_1589 ; (89A2) 3BBB:88F4 loc_1575: ; xref 3BBB:88E9 3BBB:88F4 C6 06 019F 00 mov data_256,0 ; (3BBB:019F=22h) 3BBB:88F9 80 3E 019E 00 cmp data_255,0 ; (3BBB:019E=0A0h) 3BBB:88FE 75 07 jne loc_1576 ; Jump if not equal 3BBB:8900 80 3E 0196 00 cmp data_248,0 ; (3BBB:0196=21h) 3BBB:8905 74 55 je loc_1583 ; Jump if equal 3BBB:8907 loc_1576: ; xref 3BBB:88FE 3BBB:8907 53 push bx 3BBB:8908 50 push ax 3BBB:8909 loc_1577: ; xref 3BBB:8928 3BBB:8909 ,E8 0DA7 call sub_438 ; (96B3) 3BBB:890C 74 1C jz loc_1579 ; Jump if zero 3BBB:890E 3A 06 0794 cmp al,data_520 ; (3BBB:0794=8Eh) 3BBB:8912 74 26 je loc_1580 ; Jump if equal 3BBB:8914 3A 06 0792 cmp al,data_519 ; (3BBB:0792=1Eh) 3BBB:8918 74 20 je loc_1580 ; Jump if equal 3BBB:891A 3A 06 0796 cmp al,data_521 ; (3BBB:0796=2Eh) 3BBB:891E 75 05 jne loc_1578 ; Jump if not equal 3BBB:8920 C6 06 0184 FF mov data_232,0FFh ; (3BBB:0184=0DFh) 3BBB:8925 loc_1578: ; xref 3BBB:891E, 8940 3BBB:8925 ,43 inc bx 3BBB:8926 8A 07 mov al,[bx] 3BBB:8928 EB DF jmp short loc_1577 ; (8909) 3BBB:892A loc_1579: ; xref 3BBB:890C 3BBB:892A 58 pop ax 3BBB:892B 5B pop bx 3BBB:892C 80 3E 0184 FF cmp data_232,0FFh ; (3BBB:0184=0DFh) 3BBB:8931 75 29 jne loc_1583 ; Jump if not equal 3BBB:8933 FE 0E 0196 dec data_248 ; (3BBB:0196=21h) 3BBB:8937 E9 00B5 jmp loc_1592 ; (89EF) 3BBB:893A loc_1580: ; xref 3BBB:8912, 8918 3BBB:893A E8 0AEB call sub_409 ; (9428) 3BBB:893D 75 03 jnz loc_1581 ; Jump if not zero 3BBB:893F 43 inc bx 3BBB:8940 EB E3 jmp short loc_1578 ; (8925) 3BBB:8942 loc_1581: ; xref 3BBB:893D 3BBB:8942 80 3E 0184 FF cmp data_232,0FFh ; (3BBB:0184=0DFh) 3BBB:8947 75 09 jne loc_1582 ; Jump if not equal 3BBB:8949 58 pop ax 3BBB:894A 5B pop bx 3BBB:894B FE 0E 0184 dec data_232 ; (3BBB:0184=0DFh) 3BBB:894F E9 009D jmp loc_1592 ; (89EF) 3BBB:8952 loc_1582: ; xref 3BBB:8947 3BBB:8952 E8 0D8C call sub_440 ; (96E1) 3BBB:8955 58 pop ax 3BBB:8956 5B pop bx 3BBB:8957 75 03 jnz loc_1583 ; Jump if not zero 3BBB:8959 E9 FDFD jmp loc_1552 ; (8759) 3BBB:895C loc_1583: ; xref 3BBB:8905, 8931, 8957 3BBB:895C E9 0043 jmpn loc_1589 ; (89A2) 3BBB:895F loc_1584: ; xref 3BBB:88CE 3BBB:895F B5 04 mov ch,4 3BBB:8961 2A E9 sub ch,cl 3BBB:8963 8A CD mov cl,ch 3BBB:8965 8B 1E 0587 mov bx,word ptr ds:[587h] ; (3BBB:0587=258h) 3BBB:8969 8A 07 mov al,[bx] 3BBB:896B E8 0B48 call sub_414 ; (94B6) 3BBB:896E 73 14 jnc loc_1586 ; Jump if carry=0 3BBB:8970 E8 0C22 call sub_425 ; (9595) 3BBB:8973 0A C9 or cl,cl ; Zero ? 3BBB:8975 74 08 jz loc_1585 ; Jump if zero 3BBB:8977 8A 07 mov al,[bx] 3BBB:8979 E8 001E call sub_369 ; (899A) 3BBB:897C E8 0B43 call sub_415 ; (94C2) 3BBB:897F loc_1585: ; xref 3BBB:8975 3BBB:897F E8 0B59 call sub_417 ; (94DB) 3BBB:8982 EB 13 jmp short loc_1588 ; (8997) 3BBB:8984 loc_1586: ; xref 3BBB:896E 3BBB:8984 E8 0013 call sub_369 ; (899A) 3BBB:8987 0A C9 or cl,cl ; Zero ? 3BBB:8989 74 09 jz loc_1587 ; Jump if zero 3BBB:898B 43 inc bx 3BBB:898C 8A 07 mov al,[bx] 3BBB:898E E8 0C04 call sub_425 ; (9595) 3BBB:8991 E8 0B47 call sub_417 ; (94DB) 3BBB:8994 loc_1587: ; xref 3BBB:8989 3BBB:8994 E8 0B2B call sub_415 ; (94C2) 3BBB:8997 loc_1588: ; xref 3BBB:8982 3BBB:8997 E9 0B07 jmp loc_1746 ; (94A1) ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:8979, 8984 ;========================================================================== 3BBB:899A sub_369 proc near 3BBB:899A 2C 41 sub al,41h ; 'A' 3BBB:899C A2 018A mov data_238,al ; (3BBB:018A=0AFh) 3BBB:899F FE C9 dec cl 3BBB:89A1 C3 retn sub_369 endp 3BBB:89A2 loc_1589: ; xref 3BBB:88F1, 895C 3BBB:89A2 ,BF 0234 mov di,234h ; (3BBB:0234=2Eh) 3BBB:89A5 ,BE 01B4 mov si,offset data_268 ; (3BBB:01B4=0A0h) 3BBB:89A8 B5 00 mov ch,0 3BBB:89AA 8A 0E 01B3 mov cl,data_267 ; (3BBB:01B3=0A0h) 3BBB:89AE 56 push si 3BBB:89AF 57 push di 3BBB:89B0 51 push cx 3BBB:89B1 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:89B3 E8 07D7 call sub_393 ; (918D) 3BBB:89B6 E8 0AE8 call sub_412 ; (94A1) 3BBB:89B9 59 pop cx 3BBB:89BA 5E pop si 3BBB:89BB 5F pop di 3BBB:89BC F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:89BE 8B 1E 0587 mov bx,word ptr ds:[587h] ; (3BBB:0587=258h) 3BBB:89C2 8A 07 mov al,[bx] 3BBB:89C4 3A 06 0794 cmp al,data_520 ; (3BBB:0794=8Eh) 3BBB:89C8 74 06 je loc_1590 ; Jump if equal 3BBB:89CA 3A 06 0792 cmp al,data_519 ; (3BBB:0792=1Eh) 3BBB:89CE 75 0A jne loc_1591 ; Jump if not equal 3BBB:89D0 loc_1590: ; xref 3BBB:89C8 3BBB:89D0 80 3E 019F FF cmp data_256,0FFh ; (3BBB:019F=22h) 3BBB:89D5 74 03 je loc_1591 ; Jump if equal 3BBB:89D7 BB 0000 mov bx,0 3BBB:89DA loc_1591: ; xref 3BBB:89CE, 89D5 3BBB:89DA 33 C0 xor ax,ax ; Zero register 3BBB:89DC A0 017E mov al,data_228 ; (3BBB:017E=1) 3BBB:89DF FE C8 dec al 3BBB:89E1 D1 E0 shl ax,1 ; Shift w/zeros fill 3BBB:89E3 C6 06 0188 00 mov data_236,0 ; (3BBB:0188=0E1h) 3BBB:89E8 ,BE 016A mov si,offset data_226 ; (3BBB:016A=0D5h) 3BBB:89EB 03 F0 add si,ax 3BBB:89ED FF 24 jmp word ptr [si] ;* 3BBB:89EF loc_1592: ; xref 3BBB:8937, 894F 3BBB:89EF 80 3E 017E 04 cmp data_228,4 ; (3BBB:017E=1) 3BBB:89F4 74 07 je loc_1593 ; Jump if equal 3BBB:89F6 80 3E 017E 06 cmp data_228,6 ; (3BBB:017E=1) 3BBB:89FB 75 0C jne loc_1594 ; Jump if not equal 3BBB:89FD loc_1593: ; xref 3BBB:89F4 3BBB:89FD E8 05ED call sub_380 ; (8FED) 3BBB:8A00 BB 04C6 mov bx,4C6h 3BBB:8A03 89 1E 0587 mov word ptr ds:[587h],bx ; (3BBB:0587=258h) 3BBB:8A07 EB 2C jmp short loc_1597 ; (8A35) 3BBB:8A09 loc_1594: ; xref 3BBB:89FB 3BBB:8A09 80 3E 017E 09 cmp data_228,9 ; (3BBB:017E=1) 3BBB:8A0E 7D 0E jge loc_1595 ; Jump if > or = 3BBB:8A10 80 3E 017E 03 cmp data_228,3 ; (3BBB:017E=1) 3BBB:8A15 7F 16 jg loc_1596 ; Jump if > 3BBB:8A17 80 3E 017E 01 cmp data_228,1 ; (3BBB:017E=1) 3BBB:8A1C 74 0F je loc_1596 ; Jump if equal 3BBB:8A1E loc_1595: ; xref 3BBB:8A0E 3BBB:8A1E E8 0E72 call sub_442 ; (9893) 3BBB:8A21 BA 081C mov dx,81Ch 3BBB:8A24 E8 073B call sub_391 ; (9162) 3BBB:8A27 E8 0BF3 call sub_429 ; (961D) 3BBB:8A2A E9 FD2C jmp loc_1552 ; (8759) 3BBB:8A2D loc_1596: ; xref 3BBB:8A15, 8A1C 3BBB:8A2D 8B 1E 019A mov bx,data_252 ; (3BBB:019A=0A0A0h) 3BBB:8A31 89 1E 0587 mov word ptr ds:[587h],bx ; (3BBB:0587=258h) 3BBB:8A35 loc_1597: ; xref 3BBB:88D1, 8A07, 8DCC, 8EC1 ; 8F84, 96DD 3BBB:8A35 ,8B 1E 0587 mov bx,word ptr ds:[587h] ; (3BBB:0587=258h) 3BBB:8A39 89 1E 019A mov data_252,bx ; (3BBB:019A=0A0A0h) 3BBB:8A3D loc_1598: ; xref 3BBB:8A71 3BBB:8A3D 80 3E 019E 00 cmp data_255,0 ; (3BBB:019E=0A0h) 3BBB:8A42 74 32 je loc_1602 ; Jump if equal 3BBB:8A44 0B DB or bx,bx ; Zero ? 3BBB:8A46 74 2E jz loc_1602 ; Jump if zero 3BBB:8A48 C6 06 019F 00 mov data_256,0 ; (3BBB:019F=22h) 3BBB:8A4D loc_1599: ; xref 3BBB:8A61 3BBB:8A4D ,8A 07 mov al,[bx] 3BBB:8A4F E8 0C5E call sub_437 ; (96B0) 3BBB:8A52 74 22 jz loc_1602 ; Jump if zero 3BBB:8A54 3A 06 0794 cmp al,data_520 ; (3BBB:0794=8Eh) 3BBB:8A58 74 09 je loc_1600 ; Jump if equal 3BBB:8A5A 3A 06 0792 cmp al,data_519 ; (3BBB:0792=1Eh) 3BBB:8A5E 74 03 je loc_1600 ; Jump if equal 3BBB:8A60 43 inc bx 3BBB:8A61 EB EA jmp short loc_1599 ; (8A4D) 3BBB:8A63 loc_1600: ; xref 3BBB:8A58, 8A5E 3BBB:8A63 E8 09C2 call sub_409 ; (9428) 3BBB:8A66 75 06 jnz loc_1601 ; Jump if not zero 3BBB:8A68 8B 1E 019A mov bx,data_252 ; (3BBB:019A=0A0A0h) 3BBB:8A6C EB 08 jmp short loc_1602 ; (8A76) 3BBB:8A6E loc_1601: ; xref 3BBB:8A66 3BBB:8A6E E8 0C70 call sub_440 ; (96E1) 3BBB:8A71 75 CA jnz loc_1598 ; Jump if not zero 3BBB:8A73 E9 FCE3 jmp loc_1552 ; (8759) 3BBB:8A76 loc_1602: ; xref 3BBB:8A42, 8A46, 8A52, 8A6C 3BBB:8A76 C6 06 0191 FF mov data_244,0FFh ; (3BBB:0191=0A0h) 3BBB:8A7B C6 06 018C 00 mov data_240,0 ; (3BBB:018C=6Dh) 3BBB:8A80 C6 06 018D 00 mov data_241,0 ; (3BBB:018D=6Eh) 3BBB:8A85 BA 005C mov dx,5Ch 3BBB:8A88 E8 08B0 call sub_407 ; (933B) 3BBB:8A8B 74 08 jz loc_1603 ; Jump if zero 3BBB:8A8D C6 06 018D FF mov data_241,0FFh ; (3BBB:018D=6Eh) 3BBB:8A92 E8 051E call sub_376 ; (8FB3) 3BBB:8A95 loc_1603: ; xref 3BBB:8A8B 3BBB:8A95 C6 06 0189 FF mov data_237,0FFh ; (3BBB:0189=0AEh) 3BBB:8A9A E8 0A4B call sub_418 ; (94E8) ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:9723 ;========================================================================== 3BBB:8A9D sub_370 proc near 3BBB:8A9D 0A C0 or al,al ; Zero ? 3BBB:8A9F C6 06 0180 01 mov data_230,1 ; (3BBB:0180=0DBh) 3BBB:8AA4 75 0F jnz loc_1605 ; Jump if not zero 3BBB:8AA6 A0 01A9 mov al,data_263 ; (3BBB:01A9=0A0h) 3BBB:8AA9 0A C0 or al,al ; Zero ? 3BBB:8AAB 74 05 jz loc_1604 ; Jump if zero 3BBB:8AAD C6 06 0180 02 mov data_230,2 ; (3BBB:0180=0DBh) 3BBB:8AB2 loc_1604: ; xref 3BBB:8AAB, 8B64 3BBB:8AB2 ,E8 0A88 call sub_419 ; (953D) 3BBB:8AB5 loc_1605: ; xref 3BBB:8AA4, 8B9E 3BBB:8AB5 ,8B DA mov bx,dx 3BBB:8AB7 80 3F 00 cmp byte ptr [bx],0 3BBB:8ABA 75 50 jne loc_1610 ; Jump if not equal 3BBB:8ABC FE 06 0191 inc data_244 ; (3BBB:0191=0A0h) 3BBB:8AC0 53 push bx 3BBB:8AC1 C6 06 02B4 87 mov byte ptr ds:[2B4h],87h ; (3BBB:02B4=0) 3BBB:8AC6 E8 09C8 call sub_411 ; (9491) 3BBB:8AC9 5A pop dx 3BBB:8ACA B9 0004 mov cx,4 3BBB:8ACD C6 06 0187 00 mov data_235,0 ; (3BBB:0187=0ADh) 3BBB:8AD2 locloop_1606: ; xref 3BBB:8B01 3BBB:8AD2 8A 07 mov al,[bx] 3BBB:8AD4 FE C0 inc al 3BBB:8AD6 74 2B jz loc_1609 ; Jump if zero 3BBB:8AD8 3C 01 cmp al,1 3BBB:8ADA 74 6C je loc_1613 ; Jump if equal 3BBB:8ADC FE C8 dec al 3BBB:8ADE FE C8 dec al 3BBB:8AE0 8A 26 01A2 mov ah,data_257 ; (3BBB:01A2=0A0h) 3BBB:8AE4 2A E0 sub ah,al 3BBB:8AE6 74 60 jz loc_1613 ; Jump if zero 3BBB:8AE8 EB 6D jmp short loc_1614 ; (8B57) 3BBB:8AEA loc_1607: ; xref 3BBB:8B5F 3BBB:8AEA ,51 push cx 3BBB:8AEB 53 push bx 3BBB:8AEC E8 06EC call sub_398 ; (91DB) 3BBB:8AEF 5B pop bx 3BBB:8AF0 59 pop cx 3BBB:8AF1 FE C0 inc al 3BBB:8AF3 75 72 jnz loc_1616 ; Jump if not zero 3BBB:8AF5 80 FC 00 cmp ah,0 3BBB:8AF8 74 06 je loc_1608 ; Jump if equal 3BBB:8AFA E8 0B20 call sub_429 ; (961D) 3BBB:8AFD E9 FC59 jmp loc_1552 ; (8759) 3BBB:8B00 loc_1608: ; xref 3BBB:8AF8, 8B4D 3BBB:8B00 43 inc bx 3BBB:8B01 E2 CF loop locloop_1606 ; Loop if cx > 0 3BBB:8B03 loc_1609: ; xref 3BBB:8AD6 3BBB:8B03 8B DA mov bx,dx 3BBB:8B05 C6 07 00 mov byte ptr [bx],0 3BBB:8B08 8B D3 mov dx,bx 3BBB:8B0A EB 0D jmp short loc_1611 ; (8B19) 3BBB:8B0C loc_1610: ; xref 3BBB:8ABA 3BBB:8B0C E8 06CC call sub_398 ; (91DB) 3BBB:8B0F FE C0 inc al 3BBB:8B11 75 54 jnz loc_1616 ; Jump if not zero 3BBB:8B13 80 FC 07 cmp ah,7 3BBB:8B16 75 01 jne loc_1611 ; Jump if not equal 3BBB:8B18 C3 retn 3BBB:8B19 loc_1611: ; xref 3BBB:8B0A, 8B16 3BBB:8B19 FE 0E 0180 dec data_230 ; (3BBB:0180=0DBh) 3BBB:8B1D 75 42 jnz loc_1615 ; Jump if not zero 3BBB:8B1F 80 3E 0189 00 cmp data_237,0 ; (3BBB:0189=0AEh) 3BBB:8B24 74 1F je loc_1612 ; Jump if equal 3BBB:8B26 A0 01A9 mov al,data_263 ; (3BBB:01A9=0A0h) 3BBB:8B29 0A C0 or al,al ; Zero ? 3BBB:8B2B 74 18 jz loc_1612 ; Jump if zero 3BBB:8B2D 50 push ax 3BBB:8B2E A0 018F mov al,data_243 ; (3BBB:018F=0A0h) 3BBB:8B31 50 push ax 3BBB:8B32 C6 06 018F FF mov data_243,0FFh ; (3BBB:018F=0A0h) 3BBB:8B37 E8 05BD call sub_386 ; (90F7) 3BBB:8B3A 58 pop ax 3BBB:8B3B A2 018F mov data_243,al ; (3BBB:018F=0A0h) 3BBB:8B3E 58 pop ax 3BBB:8B3F BA 005C mov dx,5Ch 3BBB:8B42 E8 09F8 call sub_419 ; (953D) 3BBB:8B45 loc_1612: ; xref 3BBB:8B24, 8B2B 3BBB:8B45 E9 05AF jmp loc_1699 ; (90F7) 3BBB:8B48 loc_1613: ; xref 3BBB:8ADA, 8AE6 3BBB:8B48 80 3E 0187 FF cmp data_235,0FFh ; (3BBB:0187=0ADh) 3BBB:8B4D 74 B1 je loc_1608 ; Jump if equal 3BBB:8B4F C6 06 0187 FF mov data_235,0FFh ; (3BBB:0187=0ADh) 3BBB:8B54 A0 01A2 mov al,data_257 ; (3BBB:01A2=0A0h) 3BBB:8B57 loc_1614: ; xref 3BBB:8AE8 3BBB:8B57 FE C0 inc al 3BBB:8B59 87 DA xchg bx,dx 3BBB:8B5B 88 07 mov [bx],al 3BBB:8B5D 87 DA xchg bx,dx 3BBB:8B5F EB 89 jmp short loc_1607 ; (8AEA) 3BBB:8B61 loc_1615: ; xref 3BBB:8B1D 3BBB:8B61 E8 09ED call sub_420 ; (9551) 3BBB:8B64 E9 FF4B jmp loc_1604 ; (8AB2) 3BBB:8B67 loc_1616: ; xref 3BBB:8AF3, 8B11 3BBB:8B67 80 3E 018C 00 cmp data_240,0 ; (3BBB:018C=6Dh) 3BBB:8B6C 74 03 je loc_1617 ; Jump if equal 3BBB:8B6E E9 0138 jmp loc_1641 ; (8CA9) 3BBB:8B71 loc_1617: ; xref 3BBB:8B6C 3BBB:8B71 E8 066E call sub_399 ; (91E2) 3BBB:8B74 BF 0080 mov di,80h 3BBB:8B77 FE 06 0189 inc data_237 ; (3BBB:0189=0AEh) 3BBB:8B7B 75 24 jnz loc_1619 ; Jump if not zero 3BBB:8B7D ,BB 0065 mov bx,offset data_209 ; (3BBB:0065=0) 3BBB:8B80 B9 0003 mov cx,3 3BBB:8B83 ,BE 04C0 mov si,4C0h ; (3BBB:04C0=0C3h) 3BBB:8B86 locloop_1618: ; xref 3BBB:8B90 3BBB:8B86 8A 07 mov al,[bx] 3BBB:8B88 24 7F and al,7Fh 3BBB:8B8A 3A 04 cmp al,[si] 3BBB:8B8C 75 2E jne loc_1621 ; Jump if not equal 3BBB:8B8E 46 inc si 3BBB:8B8F 43 inc bx 3BBB:8B90 E2 F4 loop locloop_1618 ; Loop if cx > 0 3BBB:8B92 BA 012E mov dx,12Eh 3BBB:8B95 C6 06 0180 01 mov data_230,1 ; (3BBB:0180=0DBh) 3BBB:8B9A A0 0191 mov al,data_244 ; (3BBB:0191=0A0h) 3BBB:8B9D 50 push ax 3BBB:8B9E E9 FF14 jmp loc_1605 ; (8AB5) 3BBB:8BA1 loc_1619: ; xref 3BBB:8B7B 3BBB:8BA1 8B F2 mov si,dx 3BBB:8BA3 46 inc si 3BBB:8BA4 80 3E 0191 FF cmp data_244,0FFh ; (3BBB:0191=0A0h) 3BBB:8BA9 75 03 jne loc_1620 ; Jump if not equal 3BBB:8BAB E8 09B0 call sub_421 ; (955E) 3BBB:8BAE loc_1620: ; xref 3BBB:8BA9 3BBB:8BAE B9 0003 mov cx,3 3BBB:8BB1 F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:8BB3 C7 05 0020 mov word ptr [di],20h 3BBB:8BB7 47 inc di 3BBB:8BB8 58 pop ax 3BBB:8BB9 A2 0191 mov data_244,al ; (3BBB:0191=0A0h) 3BBB:8BBC loc_1621: ; xref 3BBB:8B8C 3BBB:8BBC BE 005D mov si,5Dh 3BBB:8BBF 80 3E 0191 FF cmp data_244,0FFh ; (3BBB:0191=0A0h) 3BBB:8BC4 75 03 jne loc_1622 ; Jump if not equal 3BBB:8BC6 E8 0995 call sub_421 ; (955E) 3BBB:8BC9 loc_1622: ; xref 3BBB:8BC4 3BBB:8BC9 B1 08 mov cl,8 3BBB:8BCB locloop_1623: ; xref 3BBB:8BD4 3BBB:8BCB 80 3C 20 cmp byte ptr [si],20h ; ' ' 3BBB:8BCE 74 06 je loc_1624 ; Jump if equal 3BBB:8BD0 80 24 7F and byte ptr [si],7Fh 3BBB:8BD3 A4 movsb ; Mov [si] to es:[di] 3BBB:8BD4 E2 F5 loop locloop_1623 ; Loop if cx > 0 3BBB:8BD6 loc_1624: ; xref 3BBB:8BCE 3BBB:8BD6 FE 06 018D inc data_241 ; (3BBB:018D=6Eh) 3BBB:8BDA 75 07 jnz loc_1625 ; Jump if not zero 3BBB:8BDC C6 05 3B mov byte ptr [di],3Bh ; ';' 3BBB:8BDF 47 inc di 3BBB:8BE0 E8 03D3 call sub_377 ; (8FB6) 3BBB:8BE3 loc_1625: ; xref 3BBB:8BDA 3BBB:8BE3 80 3E 01AA 00 cmp data_264,0 ; (3BBB:01AA=2) 3BBB:8BE8 74 58 je loc_1632 ; Jump if equal 3BBB:8BEA BE 012E mov si,12Eh 3BBB:8BED 80 3E 0189 00 cmp data_237,0 ; (3BBB:0189=0AEh) 3BBB:8BF2 75 0A jne loc_1626 ; Jump if not equal 3BBB:8BF4 80 3E 0191 FF cmp data_244,0FFh ; (3BBB:0191=0A0h) 3BBB:8BF9 74 06 je loc_1627 ; Jump if equal 3BBB:8BFB BE 005C mov si,5Ch 3BBB:8BFE loc_1626: ; xref 3BBB:8BF2 3BBB:8BFE E8 096B call sub_422 ; (956C) 3BBB:8C01 loc_1627: ; xref 3BBB:8BF9 3BBB:8C01 ,BE 0080 mov si,offset data_219 ; (3BBB:0080=0E9h) 3BBB:8C04 80 3E 0189 00 cmp data_237,0 ; (3BBB:0189=0AEh) 3BBB:8C09 75 0B jne loc_1629 ; Jump if not equal 3BBB:8C0B loc_1628: ; xref 3BBB:8C3D 3BBB:8C0B ,E8 096C call sub_423 ; (957A) 3BBB:8C0E ,BB 005C mov bx,offset data_203 ; (3BBB:005C=0) 3BBB:8C11 E8 0971 call sub_424 ; (9585) 3BBB:8C14 EB 29 jmp short loc_1631 ; (8C3F) 3BBB:8C16 loc_1629: ; xref 3BBB:8C09, 8C21 3BBB:8C16 8A 14 mov dl,[si] 3BBB:8C18 52 push dx 3BBB:8C19 E8 0539 call sub_389 ; (9155) 3BBB:8C1C 46 inc si 3BBB:8C1D 5A pop dx 3BBB:8C1E 80 FA 20 cmp dl,20h ; ' ' 3BBB:8C21 75 F3 jne loc_1629 ; Jump if not equal 3BBB:8C23 ,BB 012E mov bx,12Eh ; (3BBB:012E=4) 3BBB:8C26 E8 095C call sub_424 ; (9585) 3BBB:8C29 B2 20 mov dl,20h ; ' ' 3BBB:8C2B E8 0527 call sub_389 ; (9155) 3BBB:8C2E 56 push si 3BBB:8C2F BE 005C mov si,5Ch 3BBB:8C32 80 3E 0191 FF cmp data_244,0FFh ; (3BBB:0191=0A0h) 3BBB:8C37 74 03 je loc_1630 ; Jump if equal 3BBB:8C39 E8 0930 call sub_422 ; (956C) 3BBB:8C3C loc_1630: ; xref 3BBB:8C37 3BBB:8C3C 5E pop si 3BBB:8C3D EB CC jmp short loc_1628 ; (8C0B) 3BBB:8C3F loc_1631: ; xref 3BBB:8C14 3BBB:8C3F E8 09DB call sub_429 ; (961D) 3BBB:8C42 loc_1632: ; xref 3BBB:8BE8 3BBB:8C42 8B 36 0587 mov si,word ptr ds:[587h] ; (3BBB:0587=258h) 3BBB:8C46 0B F6 or si,si ; Zero ? 3BBB:8C48 74 30 jz loc_1638 ; Jump if zero 3BBB:8C4A 80 3C 20 cmp byte ptr [si],20h ; ' ' 3BBB:8C4D 74 04 je loc_1633 ; Jump if equal 3BBB:8C4F C6 05 20 mov byte ptr [di],20h ; ' ' 3BBB:8C52 47 inc di 3BBB:8C53 loc_1633: ; xref 3BBB:8C4D, 8C78 3BBB:8C53 ,8A 04 mov al,[si] 3BBB:8C55 loc_1634: ; xref 3BBB:8C75 3BBB:8C55 ,E8 0A5B call sub_438 ; (96B3) 3BBB:8C58 74 20 jz loc_1638 ; Jump if zero 3BBB:8C5A 3A 06 0792 cmp al,data_519 ; (3BBB:0792=1Eh) 3BBB:8C5E 74 06 je loc_1635 ; Jump if equal 3BBB:8C60 3A 06 0794 cmp al,data_520 ; (3BBB:0794=8Eh) 3BBB:8C64 75 11 jne loc_1637 ; Jump if not equal 3BBB:8C66 loc_1635: ; xref 3BBB:8C5E 3BBB:8C66 80 3E 019F FF cmp data_256,0FFh ; (3BBB:019F=22h) 3BBB:8C6B 75 0D jne loc_1638 ; Jump if not equal 3BBB:8C6D loc_1636: ; xref 3BBB:8C73 3BBB:8C6D A4 movsb ; Mov [si] to es:[di] 3BBB:8C6E 8A 04 mov al,[si] 3BBB:8C70 E8 0802 call sub_410 ; (9475) 3BBB:8C73 72 F8 jc loc_1636 ; Jump if carry Set 3BBB:8C75 EB DE jmp short loc_1634 ; (8C55) 3BBB:8C77 loc_1637: ; xref 3BBB:8C64 3BBB:8C77 A4 movsb ; Mov [si] to es:[di] 3BBB:8C78 EB D9 jmp short loc_1633 ; (8C53) 3BBB:8C7A loc_1638: ; xref 3BBB:8C48, 8C58, 8C6B 3BBB:8C7A C6 05 00 mov byte ptr [di],0 3BBB:8C7D FE 06 0192 inc byte ptr data_245 ; (3BBB:0192=0E2h) 3BBB:8C81 74 03 jz loc_1639 ; Jump if zero 3BBB:8C83 E8 0507 call sub_393 ; (918D) 3BBB:8C86 loc_1639: ; xref 3BBB:8C81 3BBB:8C86 81 3E 0194 00FF cmp data_247,0FFh ; (3BBB:0194=504h) 3BBB:8C8C 74 06 je loc_1640 ; Jump if equal 3BBB:8C8E A1 0194 mov ax,data_247 ; (3BBB:0194=504h) 3BBB:8C91 A3 01A5 mov data_260,ax ; (3BBB:01A5=0A070h) 3BBB:8C94 loc_1640: ; xref 3BBB:8C8C 3BBB:8C94 E8 080A call sub_412 ; (94A1) 3BBB:8C97 E8 052A call sub_396 ; (91C4) 3BBB:8C9A B1 2F mov cl,2Fh ; '/' 3BBB:8C9C CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:8C9E E8 097C call sub_429 ; (961D) 3BBB:8CA1 C6 06 0193 00 mov byte ptr data_245+1,0 ; (3BBB:0193=0E4h) 3BBB:8CA6 E9 0BCD jmp loc_1798 ; (9876) 3BBB:8CA9 loc_1641: ; xref 3BBB:8B6E 3BBB:8CA9 B9 003B mov cx,3Bh 3BBB:8CAC BA 005C mov dx,5Ch 3BBB:8CAF CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:8CB1 FE C0 inc al 3BBB:8CB3 75 11 jnz loc_ret_1642 ; Jump if not zero 3BBB:8CB5 C6 06 0193 00 mov byte ptr data_245+1,0 ; (3BBB:0193=0E4h) 3BBB:8CBA BA 0756 mov dx,756h 3BBB:8CBD E8 04A2 call sub_391 ; (9162) 3BBB:8CC0 BA 005C mov dx,5Ch 3BBB:8CC3 E8 09AD call sub_432 ; (9673) 3BBB:8CC6 loc_ret_1642: ; xref 3BBB:8CB3 3BBB:8CC6 C3 retn sub_370 endp ;* No entry point to code 3BBB:8CC7 B1 00 mov cl,0 3BBB:8CC9 BA 0806 mov dx,806h 3BBB:8CCC EB 05 jmp short loc_1643 ; (8CD3) 3BBB:8CCE B1 80 BA F0 07 db 0B1h, 80h,0BAh,0F0h, 07h 3BBB:8CD3 loc_1643: ; xref 3BBB:8CCC 3BBB:8CD3 52 push dx 3BBB:8CD4 51 push cx 3BBB:8CD5 C6 06 0185 00 mov data_233,0 ; (3BBB:0185=0E0h) 3BBB:8CDA E8 003B call sub_371 ; (8D18) 3BBB:8CDD E8 04E4 call sub_396 ; (91C4) 3BBB:8CE0 E8 0506 call sub_400 ; (91E9) 3BBB:8CE3 59 pop cx 3BBB:8CE4 75 1C jnz loc_1646 ; Jump if not zero 3BBB:8CE6 59 pop cx 3BBB:8CE7 C6 06 0193 00 mov byte ptr data_245+1,0 ; (3BBB:0193=0E4h) 3BBB:8CEC 0A E4 or ah,ah ; Zero ? 3BBB:8CEE 74 03 jz loc_1644 ; Jump if zero 3BBB:8CF0 E9 092A jmp loc_1771 ; (961D) 3BBB:8CF3 loc_1644: ; xref 3BBB:8CEE 3BBB:8CF3 80 3E 0185 00 cmp data_233,0 ; (3BBB:0185=0E0h) 3BBB:8CF8 75 03 jne loc_1645 ; Jump if not equal 3BBB:8CFA E9 03FA jmp loc_1699 ; (90F7) 3BBB:8CFD loc_1645: ; xref 3BBB:8CF8 3BBB:8CFD BA 0778 mov dx,778h 3BBB:8D00 EB 13 jmp short loc_1648 ; (8D15) 3BBB:8D02 loc_1646: ; xref 3BBB:8CE4 3BBB:8D02 E8 0065 call sub_373 ; (8D6A) 3BBB:8D05 5A pop dx 3BBB:8D06 75 03 jnz loc_1647 ; Jump if not zero 3BBB:8D08 E9 03EC jmp loc_1699 ; (90F7) 3BBB:8D0B loc_1647: ; xref 3BBB:8D06 3BBB:8D0B E8 090F call sub_429 ; (961D) 3BBB:8D0E FE 06 0199 inc data_251 ; (3BBB:0199=0A0h) 3BBB:8D12 75 01 jnz loc_1648 ; Jump if not zero 3BBB:8D14 C3 retn 3BBB:8D15 loc_1648: ; xref 3BBB:8D00, 8D12 3BBB:8D15 E9 0902 jmp loc_1770 ; (961A) ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:8CDA ;========================================================================== 3BBB:8D18 sub_371 proc near 3BBB:8D18 0B DB or bx,bx ; Zero ? 3BBB:8D1A 75 23 jnz loc_1649 ; Jump if not zero 3BBB:8D1C C6 06 0185 FF mov data_233,0FFh ; (3BBB:0185=0E0h) 3BBB:8D21 BA 005C mov dx,5Ch 3BBB:8D24 8B FA mov di,dx 3BBB:8D26 A0 01A2 mov al,data_257 ; (3BBB:01A2=0A0h) 3BBB:8D29 FE C0 inc al 3BBB:8D2B 88 05 mov [di],al 3BBB:8D2D 42 inc dx 3BBB:8D2E 47 inc di ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:8D65 3BBB:8D2F sub_372: 3BBB:8D2F C6 06 0185 FF mov data_233,0FFh ; (3BBB:0185=0E0h) 3BBB:8D34 B0 3F mov al,3Fh ; '?' 3BBB:8D36 B9 000B mov cx,0Bh 3BBB:8D39 F3/ AA rep stosb ; Rep when cx >0 Store al to es:[di] 3BBB:8D3B C6 05 00 mov byte ptr [di],0 3BBB:8D3E C3 retn 3BBB:8D3F loc_1649: ; xref 3BBB:8D1A 3BBB:8D3F 53 push bx 3BBB:8D40 43 inc bx 3BBB:8D41 80 3F 3A cmp byte ptr [bx],3Ah ; ':' 3BBB:8D44 5B pop bx 3BBB:8D45 75 0E jnz loc_1650 ; Jump if not zero 3BBB:8D47 8A 07 mov al,[bx] 3BBB:8D49 3C 51 cmp al,51h ; 'Q' 3BBB:8D4B 72 08 jb loc_1650 ; Jump if below 3BBB:8D4D 2C 41 sub al,41h ; 'A' 3BBB:8D4F E8 0773 call sub_416 ; (94C5) 3BBB:8D52 E9 FA04 jmp loc_1552 ; (8759) 3BBB:8D55 loc_1650: ; xref 3BBB:8D45, 8D4B 3BBB:8D55 BA 005C mov dx,5Ch 3BBB:8D58 E8 0241 call sub_375 ; (8F9C) 3BBB:8D5B 9C pushf ; Push flags 3BBB:8D5C 47 inc di 3BBB:8D5D 8A 05 mov al,[di] 3BBB:8D5F 3C 20 cmp al,20h ; ' ' 3BBB:8D61 74 02 je loc_1651 ; Jump if equal 3BBB:8D63 EB 03 jmp short loc_1652 ; (8D68) 3BBB:8D65 loc_1651: ; xref 3BBB:8D61 3BBB:8D65 E8 FFC7 call sub_372 ; (8D2F) 3BBB:8D68 loc_1652: ; xref 3BBB:8D63 3BBB:8D68 9D popf ; Pop flags 3BBB:8D69 C3 retn sub_371 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:8D02 ;========================================================================== 3BBB:8D6A sub_373 proc near 3BBB:8D6A C6 06 058C 02 mov byte ptr ds:[58Ch],2 ; (3BBB:058C=0ABh) 3BBB:8D6F C6 06 0199 FF mov data_251,0FFh ; (3BBB:0199=0A0h) 3BBB:8D74 8A 1E 058E mov bl,byte ptr ds:[58Eh] ; (3BBB:058E=7) 3BBB:8D78 8A EB mov ch,bl 3BBB:8D7A FE C5 inc ch 3BBB:8D7C loc_1653: ; xref 3BBB:8DB6 3BBB:8D7C 8B FA mov di,dx 3BBB:8D7E 83 C7 0A add di,0Ah 3BBB:8D81 8A 05 mov al,[di] 3BBB:8D83 24 80 and al,80h 3BBB:8D85 3A C1 cmp al,cl 3BBB:8D87 74 06 je loc_1654 ; Jump if equal 3BBB:8D89 FE 06 0199 inc data_251 ; (3BBB:0199=0A0h) 3BBB:8D8D EB 20 jmp short loc_1657 ; (8DAF) 3BBB:8D8F loc_1654: ; xref 3BBB:8D87 3BBB:8D8F FE CD dec ch 3BBB:8D91 75 05 jnz loc_1655 ; Jump if not zero 3BBB:8D93 8A EB mov ch,bl 3BBB:8D95 E8 0885 call sub_429 ; (961D) 3BBB:8D98 loc_1655: ; xref 3BBB:8D91 3BBB:8D98 3A EB cmp ch,bl 3BBB:8D9A 75 03 jne loc_1656 ; Jump if not equal 3BBB:8D9C E8 084C call sub_426 ; (95EB) 3BBB:8D9F loc_1656: ; xref 3BBB:8D9A 3BBB:8D9F 51 push cx 3BBB:8DA0 B0 3A mov al,3Ah ; ':' 3BBB:8DA2 E8 0901 call sub_436 ; (96A6) 3BBB:8DA5 E8 08FC call sub_435 ; (96A4) 3BBB:8DA8 E8 08DF call sub_433 ; (968A) 3BBB:8DAB E8 08F6 call sub_435 ; (96A4) 3BBB:8DAE 59 pop cx 3BBB:8DAF loc_1657: ; xref 3BBB:8D8D 3BBB:8DAF 51 push cx 3BBB:8DB0 53 push bx 3BBB:8DB1 E8 0439 call sub_401 ; (91ED) 3BBB:8DB4 5B pop bx 3BBB:8DB5 59 pop cx 3BBB:8DB6 75 C4 jnz loc_1653 ; Jump if not zero 3BBB:8DB8 FE C0 inc al 3BBB:8DBA C3 retn sub_373 endp ;* No entry point to code 3BBB:8DBB 8B 1E 0587 mov bx,word ptr ds:[587h] ; (3BBB:0587=258h) 3BBB:8DBF E8 0206 call sub_379 ; (8FC8) 3BBB:8DC2 75 0B jnz loc_1659 ; Jump if not zero 3BBB:8DC4 loc_1658: ; xref 3BBB:8EC4 3BBB:8DC4 ,8B 1E 01A5 mov bx,data_260 ; (3BBB:01A5=0A070h) 3BBB:8DC8 89 1E 0587 mov word ptr ds:[587h],bx ; (3BBB:0587=258h) 3BBB:8DCC E9 FC66 jmp loc_1597 ; (8A35) 3BBB:8DCF loc_1659: ; xref 3BBB:8DC2 3BBB:8DCF C6 06 058C 02 mov byte ptr ds:[58Ch],2 ; (3BBB:058C=0ABh) 3BBB:8DD4 C6 06 019C 7F mov data_253,7Fh ; (3BBB:019C=0A0h) 3BBB:8DD9 BB 007C mov bx,7Ch 3BBB:8DDC C6 07 00 mov byte ptr [bx],0 3BBB:8DDF 52 push dx 3BBB:8DE0 E8 03E1 call sub_396 ; (91C4) 3BBB:8DE3 5A pop dx 3BBB:8DE4 E8 03F4 call sub_398 ; (91DB) 3BBB:8DE7 E8 02FA call sub_385 ; (90E4) 3BBB:8DEA 75 03 jnz loc_1660 ; Jump if not zero 3BBB:8DEC E9 F96A jmp loc_1552 ; (8759) 3BBB:8DEF loc_1660: ; xref 3BBB:8DEA, 8E0D 3BBB:8DEF ,E8 0808 call sub_428 ; (95FA) 3BBB:8DF2 74 06 jz loc_1661 ; Jump if zero 3BBB:8DF4 E8 0826 call sub_429 ; (961D) 3BBB:8DF7 E9 F95F jmp loc_1552 ; (8759) 3BBB:8DFA loc_1661: ; xref 3BBB:8DF2 3BBB:8DFA 3C 1A cmp al,1Ah 3BBB:8DFC 75 0C jne loc_1662 ; Jump if not equal 3BBB:8DFE BA 005C mov dx,5Ch 3BBB:8E01 E8 03DE call sub_399 ; (91E2) 3BBB:8E04 E8 0816 call sub_429 ; (961D) 3BBB:8E07 E9 02DA jmp loc_1698 ; (90E4) 3BBB:8E0A loc_1662: ; xref 3BBB:8DFC 3BBB:8E0A E8 0314 call sub_388 ; (9121) 3BBB:8E0D EB E0 jmp short loc_1660 ; (8DEF) ;* No entry point to code 3BBB:8E0F 8A 07 mov al,[bx] 3BBB:8E11 0B DB or bx,bx ; Zero ? 3BBB:8E13 75 08 jnz loc_1664 ; Jump if not zero 3BBB:8E15 loc_1663: ; xref 3BBB:8E20, 8E25 3BBB:8E15 BA 0712 mov dx,712h 3BBB:8E18 E8 022D call sub_382 ; (9048) 3BBB:8E1B EB 05 jmp short loc_1665 ; (8E22) 3BBB:8E1D loc_1664: ; xref 3BBB:8E13 3BBB:8E1D E8 0696 call sub_414 ; (94B6) 3BBB:8E20 73 F3 jnc loc_1663 ; Jump if carry=0 3BBB:8E22 loc_1665: ; xref 3BBB:8E1B 3BBB:8E22 E8 023C call sub_383 ; (9061) 3BBB:8E25 75 EE jnz loc_1663 ; Jump if not zero 3BBB:8E27 E8 06B1 call sub_417 ; (94DB) 3BBB:8E2A E9 0674 jmp loc_1746 ; (94A1) ;* No entry point to code 3BBB:8E2D 8A 07 mov al,[bx] 3BBB:8E2F 0B DB or bx,bx ; Zero ? 3BBB:8E31 75 4B jnz loc_1670 ; Jump if not zero 3BBB:8E33 loc_1666: ; xref 3BBB:8E81, 8E86 3BBB:8E33 BB 03B6 mov bx,3B6h 3BBB:8E36 8B D3 mov dx,bx 3BBB:8E38 43 inc bx 3BBB:8E39 C6 07 00 mov byte ptr [bx],0 3BBB:8E3C 53 push bx 3BBB:8E3D B1 31 mov cl,31h ; '1' 3BBB:8E3F CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:8E41 5B pop bx 3BBB:8E42 C6 07 FF mov byte ptr [bx],0FFh 3BBB:8E45 BA 06C6 mov dx,6C6h 3BBB:8E48 E8 0317 call sub_391 ; (9162) 3BBB:8E4B A0 03B8 mov al,byte ptr ds:[3B8h] ; (3BBB:03B8=0C3h) 3BBB:8E4E 3C C8 cmp al,0C8h 3BBB:8E50 72 0B jb loc_1667 ; Jump if below 3BBB:8E52 B2 32 mov dl,32h ; '2' 3BBB:8E54 50 push ax 3BBB:8E55 E8 02FD call sub_389 ; (9155) 3BBB:8E58 58 pop ax 3BBB:8E59 2C C8 sub al,0C8h 3BBB:8E5B EB 0D jmp short loc_1668 ; (8E6A) 3BBB:8E5D loc_1667: ; xref 3BBB:8E50 3BBB:8E5D 3C 64 cmp al,64h ; 'd' 3BBB:8E5F 72 14 jb loc_1669 ; Jump if below 3BBB:8E61 B2 31 mov dl,31h ; '1' 3BBB:8E63 50 push ax 3BBB:8E64 E8 02EE call sub_389 ; (9155) 3BBB:8E67 58 pop ax 3BBB:8E68 2C 64 sub al,64h ; 'd' 3BBB:8E6A loc_1668: ; xref 3BBB:8E5B 3BBB:8E6A 3C 09 cmp al,9 3BBB:8E6C 7F 07 jg loc_1669 ; Jump if > 3BBB:8E6E B2 30 mov dl,30h ; '0' 3BBB:8E70 50 push ax 3BBB:8E71 E8 02E1 call sub_389 ; (9155) 3BBB:8E74 58 pop ax 3BBB:8E75 loc_1669: ; xref 3BBB:8E5F, 8E6C 3BBB:8E75 E8 07AF call sub_430 ; (9627) 3BBB:8E78 E8 07A2 call sub_429 ; (961D) 3BBB:8E7B E9 F8DB jmp loc_1552 ; (8759) 3BBB:8E7E loc_1670: ; xref 3BBB:8E31 3BBB:8E7E E8 0635 call sub_414 ; (94B6) 3BBB:8E81 73 B0 jnc loc_1666 ; Jump if carry=0 3BBB:8E83 E8 01DB call sub_383 ; (9061) 3BBB:8E86 75 AB jnz loc_1666 ; Jump if not zero 3BBB:8E88 A0 019D mov al,data_254 ; (3BBB:019D=0A0h) 3BBB:8E8B 0A C0 or al,al ; Zero ? 3BBB:8E8D 75 03 jnz loc_1671 ; Jump if not zero 3BBB:8E8F E9 0243 jmp loc_1697 ; (90D5) 3BBB:8E92 loc_1671: ; xref 3BBB:8E8D 3BBB:8E92 A2 03B8 mov byte ptr ds:[3B8h],al ; (3BBB:03B8=0C3h) 3BBB:8E95 B1 31 mov cl,31h ; '1' 3BBB:8E97 BA 03B6 mov dx,3B6h 3BBB:8E9A CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:8E9C E9 F8BA jmp loc_1552 ; (8759) ;* No entry point to code 3BBB:8E9F E8 0126 call sub_379 ; (8FC8) 3BBB:8EA2 75 23 jnz loc_1673 ; Jump if not zero 3BBB:8EA4 80 3E 017E 04 cmp data_228,4 ; (3BBB:017E=1) 3BBB:8EA9 75 19 jne loc_1672 ; Jump if not equal 3BBB:8EAB E8 013F call sub_380 ; (8FED) 3BBB:8EAE 8B 1E 01A5 mov bx,data_260 ; (3BBB:01A5=0A070h) 3BBB:8EB2 89 1E 0194 mov data_247,bx ; (3BBB:0194=504h) 3BBB:8EB6 BB 04C6 mov bx,4C6h 3BBB:8EB9 89 1E 0587 mov word ptr ds:[587h],bx ; (3BBB:0587=258h) 3BBB:8EBD 89 1E 01A5 mov data_260,bx ; (3BBB:01A5=0A070h) 3BBB:8EC1 E9 FB71 jmp loc_1597 ; (8A35) 3BBB:8EC4 loc_1672: ; xref 3BBB:8EA9 3BBB:8EC4 E9 FEFD jmp loc_1658 ; (8DC4) 3BBB:8EC7 loc_1673: ; xref 3BBB:8EA2 3BBB:8EC7 B1 13 mov cl,13h 3BBB:8EC9 BA 005C mov dx,5Ch 3BBB:8ECC 52 push dx 3BBB:8ECD CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:8ECF 5A pop dx 3BBB:8ED0 E9 0211 jmp loc_1698 ; (90E4) ;* No entry point to code 3BBB:8ED3 53 push bx 3BBB:8ED4 E8 0116 call sub_380 ; (8FED) 3BBB:8ED7 5B pop bx 3BBB:8ED8 57 push di 3BBB:8ED9 C6 06 0198 FF mov data_250,0FFh ; (3BBB:0198=0A0h) 3BBB:8EDE C6 06 0187 00 mov data_235,0 ; (3BBB:0187=0ADh) 3BBB:8EE3 0B DB or bx,bx ; Zero ? 3BBB:8EE5 75 4A jnz loc_1675 ; Jump if not zero 3BBB:8EE7 C6 06 0187 FF mov data_235,0FFh ; (3BBB:0187=0ADh) 3BBB:8EEC C6 06 0188 FF mov data_236,0FFh ; (3BBB:0188=0E1h) 3BBB:8EF1 BA 0744 mov dx,744h 3BBB:8EF4 B9 005C mov cx,5Ch 3BBB:8EF7 E8 008D call sub_374 ; (8F87) 3BBB:8EFA 74 03 jz loc_1674 ; Jump if zero 3BBB:8EFC E8 00B4 call sub_376 ; (8FB3) 3BBB:8EFF loc_1674: ; xref 3BBB:8EFA 3BBB:8EFF ,BE 01B4 mov si,offset data_268 ; (3BBB:01B4=0A0h) 3BBB:8F02 ,BF 050C mov di,50Ch ; (3BBB:050C=0) 3BBB:8F05 8A 0E 01B3 mov cl,data_267 ; (3BBB:01B3=0A0h) 3BBB:8F09 88 0E 0197 mov data_249,cl ; (3BBB:0197=0A0h) 3BBB:8F0D F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:8F0F BA 0732 mov dx,732h 3BBB:8F12 B9 006C mov cx,6Ch 3BBB:8F15 E8 006F call sub_374 ; (8F87) 3BBB:8F18 ,BE 01B4 mov si,offset data_268 ; (3BBB:01B4=0A0h) 3BBB:8F1B 5F pop di 3BBB:8F1C 8A 0E 01B3 mov cl,data_267 ; (3BBB:01B3=0A0h) 3BBB:8F20 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:8F22 C6 05 3D mov byte ptr [di],3Dh ; '=' 3BBB:8F25 47 inc di 3BBB:8F26 ,BE 050C mov si,50Ch ; (3BBB:050C=0) 3BBB:8F29 8A 0E 0197 mov cl,data_249 ; (3BBB:0197=0A0h) 3BBB:8F2D F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:8F2F EB 1F jmp short loc_1677 ; (8F50) 3BBB:8F31 loc_1675: ; xref 3BBB:8EE5 3BBB:8F31 5F pop di 3BBB:8F32 BA 006C mov dx,6Ch 3BBB:8F35 E8 0403 call sub_407 ; (933B) 3BBB:8F38 8B 1E 0587 mov bx,word ptr ds:[587h] ; (3BBB:0587=258h) 3BBB:8F3C 0B DB or bx,bx ; Zero ? 3BBB:8F3E 74 05 jz loc_1676 ; Jump if zero 3BBB:8F40 43 inc bx 3BBB:8F41 89 1E 0587 mov word ptr ds:[587h],bx ; (3BBB:0587=258h) 3BBB:8F45 loc_1676: ; xref 3BBB:8F3E 3BBB:8F45 BA 005C mov dx,5Ch 3BBB:8F48 E8 03F0 call sub_407 ; (933B) 3BBB:8F4B 74 03 jz loc_1677 ; Jump if zero 3BBB:8F4D E8 0063 call sub_376 ; (8FB3) 3BBB:8F50 loc_1677: ; xref 3BBB:8F2F, 8F4B 3BBB:8F50 BA 006C mov dx,6Ch 3BBB:8F53 E8 0068 call sub_378 ; (8FBE) 3BBB:8F56 74 11 jz loc_1678 ; Jump if zero 3BBB:8F58 BA 005C mov dx,5Ch 3BBB:8F5B E8 0060 call sub_378 ; (8FBE) 3BBB:8F5E 74 09 jz loc_1678 ; Jump if zero 3BBB:8F60 B1 17 mov cl,17h 3BBB:8F62 52 push dx 3BBB:8F63 CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:8F65 5A pop dx 3BBB:8F66 E9 017B jmp loc_1698 ; (90E4) 3BBB:8F69 loc_1678: ; xref 3BBB:8F56, 8F5E 3BBB:8F69 80 3E 0187 00 cmp data_235,0 ; (3BBB:0187=0ADh) 3BBB:8F6E 75 01 jne loc_1679 ; Jump if not equal 3BBB:8F70 5F pop di 3BBB:8F71 loc_1679: ; xref 3BBB:8F6E 3BBB:8F71 8B 1E 01A5 mov bx,data_260 ; (3BBB:01A5=0A070h) 3BBB:8F75 89 1E 0194 mov data_247,bx ; (3BBB:0194=504h) 3BBB:8F79 BB 04C6 mov bx,4C6h 3BBB:8F7C 89 1E 0587 mov word ptr ds:[587h],bx ; (3BBB:0587=258h) 3BBB:8F80 89 1E 01A5 mov data_260,bx ; (3BBB:01A5=0A070h) 3BBB:8F84 E9 FAAE jmp loc_1597 ; (8A35) ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:8EF7, 8F15, 8FD7 ;========================================================================== 3BBB:8F87 sub_374 proc near 3BBB:8F87 51 push cx 3BBB:8F88 loc_1680: ; xref 3BBB:8F96 3BBB:8F88 52 push dx 3BBB:8F89 E8 01D6 call sub_391 ; (9162) 3BBB:8F8C E8 021C call sub_395 ; (91AB) 3BBB:8F8F ,BB 01B4 mov bx,offset data_268 ; (3BBB:01B4=0A0h) 3BBB:8F92 E8 071B call sub_437 ; (96B0) 3BBB:8F95 5A pop dx 3BBB:8F96 74 F0 jz loc_1680 ; Jump if zero 3BBB:8F98 E8 0326 call sub_406 ; (92C1) 3BBB:8F9B 5A pop dx ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:8D58, 8FE1 3BBB:8F9C sub_375: 3BBB:8F9C 52 push dx 3BBB:8F9D E8 039B call sub_407 ; (933B) 3BBB:8FA0 5F pop di 3BBB:8FA1 9C pushf ; Push flags 3BBB:8FA2 8A 05 mov al,[di] 3BBB:8FA4 0A C0 or al,al ; Zero ? 3BBB:8FA6 74 02 jz loc_1681 ; Jump if zero 3BBB:8FA8 EB 07 jmp short loc_1682 ; (8FB1) 3BBB:8FAA loc_1681: ; xref 3BBB:8FA6 3BBB:8FAA A0 01A2 mov al,data_257 ; (3BBB:01A2=0A0h) 3BBB:8FAD FE C0 inc al 3BBB:8FAF 88 05 mov [di],al 3BBB:8FB1 loc_1682: ; xref 3BBB:8FA8 3BBB:8FB1 9D popf ; Pop flags 3BBB:8FB2 C3 retn sub_374 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:8A92, 8EFC, 8F4D, 8FE6 ;========================================================================== 3BBB:8FB3 sub_376 proc near 3BBB:8FB3 ,BF 0080 mov di,offset data_219 ; (3BBB:0080=0E9h) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:8BE0 3BBB:8FB6 sub_377: 3BBB:8FB6 ,BE 058F mov si,58Fh ; (3BBB:058F=83h) 3BBB:8FB9 B1 04 mov cl,4 3BBB:8FBB F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:8FBD C3 retn sub_376 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:8F53, 8F5B, 8FE9 ;========================================================================== 3BBB:8FBE sub_378 proc near 3BBB:8FBE B0 3F mov al,3Fh ; '?' 3BBB:8FC0 8B FA mov di,dx 3BBB:8FC2 47 inc di 3BBB:8FC3 B1 0B mov cl,0Bh 3BBB:8FC5 F2/ AE repne scasb ; Rep zf=0+cx >0 Scan es:[di] for al 3BBB:8FC7 C3 retn sub_378 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:8DBF, 8E9F ;========================================================================== 3BBB:8FC8 sub_379 proc near 3BBB:8FC8 0B DB or bx,bx ; Zero ? 3BBB:8FCA 75 12 jnz loc_1683 ; Jump if not zero 3BBB:8FCC C6 06 0188 FF mov data_236,0FFh ; (3BBB:0188=0E1h) 3BBB:8FD1 BA 083E mov dx,83Eh 3BBB:8FD4 B9 005C mov cx,5Ch 3BBB:8FD7 E8 FFAD call sub_374 ; (8F87) 3BBB:8FDA 74 0A jz loc_1684 ; Jump if zero 3BBB:8FDC EB 0B jmp short loc_1685 ; (8FE9) 3BBB:8FDE loc_1683: ; xref 3BBB:8FCA 3BBB:8FDE BA 005C mov dx,5Ch 3BBB:8FE1 E8 FFB8 call sub_375 ; (8F9C) 3BBB:8FE4 74 03 jz loc_1685 ; Jump if zero 3BBB:8FE6 loc_1684: ; xref 3BBB:8FDA 3BBB:8FE6 E8 FFCA call sub_376 ; (8FB3) 3BBB:8FE9 loc_1685: ; xref 3BBB:8FDC, 8FE4 3BBB:8FE9 E8 FFD2 call sub_378 ; (8FBE) 3BBB:8FEC C3 retn sub_379 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:89FD, 8EAB, 8ED4 ;========================================================================== 3BBB:8FED sub_380 proc near 3BBB:8FED 8A 0E 017E mov cl,data_228 ; (3BBB:017E=1) 3BBB:8FF1 B5 00 mov ch,0 3BBB:8FF3 80 F9 06 cmp cl,6 3BBB:8FF6 7D 05 jge loc_1686 ; Jump if > or = 3BBB:8FF8 E8 002A call sub_381 ; (9025) 3BBB:8FFB EB 0A jmp short loc_1688 ; (9007) 3BBB:8FFD loc_1686: ; xref 3BBB:8FF6 3BBB:8FFD 80 F9 07 cmp cl,7 3BBB:9000 75 02 jne loc_1687 ; Jump if not equal 3BBB:9002 FE C9 dec cl 3BBB:9004 loc_1687: ; xref 3BBB:9000 3BBB:9004 E8 001E call sub_381 ; (9025) 3BBB:9007 loc_1688: ; xref 3BBB:8FFB 3BBB:9007 ,BF 04C6 mov di,4C6h ; (3BBB:04C6=0) 3BBB:900A F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:900C 57 push di 3BBB:900D 8B 1E 01A5 mov bx,data_260 ; (3BBB:01A5=0A070h) 3BBB:9011 E8 028D call sub_404 ; (92A1) 3BBB:9014 03 DA add bx,dx 3BBB:9016 8B F3 mov si,bx 3BBB:9018 loc_1689: ; xref 3BBB:9021 3BBB:9018 ,A4 movsb ; Mov [si] to es:[di] 3BBB:9019 8A 07 mov al,[bx] 3BBB:901B E8 0695 call sub_438 ; (96B3) 3BBB:901E 74 03 jz loc_1690 ; Jump if zero 3BBB:9020 43 inc bx 3BBB:9021 EB F5 jmp short loc_1689 ; (9018) 3BBB:9023 loc_1690: ; xref 3BBB:901E 3BBB:9023 5F pop di 3BBB:9024 C3 retn sub_380 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:8FF8, 9004 ;========================================================================== 3BBB:9025 sub_381 proc near 3BBB:9025 ,BB 07D0 mov bx,7D0h ; (3BBB:07D0=4) 3BBB:9028 33 C0 xor ax,ax ; Zero register 3BBB:902A FE C9 dec cl 3BBB:902C 03 D9 add bx,cx 3BBB:902E B6 00 mov dh,0 3BBB:9030 8A 17 mov dl,[bx] 3BBB:9032 43 inc bx 3BBB:9033 8A 07 mov al,[bx] 3BBB:9035 BE 079C mov si,79Ch 3BBB:9038 03 F0 add si,ax 3BBB:903A 50 push ax 3BBB:903B 2B C2 sub ax,dx 3BBB:903D 48 dec ax 3BBB:903E 8B D0 mov dx,ax 3BBB:9040 58 pop ax 3BBB:9041 43 inc bx 3BBB:9042 8A 0F mov cl,[bx] 3BBB:9044 2B C8 sub cx,ax 3BBB:9046 49 dec cx 3BBB:9047 C3 retn sub_381 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:8E18 ;========================================================================== 3BBB:9048 sub_382 proc near 3BBB:9048 C6 06 0188 FF mov data_236,0FFh ; (3BBB:0188=0E1h) 3BBB:904D loc_1691: ; xref 3BBB:905E 3BBB:904D 52 push dx 3BBB:904E E8 0111 call sub_391 ; (9162) 3BBB:9051 E8 0157 call sub_395 ; (91AB) 3BBB:9054 ,BB 01B4 mov bx,offset data_268 ; (3BBB:01B4=0A0h) 3BBB:9057 E8 0247 call sub_404 ; (92A1) 3BBB:905A E8 0459 call sub_414 ; (94B6) 3BBB:905D 5A pop dx 3BBB:905E 73 ED jnc loc_1691 ; Jump if carry=0 3BBB:9060 C3 retn sub_382 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:8E22, 8E83 ;========================================================================== 3BBB:9061 sub_383 proc near 3BBB:9061 43 inc bx 3BBB:9062 8A 17 mov dl,[bx] 3BBB:9064 50 push ax 3BBB:9065 8A C2 mov al,dl 3BBB:9067 E8 044C call sub_414 ; (94B6) 3BBB:906A 58 pop ax 3BBB:906B B1 01 mov cl,1 3BBB:906D 73 02 jnc loc_1692 ; Jump if carry=0 3BBB:906F B1 02 mov cl,2 3BBB:9071 loc_1692: ; xref 3BBB:906D 3BBB:9071 51 push cx 3BBB:9072 4B dec bx 3BBB:9073 80 3E 017E 09 cmp data_228,9 ; (3BBB:017E=1) 3BBB:9078 74 06 je loc_1693 ; Jump if equal 3BBB:907A E8 0010 call sub_384 ; (908D) 3BBB:907D 59 pop cx 3BBB:907E EB 09 jmp short loc_1694 ; (9089) 3BBB:9080 loc_1693: ; xref 3BBB:9078 3BBB:9080 E8 0512 call sub_425 ; (9595) 3BBB:9083 59 pop cx 3BBB:9084 FE C9 dec cl 3BBB:9086 75 01 jnz loc_1694 ; Jump if not zero 3BBB:9088 43 inc bx 3BBB:9089 loc_1694: ; xref 3BBB:907E, 9086 3BBB:9089 E8 0624 call sub_437 ; (96B0) 3BBB:908C C3 retn sub_383 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:907A ;========================================================================== 3BBB:908D sub_384 proc near 3BBB:908D B2 01 mov dl,1 3BBB:908F 80 F9 02 cmp cl,2 3BBB:9092 75 13 jne loc_1695 ; Jump if not equal 3BBB:9094 B2 0A mov dl,0Ah 3BBB:9096 53 push bx 3BBB:9097 43 inc bx 3BBB:9098 43 inc bx 3BBB:9099 50 push ax 3BBB:909A 8A 07 mov al,[bx] 3BBB:909C E8 0417 call sub_414 ; (94B6) 3BBB:909F 58 pop ax 3BBB:90A0 5B pop bx 3BBB:90A1 73 04 jnc loc_1695 ; Jump if carry=0 3BBB:90A3 FE C1 inc cl 3BBB:90A5 B2 64 mov dl,64h ; 'd' 3BBB:90A7 loc_1695: ; xref 3BBB:9092, 90A1 3BBB:90A7 8A F0 mov dh,al 3BBB:90A9 33 C0 xor ax,ax ; Zero register 3BBB:90AB 50 push ax 3BBB:90AC 8A C6 mov al,dh 3BBB:90AE locloop_1696: ; xref 3BBB:90CE 3BBB:90AE 2C 30 sub al,30h ; '0' 3BBB:90B0 B4 00 mov ah,0 3BBB:90B2 F6 E2 mul dl ; ax = reg * al 3BBB:90B4 80 FC 00 cmp ah,0 3BBB:90B7 75 1C jne loc_1697 ; Jump if not equal 3BBB:90B9 8A F1 mov dh,cl 3BBB:90BB 59 pop cx 3BBB:90BC 02 C1 add al,cl 3BBB:90BE 72 15 jc loc_1697 ; Jump if carry Set 3BBB:90C0 50 push ax 3BBB:90C1 8A C2 mov al,dl 3BBB:90C3 B1 0A mov cl,0Ah 3BBB:90C5 F6 F1 div cl ; al, ah rem = ax/reg 3BBB:90C7 8A D0 mov dl,al 3BBB:90C9 8A CE mov cl,dh 3BBB:90CB 43 inc bx 3BBB:90CC 8A 07 mov al,[bx] 3BBB:90CE E2 DE loop locloop_1696 ; Loop if cx > 0 3BBB:90D0 58 pop ax 3BBB:90D1 A2 019D mov data_254,al ; (3BBB:019D=0A0h) 3BBB:90D4 C3 retn 3BBB:90D5 loc_1697: ; xref 3BBB:8E8F, 90B7, 90BE 3BBB:90D5 E8 07BB call sub_442 ; (9893) 3BBB:90D8 BA 06EC mov dx,6ECh 3BBB:90DB E8 0084 call sub_391 ; (9162) 3BBB:90DE E8 053C call sub_429 ; (961D) 3BBB:90E1 E9 F675 jmp loc_1552 ; (8759) sub_384 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:8DE7, 9756 ;========================================================================== 3BBB:90E4 sub_385 proc near 3BBB:90E4 loc_1698: ; xref 3BBB:8E07, 8ED0, 8F66 3BBB:90E4 FE C0 inc al 3BBB:90E6 75 38 jnz loc_ret_1702 ; Jump if not zero 3BBB:90E8 C6 06 0193 00 mov byte ptr data_245+1,0 ; (3BBB:0193=0E4h) 3BBB:90ED 0A E4 or ah,ah ; Zero ? 3BBB:90EF 74 06 jz loc_1699 ; Jump if zero 3BBB:90F1 E8 0529 call sub_429 ; (961D) 3BBB:90F4 33 C0 xor ax,ax ; Zero register 3BBB:90F6 C3 retn ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:8B37 3BBB:90F7 sub_386: 3BBB:90F7 loc_1699: ; xref 3BBB:8B45, 8CFA, 8D08, 90EF 3BBB:90F7 52 push dx 3BBB:90F8 E8 0798 call sub_442 ; (9893) 3BBB:90FB BA 062A mov dx,62Ah ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:97DC 3BBB:90FE sub_387: 3BBB:90FE E8 0061 call sub_391 ; (9162) 3BBB:9101 5A pop dx 3BBB:9102 E8 056E call sub_432 ; (9673) 3BBB:9105 E8 0515 call sub_429 ; (961D) 3BBB:9108 E8 03A2 call sub_413 ; (94AD) 3BBB:910B 80 3E 018F FF cmp data_243,0FFh ; (3BBB:018F=0A0h) 3BBB:9110 75 01 jne loc_1700 ; Jump if not equal 3BBB:9112 C3 retn 3BBB:9113 loc_1700: ; xref 3BBB:9110 3BBB:9113 80 3E 018E FF cmp data_242,0FFh ; (3BBB:018E=6Fh) 3BBB:9118 75 01 jne loc_1701 ; Jump if not equal 3BBB:911A C3 retn 3BBB:911B loc_1701: ; xref 3BBB:9118 3BBB:911B 32 C0 xor al,al ; Zero register 3BBB:911D E9 0756 jmp loc_1798 ; (9876) 3BBB:9120 loc_ret_1702: ; xref 3BBB:90E6 3BBB:9120 C3 retn sub_385 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:87B9, 8E0A, 9661, 96A9 ;========================================================================== 3BBB:9121 sub_388 proc near 3BBB:9121 loc_1703: ; xref 3BBB:963E 3BBB:9121 ,3C 0A cmp al,0Ah 3BBB:9123 75 2E jne loc_1706 ; Jump if not equal 3BBB:9125 A0 058B mov al,byte ptr ds:[58Bh] ; (3BBB:058B=0) 3BBB:9128 FE 06 058C inc byte ptr ds:[58Ch] ; (3BBB:058C=0ABh) 3BBB:912C 3A 06 058C cmp al,byte ptr ds:[58Ch] ; (3BBB:058C=0ABh) 3BBB:9130 7D 1F jge loc_1705 ; Jump if > or = 3BBB:9132 C6 06 058C 00 mov byte ptr ds:[58Ch],0 ; (3BBB:058C=0ABh) 3BBB:9137 A0 058D mov al,byte ptr ds:[58Dh] ; (3BBB:058D=0A4h) 3BBB:913A 0A C0 or al,al ; Zero ? 3BBB:913C BA 0886 mov dx,886h 3BBB:913F 75 0B jnz loc_1704 ; Jump if not zero 3BBB:9141 52 push dx 3BBB:9142 E8 04D8 call sub_429 ; (961D) 3BBB:9145 E8 04D5 call sub_429 ; (961D) 3BBB:9148 5A pop dx 3BBB:9149 E8 000E call sub_390 ; (915A) 3BBB:914C loc_1704: ; xref 3BBB:913F 3BBB:914C B2 0D mov dl,0Dh 3BBB:914E E8 0004 call sub_389 ; (9155) 3BBB:9151 loc_1705: ; xref 3BBB:9130 3BBB:9151 B0 0A mov al,0Ah 3BBB:9153 loc_1706: ; xref 3BBB:9123 3BBB:9153 8A D0 mov dl,al ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:8C19, 8C2B, 8E55, 8E64, 8E71, 914E, 9571 ; 9576, 957C, 9636 3BBB:9155 sub_389: 3BBB:9155 B1 02 mov cl,2 3BBB:9157 CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:9159 C3 retn sub_388 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:9149, 97F5 ;========================================================================== 3BBB:915A sub_390 proc near 3BBB:915A E8 0005 call sub_391 ; (9162) 3BBB:915D B1 01 mov cl,1 3BBB:915F CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:9161 C3 retn sub_390 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:8A24, 8CBD, 8E48, 8F89, 904E, 90DB, 90FE ; 915A, 9530, 9590, 95CE, 961A, 966A, 973B ; 97EF, 989E ;========================================================================== 3BBB:9162 sub_391 proc near 3BBB:9162 B1 09 mov cl,9 3BBB:9164 CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:9166 C3 retn sub_391 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:8785, 8825 ;========================================================================== 3BBB:9167 sub_392 proc near 3BBB:9167 B1 31 mov cl,31h ; '1' 3BBB:9169 BA 03B9 mov dx,3B9h 3BBB:916C A0 01B3 mov al,data_267 ; (3BBB:01B3=0A0h) 3BBB:916F 0A C0 or al,al ; Zero ? 3BBB:9171 9C pushf ; Push flags 3BBB:9172 74 17 jz loc_1708 ; Jump if zero 3BBB:9174 B4 00 mov ah,0 3BBB:9176 A2 03BB mov byte ptr ds:[3BBh],al ; (3BBB:03BB=0) 3BBB:9179 CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:917B FE 06 0186 inc data_234 ; (3BBB:0186=0ACh) 3BBB:917F 75 03 jnz loc_1707 ; Jump if not zero 3BBB:9181 E8 0018 call sub_394 ; (919C) 3BBB:9184 loc_1707: ; xref 3BBB:917F 3BBB:9184 BA 03BC mov dx,3BCh 3BBB:9187 B1 31 mov cl,31h ; '1' 3BBB:9189 CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:918B loc_1708: ; xref 3BBB:9172 3BBB:918B 9D popf ; Pop flags 3BBB:918C C3 retn sub_392 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:89B3, 8C83 ;========================================================================== 3BBB:918D sub_393 proc near 3BBB:918D ,BF 01B4 mov di,offset data_268 ; (3BBB:01B4=0A0h) 3BBB:9190 ,BE 03BE mov si,3BEh ; (3BBB:03BE=3) 3BBB:9193 8A 0E 01B3 mov cl,data_267 ; (3BBB:01B3=0A0h) 3BBB:9197 B5 00 mov ch,0 3BBB:9199 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:919B C3 retn sub_393 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:8833, 9181 ;========================================================================== 3BBB:919C sub_394 proc near 3BBB:919C ,BF 03BE mov di,3BEh ; (3BBB:03BE=3) 3BBB:919F ,BE 01B4 mov si,offset data_268 ; (3BBB:01B4=0A0h) 3BBB:91A2 8A 0E 01B3 mov cl,data_267 ; (3BBB:01B3=0A0h) 3BBB:91A6 B5 00 mov ch,0 3BBB:91A8 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:91AA C3 retn sub_394 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:8828, 8F8C, 9051 ;========================================================================== 3BBB:91AB sub_395 proc near 3BBB:91AB B1 0A mov cl,0Ah 3BBB:91AD BA 01B2 mov dx,1B2h 3BBB:91B0 CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:91B2 A0 01B3 mov al,data_267 ; (3BBB:01B3=0A0h) 3BBB:91B5 B4 00 mov ah,0 3BBB:91B7 BB 01B4 mov bx,1B4h 3BBB:91BA 53 push bx 3BBB:91BB 03 D8 add bx,ax 3BBB:91BD C6 07 00 mov byte ptr [bx],0 3BBB:91C0 5B pop bx 3BBB:91C1 E9 0459 jmp loc_1771 ; (961D) sub_395 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:8C97, 8CDD, 8DE0 ;========================================================================== 3BBB:91C4 sub_396 proc near 3BBB:91C4 BA 0080 mov dx,80h 3BBB:91C7 B1 1A mov cl,1Ah 3BBB:91C9 CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:91CB B1 33 mov cl,33h ; '3' 3BBB:91CD 52 push dx 3BBB:91CE 8C DA mov dx,ds 3BBB:91D0 CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:91D2 5A pop dx 3BBB:91D3 C3 retn sub_396 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:94C6 ;========================================================================== 3BBB:91D4 sub_397 proc near 3BBB:91D4 loc_1709: ; xref 3BBB:9425 3BBB:91D4 ,86 D0 xchg dl,al 3BBB:91D6 B1 0E mov cl,0Eh 3BBB:91D8 CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:91DA C3 retn sub_397 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:8AEC, 8B0C, 8DE4, 96C5, 9753 ;========================================================================== 3BBB:91DB sub_398 proc near 3BBB:91DB B1 0F mov cl,0Fh 3BBB:91DD 52 push dx 3BBB:91DE CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:91E0 5A pop dx 3BBB:91E1 C3 retn sub_398 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:8B71, 8E01 ;========================================================================== 3BBB:91E2 sub_399 proc near 3BBB:91E2 B1 10 mov cl,10h 3BBB:91E4 52 push dx 3BBB:91E5 CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:91E7 5A pop dx 3BBB:91E8 C3 retn sub_399 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:8CE0 ;========================================================================== 3BBB:91E9 sub_400 proc near 3BBB:91E9 B1 11 mov cl,11h 3BBB:91EB EB 02 jmp short loc_1710 ; (91EF) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:8DB1 3BBB:91ED sub_401: 3BBB:91ED B1 12 mov cl,12h 3BBB:91EF loc_1710: ; xref 3BBB:91EB 3BBB:91EF BA 005C mov dx,5Ch 3BBB:91F2 52 push dx 3BBB:91F3 CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:91F5 5A pop dx 3BBB:91F6 FE C0 inc al 3BBB:91F8 75 01 jnz loc_1711 ; Jump if not zero 3BBB:91FA C3 retn 3BBB:91FB loc_1711: ; xref 3BBB:91F8 3BBB:91FB FE C8 dec al 3BBB:91FD B1 05 mov cl,5 3BBB:91FF D2 E0 shl al,cl ; Shift w/zeros fill 3BBB:9201 BB 0080 mov bx,80h 3BBB:9204 03 D8 add bx,ax 3BBB:9206 87 DA xchg bx,dx 3BBB:9208 32 C0 xor al,al ; Zero register 3BBB:920A FE C8 dec al 3BBB:920C C3 retn sub_400 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:9603 ;========================================================================== 3BBB:920D sub_402 proc near 3BBB:920D 32 C0 xor al,al ; Zero register 3BBB:920F A2 019C mov data_253,al ; (3BBB:019C=0A0h) 3BBB:9212 B1 14 mov cl,14h 3BBB:9214 BA 005C mov dx,5Ch 3BBB:9217 CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:9219 0A C0 or al,al ; Zero ? 3BBB:921B C3 retn sub_402 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:88AD ;========================================================================== 3BBB:921C sub_403 proc near 3BBB:921C 8B 1E 0587 mov bx,word ptr ds:[587h] ; (3BBB:0587=258h) 3BBB:9220 E8 007E call sub_404 ; (92A1) 3BBB:9223 89 1E 0587 mov word ptr ds:[587h],bx ; (3BBB:0587=258h) 3BBB:9227 B4 0A mov ah,0Ah 3BBB:9229 BE 079C mov si,79Ch 3BBB:922C 53 push bx 3BBB:922D BF 07D0 mov di,7D0h 3BBB:9230 E8 007C call sub_405 ; (92AF) 3BBB:9233 74 17 jz loc_1714 ; Jump if zero 3BBB:9235 loc_1712: ; xref 3BBB:9249 3BBB:9235 ,56 push si 3BBB:9236 3A 04 cmp al,[si] 3BBB:9238 74 22 je loc_1717 ; Jump if equal 3BBB:923A FE CC dec ah 3BBB:923C 74 11 jz loc_1715 ; Jump if zero 3BBB:923E loc_1713: ; xref 3BBB:927D 3BBB:923E ,47 inc di 3BBB:923F BE 079C mov si,79Ch 3BBB:9242 8A 15 mov dl,[di] 3BBB:9244 B6 00 mov dh,0 3BBB:9246 03 F2 add si,dx 3BBB:9248 5A pop dx 3BBB:9249 E9 FFE9 ;* jmp loc_1712 ; (9235) 3BBB:9249 db 0E9h,0E9h,0FFh ; Fixup - byte match 3BBB:924C loc_1714: ; xref 3BBB:9233 3BBB:924C 5B pop bx 3BBB:924D EB 02 jmp short loc_1716 ; (9251) 3BBB:924F loc_1715: ; xref 3BBB:923C, 9275 3BBB:924F 5B pop bx 3BBB:9250 5B pop bx 3BBB:9251 loc_1716: ; xref 3BBB:924D 3BBB:9251 C6 06 017E FF mov data_228,0FFh ; (3BBB:017E=1) 3BBB:9256 C6 06 0180 00 mov data_230,0 ; (3BBB:0180=0DBh) 3BBB:925B C3 retn 3BBB:925C loc_1717: ; xref 3BBB:9238, 9271 3BBB:925C 46 inc si 3BBB:925D 43 inc bx 3BBB:925E 8A 07 mov al,[bx] 3BBB:9260 E8 004C call sub_405 ; (92AF) 3BBB:9263 74 1A jz loc_1719 ; Jump if zero 3BBB:9265 80 3C 00 cmp byte ptr [si],0 3BBB:9268 74 09 je loc_1718 ; Jump if equal 3BBB:926A 80 3C FF cmp byte ptr [si],0FFh 3BBB:926D 74 04 je loc_1718 ; Jump if equal 3BBB:926F 3A 04 cmp al,[si] 3BBB:9271 74 E9 je loc_1717 ; Jump if equal 3BBB:9273 loc_1718: ; xref 3BBB:9268, 926D, 928B 3BBB:9273 FE CC dec ah 3BBB:9275 74 D8 jz loc_1715 ; Jump if zero 3BBB:9277 5E pop si 3BBB:9278 5B pop bx 3BBB:9279 53 push bx 3BBB:927A 8A 07 mov al,[bx] 3BBB:927C 56 push si 3BBB:927D EB BF jmp short loc_1713 ; (923E) 3BBB:927F loc_1719: ; xref 3BBB:9263 3BBB:927F 89 1E 0181 mov data_231,bx ; (3BBB:0181=0DDDCh) 3BBB:9283 80 3C 00 cmp byte ptr [si],0 3BBB:9286 74 05 je loc_1720 ; Jump if equal 3BBB:9288 80 3C FF cmp byte ptr [si],0FFh 3BBB:928B 75 E6 jne loc_1718 ; Jump if not equal 3BBB:928D loc_1720: ; xref 3BBB:9286 3BBB:928D B1 0A mov cl,0Ah 3BBB:928F FE C1 inc cl 3BBB:9291 2A CC sub cl,ah 3BBB:9293 88 0E 017E mov data_228,cl ; (3BBB:017E=1) 3BBB:9297 5E pop si 3BBB:9298 5B pop bx 3BBB:9299 8B 1E 0181 mov bx,data_231 ; (3BBB:0181=0DDDCh) 3BBB:929D E8 0001 call sub_404 ; (92A1) 3BBB:92A0 C3 retn sub_403 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:9011, 9057, 9220, 929D, 96B0, 9740 ;========================================================================== 3BBB:92A1 sub_404 proc near 3BBB:92A1 loc_1721: ; xref 3BBB:92AD 3BBB:92A1 ,8A 07 mov al,[bx] 3BBB:92A3 3C 20 cmp al,20h ; ' ' 3BBB:92A5 74 05 je loc_1722 ; Jump if equal 3BBB:92A7 3C 09 cmp al,9 3BBB:92A9 74 01 je loc_1722 ; Jump if equal 3BBB:92AB C3 retn 3BBB:92AC loc_1722: ; xref 3BBB:92A5, 92A9 3BBB:92AC 43 inc bx 3BBB:92AD EB F2 jmp short loc_1721 ; (92A1) sub_404 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:9230, 9260 ;========================================================================== 3BBB:92AF sub_405 proc near 3BBB:92AF 57 push di 3BBB:92B0 53 push bx 3BBB:92B1 B5 00 mov ch,0 3BBB:92B3 8A 0E 017F mov cl,data_229 ; (3BBB:017F=0A0h) 3BBB:92B7 8B D9 mov bx,cx 3BBB:92B9 ,BF 07DC mov di,7DCh ; (3BBB:07DC=0BCh) 3BBB:92BC F2/ AE repne scasb ; Rep zf=0+cx >0 Scan es:[di] for al 3BBB:92BE 5B pop bx 3BBB:92BF 5F pop di 3BBB:92C0 C3 retn sub_405 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:883A, 8F98 ;========================================================================== 3BBB:92C1 sub_406 proc near 3BBB:92C1 C6 06 0196 00 mov data_248,0 ; (3BBB:0196=21h) 3BBB:92C6 C6 06 01A7 00 mov data_261,0 ; (3BBB:01A7=0A0h) 3BBB:92CB C6 06 019E 00 mov data_255,0 ; (3BBB:019E=0A0h) 3BBB:92D0 89 1E 0587 mov word ptr ds:[587h],bx ; (3BBB:0587=258h) 3BBB:92D4 3C 3B cmp al,3Bh ; ';' 3BBB:92D6 75 06 jne loc_1723 ; Jump if not equal 3BBB:92D8 C6 06 01B3 00 mov data_267,0 ; (3BBB:01B3=0A0h) 3BBB:92DD C3 retn 3BBB:92DE loc_1723: ; xref 3BBB:92D6, 9339 3BBB:92DE ,3C 00 cmp al,0 3BBB:92E0 75 12 jne loc_1725 ; Jump if not equal 3BBB:92E2 A0 01A7 mov al,data_261 ; (3BBB:01A7=0A0h) 3BBB:92E5 0A C0 or al,al ; Zero ? 3BBB:92E7 74 0A jz loc_ret_1724 ; Jump if zero 3BBB:92E9 ,BE 01B2 mov si,offset data_266 ; (3BBB:01B2=0A0h) 3BBB:92EC ,BF 0234 mov di,234h ; (3BBB:0234=2Eh) 3BBB:92EF B1 41 mov cl,41h ; 'A' 3BBB:92F1 F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:92F3 loc_ret_1724: ; xref 3BBB:92E7 3BBB:92F3 C3 retn 3BBB:92F4 loc_1725: ; xref 3BBB:92E0 3BBB:92F4 3A 06 0792 cmp al,data_519 ; (3BBB:0792=1Eh) 3BBB:92F8 75 07 jne loc_1726 ; Jump if not equal 3BBB:92FA E8 012B call sub_409 ; (9428) 3BBB:92FD 74 37 jz loc_1731 ; Jump if zero 3BBB:92FF EB 0B jmp short loc_1727 ; (930C) 3BBB:9301 loc_1726: ; xref 3BBB:92F8 3BBB:9301 3A 06 0794 cmp al,data_520 ; (3BBB:0794=8Eh) 3BBB:9305 75 0B jne loc_1728 ; Jump if not equal 3BBB:9307 E8 011E call sub_409 ; (9428) 3BBB:930A 74 2A jz loc_1731 ; Jump if zero 3BBB:930C loc_1727: ; xref 3BBB:92FF 3BBB:930C FE 06 019E inc data_255 ; (3BBB:019E=0A0h) 3BBB:9310 EB 24 jmp short loc_1731 ; (9336) 3BBB:9312 loc_1728: ; xref 3BBB:9305 3BBB:9312 3A 06 0796 cmp al,data_521 ; (3BBB:0796=2Eh) 3BBB:9316 75 06 jne loc_1729 ; Jump if not equal 3BBB:9318 FE 06 0196 inc data_248 ; (3BBB:0196=21h) 3BBB:931C EB 18 jmp short loc_1731 ; (9336) 3BBB:931E loc_1729: ; xref 3BBB:9316 3BBB:931E 3A 06 0798 cmp al,data_522 ; (3BBB:0798=7) 3BBB:9322 75 06 jne loc_1730 ; Jump if not equal 3BBB:9324 FE 06 01A7 inc data_261 ; (3BBB:01A7=0A0h) 3BBB:9328 EB 0C jmp short loc_1731 ; (9336) 3BBB:932A loc_1730: ; xref 3BBB:9322 3BBB:932A E8 0148 call sub_410 ; (9475) 3BBB:932D 72 07 jc loc_1731 ; Jump if carry Set 3BBB:932F 3C 61 cmp al,61h ; 'a' 3BBB:9331 72 03 jb loc_1731 ; Jump if below 3BBB:9333 80 2F 20 sub byte ptr [bx],20h ; ' ' 3BBB:9336 loc_1731: ; xref 3BBB:92FD, 930A, 9310, 931C ; 9328, 932D, 9331 3BBB:9336 43 inc bx 3BBB:9337 8A 07 mov al,[bx] 3BBB:9339 EB A3 jmp short loc_1723 ; (92DE) sub_406 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:8A88, 8F35, 8F48, 8F9D, 9750, 97A8 ;========================================================================== 3BBB:933B sub_407 proc near 3BBB:933B 8B 1E 0587 mov bx,word ptr ds:[587h] ; (3BBB:0587=258h) 3BBB:933F 89 1E 019A mov data_252,bx ; (3BBB:019A=0A0A0h) 3BBB:9343 52 push dx 3BBB:9344 8B 16 0585 mov dx,word ptr ds:[585h] ; (3BBB:0585=2D03h) 3BBB:9348 B1 98 mov cl,98h 3BBB:934A CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:934C 5A pop dx 3BBB:934D 43 inc bx 3BBB:934E 75 03 jnz loc_1732 ; Jump if not zero 3BBB:9350 E9 0300 jmp loc_1777 ; (9653) 3BBB:9353 loc_1732: ; xref 3BBB:934E 3BBB:9353 4B dec bx 3BBB:9354 89 1E 0587 mov word ptr ds:[587h],bx ; (3BBB:0587=258h) 3BBB:9358 8B FB mov di,bx 3BBB:935A 52 push dx 3BBB:935B ,BB 0599 mov bx,599h ; (3BBB:0599=0E8h) 3BBB:935E 0B FF or di,di ; Zero ? 3BBB:9360 75 10 jnz loc_1733 ; Jump if not zero 3BBB:9362 80 3F 00 cmp byte ptr [bx],0 3BBB:9365 75 0B jne loc_1733 ; Jump if not equal 3BBB:9367 53 push bx 3BBB:9368 43 inc bx 3BBB:9369 80 3F 20 cmp byte ptr [bx],20h ; ' ' 3BBB:936C 5B pop bx 3BBB:936D 75 03 jnz loc_1733 ; Jump if not zero 3BBB:936F E9 02E1 jmp loc_1777 ; (9653) 3BBB:9372 loc_1733: ; xref 3BBB:9360, 9365, 936D 3BBB:9372 B1 08 mov cl,8 3BBB:9374 8B FA mov di,dx 3BBB:9376 8B F3 mov si,bx 3BBB:9378 F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:937A ,BF 058F mov di,58Fh ; (3BBB:058F=83h) 3BBB:937D B1 05 mov cl,5 3BBB:937F 83 C3 10 add bx,10h 3BBB:9382 87 F3 xchg si,bx 3BBB:9384 F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:9386 87 DE xchg bx,si 3BBB:9388 5A pop dx 3BBB:9389 8A 07 mov al,[bx] 3BBB:938B 0A C0 or al,al ; Zero ? 3BBB:938D C3 retn ;==== External Entry into Subroutine ====================================== 3BBB:938E sub_408: 3BBB:938E C6 06 0186 FF mov data_234,0FFh ; (3BBB:0186=0ACh) 3BBB:9393 ,BE 07DC mov si,7DCh ; (3BBB:07DC=0BCh) 3BBB:9396 B8 0001 mov ax,1 3BBB:9399 loc_1734: ; xref 3BBB:939E 3BBB:9399 46 inc si 3BBB:939A 40 inc ax 3BBB:939B 80 3C 00 cmp byte ptr [si],0 3BBB:939E 75 F9 jne loc_1734 ; Jump if not equal 3BBB:93A0 A2 017F mov data_229,al ; (3BBB:017F=0A0h) 3BBB:93A3 C6 06 02B4 01 mov byte ptr ds:[2B4h],1 ; (3BBB:02B4=0) 3BBB:93A8 E8 00E6 call sub_411 ; (9491) 3BBB:93AB 8A 07 mov al,[bx] 3BBB:93AD A2 058B mov byte ptr ds:[58Bh],al ; (3BBB:058B=0) 3BBB:93B0 C6 06 02B4 02 mov byte ptr ds:[2B4h],2 ; (3BBB:02B4=0) 3BBB:93B5 E8 00D9 call sub_411 ; (9491) 3BBB:93B8 8A 07 mov al,[bx] 3BBB:93BA A2 058D mov byte ptr ds:[58Dh],al ; (3BBB:058D=0A4h) 3BBB:93BD C6 06 02B4 86 mov byte ptr ds:[2B4h],86h ; (3BBB:02B4=0) 3BBB:93C2 E8 00CC call sub_411 ; (9491) 3BBB:93C5 A0 02B6 mov al,byte ptr ds:[2B6h] ; (3BBB:02B6=0C3h) 3BBB:93C8 A2 01A2 mov data_257,al ; (3BBB:01A2=0A0h) 3BBB:93CB A0 02B7 mov al,byte ptr ds:[2B7h] ; (3BBB:02B7=0C3h) 3BBB:93CE A2 01A3 mov data_258,al ; (3BBB:01A3=0A0h) 3BBB:93D1 A0 02BD mov al,data_282 ; (3BBB:02BD=6Fh) 3BBB:93D4 A2 01A9 mov data_263,al ; (3BBB:01A9=0A0h) 3BBB:93D7 A0 02B8 mov al,data_278 ; (3BBB:02B8=0C3h) 3BBB:93DA A2 01A4 mov data_259,al ; (3BBB:01A4=0A0h) 3BBB:93DD 3C C7 cmp al,0C7h 3BBB:93DF 74 0A je loc_1735 ; Jump if equal 3BBB:93E1 C6 06 01A4 C7 mov data_259,0C7h ; (3BBB:01A4=0A0h) 3BBB:93E6 E8 02D3 call sub_439 ; (96BC) 3BBB:93E9 EB 24 jmp short loc_1736 ; (940F) 3BBB:93EB loc_1735: ; xref 3BBB:93DF 3BBB:93EB A1 02B9 mov ax,data_279 ; (3BBB:02B9=3D1h) 3BBB:93EE 40 inc ax 3BBB:93EF 40 inc ax 3BBB:93F0 A3 01A5 mov data_260,ax ; (3BBB:01A5=0A070h) 3BBB:93F3 A0 02BE mov al,data_283 ; (3BBB:02BE=0Dh) 3BBB:93F6 A2 01AA mov data_264,al ; (3BBB:01AA=2) 3BBB:93F9 A0 02BC mov al,data_281 ; (3BBB:02BC=6) 3BBB:93FC A2 01A8 mov data_262,al ; (3BBB:01A8=0A0h) 3BBB:93FF A0 02BB mov al,data_280 ; (3BBB:02BB=0FBh) 3BBB:9402 A2 01A7 mov data_261,al ; (3BBB:01A7=0A0h) 3BBB:9405 B1 41 mov cl,41h ; 'A' 3BBB:9407 ,BE 02C6 mov si,offset data_284 ; (3BBB:02C6=0FFh) 3BBB:940A ,BF 01B2 mov di,offset data_266 ; (3BBB:01B2=0A0h) 3BBB:940D F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:940F loc_1736: ; xref 3BBB:93E9 3BBB:940F C6 06 0193 FF mov byte ptr data_245+1,0FFh ; (3BBB:0193=0E4h) 3BBB:9414 B1 2D mov cl,2Dh ; '-' 3BBB:9416 B2 FE mov dl,0FEh 3BBB:9418 CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:941A 8A 16 01A3 mov dl,data_258 ; (3BBB:01A3=0A0h) 3BBB:941E B1 20 mov cl,20h ; ' ' 3BBB:9420 CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:9422 A0 01A2 mov al,data_257 ; (3BBB:01A2=0A0h) 3BBB:9425 E9 FDAC jmp loc_1709 ; (91D4) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:893A, 8A63, 92FA, 9307 3BBB:9428 sub_409: 3BBB:9428 53 push bx 3BBB:9429 50 push ax 3BBB:942A 43 inc bx 3BBB:942B 8A 07 mov al,[bx] 3BBB:942D 3C 20 cmp al,20h ; ' ' 3BBB:942F 74 09 je loc_1737 ; Jump if equal 3BBB:9431 E8 0041 call sub_410 ; (9475) 3BBB:9434 72 10 jc loc_1738 ; Jump if carry Set 3BBB:9436 3C 41 cmp al,41h ; 'A' 3BBB:9438 72 27 jb loc_1740 ; Jump if below 3BBB:943A loc_1737: ; xref 3BBB:942F, 9470 3BBB:943A ,32 C0 xor al,al ; Zero register 3BBB:943C C6 06 019F 00 mov data_256,0 ; (3BBB:019F=22h) 3BBB:9441 3C 01 cmp al,1 3BBB:9443 58 pop ax 3BBB:9444 5B pop bx 3BBB:9445 C3 retn 3BBB:9446 loc_1738: ; xref 3BBB:9434, 9450 3BBB:9446 58 pop ax 3BBB:9447 5B pop bx 3BBB:9448 43 inc bx 3BBB:9449 8A 07 mov al,[bx] 3BBB:944B 53 push bx 3BBB:944C 50 push ax 3BBB:944D E8 0025 call sub_410 ; (9475) 3BBB:9450 72 F4 jc loc_1738 ; Jump if carry Set 3BBB:9452 58 pop ax 3BBB:9453 5B pop bx 3BBB:9454 4B dec bx 3BBB:9455 53 push bx 3BBB:9456 50 push ax 3BBB:9457 loc_1739: ; xref 3BBB:9473 3BBB:9457 ,33 C0 xor ax,ax ; Zero register 3BBB:9459 C6 06 019F FF mov data_256,0FFh ; (3BBB:019F=22h) 3BBB:945E 58 pop ax 3BBB:945F 5B pop bx 3BBB:9460 C3 retn 3BBB:9461 loc_1740: ; xref 3BBB:9438 3BBB:9461 53 push bx 3BBB:9462 loc_1741: ; xref 3BBB:946D 3BBB:9462 ,43 inc bx 3BBB:9463 8A 07 mov al,[bx] 3BBB:9465 3C 20 cmp al,20h ; ' ' 3BBB:9467 74 06 je loc_1742 ; Jump if equal 3BBB:9469 3C 3A cmp al,3Ah ; ':' 3BBB:946B 74 05 je loc_1743 ; Jump if equal 3BBB:946D EB F3 jmp short loc_1741 ; (9462) 3BBB:946F loc_1742: ; xref 3BBB:9467 3BBB:946F 5B pop bx 3BBB:9470 EB C8 jmp short loc_1737 ; (943A) 3BBB:9472 loc_1743: ; xref 3BBB:946B 3BBB:9472 5B pop bx 3BBB:9473 EB E2 jmp short loc_1739 ; (9457) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:8C70, 932A, 9431, 944D 3BBB:9475 sub_410: 3BBB:9475 3C 30 cmp al,30h ; '0' 3BBB:9477 72 14 jb loc_1744 ; Jump if below 3BBB:9479 3C 39 cmp al,39h ; '9' 3BBB:947B 76 12 jbe loc_1745 ; Jump if below or = 3BBB:947D 3C 41 cmp al,41h ; 'A' 3BBB:947F 72 0C jb loc_1744 ; Jump if below 3BBB:9481 3C 5A cmp al,5Ah ; 'Z' 3BBB:9483 76 0A jbe loc_1745 ; Jump if below or = 3BBB:9485 3C 61 cmp al,61h ; 'a' 3BBB:9487 72 04 jb loc_1744 ; Jump if below 3BBB:9489 3C 7A cmp al,7Ah ; 'z' 3BBB:948B 76 02 jbe loc_1745 ; Jump if below or = 3BBB:948D loc_1744: ; xref 3BBB:9477, 947F, 9487 3BBB:948D F9 stc ; Set carry flag 3BBB:948E C3 retn 3BBB:948F loc_1745: ; xref 3BBB:947B, 9483, 948B 3BBB:948F F8 clc ; Clear carry flag 3BBB:9490 C3 retn ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:8AC6, 93A8, 93B5, 93C2 3BBB:9491 sub_411: 3BBB:9491 B1 31 mov cl,31h ; '1' 3BBB:9493 C6 06 02B5 00 mov byte ptr ds:[2B5h],0 ; (3BBB:02B5=8Bh) 3BBB:9498 BA 02B4 mov dx,2B4h 3BBB:949B CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:949D BB 02B6 mov bx,2B6h 3BBB:94A0 C3 retn ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:89B6, 8C94 3BBB:94A1 sub_412: 3BBB:94A1 loc_1746: ; xref 3BBB:8997, 8E2A 3BBB:94A1 BA 01A0 mov dx,1A0h 3BBB:94A4 B1 31 mov cl,31h ; '1' 3BBB:94A6 53 push bx 3BBB:94A7 50 push ax 3BBB:94A8 CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:94AA 58 pop ax 3BBB:94AB 5B pop bx 3BBB:94AC C3 retn ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:8777, 9108, 9798, 985A 3BBB:94AD sub_413: 3BBB:94AD BA 0190 mov dx,190h 3BBB:94B0 B9 003C mov cx,3Ch 3BBB:94B3 CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:94B5 C3 retn ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:896B, 8E1D, 8E7E, 905A, 9067, 909C, 95A4 3BBB:94B6 sub_414: 3BBB:94B6 3C 30 cmp al,30h ; '0' 3BBB:94B8 72 06 jb loc_1747 ; Jump if below 3BBB:94BA 3C 3A cmp al,3Ah ; ':' 3BBB:94BC 73 02 jae loc_1747 ; Jump if above or = 3BBB:94BE F9 stc ; Set carry flag 3BBB:94BF C3 retn 3BBB:94C0 loc_1747: ; xref 3BBB:94B8, 94BC 3BBB:94C0 F8 clc ; Clear carry flag 3BBB:94C1 C3 retn ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:897C, 8994 3BBB:94C2 sub_415: 3BBB:94C2 A0 018A mov al,data_238 ; (3BBB:018A=0AFh) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:8D4F 3BBB:94C5 sub_416: 3BBB:94C5 50 push ax 3BBB:94C6 E8 FD0B call sub_397 ; (91D4) 3BBB:94C9 FE C0 inc al 3BBB:94CB 58 pop ax 3BBB:94CC 75 09 jnz loc_1748 ; Jump if not zero 3BBB:94CE C6 06 0193 00 mov byte ptr data_245+1,0 ; (3BBB:0193=0E4h) 3BBB:94D3 E8 0147 call sub_429 ; (961D) 3BBB:94D6 C3 retn 3BBB:94D7 loc_1748: ; xref 3BBB:94CC 3BBB:94D7 A2 01A2 mov data_257,al ; (3BBB:01A2=0A0h) 3BBB:94DA C3 retn ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:897F, 8991, 8E27 3BBB:94DB sub_417: 3BBB:94DB 8A 16 018B mov dl,data_239 ; (3BBB:018B=6Ch) 3BBB:94DF 88 16 01A3 mov data_258,dl ; (3BBB:01A3=0A0h) 3BBB:94E3 B1 20 mov cl,20h ; ' ' 3BBB:94E5 CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:94E7 C3 retn ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:8A9A 3BBB:94E8 sub_418: 3BBB:94E8 ,BB 0065 mov bx,offset data_209 ; (3BBB:0065=0) 3BBB:94EB 80 3F 20 cmp byte ptr [bx],20h ; ' ' 3BBB:94EE 75 03 jne loc_1749 ; Jump if not equal 3BBB:94F0 B0 00 mov al,0 3BBB:94F2 C3 retn 3BBB:94F3 loc_1749: ; xref 3BBB:94EE 3BBB:94F3 B9 0003 mov cx,3 3BBB:94F6 ,BE 04BD mov si,4BDh ; (3BBB:04BD=0BBh) 3BBB:94F9 locloop_1750: ; xref 3BBB:9502 3BBB:94F9 8A 07 mov al,[bx] 3BBB:94FB 3A 04 cmp al,[si] 3BBB:94FD 74 0C je loc_1753 ; Jump if equal 3BBB:94FF loc_1751: ; xref 3BBB:9509 3BBB:94FF ,46 inc si 3BBB:9500 46 inc si 3BBB:9501 46 inc si 3BBB:9502 E2 F5 loop locloop_1750 ; Loop if cx > 0 3BBB:9504 EB 24 jmp short loc_1755 ; (952A) 3BBB:9506 loc_1752: ; xref 3BBB:9513, 951B 3BBB:9506 ,BB 0065 mov bx,offset data_209 ; (3BBB:0065=0) 3BBB:9509 EB F4 jmp short loc_1751 ; (94FF) 3BBB:950B loc_1753: ; xref 3BBB:94FD 3BBB:950B 8B FE mov di,si 3BBB:950D 47 inc di 3BBB:950E 43 inc bx 3BBB:950F 8A 07 mov al,[bx] 3BBB:9511 3A 05 cmp al,[di] 3BBB:9513 75 F1 jne loc_1752 ; Jump if not equal 3BBB:9515 47 inc di 3BBB:9516 43 inc bx 3BBB:9517 8A 07 mov al,[bx] 3BBB:9519 3A 05 cmp al,[di] 3BBB:951B 75 E9 jne loc_1752 ; Jump if not equal 3BBB:951D 80 F9 01 cmp cl,1 3BBB:9520 75 05 jne loc_1754 ; Jump if not equal 3BBB:9522 C6 06 018C FF mov data_240,0FFh ; (3BBB:018C=6Dh) 3BBB:9527 loc_1754: ; xref 3BBB:9520 3BBB:9527 B0 FF mov al,0FFh 3BBB:9529 C3 retn 3BBB:952A loc_1755: ; xref 3BBB:9504 3BBB:952A E8 0366 call sub_442 ; (9893) 3BBB:952D BA 0862 mov dx,862h 3BBB:9530 E8 FC2F call sub_391 ; (9162) 3BBB:9533 BA 005C mov dx,5Ch 3BBB:9536 E8 013A call sub_432 ; (9673) 3BBB:9539 5A pop dx 3BBB:953A E9 00E0 jmp loc_1771 ; (961D) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:8AB2, 8B42 3BBB:953D sub_419: 3BBB:953D 3C 02 cmp al,2 3BBB:953F 74 05 je loc_1756 ; Jump if equal 3BBB:9541 BE 04BD mov si,4BDh 3BBB:9544 EB 03 jmp short loc_1757 ; (9549) 3BBB:9546 loc_1756: ; xref 3BBB:953F 3BBB:9546 ,BE 04C0 mov si,4C0h ; (3BBB:04C0=0C3h) 3BBB:9549 loc_1757: ; xref 3BBB:9544 3BBB:9549 B1 03 mov cl,3 3BBB:954B ,BF 0065 mov di,offset data_209 ; (3BBB:0065=0) 3BBB:954E F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:9550 C3 retn ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:8B61 3BBB:9551 sub_420: 3BBB:9551 A0 01A9 mov al,data_263 ; (3BBB:01A9=0A0h) 3BBB:9554 3C 02 cmp al,2 3BBB:9556 72 03 jb loc_1758 ; Jump if below 3BBB:9558 FE C8 dec al 3BBB:955A C3 retn 3BBB:955B loc_1758: ; xref 3BBB:9556 3BBB:955B FE C0 inc al 3BBB:955D C3 retn ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:8BAB, 8BC6 3BBB:955E sub_421: 3BBB:955E 4E dec si 3BBB:955F 8A 04 mov al,[si] 3BBB:9561 04 40 add al,40h ; '@' 3BBB:9563 88 05 mov [di],al 3BBB:9565 47 inc di 3BBB:9566 C6 05 3A mov byte ptr [di],3Ah ; ':' 3BBB:9569 47 inc di 3BBB:956A 46 inc si 3BBB:956B C3 retn ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:8BFE, 8C39 3BBB:956C sub_422: 3BBB:956C 8A 14 mov dl,[si] 3BBB:956E 80 C2 40 add dl,40h ; '@' 3BBB:9571 E8 FBE1 call sub_389 ; (9155) 3BBB:9574 B2 3A mov dl,3Ah ; ':' 3BBB:9576 E8 FBDC call sub_389 ; (9155) 3BBB:9579 C3 retn ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:8C0B 3BBB:957A sub_423: 3BBB:957A loc_1759: ; xref 3BBB:9582 3BBB:957A 8A 14 mov dl,[si] 3BBB:957C E8 FBD6 call sub_389 ; (9155) 3BBB:957F 46 inc si 3BBB:9580 3B F7 cmp si,di 3BBB:9582 75 F6 jne loc_1759 ; Jump if not equal 3BBB:9584 C3 retn ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:8C11, 8C26 3BBB:9585 sub_424: 3BBB:9585 8A 47 08 mov al,[bx+8] 3BBB:9588 24 80 and al,80h 3BBB:958A 74 08 jz loc_ret_1760 ; Jump if zero 3BBB:958C BA 07E6 mov dx,7E6h 3BBB:958F 57 push di 3BBB:9590 E8 FBCF call sub_391 ; (9162) 3BBB:9593 5F pop di 3BBB:9594 loc_ret_1760: ; xref 3BBB:958A 3BBB:9594 C3 retn ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:8970, 898E, 9080 3BBB:9595 sub_425: 3BBB:9595 89 1E 019A mov data_252,bx ; (3BBB:019A=0A0A0h) 3BBB:9599 2C 30 sub al,30h ; '0' 3BBB:959B 8A E0 mov ah,al 3BBB:959D FE C9 dec cl 3BBB:959F 74 1B jz loc_1762 ; Jump if zero 3BBB:95A1 43 inc bx 3BBB:95A2 8A 07 mov al,[bx] 3BBB:95A4 E8 FF0F call sub_414 ; (94B6) 3BBB:95A7 73 13 jnc loc_1762 ; Jump if carry=0 3BBB:95A9 43 inc bx 3BBB:95AA 2C 30 sub al,30h ; '0' 3BBB:95AC FE C9 dec cl 3BBB:95AE 80 FC 02 cmp ah,2 3BBB:95B1 73 15 jae loc_1764 ; Jump if above or = 3BBB:95B3 80 FC 01 cmp ah,1 3BBB:95B6 75 02 jne loc_1761 ; Jump if not equal 3BBB:95B8 04 0A add al,0Ah 3BBB:95BA loc_1761: ; xref 3BBB:95B6 3BBB:95BA 8A E0 mov ah,al 3BBB:95BC loc_1762: ; xref 3BBB:959F, 95A7 3BBB:95BC 80 FC 10 cmp ah,10h 3BBB:95BF 72 02 jb loc_1763 ; Jump if below 3BBB:95C1 EB 05 jmp short loc_1764 ; (95C8) 3BBB:95C3 loc_1763: ; xref 3BBB:95BF 3BBB:95C3 88 26 018B mov data_239,ah ; (3BBB:018B=6Ch) 3BBB:95C7 C3 retn 3BBB:95C8 loc_1764: ; xref 3BBB:95B1, 95C1 3BBB:95C8 E8 02C8 call sub_442 ; (9893) 3BBB:95CB BA 068A mov dx,68Ah 3BBB:95CE E8 FB91 call sub_391 ; (9162) 3BBB:95D1 8B 1E 019A mov bx,data_252 ; (3BBB:019A=0A0A0h) 3BBB:95D5 53 push bx 3BBB:95D6 loc_1765: ; xref 3BBB:95DD 3BBB:95D6 ,8A 07 mov al,[bx] 3BBB:95D8 3C 39 cmp al,39h ; '9' 3BBB:95DA 7F 03 jg loc_1766 ; Jump if > 3BBB:95DC 43 inc bx 3BBB:95DD EB F7 jmp short loc_1765 ; (95D6) 3BBB:95DF loc_1766: ; xref 3BBB:95DA 3BBB:95DF 8A C8 mov cl,al 3BBB:95E1 5B pop bx 3BBB:95E2 E8 005C call sub_431 ; (9641) 3BBB:95E5 E8 0035 call sub_429 ; (961D) 3BBB:95E8 E9 F16E jmp loc_1552 ; (8759) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:8D9C 3BBB:95EB sub_426: 3BBB:95EB A0 005C mov al,data_203 ; (3BBB:005C=0) 3BBB:95EE FE C8 dec al 3BBB:95F0 79 03 jns loc_1767 ; Jump if not sign ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:87B3 3BBB:95F2 sub_427: 3BBB:95F2 A0 01A2 mov al,data_257 ; (3BBB:01A2=0A0h) 3BBB:95F5 loc_1767: ; xref 3BBB:95F0 3BBB:95F5 04 41 add al,41h ; 'A' 3BBB:95F7 E9 00AC jmp loc_1780 ; (96A6) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:8DEF 3BBB:95FA sub_428: 3BBB:95FA 32 C0 xor al,al ; Zero register 3BBB:95FC ,BB 019C mov bx,offset data_253 ; (3BBB:019C=0A0h) 3BBB:95FF FE 07 inc byte ptr [bx] 3BBB:9601 79 03 jns loc_1768 ; Jump if not sign 3BBB:9603 E8 FC07 call sub_402 ; (920D) 3BBB:9606 loc_1768: ; xref 3BBB:9601 3BBB:9606 0A C0 or al,al ; Zero ? 3BBB:9608 74 01 jz loc_1769 ; Jump if zero 3BBB:960A C3 retn 3BBB:960B loc_1769: ; xref 3BBB:9608 3BBB:960B A0 019C mov al,data_253 ; (3BBB:019C=0A0h) 3BBB:960E ,BB 0080 mov bx,offset data_219 ; (3BBB:0080=0E9h) 3BBB:9611 B4 00 mov ah,0 3BBB:9613 03 D8 add bx,ax 3BBB:9615 32 C0 xor al,al ; Zero register 3BBB:9617 8A 07 mov al,[bx] 3BBB:9619 C3 retn 3BBB:961A loc_1770: ; xref 3BBB:8D15 3BBB:961A E8 FB45 call sub_391 ; (9162) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:880E, 8A27, 8AFA, 8C3F, 8C9E, 8D0B, 8D95 ; 8DF4, 8E04, 8E78, 90DE, 90F1, 9105, 9142 ; 9145, 94D3, 95E5, 9664, 966D, 97E9, 97F9 ; 9898 3BBB:961D sub_429: 3BBB:961D loc_1771: ; xref 3BBB:8CF0, 91C1, 953A 3BBB:961D B0 0D mov al,0Dh 3BBB:961F E8 0084 call sub_436 ; (96A6) 3BBB:9622 B0 0A mov al,0Ah 3BBB:9624 E9 007F jmpn loc_1780 ; (96A6) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:87B0, 8E75 3BBB:9627 sub_430: 3BBB:9627 2C 0A sub al,0Ah 3BBB:9629 72 11 jc loc_1773 ; Jump if carry Set 3BBB:962B B2 30 mov dl,30h ; '0' 3BBB:962D loc_1772: ; xref 3BBB:9631 3BBB:962D FE C2 inc dl 3BBB:962F 2C 0A sub al,0Ah 3BBB:9631 73 FA jnc loc_1772 ; Jump if carry=0 3BBB:9633 86 C4 xchg al,ah 3BBB:9635 50 push ax 3BBB:9636 E8 FB1C call sub_389 ; (9155) 3BBB:9639 58 pop ax 3BBB:963A 86 C4 xchg al,ah 3BBB:963C loc_1773: ; xref 3BBB:9629 3BBB:963C 04 3A add al,3Ah ; ':' 3BBB:963E E9 FAE0 jmp loc_1703 ; (9121) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:880B, 95E2, 965C 3BBB:9641 sub_431: 3BBB:9641 loc_1774: ; xref 3BBB:9651 3BBB:9641 ,8A 07 mov al,[bx] 3BBB:9643 0A C0 or al,al ; Zero ? 3BBB:9645 75 01 jnz loc_1775 ; Jump if not zero 3BBB:9647 C3 retn 3BBB:9648 loc_1775: ; xref 3BBB:9645 3BBB:9648 3A C1 cmp al,cl 3BBB:964A 75 01 jne loc_1776 ; Jump if not equal 3BBB:964C C3 retn 3BBB:964D loc_1776: ; xref 3BBB:964A 3BBB:964D E8 0056 call sub_436 ; (96A6) 3BBB:9650 43 inc bx 3BBB:9651 EB EE jmp short loc_1774 ; (9641) 3BBB:9653 loc_1777: ; xref 3BBB:88AA, 9350, 936F 3BBB:9653 E8 023D call sub_442 ; (9893) 3BBB:9656 8B 1E 019A mov bx,data_252 ; (3BBB:019A=0A0A0h) 3BBB:965A B1 20 mov cl,20h ; ' ' 3BBB:965C E8 FFE2 call sub_431 ; (9641) 3BBB:965F B0 3F mov al,3Fh ; '?' 3BBB:9661 E8 FABD call sub_388 ; (9121) 3BBB:9664 E8 FFB6 call sub_429 ; (961D) 3BBB:9667 BA 0642 mov dx,642h 3BBB:966A E8 FAF5 call sub_391 ; (9162) 3BBB:966D E8 FFAD call sub_429 ; (961D) 3BBB:9670 E9 0203 jmp loc_1798 ; (9876) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:8CC3, 9102, 9536 3BBB:9673 sub_432: 3BBB:9673 8B DA mov bx,dx 3BBB:9675 8A 07 mov al,[bx] 3BBB:9677 0A C0 or al,al ; Zero ? 3BBB:9679 75 05 jnz loc_1778 ; Jump if not zero 3BBB:967B A0 01A2 mov al,data_257 ; (3BBB:01A2=0A0h) 3BBB:967E FE C0 inc al 3BBB:9680 loc_1778: ; xref 3BBB:9679 3BBB:9680 04 40 add al,40h ; '@' 3BBB:9682 E8 0021 call sub_436 ; (96A6) 3BBB:9685 B0 3A mov al,3Ah ; ':' 3BBB:9687 E8 001C call sub_436 ; (96A6) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:8DA8 3BBB:968A sub_433: 3BBB:968A 42 inc dx 3BBB:968B 8B F2 mov si,dx 3BBB:968D B9 0008 mov cx,8 3BBB:9690 E8 0006 call sub_434 ; (9699) 3BBB:9693 E8 000E call sub_435 ; (96A4) 3BBB:9696 B9 0003 mov cx,3 ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:9690 3BBB:9699 sub_434: 3BBB:9699 locloop_1779: ; xref 3BBB:96A1 3BBB:9699 8A 04 mov al,[si] 3BBB:969B 24 7F and al,7Fh 3BBB:969D E8 0006 call sub_436 ; (96A6) 3BBB:96A0 46 inc si 3BBB:96A1 E2 F6 loop locloop_1779 ; Loop if cx > 0 3BBB:96A3 C3 retn ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:8DA5, 8DAB, 9693 3BBB:96A4 sub_435: 3BBB:96A4 B0 20 mov al,20h ; ' ' ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:8DA2, 961F, 964D, 9682, 9687, 969D 3BBB:96A6 sub_436: 3BBB:96A6 loc_1780: ; xref 3BBB:95F7, 9624 3BBB:96A6 51 push cx 3BBB:96A7 52 push dx 3BBB:96A8 53 push bx 3BBB:96A9 E8 FA75 call sub_388 ; (9121) 3BBB:96AC 5B pop bx 3BBB:96AD 5A pop dx 3BBB:96AE 59 pop cx 3BBB:96AF C3 retn ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:87F5, 882B, 8887, 88C9, 8A4F, 8F92, 9089 3BBB:96B0 sub_437: 3BBB:96B0 E8 FBEE call sub_404 ; (92A1) ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:88E6, 8909, 8C55, 901B 3BBB:96B3 sub_438: 3BBB:96B3 3C 00 cmp al,0 3BBB:96B5 74 04 je loc_ret_1781 ; Jump if equal 3BBB:96B7 3A 06 0798 cmp al,data_522 ; (3BBB:0798=7) 3BBB:96BB loc_ret_1781: ; xref 3BBB:96B5 3BBB:96BB C3 retn ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:93E6 3BBB:96BC sub_439: 3BBB:96BC B2 FF mov dl,0FFh 3BBB:96BE B1 2D mov cl,2Dh ; '-' 3BBB:96C0 CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:96C2 BA 010E mov dx,10Eh 3BBB:96C5 E8 FB13 call sub_398 ; (91DB) 3BBB:96C8 FE C0 inc al 3BBB:96CA 74 14 jz loc_ret_1782 ; Jump if zero 3BBB:96CC ,BE 0100 mov si,100h ; (3BBB:0100=0) 3BBB:96CF ,BF 01B4 mov di,offset data_268 ; (3BBB:01B4=0A0h) 3BBB:96D2 57 push di 3BBB:96D3 B9 0007 mov cx,7 3BBB:96D6 F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:96D8 5F pop di 3BBB:96D9 89 3E 0587 mov word ptr ds:[587h],di ; (3BBB:0587=258h) 3BBB:96DD E9 F355 jmp loc_1597 ; (8A35) 3BBB:96E0 loc_ret_1782: ; xref 3BBB:96CA 3BBB:96E0 C3 retn ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:8952, 8A6E 3BBB:96E1 sub_440: 3BBB:96E1 8B 3E 0587 mov di,word ptr ds:[587h] ; (3BBB:0587=258h) 3BBB:96E5 57 push di 3BBB:96E6 43 inc bx 3BBB:96E7 53 push bx 3BBB:96E8 BA 005C mov dx,5Ch 3BBB:96EB 8B FA mov di,dx 3BBB:96ED B9 0008 mov cx,8 3BBB:96F0 3A 06 0794 cmp al,data_520 ; (3BBB:0794=8Eh) 3BBB:96F4 74 13 je loc_1783 ; Jump if equal 3BBB:96F6 80 3E 018E FF cmp data_242,0FFh ; (3BBB:018E=6Fh) 3BBB:96FB 74 37 je loc_1786 ; Jump if equal 3BBB:96FD C6 06 018E FF mov data_242,0FFh ; (3BBB:018E=6Fh) 3BBB:9702 ,BE 0142 mov si,142h ; (3BBB:0142=0E0h) 3BBB:9705 F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:9707 EB 11 jmp short loc_1784 ; (971A) 3BBB:9709 loc_1783: ; xref 3BBB:96F4 3BBB:9709 80 3E 018F FF cmp data_243,0FFh ; (3BBB:018F=0A0h) 3BBB:970E 74 24 je loc_1786 ; Jump if equal 3BBB:9710 C6 06 018F FF mov data_243,0FFh ; (3BBB:018F=0A0h) 3BBB:9715 ,BE 0156 mov si,offset data_225 ; (3BBB:0156=0C6h) 3BBB:9718 F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 3BBB:971A loc_1784: ; xref 3BBB:9707 3BBB:971A FE 0E 019E dec data_255 ; (3BBB:019E=0A0h) 3BBB:971E C6 06 018C FF mov data_240,0FFh ; (3BBB:018C=6Dh) 3BBB:9723 E8 F377 call sub_370 ; (8A9D) 3BBB:9726 5B pop bx 3BBB:9727 74 05 jz loc_1785 ; Jump if zero 3BBB:9729 9C pushf ; Push flags 3BBB:972A E8 0013 call sub_441 ; (9740) 3BBB:972D 9D popf ; Pop flags 3BBB:972E loc_1785: ; xref 3BBB:9727 3BBB:972E 5F pop di 3BBB:972F 89 3E 0587 mov word ptr ds:[587h],di ; (3BBB:0587=258h) 3BBB:9733 C3 retn 3BBB:9734 loc_1786: ; xref 3BBB:96FB, 970E 3BBB:9734 9C pushf ; Push flags 3BBB:9735 E8 015B call sub_442 ; (9893) 3BBB:9738 BA 08A0 mov dx,8A0h 3BBB:973B E8 FA24 call sub_391 ; (9162) 3BBB:973E 9D popf ; Pop flags 3BBB:973F C3 retn ;==== External Entry into Subroutine ====================================== ; ; Called from: 3BBB:972A 3BBB:9740 sub_441: 3BBB:9740 E8 FB5E call sub_404 ; (92A1) 3BBB:9743 89 1E 0587 mov word ptr ds:[587h],bx ; (3BBB:0587=258h) 3BBB:9747 FE 06 018E inc data_242 ; (3BBB:018E=6Fh) 3BBB:974B 74 58 jz loc_1789 ; Jump if zero 3BBB:974D BA 0555 mov dx,555h 3BBB:9750 E8 FBE8 call sub_407 ; (933B) 3BBB:9753 E8 FA85 call sub_398 ; (91DB) 3BBB:9756 E8 F98B call sub_385 ; (90E4) 3BBB:9759 75 03 jnz loc_1787 ; Jump if not zero 3BBB:975B E9 0118 jmp loc_1798 ; (9876) 3BBB:975E loc_1787: ; xref 3BBB:9759 3BBB:975E B1 3C mov cl,3Ch ; '<' 3BBB:9760 51 push cx 3BBB:9761 BA 057C mov dx,57Ch 3BBB:9764 CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:9766 8A 0E 01A3 mov cl,data_258 ; (3BBB:01A3=0A0h) 3BBB:976A 88 0E 0554 mov byte ptr ds:[554h],cl ; (3BBB:0554=0E2h) 3BBB:976E 8A 0E 0555 mov cl,byte ptr ds:[555h] ; (3BBB:0555=0ECh) 3BBB:9772 0A C9 or cl,cl ; Zero ? 3BBB:9774 75 0A jnz loc_1788 ; Jump if not zero 3BBB:9776 8A 0E 01A2 mov cl,data_257 ; (3BBB:01A2=0A0h) 3BBB:977A FE C1 inc cl 3BBB:977C 88 0E 0555 mov byte ptr ds:[555h],cl ; (3BBB:0555=0ECh) 3BBB:9780 loc_1788: ; xref 3BBB:9774 3BBB:9780 06 push es 3BBB:9781 ,BE 0551 mov si,551h ; (3BBB:0551=0AAh) 3BBB:9784 8B 3E 057E mov di,word ptr ds:[57Eh] ; (3BBB:057E=72BEh) 3BBB:9788 8E 06 0580 mov es,word ptr ds:[580h] ; (3BBB:0580=0AD03h) 3BBB:978C B9 0025 mov cx,25h 3BBB:978F F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:9791 07 pop es 3BBB:9792 59 pop cx 3BBB:9793 BA 0584 mov dx,584h 3BBB:9796 CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:9798 E8 FD12 call sub_413 ; (94AD) 3BBB:979B C6 06 01A8 FF mov data_262,0FFh ; (3BBB:01A8=0A0h) 3BBB:97A0 8B 1E 0587 mov bx,word ptr ds:[587h] ; (3BBB:0587=258h) 3BBB:97A4 C3 retn 3BBB:97A5 loc_1789: ; xref 3BBB:974B 3BBB:97A5 BA 052F mov dx,52Fh 3BBB:97A8 E8 FB90 call sub_407 ; (933B) 3BBB:97AB loc_1790: ; xref 3BBB:981B 3BBB:97AB 8A 16 052F mov dl,byte ptr ds:[52Fh] ; (3BBB:052F=0FFh) 3BBB:97AF FE CA dec dl 3BBB:97B1 79 0C jns loc_1791 ; Jump if not sign 3BBB:97B3 8A 16 01A2 mov dl,data_257 ; (3BBB:01A2=0A0h) 3BBB:97B7 FE C2 inc dl 3BBB:97B9 88 16 052F mov byte ptr ds:[52Fh],dl ; (3BBB:052F=0FFh) 3BBB:97BD FE CA dec dl 3BBB:97BF loc_1791: ; xref 3BBB:97B1 3BBB:97BF 52 push dx 3BBB:97C0 B1 0E mov cl,0Eh 3BBB:97C2 CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:97C4 5A pop dx 3BBB:97C5 52 push dx 3BBB:97C6 BA 052F mov dx,52Fh 3BBB:97C9 B1 16 mov cl,16h 3BBB:97CB CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:97CD FE C0 inc al 3BBB:97CF 75 4F jnz loc_1795 ; Jump if not zero 3BBB:97D1 80 FC 00 cmp ah,0 3BBB:97D4 75 0C jne loc_1792 ; Jump if not equal 3BBB:97D6 E8 00BA call sub_442 ; (9893) 3BBB:97D9 BA 060E mov dx,60Eh 3BBB:97DC E8 F91F call sub_387 ; (90FE) 3BBB:97DF E9 0085 jmp loc_1797 ; (9867) 3BBB:97E2 loc_1792: ; xref 3BBB:97D4 3BBB:97E2 80 FC 08 cmp ah,8 3BBB:97E5 74 02 je loc_1793 ; Jump if equal 3BBB:97E7 EB 7E jmp short loc_1797 ; (9867) 3BBB:97E9 loc_1793: ; xref 3BBB:97E5 3BBB:97E9 E8 FE31 call sub_429 ; (961D) 3BBB:97EC BA 08C6 mov dx,8C6h 3BBB:97EF E8 F970 call sub_391 ; (9162) 3BBB:97F2 BA 087C mov dx,87Ch 3BBB:97F5 E8 F962 call sub_390 ; (915A) 3BBB:97F8 50 push ax 3BBB:97F9 E8 FE21 call sub_429 ; (961D) 3BBB:97FC 58 pop ax 3BBB:97FD ,BB 0854 mov bx,854h ; (3BBB:0854=0E8h) 3BBB:9800 3A 07 cmp al,[bx] 3BBB:9802 74 0B je loc_1794 ; Jump if equal 3BBB:9804 ,BB 0856 mov bx,856h ; (3BBB:0856=0) 3BBB:9807 3A 07 cmp al,[bx] 3BBB:9809 74 04 je loc_1794 ; Jump if equal 3BBB:980B 5A pop dx 3BBB:980C E9 0067 jmpn loc_1798 ; (9876) 3BBB:980F loc_1794: ; xref 3BBB:9802, 9809 3BBB:980F BA 052F mov dx,52Fh 3BBB:9812 52 push dx 3BBB:9813 B1 13 mov cl,13h 3BBB:9815 CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:9817 FE C0 inc al 3BBB:9819 5A pop dx 3BBB:981A 5F pop di 3BBB:981B 75 8E jnz loc_1790 ; Jump if not zero 3BBB:981D E9 0056 jmpn loc_1798 ; (9876) 3BBB:9820 loc_1795: ; xref 3BBB:97CF 3BBB:9820 06 push es 3BBB:9821 C6 06 052C 07 mov byte ptr ds:[52Ch],7 ; (3BBB:052C=2) 3BBB:9826 C6 06 052B 07 mov byte ptr ds:[52Bh],7 ; (3BBB:052B=0B1h) 3BBB:982B 8A 0E 01A3 mov cl,data_258 ; (3BBB:01A3=0A0h) 3BBB:982F 88 0E 052E mov byte ptr ds:[52Eh],cl ; (3BBB:052E=0) 3BBB:9833 B1 3C mov cl,3Ch ; '<' 3BBB:9835 BA 0576 mov dx,576h 3BBB:9838 CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:983A 8E 06 0578 mov es,word ptr ds:[578h] ; (3BBB:0578=0B903h) 3BBB:983E 8B 3E 057A mov di,word ptr ds:[57Ah] ; (3BBB:057A=8) 3BBB:9842 ,BE 0525 mov si,525h ; (3BBB:0525=0EBh) 3BBB:9845 B9 002C mov cx,2Ch 3BBB:9848 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 3BBB:984A 07 pop es 3BBB:984B 5A pop dx 3BBB:984C 3A 16 01A2 cmp dl,data_257 ; (3BBB:01A2=0A0h) 3BBB:9850 74 08 je loc_1796 ; Jump if equal 3BBB:9852 8A 16 01A2 mov dl,data_257 ; (3BBB:01A2=0A0h) 3BBB:9856 B1 0E mov cl,0Eh 3BBB:9858 CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:985A loc_1796: ; xref 3BBB:9850 3BBB:985A E8 FC50 call sub_413 ; (94AD) 3BBB:985D C6 06 01A8 FF mov data_262,0FFh ; (3BBB:01A8=0A0h) 3BBB:9862 8B 1E 0587 mov bx,word ptr ds:[587h] ; (3BBB:0587=258h) 3BBB:9866 C3 retn 3BBB:9867 loc_1797: ; xref 3BBB:97DF, 97E7 3BBB:9867 5A pop dx 3BBB:9868 3A 16 01A2 cmp dl,data_257 ; (3BBB:01A2=0A0h) 3BBB:986C 74 08 je loc_1798 ; Jump if equal 3BBB:986E B1 0E mov cl,0Eh 3BBB:9870 8A 16 01A2 mov dl,data_257 ; (3BBB:01A2=0A0h) 3BBB:9874 CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:9876 loc_1798: ; xref 3BBB:8CA6, 911D, 9670, 975B ; 980C, 981D, 986C 3BBB:9876 FE 06 018F inc data_243 ; (3BBB:018F=0A0h) 3BBB:987A 75 07 jnz loc_1799 ; Jump if not zero 3BBB:987C B1 3C mov cl,3Ch ; '<' 3BBB:987E BA 0582 mov dx,582h 3BBB:9881 CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:9883 loc_1799: ; xref 3BBB:987A 3BBB:9883 FE 06 018E inc data_242 ; (3BBB:018E=6Fh) 3BBB:9887 75 07 jnz loc_1800 ; Jump if not zero 3BBB:9889 B1 3C mov cl,3Ch ; '<' 3BBB:988B BA 0583 mov dx,583h 3BBB:988E CD E0 int 0E0h ; ??INT Non-standard interrupt 3BBB:9890 loc_1800: ; xref 3BBB:9887 3BBB:9890 E9 EEC6 jmp loc_1552 ; (8759) sub_407 endp ;========================================================================== ; SUBROUTINE ; ; Called from: 3BBB:8A1E, 90D5, 90F8, 952A, 95C8, 9653, 9735 ; 97D6 ;========================================================================== 3BBB:9893 sub_442 proc near 3BBB:9893 C6 06 0193 00 mov byte ptr data_245+1,0 ; (3BBB:0193=0E4h) 3BBB:9898 E8 FD82 call sub_429 ; (961D) 3BBB:989B BA 0858 mov dx,858h 3BBB:989E E8 F8C1 call sub_391 ; (9162) 3BBB:98A1 C3 retn sub_442 endp 3BBB:98A2 000E[00] db 14 dup (0) 3BBB:98B0 70 12 00 CC 08 00 db 70h, 12h, 00h,0CCh, 08h, 00h 3BBB:98B6 E0 08 00 F3 09 00 db 0E0h, 08h, 00h,0F3h, 09h, 00h 3BBB:98BC 00F4[00] db 244 dup (0) 3BBB:99B0 53 55 42 4D 49 54 db 'SUBMIT STARTUP' 3BBB:99B6 20 53 54 41 52 54 3BBB:99BC 55 50 3BBB:99BE 00 db 0 3BBB:99BF 53 54 41 52 54 55 db 'STARTUP SUB' 3BBB:99C5 50 20 53 55 42 3BBB:99CA 0015[00] db 21 dup (0) 3BBB:99DF 53 55 42 4D 49 54 db 'SUBMIT CMD' 3BBB:99E5 20 20 43 4D 44 3BBB:99EA 0009[00] db 9 dup (0) 3BBB:99F3 50 55 54 52 53 58 db 'PUTRSX RSX' 3BBB:99F9 20 20 52 53 58 3BBB:99FE 0009[00] db 9 dup (0) 3BBB:9A07 47 45 54 52 53 58 db 'GETRSX RSX' 3BBB:9A0D 20 20 52 53 58 3BBB:9A12 0008[00] db 8 dup (0) 3BBB:9A1A 87 06 8E 06 8E 06 db 87h, 06h, 8Eh, 06h, 8Eh, 06h 3BBB:9A20 5F 08 5F 08 93 08 db 5Fh, 08h, 5Fh, 08h, 93h, 08h 3BBB:9A26 93 08 7B 07 CF 07 db 93h, 08h, 7Bh, 07h,0CFh, 07h 3BBB:9A2C ED 07 db 0EDh, 07h 3BBB:9A2E 0008[00] db 8 dup (0) 3BBB:9A36 FF 00 db 0FFh, 00h 3BBB:9A38 0008[00] db 8 dup (0) 3BBB:9A40 8C 00 db 8Ch, 00h 3BBB:9A42 000E[00] db 14 dup (0) 3BBB:9A50 86 FF 00 00 C7 B4 db 86h,0FFh, 00h, 00h,0C7h,0B4h 3BBB:9A56 01 db 01h 3BBB:9A57 000B[00] db 11 dup (0) 3BBB:9A62 7F 00 db 7Fh, 00h 3BBB:9A64 0202[00] db 514 dup (0) 3BBB:9C66 8A FF 00 83 FF 00 db 8Ah,0FFh, 00h, 83h,0FFh, 00h 3BBB:9C6C 84 FF db 84h,0FFh 3BBB:9C6E 00FF[00] db 255 dup (0) 3BBB:9D6D 43 4D 44 53 55 42 db 'CMDSUBRSX' 3BBB:9D73 52 53 58 3BBB:9D76 005F[00] db 95 dup (0) 3BBB:9DD5 03 00 00 00 00 FF db 03h, 00h, 00h, 00h, 00h,0FFh 3BBB:9DDB 0026[00] db 38 dup (0) 3BBB:9E01 01 00 db 1, 0 3BBB:9E03 0023[00] db 35 dup (0) 3BBB:9E26 84 04 00 00 00 00 db 84h, 04h, 00h, 00h, 00h, 00h 3BBB:9E2C 80 04 00 00 00 00 db 80h, 04h, 00h, 00h, 00h, 00h 3BBB:9E32 81 85 83 87 05 00 db 81h, 85h, 83h, 87h, 05h, 00h 3BBB:9E38 00 99 05 18 00 00 db 00h, 99h, 05h, 18h, 00h, 00h 3BBB:9E3E 05 db 05h 3BBB:9E3F 007F[00] db 127 dup (0) 3BBB:9EBE 49 6E 68 61 6C 74 db 'Inhaltsverzeichnis voll - $' 3BBB:9EC4 73 76 65 72 7A 65 3BBB:9ECA 69 63 68 6E 69 73 3BBB:9ED0 20 76 6F 6C 6C 20 3BBB:9ED6 2D 20 24 3BBB:9ED9 00 db 0 3BBB:9EDA 44 61 74 65 69 20 db 'Datei nicht gefunden: $' 3BBB:9EE0 6E 69 63 68 74 20 3BBB:9EE6 67 65 66 75 6E 64 3BBB:9EEC 65 6E 3A 20 24 3BBB:9EF1 00 db 0 3BBB:9EF2 55 6E 7A 75 6C 61 db 'Unzulaessige Dateibezeichnung Ko' 3BBB:9EF8 65 73 73 69 67 65 3BBB:9EFE 20 44 61 74 65 69 3BBB:9F04 62 65 7A 65 69 63 3BBB:9F0A 68 6E 75 6E 67 20 3BBB:9F10 4B 6F 3BBB:9F12 72 72 65 6B 74 65 db 'rrekte Form: d:Dateiname.Typ;Pa' 3BBB:9F18 20 46 6F 72 6D 3A 3BBB:9F1E 20 20 64 3A 44 61 3BBB:9F24 74 65 69 6E 61 6D 3BBB:9F2A 65 2E 54 79 70 3B 3BBB:9F30 50 61 3BBB:9F32 73 73 77 6F 72 74 db 'sswort$' 3BBB:9F38 24 3BBB:9F39 00 db 0 3BBB:9F3A 55 73 65 72 62 65 db 'Userbereichs-Nummer unzulaessig-' 3BBB:9F40 72 65 69 63 68 73 3BBB:9F46 2D 4E 75 6D 6D 65 3BBB:9F4C 72 20 75 6E 7A 75 3BBB:9F52 6C 61 65 73 73 69 3BBB:9F58 67 2D 3BBB:9F5A 2D 6E 69 63 68 74 db '-nicht im Bereich 0 - 15 : $' 3BBB:9F60 20 69 6D 20 42 65 3BBB:9F66 72 65 69 63 68 20 3BBB:9F6C 30 20 2D 20 31 35 3BBB:9F72 20 3A 20 24 3BBB:9F76 5A 65 69 74 65 69 db 'Zeiteinheiten fuer den Vordergru' 3BBB:9F7C 6E 68 65 69 74 65 3BBB:9F82 6E 20 66 75 65 72 3BBB:9F88 20 64 65 6E 20 56 3BBB:9F8E 6F 72 64 65 72 67 3BBB:9F94 72 75 3BBB:9F96 6E 64 20 3D 20 24 db 'nd = $' 3BBB:9F9C 42 65 72 65 69 63 db 'Bereich fuer Zeiteinheiten: 1 - ' 3BBB:9FA2 68 20 66 75 65 72 3BBB:9FA8 20 5A 65 69 74 65 3BBB:9FAE 69 6E 68 65 69 74 3BBB:9FB4 65 6E 3A 20 31 20 3BBB:9FBA 2D 20 3BBB:9FBC 32 35 35 2E 24 db '255.$' 3BBB:9FC1 00 db 0 3BBB:9FC2 55 73 65 72 62 65 db 'Userbereichs-Nummer eingeben: $' 3BBB:9FC8 72 65 69 63 68 73 3BBB:9FCE 2D 4E 75 6D 6D 65 3BBB:9FD4 72 20 65 69 6E 67 3BBB:9FDA 65 62 65 6E 3A 20 3BBB:9FE0 24 3BBB:9FE1 00 db 0 3BBB:9FE2 4E 65 75 65 72 20 db 'Neuer Dateiname:$' 3BBB:9FE8 44 61 74 65 69 6E 3BBB:9FEE 61 6D 65 3A 24 3BBB:9FF3 00 db 0 3BBB:9FF4 41 6C 74 65 72 20 db 'Alter Dateiname:$' 3BBB:9FFA 44 61 74 65 69 6E 3BBB:A000 61 6D 65 3A 24 3BBB:A005 00 db 0 3BBB:A006 44 61 74 65 69 20 db 'Datei kann nicht geladen werden:' 3BBB:A00C 6B 61 6E 6E 20 6E 3BBB:A012 69 63 68 74 20 67 3BBB:A018 65 6C 61 64 65 6E 3BBB:A01E 20 77 65 72 64 65 3BBB:A024 6E 3A 3BBB:A026 20 24 db ' $' 3BBB:A028 4B 65 69 6E 65 20 db 'Keine Dateien vorhanden. $' 3BBB:A02E 44 61 74 65 69 65 3BBB:A034 6E 20 76 6F 72 68 3BBB:A03A 61 6E 64 65 6E 2E 3BBB:A040 20 24 3BBB:A042 3E 00 db '>', 0 3BBB:A044 3C 00 db '<', 0 3BBB:A046 5B 00 db '[', 0 3BBB:A048 21 00 db '!', 0 3BBB:A04A 3E 00 db '>', 0 3BBB:A04C 44 49 52 00 db 'DIR', 0 3BBB:A050 44 49 52 53 00 db 'DIRS', 0 3BBB:A055 44 49 52 53 59 53 db 'DIRSYS', 0 3BBB:A05B 00 3BBB:A05C 45 52 41 00 db 'ERA', 0 3BBB:A060 45 52 41 53 45 00 db 'ERASE', 0 3BBB:A066 52 45 4E 00 db 'REN', 0 3BBB:A06A 52 45 4E 41 4D 45 db 'RENAME', 0 3BBB:A070 00 3BBB:A071 54 59 50 45 00 db 'TYPE', 0 3BBB:A076 55 53 45 52 00 db 'USER', 0 3BBB:A07B 54 49 4D 45 db 'TIME' 3BBB:A07F FF 00 04 09 10 14 db 0FFh, 00h, 04h, 09h, 10h, 14h 3BBB:A085 1A 1E db 1Ah, 1Eh 3BBB:A087 25 2A db 25h, 2Ah 3BBB:A089 2F 33 00 db '/3', 0 3BBB:A08C 20 2C 5B 5D 3E 3C db ' ,[]><=:!', 0 3BBB:A092 3D 3A 21 00 3BBB:A096 20 28 55 73 65 72 db ' (User 0)$' 3BBB:A09C 20 30 29 24 3BBB:A0A0 44 49 52 2D 44 61 db 'DIR-Dateien vorhanden$' 3BBB:A0A6 74 65 69 65 6E 20 3BBB:A0AC 76 6F 72 68 61 6E 3BBB:A0B2 64 65 6E 24 3BBB:A0B6 53 59 53 2D 44 61 db 'SYS-Dateien vorhanden$' 3BBB:A0BC 74 65 69 65 6E 20 3BBB:A0C2 76 6F 72 68 61 6E 3BBB:A0C8 64 65 6E 24 3BBB:A0CC 4B 6F 6D 6D 61 6E db 'Kommando erlaubt keine Optionen.' 3BBB:A0D2 64 6F 20 65 72 6C 3BBB:A0D8 61 75 62 74 20 6B 3BBB:A0DE 65 69 6E 65 20 4F 3BBB:A0E4 70 74 69 6F 6E 65 3BBB:A0EA 6E 2E 3BBB:A0EC 24 db '$' 3BBB:A0ED 00 db 0 3BBB:A0EE 44 61 74 65 69 6E db 'Dateiname eingeben: $' 3BBB:A0F4 61 6D 65 20 65 69 3BBB:A0FA 6E 67 65 62 65 6E 3BBB:A100 3A 20 24 3BBB:A103 00 db 0 3BBB:A104 6A 61 4A 41 46 45 db 'jaJAFEHLER: $' 3BBB:A10A 48 4C 45 52 3A 20 3BBB:A110 20 24 3BBB:A112 44 61 74 65 69 74 db 'Dateityp ist nicht CMD: $' 3BBB:A118 79 70 20 69 73 74 3BBB:A11E 20 6E 69 63 68 74 3BBB:A124 20 43 4D 44 3A 20 3BBB:A12A 24 3BBB:A12B 00 db 0 3BBB:A12C 20 28 4A 2F 4E 29 db ' (J/N)? $' 3BBB:A132 3F 20 24 3BBB:A135 00 db 0 3BBB:A136 57 65 69 74 65 72 db 'Weiter, RETURN druecken $' 3BBB:A13C 2C 20 20 52 45 54 3BBB:A142 55 52 4E 20 64 72 3BBB:A148 75 65 63 6B 65 6E 3BBB:A14E 20 24 3BBB:A150 55 6D 73 63 68 61 db 'Umschalt-Parameter bereits angeg' 3BBB:A156 6C 74 2D 50 61 72 3BBB:A15C 61 6D 65 74 65 72 3BBB:A162 20 62 65 72 65 69 3BBB:A168 74 73 20 61 6E 67 3BBB:A16E 65 67 3BBB:A170 65 62 65 6E 2E 24 db 'eben.$' 3BBB:A176 4C 6F 65 73 63 68 db 'Loeschen ? $' 3BBB:A17C 65 6E 20 3F 20 24 3BBB:A182 000E[00] db 14 dup (0) 3BBB:A190 45 02 38 02 DA 0E db 45h, 02h, 38h, 02h,0DAh, 0Eh 3BBB:A196 D9 0E F5 13 F4 13 db 0D9h, 0Eh,0F5h, 13h,0F4h, 13h 3BBB:A19C C1 17 8A 17 0D 02 db 0C1h, 17h, 8Ah, 17h, 0Dh, 02h 3BBB:A1A2 00 00 17 23 EE 22 db 00h, 00h, 17h, 23h,0EEh, 22h 3BBB:A1A8 DF db 0DFh 3BBB:A1A9 25 6D 25 30 38 2D db '%m%08-05-86' 3BBB:A1AF 30 35 2D 38 36 3BBB:A1B4 00 00 00 00 03 00 db 00h, 00h, 00h, 00h, 03h, 00h 3BBB:A1BA 96 06 00 00 96 06 db 96h, 06h, 00h, 00h, 96h, 06h 3BBB:A1C0 C8 01 70 00 C8 11 db 0C8h, 01h, 70h, 00h,0C8h, 11h 3BBB:A1C6 70 00 27 0F 70 00 db 70h, 00h, 27h, 0Fh, 70h, 00h 3BBB:A1CC C8 17 70 00 00 00 db 0C8h, 17h, 70h, 00h, 00h, 00h 3BBB:A1D2 00 00 F3 09 70 00 db 00h, 00h,0F3h, 09h, 70h, 00h 3BBB:A1D8 11 16 E0 08 A0 38 db 11h, 16h,0E0h, 08h,0A0h, 38h 3BBB:A1DE E0 08 00 00 00 00 db 0E0h, 08h, 00h, 00h, 00h, 00h 3BBB:A1E4 00 00 01 41 10 00 db 00h, 00h, 01h, 41h, 10h, 00h 3BBB:A1EA 00 10 FF FF 00 DB db 00h, 10h,0FFh,0FFh, 00h,0DBh 3BBB:A1F0 02 00 00 00 00 4E db 02h, 00h, 00h, 00h, 00h, 4Eh 3BBB:A1F6 16 FF 00 00 72 00 db 16h,0FFh, 00h, 00h, 72h, 00h 3BBB:A1FC 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 3BBB:A202 7A 00 00 00 00 00 db 7Ah, 00h, 00h, 00h, 00h, 00h 3BBB:A208 00 00 82 00 00 00 db 00h, 00h, 82h, 00h, 00h, 00h 3BBB:A20E 00 00 00 00 8A 00 db 00h, 00h, 00h, 00h, 8Ah, 00h 3BBB:A214 00 db 00h 3BBB:A215 0016[00] db 22 dup (0) 3BBB:A22B 01 03 04 05 02 00 db 1, 3, 4, 5, 2, 0 3BBB:A231 00F1[00] db 241 dup (0) 3BBB:A322 13 08 7F 08 db 13h, 08h, 7Fh, 08h 3BBB:A326 0125[00] db 293 dup (0) 3BBB:A44B 10 00 db 10h, 00h 3BBB:A44D 00C5[00] db 197 dup (0) 3BBB:A512 D9 02 5A 03 db 0D9h, 02h, 5Ah, 03h 3BBB:A516 01D3[00] db 467 dup (0) 3BBB:A6E9 10 1E 00 00 db 10h, 1Eh, 00h, 00h 3BBB:A6ED 0055[00] db 85 dup (0) 3BBB:A742 FF FF 00 db 0FFh,0FFh, 00h 3BBB:A745 002E[00] db 46 dup (0) 3BBB:A773 01 00 00 00 E9 05 db 01h, 00h, 00h, 00h,0E9h, 05h 3BBB:A779 EF 05 00 00 FF 00 db 0EFh, 05h, 00h, 00h,0FFh, 00h 3BBB:A77F F5 05 00 00 FF 00 db 0F5h, 05h, 00h, 00h,0FFh, 00h 3BBB:A785 FB 05 00 00 FF 00 db 0FBh, 05h, 00h, 00h,0FFh, 00h 3BBB:A78B 01 06 00 00 FF 00 db 01h, 06h, 00h, 00h,0FFh, 00h 3BBB:A791 07 06 00 00 FF 00 db 07h, 06h, 00h, 00h,0FFh, 00h 3BBB:A797 00 00 00 00 FF db 00h, 00h, 00h, 00h,0FFh 3BBB:A79C 003A[00] db 58 dup (0) 3BBB:A7D6 FF 00 db 0FFh, 00h 3BBB:A7D8 0066[00] db 102 dup (0) 3BBB:A83E 20 3A 20 24 00 00 db 20h, 3Ah, 20h, 24h, 00h, 00h 3BBB:A844 22 10 24 10 26 10 db 22h, 10h, 24h, 10h, 26h, 10h 3BBB:A84A 28 10 00 00 00 00 db 28h, 10h, 00h, 00h, 00h, 00h 3BBB:A850 2A 10 2C 10 2E 10 db 2Ah, 10h, 2Ch, 10h, 2Eh, 10h 3BBB:A856 00 db 00h 3BBB:A857 0011[00] db 17 dup (0) 3BBB:A868 24 00 db 24h, 00h 3BBB:A86A 00DB[00] db 219 dup (0) 3BBB:A945 1F 00 3B 00 5A 00 db 1Fh, 00h, 3Bh, 00h, 5Ah, 00h 3BBB:A94B 78 00 97 00 B5 00 db 78h, 00h, 97h, 00h,0B5h, 00h 3BBB:A951 D4 00 F3 00 11 01 db 0D4h, 00h,0F3h, 00h, 11h, 01h 3BBB:A957 30 01 4E 01 db 30h, 01h, 4Eh, 01h 3BBB:A95B 0044[00] db 68 dup (0) 3BBB:A99F 01 00 00 00 37 08 db 01h, 00h, 00h, 00h, 37h, 08h 3BBB:A9A5 00 db 00h 3BBB:A9A6 0021[00] db 33 dup (0) 3BBB:A9C7 5B 08 00 db 5Bh, 08h, 00h 3BBB:A9CA 0045[00] db 69 dup (0) 3BBB:AA0F 89 08 db 89h, 08h 3BBB:AA11 0008[00] db 8 dup (0) 3BBB:AA19 93 08 00 db 93h, 08h, 00h 3BBB:AA1C 0007[00] db 7 dup (0) 3BBB:AA23 9D 08 00 db 9Dh, 08h, 00h 3BBB:AA26 0007[00] db 7 dup (0) 3BBB:AA2D A7 08 00 db 0A7h, 08h, 00h 3BBB:AA30 0007[00] db 7 dup (0) 3BBB:AA37 B1 08 db 0B1h, 08h 3BBB:AA39 0008[00] db 8 dup (0) 3BBB:AA41 BB 08 00 db 0BBh, 08h, 00h 3BBB:AA44 0007[00] db 7 dup (0) 3BBB:AA4B C5 08 db 0C5h, 08h 3BBB:AA4D 0025[00] db 37 dup (0) 3BBB:AA72 40 0A 00 00 00 00 db 40h, 0Ah, 00h, 00h, 00h, 00h 3BBB:AA78 49 6E 69 74 20 20 db 'Init ' 3BBB:AA7E 20 20 3BBB:AA80 00 EF 07 00 00 00 db 00h,0EFh, 07h, 00h, 00h, 00h 3BBB:AA86 00 00 00 db 00h, 00h, 00h 3BBB:AA89 24 db 24h 3BBB:AA8A 002D[00] db 45 dup (0) 3BBB:AAB7 01 00 db 1, 0 3BBB:AAB9 0009[00] db 9 dup (0) 3BBB:AAC2 A2 01 00 db 0A2h, 01h, 00h 3BBB:AAC5 010D[00] db 269 dup (0) 3BBB:ABD2 A0 0B 02 01 00 db 0A0h, 0Bh, 02h, 01h, 00h 3BBB:ABD7 015C[00] db 348 dup (0) 3BBB:AD33 0D 02 02 db 0Dh, 02h, 02h 3BBB:AD36 015E[00] db 350 dup (0) 3BBB:AE94 02 03 db 2, 3 3BBB:AE96 01FB[00] db 507 dup (0) 3BBB:B091 32 00 00 04 24 FF db 32h, 00h, 00h, 04h, 24h,0FFh 3BBB:B097 00 D1 34 F4 34 C2 db 00h,0D1h, 34h,0F4h, 34h,0C2h 3BBB:B09D 37 EA 37 00 00 00 db 37h,0EAh, 37h, 00h, 00h, 00h 3BBB:B0A3 0015[00] db 21 dup (0) 3BBB:B0B8 36 16 00 00 4C 38 db 36h, 16h, 00h, 00h, 4Ch, 38h 3BBB:B0BE 00 db 00h 3BBB:B0BF 0019[00] db 25 dup (0) 3BBB:B0D8 36 16 36 16 00 00 db 36h, 16h, 36h, 16h, 00h, 00h 3BBB:B0DE 00 00 4C 38 00 00 db 00h, 00h, 4Ch, 38h, 00h, 00h 3BBB:B0E4 00 00 11 16 5E DA db 00h, 00h, 11h, 16h, 5Eh,0DAh 3BBB:B0EA FE 00 00 00 00 00 db 0FEh, 00h, 00h, 00h, 00h, 00h 3BBB:B0F0 FF 00 00 00 00 00 db 0FFh, 00h, 00h, 00h, 00h, 00h 3BBB:B0F6 FF 00 00 00 00 00 db 0FFh, 00h, 00h, 00h, 00h, 00h 3BBB:B0FC FF 00 00 00 00 00 db 0FFh, 00h, 00h, 00h, 00h, 00h 3BBB:B102 FF 00 00 00 00 00 db 0FFh, 00h, 00h, 00h, 00h, 00h 3BBB:B108 FF 00 00 00 00 00 db 0FFh, 00h, 00h, 00h, 00h, 00h 3BBB:B10E FF 00 00 00 00 00 db 0FFh, 00h, 00h, 00h, 00h, 00h 3BBB:B114 FF 00 00 00 00 00 db 0FFh, 00h, 00h, 00h, 00h, 00h 3BBB:B11A FF 00 00 00 00 00 db 0FFh, 00h, 00h, 00h, 00h, 00h 3BBB:B120 FF 00 00 00 00 00 db 0FFh, 00h, 00h, 00h, 00h, 00h 3BBB:B126 FF 00 00 00 00 00 db 0FFh, 00h, 00h, 00h, 00h, 00h 3BBB:B12C FF 00 00 00 00 00 db 0FFh, 00h, 00h, 00h, 00h, 00h 3BBB:B132 FF 00 00 00 00 00 db 0FFh, 00h, 00h, 00h, 00h, 00h 3BBB:B138 FF 00 00 00 00 00 db 0FFh, 00h, 00h, 00h, 00h, 00h 3BBB:B13E FF 00 00 00 00 00 db 0FFh, 00h, 00h, 00h, 00h, 00h 3BBB:B144 FF 00 00 00 00 00 db 0FFh, 00h, 00h, 00h, 00h, 00h 3BBB:B14A FF 00 00 00 00 00 db 0FFh, 00h, 00h, 00h, 00h, 00h 3BBB:B150 FF 00 00 00 00 00 db 0FFh, 00h, 00h, 00h, 00h, 00h 3BBB:B156 FF 00 00 00 00 00 db 0FFh, 00h, 00h, 00h, 00h, 00h 3BBB:B15C FF 00 00 00 00 00 db 0FFh, 00h, 00h, 00h, 00h, 00h 3BBB:B162 FF 00 00 00 00 00 db 0FFh, 00h, 00h, 00h, 00h, 00h 3BBB:B168 FF 00 00 00 00 00 db 0FFh, 00h, 00h, 00h, 00h, 00h 3BBB:B16E FF 00 00 00 00 00 db 0FFh, 00h, 00h, 00h, 00h, 00h 3BBB:B174 FF 00 00 00 00 00 db 0FFh, 00h, 00h, 00h, 00h, 00h 3BBB:B17A FF 00 00 00 00 00 db 0FFh, 00h, 00h, 00h, 00h, 00h 3BBB:B180 FF 00 00 00 00 00 db 0FFh, 00h, 00h, 00h, 00h, 00h 3BBB:B186 FF 00 00 00 00 00 db 0FFh, 00h, 00h, 00h, 00h, 00h 3BBB:B18C FF 00 00 00 00 00 db 0FFh, 00h, 00h, 00h, 00h, 00h 3BBB:B192 FF 00 00 00 00 00 db 0FFh, 00h, 00h, 00h, 00h, 00h 3BBB:B198 FF 00 00 00 00 00 db 0FFh, 00h, 00h, 00h, 00h, 00h 3BBB:B19E FF 00 00 00 00 00 db 0FFh, 00h, 00h, 00h, 00h, 00h 3BBB:B1A4 FF 00 D6 14 FD 14 db 0FFh, 00h,0D6h, 14h,0FDh, 14h 3BBB:B1AA 1E 15 23 15 31 15 db 1Eh, 15h, 23h, 15h, 31h, 15h 3BBB:B1B0 44 15 4E 15 6C 15 db 44h, 15h, 4Eh, 15h, 6Ch, 15h 3BBB:B1B6 87 15 9F 15 B6 15 db 87h, 15h, 9Fh, 15h,0B6h, 15h 3BBB:B1BC C6 15 DE 15 db 0C6h, 15h,0DEh, 15h 3BBB:B1C0 53 59 53 44 41 54 db 'SYSDAT-STRUCTUREY' 3BBB:B1C6 2D 53 54 52 55 43 3BBB:B1CC 54 55 52 45 59 3BBB:B1D1 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 3BBB:B1D7 44 00 00 00 28 05 db 44h, 00h, 00h, 00h, 28h, 05h 3BBB:B1DD 00 00 00 C9 10 D5 db 00h, 00h, 00h,0C9h, 10h,0D5h 3BBB:B1E3 10 92 10 00 00 BD db 10h, 92h, 10h, 00h, 00h,0BDh 3BBB:B1E9 34 74 10 7E 10 88 db 34h, 74h, 10h, 7Eh, 10h, 88h 3BBB:B1EF 10 db 10h 3BBB:B1F0 0018[00] db 24 dup (0) 3BBB:B208 97 10 00 00 00 00 db 97h, 10h, 00h, 00h, 00h, 00h 3BBB:B20E 1C 16 db 1Ch, 16h 3BBB:B210 000C[00] db 12 dup (0) 3BBB:B21C 96 10 00 db 96h, 10h, 00h 3BBB:B21F 0012[00] db 18 dup (0) 3BBB:B231 1F 00 3B 00 5A 00 db 1Fh, 00h, 3Bh, 00h, 5Ah, 00h 3BBB:B237 78 00 97 00 B5 00 db 78h, 00h, 97h, 00h,0B5h, 00h 3BBB:B23D D4 00 F3 00 11 01 db 0D4h, 00h,0F3h, 00h, 11h, 01h 3BBB:B243 30 01 4E 01 00 00 db 30h, 01h, 4Eh, 01h, 00h, 00h 3BBB:B249 F0 FF 7F 7F 00 07 db 0F0h,0FFh, 7Fh, 7Fh, 00h, 07h 3BBB:B24F 3F 1F db 3Fh, 1Fh 3BBB:B251 0020[00] db 32 dup (0) 3BBB:B271 D1 34 F4 34 00 00 db 0D1h, 34h,0F4h, 34h, 00h, 00h 3BBB:B277 00 00 C2 37 EA 37 db 00h, 00h,0C2h, 37h,0EAh, 37h 3BBB:B27D 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 3BBB:B283 00 00 00 db 00h, 00h, 00h 3BBB:B286 0D db 0Dh 3BBB:B287 0A 20 20 20 20 20 db 0Ah, ' T R A ' 3BBB:B28D 20 20 20 20 20 20 3BBB:B293 20 20 20 20 20 20 3BBB:B299 20 20 20 20 54 20 3BBB:B29F 52 20 41 20 3BBB:B2A3 50 20 20 20 49 20 db 'P I N T E R R U P T', 0Dh, 0Ah 3BBB:B2A9 4E 20 54 20 45 20 3BBB:B2AF 52 20 52 20 55 20 3BBB:B2B5 50 20 54 0D 0A 3BBB:B2BA 0011[00] db 17 dup (0) 3BBB:B2CB 0C 00 00 FE FF 1F db 0Ch, 00h, 00h,0FEh,0FFh, 1Fh 3BBB:B2D1 FF 3F FF 5F FF 7F db 0FFh, 3Fh,0FFh, 5Fh,0FFh, 7Fh 3BBB:B2D7 FF 9F FF BF FF DF db 0FFh, 9Fh,0FFh,0BFh,0FFh,0DFh 3BBB:B2DD FF EF db 0FFh,0EFh 3BBB:B2DF 006E[00] db 110 dup (0) 3BBB:B34D 0D 0A 0A 00 db 0Dh, 0Ah, 0Ah, 0 3BBB:B351 20 45 72 72 6F 72 db ' Error from : 12345678', 0Dh, 0Ah 3BBB:B357 20 66 72 6F 6D 20 3BBB:B35D 3A 20 31 32 33 34 3BBB:B363 35 36 37 38 0D 0A 3BBB:B369 43 53 3A 49 50 20 db 'CS:IP DS ES SS:SP AX' 3BBB:B36F 20 20 20 20 44 53 3BBB:B375 20 20 20 45 53 20 3BBB:B37B 20 20 53 53 3A 53 3BBB:B381 50 20 20 20 20 20 3BBB:B387 41 58 3BBB:B389 20 20 20 42 58 20 db ' BX CX DX BP SI DI', 0Dh 3BBB:B38F 20 20 43 58 20 20 3BBB:B395 20 44 58 20 20 20 3BBB:B39B 42 50 20 20 20 53 3BBB:B3A1 49 20 20 20 44 49 3BBB:B3A7 0D 3BBB:B3A8 0A 63 73 63 73 3A db 0Ah, 'cscs:ipip dsds eses ssss:sp' 3BBB:B3AE 69 70 69 70 20 64 3BBB:B3B4 73 64 73 20 65 73 3BBB:B3BA 65 73 20 73 73 73 3BBB:B3C0 73 3A 73 70 3BBB:B3C4 73 70 20 61 78 61 db 'sp axax bxbx cxcx dxdx bpbp sisi' 3BBB:B3CA 78 20 62 78 62 78 3BBB:B3D0 20 63 78 63 78 20 3BBB:B3D6 64 78 64 78 20 62 3BBB:B3DC 70 62 70 20 73 69 3BBB:B3E2 73 69 3BBB:B3E4 20 64 69 64 69 20 db ' didi ', 0Dh, 0Ah, 'Program term' 3BBB:B3EA 0D 0A 50 72 6F 67 3BBB:B3F0 72 61 6D 20 74 65 3BBB:B3F6 72 6D 3BBB:B3F8 69 6E 61 74 65 64 db 'inated', 0Dh, 0Ah, 0 3BBB:B3FE 0D 0A 00 3BBB:B401 44 69 76 69 64 65 db 'Divide', 0 3BBB:B407 00 3BBB:B408 53 69 6E 67 6C 65 db 'Single Step Int', 0 3BBB:B40E 20 53 74 65 70 20 3BBB:B414 49 6E 74 00 3BBB:B418 4E 4D 49 00 db 'NMI', 0 3BBB:B41C 42 72 65 61 6B 20 db 'Break Point', 0 3BBB:B422 50 6F 69 6E 74 00 3BBB:B428 4F 76 65 72 66 6C db 'Overflow', 0 3BBB:B42E 6F 77 00 3BBB:B431 52 61 6E 67 65 00 db 'Range', 0 3BBB:B437 49 6E 76 61 6C 69 db 'Invalid Opcode', 0 3BBB:B43D 64 20 4F 70 63 6F 3BBB:B443 64 65 00 3BBB:B446 50 72 6F 63 65 73 db 'Processor Extention', 0 3BBB:B44C 73 6F 72 20 45 78 3BBB:B452 74 65 6E 74 69 6F 3BBB:B458 6E 00 3BBB:B45A 49 6E 74 65 72 72 db 'Interrupt Table Limit', 0 3BBB:B460 75 70 74 20 54 61 3BBB:B466 62 6C 65 20 4C 69 3BBB:B46C 6D 69 74 00 3BBB:B470 45 53 43 20 53 65 db 'ESC Segment Overrun', 0 3BBB:B476 67 6D 65 6E 74 20 3BBB:B47C 4F 76 65 72 72 75 3BBB:B482 6E 00 3BBB:B484 50 72 6F 74 65 63 db 'Protection', 0 3BBB:B48A 74 69 6F 6E 00 3BBB:B48F 55 6E 65 78 70 65 db 'Unexpected interrupt', 0 3BBB:B495 63 74 65 64 20 69 3BBB:B49B 6E 74 65 72 72 75 3BBB:B4A1 70 74 00 3BBB:B4A4 1B 5B 31 3B 31 48 db 1Bh, '[1;1H', 0Dh 3BBB:B4AA 0D 3BBB:B4AB 88 84 84 84 db 88h, 84h, 84h, 84h 3BBB:B4AF 004B[84] db 75 dup (84h) 3BBB:B4FA 87 85 20 20 db 87h, 85h, 20h, 20h 3BBB:B4FE 50 47 20 36 38 35 db 'PG 685 : Personal CP/M-86 ' 3BBB:B504 20 3A 20 20 50 65 3BBB:B50A 72 73 6F 6E 61 6C 3BBB:B510 20 43 50 2F 4D 2D 3BBB:B516 38 36 20 20 20 20 3BBB:B51C 20 20 3BBB:B51E 20 20 20 20 20 20 db ' Vers' 3BBB:B524 20 20 20 20 20 20 3BBB:B52A 20 20 20 20 20 20 3BBB:B530 20 20 20 20 20 20 3BBB:B536 20 20 20 20 56 65 3BBB:B53C 72 73 3BBB:B53E 69 6F 6E 20 32 2E db 'ion 2.1/1 ' 3BBB:B544 31 2F 31 20 20 20 3BBB:B54A 85 89 84 84 db 85h, 89h, 84h, 84h 3BBB:B54E 004C[84] db 76 dup (84h) 3BBB:B59A 86 0D 00 0D db 86h, 0Dh, 00h, 0Dh 3BBB:B59E 0A 4B 6F 6E 66 69 db 0Ah, 'Konfigurationsfehler. Unter' 3BBB:B5A4 67 75 72 61 74 69 3BBB:B5AA 6F 6E 73 66 65 68 3BBB:B5B0 6C 65 72 2E 20 55 3BBB:B5B6 6E 74 65 72 3BBB:B5BA 73 74 75 65 74 7A db 'stuetzt werden:', 0Dh, 0Ah, 0Ah, 'D' 3BBB:B5C0 74 20 77 65 72 64 3BBB:B5C6 65 6E 3A 0D 0A 0A 3BBB:B5CC 44 3BBB:B5CD 69 73 6B 65 74 74 db 'iskettenlaufwerk(e) : 1 (96 TPI)' 3BBB:B5D3 65 6E 6C 61 75 66 3BBB:B5D9 77 65 72 6B 28 65 3BBB:B5DF 29 20 3A 20 31 20 3BBB:B5E5 28 39 36 20 54 50 3BBB:B5EB 49 29 3BBB:B5ED 0D 0A 46 65 73 74 db 0Dh, 0Ah, 'Festplatte(n) :' 3BBB:B5F3 70 6C 61 74 74 65 3BBB:B5F9 28 6E 29 20 20 20 3BBB:B5FF 20 20 20 20 20 3A 3BBB:B605 20 31 0D 0A 48 61 db ' 1', 0Dh, 0Ah, 'Hauptspeicher ' 3BBB:B60B 75 70 74 73 70 65 3BBB:B611 69 63 68 65 72 20 3BBB:B617 20 20 3BBB:B619 20 20 20 20 20 3A db ' : 512 kByte', 0Dh, 0Ah, 0Ah 3BBB:B61F 20 35 31 32 20 6B 3BBB:B625 42 79 74 65 0D 0A 3BBB:B62B 0A 3BBB:B62C 42 69 74 74 65 20 db 'Bitte ueberpruefen Sie ihr Syste' 3BBB:B632 75 65 62 65 72 70 3BBB:B638 72 75 65 66 65 6E 3BBB:B63E 20 53 69 65 20 69 3BBB:B644 68 72 20 53 79 73 3BBB:B64A 74 65 3BBB:B64C 6D 20 6D 69 74 20 db 'm mit der Testdiskette.', 0Dh, 0Ah 3BBB:B652 64 65 72 20 54 65 3BBB:B658 73 74 64 69 73 6B 3BBB:B65E 65 74 74 65 2E 0D 3BBB:B664 0A 3BBB:B665 00 db 0 3BBB:B666 0D 0A 50 72 6F 67 db 0Dh, 0Ah, 'Programm kann nicht ge' 3BBB:B66C 72 61 6D 6D 20 6B 3BBB:B672 61 6E 6E 20 6E 69 3BBB:B678 63 68 74 20 67 65 3BBB:B67E 6C 61 64 65 6E 20 db 'laden werden', 0Dh, 0Ah, '$' 3BBB:B684 77 65 72 64 65 6E 3BBB:B68A 0D 0A 24 3BBB:B68D 0D 0A 43 43 50 20 db 0Dh, 0Ah, 'CCP kann nicht geladen' 3BBB:B693 6B 61 6E 6E 20 6E 3BBB:B699 69 63 68 74 20 67 3BBB:B69F 65 6C 61 64 65 6E 3BBB:B6A5 20 77 65 72 64 65 db ' werden $' 3BBB:B6AB 6E 20 24 3BBB:B6AE 04 55 db 04h, 55h 3BBB:B6B0 53 45 52 0D 0A 46 db 'SER', 0Dh, 0Ah, 'Fehler in $' 3BBB:B6B6 65 68 6C 65 72 20 3BBB:B6BC 69 6E 20 20 24 3BBB:B6C1 0D 0A 42 44 4F 53 db 0Dh, 0Ah, 'BDOS Funktion = $' 3BBB:B6C7 20 46 75 6E 6B 74 3BBB:B6CD 69 6F 6E 20 3D 20 3BBB:B6D3 24 3BBB:B6D4 20 44 61 74 65 69 db ' Datei = $' 3BBB:B6DA 20 3D 20 24 3BBB:B6DE 44 69 73 6B 65 74 db 'Disketten Schreib/Lese Fehler$' 3BBB:B6E4 74 65 6E 20 53 63 3BBB:B6EA 68 72 65 69 62 2F 3BBB:B6F0 4C 65 73 65 20 46 3BBB:B6F6 65 68 6C 65 72 24 3BBB:B6FC 44 69 73 6B 65 74 db 'Diskette schreibgeschuetzt$' 3BBB:B702 74 65 20 73 63 68 3BBB:B708 72 65 69 62 67 65 3BBB:B70E 73 63 68 75 65 74 3BBB:B714 7A 74 24 3BBB:B717 44 61 74 65 69 20 db 'Datei schreibgeschuetzt$' 3BBB:B71D 73 63 68 72 65 69 3BBB:B723 62 67 65 73 63 68 3BBB:B729 75 65 74 7A 74 24 3BBB:B72F 55 6E 7A 75 6C 61 db 'Unzulaessiges Laufwerk$' 3BBB:B735 65 73 73 69 67 65 3BBB:B73B 73 20 4C 61 75 66 3BBB:B741 77 65 72 6B 24 3BBB:B746 50 61 73 73 77 6F db 'Passwort Fehler$' 3BBB:B74C 72 74 20 46 65 68 3BBB:B752 6C 65 72 24 3BBB:B756 44 61 74 65 69 20 db 'Datei bereits vorhanden$' 3BBB:B75C 62 65 72 65 69 74 3BBB:B762 73 20 76 6F 72 68 3BBB:B768 61 6E 64 65 6E 24 3BBB:B76E 3F 20 69 6D 20 44 db '? im Dateinamen$' 3BBB:B774 61 74 65 69 6E 61 3BBB:B77A 6D 65 6E 24 3BBB:B77E 0D 0A 20 20 20 20 db 0Dh, 0Ah, ' Kein Drucker anges' 3BBB:B784 4B 65 69 6E 20 44 3BBB:B78A 72 75 63 6B 65 72 3BBB:B790 20 61 6E 67 65 73 3BBB:B796 63 68 6C 6F 73 73 db 'chlossen', 0Dh, 0Ah, '$' 3BBB:B79C 65 6E 0D 0A 24 3BBB:B7A1 00 db 0 3BBB:B7A2 CC CC 17 4F db 0CCh,0CCh, 17h, 4Fh 3BBB:B7A6 000C[00] db 12 dup (0) 3BBB:B7B2 90 17 10 18 B0 19 db 90h, 17h, 10h, 18h,0B0h, 19h 3BBB:B7B8 B0 18 F0 18 30 19 db 0B0h, 18h,0F0h, 18h, 30h, 19h 3BBB:B7BE 70 19 00 00 00 00 db 70h, 19h, 00h, 00h, 00h, 00h 3BBB:B7C4 00 00 43 52 54 30 db 00h, 00h, 43h, 52h, 54h, 30h 3BBB:B7CA 20 20 00 30 00 03 db 20h, 20h, 00h, 30h, 00h, 03h 3BBB:B7D0 00 00 00 00 03 FF db 00h, 00h, 00h, 00h, 03h,0FFh 3BBB:B7D6 01 db 01h 3BBB:B7D7 0007[00] db 7 dup (0) 3BBB:B7DE 28 0B 63 0E 4F 0E db 28h, 0Bh, 63h, 0Eh, 4Fh, 0Eh 3BBB:B7E4 A1 0F 9D 0F 3A 1A db 0A1h, 0Fh, 9Dh, 0Fh, 3Ah, 1Ah 3BBB:B7EA 3A 1A 3A 1A 00 00 db 3Ah, 1Ah, 3Ah, 1Ah, 00h, 00h 3BBB:B7F0 00 00 CC db 00h, 00h,0CCh 3BBB:B7F3 0027[CC] db 39 dup (0CCh) 3BBB:B81A 0106[00] db 262 dup (0) 3BBB:B920 FF FF C7 DF DF DF db 0FFh,0FFh,0C7h,0DFh,0DFh,0DFh 3BBB:B926 DF DF C7 db 0DFh,0DFh,0C7h 3BBB:B929 000A[FF] db 10 dup (0FFh) 3BBB:B933 DF EF F7 FB FD db 0DFh,0EFh,0F7h,0FBh,0FDh 3BBB:B938 000A[FF] db 10 dup (0FFh) 3BBB:B942 F1 FD FD FD FD FD db 0F1h,0FDh,0FDh,0FDh,0FDh,0FDh 3BBB:B948 F1 db 0F1h 3BBB:B949 0009[FF] db 9 dup (0FFh) 3BBB:B952 F9 F7 F7 EF F7 F7 db 0F9h,0F7h,0F7h,0EFh,0F7h,0F7h 3BBB:B958 F9 db 0F9h 3BBB:B959 0009[FF] db 9 dup (0FFh) 3BBB:B962 0007[F7] db 7 dup (0F7h) 3BBB:B969 0009[FF] db 9 dup (0FFh) 3BBB:B972 CF F7 F7 FB F7 F7 db 0CFh,0F7h,0F7h,0FBh,0F7h,0F7h 3BBB:B978 CF db 0CFh 3BBB:B979 000B[FF] db 11 dup (0FFh) 3BBB:B984 EF D5 FB db 0EFh,0D5h,0FBh 3BBB:B987 000B[FF] db 11 dup (0FFh) 3BBB:B992 E3 DD D1 D5 D1 DF db 0E3h,0DDh,0D1h,0D5h,0D1h,0DFh 3BBB:B998 E1 FF db 0E1h,0FFh 3BBB:B99A 0007[FF] db 7 dup (0FFh) 3BBB:B9A1 DD F7 EB DD DD C1 db 0DDh,0F7h,0EBh,0DDh,0DDh,0C1h 3BBB:B9A7 DD DD db 0DDh,0DDh 3BBB:B9A9 0008[FF] db 8 dup (0FFh) 3BBB:B9B1 DD E3 DD DD DD DD db 0DDh,0E3h,0DDh,0DDh,0DDh,0DDh 3BBB:B9B7 DD E3 db 0DDh,0E3h 3BBB:B9B9 0008[FF] db 8 dup (0FFh) 3BBB:B9C1 DD FF DD DD DD DD db 0DDh,0FFh,0DDh,0DDh,0DDh,0DDh 3BBB:B9C7 DD E3 FF FF db 0DDh,0E3h,0FFh,0FFh 3BBB:B9CB 0007[FF] db 7 dup (0FFh) 3BBB:B9D2 DD FF E3 FD E1 DD db 0DDh,0FFh,0E3h,0FDh,0E1h,0DDh 3BBB:B9D8 E1 FF db 0E1h,0FFh 3BBB:B9DA 0008[FF] db 8 dup (0FFh) 3BBB:B9E2 DD FF E3 DD DD DD db 0DDh,0FFh,0E3h,0DDh,0DDh,0DDh 3BBB:B9E8 E3 db 0E3h 3BBB:B9E9 0009[FF] db 9 dup (0FFh) 3BBB:B9F2 DD FF DD DD DD DD db 0DDh,0FFh,0DDh,0DDh,0DDh,0DDh 3BBB:B9F8 E5 FF db 0E5h,0FFh 3BBB:B9FA 0008[FF] db 8 dup (0FFh) 3BBB:BA02 E3 DD C3 DD DD C3 db 0E3h,0DDh,0C3h,0DDh,0DDh,0C3h 3BBB:BA08 DF DF DF db 0DFh,0DFh,0DFh 3BBB:BA0B 0007[FF] db 7 dup (0FFh) 3BBB:BA12 E3 DF E3 DD E3 FD db 0E3h,0DFh,0E3h,0DDh,0E3h,0FDh 3BBB:BA18 E3 FF FF FF FF FF db 0E3h,0FFh,0FFh,0FFh,0FFh,0FFh 3BBB:BA1E FF FF FA 20 20 20 db 0FFh,0FFh,0FAh, 20h, 20h, 20h 3BBB:BA24 B8 BE C6 BA C9 BB db 0B8h,0BEh,0C6h,0BAh,0C9h,0BBh 3BBB:BA2A 20 C8 BC 18 C2 20 db 20h,0C8h,0BCh, 18h,0C2h, 20h 3BBB:BA30 DA BF C0 D9 B4 C3 db 0DAh,0BFh,0C0h,0D9h,0B4h,0C3h 3BBB:BA36 C1 20 C4 B3 C5 6F db 0C1h, 20h,0C4h,0B3h,0C5h, 6Fh 3BBB:BA3C 19 CD D1 CF 1E 1C db 19h,0CDh,0D1h,0CFh, 1Eh, 1Ch 3BBB:BA42 FF 1F 1B FF 00 10 db 0FFh, 1Fh, 1Bh,0FFh, 00h, 10h 3BBB:BA48 B8 B9 B7 B6 09 0F db 0B8h,0B9h,0B7h,0B6h, 09h, 0Fh 3BBB:BA4E 15 19 B4 B5 B3 B2 db 15h, 19h,0B4h,0B5h,0B3h,0B2h 3BBB:BA54 12 14 05 17 FF B1 db 12h, 14h, 05h, 17h,0FFh,0B1h 3BBB:BA5A FF FF FF 11 FF FF db 0FFh,0FFh,0FFh, 11h,0FFh,0FFh 3BBB:BA60 F1 01 FF FF FF FF db 0F1h, 01h,0FFh,0FFh,0FFh,0FFh 3BBB:BA66 FF FF 06 07 04 13 db 0FFh,0FFh, 06h, 07h, 04h, 13h 3BBB:BA6C 18 03 1A FF 0B 0C db 18h, 03h, 1Ah,0FFh, 0Bh, 0Ch 3BBB:BA72 0A 08 02 0E 16 FF db 0Ah, 08h, 02h, 0Eh, 16h,0FFh 3BBB:BA78 1D FF FF FF FF FF db 1Dh,0FFh,0FFh,0FFh,0FFh,0FFh 3BBB:BA7E FF 0D C0 C1 C2 C3 db 0FFh, 0Dh,0C0h,0C1h,0C2h,0C3h 3BBB:BA84 C4 C5 C6 C7 80 81 db 0C4h,0C5h,0C6h,0C7h, 80h, 81h 3BBB:BA8A 82 83 84 85 86 87 db 82h, 83h, 84h, 85h, 86h, 87h 3BBB:BA90 FF FF FF CC CD CE db 0FFh,0FFh,0FFh,0CCh,0CDh,0CEh 3BBB:BA96 CF 9C FF FF FF 8C db 0CFh, 9Ch,0FFh,0FFh,0FFh, 8Ch 3BBB:BA9C 8D 8E 8F 9D C8 C9 db 8Dh, 8Eh, 8Fh, 9Dh,0C8h,0C9h 3BBB:BAA2 CA CB FF 94 95 96 db 0CAh,0CBh,0FFh, 94h, 95h, 96h 3BBB:BAA8 88 89 8A 8B FF 97 db 88h, 89h, 8Ah, 8Bh,0FFh, 97h 3BBB:BAAE D2 98 FF FF FF FF db 0D2h, 98h,0FFh,0FFh,0FFh,0FFh 3BBB:BAB4 1B D0 FF D1 FF FF db 1Bh,0D0h,0FFh,0D1h,0FFh,0FFh 3BBB:BABA FF FF FF 9A D3 9B db 0FFh,0FFh,0FFh, 9Ah,0D3h, 9Bh 3BBB:BAC0 7E 7C 3D 5F 7B 7F db 7Eh, 7Ch, 3Dh, 5Fh, 7Bh, 7Fh 3BBB:BAC6 60 70 28 29 27 26 db '`p()', 27h, '&iouy$' 3BBB:BACC 69 6F 75 79 24 3BBB:BAD1 25 23 22 72 74 65 db '%#"rtew' 3BBB:BAD7 77 3BBB:BAD8 10 21 FF FF FF 71 db 10h, 21h,0FFh,0FFh,0FFh, 71h 3BBB:BADE FF FF 08 61 FE FF db 0FFh,0FFh, 08h, 61h,0FEh,0FFh 3BBB:BAE4 FF FF FF FF 66 67 db 0FFh,0FFh,0FFh,0FFh, 66h, 67h 3BBB:BAEA 64 73 78 63 7A FF db 64h, 73h, 78h, 63h, 7Ah,0FFh 3BBB:BAF0 6B 6C 6A 68 62 6E db 'kljhbnv }', 0Dh, '*+>?DCABLMNJKZXYI?', 1Bh 3BBB:BB4D 3C 3D 3E 44 43 41 3BBB:BB53 42 4C 4D 4E 4A 4B 3BBB:BB59 5A 58 59 49 3F 1B 3BBB:BB5F 85 FF FF 81 40 FF db 85h,0FFh,0FFh, 81h, 40h,0FFh 3BBB:BB65 FF 83 FF 08 80 FF db 0FFh, 83h,0FFh, 08h, 80h,0FFh 3BBB:BB6B FF FF FF FF FF FF db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh 3BBB:BB71 31 32 33 34 35 36 db '123456789' 3BBB:BB77 37 38 39 3BBB:BB7A FF FF FF FF FF FF db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh 3BBB:BB80 50 51 52 53 54 55 db 'PQRSTUVW#$' 3BBB:BB86 56 57 23 24 3BBB:BB8A 25 26 45 46 47 48 db '%&EFGHDCABLMNJKZXYI?', 1Bh 3BBB:BB90 44 43 41 42 4C 4D 3BBB:BB96 4E 4A 4B 5A 58 59 3BBB:BB9C 49 3F 1B 3BBB:BB9F 84 5E 5F 81 5C 60 db 84h, 5Eh, 5Fh, 81h, 5Ch, 60h 3BBB:BBA5 7B 7C 7D 08 80 60 db 7Bh, 7Ch, 7Dh, 08h, 80h, 60h 3BBB:BBAB 7B FF FF FF FF F0 db 7Bh,0FFh,0FFh,0FFh,0FFh,0F0h 3BBB:BBB1 F1 F2 F3 db 0F1h,0F2h,0F3h 3BBB:BBB4 000C[FF] db 12 dup (0FFh) 3BBB:BBC0 00 3E 63 30 1C 36 db 00h, 3Eh, 63h, 30h, 1Ch, 36h 3BBB:BBC6 63 63 36 1C 06 63 db 63h, 63h, 36h, 1Ch, 06h, 63h 3BBB:BBCC 3E 00 00 00 00 63 db 3Eh, 00h, 00h, 00h, 00h, 63h 3BBB:BBD2 63 08 1C 36 63 63 db 63h, 08h, 1Ch, 36h, 63h, 63h 3BBB:BBD8 7F 63 63 00 00 00 db 7Fh, 63h, 63h, 00h, 00h, 00h 3BBB:BBDE 00 00 00 63 63 1C db 00h, 00h, 00h, 63h, 63h, 1Ch 3BBB:BBE4 36 63 63 63 63 36 db 36h, 63h, 63h, 63h, 63h, 36h 3BBB:BBEA 1C 00 00 00 00 00 db 1Ch, 00h, 00h, 00h, 00h, 00h 3BBB:BBF0 00 63 63 00 db 00h, 63h, 63h, 00h 3BBB:BBF4 63 63 63 63 63 63 db 63h, 63h, 63h, 63h, 63h, 63h 3BBB:BBFA 3E db 3Eh 3BBB:BBFB 0007[00] db 7 dup (0) 3BBB:BC02 66 66 00 3C 06 3E db 66h, 66h, 00h, 3Ch, 06h, 3Eh 3BBB:BC08 66 66 3B 00 00 00 db 66h, 66h, 3Bh, 00h, 00h, 00h 3BBB:BC0E 00 00 00 00 63 63 db 00h, 00h, 00h, 00h, 63h, 63h 3BBB:BC14 00 db 00h 3BBB:BC15 3E 63 63 63 63 3E db 3Eh, 63h, 63h, 63h, 63h, 3Eh 3BBB:BC1B 0007[00] db 7 dup (0) 3BBB:BC22 66 66 00 66 66 66 db 66h, 66h, 00h, 66h, 66h, 66h 3BBB:BC28 66 66 3B 00 db 66h, 66h, 3Bh, 00h 3BBB:BC2C 0008[00] db 8 dup (0) 3BBB:BC34 3E 63 7E 63 63 7E db '>c~cc~`` ' 3BBB:BC3A 60 60 20 3BBB:BC3D 00 00 00 9A 0F 8D db 00h, 00h, 00h, 9Ah, 0Fh, 8Dh 3BBB:BC43 0F 56 0F 56 0F FF db 0Fh, 56h, 0Fh, 56h, 0Fh,0FFh 3BBB:BC49 00 00 00 00 1B 5B db 00h, 00h, 00h, 00h, 1Bh, 5Bh 3BBB:BC4F 00 00 1B 4F 00 00 db 00h, 00h, 1Bh, 4Fh, 00h, 00h 3BBB:BC55 07 00 0D 0A 08 1B db 07h, 00h, 0Dh, 0Ah, 08h, 1Bh 3BBB:BC5B 07 10 13 03 65 11 db 07h, 10h, 13h, 03h, 65h, 11h 3BBB:BC61 6C 11 90 11 57 10 db 6Ch, 11h, 90h, 11h, 57h, 10h 3BBB:BC67 9D 11 56 16 56 16 db 9Dh, 11h, 56h, 16h, 56h, 16h 3BBB:BC6D 56 16 02 00 5B 23 db 56h, 16h, 02h, 00h, 5Bh, 23h 3BBB:BC73 5D 10 63 10 16 00 db 5Dh, 10h, 63h, 10h, 16h, 00h 3BBB:BC79 61 62 63 64 65 69 db 'abcdeijvwghrspqxyonklR' 3BBB:BC7F 6A 76 77 67 68 72 3BBB:BC85 73 70 71 78 79 6F 3BBB:BC8B 6E 6B 6C 52 3BBB:BC8F BD 13 EF 13 9D 14 db 0BDh, 13h,0EFh, 13h, 9Dh, 14h 3BBB:BC95 3E 15 F5 13 F8 15 db 3Eh, 15h,0F5h, 13h,0F8h, 15h 3BBB:BC9B 24 16 EC 10 F1 10 db 24h, 16h,0ECh, 10h,0F1h, 10h 3BBB:BCA1 50 16 50 16 50 16 db 50h, 16h, 50h, 16h, 50h, 16h 3BBB:BCA7 50 16 50 16 50 16 db 50h, 16h, 50h, 16h, 50h, 16h 3BBB:BCAD C6 18 3A 19 AE 19 db 0C6h, 18h, 3Ah, 19h,0AEh, 19h 3BBB:BCB3 03 1A 50 16 50 16 db 03h, 1Ah, 50h, 16h, 50h, 16h 3BBB:BCB9 51 16 05 00 44 4D db 51h, 16h, 05h, 00h, 44h, 4Dh 3BBB:BCBF 45 37 38 6C 11 80 db 45h, 37h, 38h, 6Ch, 11h, 80h 3BBB:BCC5 11 5E 11 B9 11 C6 db 11h, 5Eh, 11h,0B9h, 11h,0C6h 3BBB:BCCB 11 14 00 db 11h, 14h, 00h 3BBB:BCCE 48 4A 4B 6D 66 41 db 'HJKmfABCDsuLM@PcUVSRp' 3BBB:BCD4 42 43 44 73 75 4C 3BBB:BCDA 4D 40 50 63 55 56 3BBB:BCE0 53 52 70 3BBB:BCE3 16 B4 17 6D 17 E1 db 16h,0B4h, 17h, 6Dh, 17h,0E1h 3BBB:BCE9 11 70 16 F1 16 4C db 11h, 70h, 16h,0F1h, 16h, 4Ch 3BBB:BCEF 17 2B 17 0E 17 B9 db 17h, 2Bh, 17h, 0Eh, 17h,0B9h 3BBB:BCF5 11 C6 11 96 16 C3 db 11h,0C6h, 11h, 96h, 16h,0C3h 3BBB:BCFB 16 F0 16 F0 16 F6 db 16h,0F0h, 16h,0F0h, 16h,0F6h 3BBB:BD01 10 5B 18 5F 18 8F db 10h, 5Bh, 18h, 5Fh, 18h, 8Fh 3BBB:BD07 18 B7 18 00 00 00 db 18h,0B7h, 18h, 00h, 00h, 00h 3BBB:BD0D 00 4F 00 01 A5 12 db 00h, 4Fh, 00h, 01h,0A5h, 12h 3BBB:BD13 AE 12 B3 12 A5 12 db 0AEh, 12h,0B3h, 12h,0A5h, 12h 3BBB:BD19 BD 12 C6 12 C6 12 db 0BDh, 12h,0C6h, 12h,0C6h, 12h 3BBB:BD1F DE 12 B8 12 E7 12 db 0DEh, 12h,0B8h, 12h,0E7h, 12h 3BBB:BD25 FA 12 23 13 1D 12 db 0FAh, 12h, 23h, 13h, 1Dh, 12h 3BBB:BD2B A4 12 22 12 A4 12 db 0A4h, 12h, 22h, 12h,0A4h, 12h 3BBB:BD31 A4 12 2C 12 A4 12 db 0A4h, 12h, 2Ch, 12h,0A4h, 12h 3BBB:BD37 22 12 A4 12 A4 12 db 22h, 12h,0A4h, 12h,0A4h, 12h 3BBB:BD3D 56 12 7D 12 00 0B db 56h, 12h, 7Dh, 12h, 00h, 0Bh 3BBB:BD43 60 6B 20 69 50 57 db 60h, 6Bh, 20h, 69h, 50h, 57h 3BBB:BD49 38 1A 03 19 19 52 db 38h, 1Ah, 03h, 19h, 19h, 52h 3BBB:BD4F 0D 00 0C 00 00 00 db 0Dh, 00h, 0Ch, 00h, 00h, 00h 3BBB:BD55 00 68 50 56 39 1A db 00h, 68h, 50h, 56h, 39h, 1Ah 3BBB:BD5B 03 19 19 52 0D 00 db 03h, 19h, 19h, 52h, 0Dh, 00h 3BBB:BD61 0C 00 00 00 00 3B db 0Ch, 00h, 00h, 00h, 00h, 3Bh 3BBB:BD67 2D 31 35 60 05 58 db 2Dh, 31h, 35h, 60h, 05h, 58h 3BBB:BD6D 59 02 03 00 00 80 db 59h, 02h, 03h, 00h, 00h, 80h 3BBB:BD73 00 00 00 3A 2D 30 db 00h, 00h, 00h, 3Ah, 2Dh, 30h 3BBB:BD79 35 5E 01 58 58 02 db 35h, 5Eh, 01h, 58h, 58h, 02h 3BBB:BD7F 03 00 00 80 00 00 db 03h, 00h, 00h, 80h, 00h, 00h 3BBB:BD85 0009[00] db 9 dup (0) 3BBB:BD8E 07 db 7 3BBB:BD8F 000F[00] db 15 dup (0) 3BBB:BD9E F6 1B db 0F6h, 1Bh 3BBB:BDA0 0014[00] db 20 dup (0) 3BBB:BDB4 7E 81 A5 81 81 BD db 7Eh, 81h,0A5h, 81h, 81h,0BDh 3BBB:BDBA 99 81 db 99h, 81h 3BBB:BDBC 7E db 7Eh 3BBB:BDBD 0007[00] db 7 dup (0) 3BBB:BDC4 7E FF DB FF FF C3 db 7Eh,0FFh,0DBh,0FFh,0FFh,0C3h 3BBB:BDCA E7 FF 7E 00 db 0E7h,0FFh, 7Eh, 00h 3BBB:BDCE 0007[00] db 7 dup (0) 3BBB:BDD5 36 7F 7F 7F 7F 3E db 36h, 7Fh, 7Fh, 7Fh, 7Fh, 3Eh 3BBB:BDDB 1C db 1Ch 3BBB:BDDC 08 db 8 3BBB:BDDD 0008[00] db 8 dup (0) 3BBB:BDE5 08 1C 3E 7F 3E 1C db 08h, 1Ch, 3Eh, 7Fh, 3Eh, 1Ch 3BBB:BDEB 08 db 08h 3BBB:BDEC 0008[00] db 8 dup (0) 3BBB:BDF4 18 3C 3C E7 E7 E7 db 18h, 3Ch, 3Ch,0E7h,0E7h,0E7h 3BBB:BDFA 18 18 3C 00 00 00 db 18h, 18h, 3Ch, 00h, 00h, 00h 3BBB:BE00 00 00 00 00 18 3C db 00h, 00h, 00h, 00h, 18h, 3Ch 3BBB:BE06 7E FF FF 7E 18 18 db 7Eh,0FFh,0FFh, 7Eh, 18h, 18h 3BBB:BE0C 3C db 3Ch 3BBB:BE0D 000A[00] db 10 dup (0) 3BBB:BE17 18 3C 3C 18 db 18h, 3Ch, 3Ch, 18h 3BBB:BE1B 0007[00] db 7 dup (0) 3BBB:BE22 FF FF FF FF FF E7 db 0FFh,0FFh,0FFh,0FFh,0FFh,0E7h 3BBB:BE28 C3 C3 E7 FF FF FF db 0C3h,0C3h,0E7h,0FFh,0FFh,0FFh 3BBB:BE2E FF FF 00 00 00 00 db 0FFh,0FFh, 00h, 00h, 00h, 00h 3BBB:BE34 00 00 3C 66 42 42 db 00h, 00h, 3Ch, 66h, 42h, 42h 3BBB:BE3A 66 3C 00 00 00 00 db 66h, 3Ch, 00h, 00h, 00h, 00h 3BBB:BE40 00 00 FF FF FF FF db 00h, 00h,0FFh,0FFh,0FFh,0FFh 3BBB:BE46 C3 99 BD BD 99 C3 db 0C3h, 99h,0BDh,0BDh, 99h,0C3h 3BBB:BE4C FF FF FF FF 00 00 db 0FFh,0FFh,0FFh,0FFh, 00h, 00h 3BBB:BE52 00 00 0F 07 0D 19 db 00h, 00h, 0Fh, 07h, 0Dh, 19h 3BBB:BE58 3C 66 66 66 3C 00 db 3Ch, 66h, 66h, 66h, 3Ch, 00h 3BBB:BE5E 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 3BBB:BE64 3C 66 66 66 3C 18 db 3Ch, 66h, 66h, 66h, 3Ch, 18h 3BBB:BE6A 7E 18 18 00 00 00 db 7Eh, 18h, 18h, 00h, 00h, 00h 3BBB:BE70 00 00 00 00 3F 33 db 00h, 00h, 00h, 00h, 3Fh, 33h 3BBB:BE76 3F 30 30 30 70 F0 db 3Fh, 30h, 30h, 30h, 70h,0F0h 3BBB:BE7C E0 00 00 00 00 00 db 0E0h, 00h, 00h, 00h, 00h, 00h 3BBB:BE82 00 00 7F 63 7F 63 db 00h, 00h, 7Fh, 63h, 7Fh, 63h 3BBB:BE88 63 63 67 E7 E6 C0 db 63h, 63h, 67h,0E7h,0E6h,0C0h 3BBB:BE8E 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 3BBB:BE94 18 18 DB 3C E7 3C db 18h, 18h,0DBh, 3Ch,0E7h, 3Ch 3BBB:BE9A DB 18 18 db 0DBh, 18h, 18h 3BBB:BE9D 0007[00] db 7 dup (0) 3BBB:BEA4 40 60 70 7C 7F db 40h, 60h, 70h, 7Ch, 7Fh 3BBB:BEA9 7C 70 60 40 db 7Ch, 70h, 60h, 40h 3BBB:BEAD 0007[00] db 7 dup (0) 3BBB:BEB4 01 03 07 1F 7F 1F db 01h, 03h, 07h, 1Fh, 7Fh, 1Fh 3BBB:BEBA 07 03 01 db 07h, 03h, 01h 3BBB:BEBD 0007[00] db 7 dup (0) 3BBB:BEC4 18 3C 7E 18 18 18 db 18h, 3Ch, 7Eh, 18h, 18h, 18h 3BBB:BECA 7E 3C 18 00 00 00 db 7Eh, 3Ch, 18h, 00h, 00h, 00h 3BBB:BED0 00 00 00 00 33 33 db 00h, 00h, 00h, 00h, 33h, 33h 3BBB:BED6 33 33 33 33 00 db 33h, 33h, 33h, 33h, 00h 3BBB:BEDB 33 33 db 33h, 33h 3BBB:BEDD 0007[00] db 7 dup (0) 3BBB:BEE4 7F DB DB DB 7B 1B db 7Fh,0DBh,0DBh,0DBh, 7Bh, 1Bh 3BBB:BEEA 1B 1B 1B 00 00 00 db 1Bh, 1Bh, 1Bh, 00h, 00h, 00h 3BBB:BEF0 00 00 00 3E 63 30 db 00h, 00h, 00h, 3Eh, 63h, 30h 3BBB:BEF6 1C 36 63 63 36 1C db 1Ch, 36h, 63h, 63h, 36h, 1Ch 3BBB:BEFC 06 db 06h 3BBB:BEFD 63 3E db 63h, 3Eh 3BBB:BEFF 000B[00] db 11 dup (0) 3BBB:BF0A 7F 7F 7F 00 00 00 db 7Fh, 7Fh, 7Fh, 00h, 00h, 00h 3BBB:BF10 00 00 00 00 18 3C db 00h, 00h, 00h, 00h, 18h, 3Ch 3BBB:BF16 7E 18 18 18 7E 3C db 7Eh, 18h, 18h, 18h, 7Eh, 3Ch 3BBB:BF1C 18 7E 00 00 00 00 db 18h, 7Eh, 00h, 00h, 00h, 00h 3BBB:BF22 00 00 18 3C 7E 18 db 00h, 00h, 18h, 3Ch, 7Eh, 18h 3BBB:BF28 18 18 18 18 18 db 18h, 18h, 18h, 18h, 18h 3BBB:BF2D 0007[00] db 7 dup (0) 3BBB:BF34 18 18 18 18 18 18 db 18h, 18h, 18h, 18h, 18h, 18h 3BBB:BF3A 7E 3C 18 00 db 7Eh, 3Ch, 18h, 00h 3BBB:BF3E 0008[00] db 8 dup (0) 3BBB:BF46 0C 06 7F 06 0C 00 db 0Ch, 06h, 7Fh, 06h, 0Ch, 00h 3BBB:BF4C 000A[00] db 10 dup (0) 3BBB:BF56 18 30 7F 30 18 00 db 18h, 30h, 7Fh, 30h, 18h, 00h 3BBB:BF5C 000B[00] db 11 dup (0) 3BBB:BF67 60 60 60 7F 00 db 60h, 60h, 60h, 7Fh, 00h 3BBB:BF6C 000A[00] db 10 dup (0) 3BBB:BF76 24 66 FF 66 24 db 24h, 66h,0FFh, 66h, 24h 3BBB:BF7B 000A[00] db 10 dup (0) 3BBB:BF85 08 1C 1C 3E 3E 7F db 08h, 1Ch, 1Ch, 3Eh, 3Eh, 7Fh 3BBB:BF8B 7F db 7Fh 3BBB:BF8C 0009[00] db 9 dup (0) 3BBB:BF95 7F 7F 3E 3E 1C 1C db 7Fh, 7Fh, 3Eh, 3Eh, 1Ch, 1Ch 3BBB:BF9B 08 00 db 08h, 00h 3BBB:BF9D 0017[00] db 23 dup (0) 3BBB:BFB4 18 3C 3C 3C 18 18 db 18h, 3Ch, 3Ch, 3Ch, 18h, 18h 3BBB:BFBA 00 18 18 00 00 00 db 00h, 18h, 18h, 00h, 00h, 00h 3BBB:BFC0 00 00 00 63 63 63 db 00h, 00h, 00h, 63h, 63h, 63h 3BBB:BFC6 22 00 db 22h, 00h 3BBB:BFC8 000C[00] db 12 dup (0) 3BBB:BFD4 36 36 7F 36 36 36 db 36h, 36h, 7Fh, 36h, 36h, 36h 3BBB:BFDA 7F 36 36 00 00 00 db 7Fh, 36h, 36h, 00h, 00h, 00h 3BBB:BFE0 00 00 0C 0C 3E 63 db 00h, 00h, 0Ch, 0Ch, 3Eh, 63h 3BBB:BFE6 61 60 3E 03 db 61h, 60h, 3Eh, 03h 3BBB:BFEA 43 63 3E 0C 0C db 43h, 63h, 3Eh, 0Ch, 0Ch 3BBB:BFEF 0007[00] db 7 dup (0) 3BBB:BFF6 61 63 06 0C 18 33 db 61h, 63h, 06h, 0Ch, 18h, 33h 3BBB:BFFC 63 00 00 db 63h, 00h, 00h 3BBB:BFFF 0000 0000 data_854 dw 0, 0 3BBB:C003 1C00 3636 data_855 dw 1C00h, 3636h 3BBB:C007 3B1C 666E data_856 dw 3B1Ch, 666Eh 3BBB:C00B 66 3B 00 00 00 00 db 66h, 3Bh, 00h, 00h, 00h, 00h 3BBB:C011 00 00 db 00h, 00h 3BBB:C013 30 30 30 60 db 30h, 30h, 30h, 60h 3BBB:C017 000D[00] db 13 dup (0) 3BBB:C024 0C 18 db 0Ch, 18h ;========================================================================== ; SUBROUTINE ;========================================================================== 3BBB:C026 sub_443 proc near 3BBB:C026 30 30 xor [bx+si],dh 3BBB:C028 30 30 xor [bx+si],dh 3BBB:C02A 30 18 xor [bx+si],bl 3BBB:C02C 0C 00 or al,0 3BBB:C02E 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 3BBB:C034 18 0C 06 06 06 06 db 18h, 0Ch, 06h, 06h, 06h, 06h 3BBB:C03A 06 0C 18 db 06h, 0Ch, 18h 3BBB:C03D 0009[00] db 9 dup (0) 3BBB:C046 66 3C FF 3C 66 db 66h, 3Ch,0FFh, 3Ch, 66h 3BBB:C04B 000A[00] db 10 dup (0) 3BBB:C055 18 18 18 FF 18 18 db 18h, 18h, 18h,0FFh, 18h, 18h 3BBB:C05B 18 00 db 18h, 00h 3BBB:C05D 000D[00] db 13 dup (0) 3BBB:C06A 18 18 18 30 db 18h, 18h, 18h, 30h 3BBB:C06E 000A[00] db 10 dup (0) 3BBB:C078 FF 00 db 0FFh, 00h 3BBB:C07A 0011[00] db 17 dup (0) 3BBB:C08B 18 18 db 18h, 18h 3BBB:C08D 0007[00] db 7 dup (0) 3BBB:C094 01 03 06 0C 18 db 01h, 03h, 06h, 0Ch, 18h 3BBB:C099 30 60 40 db 30h, 60h, 40h 3BBB:C09C 0008[00] db 8 dup (0) 3BBB:C0A4 3E 63 67 6F 7B 73 db '>cgo{scc>' 3BBB:C0AA 63 63 3E 3BBB:C0AD 0007[00] db 7 dup (0) 3BBB:C0B4 0C 1C db 0Ch, 1Ch 3BBB:C0B6 3C 0C 0C 0C 0C 0C db 3Ch, 0Ch, 0Ch, 0Ch, 0Ch, 0Ch 3BBB:C0BC 3F db 3Fh 3BBB:C0BD 0007[00] db 7 dup (0) 3BBB:C0C4 3E 63 03 06 0C 18 db 3Eh, 63h, 03h, 06h, 0Ch, 18h 3BBB:C0CA 30 63 7F db 30h, 63h, 7Fh 3BBB:C0CD 0007[00] db 7 dup (0) 3BBB:C0D4 3E 63 03 03 1E 03 db 3Eh, 63h, 03h, 03h, 1Eh, 03h 3BBB:C0DA 03 db 03h 3BBB:C0DB 63 3E db 63h, 3Eh 3BBB:C0DD 0007[00] db 7 dup (0) 3BBB:C0E4 06 0E 1E 36 66 7F db 06h, 0Eh, 1Eh, 36h, 66h, 7Fh 3BBB:C0EA 06 06 0F db 06h, 06h, 0Fh 3BBB:C0ED 0007[00] db 7 dup (0) 3BBB:C0F4 7F 60 60 60 7E 03 db 7Fh, 60h, 60h, 60h, 7Eh, 03h 3BBB:C0FA 03 db 03h 3BBB:C0FB 63 3E db 63h, 3Eh 3BBB:C0FD 0007[00] db 7 dup (0) 3BBB:C104 1C db 1Ch 3BBB:C105 30 60 60 7E 63 63 db '0``~ccc>' 3BBB:C10B 63 3E 3BBB:C10D 0007[00] db 7 dup (0) 3BBB:C114 7F 63 03 06 0C 18 db 7Fh, 63h, 03h, 06h, 0Ch, 18h 3BBB:C11A 18 18 18 00 00 00 db 18h, 18h, 18h, 00h, 00h, 00h 3BBB:C120 00 00 00 00 db 00h, 00h, 00h, 00h 3BBB:C124 3E 63 63 63 3E 63 db '>ccc>ccc>' 3BBB:C12A 63 63 3E 3BBB:C12D 0007[00] db 7 dup (0) 3BBB:C134 3E 63 63 63 3F 03 db 3Eh, 63h, 63h, 63h, 3Fh, 03h 3BBB:C13A 03 06 3C 00 db 03h, 06h, 3Ch, 00h 3BBB:C13E 0007[00] db 7 dup (0) 3BBB:C145 18 18 00 00 00 18 db 18h, 18h, 00h, 00h, 00h, 18h 3BBB:C14B 18 00 db 18h, 00h 3BBB:C14D 0008[00] db 8 dup (0) 3BBB:C155 18 18 00 00 00 18 db 18h, 18h, 00h, 00h, 00h, 18h 3BBB:C15B 18 db 18h 3BBB:C15C 30 db 30h 3BBB:C15D 0007[00] db 7 dup (0) 3BBB:C164 06 0C 18 30 60 30 db 06h, 0Ch, 18h, 30h, 60h, 30h 3BBB:C16A 18 0C 06 db 18h, 0Ch, 06h 3BBB:C16D 000A[00] db 10 dup (0) 3BBB:C177 7E 00 00 7E 00 db 7Eh, 00h, 00h, 7Eh, 00h 3BBB:C17C 0008[00] db 8 dup (0) 3BBB:C184 60 30 18 0C 06 0C db 60h, 30h, 18h, 0Ch, 06h, 0Ch 3BBB:C18A 18 30 60 00 00 00 db 18h, 30h, 60h, 00h, 00h, 00h 3BBB:C190 00 00 00 00 3E 63 db 00h, 00h, 00h, 00h, 3Eh, 63h 3BBB:C196 63 06 0C 0C 00 0C db 63h, 06h, 0Ch, 0Ch, 00h, 0Ch 3BBB:C19C 0C 00 00 00 00 00 db 0Ch, 00h, 00h, 00h, 00h, 00h 3BBB:C1A2 00 00 db 00h, 00h 3BBB:C1A4 3E 63 63 6F 6F 6F db '>ccooon`>' 3BBB:C1AA 6E 60 3E 3BBB:C1AD 0007[00] db 7 dup (0) 3BBB:C1B4 08 1C 36 63 63 7F db 08h, 1Ch, 36h, 63h, 63h, 7Fh 3BBB:C1BA 63 63 63 db 63h, 63h, 63h 3BBB:C1BD 0007[00] db 7 dup (0) 3BBB:C1C4 7E 33 33 33 3E 33 db '~333>333~' 3BBB:C1CA 33 33 7E 3BBB:C1CD 0007[00] db 7 dup (0) 3BBB:C1D4 1E 33 61 60 60 60 db 1Eh, 33h, 61h, 60h, 60h, 60h 3BBB:C1DA 61 33 1E 00 00 00 db 61h, 33h, 1Eh, 00h, 00h, 00h 3BBB:C1E0 00 00 00 00 db 00h, 00h, 00h, 00h 3BBB:C1E4 7C 36 33 33 33 33 db '|6333336|' 3BBB:C1EA 33 36 7C 3BBB:C1ED 0007[00] db 7 dup (0) 3BBB:C1F4 7F 33 31 34 3C 34 db 7Fh, 33h, 31h, 34h, 3Ch, 34h 3BBB:C1FA 31 33 7F 00 00 00 db 31h, 33h, 7Fh, 00h, 00h, 00h 3BBB:C200 00 00 00 00 7F db 00h, 00h, 00h, 00h, 7Fh 3BBB:C205 33 31 34 3C 34 30 db '314<400x' 3BBB:C20B 30 78 3BBB:C20D 0007[00] db 7 dup (0) 3BBB:C214 1E 33 61 60 60 6F db 1Eh, 33h, 61h, 60h, 60h, 6Fh 3BBB:C21A 63 33 1D db 63h, 33h, 1Dh 3BBB:C21D 0007[00] db 7 dup (0) 3BBB:C224 63 63 63 63 7F db 63h, 63h, 63h, 63h, 7Fh 3BBB:C229 63 63 63 63 db 63h, 63h, 63h, 63h 3BBB:C22D 0007[00] db 7 dup (0) 3BBB:C234 3C 18 18 18 18 18 db 3Ch, 18h, 18h, 18h, 18h, 18h 3BBB:C23A 18 18 3C 00 00 00 db 18h, 18h, 3Ch, 00h, 00h, 00h 3BBB:C240 00 00 00 00 0F 06 db 00h, 00h, 00h, 00h, 0Fh, 06h 3BBB:C246 06 06 06 06 66 66 db 06h, 06h, 06h, 06h, 66h, 66h 3BBB:C24C 3C 00 00 00 00 00 db 3Ch, 00h, 00h, 00h, 00h, 00h 3BBB:C252 00 00 db 00h, 00h 3BBB:C254 73 33 36 36 3C 36 db 's366<663s' 3BBB:C25A 36 33 73 3BBB:C25D 0007[00] db 7 dup (0) 3BBB:C264 78 30 30 30 30 30 db 'x0000013' 3BBB:C26A 31 33 3BBB:C26C 7F 00 00 00 00 00 db 7Fh, 00h, 00h, 00h, 00h, 00h 3BBB:C272 00 00 C3 E7 FF DB db 00h, 00h,0C3h,0E7h,0FFh,0DBh 3BBB:C278 C3 C3 C3 C3 C3 db 0C3h,0C3h,0C3h,0C3h,0C3h 3BBB:C27D 0007[00] db 7 dup (0) 3BBB:C284 63 73 7B 7F db 63h, 73h, 7Bh, 7Fh 3BBB:C288 6F 67 63 63 63 db 6Fh, 67h, 63h, 63h, 63h 3BBB:C28D 0007[00] db 7 dup (0) 3BBB:C294 1C 36 63 63 63 63 db 1Ch, 36h, 63h, 63h, 63h, 63h 3BBB:C29A 63 36 1C 00 00 00 db 63h, 36h, 1Ch, 00h, 00h, 00h 3BBB:C2A0 00 00 00 00 db 00h, 00h, 00h, 00h 3BBB:C2A4 7E 33 33 33 3E 30 db '~333>000x' 3BBB:C2AA 30 30 78 3BBB:C2AD 0007[00] db 7 dup (0) 3BBB:C2B4 3E 63 63 63 63 6B db '>ccccko>' 3BBB:C2BA 6F 3E 3BBB:C2BC 06 07 00 00 00 00 db 6, 7, 0, 0, 0, 0 3BBB:C2C2 00 00 db 0, 0 3BBB:C2C4 7E 33 33 33 3E 36 db '~333>633s' 3BBB:C2CA 33 33 73 3BBB:C2CD 0007[00] db 7 dup (0) 3BBB:C2D4 3E 63 63 30 1C 06 db 3Eh, 63h, 63h, 30h, 1Ch, 06h 3BBB:C2DA 63 63 3E db 63h, 63h, 3Eh 3BBB:C2DD 0007[00] db 7 dup (0) 3BBB:C2E4 FF DB 99 18 18 18 db 0FFh,0DBh, 99h, 18h, 18h, 18h 3BBB:C2EA 18 18 db 18h, 18h 3BBB:C2EC 3C db 3Ch 3BBB:C2ED 0007[00] db 7 dup (0) 3BBB:C2F4 0008[63] db 8 dup (63h) 3BBB:C2FC 3E db 3Eh 3BBB:C2FD 0007[00] db 7 dup (0) 3BBB:C304 C3 C3 C3 C3 C3 C3 db 0C3h,0C3h,0C3h,0C3h,0C3h,0C3h 3BBB:C30A 66 3C 18 db 66h, 3Ch, 18h 3BBB:C30D 0007[00] db 7 dup (0) 3BBB:C314 C3 C3 C3 C3 DB DB db 0C3h,0C3h,0C3h,0C3h,0DBh,0DBh 3BBB:C31A FF db 0FFh 3BBB:C31B 66 66 db 66h, 66h 3BBB:C31D 0007[00] db 7 dup (0) 3BBB:C324 C3 C3 66 3C 18 3C db 0C3h,0C3h, 66h, 3Ch, 18h, 3Ch 3BBB:C32A 66 C3 C3 db 66h,0C3h,0C3h 3BBB:C32D 0007[00] db 7 dup (0) 3BBB:C334 C3 C3 C3 66 3C 18 db 0C3h,0C3h,0C3h, 66h, 3Ch, 18h 3BBB:C33A 18 18 3C 00 00 00 db 18h, 18h, 3Ch, 00h, 00h, 00h 3BBB:C340 00 00 00 00 FF C3 db 00h, 00h, 00h, 00h,0FFh,0C3h 3BBB:C346 86 0C 18 30 61 C3 db 86h, 0Ch, 18h, 30h, 61h,0C3h 3BBB:C34C FF 00 00 00 00 00 db 0FFh, 00h, 00h, 00h, 00h, 00h 3BBB:C352 00 00 db 00h, 00h 3BBB:C354 3C db 3Ch 3BBB:C355 0007[30] db 7 dup (30h) 3BBB:C35C 3C 00 00 00 00 00 db 3Ch, 00h, 00h, 00h, 00h, 00h 3BBB:C362 00 00 40 60 70 38 db 00h, 00h, 40h, 60h, 70h, 38h 3BBB:C368 1C 0E 07 03 01 db 1Ch, 0Eh, 07h, 03h, 01h 3BBB:C36D 0007[00] db 7 dup (0) 3BBB:C374 3C 0C 0C 0C 0C 0C db '<', 0Ch, 0Ch, 0Ch, 0Ch, 0Ch, 0Ch 3BBB:C37A 0C 3BBB:C37B 0C 3C db 0Ch, '<' 3BBB:C37D 00 00 00 00 00 08 db 00h, 00h, 00h, 00h, 00h, 08h 3BBB:C383 1C db 1Ch 3BBB:C384 36 63 db 36h, 63h 3BBB:C386 0018[00] db 24 dup (0) 3BBB:C39E FF 00 00 00 18 18 db 0FFh, 00h, 00h, 00h, 18h, 18h 3BBB:C3A4 0C 00 db 0Ch, 00h 3BBB:C3A6 0011[00] db 17 dup (0) 3BBB:C3B7 3C 06 3E 66 66 3B db 3Ch, 06h, 3Eh, 66h, 66h, 3Bh 3BBB:C3BD 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 3BBB:C3C3 00 db 00h 3BBB:C3C4 70 30 30 3C 36 33 db 'p00<6333n' 3BBB:C3CA 33 33 6E 3BBB:C3CD 00 db 0 3BBB:C3CE 0009[00] db 9 dup (0) 3BBB:C3D7 3E 63 60 60 63 3E db 3Eh, 63h, 60h, 60h, 63h, 3Eh 3BBB:C3DD 0007[00] db 7 dup (0) 3BBB:C3E4 0E 06 06 1E 36 66 db 0Eh, 06h, 06h, 1Eh, 36h, 66h 3BBB:C3EA 66 66 3B 00 db 66h, 66h, 3Bh, 00h 3BBB:C3EE 0009[00] db 9 dup (0) 3BBB:C3F7 3E 63 7F 60 63 3E db 3Eh, 63h, 7Fh, 60h, 63h, 3Eh 3BBB:C3FD 0007[00] db 7 dup (0) 3BBB:C404 1C db 1Ch 3BBB:C405 36 32 30 7C 30 30 db '620|000x' 3BBB:C40B 30 78 3BBB:C40D 00 db 0 3BBB:C40E 0009[00] db 9 dup (0) 3BBB:C417 3B 66 66 66 3E 06 db 3Bh, 66h, 66h, 66h, 3Eh, 06h 3BBB:C41D 66 3C 00 00 00 00 db 66h, 3Ch, 00h, 00h, 00h, 00h 3BBB:C423 00 db 00h 3BBB:C424 70 30 30 36 3B 33 db 'p006;333s' 3BBB:C42A 33 33 73 3BBB:C42D 0007[00] db 7 dup (0) 3BBB:C434 0C 0C 00 1C 0C 0C db 0Ch, 0Ch, 00h, 1Ch, 0Ch, 0Ch 3BBB:C43A 0C 0C 1E db 0Ch, 0Ch, 1Eh 3BBB:C43D 0007[00] db 7 dup (0) 3BBB:C444 06 06 00 0E 06 06 db 06h, 06h, 00h, 0Eh, 06h, 06h 3BBB:C44A 06 06 66 66 3C 00 db 06h, 06h, 66h, 66h, 3Ch, 00h 3BBB:C450 00 00 00 00 db 00h, 00h, 00h, 00h 3BBB:C454 70 30 30 33 36 3C db 'p0036<63s' 3BBB:C45A 36 33 73 3BBB:C45D 0007[00] db 7 dup (0) 3BBB:C464 1C db 1Ch 3BBB:C465 0007[0C] db 7 dup (0Ch) 3BBB:C46C 1E db 1Eh 3BBB:C46D 000A[00] db 10 dup (0) 3BBB:C477 E6 FF DB DB DB DB db 0E6h,0FFh,0DBh,0DBh,0DBh,0DBh 3BBB:C47D 000A[00] db 10 dup (0) 3BBB:C487 6E 33 33 33 33 33 db 6Eh, 33h, 33h, 33h, 33h, 33h 3BBB:C48D 00 db 00h 3BBB:C48E 0009[00] db 9 dup (0) 3BBB:C497 3E 63 63 63 63 3E db 3Eh, 63h, 63h, 63h, 63h, 3Eh 3BBB:C49D 000A[00] db 10 dup (0) 3BBB:C4A7 6E 33 33 33 3E 30 db 'n333>00x' 3BBB:C4AD 30 78 3BBB:C4AF 00 db 0 3BBB:C4B0 0007[00] db 7 dup (0) 3BBB:C4B7 3B 66 66 66 3E 06 db 3Bh, 66h, 66h, 66h, 3Eh, 06h 3BBB:C4BD 06 0F db 06h, 0Fh 3BBB:C4BF 0008[00] db 8 dup (0) 3BBB:C4C7 6E 3B 33 30 30 78 db 6Eh, 3Bh, 33h, 30h, 30h, 78h 3BBB:C4CD 00 db 00h 3BBB:C4CE 0009[00] db 9 dup (0) 3BBB:C4D7 3E 63 38 0E 63 3E db 3Eh, 63h, 38h, 0Eh, 63h, 3Eh 3BBB:C4DD 0007[00] db 7 dup (0) 3BBB:C4E4 08 18 18 7E 18 18 db 08h, 18h, 18h, 7Eh, 18h, 18h 3BBB:C4EA 18 1B 0E 00 00 db 18h, 1Bh, 0Eh, 00h, 00h 3BBB:C4EF 0008[00] db 8 dup (0) 3BBB:C4F7 66 66 66 66 66 3B db 66h, 66h, 66h, 66h, 66h, 3Bh 3BBB:C4FD 00 db 00h 3BBB:C4FE 0009[00] db 9 dup (0) 3BBB:C507 C3 C3 C3 66 3C 18 db 0C3h,0C3h,0C3h, 66h, 3Ch, 18h 3BBB:C50D 000A[00] db 10 dup (0) 3BBB:C517 C3 C3 DB DB FF 66 db 0C3h,0C3h,0DBh,0DBh,0FFh, 66h 3BBB:C51D 00 db 00h 3BBB:C51E 0009[00] db 9 dup (0) 3BBB:C527 63 36 1C 1C 36 63 db 63h, 36h, 1Ch, 1Ch, 36h, 63h 3BBB:C52D 000A[00] db 10 dup (0) 3BBB:C537 63 63 63 63 3F 03 db 63h, 63h, 63h, 63h, 3Fh, 03h 3BBB:C53D 06 3C 00 db 06h, 3Ch, 00h 3BBB:C540 0007[00] db 7 dup (0) 3BBB:C547 7F 66 0C 18 33 7F db 7Fh, 66h, 0Ch, 18h, 33h, 7Fh 3BBB:C54D 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 3BBB:C553 00 0E 18 18 18 70 db 00h, 0Eh, 18h, 18h, 18h, 70h 3BBB:C559 18 18 18 0E db 18h, 18h, 18h, 0Eh 3BBB:C55D 0007[00] db 7 dup (0) 3BBB:C564 18 18 18 18 00 18 db 18h, 18h, 18h, 18h, 00h, 18h 3BBB:C56A 18 18 18 00 00 00 db 18h, 18h, 18h, 00h, 00h, 00h 3BBB:C570 00 00 00 00 70 18 db 00h, 00h, 00h, 00h, 70h, 18h 3BBB:C576 18 18 0E 18 18 18 db 18h, 18h, 0Eh, 18h, 18h, 18h 3BBB:C57C 70 00 00 00 00 00 db 70h, 00h, 00h, 00h, 00h, 00h 3BBB:C582 00 00 db 00h, 00h 3BBB:C584 3B 6E db 3Bh, 6Eh 3BBB:C586 0010[00] db 16 dup (0) 3BBB:C596 08 1C 36 63 63 7F db 08h, 1Ch, 36h, 63h, 63h, 7Fh 3BBB:C59C 00 db 00h 3BBB:C59D 0007[00] db 7 dup (0) 3BBB:C5A4 1E 33 61 60 60 61 db 1Eh, 33h, 61h, 60h, 60h, 61h 3BBB:C5AA 33 1E 06 03 3E 00 db 33h, 1Eh, 06h, 03h, 3Eh, 00h 3BBB:C5B0 00 00 00 00 66 66 db 00h, 00h, 00h, 00h, 66h, 66h 3BBB:C5B6 00 66 66 66 66 66 db 00h, 66h, 66h, 66h, 66h, 66h 3BBB:C5BC 3B 00 00 00 00 00 db 3Bh, 00h, 00h, 00h, 00h, 00h 3BBB:C5C2 00 06 0C 18 00 3E db 00h, 06h, 0Ch, 18h, 00h, 3Eh 3BBB:C5C8 63 7F 60 63 3E 00 db 63h, 7Fh, 60h, 63h, 3Eh, 00h 3BBB:C5CE 00 00 00 00 00 08 db 00h, 00h, 00h, 00h, 00h, 08h 3BBB:C5D4 1C 36 00 3C 06 3E db 1Ch, 36h, 00h, 3Ch, 06h, 3Eh 3BBB:C5DA 66 66 3B 00 00 00 db 66h, 66h, 3Bh, 00h, 00h, 00h 3BBB:C5E0 00 00 00 00 66 66 db 00h, 00h, 00h, 00h, 66h, 66h 3BBB:C5E6 00 3C 06 3E 66 66 db 00h, 3Ch, 06h, 3Eh, 66h, 66h 3BBB:C5EC 3B 00 00 00 00 00 db 3Bh, 00h, 00h, 00h, 00h, 00h 3BBB:C5F2 00 30 18 0C 00 3C db 00h, 30h, 18h, 0Ch, 00h, 3Ch 3BBB:C5F8 06 3E 66 66 3B 00 db 06h, 3Eh, 66h, 66h, 3Bh, 00h 3BBB:C5FE 00 00 00 00 00 1C db 00h, 00h, 00h, 00h, 00h, 1Ch 3BBB:C604 36 1C 00 3C 06 3E db 36h, 1Ch, 00h, 3Ch, 06h, 3Eh 3BBB:C60A 66 66 3B 00 db 66h, 66h, 3Bh, 00h 3BBB:C60E 0008[00] db 8 dup (0) 3BBB:C616 3C 66 60 66 3C 0C db 3Ch, 66h, 60h, 66h, 3Ch, 0Ch 3BBB:C61C 06 3C 00 00 00 00 db 06h, 3Ch, 00h, 00h, 00h, 00h 3BBB:C622 00 08 1C 36 00 3E db 00h, 08h, 1Ch, 36h, 00h, 3Eh 3BBB:C628 63 7F db 63h, 7Fh 3BBB:C62A 60 63 3E db 60h, 63h, 3Eh 3BBB:C62D 0007[00] db 7 dup (0) 3BBB:C634 66 66 00 3E 63 7F db 66h, 66h, 00h, 3Eh, 63h, 7Fh 3BBB:C63A 60 63 3E 00 00 00 db 60h, 63h, 3Eh, 00h, 00h, 00h 3BBB:C640 00 00 00 30 18 0C db 00h, 00h, 00h, 30h, 18h, 0Ch 3BBB:C646 00 3E 63 7F db 00h, 3Eh, 63h, 7Fh 3BBB:C64A 60 63 3E db 60h, 63h, 3Eh 3BBB:C64D 0007[00] db 7 dup (0) 3BBB:C654 66 66 00 38 18 18 db 66h, 66h, 00h, 38h, 18h, 18h 3BBB:C65A 18 18 3C 00 00 00 db 18h, 18h, 3Ch, 00h, 00h, 00h 3BBB:C660 00 00 00 18 3C 66 db 00h, 00h, 00h, 18h, 3Ch, 66h 3BBB:C666 00 38 18 18 18 18 db 00h, 38h, 18h, 18h, 18h, 18h 3BBB:C66C 3C 00 00 00 00 00 db 3Ch, 00h, 00h, 00h, 00h, 00h 3BBB:C672 00 60 30 18 00 38 db 00h, 60h, 30h, 18h, 00h, 38h 3BBB:C678 18 18 18 18 3C 00 db 18h, 18h, 18h, 18h, 3Ch, 00h 3BBB:C67E 00 00 00 00 00 63 db 00h, 00h, 00h, 00h, 00h, 63h 3BBB:C684 63 08 1C 36 63 63 db 63h, 08h, 1Ch, 36h, 63h, 63h 3BBB:C68A 7F 63 63 00 00 00 db 7Fh, 63h, 63h, 00h, 00h, 00h 3BBB:C690 00 00 1C 36 1C 00 db 00h, 00h, 1Ch, 36h, 1Ch, 00h 3BBB:C696 1C 36 63 63 7F 63 db 1Ch, 36h, 63h, 63h, 7Fh, 63h 3BBB:C69C 63 00 00 00 00 00 db 63h, 00h, 00h, 00h, 00h, 00h 3BBB:C6A2 0C 18 30 00 7F 33 db 0Ch, 18h, 30h, 00h, 7Fh, 33h 3BBB:C6A8 30 3E 30 33 7F 00 db 30h, 3Eh, 30h, 33h, 7Fh, 00h 3BBB:C6AE 0008[00] db 8 dup (0) 3BBB:C6B6 6E 3B 1B 7E D8 DC db 6Eh, 3Bh, 1Bh, 7Eh,0D8h,0DCh 3BBB:C6BC 77 00 00 00 00 00 db 77h, 00h, 00h, 00h, 00h, 00h 3BBB:C6C2 00 00 1F 36 66 66 db 00h, 00h, 1Fh, 36h, 66h, 66h 3BBB:C6C8 7F 66 66 66 67 00 db 7Fh, 66h, 66h, 66h, 67h, 00h 3BBB:C6CE 00 00 00 00 00 08 db 00h, 00h, 00h, 00h, 00h, 08h 3BBB:C6D4 1C 36 00 db 1Ch, 36h, 00h 3BBB:C6D7 3E 63 63 63 63 3E db 3Eh, 63h, 63h, 63h, 63h, 3Eh 3BBB:C6DD 0007[00] db 7 dup (0) 3BBB:C6E4 63 63 00 3E 63 63 db 63h, 63h, 00h, 3Eh, 63h, 63h 3BBB:C6EA 63 63 3E 00 00 00 db 63h, 63h, 3Eh, 00h, 00h, 00h 3BBB:C6F0 00 00 00 30 18 0C db 00h, 00h, 00h, 30h, 18h, 0Ch 3BBB:C6F6 00 3E 63 63 63 63 db 00h, 3Eh, 63h, 63h, 63h, 63h 3BBB:C6FC 3E 00 00 00 00 00 db 3Eh, 00h, 00h, 00h, 00h, 00h 3BBB:C702 00 18 3C 66 00 66 db 00h, 18h, 3Ch, 66h, 00h, 66h 3BBB:C708 66 66 66 66 3B 00 db 66h, 66h, 66h, 66h, 3Bh, 00h 3BBB:C70E 00 00 00 00 00 30 db 00h, 00h, 00h, 00h, 00h, 30h 3BBB:C714 18 0C 00 66 66 66 db 18h, 0Ch, 00h, 66h, 66h, 66h 3BBB:C71A 66 66 3B 00 00 00 db 66h, 66h, 3Bh, 00h, 00h, 00h 3BBB:C720 00 00 00 00 63 63 db 00h, 00h, 00h, 00h, 63h, 63h 3BBB:C726 00 63 63 63 63 3F db 00h, 63h, 63h, 63h, 63h, 3Fh 3BBB:C72C 03 06 3C 00 00 00 db 03h, 06h, 3Ch, 00h, 00h, 00h 3BBB:C732 00 63 63 1C 36 63 db 00h, 63h, 63h, 1Ch, 36h, 63h 3BBB:C738 63 63 63 36 1C 00 db 63h, 63h, 63h, 36h, 1Ch, 00h 3BBB:C73E 00 00 00 00 00 63 db 00h, 00h, 00h, 00h, 00h, 63h 3BBB:C744 63 00 63 63 63 63 db 63h, 00h, 63h, 63h, 63h, 63h 3BBB:C74A 63 63 3E 00 00 00 db 63h, 63h, 3Eh, 00h, 00h, 00h 3BBB:C750 00 00 00 18 18 7E db 00h, 00h, 00h, 18h, 18h, 7Eh 3BBB:C756 C3 C0 C0 C3 7E 18 db 0C3h,0C0h,0C0h,0C3h, 7Eh, 18h 3BBB:C75C 18 00 00 00 00 00 db 18h, 00h, 00h, 00h, 00h, 00h 3BBB:C762 00 1C db 00h, 1Ch 3BBB:C764 36 32 30 78 30 30 db '620x000s~' 3BBB:C76A 30 73 7E 3BBB:C76D 0007[00] db 7 dup (0) 3BBB:C774 C3 66 3C 18 FF 18 db 0C3h, 66h, 3Ch, 18h,0FFh, 18h 3BBB:C77A FF 18 18 00 00 00 db 0FFh, 18h, 18h, 00h, 00h, 00h 3BBB:C780 00 00 00 FC db 00h, 00h, 00h,0FCh 3BBB:C784 66 66 7C 62 66 6F db 'ff|bfoff' 3BBB:C78A 66 66 3BBB:C78C F3 00 00 00 00 00 db 0F3h, 00h, 00h, 00h, 00h, 00h 3BBB:C792 00 0E 1B 18 18 18 db 00h, 0Eh, 1Bh, 18h, 18h, 18h 3BBB:C798 7E 18 18 18 18 D8 db 7Eh, 18h, 18h, 18h, 18h,0D8h 3BBB:C79E 70 00 00 00 00 0C db 70h, 00h, 00h, 00h, 00h, 0Ch 3BBB:C7A4 18 30 00 3C 06 3E db 18h, 30h, 00h, 3Ch, 06h, 3Eh 3BBB:C7AA 66 66 3B 00 00 00 db 66h, 66h, 3Bh, 00h, 00h, 00h 3BBB:C7B0 00 00 00 0C 18 30 db 00h, 00h, 00h, 0Ch, 18h, 30h 3BBB:C7B6 00 38 18 18 18 18 db 00h, 38h, 18h, 18h, 18h, 18h 3BBB:C7BC 3C 00 00 00 00 00 db 3Ch, 00h, 00h, 00h, 00h, 00h 3BBB:C7C2 00 0C 18 30 00 3E db 00h, 0Ch, 18h, 30h, 00h, 3Eh 3BBB:C7C8 63 63 63 63 3E 00 db 63h, 63h, 63h, 63h, 3Eh, 00h 3BBB:C7CE 00 00 00 00 00 0C db 00h, 00h, 00h, 00h, 00h, 0Ch 3BBB:C7D4 18 30 00 66 66 66 db 18h, 30h, 00h, 66h, 66h, 66h 3BBB:C7DA 66 66 3B 00 00 00 db 66h, 66h, 3Bh, 00h, 00h, 00h 3BBB:C7E0 00 00 00 00 3B 6E db 00h, 00h, 00h, 00h, 3Bh, 6Eh 3BBB:C7E6 00 6E 33 33 33 33 db 00h, 6Eh, 33h, 33h, 33h, 33h 3BBB:C7EC 33 00 00 00 00 00 db 33h, 00h, 00h, 00h, 00h, 00h 3BBB:C7F2 3B 6E 00 63 73 7B db 3Bh, 6Eh, 00h, 63h, 73h, 7Bh 3BBB:C7F8 7F 6F 67 63 63 00 db 7Fh, 6Fh, 67h, 63h, 63h, 00h 3BBB:C7FE 00 00 00 00 00 3C db 00h, 00h, 00h, 00h, 00h, 3Ch 3BBB:C804 6C 6C 3E 00 7E 00 db 6Ch, 6Ch, 3Eh, 00h, 7Eh, 00h 3BBB:C80A 0009[00] db 9 dup (0) 3BBB:C813 38 6C 6C 38 00 7C db 38h, 6Ch, 6Ch, 38h, 00h, 7Ch 3BBB:C819 00 db 00h 3BBB:C81A 000A[00] db 10 dup (0) 3BBB:C824 18 18 00 18 18 db 18h, 18h, 00h, 18h, 18h 3BBB:C829 30 63 63 3E db 30h, 63h, 63h, 3Eh 3BBB:C82D 000B[00] db 11 dup (0) 3BBB:C838 7F 60 60 60 db 7Fh, 60h, 60h, 60h 3BBB:C83C 000C[00] db 12 dup (0) 3BBB:C848 7F 03 03 03 db 7Fh, 03h, 03h, 03h 3BBB:C84C 0007[00] db 7 dup (0) 3BBB:C853 60 E0 63 66 6C 18 db 60h,0E0h, 63h, 66h, 6Ch, 18h 3BBB:C859 30 6E C3 06 0C 1F db 30h, 6Eh,0C3h, 06h, 0Ch, 1Fh 3BBB:C85F 00 00 00 00 60 E0 db 00h, 00h, 00h, 00h, 60h,0E0h 3BBB:C865 63 66 6C 18 33 67 db 63h, 66h, 6Ch, 18h, 33h, 67h 3BBB:C86B CF 1F 03 03 00 00 db 0CFh, 1Fh, 03h, 03h, 00h, 00h 3BBB:C871 00 00 00 18 18 00 db 00h, 00h, 00h, 18h, 18h, 00h 3BBB:C877 18 18 3C 3C 3C 18 db 18h, 18h, 3Ch, 3Ch, 3Ch, 18h 3BBB:C87D 0009[00] db 9 dup (0) 3BBB:C886 1B 36 6C 36 1B 00 db 1Bh, 36h, 6Ch, 36h, 1Bh, 00h 3BBB:C88C 000A[00] db 10 dup (0) 3BBB:C896 6C 36 1B 36 6C 00 db 6Ch, 36h, 1Bh, 36h, 6Ch, 00h 3BBB:C89C 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 3BBB:C8A2 11 44 11 44 11 44 db 11h, 44h, 11h, 44h, 11h, 44h 3BBB:C8A8 11 44 11 44 11 44 db 11h, 44h, 11h, 44h, 11h, 44h 3BBB:C8AE 11 44 00 00 55 AA db 11h, 44h, 00h, 00h, 55h,0AAh 3BBB:C8B4 55 AA 55 AA 55 AA db 55h,0AAh, 55h,0AAh, 55h,0AAh 3BBB:C8BA 55 AA 55 AA 55 AA db 55h,0AAh, 55h,0AAh, 55h,0AAh 3BBB:C8C0 00 00 DD 77 DD 77 db 00h, 00h,0DDh, 77h,0DDh, 77h 3BBB:C8C6 DD 77 DD 77 DD 77 db 0DDh, 77h,0DDh, 77h,0DDh, 77h 3BBB:C8CC DD 77 DD 77 00 00 db 0DDh, 77h,0DDh, 77h, 00h, 00h 3BBB:C8D2 18 db 18h 3BBB:C8D3 000D[18] db 13 dup (18h) 3BBB:C8E0 00 00 db 0, 0 3BBB:C8E2 0007[18] db 7 dup (18h) 3BBB:C8E9 F8 18 18 18 18 18 db 0F8h, 18h, 18h, 18h, 18h, 18h 3BBB:C8EF 18 00 00 18 18 18 db 18h, 00h, 00h, 18h, 18h, 18h 3BBB:C8F5 18 18 F8 18 F8 18 db 18h, 18h,0F8h, 18h,0F8h, 18h 3BBB:C8FB 18 18 18 18 18 00 db 18h, 18h, 18h, 18h, 18h, 00h 3BBB:C901 00 db 00h 3BBB:C902 0007[36] db 7 dup (36h) 3BBB:C909 F6 36 36 36 36 36 db 0F6h, 36h, 36h, 36h, 36h, 36h 3BBB:C90F 36 db 36h 3BBB:C910 0009[00] db 9 dup (0) 3BBB:C919 FE 36 36 36 36 36 db 0FEh, 36h, 36h, 36h, 36h, 36h 3BBB:C91F 36 db 36h 3BBB:C920 0007[00] db 7 dup (0) 3BBB:C927 F8 18 F8 18 18 18 db 0F8h, 18h,0F8h, 18h, 18h, 18h 3BBB:C92D 18 18 18 00 00 36 db 18h, 18h, 18h, 00h, 00h, 36h 3BBB:C933 36 36 36 36 F6 06 db 36h, 36h, 36h, 36h,0F6h, 06h 3BBB:C939 F6 36 36 36 36 36 db 0F6h, 36h, 36h, 36h, 36h, 36h 3BBB:C93F 36 00 00 db 36h, 00h, 00h 3BBB:C942 000E[36] db 14 dup (36h) 3BBB:C950 0007[00] db 7 dup (0) 3BBB:C957 FE 06 F6 36 36 36 db 0FEh, 06h,0F6h, 36h, 36h, 36h 3BBB:C95D 36 36 36 00 00 36 db 36h, 36h, 36h, 00h, 00h, 36h 3BBB:C963 36 36 36 36 F6 06 db 36h, 36h, 36h, 36h,0F6h, 06h 3BBB:C969 FE 00 00 00 00 00 db 0FEh, 00h, 00h, 00h, 00h, 00h 3BBB:C96F 00 00 00 36 36 36 db 00h, 00h, 00h, 36h, 36h, 36h 3BBB:C975 36 36 36 36 FE 00 db 36h, 36h, 36h, 36h,0FEh, 00h 3BBB:C97B 0007[00] db 7 dup (0) 3BBB:C982 18 18 18 18 18 F8 db 18h, 18h, 18h, 18h, 18h,0F8h 3BBB:C988 18 F8 db 18h,0F8h 3BBB:C98A 000F[00] db 15 dup (0) 3BBB:C999 F8 18 18 18 18 18 db 0F8h, 18h, 18h, 18h, 18h, 18h 3BBB:C99F 18 00 00 db 18h, 00h, 00h 3BBB:C9A2 0007[18] db 7 dup (18h) 3BBB:C9A9 1F db 1Fh 3BBB:C9AA 0008[00] db 8 dup (0) 3BBB:C9B2 0007[18] db 7 dup (18h) 3BBB:C9B9 FF 00 db 0FFh, 00h 3BBB:C9BB 000E[00] db 14 dup (0) 3BBB:C9C9 FF 18 18 18 18 18 db 0FFh, 18h, 18h, 18h, 18h, 18h 3BBB:C9CF 18 00 00 18 18 18 db 18h, 00h, 00h, 18h, 18h, 18h 3BBB:C9D5 18 18 18 18 1F 18 db 18h, 18h, 18h, 18h, 1Fh, 18h 3BBB:C9DB 18 18 18 18 18 db 18h, 18h, 18h, 18h, 18h 3BBB:C9E0 0009[00] db 9 dup (0) 3BBB:C9E9 FF 00 db 0FFh, 00h 3BBB:C9EB 0007[00] db 7 dup (0) 3BBB:C9F2 0007[18] db 7 dup (18h) 3BBB:C9F9 FF 18 18 18 18 18 db 0FFh, 18h, 18h, 18h, 18h, 18h 3BBB:C9FF 18 00 00 18 18 18 db 18h, 00h, 00h, 18h, 18h, 18h 3BBB:CA05 18 18 1F 18 1F 18 db 18h, 18h, 1Fh, 18h, 1Fh, 18h 3BBB:CA0B 18 18 18 18 18 00 db 18h, 18h, 18h, 18h, 18h, 00h 3BBB:CA11 00 db 00h 3BBB:CA12 0007[36] db 7 dup (36h) 3BBB:CA19 37 36 36 36 36 36 db 37h, 36h, 36h, 36h, 36h, 36h 3BBB:CA1F 36 00 00 db 36h, 00h, 00h 3BBB:CA22 36 36 36 36 36 37 db '6666670?' 3BBB:CA28 30 3F 3BBB:CA2A 000D[00] db 13 dup (0) 3BBB:CA37 3F 30 37 36 36 36 db '?07666666' 3BBB:CA3D 36 36 36 3BBB:CA40 00 00 36 36 36 36 db 00h, 00h, 36h, 36h, 36h, 36h 3BBB:CA46 36 F7 00 FF 00 db 36h,0F7h, 00h,0FFh, 00h 3BBB:CA4B 000C[00] db 12 dup (0) 3BBB:CA57 FF 00 F7 36 36 36 db 0FFh, 00h,0F7h, 36h, 36h, 36h 3BBB:CA5D 36 36 36 00 00 db 36h, 36h, 36h, 00h, 00h 3BBB:CA62 36 36 36 36 36 37 db '66666707666666' 3BBB:CA68 30 37 36 36 36 36 3BBB:CA6E 36 36 3BBB:CA70 0007[00] db 7 dup (0) 3BBB:CA77 FF 00 FF 00 db 0FFh, 00h,0FFh, 00h 3BBB:CA7B 0007[00] db 7 dup (0) 3BBB:CA82 36 36 36 36 36 F7 db 36h, 36h, 36h, 36h, 36h,0F7h 3BBB:CA88 00 F7 36 36 36 36 db 00h,0F7h, 36h, 36h, 36h, 36h 3BBB:CA8E 36 36 00 00 18 18 db 36h, 36h, 00h, 00h, 18h, 18h 3BBB:CA94 18 18 18 FF 00 FF db 18h, 18h, 18h,0FFh, 00h,0FFh 3BBB:CA9A 0008[00] db 8 dup (0) 3BBB:CAA2 0007[36] db 7 dup (36h) 3BBB:CAA9 FF 00 db 0FFh, 00h 3BBB:CAAB 000C[00] db 12 dup (0) 3BBB:CAB7 FF 00 FF 18 18 18 db 0FFh, 00h,0FFh, 18h, 18h, 18h 3BBB:CABD 18 18 18 00 db 18h, 18h, 18h, 00h 3BBB:CAC1 0008[00] db 8 dup (0) 3BBB:CAC9 FF 36 36 36 36 36 db 0FFh, 36h, 36h, 36h, 36h, 36h 3BBB:CACF 36 00 00 db 36h, 00h, 00h 3BBB:CAD2 0007[36] db 7 dup (36h) 3BBB:CAD9 3F db 3Fh 3BBB:CADA 0008[00] db 8 dup (0) 3BBB:CAE2 18 18 18 18 18 1F db 18h, 18h, 18h, 18h, 18h, 1Fh 3BBB:CAE8 18 1F db 18h, 1Fh 3BBB:CAEA 000D[00] db 13 dup (0) 3BBB:CAF7 1F 18 1F 18 18 18 db 1Fh, 18h, 1Fh, 18h, 18h, 18h 3BBB:CAFD 18 18 18 db 18h, 18h, 18h 3BBB:CB00 0009[00] db 9 dup (0) 3BBB:CB09 3F 36 36 36 36 36 db 3Fh, 36h, 36h, 36h, 36h, 36h 3BBB:CB0F 36 00 00 db 36h, 00h, 00h 3BBB:CB12 0007[36] db 7 dup (36h) 3BBB:CB19 FF 36 36 36 36 36 db 0FFh, 36h, 36h, 36h, 36h, 36h 3BBB:CB1F 36 00 00 18 18 18 db 36h, 00h, 00h, 18h, 18h, 18h 3BBB:CB25 18 18 FF 18 FF 18 db 18h, 18h,0FFh, 18h,0FFh, 18h 3BBB:CB2B 18 18 18 18 18 00 db 18h, 18h, 18h, 18h, 18h, 00h 3BBB:CB31 00 db 00h 3BBB:CB32 0007[18] db 7 dup (18h) 3BBB:CB39 F8 db 0F8h 3BBB:CB3A 000F[00] db 15 dup (0) 3BBB:CB49 1F 18 18 18 18 18 db 1Fh, 18h, 18h, 18h, 18h, 18h 3BBB:CB4F 18 00 00 db 18h, 00h, 00h 3BBB:CB52 000E[FF] db 14 dup (0FFh) 3BBB:CB60 0009[00] db 9 dup (0) 3BBB:CB69 0007[FF] db 7 dup (0FFh) 3BBB:CB70 00 00 db 0, 0 3BBB:CB72 000E[F0] db 14 dup (0F0h) 3BBB:CB80 00 00 db 0, 0 3BBB:CB82 000E[0F] db 14 dup (0Fh) 3BBB:CB90 00 00 db 0, 0 3BBB:CB92 0007[FF] db 7 dup (0FFh) 3BBB:CB99 000E[00] db 14 dup (0) 3BBB:CBA7 3B 6E 6C 6C 6E 3B db 3Bh, 6Eh, 6Ch, 6Ch, 6Eh, 3Bh 3BBB:CBAD 00 db 00h 3BBB:CBAE 0008[00] db 8 dup (0) 3BBB:CBB6 3E 63 7E 63 63 7E db '>c~cc~`` ' 3BBB:CBBC 60 60 20 3BBB:CBBF 00 00 00 00 00 7F db 00h, 00h, 00h, 00h, 00h, 7Fh 3BBB:CBC5 63 63 60 60 60 60 db 'cc``````' 3BBB:CBCB 60 60 3BBB:CBCD 0009[00] db 9 dup (0) 3BBB:CBD6 7F 36 36 36 36 36 db 7Fh, 36h, 36h, 36h, 36h, 36h 3BBB:CBDC 36 db 36h 3BBB:CBDD 0007[00] db 7 dup (0) 3BBB:CBE4 7F 63 30 18 0C 18 db 7Fh, 63h, 30h, 18h, 0Ch, 18h 3BBB:CBEA 30 63 7F db 30h, 63h, 7Fh 3BBB:CBED 000A[00] db 10 dup (0) 3BBB:CBF7 3F 6C 6C 6C 6C 38 db 3Fh, 6Ch, 6Ch, 6Ch, 6Ch, 38h 3BBB:CBFD 00 db 00h 3BBB:CBFE 0008[00] db 8 dup (0) 3BBB:CC06 33 33 33 33 3E 30 db '3333>00`' 3BBB:CC0C 30 60 3BBB:CC0E 0008[00] db 8 dup (0) 3BBB:CC16 3B 6E 0C 0C 0C 0C db 3Bh, 6Eh, 0Ch, 0Ch, 0Ch, 0Ch 3BBB:CC1C 0C db 0Ch 3BBB:CC1D 0007[00] db 7 dup (0) 3BBB:CC24 7E 18 3C 66 66 66 db 7Eh, 18h, 3Ch, 66h, 66h, 66h 3BBB:CC2A 3C 18 7E 00 00 00 db 3Ch, 18h, 7Eh, 00h, 00h, 00h 3BBB:CC30 00 00 00 00 1C 36 db 00h, 00h, 00h, 00h, 1Ch, 36h 3BBB:CC36 63 63 7F 63 63 36 db 63h, 63h, 7Fh, 63h, 63h, 36h 3BBB:CC3C 1C 00 00 00 00 00 db 1Ch, 00h, 00h, 00h, 00h, 00h 3BBB:CC42 00 00 1C db 00h, 00h, 1Ch 3BBB:CC45 36 63 63 63 36 36 db '6ccc666w' 3BBB:CC4B 36 77 3BBB:CC4D 0007[00] db 7 dup (0) 3BBB:CC54 1E 30 18 0C 3E 66 db 1Eh, 30h, 18h, 0Ch, 3Eh, 66h 3BBB:CC5A 66 66 3C 00 db 66h, 66h, 3Ch, 00h 3BBB:CC5E 0009[00] db 9 dup (0) 3BBB:CC67 7E DB DB 7E 00 db 7Eh,0DBh,0DBh, 7Eh, 00h 3BBB:CC6C 0008[00] db 8 dup (0) 3BBB:CC74 03 06 7E DB DB F3 db 03h, 06h, 7Eh,0DBh,0DBh,0F3h 3BBB:CC7A 7E 60 C0 db 7Eh, 60h,0C0h 3BBB:CC7D 0007[00] db 7 dup (0) 3BBB:CC84 1C 30 60 60 7C 60 db 1Ch, 30h, 60h, 60h, 7Ch, 60h 3BBB:CC8A 60 30 1C db 60h, 30h, 1Ch 3BBB:CC8D 0008[00] db 8 dup (0) 3BBB:CC95 3E db 3Eh 3BBB:CC96 0007[63] db 7 dup (63h) 3BBB:CC9D 0008[00] db 8 dup (0) 3BBB:CCA5 7F 00 00 7F 00 00 db 7Fh, 00h, 00h, 7Fh, 00h, 00h 3BBB:CCAB 7F 00 db 7Fh, 00h 3BBB:CCAD 0007[00] db 7 dup (0) 3BBB:CCB4 18 18 18 FF 18 18 db 18h, 18h, 18h,0FFh, 18h, 18h 3BBB:CCBA 18 00 FF 00 00 00 db 18h, 00h,0FFh, 00h, 00h, 00h 3BBB:CCC0 00 00 00 00 30 18 db 00h, 00h, 00h, 00h, 30h, 18h 3BBB:CCC6 0C 06 0C 18 30 00 db 0Ch, 06h, 0Ch, 18h, 30h, 00h 3BBB:CCCC 7E 00 00 00 00 00 db 7Eh, 00h, 00h, 00h, 00h, 00h 3BBB:CCD2 00 00 0C 18 30 60 db 00h, 00h, 0Ch, 18h, 30h, 60h 3BBB:CCD8 30 18 0C 00 7E 00 db 30h, 18h, 0Ch, 00h, 7Eh, 00h 3BBB:CCDE 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 3BBB:CCE4 0E db 0Eh 3BBB:CCE5 1B 1B db 1Bh, 1Bh 3BBB:CCE7 0009[18] db 9 dup (18h) 3BBB:CCF0 00 00 db 0, 0 3BBB:CCF2 0008[18] db 8 dup (18h) 3BBB:CCFA D8 D8 70 00 00 00 db 0D8h,0D8h, 70h, 00h, 00h, 00h 3BBB:CD00 00 00 00 00 18 18 db 00h, 00h, 00h, 00h, 18h, 18h 3BBB:CD06 00 00 FF 00 00 18 db 00h, 00h,0FFh, 00h, 00h, 18h 3BBB:CD0C 18 db 18h 3BBB:CD0D 0009[00] db 9 dup (0) 3BBB:CD16 3B 6E 00 3B 6E 00 db 3Bh, 6Eh, 00h, 3Bh, 6Eh, 00h 3BBB:CD1C 0007[00] db 7 dup (0) 3BBB:CD23 38 6C 6C 38 00 db 38h, 6Ch, 6Ch, 38h, 00h 3BBB:CD28 0010[00] db 16 dup (0) 3BBB:CD38 18 18 db 18h, 18h 3BBB:CD3A 000F[00] db 15 dup (0) 3BBB:CD49 18 00 db 18h, 00h 3BBB:CD4B 0008[00] db 8 dup (0) 3BBB:CD53 0F 0C 0C 0C 0C 0C db 0Fh, 0Ch, 0Ch, 0Ch, 0Ch, 0Ch 3BBB:CD59 EC 6C 3C 1C 00 00 db 0ECh, 6Ch, 3Ch, 1Ch, 00h, 00h 3BBB:CD5F 00 00 00 00 D8 db 00h, 00h, 00h, 00h,0D8h 3BBB:CD64 6C 6C 6C 6C 6C db 6Ch, 6Ch, 6Ch, 6Ch, 6Ch 3BBB:CD69 000A[00] db 10 dup (0) 3BBB:CD73 70 D8 30 60 C8 F8 db 70h,0D8h, 30h, 60h,0C8h,0F8h 3BBB:CD79 000D[00] db 13 dup (0) 3BBB:CD86 3E 3E 3E 3E 3E 3E db 3Eh, 3Eh, 3Eh, 3Eh, 3Eh, 3Eh 3BBB:CD8C 0019[00] db 25 dup (0) 3BBB:CDA5 10 38 db 10h, 38h 3BBB:CDA7 loc_1802: ; xref 3BBB:CDA7 3BBB:CDA7 7C FE jl loc_1802 ; Jump if < 3BBB:CDA9 7C 38 ;* jl loc_1803 ;*Jump if < 3BBB:CDA9 db 7Ch, 38h ; Fixup - byte match 3BBB:CDAB 10 00 adc [bx+si],al 3BBB:CDAD 00 00 00 00 00 FF db 00h, 00h, 00h, 00h, 00h,0FFh 3BBB:CDB3 FF FF FF FF FF FF db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh 3BBB:CDB9 00 db 00h 3BBB:CDBA 000F[00] db 15 dup (0) 3BBB:CDC9 0007[FF] db 7 dup (0FFh) 3BBB:CDD0 00 00 36 36 36 36 db 00h, 00h, 36h, 36h, 36h, 36h 3BBB:CDD6 36 F7 00 F7 db 36h,0F7h, 00h,0F7h 3BBB:CDDA 36 36 36 36 36 36 db 36h, 36h, 36h, 36h, 36h, 36h 3BBB:CDE0 0007[00] db 7 dup (0) 3BBB:CDE7 FF 00 FF 00 db 0FFh, 00h,0FFh, 00h 3BBB:CDEB 0007[00] db 7 dup (0) 3BBB:CDF2 000E[36] db 14 dup (36h) 3BBB:CE00 00 00 36 36 36 36 db 00h, 00h, 36h, 36h, 36h, 36h 3BBB:CE06 36 F6 06 FE 00 00 db 36h,0F6h, 06h,0FEh, 00h, 00h 3BBB:CE0C 000B[00] db 11 dup (0) 3BBB:CE17 FE 06 F6 db 0FEh, 06h,0F6h 3BBB:CE1A 36 36 36 36 36 36 db 36h, 36h, 36h, 36h, 36h, 36h 3BBB:CE20 0007[00] db 7 dup (0) 3BBB:CE27 3F 30 37 36 36 36 db '?07666666' 3BBB:CE2D 36 36 36 3BBB:CE30 00 00 db 0, 0 3BBB:CE32 36 36 36 36 36 37 db '6666670?' 3BBB:CE38 30 3F 3BBB:CE3A 0008[00] db 8 dup (0) 3BBB:CE42 0007[18] db 7 dup (18h) 3BBB:CE49 F8 db 0F8h 3BBB:CE4A 000F[00] db 15 dup (0) 3BBB:CE59 F8 18 18 18 18 18 db 0F8h, 18h, 18h, 18h, 18h, 18h 3BBB:CE5F 18 db 18h 3BBB:CE60 0009[00] db 9 dup (0) 3BBB:CE69 1F 18 18 18 18 18 db 1Fh, 18h, 18h, 18h, 18h, 18h 3BBB:CE6F 18 00 00 db 18h, 00h, 00h 3BBB:CE72 0007[18] db 7 dup (18h) 3BBB:CE79 1F db 1Fh 3BBB:CE7A 0008[00] db 8 dup (0) 3BBB:CE82 0007[18] db 7 dup (18h) 3BBB:CE89 FF 18 18 18 18 18 db 0FFh, 18h, 18h, 18h, 18h, 18h 3BBB:CE8F 18 00 00 00 00 00 db 18h, 00h, 00h, 00h, 00h, 00h 3BBB:CE95 FF db 0FFh 3BBB:CE96 0011[00] db 17 dup (0) 3BBB:CEA7 FF 00 db 0FFh, 00h 3BBB:CEA9 0010[00] db 16 dup (0) 3BBB:CEB9 FF 00 db 0FFh, 00h 3BBB:CEBB 0010[00] db 16 dup (0) 3BBB:CECB FF 00 db 0FFh, 00h 3BBB:CECD 0010[00] db 16 dup (0) 3BBB:CEDD FF 00 00 00 00 18 db 0FFh, 00h, 00h, 00h, 00h, 18h 3BBB:CEE3 18 18 18 18 18 18 db 18h, 18h, 18h, 18h, 18h, 18h 3BBB:CEE9 1F 18 18 18 18 18 db 1Fh, 18h, 18h, 18h, 18h, 18h 3BBB:CEEF 18 00 00 db 18h, 00h, 00h 3BBB:CEF2 0007[18] db 7 dup (18h) 3BBB:CEF9 F8 18 18 18 18 18 db 0F8h, 18h, 18h, 18h, 18h, 18h 3BBB:CEFF 18 00 00 db 18h, 00h, 00h 3BBB:CF02 0007[18] db 7 dup (18h) 3BBB:CF09 FF 00 db 0FFh, 00h 3BBB:CF0B 000E[00] db 14 dup (0) 3BBB:CF19 FF 18 18 18 18 18 db 0FFh, 18h, 18h, 18h, 18h, 18h 3BBB:CF1F 18 00 00 18 db 18h, 00h, 00h, 18h 3BBB:CF23 000D[18] db 13 dup (18h) 3BBB:CF30 00 00 18 18 18 18 db 00h, 00h, 18h, 18h, 18h, 18h 3BBB:CF36 18 1F 18 1F 18 18 db 18h, 1Fh, 18h, 1Fh, 18h, 18h 3BBB:CF3C 18 18 18 18 db 18h, 18h, 18h, 18h 3BBB:CF40 0009[00] db 9 dup (0) 3BBB:CF49 FF 36 36 36 36 36 db 0FFh, 36h, 36h, 36h, 36h, 36h 3BBB:CF4F 36 00 00 db 36h, 00h, 00h 3BBB:CF52 0007[36] db 7 dup (36h) 3BBB:CF59 FF 00 db 0FFh, 00h 3BBB:CF5B 0007[00] db 7 dup (0) 3BBB:CF62 18 18 18 18 18 F8 db 18h, 18h, 18h, 18h, 18h,0F8h 3BBB:CF68 18 F8 18 18 18 18 db 18h,0F8h, 18h, 18h, 18h, 18h 3BBB:CF6E 18 18 00 00 55 AA db 18h, 18h, 00h, 00h, 55h,0AAh 3BBB:CF74 55 AA 55 AA 55 AA db 55h,0AAh, 55h,0AAh, 55h,0AAh 3BBB:CF7A 55 AA 55 AA 55 AA db 55h,0AAh, 55h,0AAh, 55h,0AAh 3BBB:CF80 00 00 db 00h, 00h 3BBB:CF82 000E[FF] db 14 dup (0FFh) 3BBB:CF90 00 00 FF FF FF FF db 00h, 00h,0FFh,0FFh,0FFh,0FFh 3BBB:CF96 FF E7 C3 C3 E7 FF db 0FFh,0E7h,0C3h,0C3h,0E7h,0FFh 3BBB:CF9C FF FF FF FF 00 db 0FFh,0FFh,0FFh,0FFh, 00h 3BBB:CFA1 0007[00] db 7 dup (0) 3BBB:CFA8 18 00 db 18h, 00h 3BBB:CFAA 000E[00] db 14 dup (0) 3BBB:CFB8 0F db 0Fh 3BBB:CFB9 000F[00] db 15 dup (0) 3BBB:CFC8 F0 db 0F0h 3BBB:CFC9 001E[00] db 30 dup (0) 3BBB:CFE7 F8 18 F8 18 18 18 db 0F8h, 18h,0F8h, 18h, 18h, 18h 3BBB:CFED 18 18 18 00 00 18 db 18h, 18h, 18h, 00h, 00h, 18h 3BBB:CFF3 18 18 18 18 F8 18 db 18h, 18h, 18h, 18h,0F8h, 18h 3BBB:CFF9 F8 db 0F8h 3BBB:CFFA 0008[00] db 8 dup (0) 3BBB:D002 18 18 18 18 18 1F db 18h, 18h, 18h, 18h, 18h, 1Fh 3BBB:D008 18 1F 18 18 18 18 db 18h, 1Fh, 18h, 18h, 18h, 18h 3BBB:D00E 18 18 00 00 db 18h, 18h, 00h, 00h 3BBB:D012 000E[14] db 14 dup (14h) 3BBB:D020 0007[00] db 7 dup (0) 3BBB:D027 1F 10 17 14 14 14 db 1Fh, 10h, 17h, 14h, 14h, 14h 3BBB:D02D 14 14 14 db 14h, 14h, 14h 3BBB:D030 0007[00] db 7 dup (0) 3BBB:D037 FC 04 F4 14 14 14 db 0FCh, 04h,0F4h, 14h, 14h, 14h 3BBB:D03D 14 14 14 db 14h, 14h, 14h 3BBB:D040 0012[00] db 18 dup (0) 3BBB:D052 14 14 14 14 14 17 db 14h, 14h, 14h, 14h, 14h, 17h 3BBB:D058 10 1F db 10h, 1Fh 3BBB:D05A 0008[00] db 8 dup (0) 3BBB:D062 14 14 14 14 14 F4 db 14h, 14h, 14h, 14h, 14h,0F4h 3BBB:D068 04 FC db 04h,0FCh 3BBB:D06A 000A[00] db 10 dup (0) 3BBB:D074 18 3C 7E 18 18 18 db 18h, 3Ch, 7Eh, 18h, 18h, 18h 3BBB:D07A 18 18 18 00 db 18h, 18h, 18h, 00h 3BBB:D07E 000A[00] db 10 dup (0) 3BBB:D088 FF 18 18 18 18 18 db 0FFh, 18h, 18h, 18h, 18h, 18h 3BBB:D08E 18 18 db 18h, 18h 3BBB:D090 0018[00] db 24 dup (0) 3BBB:D0A8 1F db 1Fh 3BBB:D0A9 0007[18] db 7 dup (18h) 3BBB:D0B0 0008[00] db 8 dup (0) 3BBB:D0B8 F8 db 0F8h 3BBB:D0B9 0007[18] db 7 dup (18h) 3BBB:D0C0 00 00 18 18 18 18 db 00h, 00h, 18h, 18h, 18h, 18h 3BBB:D0C6 18 18 1F db 18h, 18h, 1Fh 3BBB:D0C9 0009[00] db 9 dup (0) 3BBB:D0D2 18 18 18 18 18 18 db 18h, 18h, 18h, 18h, 18h, 18h 3BBB:D0D8 F8 db 0F8h 3BBB:D0D9 0009[00] db 9 dup (0) 3BBB:D0E2 18 18 18 18 18 18 db 18h, 18h, 18h, 18h, 18h, 18h 3BBB:D0E8 F8 db 0F8h 3BBB:D0E9 0007[18] db 7 dup (18h) 3BBB:D0F0 00 00 18 18 18 18 db 00h, 00h, 18h, 18h, 18h, 18h 3BBB:D0F6 18 18 1F db 18h, 18h, 1Fh 3BBB:D0F9 0007[18] db 7 dup (18h) 3BBB:D100 00 00 18 18 18 18 db 00h, 00h, 18h, 18h, 18h, 18h 3BBB:D106 18 18 FF 00 db 18h, 18h,0FFh, 00h 3BBB:D10A 001E[00] db 30 dup (0) 3BBB:D128 FF 00 db 0FFh, 00h 3BBB:D12A 0008[00] db 8 dup (0) 3BBB:D132 000E[18] db 14 dup (18h) 3BBB:D140 00 00 18 18 18 18 db 00h, 00h, 18h, 18h, 18h, 18h 3BBB:D146 18 18 FF 18 18 18 db 18h, 18h,0FFh, 18h, 18h, 18h 3BBB:D14C 18 18 18 18 00 00 db 18h, 18h, 18h, 18h, 00h, 00h 3BBB:D152 18 18 18 18 78 F8 db 18h, 18h, 18h, 18h, 78h,0F8h 3BBB:D158 F8 F8 78 18 18 18 db 0F8h,0F8h, 78h, 18h, 18h, 18h 3BBB:D15E 18 18 00 00 db 18h, 18h, 00h, 00h 3BBB:D162 000A[18] db 10 dup (18h) 3BBB:D16C 99 5A 3C 18 db 99h, 5Ah, 3Ch, 18h 3BBB:D170 0007[00] db 7 dup (0) 3BBB:D177 FF 00 FF 00 db 0FFh, 00h,0FFh, 00h 3BBB:D17B 000C[00] db 12 dup (0) 3BBB:D187 FF 00 FF 18 18 18 db 0FFh, 00h,0FFh, 18h, 18h, 18h 3BBB:D18D 18 18 18 00 00 18 db 18h, 18h, 18h, 00h, 00h, 18h 3BBB:D193 18 18 18 18 FF 00 db 18h, 18h, 18h, 18h,0FFh, 00h 3BBB:D199 FF 00 db 0FFh, 00h 3BBB:D19B 000B[00] db 11 dup (0) 3BBB:D1A6 18 18 7F 18 18 00 db 18h, 18h, 7Fh, 18h, 18h, 00h 3BBB:D1AC 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 3BBB:D1B2 FF FF F7 E3 C1 80 db 0FFh,0FFh,0F7h,0E3h,0C1h, 80h 3BBB:D1B8 C1 E3 F7 FF FF FF db 0C1h,0E3h,0F7h,0FFh,0FFh,0FFh 3BBB:D1BE FF FF FF FF 80 80 db 0FFh,0FFh,0FFh,0FFh, 80h, 80h 3BBB:D1C4 80 80 80 80 80 FF db 80h, 80h, 80h, 80h, 80h,0FFh 3BBB:D1CA 000C[FF] db 12 dup (0FFh) 3BBB:D1D6 0007[80] db 7 dup (80h) 3BBB:D1DD FF FF FF FF FF EB db 0FFh,0FFh,0FFh,0FFh,0FFh,0EBh 3BBB:D1E3 EB EB EB 08 FF 08 db 0EBh,0EBh,0EBh, 08h,0FFh, 08h 3BBB:D1E9 EB EB EB EB FF db 0EBh,0EBh,0EBh,0EBh,0FFh 3BBB:D1EE 0008[FF] db 8 dup (0FFh) 3BBB:D1F6 00 FF 00 FF db 00h,0FFh, 00h,0FFh 3BBB:D1FA 0008[FF] db 8 dup (0FFh) 3BBB:D202 000B[EB] db 11 dup (0EBh) 3BBB:D20D FF FF FF FF FF EB db 0FFh,0FFh,0FFh,0FFh,0FFh,0EBh 3BBB:D213 EB EB EB 0B db 0EBh,0EBh,0EBh, 0Bh 3BBB:D217 ,FB 03 FF db 0FBh, 03h,0FFh 3BBB:D21A 000C[FF] db 12 dup (0FFh) 3BBB:D226 03 FB 0B EB EB EB db 03h,0FBh, 0Bh,0EBh,0EBh,0EBh 3BBB:D22C EB FF db 0EBh,0FFh 3BBB:D22E 0008[FF] db 8 dup (0FFh) 3BBB:D236 E0 EF E8 EB EB EB db 0E0h,0EFh,0E8h,0EBh,0EBh,0EBh 3BBB:D23C EB FF FF FF FF FF db 0EBh,0FFh,0FFh,0FFh,0FFh,0FFh 3BBB:D242 EB EB EB EB E8 EF db 0EBh,0EBh,0EBh,0EBh,0E8h,0EFh 3BBB:D248 E0 db 0E0h 3BBB:D249 0009[FF] db 9 dup (0FFh) 3BBB:D252 F7 F7 F7 F7 F7 07 db 0F7h,0F7h,0F7h,0F7h,0F7h, 07h 3BBB:D258 FF FF db 0FFh,0FFh 3BBB:D25A 000D[FF] db 13 dup (0FFh) 3BBB:D267 07 F7 F7 F7 F7 F7 db 07h,0F7h,0F7h,0F7h,0F7h,0F7h 3BBB:D26D FF db 0FFh 3BBB:D26E 0009[FF] db 9 dup (0FFh) 3BBB:D277 F0 F7 F7 F7 F7 F7 db 0F0h,0F7h,0F7h,0F7h,0F7h,0F7h 3BBB:D27D FF FF FF FF FF F7 db 0FFh,0FFh,0FFh,0FFh,0FFh,0F7h 3BBB:D283 F7 F7 F7 F7 F0 db 0F7h,0F7h,0F7h,0F7h,0F0h 3BBB:D288 000A[FF] db 10 dup (0FFh) 3BBB:D292 F7 F7 F7 F7 F7 00 db 0F7h,0F7h,0F7h,0F7h,0F7h, 00h 3BBB:D298 F7 F7 F7 F7 F7 FF db 0F7h,0F7h,0F7h,0F7h,0F7h,0FFh 3BBB:D29E FF FF FF FF FF 00 db 0FFh,0FFh,0FFh,0FFh,0FFh, 00h 3BBB:D2A4 0011[FF] db 17 dup (0FFh) 3BBB:D2B5 00 FF db 00h,0FFh 3BBB:D2B7 0010[FF] db 16 dup (0FFh) 3BBB:D2C7 00 FF db 00h,0FFh 3BBB:D2C9 0010[FF] db 16 dup (0FFh) 3BBB:D2D9 00 FF db 00h,0FFh 3BBB:D2DB 0010[FF] db 16 dup (0FFh) 3BBB:D2EB 00 FF FF FF FF FF db 00h,0FFh,0FFh,0FFh,0FFh,0FFh 3BBB:D2F1 FF F7 F7 F7 F7 F7 db 0FFh,0F7h,0F7h,0F7h,0F7h,0F7h 3BBB:D2F7 F0 F7 F7 F7 F7 F7 db 0F0h,0F7h,0F7h,0F7h,0F7h,0F7h 3BBB:D2FD FF FF FF FF FF F7 db 0FFh,0FFh,0FFh,0FFh,0FFh,0F7h 3BBB:D303 F7 F7 F7 F7 07 F7 db 0F7h,0F7h,0F7h,0F7h, 07h,0F7h 3BBB:D309 F7 F7 F7 F7 FF FF db 0F7h,0F7h,0F7h,0F7h,0FFh,0FFh 3BBB:D30F FF FF FF F7 F7 F7 db 0FFh,0FFh,0FFh,0F7h,0F7h,0F7h 3BBB:D315 F7 F7 00 FF db 0F7h,0F7h, 00h,0FFh 3BBB:D319 000E[FF] db 14 dup (0FFh) 3BBB:D327 00 F7 F7 F7 F7 F7 db 00h,0F7h,0F7h,0F7h,0F7h,0F7h 3BBB:D32D FF FF FF FF FF F7 db 0FFh,0FFh,0FFh,0FFh,0FFh,0F7h 3BBB:D333 000A[F7] db 10 dup (0F7h) 3BBB:D33D FF FF FF FF FF F7 db 0FFh,0FFh,0FFh,0FFh,0FFh,0F7h 3BBB:D343 F7 F7 F7 F0 F7 F0 db 0F7h,0F7h,0F7h,0F0h,0F7h,0F0h 3BBB:D349 F7 F7 F7 F7 db 0F7h,0F7h,0F7h,0F7h 3BBB:D34D 000A[FF] db 10 dup (0FFh) 3BBB:D357 00 EB EB EB EB EB db 00h,0EBh,0EBh,0EBh,0EBh,0EBh 3BBB:D35D FF FF FF FF FF EB db 0FFh,0FFh,0FFh,0FFh,0FFh,0EBh 3BBB:D363 EB EB EB EB 00 db 0EBh,0EBh,0EBh,0EBh, 00h 3BBB:D368 000A[FF] db 10 dup (0FFh) 3BBB:D372 F7 F7 F7 F7 07 F7 db 0F7h,0F7h,0F7h,0F7h, 07h,0F7h 3BBB:D378 07 F7 F7 F7 F7 FF db 07h,0F7h,0F7h,0F7h,0F7h,0FFh 3BBB:D37E FF FF FF FF D5 AA db 0FFh,0FFh,0FFh,0FFh,0D5h,0AAh 3BBB:D384 D5 AA D5 AA D5 AA db 0D5h,0AAh,0D5h,0AAh,0D5h,0AAh 3BBB:D38A D5 AA D5 FF FF FF db 0D5h,0AAh,0D5h,0FFh,0FFh,0FFh 3BBB:D390 FF FF 80 80 80 db 0FFh,0FFh, 80h, 80h, 80h 3BBB:D395 0008[80] db 8 dup (80h) 3BBB:D39D 000A[FF] db 10 dup (0FFh) 3BBB:D3A7 F7 FF db 0F7h,0FFh 3BBB:D3A9 000E[FF] db 14 dup (0FFh) 3BBB:D3B7 F7 FF db 0F7h,0FFh 3BBB:D3B9 000E[FF] db 14 dup (0FFh) 3BBB:D3C7 F8 db 0F8h 3BBB:D3C8 000F[FF] db 15 dup (0FFh) 3BBB:D3D7 1F db 1Fh 3BBB:D3D8 001E[FF] db 30 dup (0FFh) 3BBB:D3F6 87 F7 87 F7 F7 F7 db 87h,0F7h, 87h,0F7h,0F7h,0F7h 3BBB:D3FC F7 FF FF FF FF FF db 0F7h,0FFh,0FFh,0FFh,0FFh,0FFh 3BBB:D402 F7 F7 F7 F7 87 F7 db 0F7h,0F7h,0F7h,0F7h, 87h,0F7h 3BBB:D408 87 FF FF db 87h,0FFh,0FFh 3BBB:D40B 0007[FF] db 7 dup (0FFh) 3BBB:D412 F7 F7 F7 F7 F0 F7 db 0F7h,0F7h,0F7h,0F7h,0F0h,0F7h 3BBB:D418 F0 F7 F7 F7 F7 FF db 0F0h,0F7h,0F7h,0F7h,0F7h,0FFh 3BBB:D41E FF FF FF FF db 0FFh,0FFh,0FFh,0FFh 3BBB:D422 000B[EB] db 11 dup (0EBh) 3BBB:D42D 0009[FF] db 9 dup (0FFh) 3BBB:D436 E0 EF E8 EB EB EB db 0E0h,0EFh,0E8h,0EBh,0EBh,0EBh 3BBB:D43C EB db 0EBh 3BBB:D43D 0009[FF] db 9 dup (0FFh) 3BBB:D446 83 FB 8B EB EB EB db 83h,0FBh, 8Bh,0EBh,0EBh,0EBh 3BBB:D44C EB db 0EBh 3BBB:D44D 0015[FF] db 21 dup (0FFh) 3BBB:D462 EB EB EB EB E8 EF db 0EBh,0EBh,0EBh,0EBh,0E8h,0EFh 3BBB:D468 E0 db 0E0h 3BBB:D469 0009[FF] db 9 dup (0FFh) 3BBB:D472 EB EB EB EB 8B FB db 0EBh,0EBh,0EBh,0EBh, 8Bh,0FBh 3BBB:D478 83 FF FF db 83h,0FFh,0FFh 3BBB:D47B 0009[FF] db 9 dup (0FFh) 3BBB:D484 F7 E3 C1 F7 F7 F7 db 0F7h,0E3h,0C1h,0F7h,0F7h,0F7h 3BBB:D48A F7 db 0F7h 3BBB:D48B 000C[FF] db 12 dup (0FFh) 3BBB:D497 80 F7 F7 F7 F7 F7 db 80h,0F7h,0F7h,0F7h,0F7h,0F7h 3BBB:D49D FF db 0FFh 3BBB:D49E 0019[FF] db 25 dup (0FFh) 3BBB:D4B7 F0 F7 F7 F7 F7 F7 db 0F0h,0F7h,0F7h,0F7h,0F7h,0F7h 3BBB:D4BD FF db 0FFh 3BBB:D4BE 0009[FF] db 9 dup (0FFh) 3BBB:D4C7 07 F7 F7 F7 F7 F7 db 07h,0F7h,0F7h,0F7h,0F7h,0F7h 3BBB:D4CD FF FF FF FF FF F7 db 0FFh,0FFh,0FFh,0FFh,0FFh,0F7h 3BBB:D4D3 F7 F7 F7 F7 F0 db 0F7h,0F7h,0F7h,0F7h,0F0h 3BBB:D4D8 000A[FF] db 10 dup (0FFh) 3BBB:D4E2 F7 F7 F7 F7 F7 07 db 0F7h,0F7h,0F7h,0F7h,0F7h, 07h 3BBB:D4E8 FF FF db 0FFh,0FFh 3BBB:D4EA 0008[FF] db 8 dup (0FFh) 3BBB:D4F2 F7 F7 F7 F7 F7 87 db 0F7h,0F7h,0F7h,0F7h,0F7h, 87h 3BBB:D4F8 F7 F7 F7 F7 F7 FF db 0F7h,0F7h,0F7h,0F7h,0F7h,0FFh 3BBB:D4FE FF FF FF FF F7 F7 db 0FFh,0FFh,0FFh,0FFh,0F7h,0F7h 3BBB:D504 F7 F7 F7 F0 F7 F7 db 0F7h,0F7h,0F7h,0F0h,0F7h,0F7h 3BBB:D50A F7 F7 F7 FF FF FF db 0F7h,0F7h,0F7h,0FFh,0FFh,0FFh 3BBB:D510 FF FF F7 F7 F7 F7 db 0FFh,0FFh,0F7h,0F7h,0F7h,0F7h 3BBB:D516 F7 80 FF FF db 0F7h, 80h,0FFh,0FFh 3BBB:D51A 001D[FF] db 29 dup (0FFh) 3BBB:D537 80 FF FF db 80h,0FFh,0FFh 3BBB:D53A 0008[FF] db 8 dup (0FFh) 3BBB:D542 000B[F7] db 11 dup (0F7h) 3BBB:D54D FF FF FF FF FF F7 db 0FFh,0FFh,0FFh,0FFh,0FFh,0F7h 3BBB:D553 F7 F7 F7 F7 80 F7 db 0F7h,0F7h,0F7h,0F7h, 80h,0F7h 3BBB:D559 F7 F7 F7 F7 FF FF db 0F7h,0F7h,0F7h,0F7h,0FFh,0FFh 3BBB:D55F FF FF FF F7 F7 F7 db 0FFh,0FFh,0FFh,0F7h,0F7h,0F7h 3BBB:D565 C7 87 87 87 C7 F7 db 0C7h, 87h, 87h, 87h,0C7h,0F7h 3BBB:D56B F7 F7 FF FF FF FF db 0F7h,0F7h,0FFh,0FFh,0FFh,0FFh 3BBB:D571 FF F7 F7 F7 F7 F7 db 0FFh,0F7h,0F7h,0F7h,0F7h,0F7h 3BBB:D577 F7 F7 B6 D5 E3 E3 db 0F7h,0F7h,0B6h,0D5h,0E3h,0E3h 3BBB:D57D 0009[FF] db 9 dup (0FFh) 3BBB:D586 80 FF 80 db 80h,0FFh, 80h 3BBB:D589 000D[FF] db 13 dup (0FFh) 3BBB:D596 80 FF 80 F7 F7 F7 db 80h,0FFh, 80h,0F7h,0F7h,0F7h 3BBB:D59C F7 FF FF FF FF FF db 0F7h,0FFh,0FFh,0FFh,0FFh,0FFh 3BBB:D5A2 F7 F7 F7 F7 80 FF db 0F7h,0F7h,0F7h,0F7h, 80h,0FFh 3BBB:D5A8 80 FF FF db 80h,0FFh,0FFh 3BBB:D5AB 0007[FF] db 7 dup (0FFh) 3BBB:D5B2 CC CC 01 00 81 1B db 0CCh,0CCh, 01h, 00h, 81h, 1Bh 3BBB:D5B8 84 1B B7 1A 7E 1B db 84h, 1Bh,0B7h, 1Ah, 7Eh, 1Bh 3BBB:D5BE 87 1B 8A 1B 8D 1B db 87h, 1Bh, 8Ah, 1Bh, 8Dh, 1Bh 3BBB:D5C4 90 1B 00 00 00 00 db 90h, 1Bh, 00h, 00h, 00h, 00h 3BBB:D5CA CC db 0CCh 3BBB:D5CB 0081[CC] db 129 dup (0CCh) 3BBB:D64C 00 D1 34 F4 34 C2 db 00h,0D1h, 34h,0F4h, 34h,0C2h 3BBB:D652 37 EA 37 00 00 17 db 37h,0EAh, 37h, 00h, 00h, 17h 3BBB:D658 35 32 35 12 db 35h, 32h, 35h, 12h 3BBB:D65C 38 23 38 db 38h, 23h, 38h 3BBB:D65F 000A[00] db 10 dup (0) 3BBB:D669 17 35 1A 3A 5A 3A db 17h, 35h, 1Ah, 3Ah, 5Ah, 3Ah 3BBB:D66F EA 38 B2 39 91 11 db 0EAh, 38h,0B2h, 39h, 91h, 11h 3BBB:D675 FF 1B 2C 1C 37 1D db 0FFh, 1Bh, 2Ch, 1Ch, 37h, 1Dh 3BBB:D67B 43 1D 00 00 00 00 db 43h, 1Dh, 00h, 00h, 00h, 00h 3BBB:D681 00 00 FF db 00h, 00h,0FFh 3BBB:D684 0008[00] db 8 dup (0) 3BBB:D68C 17 35 B4 3A F4 3A db 17h, 35h,0B4h, 3Ah,0F4h, 3Ah 3BBB:D692 EA 38 B2 39 D1 11 db 0EAh, 38h,0B2h, 39h,0D1h, 11h 3BBB:D698 FF 1B 2C 1C 37 1D db 0FFh, 1Bh, 2Ch, 1Ch, 37h, 1Dh 3BBB:D69E 43 1D 01 00 00 00 db 43h, 1Dh, 01h, 00h, 00h, 00h 3BBB:D6A4 00 00 FF 12 00 04 db 00h, 00h,0FFh, 12h, 00h, 04h 3BBB:D6AA 0F 00 5E 01 FF 00 db 0Fh, 00h, 5Eh, 01h,0FFh, 00h 3BBB:D6B0 F0 00 40 80 02 00 db 0F0h, 00h, 40h, 80h, 02h, 00h 3BBB:D6B6 02 03 20 08 18 48 db 02h, 03h, 20h, 08h, 18h, 48h 3BBB:D6BC 00 02 09 02 01 00 db 00h, 02h, 09h, 02h, 01h, 00h 3BBB:D6C2 12 00 04 0F 01 AA db 12h, 00h, 04h, 0Fh, 01h,0AAh 3BBB:D6C8 00 3F 00 80 00 10 db 00h, 3Fh, 00h, 80h, 00h, 10h 3BBB:D6CE 80 02 00 02 03 10 db 80h, 02h, 00h, 02h, 03h, 10h 3BBB:D6D4 08 18 48 00 02 09 db 08h, 18h, 48h, 00h, 02h, 09h 3BBB:D6DA 02 02 00 08 00 03 db 02h, 02h, 00h, 08h, 00h, 03h 3BBB:D6E0 07 00 9B 00 3F 00 db 07h, 00h, 9Bh, 00h, 3Fh, 00h 3BBB:D6E6 C0 00 10 80 01 00 db 0C0h, 00h, 10h, 80h, 01h, 00h 3BBB:D6EC 02 03 10 08 18 48 db 02h, 03h, 10h, 08h, 18h, 48h 3BBB:D6F2 00 02 08 02 02 FF db 00h, 02h, 08h, 02h, 02h,0FFh 3BBB:D6F8 08 00 04 0F 01 9D db 08h, 00h, 04h, 0Fh, 01h, 9Dh 3BBB:D6FE 00 3F 00 80 00 10 db 00h, 3Fh, 00h, 80h, 00h, 10h 3BBB:D704 80 01 00 02 03 10 db 80h, 01h, 00h, 02h, 03h, 10h 3BBB:D70A 08 18 48 00 02 08 db 08h, 18h, 48h, 00h, 02h, 08h 3BBB:D710 02 02 FF 00 db 02h, 02h,0FFh, 00h 3BBB:D714 0007[00] db 7 dup (0) 3BBB:D71B 98 db 98h 3BBB:D71C 000B[00] db 11 dup (0) 3BBB:D727 FF 00 db 0FFh, 00h 3BBB:D729 0016[00] db 22 dup (0) 3BBB:D73F 23 00 F0 F9 db 23h, 00h,0F0h,0F9h 3BBB:D743 000A[00] db 10 dup (0) 3BBB:D74D 01 00 db 1, 0 3BBB:D74F 01FF[00] db 511 dup (0) 3BBB:D94E CC CC db 0CCh,0CCh 3BBB:D950 000A[00] db 10 dup (0) 3BBB:D95A 12 38 4E 3B 4E 3F db 12h, 38h, 4Eh, 3Bh, 4Eh, 3Fh 3BBB:D960 2E 39 D6 39 11 12 db 2Eh, 39h,0D6h, 39h, 11h, 12h 3BBB:D966 7C 21 7C 21 81 21 db 7Ch, 21h, 7Ch, 21h, 81h, 21h 3BBB:D96C 7D 21 00 00 00 00 db 7Dh, 21h, 00h, 00h, 00h, 00h 3BBB:D972 00 FF 03 07 10 00 db 00h,0FFh, 03h, 07h, 10h, 00h 3BBB:D978 02 FF db 02h,0FFh 3BBB:D97A 0008[00] db 8 dup (0) 3BBB:D982 23 38 22 44 22 48 db '#8"D"H.9' 3BBB:D988 2E 39 3BBB:D98A D6 39 00 00 7C 21 db 0D6h, 39h, 00h, 00h, 7Ch, 21h 3BBB:D990 7C 21 81 21 7D 21 db 7Ch, 21h, 81h, 21h, 7Dh, 21h 3BBB:D996 01 00 00 00 00 FF db 01h, 00h, 00h, 00h, 00h,0FFh 3BBB:D99C 01 07 10 00 02 40 db 01h, 07h, 10h, 00h, 02h, 40h 3BBB:D9A2 50 00 06 3F 03 4B db 50h, 00h, 06h, 3Fh, 03h, 4Bh 3BBB:D9A8 13 FF 0F FF FF 00 db 13h,0FFh, 0Fh,0FFh,0FFh, 00h 3BBB:D9AE 84 01 00 02 03 50 db 84h, 01h, 00h, 02h, 03h, 50h 3BBB:D9B4 00 06 3F 03 4B 13 db 00h, 06h, 3Fh, 03h, 4Bh, 13h 3BBB:D9BA FF 0F FF FF 00 84 db 0FFh, 0Fh,0FFh,0FFh, 00h, 84h 3BBB:D9C0 01 00 02 03 00 db 01h, 00h, 02h, 03h, 00h 3BBB:D9C5 0015[00] db 21 dup (0) 3BBB:D9DA CC CC 4C 50 54 30 db 0CCh,0CCh, 4Ch, 50h, 54h, 30h 3BBB:D9E0 20 20 60 FE 00 0B db 20h, 20h, 60h,0FEh, 00h, 0Bh 3BBB:D9E6 00 00 11 11 0A 00 db 00h, 00h, 11h, 11h, 0Ah, 00h 3BBB:D9EC 0008[00] db 8 dup (0) 3BBB:D9F4 86 22 00 00 00 00 db 86h, 22h, 00h, 00h, 00h, 00h 3BBB:D9FA 23 23 09 23 53 23 db '##', 9, '#S#S#S#1', 27h 3BBB:DA00 53 23 53 23 31 27 3BBB:DA06 FF 00 00 03 08 04 db 0FFh, 00h, 00h, 03h, 08h, 04h 3BBB:DA0C 00 04 08 0C E0 00 db 00h, 04h, 08h, 0Ch,0E0h, 00h 3BBB:DA12 05 08 00 10 00 30 db 05h, 08h, 00h, 10h, 00h, 30h 3BBB:DA18 00 FF 00 FF 00 0C db 00h,0FFh, 00h,0FFh, 00h, 0Ch 3BBB:DA1E 0A 04 40 80 C0 FF db 0Ah, 04h, 40h, 80h,0C0h,0FFh 3BBB:DA24 000C[00] db 12 dup (0) 3BBB:DA30 004A[FF] db 74 dup (0FFh) 3BBB:DA7A EE 38 FF 00 FF db 0EEh, 38h,0FFh, 00h,0FFh 3BBB:DA7F 0009[00] db 9 dup (0) 3BBB:DA88 F6 4C FE 38 00 00 db 0F6h, 4Ch,0FEh, 38h, 00h, 00h 3BBB:DA8E FF db 0FFh 3BBB:DA8F 0009[00] db 9 dup (0) 3BBB:DA98 F6 4E 0E 39 00 00 db 0F6h, 4Eh, 0Eh, 39h, 00h, 00h 3BBB:DA9E FF db 0FFh 3BBB:DA9F 0009[00] db 9 dup (0) 3BBB:DAA8 F6 50 1E 39 00 00 db 0F6h, 50h, 1Eh, 39h, 00h, 00h 3BBB:DAAE FF db 0FFh 3BBB:DAAF 0009[00] db 9 dup (0) 3BBB:DAB8 F6 52 00 00 00 00 db 0F6h, 52h, 00h, 00h, 00h, 00h 3BBB:DABE 32 39 FF 00 FF db 32h, 39h,0FFh, 00h,0FFh 3BBB:DAC3 0009[00] db 9 dup (0) 3BBB:DACC F6 54 42 39 00 00 db 0F6h, 54h, 42h, 39h, 00h, 00h 3BBB:DAD2 FF db 0FFh 3BBB:DAD3 0009[00] db 9 dup (0) 3BBB:DADC F6 56 52 39 00 00 db 0F6h, 56h, 52h, 39h, 00h, 00h 3BBB:DAE2 FF db 0FFh 3BBB:DAE3 0009[00] db 9 dup (0) 3BBB:DAEC F6 58 62 39 00 00 db 0F6h, 58h, 62h, 39h, 00h, 00h 3BBB:DAF2 FF db 0FFh 3BBB:DAF3 0009[00] db 9 dup (0) 3BBB:DAFC F6 5A 72 39 00 00 db 0F6h, 5Ah, 72h, 39h, 00h, 00h 3BBB:DB02 FF db 0FFh 3BBB:DB03 0009[00] db 9 dup (0) 3BBB:DB0C F6 5C 82 39 00 00 db 0F6h, 5Ch, 82h, 39h, 00h, 00h 3BBB:DB12 FF db 0FFh 3BBB:DB13 0009[00] db 9 dup (0) 3BBB:DB1C F6 5E 92 39 00 00 db 0F6h, 5Eh, 92h, 39h, 00h, 00h 3BBB:DB22 FF db 0FFh 3BBB:DB23 0009[00] db 9 dup (0) 3BBB:DB2C F6 60 A2 39 00 00 db 0F6h, 60h,0A2h, 39h, 00h, 00h 3BBB:DB32 FF db 0FFh 3BBB:DB33 0009[00] db 9 dup (0) 3BBB:DB3C F6 62 00 00 00 00 db 0F6h, 62h, 00h, 00h, 00h, 00h 3BBB:DB42 B6 39 FF 00 FF db 0B6h, 39h,0FFh, 00h,0FFh 3BBB:DB47 0009[00] db 9 dup (0) 3BBB:DB50 D1 10 C6 39 00 00 db 0D1h, 10h,0C6h, 39h, 00h, 00h 3BBB:DB56 FF db 0FFh 3BBB:DB57 0009[00] db 9 dup (0) 3BBB:DB60 F1 10 00 00 00 00 db 0F1h, 10h, 00h, 00h, 00h, 00h 3BBB:DB66 DA 39 FF 00 FF db 0DAh, 39h,0FFh, 00h,0FFh 3BBB:DB6B 0009[00] db 9 dup (0) 3BBB:DB74 11 11 EA 39 00 00 db 11h, 11h,0EAh, 39h, 00h, 00h 3BBB:DB7A FF db 0FFh 3BBB:DB7B 0009[00] db 9 dup (0) 3BBB:DB84 31 11 FA 39 00 00 db 31h, 11h,0FAh, 39h, 00h, 00h 3BBB:DB8A FF db 0FFh 3BBB:DB8B 0009[00] db 9 dup (0) 3BBB:DB94 51 11 0A 3A 00 00 db 51h, 11h, 0Ah, 3Ah, 00h, 00h 3BBB:DB9A FF db 0FFh 3BBB:DB9B 0009[00] db 9 dup (0) 3BBB:DBA4 71 11 db 71h, 11h 3BBB:DBA6 005A[00] db 90 dup (0) sub_443 endp seg_a ends end start ____________________ CROSS REFERENCE - KEY ENTRY POINTS ___________________ seg:off type label ---- ---- ---- -------------------------------- 3BBB:0000 far start __________________ Interrupt Usage Synopsis __________________ Interrupt 10h : Video display ah=functn xxh Interrupt 10h : ah=01h set cursor mode in cx Interrupt 10h : ah=02h set cursor location in dx Interrupt 10h : ah=06h scroll up, al=lines Interrupt 10h : ah=07h scroll down, al=lines Interrupt 10h : ah=09h set char al & attrib bl @curs Interrupt 13h : Disk dl=drive # ah=func xxh Interrupt 1Ch : Timer break (call each 18.2ms) Interrupt 5Ch : Netbios services interface 50 Ocurrences of non-standard interrupts used (search for ??). __________________ I/O Port Usage Synopsis __________________ 1 Ocurrences of non-standard I/O ports used (search for ??).