00000000 EB04 jmp short 0x6 00000002 0000 add [bx+si],al 00000004 0000 add [bx+si],al 00000006 1E push ds ; free memory (?!) 00000007 B449 mov ah,0x49 00000009 268E062C00 mov es,[es:0x2c] 0000000E CD21 int 0x21 ; get int 0x66 addy into ES:BX into 0x104:0x102 00000010 B86635 mov ax,0x3566 00000013 CD21 int 0x21 00000015 891E0201 mov [0x102],bx 00000019 8CC0 mov ax,es 0000001B A30401 mov [0x104],ax ; save DS 0000001E 8CD8 mov ax,ds 00000020 2EA31D02 mov [cs:0x21d],ax ; set cs:0x13b as new int 0x66 handler 00000024 BA3B01 mov dx,0x13b 00000027 1E push ds 00000028 0E push cs 00000029 1F pop ds 0000002A B86625 mov ax,0x2566 0000002D CD21 int 0x21 ; restore DS 0000002F 1F pop ds ; set AX to 0x250 00000030 E8EC00 call 0x11f ; TSR 00000033 8BD0 mov dx,ax 00000035 B80031 mov ax,0x3100 00000038 CD21 int 0x21 ; Bye 0000003A C3 ret 0000003B 3D3200 cmp ax,0x32 0000003E 7C05 jl 0x45 00000040 2EFF2E0201 jmp far [cs:0x102] 00000045 3D1400 cmp ax,0x14 00000048 7526 jnz 0x70 0000004A 1E push ds 0000004B 06 push es 0000004C 56 push si 0000004D B86635 mov ax,0x3566 00000050 CD21 int 0x21 00000052 B449 mov ah,0x49 00000054 CD21 int 0x21 00000056 2EA10401 mov ax,[cs:0x104] 0000005A 8ED8 mov ds,ax 0000005C 2E8B160201 mov dx,[cs:0x102] 00000061 B86625 mov ax,0x2566 00000064 CD21 int 0x21 00000066 BE0B02 mov si,0x20b 00000069 E85100 call 0xbd 0000006C 5E pop si 0000006D 07 pop es 0000006E 1F pop ds 0000006F CB retf 00000070 9C pushf 00000071 1E push ds 00000072 2EFF361D02 push word [cs:0x21d] 00000077 1F pop ds 00000078 3D0300 cmp ax,0x3 0000007B 7505 jnz 0x82 0000007D E82004 call 0x4a0 00000080 EB38 jmp short 0xba 00000082 3D0000 cmp ax,0x0 00000085 7505 jnz 0x8c 00000087 E89F00 call 0x129 0000008A EB2E jmp short 0xba 0000008C 3D0100 cmp ax,0x1 0000008F 7505 jnz 0x96 00000091 E82F03 call 0x3c3 00000094 EB24 jmp short 0xba 00000096 3D0200 cmp ax,0x2 00000099 750B jnz 0xa6 0000009B 06 push es 0000009C 52 push dx 0000009D 53 push bx 0000009E E84E03 call 0x3ef 000000A1 83C406 add sp,byte +0x6 000000A4 EB14 jmp short 0xba 000000A6 3D0400 cmp ax,0x4 000000A9 750F jnz 0xba 000000AB 52 push dx 000000AC 81E1FF00 and cx,0xff 000000B0 51 push cx 000000B1 53 push bx 000000B2 E89D09 call 0xa52 000000B5 83C406 add sp,byte +0x6 000000B8 EB00 jmp short 0xba 000000BA 1F pop ds 000000BB 9D popf 000000BC CB retf 000000BD B40E mov ah,0xe 000000BF 2E8A04 mov al,[cs:si] 000000C2 46 inc si 000000C3 3C00 cmp al,0x0 000000C5 7407 jz 0xce 000000C7 BB0700 mov bx,0x7 000000CA CD10 int 0x10 000000CC EBEF jmp short 0xbd 000000CE C3 ret 000000CF 50 push ax 000000D0 B8013D mov ax,0x3d01 000000D3 BEFD01 mov si,0x1fd 000000D6 CD21 int 0x21 000000D8 A30502 mov [0x205],ax 000000DB 8CC8 mov ax,cs 000000DD 66C1E010 shl eax,0x10 000000E1 58 pop ax 000000E2 66A30702 mov [0x207],eax 000000E6 B440 mov ah,0x40 000000E8 8B1E0502 mov bx,[0x205] 000000EC B90400 mov cx,0x4 000000EF BA0702 mov dx,0x207 000000F2 CD21 int 0x21 000000F4 B43E mov ah,0x3e 000000F6 8B1E0502 mov bx,[0x205] 000000FA CD21 int 0x21 000000FC C3 ret 0x102 soundrv int 0x66 offset 0x104 soundrv int 0x66 segment 0x21d data segment placeholder 000000FD 736E jnc 0x16d 000000FF 642E7663 cs jna 0x166 00000103 7400 jz 0x105 00000105 0000 add [bx+si],al 00000107 0000 add [bx+si],al 00000109 0000 add [bx+si],al 0000010B 53 push bx 0000010C 6F outsw 0000010D 756E jnz 0x17d 0000010F 6420756E and [fs:di+0x6e],dh 00000113 6C insb 00000114 6F outsw 00000115 61 popa 00000116 6465640D0A00 fs or ax,0xa 0000011C 00 db 0x0 ; do-nothing thing for loader 0000011F 55 push bp 00000120 8BEC mov bp,sp 00000122 B85002 mov ax,0x250 00000125 EB00 jmp short 0x127 00000127 5D pop bp 00000128 C3 ret 00000129 C8040000 enter 0x4,0x0 0000012D 56 push si 0000012E 57 push di 0000012F 68BE13 push word 0x13be 00000132 68B413 push word 0x13b4 00000135 E8720A call 0xbaa 00000138 83C404 add sp,byte +0x4 ;;;; 0x66 new handler ; Do something sound ; Input: ; AX: fd or zero ; Output: ; AX: 1 = error 0000013B 8946FE mov [bp-0x2],ax 0000013E 837EFE00 cmp word [bp-0x2],byte +0x0 00000142 7416 jz 0x15a ; go directly analyze ; fd non-zero, so try to read from it 00000144 FF76FE push word [bp-0x2] ; fd 00000147 6A12 push byte +0x12 ; buffer length 00000149 1E push ds ; buffer segment 0000014A 68B611 push word 0x11b6 ; buffer offset 0000014D E8AF0A call 0xbff ; read() 00000150 83C408 add sp,byte +0x8 ; forget seg,ofs 00000153 FF76FE push word [bp-0x2] ; fd 00000156 E87B0A call 0xbd4 ; close() 00000159 59 pop cx ; fd ; fd zero ; analyze read data ; if buffer[0,1] == 0x0003 return 1 0000015A 833EB61103 cmp word [0x11b6],byte +0x3 0000015F 7506 jnz 0x167 ; go on 00000161 B80100 mov ax,0x1 00000164 E95802 jmp 0x3bf ; die 00000167 A1C211 mov ax,[0x11c2] ; buffer[12,13] (uninitialized?) 0000016A A3AA13 mov [0x13aa],ax ; if [0x13aa] > 0x8 [0x13aa] = 0x8 0000016D 833EAA1308 cmp word [0x13aa],byte +0x8 00000172 7E06 jng 0x17a 00000174 C706AA130800 mov word [0x13aa],0x8 ; do nothing 0000017A 68C113 push word 0x13c1 0000017D E8F80A call 0xc78 00000180 59 pop cx ; do nothing 00000181 FF36AA13 push word [0x13aa] 00000185 E82F0B call 0xcb7 00000188 59 pop cx ; do nothing 00000189 68CC13 push word 0x13cc 0000018C E8E90A call 0xc78 0000018F 59 pop cx ; check again the buffer *yawn* 00000190 833EB61103 cmp word [0x11b6],byte +0x3 00000195 7503 jnz 0x19a 00000197 E92502 jmp 0x3bf ; get int 0x66 handler and save it at 14b6:14b4 (seg:ofs) 0000019A 06 push es 0000019B 56 push si 0000019C B86635 mov ax,0x3566 0000019F CD21 int 0x21 000001A1 BEB414 mov si,0x14b4 000001A4 891C mov [si],bx 000001A6 8CC0 mov ax,es 000001A8 894402 mov [si+0x2],ax 000001AB 5E pop si 000001AC 07 pop es ; if there is no original handler, die 000001AD 66833EB41400 cmp dword [0x14b4],byte +0x0 000001B3 750B jnz 0x1c0 ; go on 000001B5 68D113 push word 0x13d1 000001B8 E8BD0A call 0xc78 ; do nothing 000001BB 59 pop cx 000001BC 33C0 xor ax,ax 000001BE EBA4 jmp short 0x164 ; die 000001C0 680008 push word 0x800 000001C3 1E push ds 000001C4 FF36D811 push word [0x11d8] 000001C8 0E push cs 000001C9 E8ED0D call 0xfb9 ; call int 0x66 000001CC 83C406 add sp,byte +0x6 ; weed out cs,word,ds 000001CF 0BC0 or ax,ax 000001D1 750E jnz 0x1e1 ; do nothing 000001D3 68EE13 push word 0x13ee 000001D6 E89F0A call 0xc78 000001D9 59 pop cx 000001DA 8306D8110A add word [0x11d8],byte +0xa 000001DF EB02 jmp short 0x1e3 000001E1 EB02 jmp short 0x1e5 000001E3 EBDB jmp short 0x1c0 000001E5 C70698130000 mov word [0x1398],0x0 000001EB C7069C130000 mov word [0x139c],0x0 000001F1 C7069A130000 mov word [0x139a],0x0 000001F7 C706CE110004 mov word [0x11ce],0x400 000001FD A1D811 mov ax,[0x11d8] 00000200 8C1ECC11 mov [0x11cc],ds 00000204 A3CA11 mov [0x11ca],ax 00000207 C706D411112B mov word [0x11d4],0x2b11 0000020D 6A00 push byte +0x0 0000020F 680008 push word 0x800 00000212 1E push ds 00000213 FF36D811 push word [0x11d8] 00000217 0E push cs 00000218 E8830D call 0xf9e 0000021B 83C408 add sp,byte +0x8 0000021E 6A00 push byte +0x0 00000220 0E push cs 00000221 E8650D call 0xf89 00000224 59 pop cx 00000225 C70696130000 mov word [0x1396],0x0 0000022B 0E push cs 0000022C E8760C call 0xea5 0000022F A90002 test ax,0x200 00000232 7420 jz 0x254 00000234 C70698130100 mov word [0x1398],0x1 0000023A C7069C130004 mov word [0x139c],0x400 00000240 C706CE110008 mov word [0x11ce],0x800 00000246 6A01 push byte +0x1 00000248 0E push cs 00000249 E83D0D call 0xf89 0000024C 59 pop cx 0000024D 680914 push word 0x1409 00000250 E8250A call 0xc78 00000253 59 pop cx 00000254 6A00 push byte +0x0 00000256 0E push cs 00000257 E8E40C call 0xf3e 0000025A 59 pop cx 0000025B 0E push cs 0000025C E8460C call 0xea5 0000025F A98000 test ax,0x80 00000262 7414 jz 0x278 00000264 682214 push word 0x1422 00000267 E80E0A call 0xc78 0000026A 59 pop cx 0000026B 6A01 push byte +0x1 0000026D 0E push cs 0000026E E8CD0C call 0xf3e 00000271 59 pop cx 00000272 C70696130100 mov word [0x1396],0x1 00000278 0E push cs 00000279 E8D70C call 0xf53 0000027C 8916A013 mov [0x13a0],dx 00000280 A39E13 mov [0x139e],ax 00000283 33FF xor di,di 00000285 EB56 jmp short 0x2dd 00000287 8BDF mov bx,di 00000289 C1E302 shl bx,0x2 0000028C 66C787B018000000 mov dword [bx+0x18b0],0x0 -00 00000295 8BDF mov bx,di 00000297 D1E3 shl bx,1 00000299 33C0 xor ax,ax 0000029B 89874018 mov [bx+0x1840],ax 0000029F 99 cwd 000002A0 8BDF mov bx,di 000002A2 C1E302 shl bx,0x2 000002A5 89979218 mov [bx+0x1892],dx 000002A9 89879018 mov [bx+0x1890],ax 000002AD 8BDF mov bx,di 000002AF D1E3 shl bx,1 000002B1 C787D218E703 mov word [bx+0x18d2],0x3e7 000002B7 8BDF mov bx,di 000002B9 D1E3 shl bx,1 000002BB C7878018FFFF mov word [bx+0x1880],0xffff 000002C1 8BDF mov bx,di 000002C3 D1E3 shl bx,1 000002C5 B88000 mov ax,0x80 000002C8 89877018 mov [bx+0x1870],ax 000002CC 8BDF mov bx,di 000002CE D1E3 shl bx,1 000002D0 89875018 mov [bx+0x1850],ax 000002D4 8BDF mov bx,di 000002D6 D1E3 shl bx,1 000002D8 89876018 mov [bx+0x1860],ax 000002DC 47 inc di 000002DD 83FF08 cmp di,byte +0x8 000002E0 7CA5 jl 0x287 000002E2 C706D6110000 mov word [0x11d6],0x0 000002E8 684814 push word 0x1448 000002EB 683D14 push word 0x143d 000002EE E8B908 call 0xbaa 000002F1 83C404 add sp,byte +0x4 000002F4 8946FE mov [bp-0x2],ax 000002F7 837EFE00 cmp word [bp-0x2],byte +0x0 000002FB 7503 jnz 0x300 000002FD E9B800 jmp 0x3b8 00000300 FF76FE push word [bp-0x2] 00000303 6A04 push byte +0x4 00000305 1E push ds 00000306 68A213 push word 0x13a2 00000309 E8F308 call 0xbff 0000030C 83C408 add sp,byte +0x8 0000030F 66A1A213 mov eax,[0x13a2] 00000313 66BB08000000 mov ebx,0x8 00000319 6699 cdq 0000031B 66F7FB idiv ebx 0000031E A3DA11 mov [0x11da],ax 00000321 8946FC mov [bp-0x4],ax 00000324 33FF xor di,di 00000326 E98000 jmp 0x3a9 00000329 6A00 push byte +0x0 0000032B 8BC7 mov ax,di 0000032D C1E003 shl ax,0x3 00000330 660FBFC0 movsx eax,ax 00000334 6650 push eax 00000336 FF76FE push word [bp-0x2] 00000339 E8A708 call 0xbe3 0000033C 83C408 add sp,byte +0x8 0000033F FF76FE push word [bp-0x2] 00000342 6A04 push byte +0x4 00000344 1E push ds 00000345 68A213 push word 0x13a2 00000348 E8B408 call 0xbff 0000034B 83C408 add sp,byte +0x8 0000034E FF76FE push word [bp-0x2] 00000351 6A04 push byte +0x4 00000353 1E push ds 00000354 68A613 push word 0x13a6 00000357 E8A508 call 0xbff 0000035A 83C408 add sp,byte +0x8 0000035D 8BDF mov bx,di 0000035F C1E302 shl bx,0x2 00000362 66A1A213 mov eax,[0x13a2] 00000366 6689874C16 mov [bx+0x164c],eax 0000036B 8BDF mov bx,di 0000036D C1E302 shl bx,0x2 00000370 66A1A613 mov eax,[0x13a6] 00000374 668987BC14 mov [bx+0x14bc],eax 00000379 6A00 push byte +0x0 0000037B 66A1A213 mov eax,[0x13a2] 0000037F 6640 inc eax 00000381 6650 push eax 00000383 FF76FE push word [bp-0x2] 00000386 E85A08 call 0xbe3 00000389 83C408 add sp,byte +0x8 0000038C FF76FE push word [bp-0x2] 0000038F 6A01 push byte +0x1 00000391 1E push ds 00000392 8BC7 mov ax,di 00000394 05DC17 add ax,0x17dc 00000397 50 push ax 00000398 E86408 call 0xbff 0000039B 83C408 add sp,byte +0x8 0000039E 8A85DC17 mov al,[di+0x17dc] 000003A2 04D0 add al,0xd0 000003A4 8885DC17 mov [di+0x17dc],al 000003A8 47 inc di 000003A9 3B7EFC cmp di,[bp-0x4] 000003AC 7303 jnc 0x3b1 000003AE E978FF jmp 0x329 000003B1 FF76FE push word [bp-0x2] 000003B4 E81D08 call 0xbd4 000003B7 59 pop cx 000003B8 684B14 push word 0x144b 000003BB E8BA08 call 0xc78 000003BE 59 pop cx 000003BF 5F pop di 000003C0 5E pop si 000003C1 C9 leave 000003C2 C3 ret 000003C3 55 push bp 000003C4 8BEC mov bp,sp 000003C6 833EB61103 cmp word [0x11b6],byte +0x3 000003CB 7420 jz 0x3ed 000003CD 0E push cs 000003CE E81A0B call 0xeeb 000003D1 833E981300 cmp word [0x1398],byte +0x0 000003D6 7407 jz 0x3df 000003D8 6A00 push byte +0x0 000003DA 0E push cs 000003DB E8AB0B call 0xf89 000003DE 59 pop cx 000003DF 833E961300 cmp word [0x1396],byte +0x0 000003E4 7407 jz 0x3ed 000003E6 6A00 push byte +0x0 000003E8 0E push cs 000003E9 E8520B call 0xf3e 000003EC 59 pop cx 000003ED 5D pop bp 000003EE C3 ret 000003EF C8040000 enter 0x4,0x0 000003F3 8B4E04 mov cx,[bp+0x4] 000003F6 833EB61103 cmp word [0x11b6],byte +0x3 000003FB 7502 jnz 0x3ff 000003FD EB33 jmp short 0x432 000003FF 668B4606 mov eax,[bp+0x6] 00000403 668946FC mov [bp-0x4],eax 00000407 83F920 cmp cx,byte +0x20 0000040A 7C05 jl 0x411 0000040C B80100 mov ax,0x1 0000040F EB21 jmp short 0x432 00000411 8BD9 mov bx,cx 00000413 C1E302 shl bx,0x2 00000416 8B4608 mov ax,[bp+0x8] 00000419 8B5606 mov dx,[bp+0x6] 0000041C 8987E011 mov [bx+0x11e0],ax 00000420 8997DE11 mov [bx+0x11de],dx 00000424 3B0EDC11 cmp cx,[0x11dc] 00000428 7E04 jng 0x42e 0000042A 890EDC11 mov [0x11dc],cx 0000042E 33C0 xor ax,ax 00000430 EBDD jmp short 0x40f 00000432 C9 leave 00000433 C3 ret 00000434 55 push bp 00000435 8BEC mov bp,sp 00000437 833E981300 cmp word [0x1398],byte +0x0 0000043C 750D jnz 0x44b 0000043E FF7606 push word [bp+0x6] 00000441 FF7604 push word [bp+0x4] 00000444 0E push cs 00000445 E8CE0A call 0xf16 00000448 83C404 add sp,byte +0x4 0000044B 5D pop bp 0000044C C3 ret 0000044D 55 push bp 0000044E 8BEC mov bp,sp 00000450 56 push si 00000451 57 push di 00000452 833E981300 cmp word [0x1398],byte +0x0 00000457 7439 jz 0x492 00000459 BE0200 mov si,0x2 0000045C 0E push cs 0000045D E8380B call 0xf98 00000460 8BF8 mov di,ax 00000462 833E9C1300 cmp word [0x139c],byte +0x0 00000467 7411 jz 0x47a 00000469 3B3E9C13 cmp di,[0x139c] 0000046D 7D0B jnl 0x47a 0000046F BE0100 mov si,0x1 00000472 C7069C130000 mov word [0x139c],0x0 00000478 EB16 jmp short 0x490 0000047A 833E9C1300 cmp word [0x139c],byte +0x0 0000047F 750F jnz 0x490 00000481 81FF0004 cmp di,0x400 00000485 7C09 jl 0x490 00000487 BE0100 mov si,0x1 0000048A C7069C130004 mov word [0x139c],0x400 00000490 EB06 jmp short 0x498 00000492 0E push cs 00000493 E8930A call 0xf29 00000496 8BF0 mov si,ax 00000498 8BC6 mov ax,si 0000049A EB00 jmp short 0x49c 0000049C 5F pop di 0000049D 5E pop si 0000049E 5D pop bp 0000049F C3 ret 000004A0 C8040000 enter 0x4,0x0 000004A4 833ED61100 cmp word [0x11d6],byte +0x0 000004A9 7503 jnz 0x4ae 000004AB E98F00 jmp 0x53d 000004AE 833EB61103 cmp word [0x11b6],byte +0x3 000004B3 7503 jnz 0x4b8 000004B5 E98500 jmp 0x53d 000004B8 833E981300 cmp word [0x1398],byte +0x0 000004BD 754C jnz 0x50b 000004BF C41E9E13 les bx,[0x139e] 000004C3 26833F00 cmp word [es:bx],byte +0x0 000004C7 7402 jz 0x4cb 000004C9 EB72 jmp short 0x53d 000004CB 0E push cs 000004CC E87E0A call 0xf4d 000004CF 8956FE mov [bp-0x2],dx 000004D2 8946FC mov [bp-0x4],ax 000004D5 C45EFC les bx,[bp-0x4] 000004D8 26833F00 cmp word [es:bx],byte +0x0 000004DC 752B jnz 0x509 000004DE 81369A130004 xor word [0x139a],0x400 000004E4 E85800 call 0x53f 000004E7 A1D811 mov ax,[0x11d8] 000004EA 8C1ECC11 mov [0x11cc],ds 000004EE A3CA11 mov [0x11ca],ax 000004F1 A19A13 mov ax,[0x139a] 000004F4 0106CA11 add [0x11ca],ax 000004F8 C706CE110004 mov word [0x11ce],0x400 000004FE 1E push ds 000004FF 68CA11 push word 0x11ca 00000502 0E push cs 00000503 E8100A call 0xf16 00000506 83C404 add sp,byte +0x4 00000509 EB32 jmp short 0x53d 0000050B E83FFF call 0x44d 0000050E 3D0100 cmp ax,0x1 00000511 752A jnz 0x53d 00000513 E82900 call 0x53f 00000516 A1D811 mov ax,[0x11d8] 00000519 8C1ECC11 mov [0x11cc],ds 0000051D A3CA11 mov [0x11ca],ax 00000520 A19A13 mov ax,[0x139a] 00000523 0106CA11 add [0x11ca],ax 00000527 C706CE110004 mov word [0x11ce],0x400 0000052D 1E push ds 0000052E 68CA11 push word 0x11ca 00000531 E800FF call 0x434 00000534 83C404 add sp,byte +0x4 00000537 81369A130004 xor word [0x139a],0x400 0000053D C9 leave 0000053E C3 ret 0000053F C80C0000 enter 0xc,0x0 00000543 56 push si 00000544 57 push di 00000545 A1D811 mov ax,[0x11d8] 00000548 8946FA mov [bp-0x6],ax 0000054B A19A13 mov ax,[0x139a] 0000054E 0146FA add [bp-0x6],ax 00000551 680004 push word 0x400 00000554 6A00 push byte +0x0 00000556 1E push ds 00000557 FF76FA push word [bp-0x6] 0000055A E86708 call 0xdc4 0000055D 83C408 add sp,byte +0x8 00000560 833E961300 cmp word [0x1396],byte +0x0 00000565 7403 jz 0x56a 00000567 E9E000 jmp 0x64a 0000056A 33F6 xor si,si 0000056C E9CF00 jmp 0x63e 0000056F 8BDE mov bx,si 00000571 D1E3 shl bx,1 00000573 8B877018 mov ax,[bx+0x1870] 00000577 8946F8 mov [bp-0x8],ax 0000057A 8BDE mov bx,si 0000057C C1E302 shl bx,0x2 0000057F 8B879218 mov ax,[bx+0x1892] 00000583 8B979018 mov dx,[bx+0x1890] 00000587 8946FE mov [bp-0x2],ax 0000058A 8956FC mov [bp-0x4],dx 0000058D 8BDE mov bx,si 0000058F C1E302 shl bx,0x2 00000592 6683BFB01800 cmp dword [bx+0x18b0],byte +0x0 00000598 7503 jnz 0x59d 0000059A E9A000 jmp 0x63d 0000059D 8BDE mov bx,si 0000059F C1E302 shl bx,0x2 000005A2 6681BFB018000400 cmp dword [bx+0x18b0],0x400 -00 000005AB 7C52 jl 0x5ff 000005AD 8BDE mov bx,si 000005AF C1E302 shl bx,0x2 000005B2 6681AFB018000400 sub dword [bx+0x18b0],0x400 -00 000005BB FF76F8 push word [bp-0x8] 000005BE 680004 push word 0x400 000005C1 FF76FE push word [bp-0x2] 000005C4 FF76FC push word [bp-0x4] 000005C7 1E push ds 000005C8 FF76FA push word [bp-0x6] 000005CB E84B07 call 0xd19 000005CE 83C40C add sp,byte +0xc 000005D1 8BDE mov bx,si 000005D3 C1E302 shl bx,0x2 000005D6 818790180004 add word [bx+0x1890],0x400 000005DC 8BDE mov bx,si 000005DE C1E302 shl bx,0x2 000005E1 6683BFB01800 cmp dword [bx+0x18b0],byte +0x0 000005E7 7514 jnz 0x5fd 000005E9 8BDE mov bx,si 000005EB D1E3 shl bx,1 000005ED C7878018FFFF mov word [bx+0x1880],0xffff 000005F3 8BDE mov bx,si 000005F5 D1E3 shl bx,1 000005F7 C787D218E703 mov word [bx+0x18d2],0x3e7 000005FD EB3E jmp short 0x63d 000005FF FF76F8 push word [bp-0x8] 00000602 8BDE mov bx,si 00000604 C1E302 shl bx,0x2 00000607 FFB7B018 push word [bx+0x18b0] 0000060B FF76FE push word [bp-0x2] 0000060E FF76FC push word [bp-0x4] 00000611 1E push ds 00000612 FF76FA push word [bp-0x6] 00000615 E80107 call 0xd19 00000618 83C40C add sp,byte +0xc 0000061B 8BDE mov bx,si 0000061D C1E302 shl bx,0x2 00000620 66C787B018000000 mov dword [bx+0x18b0],0x0 -00 00000629 8BDE mov bx,si 0000062B D1E3 shl bx,1 0000062D C7878018FFFF mov word [bx+0x1880],0xffff 00000633 8BDE mov bx,si 00000635 D1E3 shl bx,1 00000637 C787D218E703 mov word [bx+0x18d2],0x3e7 0000063D 46 inc si 0000063E 3B36AA13 cmp si,[0x13aa] 00000642 7D03 jnl 0x647 00000644 E928FF jmp 0x56f 00000647 E95A01 jmp 0x7a4 0000064A 33F6 xor si,si 0000064C E94C01 jmp 0x79b 0000064F 8BDE mov bx,si 00000651 D1E3 shl bx,1 00000653 8B876018 mov ax,[bx+0x1860] 00000657 8946F6 mov [bp-0xa],ax 0000065A 8BDE mov bx,si 0000065C D1E3 shl bx,1 0000065E 8B875018 mov ax,[bx+0x1850] 00000662 8946F4 mov [bp-0xc],ax 00000665 8BDE mov bx,si 00000667 D1E3 shl bx,1 00000669 83BF401800 cmp word [bx+0x1840],byte +0x0 0000066E 740B jz 0x67b 00000670 8BDE mov bx,si 00000672 D1E3 shl bx,1 00000674 8B877018 mov ax,[bx+0x1870] 00000678 8946F8 mov [bp-0x8],ax 0000067B 8BDE mov bx,si 0000067D C1E302 shl bx,0x2 00000680 8B879218 mov ax,[bx+0x1892] 00000684 8B979018 mov dx,[bx+0x1890] 00000688 8946FE mov [bp-0x2],ax 0000068B 8956FC mov [bp-0x4],dx 0000068E 8BDE mov bx,si 00000690 C1E302 shl bx,0x2 00000693 6683BFB01800 cmp dword [bx+0x18b0],byte +0x0 00000699 7503 jnz 0x69e 0000069B E9FC00 jmp 0x79a 0000069E 8BDE mov bx,si 000006A0 C1E302 shl bx,0x2 000006A3 6681BFB018000200 cmp dword [bx+0x18b0],0x200 -00 000006AC 7C78 jl 0x726 000006AE 8BDE mov bx,si 000006B0 C1E302 shl bx,0x2 000006B3 6681AFB018000200 sub dword [bx+0x18b0],0x200 -00 000006BC 8BDE mov bx,si 000006BE D1E3 shl bx,1 000006C0 83BF401800 cmp word [bx+0x1840],byte +0x0 000006C5 7418 jz 0x6df 000006C7 FF76F8 push word [bp-0x8] 000006CA 680002 push word 0x200 000006CD FF76FE push word [bp-0x2] 000006D0 FF76FC push word [bp-0x4] 000006D3 1E push ds 000006D4 FF76FA push word [bp-0x6] 000006D7 E8B106 call 0xd8b 000006DA 83C40C add sp,byte +0xc 000006DD EB19 jmp short 0x6f8 000006DF FF76F4 push word [bp-0xc] 000006E2 FF76F6 push word [bp-0xa] 000006E5 680002 push word 0x200 000006E8 FF76FE push word [bp-0x2] 000006EB FF76FC push word [bp-0x4] 000006EE 1E push ds 000006EF FF76FA push word [bp-0x6] 000006F2 E85206 call 0xd47 000006F5 83C40E add sp,byte +0xe 000006F8 8BDE mov bx,si 000006FA C1E302 shl bx,0x2 000006FD 818790180002 add word [bx+0x1890],0x200 00000703 8BDE mov bx,si 00000705 C1E302 shl bx,0x2 00000708 6683BFB01800 cmp dword [bx+0x18b0],byte +0x0 0000070E 7514 jnz 0x724 00000710 8BDE mov bx,si 00000712 D1E3 shl bx,1 00000714 C7878018FFFF mov word [bx+0x1880],0xffff 0000071A 8BDE mov bx,si 0000071C D1E3 shl bx,1 0000071E C787D218E703 mov word [bx+0x18d2],0x3e7 00000724 EB74 jmp short 0x79a 00000726 8BDE mov bx,si 00000728 D1E3 shl bx,1 0000072A 83BF401800 cmp word [bx+0x1840],byte +0x0 0000072F 7423 jz 0x754 00000731 FF76F8 push word [bp-0x8] 00000734 8BDE mov bx,si 00000736 C1E302 shl bx,0x2 00000739 668B87B018 mov eax,[bx+0x18b0] 0000073E 66D1F8 sar eax,1 00000741 50 push ax 00000742 FF76FE push word [bp-0x2] 00000745 FF76FC push word [bp-0x4] 00000748 1E push ds 00000749 FF76FA push word [bp-0x6] 0000074C E83C06 call 0xd8b 0000074F 83C40C add sp,byte +0xc 00000752 EB24 jmp short 0x778 00000754 FF76F4 push word [bp-0xc] 00000757 FF76F6 push word [bp-0xa] 0000075A 8BDE mov bx,si 0000075C C1E302 shl bx,0x2 0000075F 668B87B018 mov eax,[bx+0x18b0] 00000764 66D1F8 sar eax,1 00000767 50 push ax 00000768 FF76FE push word [bp-0x2] 0000076B FF76FC push word [bp-0x4] 0000076E 1E push ds 0000076F FF76FA push word [bp-0x6] 00000772 E8D205 call 0xd47 00000775 83C40E add sp,byte +0xe 00000778 8BDE mov bx,si 0000077A C1E302 shl bx,0x2 0000077D 66C787B018000000 mov dword [bx+0x18b0],0x0 -00 00000786 8BDE mov bx,si 00000788 D1E3 shl bx,1 0000078A C7878018FFFF mov word [bx+0x1880],0xffff 00000790 8BDE mov bx,si 00000792 D1E3 shl bx,1 00000794 C787D218E703 mov word [bx+0x18d2],0x3e7 0000079A 46 inc si 0000079B 3B36AA13 cmp si,[0x13aa] 0000079F 7D03 jnl 0x7a4 000007A1 E9ABFE jmp 0x64f 000007A4 833EC61100 cmp word [0x11c6],byte +0x0 000007A9 7510 jnz 0x7bb 000007AB 680004 push word 0x400 000007AE 688000 push word 0x80 000007B1 1E push ds 000007B2 FF76FA push word [bp-0x6] 000007B5 E84506 call 0xdfd 000007B8 83C408 add sp,byte +0x8 000007BB 5F pop di 000007BC 5E pop si 000007BD C9 leave 000007BE C3 ret 000007BF 55 push bp 000007C0 8BEC mov bp,sp 000007C2 33D2 xor dx,dx 000007C4 EB12 jmp short 0x7d8 000007C6 8BDA mov bx,dx 000007C8 C1E302 shl bx,0x2 000007CB 6683BFB01800 cmp dword [bx+0x18b0],byte +0x0 000007D1 7504 jnz 0x7d7 000007D3 8BC2 mov ax,dx 000007D5 EB26 jmp short 0x7fd 000007D7 42 inc dx 000007D8 3B16AA13 cmp dx,[0x13aa] 000007DC 7CE8 jl 0x7c6 000007DE 33D2 xor dx,dx 000007E0 EB10 jmp short 0x7f2 000007E2 8BDA mov bx,dx 000007E4 D1E3 shl bx,1 000007E6 8B87D218 mov ax,[bx+0x18d2] 000007EA 3B4604 cmp ax,[bp+0x4] 000007ED 7602 jna 0x7f1 000007EF EBE2 jmp short 0x7d3 000007F1 42 inc dx 000007F2 3B16AA13 cmp dx,[0x13aa] 000007F6 7CEA jl 0x7e2 000007F8 B8FFFF mov ax,0xffff 000007FB EBD8 jmp short 0x7d5 000007FD 5D pop bp 000007FE C3 ret 000007FF 55 push bp 00000800 8BEC mov bp,sp 00000802 56 push si 00000803 57 push di 00000804 33FF xor di,di 00000806 BEFFFF mov si,0xffff 00000809 33D2 xor dx,dx 0000080B EB32 jmp short 0x83f 0000080D 8BDA mov bx,dx 0000080F D1E3 shl bx,1 00000811 39BFDE12 cmp [bx+0x12de],di 00000815 7C27 jl 0x83e 00000817 33C9 xor cx,cx 00000819 EB0D jmp short 0x828 0000081B 8BD9 mov bx,cx 0000081D D1E3 shl bx,1 0000081F 39978018 cmp [bx+0x1880],dx 00000823 7502 jnz 0x827 00000825 EB07 jmp short 0x82e 00000827 41 inc cx 00000828 3B0EAA13 cmp cx,[0x13aa] 0000082C 7CED jl 0x81b 0000082E 3B0EAA13 cmp cx,[0x13aa] 00000832 750A jnz 0x83e 00000834 8BDA mov bx,dx 00000836 D1E3 shl bx,1 00000838 8BBFDE12 mov di,[bx+0x12de] 0000083C 8BF2 mov si,dx 0000083E 42 inc dx 0000083F 3B16DC11 cmp dx,[0x11dc] 00000843 7EC8 jng 0x80d 00000845 83FEFF cmp si,byte -0x1 00000848 740A jz 0x854 0000084A 8BDE mov bx,si 0000084C D1E3 shl bx,1 0000084E C787DE120000 mov word [bx+0x12de],0x0 00000854 8BC6 mov ax,si 00000856 EB00 jmp short 0x858 00000858 5F pop di 00000859 5E pop si 0000085A 5D pop bp 0000085B C3 ret 0000085C 55 push bp 0000085D 8BEC mov bp,sp 0000085F 33D2 xor dx,dx 00000861 EB12 jmp short 0x875 00000863 8BDA mov bx,dx 00000865 D1E3 shl bx,1 00000867 8B879E12 mov ax,[bx+0x129e] 0000086B 3B4604 cmp ax,[bp+0x4] 0000086E 7504 jnz 0x874 00000870 8BC2 mov ax,dx 00000872 EB0C jmp short 0x880 00000874 42 inc dx 00000875 3B16DC11 cmp dx,[0x11dc] 00000879 7EE8 jng 0x863 0000087B B8FFFF mov ax,0xffff 0000087E EBF2 jmp short 0x872 00000880 5D pop bp 00000881 C3 ret 00000882 C80A0000 enter 0xa,0x0 00000886 56 push si 00000887 57 push di 00000888 8B7604 mov si,[bp+0x4] 0000088B 8A84DC17 mov al,[si+0x17dc] 0000088F B400 mov ah,0x0 00000891 A3D018 mov [0x18d0],ax 00000894 FF36D018 push word [0x18d0] 00000898 E81C04 call 0xcb7 0000089B 59 pop cx 0000089C FF36D018 push word [0x18d0] 000008A0 E81CFF call 0x7bf 000008A3 59 pop cx 000008A4 A3B814 mov [0x14b8],ax 000008A7 833EB814FF cmp word [0x14b8],byte -0x1 000008AC 7506 jnz 0x8b4 000008AE B8FFFF mov ax,0xffff 000008B1 E99A01 jmp 0xa4e 000008B4 686014 push word 0x1460 000008B7 E8BE03 call 0xc78 000008BA 59 pop cx 000008BB 8B1EB814 mov bx,[0x14b8] 000008BF D1E3 shl bx,1 000008C1 A1D018 mov ax,[0x18d0] 000008C4 8987D218 mov [bx+0x18d2],ax 000008C8 56 push si 000008C9 E890FF call 0x85c 000008CC 59 pop cx 000008CD A3BA14 mov [0x14ba],ax 000008D0 833EBA14FF cmp word [0x14ba],byte -0x1 000008D5 7403 jz 0x8da 000008D7 E96101 jmp 0xa3b 000008DA 687514 push word 0x1475 000008DD E89803 call 0xc78 000008E0 59 pop cx 000008E1 689B14 push word 0x149b 000008E4 689014 push word 0x1490 000008E7 E8C002 call 0xbaa 000008EA 83C404 add sp,byte +0x4 000008ED 8BF8 mov di,ax 000008EF 0BFF or di,di 000008F1 7503 jnz 0x8f6 000008F3 E94201 jmp 0xa38 000008F6 6A00 push byte +0x0 000008F8 8BDE mov bx,si 000008FA C1E302 shl bx,0x2 000008FD 668B874C16 mov eax,[bx+0x164c] 00000902 6683C003 add eax,byte +0x3 00000906 6650 push eax 00000908 57 push di 00000909 E8D702 call 0xbe3 0000090C 83C408 add sp,byte +0x8 0000090F E8EDFE call 0x7ff 00000912 A3BA14 mov [0x14ba],ax 00000915 833EBA14FF cmp word [0x14ba],byte -0x1 0000091A 7507 jnz 0x923 0000091C 57 push di 0000091D E8B402 call 0xbd4 00000920 59 pop cx 00000921 EB8B jmp short 0x8ae 00000923 C746FE0000 mov word [bp-0x2],0x0 00000928 EB21 jmp short 0x94b 0000092A 8B5EFE mov bx,[bp-0x2] 0000092D D1E3 shl bx,1 0000092F 8B878018 mov ax,[bx+0x1880] 00000933 3B06BA14 cmp ax,[0x14ba] 00000937 750F jnz 0x948 00000939 8B5EFE mov bx,[bp-0x2] 0000093C C1E302 shl bx,0x2 0000093F 66C787B018000000 mov dword [bx+0x18b0],0x0 -00 00000948 FF46FE inc word [bp-0x2] 0000094B 8B46FE mov ax,[bp-0x2] 0000094E 3B06AA13 cmp ax,[0x13aa] 00000952 7CD6 jl 0x92a 00000954 689E14 push word 0x149e 00000957 E81E03 call 0xc78 0000095A 59 pop cx 0000095B FF36BA14 push word [0x14ba] 0000095F E85503 call 0xcb7 00000962 59 pop cx 00000963 68B114 push word 0x14b1 00000966 E80F03 call 0xc78 00000969 59 pop cx 0000096A 8B1EBA14 mov bx,[0x14ba] 0000096E D1E3 shl bx,1 00000970 A1D018 mov ax,[0x18d0] 00000973 89875E12 mov [bx+0x125e],ax 00000977 8BDE mov bx,si 00000979 C1E302 shl bx,0x2 0000097C 668B87BC14 mov eax,[bx+0x14bc] 00000981 66A3A613 mov [0x13a6],eax 00000985 66813EA613409C00 cmp dword [0x13a6],0x9c40 -00 0000098E 7E09 jng 0x999 00000990 66C706A613409C00 mov dword [0x13a6],0x9c40 -00 00000999 8B1EBA14 mov bx,[0x14ba] 0000099D C1E302 shl bx,0x2 000009A0 668B87DE11 mov eax,[bx+0x11de] 000009A5 668946F6 mov [bp-0xa],eax 000009A9 66A1A613 mov eax,[0x13a6] 000009AD 668946FA mov [bp-0x6],eax 000009B1 66817EFA204E0000 cmp dword [bp-0x6],0x4e20 000009B9 7631 jna 0x9ec 000009BB 57 push di 000009BC 68204E push word 0x4e20 000009BF FF76F8 push word [bp-0x8] 000009C2 FF76F6 push word [bp-0xa] 000009C5 E83702 call 0xbff 000009C8 83C408 add sp,byte +0x8 000009CB 68204E push word 0x4e20 000009CE FF76F8 push word [bp-0x8] 000009D1 FF76F6 push word [bp-0xa] 000009D4 E84D04 call 0xe24 000009D7 83C406 add sp,byte +0x6 000009DA 668146F6204E0000 add dword [bp-0xa],0x4e20 000009E2 66816EFA204E0000 sub dword [bp-0x6],0x4e20 000009EA EB27 jmp short 0xa13 000009EC 57 push di 000009ED FF76FA push word [bp-0x6] 000009F0 FF76F8 push word [bp-0x8] 000009F3 FF76F6 push word [bp-0xa] 000009F6 E80602 call 0xbff 000009F9 83C408 add sp,byte +0x8 000009FC FF76FA push word [bp-0x6] 000009FF FF76F8 push word [bp-0x8] 00000A02 FF76F6 push word [bp-0xa] 00000A05 E81C04 call 0xe24 00000A08 83C406 add sp,byte +0x6 00000A0B 66C746FA00000000 mov dword [bp-0x6],0x0 00000A13 66837EFA00 cmp dword [bp-0x6],byte +0x0 00000A18 7597 jnz 0x9b1 00000A1A 57 push di 00000A1B E8B601 call 0xbd4 00000A1E 59 pop cx 00000A1F 8B1EBA14 mov bx,[0x14ba] 00000A23 D1E3 shl bx,1 00000A25 A1A613 mov ax,[0x13a6] 00000A28 89871E13 mov [bx+0x131e],ax 00000A2C 8B1EBA14 mov bx,[0x14ba] 00000A30 D1E3 shl bx,1 00000A32 89B79E12 mov [bx+0x129e],si 00000A36 EB03 jmp short 0xa3b 00000A38 E973FE jmp 0x8ae 00000A3B 8B1EB814 mov bx,[0x14b8] 00000A3F D1E3 shl bx,1 00000A41 A1BA14 mov ax,[0x14ba] 00000A44 89878018 mov [bx+0x1880],ax 00000A48 A1BA14 mov ax,[0x14ba] 00000A4B E963FE jmp 0x8b1 00000A4E 5F pop di 00000A4F 5E pop si 00000A50 C9 leave 00000A51 C3 ret 00000A52 55 push bp 00000A53 8BEC mov bp,sp 00000A55 56 push si 00000A56 57 push di 00000A57 8B7608 mov si,[bp+0x8] 00000A5A 833EB61103 cmp word [0x11b6],byte +0x3 00000A5F 7505 jnz 0xa66 00000A61 33C0 xor ax,ax 00000A63 E93F01 jmp 0xba5 00000A66 8B4604 mov ax,[bp+0x4] 00000A69 3B06DA11 cmp ax,[0x11da] 00000A6D 7C02 jl 0xa71 00000A6F EB0C jmp short 0xa7d 00000A71 FF7604 push word [bp+0x4] 00000A74 E80BFE call 0x882 00000A77 59 pop cx 00000A78 3DFFFF cmp ax,0xffff 00000A7B 7505 jnz 0xa82 00000A7D B80100 mov ax,0x1 00000A80 EBE1 jmp short 0xa63 00000A82 33FF xor di,di 00000A84 EB09 jmp short 0xa8f 00000A86 8BDF mov bx,di 00000A88 D1E3 shl bx,1 00000A8A FF87DE12 inc word [bx+0x12de] 00000A8E 47 inc di 00000A8F 3B3EDC11 cmp di,[0x11dc] 00000A93 7EF1 jng 0xa86 00000A95 8B5E06 mov bx,[bp+0x6] 00000A98 C1FB04 sar bx,0x4 00000A9B D1E3 shl bx,1 00000A9D 8B875E13 mov ax,[bx+0x135e] 00000AA1 8B1EB814 mov bx,[0x14b8] 00000AA5 D1E3 shl bx,1 00000AA7 89877018 mov [bx+0x1870],ax 00000AAB 833E961300 cmp word [0x1396],byte +0x0 00000AB0 7503 jnz 0xab5 00000AB2 E99B00 jmp 0xb50 00000AB5 F7C68000 test si,0x80 00000AB9 7411 jz 0xacc 00000ABB 83E67F and si,byte +0x7f 00000ABE 8B1EB814 mov bx,[0x14b8] 00000AC2 D1E3 shl bx,1 00000AC4 C78740180100 mov word [bx+0x1840],0x1 00000ACA EB0C jmp short 0xad8 00000ACC 8B1EB814 mov bx,[0x14b8] 00000AD0 D1E3 shl bx,1 00000AD2 C78740180000 mov word [bx+0x1840],0x0 00000AD8 833EC41100 cmp word [0x11c4],byte +0x0 00000ADD 7407 jz 0xae6 00000ADF B80800 mov ax,0x8 00000AE2 2BC6 sub ax,si 00000AE4 8BF0 mov si,ax 00000AE6 8BDE mov bx,si 00000AE8 D1E3 shl bx,1 00000AEA 8B876E13 mov ax,[bx+0x136e] 00000AEE 8B1EB814 mov bx,[0x14b8] 00000AF2 D1E3 shl bx,1 00000AF4 03877018 add ax,[bx+0x1870] 00000AF8 8B1EB814 mov bx,[0x14b8] 00000AFC D1E3 shl bx,1 00000AFE 89876018 mov [bx+0x1860],ax 00000B02 8BDE mov bx,si 00000B04 D1E3 shl bx,1 00000B06 8B878213 mov ax,[bx+0x1382] 00000B0A 8B1EB814 mov bx,[0x14b8] 00000B0E D1E3 shl bx,1 00000B10 03877018 add ax,[bx+0x1870] 00000B14 8B1EB814 mov bx,[0x14b8] 00000B18 D1E3 shl bx,1 00000B1A 89875018 mov [bx+0x1850],ax 00000B1E 8B1EB814 mov bx,[0x14b8] 00000B22 D1E3 shl bx,1 00000B24 83BF601808 cmp word [bx+0x1860],byte +0x8 00000B29 7E0C jng 0xb37 00000B2B 8B1EB814 mov bx,[0x14b8] 00000B2F D1E3 shl bx,1 00000B31 C78760180800 mov word [bx+0x1860],0x8 00000B37 8B1EB814 mov bx,[0x14b8] 00000B3B D1E3 shl bx,1 00000B3D 83BF501808 cmp word [bx+0x1850],byte +0x8 00000B42 7E0C jng 0xb50 00000B44 8B1EB814 mov bx,[0x14b8] 00000B48 D1E3 shl bx,1 00000B4A C78750180800 mov word [bx+0x1850],0x8 00000B50 8B1EBA14 mov bx,[0x14ba] 00000B54 C1E302 shl bx,0x2 00000B57 8B87E011 mov ax,[bx+0x11e0] 00000B5B 8B97DE11 mov dx,[bx+0x11de] 00000B5F 83C22C add dx,byte +0x2c 00000B62 8B1EB814 mov bx,[0x14b8] 00000B66 C1E302 shl bx,0x2 00000B69 89879218 mov [bx+0x1892],ax 00000B6D 89979018 mov [bx+0x1890],dx 00000B71 8B1EBA14 mov bx,[0x14ba] 00000B75 D1E3 shl bx,1 00000B77 660FB7871E13 movzx eax,word [bx+0x131e] 00000B7D 6683C0D4 add eax,byte -0x2c 00000B81 8B1EB814 mov bx,[0x14b8] 00000B85 C1E302 shl bx,0x2 00000B88 668987B018 mov [bx+0x18b0],eax 00000B8D 833ED61100 cmp word [0x11d6],byte +0x0 00000B92 7511 jnz 0xba5 00000B94 1E push ds 00000B95 68CA11 push word 0x11ca 00000B98 0E push cs 00000B99 E8B402 call 0xe50 00000B9C 83C404 add sp,byte +0x4 00000B9F C706D6110100 mov word [0x11d6],0x1 00000BA5 5F pop di 00000BA6 5E pop si 00000BA7 5D pop bp 00000BA8 C3 ret 00000BA9 00C8 add al,cl 00000BAB 0000 add [bx+si],al 00000BAD 005253 add [bp+si+0x53],dl 00000BB0 56 push si 00000BB1 32C0 xor al,al 00000BB3 8B7606 mov si,[bp+0x6] 00000BB6 8A1C mov bl,[si] 00000BB8 80FB72 cmp bl,0x72 00000BBB 7402 jz 0xbbf 00000BBD FEC0 inc al 00000BBF 8B7604 mov si,[bp+0x4] 00000BC2 8BD6 mov dx,si 00000BC4 B43D mov ah,0x3d 00000BC6 CD21 int 0x21 00000BC8 7205 jc 0xbcf 00000BCA 5E pop si 00000BCB 5B pop bx 00000BCC 5A pop dx 00000BCD C9 leave 00000BCE C3 ret 00000BCF B80000 mov ax,0x0 00000BD2 EBF6 jmp short 0xbca ; Close file ; Input: ; Stack: 00000BD4 C8000000 enter 0x0,0x0 00000BD8 53 push bx 00000BD9 8B5E04 mov bx,[bp+0x4] 00000BDC B43E mov ah,0x3e 00000BDE CD21 int 0x21 00000BE0 5B pop bx 00000BE1 C9 leave 00000BE2 C3 ret 00000BE3 C8000000 enter 0x0,0x0 00000BE7 53 push bx 00000BE8 51 push cx 00000BE9 06 push es 00000BEA 8B460A mov ax,[bp+0xa] 00000BED B442 mov ah,0x42 00000BEF 8B5E04 mov bx,[bp+0x4] 00000BF2 8B5606 mov dx,[bp+0x6] 00000BF5 8B4E08 mov cx,[bp+0x8] 00000BF8 CD21 int 0x21 00000BFA 07 pop es 00000BFB 59 pop cx 00000BFC 5B pop bx 00000BFD C9 leave 00000BFE C3 ret ; Read *thing* from file ; Input: ; Stack: ; Output: ; AX: number of bytes read 00000BFF C8000000 enter 0x0,0x0 00000C03 1E push ds 00000C04 B43F mov ah,0x3f 00000C06 8B5E0A mov bx,[bp+0xa] 00000C09 8B5604 mov dx,[bp+0x4] 00000C0C FF7606 push word [bp+0x6] 00000C0F 1F pop ds 00000C10 6633C9 xor ecx,ecx 00000C13 8B4E08 mov cx,[bp+0x8] 00000C16 CD21 int 0x21 00000C18 7203 jc 0xc1d 00000C1A 1F pop ds 00000C1B C9 leave 00000C1C C3 ret ; Error handling for the read above 00000C1D B80000 mov ax,0x0 00000C20 EBF8 jmp short 0xc1a 00000C22 C8000000 enter 0x0,0x0 00000C26 52 push dx 00000C27 33C0 xor ax,ax 00000C29 8B5604 mov dx,[bp+0x4] 00000C2C EC in al,dx 00000C2D 5A pop dx 00000C2E C9 leave 00000C2F C3 ret 00000C30 C8000000 enter 0x0,0x0 00000C34 52 push dx 00000C35 8B5604 mov dx,[bp+0x4] 00000C38 8B4606 mov ax,[bp+0x6] 00000C3B EE out dx,al 00000C3C 5A pop dx 00000C3D C9 leave 00000C3E C3 ret 00000C3F C8000000 enter 0x0,0x0 00000C43 56 push si 00000C44 57 push di 00000C45 06 push es 00000C46 1E push ds 00000C47 07 pop es 00000C48 AC lodsb 00000C49 3C00 cmp al,0x0 00000C4B 7403 jz 0xc50 00000C4D AA stosb 00000C4E EBF8 jmp short 0xc48 00000C50 07 pop es 00000C51 5F pop di 00000C52 5E pop si 00000C53 C9 leave 00000C54 C3 ret 00000C55 C8000000 enter 0x0,0x0 00000C59 56 push si 00000C5A 57 push di 00000C5B 8B7E04 mov di,[bp+0x4] 00000C5E 8B7606 mov si,[bp+0x6] 00000C61 8A05 mov al,[di] 00000C63 3C00 cmp al,0x0 00000C65 7403 jz 0xc6a 00000C67 47 inc di 00000C68 EBF7 jmp short 0xc61 00000C6A 8A04 mov al,[si] 00000C6C 8805 mov [di],al 00000C6E 46 inc si 00000C6F 47 inc di 00000C70 3C00 cmp al,0x0 00000C72 75F6 jnz 0xc6a 00000C74 5F pop di 00000C75 5E pop si 00000C76 C9 leave 00000C77 C3 ret 00000C78 C8000000 enter 0x0,0x0 00000C7C 6656 push esi 00000C7E 6650 push eax 00000C80 6653 push ebx 00000C82 665B pop ebx 00000C84 6658 pop eax 00000C86 665E pop esi 00000C88 C9 leave 00000C89 C3 ret 00000C8A 8B7604 mov si,[bp+0x4] 00000C8D 8A04 mov al,[si] 00000C8F 3C00 cmp al,0x0 00000C91 740C jz 0xc9f 00000C93 B40E mov ah,0xe 00000C95 BB0700 mov bx,0x7 00000C98 56 push si 00000C99 CD10 int 0x10 00000C9B 5E pop si 00000C9C 46 inc si 00000C9D EBEE jmp short 0xc8d 00000C9F 665B pop ebx 00000CA1 6658 pop eax 00000CA3 665E pop esi 00000CA5 C9 leave 00000CA6 C3 ret 00000CA7 3031 xor [bx+di],dh 00000CA9 3233 xor dh,[bp+di] 00000CAB 3435 xor al,0x35 00000CAD 3637 ss aaa 00000CAF 3839 cmp [bx+di],bh 00000CB1 41 inc cx 00000CB2 42 inc dx 00000CB3 43 inc bx 00000CB4 44 inc sp 00000CB5 45 inc bp 00000CB6 46 inc si 00000CB7 C8000000 enter 0x0,0x0 00000CBB 6650 push eax 00000CBD 6653 push ebx 00000CBF 6651 push ecx 00000CC1 6652 push edx 00000CC3 6656 push esi 00000CC5 665E pop esi 00000CC7 665A pop edx 00000CC9 6659 pop ecx 00000CCB 665B pop ebx 00000CCD 6658 pop eax 00000CCF C9 leave 00000CD0 C3 ret 00000CD1 8B4604 mov ax,[bp+0x4] 00000CD4 68FFFF push word 0xffff 00000CD7 B90400 mov cx,0x4 00000CDA 8BF0 mov si,ax 00000CDC 250F00 and ax,0xf 00000CDF 8BD8 mov bx,ax 00000CE1 2E8A97A70D mov dl,[cs:bx+0xda7] 00000CE6 81E2FF00 and dx,0xff 00000CEA 52 push dx 00000CEB 8BC6 mov ax,si 00000CED C1E804 shr ax,0x4 00000CF0 E2E8 loop 0xcda 00000CF2 58 pop ax 00000CF3 3DFFFF cmp ax,0xffff 00000CF6 7409 jz 0xd01 00000CF8 B40E mov ah,0xe 00000CFA BB0700 mov bx,0x7 00000CFD CD10 int 0x10 00000CFF EBF1 jmp short 0xcf2 00000D01 665E pop esi 00000D03 665A pop edx 00000D05 6659 pop ecx 00000D07 665B pop ebx 00000D09 6658 pop eax 00000D0B C9 leave 00000D0C C3 ret 00000D0D B80008 mov ax,0x800 00000D10 CD21 int 0x21 00000D12 C3 ret 00000D13 B8000B mov ax,0xb00 00000D16 CD21 int 0x21 00000D18 C3 ret 00000D19 C8000000 enter 0x0,0x0 00000D1D 06 push es 00000D1E 1E push ds 00000D1F 56 push si 00000D20 57 push di 00000D21 51 push cx 00000D22 6652 push edx 00000D24 8B4E0E mov cx,[bp+0xe] 00000D27 C57608 lds si,[bp+0x8] 00000D2A C47E04 les di,[bp+0x4] 00000D2D 8B560C mov dx,[bp+0xc] 00000D30 0BD2 or dx,dx 00000D32 740A jz 0xd3e 00000D34 AC lodsb 00000D35 D2F8 sar al,cl 00000D37 260005 add [es:di],al 00000D3A 47 inc di 00000D3B 4A dec dx 00000D3C 75F6 jnz 0xd34 00000D3E 665A pop edx 00000D40 59 pop cx 00000D41 5F pop di 00000D42 5E pop si 00000D43 1F pop ds 00000D44 07 pop es 00000D45 C9 leave 00000D46 C3 ret 00000D47 C8000000 enter 0x0,0x0 00000D4B 06 push es 00000D4C 1E push ds 00000D4D 56 push si 00000D4E 57 push di 00000D4F 51 push cx 00000D50 6652 push edx 00000D52 8B4610 mov ax,[bp+0x10] 00000D55 8B4E0E mov cx,[bp+0xe] 00000D58 8AE8 mov ch,al 00000D5A 6633D2 xor edx,edx 00000D5D C57608 lds si,[bp+0x8] 00000D60 C47E04 les di,[bp+0x4] 00000D63 8B560C mov dx,[bp+0xc] 00000D66 0BD2 or dx,dx 00000D68 7418 jz 0xd82 00000D6A AC lodsb 00000D6B 8AE0 mov ah,al 00000D6D D2F8 sar al,cl 00000D6F 260005 add [es:di],al 00000D72 47 inc di 00000D73 8AC4 mov al,ah 00000D75 86CD xchg cl,ch 00000D77 D2F8 sar al,cl 00000D79 260005 add [es:di],al 00000D7C 47 inc di 00000D7D 86CD xchg cl,ch 00000D7F 4A dec dx 00000D80 75E8 jnz 0xd6a 00000D82 665A pop edx 00000D84 59 pop cx 00000D85 5F pop di 00000D86 5E pop si 00000D87 1F pop ds 00000D88 07 pop es 00000D89 C9 leave 00000D8A C3 ret 00000D8B C8000000 enter 0x0,0x0 00000D8F 06 push es 00000D90 1E push ds 00000D91 56 push si 00000D92 57 push di 00000D93 51 push cx 00000D94 6652 push edx 00000D96 8B560E mov dx,[bp+0xe] 00000D99 6633C9 xor ecx,ecx 00000D9C C57608 lds si,[bp+0x8] 00000D9F C47E04 les di,[bp+0x4] 00000DA2 8B4E0C mov cx,[bp+0xc] 00000DA5 0BC9 or cx,cx 00000DA7 7412 jz 0xdbb 00000DA9 AC lodsb 00000DAA F6EA imul dl 00000DAC C1E807 shr ax,0x7 00000DAF 260005 add [es:di],al 00000DB2 47 inc di 00000DB3 F6D0 not al 00000DB5 260005 add [es:di],al 00000DB8 47 inc di 00000DB9 E2EE loop 0xda9 00000DBB 665A pop edx 00000DBD 59 pop cx 00000DBE 5F pop di 00000DBF 5E pop si 00000DC0 1F pop ds 00000DC1 07 pop es 00000DC2 C9 leave 00000DC3 C3 ret 00000DC4 C8000000 enter 0x0,0x0 00000DC8 06 push es 00000DC9 57 push di 00000DCA 51 push cx 00000DCB 53 push bx 00000DCC 6633C9 xor ecx,ecx 00000DCF C47E04 les di,[bp+0x4] 00000DD2 8B4E0A mov cx,[bp+0xa] 00000DD5 8B4608 mov ax,[bp+0x8] 00000DD8 8BD8 mov bx,ax 00000DDA C1E308 shl bx,0x8 00000DDD 03C3 add ax,bx 00000DDF 66C1E010 shl eax,0x10 00000DE3 03C3 add ax,bx 00000DE5 C1E902 shr cx,0x2 00000DE8 66AB stosd 00000DEA E2FC loop 0xde8 00000DEC 8B4E0A mov cx,[bp+0xa] 00000DEF 83E103 and cx,byte +0x3 00000DF2 7403 jz 0xdf7 00000DF4 AA stosb 00000DF5 E2FD loop 0xdf4 00000DF7 5B pop bx 00000DF8 59 pop cx 00000DF9 5F pop di 00000DFA 07 pop es 00000DFB C9 leave 00000DFC C3 ret 00000DFD C8000000 enter 0x0,0x0 00000E01 06 push es 00000E02 57 push di 00000E03 51 push cx 00000E04 6633C9 xor ecx,ecx 00000E07 C47E04 les di,[bp+0x4] 00000E0A 8B4E0A mov cx,[bp+0xa] 00000E0D C1E902 shr cx,0x2 00000E10 66B880808080 mov eax,0x80808080 00000E16 66263105 xor [es:di],eax 00000E1A 83C704 add di,byte +0x4 00000E1D E2F7 loop 0xe16 00000E1F 59 pop cx 00000E20 5F pop di 00000E21 07 pop es 00000E22 C9 leave 00000E23 C3 ret 00000E24 C8000000 enter 0x0,0x0 00000E28 1E push ds 00000E29 06 push es 00000E2A 6651 push ecx 00000E2C 56 push si 00000E2D 57 push di 00000E2E 6633C9 xor ecx,ecx 00000E31 8B4E08 mov cx,[bp+0x8] 00000E34 C57604 lds si,[bp+0x4] 00000E37 C47E04 les di,[bp+0x4] 00000E3A 6683F900 cmp ecx,byte +0x0 00000E3E 7408 jz 0xe48 00000E40 AC lodsb 00000E41 2C80 sub al,0x80 00000E43 D0F8 sar al,1 00000E45 AA stosb 00000E46 E2F8 loop 0xe40 00000E48 5F pop di 00000E49 5E pop si 00000E4A 6659 pop ecx 00000E4C 07 pop es 00000E4D 1F pop ds 00000E4E C9 leave 00000E4F C3 ret 00000E50 55 push bp 00000E51 8BEC mov bp,sp 00000E53 1E push ds 00000E54 56 push si 00000E55 B88806 mov ax,0x688 00000E58 C57606 lds si,[bp+0x6] 00000E5B CD66 int 0x66 00000E5D B80100 mov ax,0x1 00000E60 5E pop si 00000E61 1F pop ds 00000E62 8BE5 mov sp,bp 00000E64 5D pop bp 00000E65 CB retf 00000E66 B88906 mov ax,0x689 00000E69 CD66 int 0x66 00000E6B CB retf 00000E6C 55 push bp 00000E6D 8BEC mov bp,sp 00000E6F 1E push ds 00000E70 56 push si 00000E71 B88A06 mov ax,0x68a 00000E74 C57606 lds si,[bp+0x6] 00000E77 CD66 int 0x66 00000E79 5E pop si 00000E7A 1F pop ds 00000E7B 8BE5 mov sp,bp 00000E7D 5D pop bp 00000E7E CB retf 00000E7F 55 push bp 00000E80 8BEC mov bp,sp 00000E82 1E push ds 00000E83 56 push si 00000E84 B88B06 mov ax,0x68b 00000E87 C57606 lds si,[bp+0x6] 00000E8A CD66 int 0x66 00000E8C 5E pop si 00000E8D 1F pop ds 00000E8E 8BE5 mov sp,bp 00000E90 5D pop bp 00000E91 CB retf 00000E92 55 push bp 00000E93 8BEC mov bp,sp 00000E95 1E push ds 00000E96 56 push si 00000E97 B89406 mov ax,0x694 00000E9A C57606 lds si,[bp+0x6] 00000E9D CD66 int 0x66 00000E9F 5E pop si 00000EA0 1F pop ds 00000EA1 8BE5 mov sp,bp 00000EA3 5D pop bp 00000EA4 CB retf 00000EA5 B88C06 mov ax,0x68c 00000EA8 CD66 int 0x66 00000EAA CB retf 00000EAB 55 push bp 00000EAC 8BEC mov bp,sp 00000EAE 06 push es 00000EAF 1E push ds 00000EB0 56 push si 00000EB1 57 push di 00000EB2 FC cld 00000EB3 B88C06 mov ax,0x68c 00000EB6 CD66 int 0x66 00000EB8 C47E06 les di,[bp+0x6] 00000EBB 8EDB mov ds,bx 00000EBD 8BF1 mov si,cx 00000EBF B9FFFF mov cx,0xffff 00000EC2 AC lodsb 00000EC3 AA stosb 00000EC4 41 inc cx 00000EC5 0AC0 or al,al 00000EC7 75F9 jnz 0xec2 00000EC9 8BC1 mov ax,cx 00000ECB 5F pop di 00000ECC 5E pop si 00000ECD 1F pop ds 00000ECE 07 pop es 00000ECF 8BE5 mov sp,bp 00000ED1 5D pop bp 00000ED2 CB retf 00000ED3 B88D06 mov ax,0x68d 00000ED6 CD66 int 0x66 00000ED8 CB retf 00000ED9 55 push bp 00000EDA 8BEC mov bp,sp 00000EDC 8B5E06 mov bx,[bp+0x6] 00000EDF 8B5608 mov dx,[bp+0x8] 00000EE2 B88E06 mov ax,0x68e 00000EE5 CD66 int 0x66 00000EE7 8BE5 mov sp,bp 00000EE9 5D pop bp 00000EEA CB retf 00000EEB B88F06 mov ax,0x68f 00000EEE CD66 int 0x66 00000EF0 CB retf 00000EF1 55 push bp 00000EF2 8BEC mov bp,sp 00000EF4 B89006 mov ax,0x690 00000EF7 8B5E06 mov bx,[bp+0x6] 00000EFA 8B4E08 mov cx,[bp+0x8] 00000EFD 8B560A mov dx,[bp+0xa] 00000F00 CD66 int 0x66 00000F02 8BE5 mov sp,bp 00000F04 5D pop bp 00000F05 CB retf 00000F06 B89106 mov ax,0x691 00000F09 CD66 int 0x66 00000F0B CB retf 00000F0C B88906 mov ax,0x689 00000F0F CD66 int 0x66 00000F11 0BC0 or ax,ax 00000F13 75F7 jnz 0xf0c 00000F15 CB retf 00000F16 55 push bp 00000F17 8BEC mov bp,sp 00000F19 1E push ds 00000F1A 56 push si 00000F1B C57606 lds si,[bp+0x6] 00000F1E B89506 mov ax,0x695 00000F21 CD66 int 0x66 00000F23 5E pop si 00000F24 1F pop ds 00000F25 8BE5 mov sp,bp 00000F27 5D pop bp 00000F28 CB retf 00000F29 B89606 mov ax,0x696 00000F2C CD66 int 0x66 00000F2E CB retf 00000F2F 55 push bp 00000F30 8BEC mov bp,sp 00000F32 8B5606 mov dx,[bp+0x6] 00000F35 B89706 mov ax,0x697 00000F38 CD66 int 0x66 00000F3A 8BE5 mov sp,bp 00000F3C 5D pop bp 00000F3D CB retf 00000F3E 55 push bp 00000F3F 8BEC mov bp,sp 00000F41 8B5606 mov dx,[bp+0x6] 00000F44 B89806 mov ax,0x698 00000F47 CD66 int 0x66 00000F49 8BE5 mov sp,bp 00000F4B 5D pop bp 00000F4C CB retf 00000F4D B89906 mov ax,0x699 00000F50 CD66 int 0x66 00000F52 CB retf 00000F53 B89906 mov ax,0x699 00000F56 CD66 int 0x66 00000F58 8BC3 mov ax,bx 00000F5A CB retf 00000F5B 33DB xor bx,bx 00000F5D B88906 mov ax,0x689 00000F60 CD66 int 0x66 00000F62 8BC3 mov ax,bx 00000F64 CB retf 00000F65 B89B06 mov ax,0x69b 00000F68 CD66 int 0x66 00000F6A CB retf 00000F6B 55 push bp 00000F6C 8BEC mov bp,sp 00000F6E B89306 mov ax,0x693 00000F71 8B5606 mov dx,[bp+0x6] 00000F74 CD66 int 0x66 00000F76 8BE5 mov sp,bp 00000F78 5D pop bp 00000F79 CB retf 00000F7A 55 push bp 00000F7B 8BEC mov bp,sp 00000F7D 8B5606 mov dx,[bp+0x6] 00000F80 B89A06 mov ax,0x69a 00000F83 CD66 int 0x66 00000F85 8BE5 mov sp,bp 00000F87 5D pop bp 00000F88 CB retf 00000F89 55 push bp 00000F8A 8BEC mov bp,sp 00000F8C 8B5606 mov dx,[bp+0x6] 00000F8F B89C06 mov ax,0x69c 00000F92 CD66 int 0x66 00000F94 8BE5 mov sp,bp 00000F96 5D pop bp 00000F97 CB retf 00000F98 B89D06 mov ax,0x69d 00000F9B CD66 int 0x66 00000F9D CB retf 00000F9E 55 push bp 00000F9F 8BEC mov bp,sp 00000FA1 06 push es 00000FA2 1E push ds 00000FA3 56 push si 00000FA4 57 push di 00000FA5 FC cld 00000FA6 C47E06 les di,[bp+0x6] 00000FA9 8B460C mov ax,[bp+0xc] 00000FAC 8B4E0A mov cx,[bp+0xa] 00000FAF F3AA rep stosb 00000FB1 5F pop di 00000FB2 5E pop si 00000FB3 1F pop ds 00000FB4 07 pop es 00000FB5 8BE5 mov sp,bp 00000FB7 5D pop bp 00000FB8 CB retf ; Call int 0x66 00000FB9 55 push bp 00000FBA 8BEC mov bp,sp 00000FBC 06 push es 00000FBD C45E06 les bx,[bp+0x6] 00000FC0 8B4E0A mov cx,[bp+0xa] 00000FC3 B89E06 mov ax,0x69e 00000FC6 CD66 int 0x66 00000FC8 07 pop es 00000FC9 8BE5 mov sp,bp 00000FCB 5D pop bp 00000FCC CB retf 00000FCD E80100 call 0xfd1 00000FD0 CB retf 00000FD1 1E push ds 00000FD2 56 push si 00000FD3 BE9801 mov si,0x198 00000FD6 33C0 xor ax,ax 00000FD8 8ED8 mov ds,ax 00000FDA C534 lds si,[si] 00000FDC 0BF6 or si,si 00000FDE 7443 jz 0x1023 00000FE0 90 nop 00000FE1 90 nop 00000FE2 90 nop 00000FE3 83EE06 sub si,byte +0x6 00000FE6 813C4D49 cmp word [si],0x494d 00000FEA 751E jnz 0x100a 00000FEC 90 nop 00000FED 90 nop 00000FEE 90 nop 00000FEF 817C024449 cmp word [si+0x2],0x4944 00000FF4 7514 jnz 0x100a 00000FF6 90 nop 00000FF7 90 nop 00000FF8 90 nop 00000FF9 B80107 mov ax,0x701 00000FFC CD66 int 0x66 00000FFE 0BC0 or ax,ax 00001000 751B jnz 0x101d 00001002 90 nop 00001003 90 nop 00001004 90 nop 00001005 741C jz 0x1023 00001007 90 nop 00001008 90 nop 00001009 90 nop 0000100A 813C4B45 cmp word [si],0x454b 0000100E 7513 jnz 0x1023 00001010 90 nop 00001011 90 nop 00001012 90 nop 00001013 817C02524E cmp word [si+0x2],0x4e52 00001018 7509 jnz 0x1023 0000101A 90 nop 0000101B 90 nop 0000101C 90 nop 0000101D B80100 mov ax,0x1 00001020 5E pop si 00001021 1F pop ds 00001022 C3 ret 00001023 33C0 xor ax,ax 00001025 EBF9 jmp short 0x1020 00001027 0002 add [bp+si],al 00001029 0000 add [bx+si],al 0000102B 0302 add ax,[bp+si] 0000102D 0000 add [bx+si],al 0000102F 55 push bp 00001030 8BEC mov bp,sp 00001032 06 push es 00001033 1E push ds 00001034 56 push si 00001035 57 push di 00001036 FC cld 00001037 8B4606 mov ax,[bp+0x6] 0000103A 8EC0 mov es,ax 0000103C 2D1000 sub ax,0x10 0000103F 26803E030044 cmp byte [es:0x3],0x44 00001045 754A jnz 0x1091 00001047 90 nop 00001048 90 nop 00001049 90 nop 0000104A 26803E040049 cmp byte [es:0x4],0x49 00001050 753F jnz 0x1091 00001052 90 nop 00001053 90 nop 00001054 90 nop 00001055 26803E050047 cmp byte [es:0x5],0x47 0000105B 7534 jnz 0x1091 0000105D 90 nop 0000105E 90 nop 0000105F 90 nop 00001060 26803E060050 cmp byte [es:0x6],0x50 00001066 7529 jnz 0x1091 00001068 90 nop 00001069 90 nop 0000106A 90 nop 0000106B 26803E070041 cmp byte [es:0x7],0x41 00001071 751E jnz 0x1091 00001073 90 nop 00001074 90 nop 00001075 90 nop 00001076 26803E08004B cmp byte [es:0x8],0x4b 0000107C 7513 jnz 0x1091 0000107E 90 nop 0000107F 90 nop 00001080 90 nop 00001081 2EA32911 mov [cs:0x1129],ax 00001085 2EFF1E2711 call far [cs:0x1127] 0000108A 0BC0 or ax,ax 0000108C 7407 jz 0x1095 0000108E 90 nop 0000108F 90 nop 00001090 90 nop 00001091 33C0 xor ax,ax 00001093 EB03 jmp short 0x1098 00001095 B80100 mov ax,0x1 00001098 5F pop di 00001099 5E pop si 0000109A 1F pop ds 0000109B 07 pop es 0000109C 8BE5 mov sp,bp 0000109E 5D pop bp 0000109F CB retf 000010A0 55 push bp 000010A1 8BEC mov bp,sp 000010A3 8B4606 mov ax,[bp+0x6] 000010A6 2D1000 sub ax,0x10 000010A9 2EA32D11 mov [cs:0x112d],ax 000010AD 2EFF1E2B11 call far [cs:0x112b] 000010B2 8BE5 mov sp,bp 000010B4 5D pop bp 000010B5 CB retf 000010B6 0300 add ax,[bx+si] 000010B8 2002 and [bp+si],al 000010BA 07 pop es 000010BB 0001 add [bx+di],al 000010BD 0004 add [si],al 000010BF 0000 add [bx+si],al 000010C1 0004 add [si],al 000010C3 0000 add [bx+si],al 000010C5 0000 add [bx+si],al 000010C7 004A00 add [bp+si+0x0],cl 000010CA 0000 add [bx+si],al 000010CC 0000 add [bx+si],al 000010CE 0000 add [bx+si],al 000010D0 0000 add [bx+si],al 000010D2 0000 add [bx+si],al 000010D4 0000 add [bx+si],al 000010D6 0000 add [bx+si],al 000010D8 E218 loop 0x10f2 000010DA 0000 add [bx+si],al 000010DC 0000 add [bx+si],al 000010DE 0000 add [bx+si],al 000010E0 0000 add [bx+si],al 000010E2 0000 add [bx+si],al 000010E4 0000 add [bx+si],al 000010E6 0000 add [bx+si],al 000010E8 0000 add [bx+si],al 000010EA 0000 add [bx+si],al 000010EC 0000 add [bx+si],al 000010EE 0000 add [bx+si],al 000010F0 0000 add [bx+si],al 000010F2 0000 add [bx+si],al 000010F4 0000 add [bx+si],al 000010F6 0000 add [bx+si],al 000010F8 0000 add [bx+si],al 000010FA 0000 add [bx+si],al 000010FC 0000 add [bx+si],al 000010FE 0000 add [bx+si],al 00001100 0000 add [bx+si],al 00001102 0000 add [bx+si],al 00001104 0000 add [bx+si],al 00001106 0000 add [bx+si],al 00001108 0000 add [bx+si],al 0000110A 0000 add [bx+si],al 0000110C 0000 add [bx+si],al 0000110E 0000 add [bx+si],al 00001110 0000 add [bx+si],al 00001112 0000 add [bx+si],al 00001114 0000 add [bx+si],al 00001116 0000 add [bx+si],al 00001118 0000 add [bx+si],al 0000111A 0000 add [bx+si],al 0000111C 0000 add [bx+si],al 0000111E 0000 add [bx+si],al 00001120 0000 add [bx+si],al 00001122 0000 add [bx+si],al 00001124 0000 add [bx+si],al 00001126 0000 add [bx+si],al 00001128 0000 add [bx+si],al 0000112A 0000 add [bx+si],al 0000112C 0000 add [bx+si],al 0000112E 0000 add [bx+si],al 00001130 0000 add [bx+si],al 00001132 0000 add [bx+si],al 00001134 0000 add [bx+si],al 00001136 0000 add [bx+si],al 00001138 0000 add [bx+si],al 0000113A 0000 add [bx+si],al 0000113C 0000 add [bx+si],al 0000113E 0000 add [bx+si],al 00001140 0000 add [bx+si],al 00001142 0000 add [bx+si],al 00001144 0000 add [bx+si],al 00001146 0000 add [bx+si],al 00001148 0000 add [bx+si],al 0000114A 0000 add [bx+si],al 0000114C 0000 add [bx+si],al 0000114E 0000 add [bx+si],al 00001150 0000 add [bx+si],al 00001152 0000 add [bx+si],al 00001154 0000 add [bx+si],al 00001156 0000 add [bx+si],al 00001158 0000 add [bx+si],al 0000115A 0000 add [bx+si],al 0000115C 0000 add [bx+si],al 0000115E E703 out 0x3,ax 00001160 E703 out 0x3,ax 00001162 E703 out 0x3,ax 00001164 E703 out 0x3,ax 00001166 E703 out 0x3,ax 00001168 E703 out 0x3,ax 0000116A E703 out 0x3,ax 0000116C E703 out 0x3,ax 0000116E E703 out 0x3,ax 00001170 E703 out 0x3,ax 00001172 E703 out 0x3,ax 00001174 E703 out 0x3,ax 00001176 E703 out 0x3,ax 00001178 E703 out 0x3,ax 0000117A E703 out 0x3,ax 0000117C E703 out 0x3,ax 0000117E E703 out 0x3,ax 00001180 E703 out 0x3,ax 00001182 E703 out 0x3,ax 00001184 E703 out 0x3,ax 00001186 E703 out 0x3,ax 00001188 E703 out 0x3,ax 0000118A E703 out 0x3,ax 0000118C E703 out 0x3,ax 0000118E E703 out 0x3,ax 00001190 E703 out 0x3,ax 00001192 E703 out 0x3,ax 00001194 E703 out 0x3,ax 00001196 E703 out 0x3,ax 00001198 E703 out 0x3,ax 0000119A E703 out 0x3,ax 0000119C E703 out 0x3,ax 0000119E FF db 0xFF 0000119F FF db 0xFF 000011A0 FF db 0xFF 000011A1 FF db 0xFF 000011A2 FF db 0xFF 000011A3 FF db 0xFF 000011A4 FF db 0xFF 000011A5 FF db 0xFF 000011A6 FF db 0xFF 000011A7 FF db 0xFF 000011A8 FF db 0xFF 000011A9 FF db 0xFF 000011AA FF db 0xFF 000011AB FF db 0xFF 000011AC FF db 0xFF 000011AD FF db 0xFF 000011AE FF db 0xFF 000011AF FF db 0xFF 000011B0 FF db 0xFF 000011B1 FF db 0xFF 000011B2 FF db 0xFF 000011B3 FF db 0xFF 000011B4 FF db 0xFF 000011B5 FF db 0xFF 0x11b6 file read buffer 000011B6 FF db 0xFF 000011B7 FF db 0xFF 000011B8 FF db 0xFF 000011B9 FF db 0xFF 000011BA FF db 0xFF 000011BB FF db 0xFF 000011BC FF db 0xFF 000011BD FF db 0xFF 000011BE FF db 0xFF 000011BF FF db 0xFF 000011C0 FF db 0xFF 000011C1 FF db 0xFF 000011C2 FF db 0xFF 000011C3 FF db 0xFF 000011C4 FF db 0xFF 000011C5 FF db 0xFF 000011C6 FF db 0xFF 000011C7 FF db 0xFF 000011C8 FF db 0xFF 000011C9 FF db 0xFF 000011CA FF db 0xFF 000011CB FF db 0xFF 000011CC FF db 0xFF 000011CD FF db 0xFF 000011CE FF db 0xFF 000011CF FF db 0xFF 000011D0 FF db 0xFF 000011D1 FF db 0xFF 000011D2 FF db 0xFF 000011D3 FF db 0xFF 000011D4 FF db 0xFF 000011D5 FF db 0xFF 000011D6 FF db 0xFF 000011D7 FF db 0xFF 000011D8 FF db 0xFF 0x11d8 blah 000011D9 FF db 0xFF 000011DA FF db 0xFF 000011DB FF db 0xFF 000011DC FF db 0xFF 000011DD FF00 inc word [bx+si] 000011DF 0000 add [bx+si],al 000011E1 0000 add [bx+si],al 000011E3 0000 add [bx+si],al 000011E5 0000 add [bx+si],al 000011E7 0000 add [bx+si],al 000011E9 0000 add [bx+si],al 000011EB 0000 add [bx+si],al 000011ED 0000 add [bx+si],al 000011EF 0000 add [bx+si],al 000011F1 0000 add [bx+si],al 000011F3 0000 add [bx+si],al 000011F5 0000 add [bx+si],al 000011F7 0000 add [bx+si],al 000011F9 0000 add [bx+si],al 000011FB 0000 add [bx+si],al 000011FD 0000 add [bx+si],al 000011FF 0000 add [bx+si],al 00001201 0000 add [bx+si],al 00001203 0000 add [bx+si],al 00001205 0000 add [bx+si],al 00001207 0000 add [bx+si],al 00001209 0000 add [bx+si],al 0000120B 0000 add [bx+si],al 0000120D 0000 add [bx+si],al 0000120F 0000 add [bx+si],al 00001211 0000 add [bx+si],al 00001213 0000 add [bx+si],al 00001215 0000 add [bx+si],al 00001217 0000 add [bx+si],al 00001219 0000 add [bx+si],al 0000121B 0000 add [bx+si],al 0000121D 0000 add [bx+si],al 0000121F 0000 add [bx+si],al 00001221 0000 add [bx+si],al 00001223 0000 add [bx+si],al 00001225 0000 add [bx+si],al 00001227 0000 add [bx+si],al 00001229 0000 add [bx+si],al 0000122B 0000 add [bx+si],al 0000122D 0000 add [bx+si],al 0000122F 0000 add [bx+si],al 00001231 0000 add [bx+si],al 00001233 0000 add [bx+si],al 00001235 0000 add [bx+si],al 00001237 0000 add [bx+si],al 00001239 0000 add [bx+si],al 0000123B 0000 add [bx+si],al 0000123D 0000 add [bx+si],al 0000123F 0000 add [bx+si],al 00001241 0000 add [bx+si],al 00001243 0000 add [bx+si],al 00001245 0000 add [bx+si],al 00001247 0000 add [bx+si],al 00001249 0000 add [bx+si],al 0000124B 0000 add [bx+si],al 0000124D 0000 add [bx+si],al 0000124F 0000 add [bx+si],al 00001251 0000 add [bx+si],al 00001253 0000 add [bx+si],al 00001255 0000 add [bx+si],al 00001257 0000 add [bx+si],al 00001259 0000 add [bx+si],al 0000125B 0000 add [bx+si],al 0000125D 0007 add [bx],al 0000125F 00060005 add [0x500],al 00001263 0004 add [si],al 00001265 0003 add [bp+di],al 00001267 0002 add [bp+si],al 00001269 0001 add [bx+di],al 0000126B 0000 add [bx+si],al 0000126D 0000 add [bx+si],al 0000126F 0000 add [bx+si],al 00001271 0000 add [bx+si],al 00001273 0000 add [bx+si],al 00001275 0000 add [bx+si],al 00001277 0001 add [bx+di],al 00001279 0002 add [bp+si],al 0000127B 0004 add [si],al 0000127D 0008 add [bx+si],cl 0000127F 0000 add [bx+si],al 00001281 0008 add [bx+si],cl 00001283 0004 add [si],al 00001285 0002 add [bp+si],al 00001287 0001 add [bx+di],al 00001289 0000 add [bx+si],al 0000128B 0000 add [bx+si],al 0000128D 0000 add [bx+si],al 0000128F 0000 add [bx+si],al 00001291 0000 add [bx+si],al 00001293 0000 add [bx+si],al 00001295 0000 add [bx+si],al 00001297 0000 add [bx+si],al 00001299 0000 add [bx+si],al 0000129B 0000 add [bx+si],al 0000129D 0000 add [bx+si],al 0000129F 0000 add [bx+si],al 000012A1 0000 add [bx+si],al 000012A3 0000 add [bx+si],al 000012A5 0000 add [bx+si],al 000012A7 0000 add [bx+si],al 000012A9 0004 add [si],al 000012AB 0000 add [bx+si],al 000012AD 00800000 add [bx+si+0x0],al 000012B1 0000 add [bx+si],al 000012B3 00736F add [bp+di+0x6f],dh 000012B6 756E jnz 0x1326 000012B8 642E636667 arpl [cs:bp+0x67],sp 000012BD 007262 add [bp+si+0x62],dh 000012C0 004275 add [bp+si+0x75],al 000012C3 6666657273 gs o32 jc 0x133b 000012C8 203D and [di],bh 000012CA 2000 and [bx+si],al 000012CC 0A0D or cl,[di] 000012CE 0A0D or cl,[di] 000012D0 004449 add [si+0x49],al 000012D3 47 inc di 000012D4 50 push ax 000012D5 41 inc cx 000012D6 4B dec bx 000012D7 204472 and [si+0x72],al 000012DA 6976657220 imul si,[bp+0x65],word 0x2072 000012DF 6E outsb 000012E0 6F outsw 000012E1 7420 jz 0x1303 000012E3 7072 jo 0x1357 000012E5 657365 gs jnc 0x134d 000012E8 6E outsb 000012E9 742E jz 0x1319 000012EB 0A0D or cl,[di] 000012ED 00444D add [si+0x4d],al 000012F0 41 inc cx 000012F1 206E6F and [bp+0x6f],ch 000012F4 7420 jz 0x1316 000012F6 696E203634 imul bp,[bp+0x20],word 0x3436 000012FB 4B dec bx 000012FC 20626F and [bp+si+0x6f],ah 000012FF 756E jnz 0x136f 00001301 6461 fs popa 00001303 7279 jc 0x137e 00001305 2E0A0D or cl,[cs:di] 00001308 004155 add [bx+di+0x55],al 0000130B 54 push sp 0000130C 4F dec di 0000130D 49 dec cx 0000130E 4E dec si 0000130F 49 dec cx 00001310 54 push sp 00001311 44 inc sp 00001312 4D dec bp 00001313 41 inc cx 00001314 206973 and [bx+di+0x73],ch 00001317 206163 and [bx+di+0x63],ah 0000131A 7469 jz 0x1385 0000131C 7665 jna 0x1383 0000131E 2E0A0D or cl,[cs:di] 00001321 005354 add [bp+di+0x54],dl 00001324 45 inc bp 00001325 52 push dx 00001326 45 inc bp 00001327 4F dec di 00001328 20706C and [bx+si+0x6c],dh 0000132B 61 popa 0000132C 7962 jns 0x1390 0000132E 61 popa 0000132F 636B20 arpl [bp+di+0x20],bp 00001332 656E gs outsb 00001334 61 popa 00001335 626C65 bound bp,[si+0x65] 00001338 642E0A0D or cl,[cs:di] 0000133C 007361 add [bp+di+0x61],dh 0000133F 6D insw 00001340 706C jo 0x13ae 00001342 652E636174 arpl [cs:bx+di+0x74],sp 00001347 007262 add [bp+si+0x62],dh 0000134A 00536F add [bp+di+0x6f],dl 0000134D 756E jnz 0x13bd 0000134F 6420696E and [fs:bx+di+0x6e],ch 00001353 697469616C imul si,[si+0x69],word 0x6c61 00001358 697365642E imul si,[bp+di+0x65],word 0x2e64 0000135D 0A0D or cl,[di] 0000135F 00476F add [bx+0x6f],al 00001362 7420 jz 0x1384 00001364 6C insb 00001365 6F outsw 00001366 7765 ja 0x13cd 00001368 7220 jc 0x138a 0000136A 7072 jo 0x13de 0000136C 696F726974 imul bp,[bx+0x72],word 0x7469 00001371 790A jns 0x137d 00001373 0D004E or ax,0x4e00 00001376 6F outsw 00001377 7420 jz 0x1399 00001379 7265 jc 0x13e0 0000137B 7369 jnc 0x13e6 0000137D 64656E gs outsb 00001380 742E jz 0x13b0 00001382 204D75 and [di+0x75],cl 00001385 7374 jnc 0x13fb 00001387 206C6F and [si+0x6f],ch 0000138A 61 popa 0000138B 642E0A0D or cl,[cs:di] 0000138F 007361 add [bp+di+0x61],dh 00001392 6D insw 00001393 706C jo 0x1401 00001395 652E636174 arpl [cs:bx+di+0x74],sp 0000139A 007262 add [bp+si+0x62],dh 0000139D 00466F add [bp+0x6f],al 0x13aa buffer[12,13] word placeholder 0x14b4 original int 0x66 handler offset 0x14b6 original int 0x66 handler segment 000013A0 756E jnz 0x1410 000013A2 64207361 and [fs:bp+di+0x61],dh 000013A6 6D insw 000013A7 706C jo 0x1415 000013A9 6520736C and [gs:bp+di+0x6c],dh 000013AD 6F outsw 000013AE 7420 jz 0x13d0 000013B0 000A add [bp+si],cl 000013B2 0D db 0x0D 000013B3 00 db 0x00