start PROC NEAR 000 000110 B83500 MOV ax, 35h ;Segment constant 001 000113 8ED8 MOV ds, ax 002 000115 8EC0 MOV es, ax 003 000117 E89F01 CALL near ptr proc_1 004 00011A B403 MOV ah, 3 005 00011C B700 MOV bh, 0 006 00011E CD10 INT 10h /* Unknown int */ 007 000120 882E0600 MOV [6], ch 008 000124 880E0700 MOV [7], cl 009 000128 B401 MOV ah, 1 010 00012A 80CD04 OR ch, 4 011 00012D 80E50D AND ch, 0Dh 012 000130 CD10 INT 10h /* Unknown int */ 013 000132 B60A MOV dh, 0Ah 014 000134 B21E MOV dl, 1Eh 015 000136 E89901 CALL near ptr proc_2 016 000139 B2C9 MOV dl, 0C9h 017 00013B E89F01 CALL near ptr proc_3 018 00013E B91100 MOV cx, 11h 019 000141 B2CD MOV dl, 0CDh 020 000143 E89701 L1: CALL near ptr proc_3 021 000146 E2FB LOOP L1 022 000148 B2BB MOV dl, 0BBh 023 00014A E89001 CALL near ptr proc_3 024 00014D B60E MOV dh, 0Eh 025 00014F B21E MOV dl, 1Eh 026 000151 E87E01 CALL near ptr proc_2 027 000154 B2C8 MOV dl, 0C8h 028 000156 E88401 CALL near ptr proc_3 029 000159 B91100 MOV cx, 11h 030 00015C B2CD MOV dl, 0CDh 031 00015E E87C01 L2: CALL near ptr proc_3 032 000161 E2FB LOOP L2 033 000163 B2BC MOV dl, 0BCh 034 000165 E87501 CALL near ptr proc_3 035 000168 B60B MOV dh, 0Bh 036 00016A B21E MOV dl, 1Eh 037 00016C E86301 CALL near ptr proc_2 038 00016F B90300 MOV cx, 3 039 000172 52 L3: PUSH dx 040 000173 B2BA MOV dl, 0BAh 041 000175 E86501 CALL near ptr proc_3 042 000178 5A POP dx 043 000179 FEC6 INC dh 044 00017B E85401 CALL near ptr proc_2 045 00017E E2F2 LOOP L3 046 000180 B60B MOV dh, 0Bh 047 000182 B230 MOV dl, 30h 048 000184 E84B01 CALL near ptr proc_2 049 000187 B90300 MOV cx, 3 050 00018A 52 L4: PUSH dx 051 00018B B2BA MOV dl, 0BAh 052 00018D E84D01 CALL near ptr proc_3 053 000190 5A POP dx 054 000191 FEC6 INC dh 055 000193 E83C01 CALL near ptr proc_2 056 000196 E2F2 LOOP L4 057 000198 B60C MOV dh, 0Ch 058 00019A B220 MOV dl, 20h 059 00019C E83301 CALL near ptr proc_2 060 00019F BA0800 MOV dx, 8 061 0001A2 E8F300 CALL near ptr proc_6 062 0001A5 B616 MOV dh, 16h 063 0001A7 B220 MOV dl, 20h 064 0001A9 E82601 CALL near ptr proc_2 065 0001AC BA1800 MOV dx, 18h 066 0001AF E8E600 CALL near ptr proc_6 067 0001B2 B618 MOV dh, 18h 068 0001B4 B21E MOV dl, 1Eh 069 0001B6 E81901 CALL near ptr proc_2 070 0001B9 BA2800 MOV dx, 28h 071 0001BC E8D900 CALL near ptr proc_6 072 0001BF B91400 MOV cx, 14h 073 0001C2 E8C400 L5: CALL near ptr proc_7 074 0001C5 E2FB LOOP L5 075 0001C7 E8EF00 CALL near ptr proc_1 076 0001CA B600 MOV dh, 0 077 0001CC B200 MOV dl, 0 078 0001CE E80101 CALL near ptr proc_2 079 0001D1 BA3B00 MOV dx, 3Bh 080 0001D4 E8C100 CALL near ptr proc_6 081 0001D7 B601 MOV dh, 1 082 0001D9 B200 MOV dl, 0 083 0001DB E8F400 CALL near ptr proc_2 084 0001DE BA8700 MOV dx, 87h 085 0001E1 E8B400 CALL near ptr proc_6 086 0001E4 B602 MOV dh, 2 087 0001E6 B200 MOV dl, 0 088 0001E8 E8E700 CALL near ptr proc_2 089 0001EB BAD000 MOV dx, 0D0h 090 0001EE E8A700 CALL near ptr proc_6 091 0001F1 B603 MOV dh, 3 092 0001F3 B200 MOV dl, 0 093 0001F5 E8DA00 CALL near ptr proc_2 094 0001F8 BA1F01 MOV dx, 11Fh 095 0001FB E89A00 CALL near ptr proc_6 096 0001FE B604 MOV dh, 4 097 000200 B200 MOV dl, 0 098 000202 E8CD00 CALL near ptr proc_2 099 000205 BA6A01 MOV dx, 16Ah 100 000208 E88D00 CALL near ptr proc_6 101 00020B B607 MOV dh, 7 102 00020D B200 MOV dl, 0 103 00020F E8C000 CALL near ptr proc_2 104 000212 BA8C01 MOV dx, 18Ch 105 000215 E88000 CALL near ptr proc_6 106 000218 B608 MOV dh, 8 107 00021A B200 MOV dl, 0 108 00021C E8B300 CALL near ptr proc_2 109 00021F BAD501 MOV dx, 1D5h 110 000222 E87300 CALL near ptr proc_6 111 000225 B60B MOV dh, 0Bh 112 000227 B200 MOV dl, 0 113 000229 E8A600 CALL near ptr proc_2 114 00022C BAFD01 MOV dx, 1FDh 115 00022F E86600 CALL near ptr proc_6 116 000232 B60D MOV dh, 0Dh 117 000234 B200 MOV dl, 0 118 000236 E89900 CALL near ptr proc_2 119 000239 BA3602 MOV dx, 236h 120 00023C E85900 CALL near ptr proc_6 121 00023F B60F MOV dh, 0Fh 122 000241 B200 MOV dl, 0 123 000243 E88C00 CALL near ptr proc_2 124 000246 BA7C02 MOV dx, 27Ch 125 000249 E84C00 CALL near ptr proc_6 126 00024C B610 MOV dh, 10h 127 00024E B200 MOV dl, 0 128 000250 E87F00 CALL near ptr proc_2 129 000253 BAC602 MOV dx, 2C6h 130 000256 E83F00 CALL near ptr proc_6 131 000259 B618 MOV dh, 18h 132 00025B B200 MOV dl, 0 133 00025D E87200 CALL near ptr proc_2 134 000260 BAD802 MOV dx, 2D8h 135 000263 E83200 CALL near ptr proc_6 136 000266 B400 L6: MOV ah, 0 137 000268 CD16 INT 16h /* Unknown int */ 138 00026A 80FC1C CMP ah, 1Ch 139 00026D 75F7 JNE L6 140 00026F B401 MOV ah, 1 141 000271 8A2E0600 MOV ch, [6] 142 000275 8A0E0700 MOV cl, [7] 143 000279 CD10 INT 10h /* Unknown int */ 144 00027B B8004C MOV ax, 4C00h 145 00027E CD21 INT 21h ;Exit to DOS /* Terminate process with return code */ start ENDP proc_1 PROC NEAR 000 0002B9 50 PUSH ax 001 0002BA 53 PUSH bx 002 0002BB 51 PUSH cx 003 0002BC 52 PUSH dx 004 0002BD 32C0 XOR al, al 005 0002BF B500 MOV ch, 0 006 0002C1 B100 MOV cl, 0 007 0002C3 B618 MOV dh, 18h 008 0002C5 B24F MOV dl, 4Fh 009 0002C7 B707 MOV bh, 7 010 0002C9 B406 MOV ah, 6 011 0002CB CD10 INT 10h /* Unknown int */ 012 0002CD 5A POP dx 013 0002CE 59 POP cx 014 0002CF 5B POP bx 015 0002D0 58 POP ax 016 0002D1 C3 RET proc_1 ENDP proc_2 PROC NEAR 000 0002D2 50 PUSH ax 001 0002D3 53 PUSH bx 002 0002D4 B700 MOV bh, 0 003 0002D6 B402 MOV ah, 2 004 0002D8 CD10 INT 10h /* Unknown int */ 005 0002DA 5B POP bx 006 0002DB 58 POP ax 007 0002DC C3 RET proc_2 ENDP proc_3 PROC NEAR 000 0002DD 50 PUSH ax 001 0002DE 53 PUSH bx 002 0002DF 51 PUSH cx 003 0002E0 52 PUSH dx 004 0002E1 B409 MOV ah, 9 005 0002E3 B700 MOV bh, 0 006 0002E5 B90100 MOV cx, 1 007 0002E8 8AC2 MOV al, dl 008 0002EA B307 MOV bl, 7 009 0002EC CD10 INT 10h /* Unknown int */ 010 0002EE E81E00 CALL near ptr proc_4 011 0002F1 5A POP dx 012 0002F2 59 POP cx 013 0002F3 5B POP bx 014 0002F4 58 POP ax 015 0002F5 C3 RET proc_3 ENDP proc_4 PROC NEAR 000 00030F 50 PUSH ax 001 000310 53 PUSH bx 002 000311 51 PUSH cx 003 000312 52 PUSH dx 004 000313 B403 MOV ah, 3 005 000315 B700 MOV bh, 0 006 000317 CD10 INT 10h /* Unknown int */ 007 000319 B402 MOV ah, 2 008 00031B FEC2 INC dl 009 00031D 80FA4F CMP dl, 4Fh 010 000320 7606 JBE L7 011 000322 E82000 CALL near ptr proc_5 012 000325 EB03 JMP L8 013 00032A 5A L8: POP dx 014 00032B 59 POP cx 015 00032C 5B POP bx 016 00032D 58 POP ax 017 00032E C3 RET 018 000328 CD10 L7: INT 10h /* Unknown int */ 019 JMP L8 ;Synthetic inst proc_4 ENDP proc_5 PROC NEAR 000 000345 50 PUSH ax 001 000346 52 PUSH dx 002 000347 B402 MOV ah, 2 003 000349 B20D MOV dl, 0Dh 004 00034B CD21 INT 21h /* Character output */ 005 00034D B20A MOV dl, 0Ah 006 00034F CD21 INT 21h /* Character output */ 007 000351 5A POP dx 008 000352 58 POP ax 009 000353 C3 RET proc_5 ENDP proc_6 PROC NEAR 000 000298 B409 MOV ah, 9 001 00029A CD21 INT 21h /* Display string */ 002 00029C C3 RET proc_6 ENDP proc_7 PROC NEAR 000 000289 51 PUSH cx 001 00028A B100 MOV cl, 0 002 00028C B500 L9: MOV ch, 0 003 00028E FECD L10: DEC ch 004 000290 75FC JNE L10 005 000292 FEC9 DEC cl 006 000294 75F6 JNE L9 007 000296 59 POP cx 008 000297 C3 RET proc_7 ENDP