INT_20 Terminate a program INT_21 DOS Services INT_25 Disk read sector INT_26 Disk write sector INT_27 Terminate and stay resident INT_28 INT_2A E527:0000 push cx E527:0001 add ax,1A52 E527:0004 push dx E527:0005 xor dl,[bp+si+3B] E527:0008 push dx E527:0009 cld E527:000A mov ax,00C3 E527:000D mov ss,ax E527:000F mov sp,0ABF E527:0012 mov ds,ax E527:0014 push bx E527:0015 push es E527:0016 push ax E527:0017 mov ax,3102 E527:001A int 61 E527:001C pop es E527:001D mov bx,0EBF E527:0020 call 4345 E527:0023 mov [002E],bx E527:0027 mov [0030],es E527:002B pop es E527:002C pop bx E527:002D mov word ptr [000C],FFFF E527:0033 mov word ptr [000E],FFFF E527:0039 mov word ptr [001C],0000 E527:003F mov byte ptr [0028],00 E527:0044 call 0408 E527:0047 lds si,[0010] E527:004B push si E527:004C push ds E527:004D les di,[si+04] E527:0050 mov ss:[009E],di E527:0055 mov ss:[00A0],es E527:005A call 04B4 E527:005D jb 0087 E527:005F mov dx,es:[di+04] E527:0063 test dx,8000 E527:0067 je 006E E527:0069 call 04D9 E527:006C jmp 009D E527:006E push ds E527:006F lds bx,ss:[002E] E527:0074 call 0585 E527:0077 call 0526 E527:007A mov ss:[002E],bx E527:007F mov ss:[0030],ds E527:0084 pop ds E527:0085 jmp 009D E527:0087 les di,[si] E527:0089 cmp si,FFFF E527:008D pop ds E527:008E pop si E527:008F je 0096 E527:0091 mov di,FFFF E527:0094 mov es,di E527:0096 mov [si],di E527:0098 mov [si+02],ds E527:009B jmp 009D E527:009D add sp,04 E527:00A0 push si E527:00A1 push ds E527:00A2 lds si,[si] E527:00A4 cmp si,FFFF E527:00A8 jne 004D E527:00AA add sp,04 E527:00AD mov ax,ss E527:00AF mov ds,ax E527:00B1 mov byte ptr [0050],02 E527:00B6 mov byte ptr [0051],02 E527:00BB mov word ptr [001E],FFFF E527:00C1 mov word ptr [0020],FFFF E527:00C7 les bx,[002E] E527:00CB call 4345 E527:00CE xor di,di E527:00D0 mov ax,es E527:00D2 inc ax E527:00D3 mov es,ax E527:00D5 mov bx,[001C] E527:00D9 cmp bx,00 E527:00DC je 0115 E527:00DE mov [001E],di E527:00E2 mov [0020],es E527:00E6 mov cx,0008 E527:00E9 xor ax,ax E527:00EB rep stosw E527:00ED xor di,di E527:00EF mov word ptr es:[di],FFFF E527:00F4 mov word ptr es:[di+02],FFFF E527:00FA mov byte ptr es:[di+04],FF E527:00FF mov ax,es E527:0101 shr bx,1 E527:0103 shr bx,1 E527:0105 shr bx,1 E527:0107 shr bx,1 E527:0109 add ax,bx E527:010B inc ax E527:010C mov es,ax E527:010E xor di,di E527:0110 mov byte ptr [012B],04 E527:0115 mov word ptr ss:[0129],0008 E527:011C mov ss:[0032],di E527:0121 mov ss:[0034],es E527:0126 mov word ptr es:[di+04],0008 E527:012C mov word ptr es:[di],FFFF E527:0131 mov word ptr es:[di+02],FFFF E527:0137 add di,06 E527:013A mov cx,ss:[0129] E527:013F mov ax,0035 E527:0142 mul cx E527:0144 mov cx,ax E527:0146 xor ax,ax E527:0148 rep stosb E527:014A dec ax E527:014B mov [0046],ax E527:014F mov ah,08 E527:0151 int 61 E527:0153 int 12 E527:0155 sub ax,bx E527:0157 mov cl,06 E527:0159 shl ax,cl E527:015B dec ax E527:015C mov [0049],ax E527:015F call 3024 E527:0162 mov word ptr [0119],FFFF E527:0168 mov word ptr [0127],0001 E527:016E mov word ptr [0115],0B02 E527:0174 mov byte ptr [0113],2F E527:0179 mov byte ptr [0114],5C E527:017E mov [007E],cs E527:0182 mov word ptr [0105],0000 E527:0188 mov byte ptr [0112],00 E527:018D mov byte ptr [0111],00 E527:0192 mov byte ptr [01BF],0D E527:0197 mov ax,00C3 E527:019A mov word ptr [00AB],0000 E527:01A0 mov word ptr [00AD],0000 E527:01A6 call 0462 E527:01A9 call 032C E527:01AC call 0370 E527:01AF mov word ptr [004C],0080 E527:01B5 mov [004E],es E527:01B9 mov word ptr [00A6],02F2 E527:01BF mov [00A8],cs E527:01C3 mov al,02 E527:01C5 call 2635 E527:01C8 jb 0228 E527:01CA mov bx,ax E527:01CC call 27FD E527:01CF jb 0228 E527:01D1 call 27FD E527:01D4 jb 0228 E527:01D6 push ax E527:01D7 call 3479 E527:01DA pop bx E527:01DB mov ah,3E E527:01DD int 21 E527:01DF dec bx E527:01E0 mov ah,3E E527:01E2 int 21 E527:01E4 dec bx E527:01E5 mov ah,3E E527:01E7 int 21 E527:01E9 mov word ptr [00A6],02F2 E527:01EF mov [00A8],cs E527:01F3 mov al,02 E527:01F5 call 2635 E527:01F8 jb 0228 E527:01FA mov bx,ax E527:01FC call 27FD E527:01FF jb 0228 E527:0201 call 27FD E527:0204 jb 0228 E527:0206 mov word ptr [00A6],02F6 E527:020C mov [00A8],cs E527:0210 mov al,02 E527:0212 call 2635 E527:0215 jb 0228 E527:0217 mov word ptr [00A6],02FA E527:021D mov [00A8],cs E527:0221 mov al,02 E527:0223 call 2635 E527:0226 jnb 022B E527:0228 jmp 02FE E527:022B mov ax,0051 E527:022E mul byte ptr [0028] E527:0232 mov cl,04 E527:0234 push ax E527:0235 shr ax,cl E527:0237 inc ax E527:0238 mov bx,ax E527:023A call 304E E527:023D jnb 0242 E527:023F jmp 02FE E527:0242 mov es,ax E527:0244 xor di,di E527:0246 pop cx E527:0247 xor ax,ax E527:0249 rep stosb E527:024B mov di,ax E527:024D add al,41 E527:024F xor ch,ch E527:0251 mov cl,[0028] E527:0255 jcxz 0273 E527:0257 mov [0022],di E527:025B mov [0024],es E527:025F mov es:[di],al E527:0262 mov byte ptr es:[di+01],3A E527:0267 mov byte ptr es:[di+02],5C E527:026C inc al E527:026E add di,51 E527:0271 loop 025F E527:0273 mov ax,3103 E527:0276 int 61 E527:0278 cmp word ptr [0119],FFFF E527:027E je 02CA E527:0280 mov ax,ss E527:0282 mov es,ax E527:0284 mov bx,018D E527:0287 mov word ptr es:[bx],0000 E527:028C lds si,ss:[004C] E527:0291 mov es:[bx+02],si E527:0295 mov es:[bx+04],ds E527:0299 mov word ptr es:[bx+06],005C E527:029F mov es:[bx+08],ds E527:02A3 mov word ptr es:[bx+0A],006C E527:02A9 mov es:[bx+0C],ds E527:02AD lds dx,ss:[0119] E527:02B2 mov ax,4B00 E527:02B5 int 21 E527:02B7 and word ptr ss:[0105],7FFF E527:02BE mov ax,cs E527:02C0 mov ds,ax E527:02C2 mov dx,02CD E527:02C5 nop E527:02C6 mov ah,09 E527:02C8 int 21 E527:02CA jmp 4D95 E527:02CD inc dx E527:02CE popa E527:02CF and fs:[bx+72],ch E527:02D3 and [di+69],ch E527:02D6 jnb 034B E527:02D8 imul bp,[bp+67],6320 E527:02DD outsw E527:02DE insw E527:02DF insw E527:02E0 popa E527:02E1 outsb E527:02E2 and fs:[bx+di+6E],ch E527:02E6 je 034D E527:02E8 jb 035A E527:02EA jb 0351 E527:02EC je 0353 E527:02EE jb 02FD E527:02F0 or ah,[si] E527:02F2 inc bx E527:02F3 dec di E527:02F4 dec si E527:02F5 add [bx+di+55],al E527:02F8 pop ax E527:02F9 add [bx+si+52],dl E527:02FC dec si E527:02FD add [bx+si+0087],bh E527:0301 int 10 E527:0303 mov ax,cs E527:0305 mov es,ax E527:0307 mov ah,13 E527:0309 mov al,01 E527:030B mov bl,07 E527:030D mov bh,00 E527:030F mov cx,000F E527:0312 nop E527:0313 xor dx,dx E527:0315 mov bp,031D E527:0318 nop E527:0319 int 10 E527:031B cli E527:031C hlt E527:031D push bx E527:031E jns 0393 E527:0320 je 0387 E527:0322 insw E527:0323 and [bp+61],al E527:0326 imul bp,[si+75],6572 E527:032B push ds E527:032D mov ax,cs E527:032F mov ds,ax E527:0331 mov cx,0023 E527:0334 nop E527:0335 mov ax,cx E527:0337 call 437F E527:033A mov bx,ax E527:033C push ds E527:033D call 304E E527:0340 pop ds E527:0341 mov es,ax E527:0343 xor di,di E527:0345 mov si,034D E527:0348 nop E527:0349 rep movsb E527:034B pop ds E527:034C ret E527:034D push ax E527:034E inc cx E527:034F push sp E527:0350 dec ax E527:0351 cmp ax,4300 E527:0354 dec di E527:0355 dec bp E527:0356 push bx E527:0357 push ax E527:0358 inc bp E527:0359 inc bx E527:035A cmp ax,435C E527:035D dec di E527:035E dec bp E527:035F dec bp E527:0360 inc cx E527:0361 dec si E527:0362 inc sp E527:0363 inc bx E527:0365 dec di E527:0366 dec bp E527:0367 add [bx+si],al E527:0369 add [bx+si],ax E527:036B dec bp E527:036C inc sp E527:036D dec di E527:036E push bx E527:036F add [10BB],bl E527:0373 add al,ch E527:0375 xlatb E527:0376 sub al,8C E527:0378 ret 1E8B E527:037B dec cx E527:037C add [bp+di+007E],ah E527:0380 mov es,ax E527:0382 xor di,di E527:0384 mov ds,di E527:0386 mov cx,0100 E527:0389 xor al,al E527:038B rep stosb E527:038D mov di,0018 E527:0390 dec al E527:0392 mov cx,0014 E527:0395 rep stosb E527:0397 xor di,di E527:0399 mov word ptr es:[di],20CD E527:039E mov es:[di+02],bx E527:03A2 mov byte ptr es:[di+05],9A E527:03A7 mov word ptr es:[di+06],FEF0 E527:03AD mov word ptr es:[di+08],F01D E527:03B3 push di E527:03B4 mov di,000A E527:03B7 mov si,0088 E527:03BA mov cx,0006 E527:03BD rep movsw E527:03BF pop di E527:03C0 mov es:[di+16],es E527:03C4 mov word ptr es:[di+2E],0ABF E527:03CA mov es:[di+30],ss E527:03CE mov word ptr es:[di+2C],0000 E527:03D4 dec dx E527:03D5 mov ds,dx E527:03D7 mov [di+01],es E527:03DA mov ax,es E527:03DC dec ax E527:03DD mov ds,ax E527:03DF mov [di+01],es E527:03E2 mov word ptr es:[di+50],21CD E527:03E8 mov byte ptr es:[di+52],CB E527:03ED mov ax,cs E527:03EF mov ds,ax E527:03F1 mov si,0405 E527:03F4 nop E527:03F5 mov di,0080 E527:03F8 mov cx,0003 E527:03FB nop E527:03FC mov byte ptr es:[di],02 E527:0400 inc di E527:0401 rep movsb E527:0403 pop ds E527:0404 ret E527:0405 das E527:0406 push ax E527:0407 or ax,36C5 E527:040A add bh,al E527:040D inc sp E527:040E add al,F8 E527:0410 xor cx,[si+064C] E527:0414 mov ss:[0010],si E527:0419 mov ss:[0012],ds E527:041E mov ax,si E527:0420 add ax,0008 E527:0423 mov [si],ax E527:0425 mov [si+02],ds E527:0428 mov si,ax E527:042A mov [si+04],bx E527:042D mov [si+06],es E527:0430 les bx,es:[bx] E527:0433 cmp bx,FFFF E527:0437 je 0447 E527:0439 mov ax,si E527:043B add ax,0008 E527:043E mov [si],ax E527:0440 mov [si+02],ds E527:0443 mov si,ax E527:0445 jmp 042A E527:0447 mov word ptr [si],FFFF E527:044B mov word ptr [si+02],FFFF E527:0450 add si,08 E527:0453 mov ss:[002E],si E527:0458 mov ss:[0030],ds E527:045D mov ax,ss E527:045F mov ds,ax E527:0461 ret E527:0462 xor ax,ax E527:0464 mov es,ax E527:0466 mov di,0080 E527:0469 mov ax,32B1 E527:046C stosw E527:046D mov ax,cs E527:046F stosw E527:0470 mov ax,44DA E527:0473 stosw E527:0474 mov ax,cs E527:0476 stosw E527:0477 mov ax,4D95 E527:047A stosw E527:047B mov ax,cs E527:047D stosw E527:047E mov ax,32B6 E527:0481 stosw E527:0482 mov ax,cs E527:0484 stosw E527:0485 mov ax,32BB E527:0488 stosw E527:0489 mov ax,cs E527:048B stosw E527:048C mov ax,05B8 E527:048F stosw E527:0490 mov ax,cs E527:0492 stosw E527:0493 mov ax,05BE E527:0496 stosw E527:0497 mov ax,cs E527:0499 stosw E527:049A mov ax,32CC E527:049D stosw E527:049E mov ax,cs E527:04A0 stosw E527:04A1 mov ax,04B3 E527:04A4 stosw E527:04A5 mov ax,cs E527:04A7 stosw E527:04A8 mov di,00A8 E527:04AB mov ax,04B3 E527:04AE stosw E527:04AF mov ax,cs E527:04B1 stosw E527:04B2 ret INT_28 INT_2A E527:04B3 iret E527:04B4 push bx E527:04B5 push es E527:04B6 mov bx,0088 E527:04B9 mov byte ptr ss:[0088],17 E527:04BF mov byte ptr ss:[008A],00 E527:04C5 mov ss:[009A],di E527:04CA mov ss:[009C],es E527:04CF mov ax,ss E527:04D1 mov es,ax E527:04D3 call 1C58 E527:04D6 pop es E527:04D7 pop bx E527:04D8 ret E527:04D9 push ds E527:04DA mov ax,ss E527:04DC mov ds,ax E527:04DE test dx,0010 E527:04E2 je 04EC E527:04E4 mov [0018],di E527:04E8 mov [001A],es E527:04EC test dx,0008 E527:04F0 je 04FA E527:04F2 mov [0014],di E527:04F6 mov [0016],es E527:04FA test dx,0004 E527:04FE je 0508 E527:0500 mov [002A],di E527:0504 mov [002C],es E527:0508 test dx,0002 E527:050C je 0516 E527:050E mov [0036],di E527:0512 mov [0038],es E527:0516 test dx,0001 E527:051A je 0524 E527:051C mov [003A],di E527:0520 mov [003C],es E527:0524 pop ds E527:0525 ret E527:0526 push di E527:0527 push es E527:0528 xor cl,cl E527:052A les di,ss:[009A] E527:052F mov al,[0028] E527:0533 mov [bx],al E527:0535 mov [bx+01],cl E527:0538 mov ax,[009E] E527:053C mov [bx+12],ax E527:053F mov ax,[00A0] E527:0543 mov [bx+14],ax E527:0546 mov word ptr [bx+18],FFFF E527:054B push di E527:054C mov di,es:[di] E527:054F call 143F E527:0552 pop di E527:0553 mov ax,[bx+02] E527:0556 cmp ax,ss:[001C] E527:055B jb 0561 E527:055D mov [001C],ax E527:0561 inc cl E527:0563 inc byte ptr ss:[0028] E527:0568 inc di E527:0569 inc di E527:056A mov ax,bx E527:056C add ax,001D E527:056F cmp cl,ss:[0095] E527:0574 je 0580 E527:0576 mov [bx+18],ax E527:0579 mov [bx+1A],ds E527:057C mov bx,ax E527:057E jmp 052F E527:0580 mov bx,ax E527:0582 pop es E527:0583 pop di E527:0584 ret E527:0585 push di E527:0586 push es E527:0587 les di,ss:[000C] E527:058C cmp di,FFFF E527:0590 jne 059F E527:0592 mov ss:[000C],bx E527:0597 mov ss:[000E],ds E527:059C jmp 05B5 E527:059E nop E527:059F cmp word ptr es:[di+18],FFFF E527:05A5 je 05AD E527:05A7 les di,es:[di+18] E527:05AB jmp 059F E527:05AD mov es:[di+18],bx E527:05B1 mov es:[di+1A],ds E527:05B5 pop es E527:05B6 pop di E527:05B7 ret INT_25 Disk read sector E527:05B8 push bp E527:05B9 mov bp,0004 E527:05BC jmp 05C4 INT_26 Disk write sector E527:05BE push bp E527:05BF mov bp,0008 E527:05C2 jmp 05C4 E527:05C4 sti E527:05C5 push bx E527:05C6 push cx E527:05C7 push dx E527:05C8 push si E527:05C9 push di E527:05CA push ds E527:05CB push es E527:05CC mov si,ds E527:05CE mov di,00C3 E527:05D1 mov ds,di E527:05D3 mov [00AB],sp E527:05D7 mov [00AD],ss E527:05DB mov ss,di E527:05DD mov sp,08BF E527:05E0 push bx E527:05E1 call 068E E527:05E4 jb 064D E527:05E6 mov byte ptr es:[bx+02],01 E527:05EB call 06C6 E527:05EE jb 0649 E527:05F0 mov bl,es:[bx+0E] E527:05F4 cmp bl,01 E527:05F7 je 0622 E527:05F9 cmp bl,FF E527:05FC je 05FE E527:05FE call 068E E527:0601 jb 064D E527:0603 mov byte ptr es:[bx+02],02 E527:0608 call 06C6 E527:060B jb 0649 E527:060D push ds E527:060E mov di,es:[bx+12] E527:0612 mov es,es:[bx+14] E527:0616 lds bx,[003E] E527:061A push ax E527:061B push dx E527:061C call 143F E527:061F pop dx E527:0620 pop ax E527:0621 pop ds E527:0622 call 065F E527:0625 jb 064D E527:0627 call 068E E527:062A jb 064D E527:062C mov [009A],cx E527:0630 mov [009C],dx E527:0634 pop dx E527:0635 push dx E527:0636 mov [0096],dx E527:063A mov [0098],si E527:063E mov ax,bp E527:0640 mov es:[bx+02],al E527:0644 call 06C6 E527:0647 jnb 064D E527:0649 call 06FE E527:064C stc E527:064D pop bx E527:064E mov ss,[00AD] E527:0652 mov sp,[00AB] E527:0656 pop es E527:0657 pop ds E527:0658 pop di E527:0659 pop si E527:065A pop dx E527:065B pop cx E527:065C pop bx E527:065D pop bp E527:065E retf E527:065F push ax E527:0660 push di E527:0661 push es E527:0662 push dx E527:0663 call 14A7 E527:0666 mov ax,es:[di+0D] E527:066A dec ax E527:066B mov dl,es:[di+04] E527:066F inc dl E527:0671 xor dh,dh E527:0673 mul dx E527:0675 pop dx E527:0676 push dx E527:0677 add ax,es:[di+0B] E527:067B add dx,cx E527:067D cmp dx,ax E527:067F pop dx E527:0680 pop es E527:0681 pop di E527:0682 pop ax E527:0683 jbe 068C E527:0685 mov ah,01 E527:0687 mov al,01 E527:0689 stc E527:068A jmp 068D E527:068C clc E527:068D ret E527:068E push ax E527:068F cld E527:0690 call 14A7 E527:0693 jb 06C0 E527:0695 mov [0051],al E527:0698 mov [003E],di E527:069C mov [0040],es E527:06A0 mov byte ptr [0088],16 E527:06A5 mov al,es:[di+01] E527:06A9 mov [0089],al E527:06AC les di,es:[di+12] E527:06B0 mov [009E],di E527:06B4 mov [00A0],es E527:06B8 push ds E527:06B9 pop es E527:06BA mov bx,0088 E527:06BD pop ax E527:06BE jmp 06C5 E527:06C0 pop ax E527:06C1 mov ah,01 E527:06C3 mov al,01 E527:06C5 ret E527:06C6 push ax E527:06C7 mov word ptr es:[bx+03],0000 E527:06CD push es E527:06CE les di,[009E] E527:06D2 mov ax,es:[di+06] E527:06D6 mov [00FD],ax E527:06D9 mov [00FF],es E527:06DD pop es E527:06DE call dword ptr [00FD] E527:06E2 push es E527:06E3 les di,[009E] E527:06E7 mov ax,es:[di+08] E527:06EB mov [00FD],ax E527:06EE pop es E527:06EF call dword ptr [00FD] E527:06F3 test word ptr es:[bx+03],8000 E527:06F9 je 06FC E527:06FB stc E527:06FC pop ax E527:06FD ret E527:06FE mov ax,es:[bx+03] E527:0702 push ax E527:0703 mov di,cs E527:0705 mov es,di E527:0707 mov di,071C E527:070A nop E527:070B mov cx,000E E527:070E nop E527:070F repne scasb E527:0711 mov di,072A E527:0714 nop E527:0715 add di,cx E527:0717 pop ax E527:0718 mov ah,cs:[di] E527:071B ret E527:071C db 0F E527:071D or al,0B E527:071F or cl,[bx+di] E527:0721 or [bx],al E527:0723 push es E527:0724 add ax,0304 E527:0727 add al,[bx+di] E527:0729 add [bp+di],al E527:072B add [bx+si+1001],ax E527:072F add [bx+si+01],ax E527:0732 add al,01 E527:0734 adc [bx+si],dl E527:0736 and [bx+di],al Int21_Fn03 Aux input E527:0738 mov bx,0003 E527:073B call 2E21 E527:073E jb 0765 E527:0740 mov cx,0001 E527:0743 mov [00A8],ds E527:0747 mov word ptr [00A6],00AA E527:074D call 3D37 E527:0750 cmp ax,cx E527:0752 jb 074D E527:0754 mov al,[00AA] E527:0757 test word ptr es:[di+05],0080 E527:075D je 0768 E527:075F call 0E68 E527:0762 clc E527:0763 jmp 0768 E527:0765 mov ah,04 E527:0767 stc E527:0768 ret Int21_Fn04 Aux output E527:0769 mov bx,0003 E527:076C jmp 0771 Int21_Fn05 Prn output E527:076E mov bx,0004 E527:0771 push dx E527:0772 call 2E21 E527:0775 pop dx E527:0776 jb 07A8 E527:0778 mov cx,0001 E527:077B mov [00A8],ds E527:077F mov word ptr [00A6],00AA E527:0785 mov [00AA],dl E527:0789 test word ptr es:[di+05],0080 E527:078F je 0794 E527:0791 call 0ECD E527:0794 call 3C03 E527:0797 cmp ax,cx E527:0799 jb 0794 E527:079B test word ptr es:[di+05],0080 E527:07A1 je 07AB E527:07A3 call 0E68 E527:07A6 jmp 07AB E527:07A8 mov ah,04 E527:07AA stc E527:07AB ret E527:07AC push ds E527:07AD xor ah,ah E527:07AF push ax E527:07B0 mov dx,[001C] E527:07B4 mov cl,04 E527:07B6 shr dx,cl E527:07B8 inc dl E527:07BA mul dl E527:07BC mov bx,ax E527:07BE push dx E527:07BF call 304E E527:07C2 pop dx E527:07C3 pop bx E527:07C4 jb 0800 E527:07C6 lds si,[001E] E527:07CA cmp word ptr [si],FFFF E527:07CE je 07D4 E527:07D0 lds si,[si] E527:07D2 jmp 07CA E527:07D4 mov es,ax E527:07D6 xor di,di E527:07D8 xor ax,ax E527:07DA mov cx,0008 E527:07DD rep stosw E527:07DF mov [si],ax E527:07E1 mov [si+02],es E527:07E4 mov byte ptr [si+04],FF E527:07E8 mov si,ax E527:07EA mov ax,es E527:07EC mov ds,ax E527:07EE add ax,dx E527:07F0 dec bx E527:07F1 jne 07D4 E527:07F3 mov word ptr [si],FFFF E527:07F7 mov word ptr [si+02],FFFF E527:07FC mov byte ptr [si+04],FF E527:0800 pop ds E527:0801 ret E527:0802 push cx E527:0803 jcxz 082B E527:0805 mov ax,bx E527:0807 add ax,cx E527:0809 jb 0816 E527:080B cmp ax,[si+02] E527:080E ja 0816 E527:0810 call 0858 E527:0813 jmp 082B E527:0815 nop E527:0816 push cx E527:0817 mov cx,[si+02] E527:081A sub cx,bx E527:081C call 0858 E527:081F mov ax,cx E527:0821 pop cx E527:0822 sub cx,ax E527:0824 inc dx E527:0825 je 082B E527:0827 xor bx,bx E527:0829 jmp 0805 E527:082B pop cx E527:082C ret E527:082D push cx E527:082E jcxz 0856 E527:0830 mov ax,bx E527:0832 add ax,cx E527:0834 jb 0841 E527:0836 cmp ax,[si+02] E527:0839 ja 0841 E527:083B call 086E E527:083E jmp 0856 E527:0840 nop E527:0841 push cx E527:0842 mov cx,[si+02] E527:0845 sub cx,bx E527:0847 call 086E E527:084A mov ax,cx E527:084C pop cx E527:084D sub cx,ax E527:084F inc dx E527:0850 je 0856 E527:0852 xor bx,bx E527:0854 jmp 0830 E527:0856 pop cx E527:0857 ret E527:0858 push cx E527:0859 push si E527:085A push ds E527:085B push di E527:085C push es E527:085D call 088B E527:0860 push es E527:0861 pop ds E527:0862 mov si,di E527:0864 add si,bx E527:0866 pop es E527:0867 pop di E527:0868 rep movsb E527:086A pop ds E527:086B pop si E527:086C pop cx E527:086D ret E527:086E push cx E527:086F push si E527:0870 push ds E527:0871 push es E527:0872 push di E527:0873 push es E527:0874 call 088B E527:0877 pop ds E527:0878 pop si E527:0879 add di,bx E527:087B rep movsb E527:087D xor di,di E527:087F or byte ptr es:[di+05],01 E527:0884 mov di,si E527:0886 pop es E527:0887 pop ds E527:0888 pop si E527:0889 pop cx E527:088A ret E527:088B push bx E527:088C push si E527:088D push ds E527:088E mov al,[0051] E527:0892 les di,ss:[001E] E527:0897 cmp es:[di+06],dx E527:089B jne 08B0 E527:089D cmp es:[di+04],al E527:08A1 jne 08B0 E527:08A3 test byte ptr es:[di+05],02 E527:08A8 je 08B0 E527:08AA call 0997 E527:08AD jmp 0919 E527:08AF nop E527:08B0 les di,es:[di] E527:08B3 cmp di,FFFF E527:08B7 jne 0897 E527:08B9 les di,ss:[001E] E527:08BE test byte ptr es:[di+05],01 E527:08C3 je 08D4 E527:08C5 push ax E527:08C6 push dx E527:08C7 mov dx,es:[di+06] E527:08CB mov al,es:[di+04] E527:08CF call 0A21 E527:08D2 pop dx E527:08D3 pop ax E527:08D4 call 09F7 E527:08D7 mov [si],di E527:08D9 mov [si+02],es E527:08DC lds si,es:[di] E527:08DF mov ss:[001E],si E527:08E4 mov ss:[0020],ds E527:08E9 mov word ptr es:[di],FFFF E527:08EE mov word ptr es:[di+02],FFFF E527:08F4 mov byte ptr es:[di+05],00 E527:08F9 mov es:[di+06],dx E527:08FD mov es:[di+04],al E527:0901 push di E527:0902 push es E527:0903 call 14A7 E527:0906 mov si,di E527:0908 mov ax,es E527:090A mov ds,ax E527:090C pop es E527:090D pop di E527:090E mov es:[di+0A],si E527:0912 mov es:[di+0C],ds E527:0916 call 0A0E E527:0919 add di,10 E527:091C pop ds E527:091D pop si E527:091E pop bx E527:091F ret E527:0920 mov al,[0051] E527:0924 les di,ss:[001E] E527:0929 cmp di,FFFF E527:092D je 0948 E527:092F cmp es:[di+04],al E527:0933 jne 0943 E527:0935 cmp byte ptr es:[di+05],03 E527:093A jne 0943 E527:093C mov dx,es:[di+06] E527:0940 call 0A21 E527:0943 les di,es:[di] E527:0946 jmp 0929 E527:0948 ret E527:0949 push es E527:094A mov al,[0051] E527:094E les di,ss:[001E] E527:0953 cmp di,FFFF E527:0957 je 096E E527:0959 cmp es:[di+04],al E527:095D jne 0969 E527:095F mov byte ptr es:[di+04],FF E527:0964 mov byte ptr es:[di+05],00 E527:0969 les di,es:[di] E527:096C jmp 0953 E527:096E pop es E527:096F ret E527:0970 push es E527:0971 les di,ss:[001E] E527:0976 mov al,[0051] E527:097A cmp di,FFFF E527:097E je 0995 E527:0980 cmp es:[di+04],al E527:0984 jne 0990 E527:0986 test byte ptr es:[di+05],01 E527:098B je 0990 E527:098D stc E527:098E jmp 0995 E527:0990 les di,es:[di] E527:0993 jmp 097A E527:0995 pop es E527:0996 ret E527:0997 push ax E527:0998 push dx E527:0999 cmp word ptr es:[di+02],FFFF E527:099F jne 09A8 E527:09A1 cmp word ptr es:[di],FFFF E527:09A6 je 09F4 E527:09A8 lds si,ss:[001E] E527:09AD mov ax,ds E527:09AF mov bx,es E527:09B1 cmp ax,bx E527:09B3 jne 09CA E527:09B5 cmp si,di E527:09B7 jne 09CA E527:09B9 lds si,es:[di] E527:09BC mov ss:[001E],si E527:09C1 mov ss:[0020],ds E527:09C6 jmp 09E1 E527:09C8 lds si,[si] E527:09CA mov ax,es E527:09CC cmp ax,[si+02] E527:09CF jne 09C8 E527:09D1 cmp di,[si] E527:09D3 jne 09C8 E527:09D5 mov ax,es:[di] E527:09D8 mov [si],ax E527:09DA mov ax,es:[di+02] E527:09DE mov [si+02],ax E527:09E1 call 09F7 E527:09E4 mov [si],di E527:09E6 mov [si+02],es E527:09E9 mov word ptr es:[di],FFFF E527:09EE mov word ptr es:[di+02],FFFF E527:09F4 pop dx E527:09F5 pop ax E527:09F6 ret E527:09F7 lds si,ss:[001E] E527:09FC cmp si,FFFF E527:0A00 je 0A0D E527:0A02 cmp word ptr [si+02],FFFF E527:0A07 je 0A0D E527:0A09 lds si,[si] E527:0A0B jmp 0A02 E527:0A0D ret E527:0A0E push es E527:0A0F call 0A44 E527:0A12 mov byte ptr es:[bx+02],04 E527:0A17 call 1C58 E527:0A1A pop es E527:0A1B mov byte ptr es:[di+05],02 E527:0A20 ret E527:0A21 push ax E527:0A22 push es E527:0A23 call 0A44 E527:0A26 mov byte ptr es:[bx+02],08 E527:0A2B test word ptr ss:[0105],0400 E527:0A32 je 0A39 E527:0A34 mov byte ptr es:[bx+02],09 E527:0A39 call 1C58 E527:0A3C pop es E527:0A3D pop ax E527:0A3E and byte ptr es:[di+05],FE E527:0A43 ret E527:0A44 push di E527:0A45 lds si,es:[di+0A] E527:0A49 mov al,[si+01] E527:0A4C mov ah,[si+16] E527:0A4F lds si,[si+12] E527:0A52 mov ss:[009E],si E527:0A57 mov ss:[00A0],ds E527:0A5C add di,10 E527:0A5F mov bx,0088 E527:0A62 mov byte ptr ss:[bx],16 E527:0A66 mov ss:[bx+01],al E527:0A6A mov ss:[bx+0D],ah E527:0A6E mov ss:[bx+0E],di E527:0A72 mov ss:[bx+10],es E527:0A76 mov word ptr ss:[bx+12],0001 E527:0A7C mov ss:[bx+14],dx E527:0A80 mov ax,ss E527:0A82 mov es,ax E527:0A84 pop di E527:0A85 ret Int21_Fn01 Keyboard input E527:0A86 call 0B44 E527:0A89 mov dl,al E527:0A8B push ax E527:0A8C call 0F3F E527:0A8F push dx E527:0A90 call 2E21 E527:0A93 pop dx E527:0A94 jb 0AB9 E527:0A96 mov cx,0001 E527:0A99 mov [00AA],dl E527:0A9D mov word ptr [00A6],00AA E527:0AA3 mov [00A8],ds E527:0AA7 test word ptr es:[di+05],0080 E527:0AAD je 0AB2 E527:0AAF call 0ECD E527:0AB2 call 3C03 E527:0AB5 call 0E68 E527:0AB8 pop ax E527:0AB9 ret Int21_Fn02 Display output E527:0ABA push ax E527:0ABB push bx E527:0ABC push cx E527:0ABD push di E527:0ABE push es E527:0ABF call 0F3F E527:0AC2 push dx E527:0AC3 call 2E21 E527:0AC6 pop dx E527:0AC7 jb 0AEB E527:0AC9 mov cx,0001 E527:0ACC mov [00AA],dl E527:0AD0 mov word ptr [00A6],00AA E527:0AD6 mov [00A8],ds E527:0ADA test word ptr es:[di+05],0080 E527:0AE0 je 0AE5 E527:0AE2 call 0ECD E527:0AE5 call 3C03 E527:0AE8 call 0E68 E527:0AEB pop es E527:0AEC pop di E527:0AED pop cx E527:0AEE pop bx E527:0AEF pop ax E527:0AF0 ret Int21_Fn06 Console I/O E527:0AF1 cmp dl,FF E527:0AF4 jne 0B05 E527:0AF6 call 0E13 E527:0AF9 or al,al E527:0AFB je 0B23 E527:0AFD pushf E527:0AFE call 0B24 E527:0B01 popf E527:0B02 jmp 0B23 E527:0B04 nop E527:0B05 call 0F3F E527:0B08 push dx E527:0B09 call 2E21 E527:0B0C pop dx E527:0B0D jb 0B23 E527:0B0F mov cx,0001 E527:0B12 mov [00AA],dl E527:0B16 mov word ptr [00A6],00AA E527:0B1C mov [00A8],ds E527:0B20 call 3C03 E527:0B23 ret Int21_Fn07 No echo unfilterted console input E527:0B24 mov bx,0000 E527:0B27 call 2E21 E527:0B2A jb 0B43 E527:0B2C mov cx,0001 E527:0B2F mov word ptr [00A6],00AA E527:0B35 mov [00A8],ds E527:0B39 call 3D37 E527:0B3C cmp ax,cx E527:0B3E jb 0B39 E527:0B40 mov al,[00AA] E527:0B43 ret Int21_Fn08 No echo console input E527:0B44 push bx E527:0B45 push ax E527:0B46 push cx E527:0B47 push di E527:0B48 mov bx,0000 E527:0B4B call 2E21 E527:0B4E jb 0B74 E527:0B50 mov cx,0001 E527:0B53 mov word ptr [00A6],00AA E527:0B59 mov [00A8],ds E527:0B5D call 3D37 E527:0B60 cmp ax,cx E527:0B62 jb 0B5D E527:0B64 mov al,[00AA] E527:0B67 test word ptr es:[di+05],0080 E527:0B6D je 0B74 E527:0B6F call 0EA0 E527:0B72 jne 0B5D E527:0B74 pop di E527:0B75 pop cx E527:0B76 pop bx E527:0B77 mov ah,bh E527:0B79 pop bx E527:0B7A ret Int21_Fn09 Display string E527:0B7B push ax E527:0B7C call 0F3F E527:0B7F push dx E527:0B80 call 2E21 E527:0B83 pop dx E527:0B84 jb 0BCE E527:0B86 les di,[00A6] E527:0B8A mov cx,FFFF E527:0B8D mov al,24 E527:0B8F mov si,di E527:0B91 repne scasb E527:0B93 jne 0BCE E527:0B95 inc cx E527:0B96 inc cx E527:0B97 xor dx,dx E527:0B99 sub dx,cx E527:0B9B je 0BCE E527:0B9D lodsb es: E527:0B9F mov cx,0001 E527:0BA2 mov [00AA],al E527:0BA5 mov word ptr [00A6],00AA E527:0BAB mov [00A8],ds E527:0BAF push dx E527:0BB0 push si E527:0BB1 push es E527:0BB2 les di,ss:[00A2] E527:0BB7 test word ptr es:[di+05],0080 E527:0BBD je 0BC2 E527:0BBF call 0ECD E527:0BC2 call 3C03 E527:0BC5 call 0E68 E527:0BC8 pop es E527:0BC9 pop si E527:0BCA pop dx E527:0BCB dec dx E527:0BCC jmp 0B9B E527:0BCE pop ax E527:0BCF ret Int21_Fn0A Bufferde string input E527:0BD0 push ax E527:0BD1 mov al,[0112] E527:0BD4 push ax E527:0BD5 and word ptr [0105],DFFF E527:0BDB les di,[00A6] E527:0BDF mov cl,es:[di] E527:0BE2 xor ch,ch E527:0BE4 dec cx E527:0BE5 jne 0BEA E527:0BE7 jmp 0D49 E527:0BEA mov bx,01BF E527:0BED mov si,bx E527:0BEF mov ax,ds E527:0BF1 mov es,ax E527:0BF3 mov bp,02BF E527:0BF6 mov di,bp E527:0BF8 add cx,bp E527:0BFA call 0D4C E527:0BFD call 0EA0 E527:0C00 cmp al,00 E527:0C02 je 0C67 E527:0C04 cmp al,1B E527:0C06 je 0C23 E527:0C08 cmp al,0D E527:0C0A jne 0C0F E527:0C0C jmp 0D1F E527:0C0F cmp al,08 E527:0C11 je 0C43 E527:0C13 cmp di,cx E527:0C15 jne 0C1E E527:0C17 mov dl,07 E527:0C19 call 0D68 E527:0C1C jmp 0BFA E527:0C1E call 0D98 E527:0C21 jmp 0BFA E527:0C23 mov dl,5C E527:0C25 call 0D68 E527:0C28 mov dl,0D E527:0C2A call 0D68 E527:0C2D mov dl,0A E527:0C2F call 0D68 E527:0C32 pop ax E527:0C33 xor cx,cx E527:0C35 mov cl,al E527:0C37 mov dl,20 E527:0C39 jcxz 0C40 E527:0C3B call 0D68 E527:0C3E loop 0C39 E527:0C40 pop ax E527:0C41 jmp 0BD0 E527:0C43 cmp si,bx E527:0C45 je 0C48 E527:0C47 dec si E527:0C48 cmp di,bp E527:0C4A je 0BFA E527:0C4C dec di E527:0C4D mov al,es:[di] E527:0C50 cmp al,09 E527:0C52 jne 0C59 E527:0C54 call 0DBE E527:0C57 jmp 0BFA E527:0C59 push ax E527:0C5A call 0E03 E527:0C5D pop ax E527:0C5E cmp al,20 E527:0C60 jnb 0CB5 E527:0C62 call 0E03 E527:0C65 jmp 0BFA E527:0C67 call 0D4C E527:0C6A cmp al,4B E527:0C6C je 0C43 E527:0C6E cmp al,3F E527:0C70 je 0CC2 E527:0C72 cmp al,52 E527:0C74 je 0CAF E527:0C76 cmp al,3E E527:0C78 je 0CB8 E527:0C7A cmp al,53 E527:0C7C je 0CA6 E527:0C7E cmp di,cx E527:0C80 jne 0C8A E527:0C82 mov dl,07 E527:0C84 call 0D68 E527:0C87 jmp 0BFA E527:0C8A cmp al,40 E527:0C8C je 0D06 E527:0C8E cmp byte ptr [si],0D E527:0C91 je 0CB5 E527:0C93 cmp al,4D E527:0C95 je 0CDF E527:0C97 cmp al,3B E527:0C99 je 0CDF E527:0C9B cmp al,3C E527:0C9D je 0D0E E527:0C9F cmp al,3D E527:0CA1 je 0CF1 E527:0CA3 jmp 0BFA E527:0CA6 cmp byte ptr [si],0D E527:0CA9 je 0CB5 E527:0CAB inc si E527:0CAC jmp 0BFA E527:0CAF xor word ptr [0105],2000 E527:0CB5 jmp 0BFA E527:0CB8 push cx E527:0CB9 call 0D82 E527:0CBC add si,cx E527:0CBE pop cx E527:0CBF jmp 0BFA E527:0CC2 cmp di,bp E527:0CC4 je 0CB5 E527:0CC6 mov cx,di E527:0CC8 sub cx,bp E527:0CCA mov di,bp E527:0CCC mov si,bx E527:0CCE xchg si,di E527:0CD0 rep movsb E527:0CD2 mov al,0D E527:0CD4 stosb E527:0CD5 xchg di,si E527:0CD7 mov dl,40 E527:0CD9 call 0D68 E527:0CDC jmp 0C28 E527:0CDF mov al,[si] E527:0CE1 call 0D98 E527:0CE4 test word ptr ss:[0105],2000 E527:0CEB je 0CEE E527:0CED inc si E527:0CEE jmp 0BFA E527:0CF1 mov al,[si] E527:0CF3 cmp al,0D E527:0CF5 je 0CB5 E527:0CF7 call 0D98 E527:0CFA test word ptr ss:[0105],2000 E527:0D01 je 0D04 E527:0D03 inc si E527:0D04 jmp 0CF1 E527:0D06 mov al,1A E527:0D08 call 0D98 E527:0D0B jmp 0BFA E527:0D0E push cx E527:0D0F call 0D82 E527:0D12 jcxz 0D1B E527:0D14 mov al,[si] E527:0D16 call 0D98 E527:0D19 loop 0D14 E527:0D1B pop cx E527:0D1C jmp 0BFA E527:0D1F stosb E527:0D20 mov dl,al E527:0D22 call 0D68 E527:0D25 push es E527:0D26 mov ax,es E527:0D28 mov ds,ax E527:0D2A mov cx,di E527:0D2C sub cx,bp E527:0D2E mov si,bp E527:0D30 les di,ss:[00A6] E527:0D35 inc di E527:0D36 mov al,cl E527:0D38 dec al E527:0D3A stosb E527:0D3B push cx E527:0D3C rep movsb E527:0D3E pop cx E527:0D3F mov si,bp E527:0D41 pop es E527:0D42 mov di,bx E527:0D44 rep movsb E527:0D46 mov al,0D E527:0D48 stosb E527:0D49 pop ax E527:0D4A pop ax E527:0D4B ret E527:0D4C push si E527:0D4D push es E527:0D4E push word ptr ss:[00A6] E527:0D53 push word ptr ss:[00A8] E527:0D58 call 0B44 E527:0D5B pop word ptr ss:[00A8] E527:0D60 pop word ptr ss:[00A6] E527:0D65 pop es E527:0D66 pop si E527:0D67 ret E527:0D68 push si E527:0D69 push word ptr ss:[00A6] E527:0D6E push word ptr ss:[00A8] E527:0D73 call 0ABA E527:0D76 pop word ptr ss:[00A8] E527:0D7B pop word ptr ss:[00A6] E527:0D80 pop si E527:0D81 ret E527:0D82 push si E527:0D83 call 0D4C E527:0D86 mov dl,al E527:0D88 xor cx,cx E527:0D8A lodsb E527:0D8B cmp al,0D E527:0D8D je 0D96 E527:0D8F cmp al,dl E527:0D91 je 0D96 E527:0D93 inc cx E527:0D94 jmp 0D8A E527:0D96 pop si E527:0D97 ret E527:0D98 stosb E527:0D99 cmp byte ptr [si],0D E527:0D9C je 0DA7 E527:0D9E test word ptr [0105],2000 E527:0DA4 jne 0DA7 E527:0DA6 inc si E527:0DA7 cmp al,20 E527:0DA9 jnb 0DB8 E527:0DAB cmp al,09 E527:0DAD je 0DB8 E527:0DAF push ax E527:0DB0 mov dl,5E E527:0DB2 call 0D68 E527:0DB5 pop ax E527:0DB6 add al,40 E527:0DB8 mov dl,al E527:0DBA call 0D68 E527:0DBD ret E527:0DBE push cx E527:0DBF push di E527:0DC0 xor cx,cx E527:0DC2 mov dx,di E527:0DC4 cmp di,bp E527:0DC6 je 0DDD E527:0DC8 dec di E527:0DC9 mov al,es:[di] E527:0DCC cmp al,09 E527:0DCE je 0DD7 E527:0DD0 cmp al,20 E527:0DD2 jnb 0DC4 E527:0DD4 inc cx E527:0DD5 jmp 0DC4 E527:0DD7 dec dx E527:0DD8 mov ax,0008 E527:0DDB jmp 0DED E527:0DDD push bp E527:0DDE mov bp,sp E527:0DE0 mov bp,[bp+08] E527:0DE3 mov ax,0008 E527:0DE6 and bp,0007 E527:0DEA sub ax,bp E527:0DEC pop bp E527:0DED sub dx,di E527:0DEF and dx,0007 E527:0DF3 add cx,dx E527:0DF5 sub ax,cx E527:0DF7 mov cx,ax E527:0DF9 mov dl,08 E527:0DFB call 0D68 E527:0DFE loop 0DF9 E527:0E00 pop di E527:0E01 pop cx E527:0E02 ret E527:0E03 mov dl,08 E527:0E05 call 0D68 E527:0E08 mov dl,20 E527:0E0A call 0D68 E527:0E0D mov dl,08 E527:0E0F call 0D68 E527:0E12 ret Int21_Fn0B Check input status E527:0E13 mov bx,0000 E527:0E16 call 2E21 E527:0E19 jb 0E32 E527:0E1B call 3E1B E527:0E1E jne 0E30 E527:0E20 call 0EA0 E527:0E23 je 0E2C E527:0E25 pushf E527:0E26 call 0F2D E527:0E29 popf E527:0E2A jmp 0E30 E527:0E2C mov al,FF E527:0E2E jmp 0E32 E527:0E30 mov al,00 E527:0E32 ret Int21_Fn0C Clear & input E527:0E33 push ax E527:0E34 mov bx,0000 E527:0E37 call 2E21 E527:0E3A jb 0E66 E527:0E3C call 1CF0 E527:0E3F call 0F2D E527:0E42 pop ax E527:0E43 cmp al,01 E527:0E45 jne 0E4A E527:0E47 jmp 0A86 E527:0E4A cmp al,06 E527:0E4C jne 0E51 E527:0E4E jmp 0AF1 E527:0E51 cmp al,07 E527:0E53 jne 0E58 E527:0E55 jmp 0B24 E527:0E58 cmp al,08 E527:0E5A jne 0E5F E527:0E5C jmp 0B44 E527:0E5F cmp al,0A E527:0E61 jne 0E67 E527:0E63 jmp 0BD0 E527:0E66 pop ax E527:0E67 ret E527:0E68 push es E527:0E69 mov ax,ss E527:0E6B mov ds,ax E527:0E6D mov ax,[003A] E527:0E70 mov [009E],ax E527:0E73 mov ax,[003C] E527:0E76 mov [00A0],ax E527:0E79 mov ax,ds E527:0E7B mov es,ax E527:0E7D mov bx,0088 E527:0E80 mov byte ptr [bx],0E E527:0E83 mov byte ptr [bx+02],05 E527:0E87 call 1C58 E527:0E8A test word ptr [bx+03],0200 E527:0E8F jne 0E9E E527:0E91 mov al,[bx+0D] E527:0E94 call 0EA0 E527:0E97 je 0E9E E527:0E99 pushf E527:0E9A call 0F2D E527:0E9D popf E527:0E9E pop es E527:0E9F ret E527:0EA0 push ax E527:0EA1 cmp al,03 E527:0EA3 jne 0EA8 E527:0EA5 jmp 4119 E527:0EA8 test word ptr ss:[0105],4000 E527:0EAF je 0EBC E527:0EB1 pushf E527:0EB2 and word ptr ss:[0105],BFFF E527:0EB9 popf E527:0EBA jmp 0ECB E527:0EBC cmp al,13 E527:0EBE jne 0EC9 E527:0EC0 or word ptr ss:[0105],4000 E527:0EC7 jmp 0ECB E527:0EC9 xor al,al E527:0ECB pop ax E527:0ECC ret E527:0ECD push es E527:0ECE les di,ss:[00A6] E527:0ED3 cmp byte ptr es:[di],0A E527:0ED7 je 0F2B E527:0ED9 cmp byte ptr es:[di],09 E527:0EDD jne 0F04 E527:0EDF mov ax,ds E527:0EE1 mov es,ax E527:0EE3 mov di,0052 E527:0EE6 mov al,[0112] E527:0EEA and al,07 E527:0EEC mov ah,08 E527:0EEE sub ah,al E527:0EF0 mov cl,ah E527:0EF2 push cx E527:0EF3 push di E527:0EF4 mov al,20 E527:0EF6 rep stosb E527:0EF8 pop di E527:0EF9 pop cx E527:0EFA mov ss:[00A6],di E527:0EFF mov ss:[00A8],es E527:0F04 cmp byte ptr es:[di],08 E527:0F08 jne 0F1A E527:0F0A cmp byte ptr ss:[0112],00 E527:0F10 je 0F1A E527:0F12 dec byte ptr ss:[0112] E527:0F17 jmp 0F2B E527:0F19 nop E527:0F1A add ss:[0112],cl E527:0F1F cmp byte ptr es:[di],0D E527:0F23 jne 0F2B E527:0F25 mov byte ptr ss:[0112],00 E527:0F2B pop es E527:0F2C ret E527:0F2D mov ax,ds E527:0F2F mov es,ax E527:0F31 mov bx,0088 E527:0F34 mov byte ptr [bx],0E E527:0F37 mov byte ptr [bx+02],07 E527:0F3B call 1C58 E527:0F3E ret E527:0F3F mov bx,0001 E527:0F42 test word ptr ss:[0105],8000 E527:0F49 je 0F4E E527:0F4B mov bx,0002 E527:0F4E ret Int21_Fn38 Get/set country-dependent info E527:0F4F cmp al,FF E527:0F51 je 0F57 E527:0F53 xor bh,bh E527:0F55 mov bl,al E527:0F57 cmp dx,FFFF E527:0F5B jne 0F71 E527:0F5D push bx E527:0F5E call 0F84 E527:0F61 pop bx E527:0F62 jne 0F6B E527:0F64 mov [0127],bx E527:0F68 clc E527:0F69 jmp 0F83 E527:0F6B mov ax,0002 E527:0F6E stc E527:0F6F jmp 0F83 E527:0F71 cmp bx,00 E527:0F74 jne 0F7A E527:0F76 mov bx,[0127] E527:0F7A call 0F84 E527:0F7D jne 0F6B E527:0F7F call 1428 E527:0F82 clc E527:0F83 ret E527:0F84 mov ax,cs E527:0F86 mov es,ax E527:0F88 mov di,0FD7 E527:0F8B nop E527:0F8C mov cx,000E E527:0F8F nop E527:0F90 mov ax,bx E527:0F92 repne scasw E527:0F94 mov bx,cx E527:0F96 ret E527:0F97 cmp al,80 E527:0F99 jb 0FAE E527:0F9B cmp al,A7 E527:0F9D ja 0FAE E527:0F9F sub al,80 E527:0FA1 push bx E527:0FA2 push ds E527:0FA3 mov bx,cs E527:0FA5 mov ds,bx E527:0FA7 mov bx,0FAF E527:0FAA nop E527:0FAB xlatb E527:0FAC pop ds E527:0FAD pop bx E527:0FAE retf E527:0FAF sbb byte ptr [bp+si+4145],8E E527:0FB4 inc cx E527:0FB5 pop word ptr [bx+si+4545] E527:0FB9 inc bp E527:0FBA dec cx E527:0FBB dec cx E527:0FBC dec cx E527:0FBD mov cs,[bx+9290] E527:0FC1 xchg ax,dx E527:0FC2 dec di E527:0FC3 cwd E527:0FC4 dec di E527:0FC5 push bp E527:0FC6 push bp E527:0FC7 pop cx E527:0FC8 cwd E527:0FC9 call 9E9D:9C9B E527:0FCE lahf E527:0FCF inc cx E527:0FD0 dec cx E527:0FD1 dec di E527:0FD2 push bp E527:0FD3 movsw E527:0FD4 movsw E527:0FD5 cmpsb E527:0FD6 cmpsw E527:0FD7 cmp ax,2000 E527:0FDA add [di],ch E527:0FDC add [bp+01],ah E527:0FDF and [bx+si],ax E527:0FE1 xor [bx+si],ax E527:0FE3 daa E527:0FE4 add [bx],bl E527:0FE6 add [bx],ch E527:0FE8 add [bp+si],ah E527:0FEA add [2900],ch E527:0FEE add [si],ch E527:0FF0 add [bx+di],al E527:0FF2 add al,ch Int21_Fn2A Get date E527:0FF3 call 11A6 E527:0FF6 mov ax,es:[di] E527:0FF9 push ax E527:0FFA mov cx,05B5 E527:0FFD xor dx,dx E527:0FFF shl ax,1 E527:1001 rcl dx,1 E527:1003 shl ax,1 E527:1005 rcl dx,1 E527:1007 div cx E527:1009 shr dx,1 E527:100B shr dx,1 E527:100D mov bl,al E527:100F xor bh,bh E527:1011 add bx,07BC E527:1015 inc dx E527:1016 mov ax,dx E527:1018 test bl,03 E527:101B jne 1029 E527:101D cmp dx,3C E527:1020 jb 1029 E527:1022 ja 1027 E527:1024 dec ax E527:1025 jmp 1029 E527:1027 dec ax E527:1028 dec dx E527:1029 push cs E527:102A pop es E527:102B mov di,1200 E527:102E nop E527:102F mov cx,000C E527:1032 nop E527:1033 scasw E527:1034 ja 1038 E527:1036 loop 1033 E527:1038 dec di E527:1039 dec di E527:103A sub dx,es:[di] E527:103D mov ax,dx E527:103F pop dx E527:1040 push ax E527:1041 push cx E527:1042 mov ax,dx E527:1044 xor dx,dx E527:1046 mov cx,0007 E527:1049 div cx E527:104B add dx,02 E527:104E cmp dx,07 E527:1051 jb 1056 E527:1053 sub dx,07 E527:1056 pop cx E527:1057 pop ax E527:1058 lds si,ss:[00AB] E527:105D mov [si+04],bx E527:1060 mov bh,cl E527:1062 mov bl,al E527:1064 mov [si+06],bx E527:1067 mov al,dl E527:1069 ret Int21_Fn2B Set date E527:106A cmp cx,07BC E527:106E jb 10EA E527:1070 cmp cx,0833 E527:1074 ja 10EA E527:1076 cmp dh,0C E527:1079 ja 10EA E527:107B cmp dh,00 E527:107E je 10EA E527:1080 cmp dl,00 E527:1083 je 10EA E527:1085 mov bl,dh E527:1087 xor bh,bh E527:1089 dec bl E527:108B push cs E527:108C pop es E527:108D mov si,1218 E527:1090 nop E527:1091 mov al,cs:[bx+si] E527:1094 test cx,0003 E527:1098 jne 10A1 E527:109A cmp dh,02 E527:109D jne 10A1 E527:109F inc al E527:10A1 cmp dl,al E527:10A3 ja 10EA E527:10A5 push dx E527:10A6 sub cx,07BC E527:10AA mov ax,05B5 E527:10AD mul cx E527:10AF rcr dx,1 E527:10B1 rcr ax,1 E527:10B3 rcr dx,1 E527:10B5 rcr ax,1 E527:10B7 pop dx E527:10B8 test cx,0003 E527:10BC jne 10C3 E527:10BE cmp dh,02 E527:10C1 jbe 10C5 E527:10C3 inc dl E527:10C5 mov bl,dh E527:10C7 sub bl,0C E527:10CA nop E527:10CB neg bl E527:10CD xor bh,bh E527:10CF shl bl,1 E527:10D1 mov si,1200 E527:10D4 nop E527:10D5 add ax,es:[bx+si] E527:10D8 xor dh,dh E527:10DA add ax,dx E527:10DC dec ax E527:10DD call 11A6 E527:10E0 mov es:[di],ax E527:10E3 call 11C2 E527:10E6 xor al,al E527:10E8 jmp 10EC E527:10EA mov al,FF E527:10EC ret Int21_Fn2C Get time E527:10ED call 11A6 E527:10F0 mov ch,es:[di+03] E527:10F4 mov cl,es:[di+02] E527:10F8 mov dh,es:[di+05] E527:10FC mov dl,es:[di+04] E527:1100 lds si,[00AB] E527:1104 mov [si+04],cx E527:1107 mov [si+06],dx E527:110A ret Int21_Fn2D Set time E527:110B cmp ch,17 E527:110E ja 1134 E527:1110 cmp cl,3B E527:1113 ja 1134 E527:1115 cmp dh,3B E527:1118 ja 1134 E527:111A call 11A6 E527:111D mov es:[di+03],ch E527:1121 mov es:[di+02],cl E527:1125 mov es:[di+05],dh E527:1129 mov es:[di+04],dl E527:112D call 11C2 E527:1130 xor al,al E527:1132 jmp 1136 E527:1134 mov al,FF E527:1136 ret E527:1137 push bx E527:1138 push cx E527:1139 push dx E527:113A push di E527:113B push es E527:113C lds si,ss:[00AB] E527:1141 push word ptr [si+04] E527:1144 push word ptr [si+06] E527:1147 call 0FF3 E527:114A mov cx,[si+04] E527:114D mov dx,[si+06] E527:1150 pop word ptr [si+06] E527:1153 pop word ptr [si+04] E527:1156 xor ax,ax E527:1158 xor bh,bh E527:115A sub cx,07BC E527:115E or ax,cx E527:1160 mov cl,04 E527:1162 shl ax,cl E527:1164 mov bl,dh E527:1166 or ax,bx E527:1168 mov cl,05 E527:116A shl ax,cl E527:116C mov bl,dl E527:116E or ax,bx E527:1170 pop es E527:1171 pop di E527:1172 pop dx E527:1173 pop cx E527:1174 pop bx E527:1175 ret E527:1176 push bx E527:1177 push cx E527:1178 push dx E527:1179 push di E527:117A push es E527:117B call 11A6 E527:117E xor ax,ax E527:1180 xor bh,bh E527:1182 mov bl,es:[di+03] E527:1186 or ax,bx E527:1188 mov cl,06 E527:118A shl ax,cl E527:118C mov bl,es:[di+02] E527:1190 or ax,bx E527:1192 mov cl,05 E527:1194 shl ax,cl E527:1196 mov dl,es:[di+05] E527:119A xor dh,dh E527:119C shr dx,1 E527:119E or ax,dx E527:11A0 pop es E527:11A1 pop di E527:11A2 pop dx E527:11A3 pop cx E527:11A4 pop bx E527:11A5 ret E527:11A6 push ax E527:11A7 call 11DC E527:11AA mov byte ptr es:[bx+02],04 E527:11AF mov word ptr es:[bx+0E],0052 E527:11B5 mov es:[bx+10],ss E527:11B9 call 1C58 E527:11BC les di,es:[bx+0E] E527:11C0 pop ax E527:11C1 ret E527:11C2 push dx E527:11C3 mov dx,es E527:11C5 call 11DC E527:11C8 mov byte ptr es:[bx+02],08 E527:11CD mov es:[bx+0E],di E527:11D1 mov es:[bx+10],dx E527:11D5 call 1C58 E527:11D8 mov es,dx E527:11DA pop dx E527:11DB ret E527:11DC push ax E527:11DD mov ax,[0014] E527:11E1 mov [009E],ax E527:11E5 mov ax,[0016] E527:11E9 mov [00A0],ax E527:11ED mov ax,ss E527:11EF mov es,ax E527:11F1 mov bx,0088 E527:11F4 mov byte ptr es:[bx],14 E527:11F8 mov word ptr es:[bx+12],0006 E527:11FE pop ax E527:11FF ret E527:1200 dec si E527:1201 add [bx+si],si E527:1203 add [bx+di],dx E527:1205 add bx,si E527:1207 add ah,dl E527:1209 add [di+9700],dh E527:120D add [bx+si+00],bh E527:1210 pop dx E527:1211 add [bp+di],bh E527:1213 add [bx],bl E527:1215 add [bx+si],al E527:1217 add [bx],bl E527:1219 sbb al,1F E527:121B push ds E527:121C pop ds E527:121D push ds E527:121E pop ds E527:121F pop ds E527:1220 push ds E527:1221 pop ds E527:1222 push ds E527:1223 pop ds E527:1224 mov al,[012B] E527:1228 dec al E527:122A je 122F E527:122C call 07AC E527:122F ret E527:1230 add [bx+si],al E527:1232 and al,00 E527:1234 add [bx+si],al E527:1236 add [si],ch E527:1238 add [2D00],ch E527:123C add [bp+si],bh E527:123E add [bx+si],al E527:1240 add al,[bx+si] E527:1242 xchg ax,di E527:1243 db 0F E527:1244 daa E527:1245 in ax,2C E527:1247 add [bx+si],al E527:1249 add [bx+si],al E527:124B add [bx+si],al E527:124D add [bx+si],al E527:124F add [bx+si],al E527:1251 add [bx+di],al E527:1253 add [si],bl E527:1255 add [bx+si],al E527:1257 add [bx+si],al E527:1259 sub al,00 E527:125B add cs:[di],ch E527:125E add [bp+si],bh E527:1260 add [bx+si],al E527:1262 add al,[bx+di] E527:1264 xchg ax,di E527:1265 db 0F E527:1266 daa E527:1267 in ax,2C E527:1269 add [bx+si],al E527:126B add [bx+si],al E527:126D add [bx+si],al E527:126F add [bx+si],al E527:1271 add [bx+si],al E527:1273 add [bx+di],al E527:1275 add [bp+72],al E527:1278 add [bx+si],al E527:127A add [si],ch E527:127C add [2E00],ch E527:1280 add [0200],ch E527:1284 add al,[bx+di] E527:1286 xchg ax,di E527:1287 db 0F E527:1288 daa E527:1289 in ax,2C E527:128B add [bx+si],al E527:128D add [bx+si],al E527:128F add [bx+si],al E527:1291 add [bx+si],al E527:1293 add [bx+si],al E527:1295 add [bp+si],al E527:1297 add [bp+di+45],dl E527:129A dec bx E527:129B add [bx+si],al E527:129D add cs:[si],ch E527:12A0 add [di],ch E527:12A2 add [0200],ch E527:12A6 add al,[bx+di] E527:12A8 xchg ax,di E527:12A9 db 0F E527:12AA daa E527:12AB in ax,3B E527:12AD add [bx+si],al E527:12AF add [bx+si],al E527:12B1 add [bx+si],al E527:12B3 add [bx+si],al E527:12B5 add [bx+si],al E527:12B7 add [bx+di],al E527:12B9 add [bx+si+74],dl E527:12BC add [bx+si],al E527:12BE add [2C00],ch E527:12C2 add [bx],ch E527:12C4 add [bp+si],bh E527:12C6 add [bp+di],al E527:12C8 add al,[bx+di] E527:12CA xchg ax,di E527:12CB db 0F E527:12CC daa E527:12CD in ax,3B E527:12CF add [bx+si],al E527:12D1 add [bx+si],al E527:12D3 add [bx+si],al E527:12D5 add [bx+si],al E527:12D7 add [bx+si],al E527:12D9 add [bx+di],al E527:12DB add [bp+di+72],cl E527:12DE add [bx+si],al E527:12E0 add [2C00],ch E527:12E4 add [bx],ch E527:12E6 add [0200],ch E527:12EA add al,[bx+di] E527:12EC xchg ax,di E527:12ED db 0F E527:12EE daa E527:12EF in ax,3B E527:12F1 add [bx+si],al E527:12F3 add [bx+si],al E527:12F5 add [bx+si],al E527:12F7 add [bx+si],al E527:12F9 add [bx+si],al E527:12FB add [bx+di],al E527:12FD add [bx],bl E527:12FF add [bx+si],al E527:1301 add [bx+si],al E527:1303 add cs:[si],ch E527:1306 add [di],ch E527:1308 add [bp+si],bh E527:130A add [bx+si],al E527:130C add al,[bx+di] E527:130E xchg ax,di E527:130F db 0F E527:1310 daa E527:1311 in ax,3B E527:1313 add [bx+si],al E527:1315 add [bx+si],al E527:1317 add [bx+si],al E527:1319 add [bx+si],al E527:131B add [bx+si],al E527:131D add [bx+di],al E527:131F add [si+69],cl E527:1322 je 1352 E527:1324 add [2C00],ch E527:1328 add [bx],ch E527:132A add [bp+si],bh E527:132C add [bx+di],al E527:132E add [bx+di],al E527:1330 xchg ax,di E527:1331 db 0F E527:1332 daa E527:1333 in ax,3B E527:1335 add [bx+si],al E527:1337 add [bx+si],al E527:1339 add [bx+si],al E527:133B add [bx+si],al E527:133D add [bx+si],al E527:133F add [bx+di],al E527:1341 add [si+4D],al E527:1344 add [bx+si],al E527:1346 add [2C00],ch E527:134A add [2E00],ch E527:134E add [bx+si],al E527:1350 add al,[bx+di] E527:1352 xchg ax,di E527:1353 db 0F E527:1354 daa E527:1355 in ax,3B E527:1357 add [bx+si],al E527:1359 add [bx+si],al E527:135B add [bx+si],al E527:135D add [bx+si],al E527:135F add [bx+si],al E527:1361 add [bx+di],al E527:1363 add [bp+00],al E527:1366 add [bx+si],al E527:1368 add [bx+si],ah E527:136A add [si],ch E527:136C add [bx],ch E527:136E add [bp+si],bh E527:1370 add [bp+di],al E527:1372 add al,[bx+di] E527:1374 xchg ax,di E527:1375 db 0F E527:1376 daa E527:1377 in ax,3B E527:1379 add [bx+si],al E527:137B add [bx+si],al E527:137D add [bx+si],al E527:137F add [bx+si],al E527:1381 add [bx+si],al E527:1383 add [bx+di],al E527:1385 add [di+6B],ch E527:1388 add [bx+si],al E527:138A add [bx+si],ah E527:138C add [si],ch E527:138E add [di],ch E527:1390 add [bp+si],bh E527:1392 add [bp+di],al E527:1394 add al,[bx+di] E527:1396 xchg ax,di E527:1397 db 0F E527:1398 daa E527:1399 in ax,3B E527:139B add [bx+si],al E527:139D add [bx+si],al E527:139F add [bx+si],al E527:13A1 add [bx+si],al E527:13A3 add [bx+si],al E527:13A5 add [bx+di],al E527:13A7 add [si+4B],al E527:13AA jb 13AC E527:13AC add [2C00],ch E527:13B0 add [bx],ch E527:13B2 add [0300],ch E527:13B6 add al,[bx+di] E527:13B8 xchg ax,di E527:13B9 db 0F E527:13BA daa E527:13BB in ax,3B E527:13BD add [bx+si],al E527:13BF add [bx+si],al E527:13C1 add [bx+si],al E527:13C3 add [bx+si],al E527:13C5 add [bx+si],al E527:13C7 add [bx+di],al E527:13C9 add [bp+00],al E527:13CC add [bx+si],al E527:13CE add [bx+si],ah E527:13D0 add [si],ch E527:13D2 add [bx],ch E527:13D4 add [bp+si],bh E527:13D6 add [bp+di],al E527:13D8 add al,[bx+di] E527:13DA xchg ax,di E527:13DB db 0F E527:13DC daa E527:13DD in ax,3B E527:13DF add [bx+si],al E527:13E1 add [bx+si],al E527:13E3 add [bx+si],al E527:13E5 add [bx+si],al E527:13E7 add [bx+si],al E527:13E9 add [bx+di],al E527:13EB add [si],ah E527:13ED add [bx+si],al E527:13EF add [bx+si],al E527:13F1 sub al,00 E527:13F3 add cs:[di],ch E527:13F6 add [bp+si],bh E527:13F8 add [bx+si],al E527:13FA add al,[bx+di] E527:13FC xchg ax,di E527:13FD db 0F E527:13FE daa E527:13FF in ax,2C E527:1401 add [bx+si],al E527:1403 add [bx+si],al E527:1405 add [bx+si],al E527:1407 add [bx+si],al E527:1409 add [bx+si],al E527:140B add [bx+si],dh E527:140D adc dl,[bp+si+12] E527:1410 je 1424 E527:1412 xchg ax,si E527:1413 adc bh,[bx+si+DA12] E527:1417 adc bh,ah E527:1419 adc bl,[4013] E527:141D adc sp,[bp+si+13] E527:1420 test [bp+di],dl E527:1422 cmpsb E527:1423 adc cx,ax E527:1425 adc bp,dx E527:1427 adc dx,cx E527:1429 jcxz 13AC E527:142B ret E527:142C or al,14 E527:142E mov si,cs:[bx] E527:1431 les di,[00A6] E527:1435 mov cx,cs E527:1437 mov ds,cx E527:1439 mov cx,0022 E527:143C rep movsb E527:143E ret E527:143F push cx E527:1440 mov ax,es:[di] E527:1443 mov [bx+02],ax E527:1446 mov al,es:[di+02] E527:144A dec al E527:144C mov [bx+04],al E527:144F mov ax,es:[di+03] E527:1453 mov [bx+06],ax E527:1456 mov al,es:[di+05] E527:145A mov [bx+08],al E527:145D mov dx,es:[di+0B] E527:1461 mov [bx+0F],dl E527:1464 mul dx E527:1466 add ax,es:[di+03] E527:146A mov [bx+10],ax E527:146D mov ax,es:[di+06] E527:1471 mov [bx+09],ax E527:1474 mov dx,0020 E527:1477 mul dx E527:1479 div word ptr es:[di] E527:147C or dx,dx E527:147E je 1481 E527:1480 inc ax E527:1481 add ax,[bx+10] E527:1484 mov [bx+0B],ax E527:1487 mov ax,es:[di+08] E527:148B sub ax,[bx+0B] E527:148E xor ch,ch E527:1490 xor dx,dx E527:1492 mov cl,es:[di+02] E527:1496 div cx E527:1498 add ax,0001 E527:149B mov [bx+0D],ax E527:149E mov al,es:[di+0A] E527:14A2 mov [bx+16],al E527:14A5 pop cx E527:14A6 ret E527:14A7 cmp al,ss:[0028] E527:14AC jnb 14C4 E527:14AE les di,ss:[000C] E527:14B3 cmp di,FFFF E527:14B7 je 14C4 E527:14B9 cmp al,es:[di] E527:14BC je 14CA E527:14BE les di,es:[di+18] E527:14C2 jmp 14B3 E527:14C4 mov ax,000F E527:14C7 stc E527:14C8 jmp 14CA E527:14CA ret E527:14CB push cx E527:14CC push di E527:14CD push es E527:14CE push cx E527:14CF push dx E527:14D0 call 155C E527:14D3 jb 14E3 E527:14D5 push bx E527:14D6 mov bx,di E527:14D8 call 4345 E527:14DB mov di,bx E527:14DD pop bx E527:14DE call 0802 E527:14E1 mov ax,cx E527:14E3 pop dx E527:14E4 pop cx E527:14E5 jb 150A E527:14E7 xor bx,bx E527:14E9 sub cx,ax E527:14EB je 14FF E527:14ED call 15BE E527:14F0 jb 150A E527:14F2 inc word ptr ss:[010D] E527:14F7 mov dx,ax E527:14F9 cmp dx,0FF8 E527:14FD jb 14CE E527:14FF mov ss:[010B],dx E527:1504 pop es E527:1505 pop di E527:1506 pop ax E527:1507 sub ax,cx E527:1509 ret E527:150A pop es E527:150B pop di E527:150C pop cx E527:150D ret E527:150E push cx E527:150F push di E527:1510 push es E527:1511 mov ax,dx E527:1513 mov dx,ax E527:1515 push cx E527:1516 push dx E527:1517 call 155C E527:151A jb 152A E527:151C push bx E527:151D mov bx,di E527:151F call 4345 E527:1522 mov di,bx E527:1524 pop bx E527:1525 call 082D E527:1528 mov ax,cx E527:152A pop dx E527:152B pop cx E527:152C jb 1558 E527:152E xor bx,bx E527:1530 sub cx,ax E527:1532 je 154D E527:1534 call 15BE E527:1537 jb 1558 E527:1539 cmp ax,0FF8 E527:153C jb 1513 E527:153E call 166B E527:1541 jb 154D E527:1543 call 1605 E527:1546 inc word ptr ss:[010D] E527:154B jmp 1513 E527:154D mov ss:[010B],dx E527:1552 pop es E527:1553 pop di E527:1554 pop ax E527:1555 sub ax,cx E527:1557 ret E527:1558 pop es E527:1559 pop di E527:155A pop cx E527:155B ret E527:155C cmp dx,00 E527:155F jne 1568 E527:1561 add dx,[si+10] E527:1564 push dx E527:1565 jmp 1598 E527:1567 nop E527:1568 cmp dx,[si+0D] E527:156B jbe 1571 E527:156D stc E527:156E jmp 15A4 E527:1570 nop E527:1571 sub dx,02 E527:1574 xor ah,ah E527:1576 mov al,[si+04] E527:1579 inc ax E527:157A mul dx E527:157C mov dx,ax E527:157E add dx,[si+0B] E527:1581 push dx E527:1582 mov al,[si+04] E527:1585 inc al E527:1587 xor ah,ah E527:1589 mul word ptr [si+02] E527:158C mov dx,bx E527:158E add dx,cx E527:1590 cmp dx,ax E527:1592 jbe 1598 E527:1594 mov cx,ax E527:1596 sub cx,bx E527:1598 xor dx,dx E527:159A mov ax,bx E527:159C div word ptr [si+02] E527:159F mov bx,dx E527:15A1 pop dx E527:15A2 add dx,ax E527:15A4 ret E527:15A5 lds si,ss:[003E] E527:15AA mov dx,0001 E527:15AD xor bx,bx E527:15AF inc dx E527:15B0 call 15BE E527:15B3 jb 15BD E527:15B5 cmp ax,0000 E527:15B8 jne 15AF E527:15BA inc bx E527:15BB jmp 15AF E527:15BD ret E527:15BE push bx E527:15BF push cx E527:15C0 push dx E527:15C1 push di E527:15C2 push es E527:15C3 cmp dx,[si+0D] E527:15C6 ja 15FE E527:15C8 mov ax,0003 E527:15CB mul dx E527:15CD shr dx,1 E527:15CF rcr ax,1 E527:15D1 pushf E527:15D2 xor dx,dx E527:15D4 div word ptr [si+02] E527:15D7 mov bx,dx E527:15D9 mov dx,ax E527:15DB add dx,[si+06] E527:15DE mov cx,0002 E527:15E1 mov ax,ss E527:15E3 mov es,ax E527:15E5 mov di,0107 E527:15E8 call 0802 E527:15EB mov ax,[0107] E527:15EF popf E527:15F0 jnb 15FA E527:15F2 shr ax,1 E527:15F4 shr ax,1 E527:15F6 shr ax,1 E527:15F8 shr ax,1 E527:15FA and ax,0FFF E527:15FD stc E527:15FE cmc E527:15FF pop es E527:1600 pop di E527:1601 pop dx E527:1602 pop cx E527:1603 pop bx E527:1604 ret E527:1605 push ax E527:1606 push bx E527:1607 push cx E527:1608 push dx E527:1609 push di E527:160A push es E527:160B cmp dx,[si+0D] E527:160E ja 1663 E527:1610 push ax E527:1611 mov ax,0003 E527:1614 mul dx E527:1616 shr dx,1 E527:1618 rcr ax,1 E527:161A pushf E527:161B xor dx,dx E527:161D div word ptr [si+02] E527:1620 mov bx,dx E527:1622 mov dx,ax E527:1624 add dx,[si+06] E527:1627 mov cx,0002 E527:162A mov ax,ss E527:162C mov es,ax E527:162E mov di,0107 E527:1631 push bx E527:1632 push dx E527:1633 call 0802 E527:1636 pop dx E527:1637 pop bx E527:1638 popf E527:1639 pop ax E527:163A push dx E527:163B mov dx,ss:[0107] E527:1640 jnb 1652 E527:1642 shl ax,1 E527:1644 shl ax,1 E527:1646 shl ax,1 E527:1648 shl ax,1 E527:164A and dx,000F E527:164E or ax,dx E527:1650 jmp 1658 E527:1652 and dx,F000 E527:1656 or ax,dx E527:1658 mov di,0107 E527:165B mov es:[di],ax E527:165E pop dx E527:165F call 082D E527:1662 cmc E527:1663 cmc E527:1664 pop es E527:1665 pop di E527:1666 pop dx E527:1667 pop cx E527:1668 pop bx E527:1669 pop ax E527:166A ret E527:166B push bx E527:166C push dx E527:166D cmp dx,00 E527:1670 je 1677 E527:1672 cmp dx,[si+0D] E527:1675 jbe 167A E527:1677 mov dx,0002 E527:167A mov bx,dx E527:167C call 15BE E527:167F cmp ax,0000 E527:1682 je 1694 E527:1684 inc dx E527:1685 cmp dx,[si+0D] E527:1688 jbe 168D E527:168A mov dx,0002 E527:168D cmp dx,bx E527:168F jne 167C E527:1691 stc E527:1692 jmp 169D E527:1694 push dx E527:1695 mov ax,0FFF E527:1698 call 1605 E527:169B pop ax E527:169C clc E527:169D pop dx E527:169E pop bx E527:169F ret E527:16A0 push dx E527:16A1 lds si,ss:[003E] E527:16A6 call 15BE E527:16A9 jb 16BD E527:16AB or ax,ax E527:16AD je 16BD E527:16AF push ax E527:16B0 mov ax,0000 E527:16B3 call 1605 E527:16B6 pop dx E527:16B7 cmp dx,0FF8 E527:16BB jb 16A6 E527:16BD pop dx E527:16BE ret E527:16BF push si E527:16C0 push di E527:16C1 push ds E527:16C2 push es E527:16C3 mov word ptr ss:[0109],0000 E527:16CA call 1722 E527:16CD call 1D82 E527:16D0 jnb 171A E527:16D2 add si,03 E527:16D5 xor dx,dx E527:16D7 cmp byte ptr [si],00 E527:16DA je 171D E527:16DC call 2B32 E527:16DF jnb 16F0 E527:16E1 xor dx,dx E527:16E3 call 1722 E527:16E6 mov byte ptr [si+03],00 E527:16EA mov [si+43],dx E527:16ED jmp 171D E527:16EF nop E527:16F0 push cx E527:16F1 push si E527:16F2 push ds E527:16F3 mov ax,ss E527:16F5 mov ds,ax E527:16F7 mov si,0052 E527:16FA mov cx,0010 E527:16FD xor bx,bx E527:16FF call 2AA3 E527:1702 pop ds E527:1703 pop si E527:1704 pop cx E527:1705 jb 16E1 E527:1707 test byte ptr es:[di+0B],10 E527:170C je 16E1 E527:170E mov dx,es:[di+1A] E527:1712 call 1722 E527:1715 mov [si+43],dx E527:1718 jmp 171D E527:171A mov dx,[si+43] E527:171D pop es E527:171E pop ds E527:171F pop di E527:1720 pop si E527:1721 ret E527:1722 xor ax,ax E527:1724 test word ptr ss:[0105],0080 E527:172B jne 1734 E527:172D mov al,51 E527:172F mul byte ptr ss:[0051] E527:1734 lds si,ss:[0022] E527:1739 add si,ax E527:173B ret E527:173C cmp al,00 E527:173E jne 1747 E527:1740 mov al,[0050] E527:1744 jmp 1749 E527:1746 nop E527:1747 dec al E527:1749 cmp al,ss:[0028] E527:174E jnb 1766 E527:1750 mov [0051],al E527:1754 push ax E527:1755 call 14A7 E527:1758 mov ss:[003E],di E527:175D mov ss:[0040],es E527:1762 pop ax E527:1763 clc E527:1764 jmp 176A E527:1766 stc E527:1767 mov ax,000F E527:176A ret E527:176B push dx E527:176C xor dx,dx E527:176E mov ax,[si+02] E527:1771 mov cx,0020 E527:1774 div cx E527:1776 pop dx E527:1777 cmp dx,00 E527:177A je 17B4 E527:177C push ax E527:177D push dx E527:177E mov cl,[si+04] E527:1781 inc cl E527:1783 mul cl E527:1785 xchg ax,bx E527:1786 xor dx,dx E527:1788 div bx E527:178A mov cx,ax E527:178C mov bx,dx E527:178E pop dx E527:178F jcxz 179F E527:1791 call 15BE E527:1794 jb 17C5 E527:1796 cmp ax,0000 E527:1799 je 17C5 E527:179B mov dx,ax E527:179D loop 1791 E527:179F sub dx,02 E527:17A2 mov al,[si+04] E527:17A5 inc al E527:17A7 xor ah,ah E527:17A9 mul dx E527:17AB mov dx,ax E527:17AD add dx,[si+0B] E527:17B0 sub dx,[si+10] E527:17B3 pop ax E527:17B4 push dx E527:17B5 xor dx,dx E527:17B7 xchg ax,bx E527:17B8 div bx E527:17BA mov bx,dx E527:17BC pop dx E527:17BD add dx,ax E527:17BF add dx,[si+10] E527:17C2 clc E527:17C3 jmp 17C7 E527:17C5 pop ax E527:17C6 stc E527:17C7 ret E527:17C8 push di E527:17C9 push es E527:17CA call 1CB1 E527:17CD pop es E527:17CE pop di E527:17CF je 1841 E527:17D1 call 1843 E527:17D4 jb 1841 E527:17D6 mov ax,ss E527:17D8 mov ds,ax E527:17DA mov es,ax E527:17DC mov si,0052 E527:17DF mov di,016D E527:17E2 push cx E527:17E3 push di E527:17E4 mov cx,0020 E527:17E7 xor al,al E527:17E9 rep stosb E527:17EB pop di E527:17EC mov cx,000B E527:17EF lodsb E527:17F0 cmp al,3F E527:17F2 je 17F7 E527:17F4 stosb E527:17F5 loop 17EF E527:17F7 pop cx E527:17F8 je 1841 E527:17FA mov di,016D E527:17FD mov es:[di+0B],cl E527:1801 call 1176 E527:1804 mov es:[di+16],ax E527:1808 call 1137 E527:180B mov es:[di+18],ax E527:180F xor ax,ax E527:1811 cmp ch,00 E527:1814 je 1820 E527:1816 lds si,ss:[003E] E527:181B call 166B E527:181E jb 1841 E527:1820 mov es:[di+1A],ax E527:1824 push bx E527:1825 push dx E527:1826 mov ax,0020 E527:1829 mul bx E527:182B mov bx,dx E527:182D pop dx E527:182E mov cx,0020 E527:1831 call 3EEA E527:1834 pop bx E527:1835 jb 1841 E527:1837 cmp ax,cx E527:1839 jb 1841 E527:183B call 2CDF E527:183E clc E527:183F jmp 1842 E527:1841 stc E527:1842 ret E527:1843 push ax E527:1844 push cx E527:1845 push di E527:1846 xor bx,bx E527:1848 mov cx,0001 E527:184B lds si,ss:[003E] E527:1850 mov ax,ss E527:1852 mov es,ax E527:1854 mov di,00AA E527:1857 cmp dx,00 E527:185A jne 1861 E527:185C cmp bx,[si+09] E527:185F jnb 188E E527:1861 push bx E527:1862 push dx E527:1863 mov ax,0020 E527:1866 mul bx E527:1868 mov bx,dx E527:186A pop dx E527:186B call 3E78 E527:186E pop bx E527:186F jb 188E E527:1871 cmp ax,0000 E527:1874 je 1889 E527:1876 cmp byte ptr ss:[00AA],00 E527:187C je 188F E527:187E cmp byte ptr ss:[00AA],E5 E527:1884 je 188F E527:1886 inc bx E527:1887 jmp 1857 E527:1889 call 1893 E527:188C jmp 188F E527:188E stc E527:188F pop di E527:1890 pop cx E527:1891 pop ax E527:1892 ret E527:1893 push bx E527:1894 push di E527:1895 push es E527:1896 push dx E527:1897 mov al,[si+04] E527:189A inc ax E527:189B xor ah,ah E527:189D mul word ptr [si+02] E527:18A0 mov cx,ax E527:18A2 mov ax,0020 E527:18A5 mul bx E527:18A7 mov bx,dx E527:18A9 pop dx E527:18AA mov di,ss E527:18AC mov es,di E527:18AE mov di,0CBF E527:18B1 push ax E527:18B2 push cx E527:18B3 push di E527:18B4 xor al,al E527:18B6 rep stosb E527:18B8 pop di E527:18B9 pop cx E527:18BA pop ax E527:18BB call 3EEA E527:18BE jb 18C2 E527:18C0 cmp ax,cx E527:18C2 pop es E527:18C3 pop di E527:18C4 pop bx E527:18C5 ret E527:18C6 aas E527:18C7 aas E527:18C8 aas E527:18C9 aas E527:18CA aas E527:18CB aas E527:18CC aas E527:18CD aas E527:18CE aas E527:18CF aas E527:18D0 aas E527:18D1 mov dx,es:[di+1A] E527:18D5 xor bx,bx E527:18D7 mov cx,0016 E527:18DA mov ax,cs E527:18DC mov ds,ax E527:18DE mov si,18C6 E527:18E1 call 2AA3 E527:18E4 jb 1927 E527:18E6 test byte ptr es:[di+0B],10 E527:18EB je 1927 E527:18ED push cx E527:18EE push di E527:18EF mov al,2E E527:18F1 scasb E527:18F2 jne 18FB E527:18F4 mov al,20 E527:18F6 mov cx,000A E527:18F9 repe scasb E527:18FB pop di E527:18FC pop cx E527:18FD jne 1927 E527:18FF inc bx E527:1900 call 2AA3 E527:1903 jb 1927 E527:1905 test byte ptr es:[di+0B],10 E527:190A je 1927 E527:190C push cx E527:190D push di E527:190E mov al,2E E527:1910 scasb E527:1911 jne 191D E527:1913 scasb E527:1914 jne 191D E527:1916 mov al,20 E527:1918 mov cx,0009 E527:191B repe scasb E527:191D pop di E527:191E pop cx E527:191F jne 1927 E527:1921 inc bx E527:1922 call 2AA3 E527:1925 jb 192A E527:1927 stc E527:1928 jmp 192B E527:192A clc E527:192B ret E527:192C push si E527:192D lodsw E527:192E cmp ah,3A E527:1931 je 193E E527:1933 mov al,[0050] E527:1937 mov [0051],al E527:193B clc E527:193C jmp 1941 E527:193E call 4326 E527:1941 pop si E527:1942 ret E527:1943 push cx E527:1944 push di E527:1945 push es E527:1946 call 435A E527:1949 mov di,ds E527:194B mov es,di E527:194D mov di,si E527:194F mov al,2A E527:1951 push cx E527:1952 repne scasb E527:1954 pop cx E527:1955 je 195D E527:1957 mov di,si E527:1959 mov al,3F E527:195B repne scasb E527:195D pop es E527:195E pop di E527:195F pop cx E527:1960 ret E527:1961 push si E527:1962 lodsw E527:1963 cmp ah,3A E527:1966 jne 1969 E527:1968 lodsw E527:1969 cmp al,ss:[0114] E527:196E jne 1973 E527:1970 lodsb E527:1971 xchg al,ah E527:1973 cmp al,2E E527:1975 jne 1995 E527:1977 mov al,ah E527:1979 or al,al E527:197B je 1995 E527:197D cmp al,2E E527:197F jne 1993 E527:1981 lodsb E527:1982 cmp al,ss:[0114] E527:1987 jne 1993 E527:1989 lodsw E527:198A cmp ax,2E2E E527:198D je 1979 E527:198F or al,al E527:1991 jne 1995 E527:1993 xor al,al E527:1995 pop si E527:1996 ret Int21_Fn39 Create a new directory E527:1997 lds si,ss:[00A6] E527:199C call 435A E527:199F jb 1A1C E527:19A1 mov bx,cx E527:19A3 call 1961 E527:19A6 je 1A1C E527:19A8 lodsb E527:19A9 cmp al,ss:[0114] E527:19AE je 19C7 E527:19B0 cmp al,2E E527:19B2 je 19C7 E527:19B4 call 192C E527:19B7 jb 1A1C E527:19B9 call 1722 E527:19BC call 435A E527:19BF inc cx E527:19C0 add cx,bx E527:19C2 cmp cx,40 E527:19C5 ja 1A1C E527:19C7 mov cx,0010 E527:19CA call 2A25 E527:19CD jb 19D1 E527:19CF jmp 1A1C E527:19D1 test al,40 E527:19D3 jne 1A1C E527:19D5 cmp ax,0003 E527:19D8 je 1A1F E527:19DA mov ch,01 E527:19DC mov cl,10 E527:19DE call 17C8 E527:19E1 jb 1A1C E527:19E3 push dx E527:19E4 mov dx,es:[di+1A] E527:19E8 xor bx,bx E527:19EA call 1893 E527:19ED push di E527:19EE mov al,2E E527:19F0 stosb E527:19F1 mov al,20 E527:19F3 mov cx,000A E527:19F6 rep stosb E527:19F8 pop di E527:19F9 xor ax,ax E527:19FB mov cx,0020 E527:19FE call 3EEA E527:1A01 jb 1A1C E527:1A03 mov byte ptr es:[di+01],2E E527:1A08 pop word ptr es:[di+1A] E527:1A0C mov ax,0020 E527:1A0F mov cx,ax E527:1A11 call 3EEA E527:1A14 jb 1A1C E527:1A16 call 0920 E527:1A19 clc E527:1A1A jmp 1A20 E527:1A1C mov ax,0005 E527:1A1F stc E527:1A20 ret Int21_Fn3A Delete a directory E527:1A21 lds si,ss:[00A6] E527:1A26 call 435A E527:1A29 jb 1A80 E527:1A2B mov cx,0010 E527:1A2E call 2A25 E527:1A31 jb 1A8A E527:1A33 test al,40 E527:1A35 jne 1A80 E527:1A37 test al,10 E527:1A39 je 1A8A E527:1A3B call 1722 E527:1A3E mov ax,es:[di+1A] E527:1A42 cmp ax,[si+43] E527:1A45 je 1A85 E527:1A47 cmp ax,0000 E527:1A4A je 1A80 E527:1A4C push bx E527:1A4D push dx E527:1A4E push ax E527:1A4F call 18D1 E527:1A52 pop dx E527:1A53 jb 1A58 E527:1A55 call 16A0 E527:1A58 pop dx E527:1A59 pop bx E527:1A5A jb 1A80 E527:1A5C mov ax,ss E527:1A5E mov es,ax E527:1A60 push dx E527:1A61 mov ax,0020 E527:1A64 mul bx E527:1A66 mov bx,dx E527:1A68 pop dx E527:1A69 mov di,00AA E527:1A6C mov byte ptr ss:[00AA],E5 E527:1A72 mov cx,0001 E527:1A75 call 3EEA E527:1A78 jb 1A80 E527:1A7A call 0920 E527:1A7D clc E527:1A7E jmp 1A8E E527:1A80 mov ax,0005 E527:1A83 jmp 1A8D E527:1A85 mov ax,0010 E527:1A88 jmp 1A8D E527:1A8A mov ax,0003 E527:1A8D stc E527:1A8E ret Int21_Fn3B Set DOS default directory E527:1A8F lds si,ss:[00A6] E527:1A94 call 435A E527:1A97 jb 1ADE E527:1A99 call 1943 E527:1A9C je 1AD9 E527:1A9E mov cx,0016 E527:1AA1 call 2A25 E527:1AA4 jnb 1AE5 E527:1AA6 lds si,ss:[00A6] E527:1AAB lodsw E527:1AAC cmp ah,3A E527:1AAF jne 1AB2 E527:1AB1 lodsw E527:1AB2 cmp ax,2E2E E527:1AB5 jne 1ABA E527:1AB7 lodsb E527:1AB8 xchg al,ah E527:1ABA cmp ax,002E E527:1ABD je 1ACA E527:1ABF or ah,ah E527:1AC1 jne 1AD9 E527:1AC3 cmp al,ss:[0114] E527:1AC8 jne 1AD9 E527:1ACA call 1722 E527:1ACD mov word ptr [si+43],0000 E527:1AD2 mov byte ptr [si+03],00 E527:1AD6 jmp 1BA0 E527:1AD9 mov ax,0003 E527:1ADC jmp 1AE1 E527:1ADE mov ax,0005 E527:1AE1 stc E527:1AE2 jmp 1BA0 E527:1AE5 test byte ptr es:[di+0B],40 E527:1AEA jne 1ADE E527:1AEC test byte ptr es:[di+0B],10 E527:1AF1 je 1AD9 E527:1AF3 lds si,ss:[00A6] E527:1AF8 mov dx,es:[di+1A] E527:1AFC mov ax,[si] E527:1AFE cmp ah,3A E527:1B01 jne 1B04 E527:1B03 lodsw E527:1B04 mov ax,ss E527:1B06 mov es,ax E527:1B08 mov di,012C E527:1B0B lodsb E527:1B0C cmp al,ss:[0114] E527:1B11 je 1B2B E527:1B13 push si E527:1B14 push ds E527:1B15 call 1722 E527:1B18 cmp byte ptr [si+03],00 E527:1B1C je 1B28 E527:1B1E add si,02 E527:1B21 lodsb E527:1B22 stosb E527:1B23 cmp al,00 E527:1B25 jne 1B21 E527:1B27 dec di E527:1B28 pop ds E527:1B29 pop si E527:1B2A dec si E527:1B2B mov bx,012C E527:1B2E add bx,41 E527:1B31 mov al,[si] E527:1B33 cmp al,00 E527:1B35 je 1B74 E527:1B37 cmp al,2E E527:1B39 je 1B57 E527:1B3B cmp di,bx E527:1B3D je 1AD9 E527:1B3F mov al,[0114] E527:1B43 stosb E527:1B44 lodsb E527:1B45 cmp al,00 E527:1B47 je 1B74 E527:1B49 cmp al,ss:[0114] E527:1B4E je 1B31 E527:1B50 cmp di,bx E527:1B52 je 1AD9 E527:1B54 stosb E527:1B55 jmp 1B44 E527:1B57 inc si E527:1B58 lodsb E527:1B59 cmp al,00 E527:1B5B je 1B74 E527:1B5D cmp al,2E E527:1B5F jne 1B31 E527:1B61 lodsb E527:1B62 cmp al,00 E527:1B64 jne 1B67 E527:1B66 dec si E527:1B67 dec di E527:1B68 mov ah,ss:[0114] E527:1B6D cmp es:[di],ah E527:1B70 jne 1B67 E527:1B72 jmp 1B31 E527:1B74 cmp di,bx E527:1B76 jne 1B7B E527:1B78 jmp 1AD9 E527:1B7B cmp di,012C E527:1B7F jne 1B82 E527:1B81 inc di E527:1B82 stosb E527:1B83 call 1722 E527:1B86 mov [si+43],dx E527:1B89 add si,02 E527:1B8C mov ax,ds E527:1B8E mov es,ax E527:1B90 mov di,si E527:1B92 mov ax,ss E527:1B94 mov ds,ax E527:1B96 mov si,012C E527:1B99 lodsb E527:1B9A stosb E527:1B9B cmp al,00 E527:1B9D jne 1B99 E527:1B9F clc E527:1BA0 ret Int21_Fn47 Get DOS default directory E527:1BA1 mov al,dl E527:1BA3 call 173C E527:1BA6 jb 1BC1 E527:1BA8 push si E527:1BA9 call 16BF E527:1BAC mov es,ss:[00A8] E527:1BB1 pop di E527:1BB2 call 1722 E527:1BB5 add si,03 E527:1BB8 lodsb E527:1BB9 call 42E7 E527:1BBC stosb E527:1BBD cmp al,00 E527:1BBF jne 1BB8 E527:1BC1 ret Int21_Fn0D Reset disk E527:1BC2 xor al,al E527:1BC4 mov [0051],al E527:1BC8 call 0920 E527:1BCB call 0949 E527:1BCE inc al E527:1BD0 cmp al,ss:[0028] E527:1BD5 jne 1BC4 E527:1BD7 ret Int21_Fn0E Set DOS default disk E527:1BD8 mov al,[0028] E527:1BDC cmp dl,al E527:1BDE jnb 1BE5 E527:1BE0 mov ss:[0050],dl E527:1BE5 ret Int21_Fn19 Get DOS default disk E527:1BE6 mov al,[0050] E527:1BE9 ret Int21_Fn1A Set DTA E527:1BEA mov [004C],dx E527:1BEE mov ax,[00A8] E527:1BF1 mov [004E],ax E527:1BF4 ret Int21_Fn2F Get DTA E527:1BF5 les bx,[004C] E527:1BF9 lds si,[00AB] E527:1BFD mov [si+02],bx E527:1C00 mov [si+10],es E527:1C03 ret Int21_Fn1B Get FAT info E527:1C04 mov dl,00 E527:1C06 jmp 1C08 Int21_Fn1C Get FAT info (any disk) E527:1C08 mov al,dl E527:1C0A call 173C E527:1C0D jb 1C39 E527:1C0F call 16BF E527:1C12 lds si,ss:[00AB] E527:1C17 lea bx,[di+16] E527:1C1A mov [si+0E],es E527:1C1D mov [si+02],bx E527:1C20 mov ax,es:[di+02] E527:1C24 mov [si+04],ax E527:1C27 mov ax,es:[di+0D] E527:1C2B sub ax,0001 E527:1C2E mov [si+06],ax E527:1C31 mov al,es:[di+04] E527:1C35 inc al E527:1C37 xor ah,ah E527:1C39 ret Int21_Fn36 Get disk free space E527:1C3A mov al,dl E527:1C3C call 173C E527:1C3F jnb 1C47 E527:1C41 mov ax,FFFF E527:1C44 jmp 1C57 E527:1C46 nop E527:1C47 call 16BF E527:1C4A call 15A5 E527:1C4D lds si,ss:[00AB] E527:1C52 mov [si+02],bx E527:1C55 jmp 1C20 E527:1C57 ret E527:1C58 push si E527:1C59 push ds E527:1C5A mov word ptr es:[bx+03],0000 E527:1C60 lds si,ss:[009E] E527:1C65 mov ss:[00FF],ds E527:1C6A mov ax,[si+06] E527:1C6D mov [00FD],ax E527:1C71 call dword ptr ss:[00FD] E527:1C76 mov ax,[si+08] E527:1C79 mov [00FD],ax E527:1C7D call dword ptr ss:[00FD] E527:1C82 clc E527:1C83 test word ptr es:[bx+03],8000 E527:1C89 je 1C8F E527:1C8B call 41D8 E527:1C8E stc E527:1C8F pop ds E527:1C90 pop si E527:1C91 ret E527:1C92 push dx E527:1C93 push si E527:1C94 push di E527:1C95 push ds E527:1C96 push es E527:1C97 lds si,ss:[00A6] E527:1C9C mov di,ss E527:1C9E mov es,di E527:1CA0 mov di,0052 E527:1CA3 xor dl,dl E527:1CA5 call 428B E527:1CA8 call 1CB1 E527:1CAB pop es E527:1CAC pop ds E527:1CAD pop di E527:1CAE pop si E527:1CAF pop dx E527:1CB0 ret E527:1CB1 push cx E527:1CB2 push si E527:1CB3 push ds E527:1CB4 lds si,ss:[0010] E527:1CB9 les di,[si+04] E527:1CBC test word ptr es:[di+04],8000 E527:1CC2 je 1CE2 E527:1CC4 push si E527:1CC5 push di E527:1CC6 mov cx,0008 E527:1CC9 add di,0A E527:1CCC mov si,0052 E527:1CCF repe cmpsb ss: E527:1CD2 pop di E527:1CD3 pop si E527:1CD4 jne 1CE2 E527:1CD6 mov ss:[009E],di E527:1CDB mov ss:[00A0],es E527:1CE0 jmp 1CEC E527:1CE2 lds si,[si] E527:1CE4 cmp si,FFFF E527:1CE8 jne 1CB9 E527:1CEA or si,si E527:1CEC pop ds E527:1CED pop si E527:1CEE pop cx E527:1CEF ret E527:1CF0 push di E527:1CF1 push es E527:1CF2 les di,[00A2] E527:1CF6 test word ptr es:[di+05],8080 E527:1CFC jne 1D08 E527:1CFE les di,es:[di+07] E527:1D02 les di,es:[di+12] E527:1D06 jmp 1D0C E527:1D08 les di,es:[di+07] E527:1D0C mov [009E],di E527:1D10 mov [00A0],es E527:1D14 pop es E527:1D15 pop di E527:1D16 ret E527:1D17 cmp di,[0036] E527:1D1B jne 1D81 E527:1D1D mov ax,es E527:1D1F cmp ax,[0038] E527:1D23 jne 1D81 E527:1D25 test word ptr [0105],4000 E527:1D2B je 1D81 E527:1D2D push di E527:1D2E push es E527:1D2F mov al,[00AA] E527:1D32 push ax E527:1D33 mov ax,[003A] E527:1D36 mov [009E],ax E527:1D39 mov ax,[003C] E527:1D3C mov [00A0],ax E527:1D3F mov ax,ds E527:1D41 mov es,ax E527:1D43 mov bx,0088 E527:1D46 mov byte ptr es:[bx],04 E527:1D4A mov byte ptr es:[bx+02],07 E527:1D4F call 1C58 E527:1D52 mov byte ptr es:[bx],16 E527:1D56 mov byte ptr es:[bx+02],05 E527:1D5B call 1C58 E527:1D5E test word ptr es:[bx+03],0200 E527:1D64 jne 1D5B E527:1D66 cmp byte ptr es:[bx+0D],03 E527:1D6B je 1D75 E527:1D6D mov byte ptr es:[bx+02],07 E527:1D72 call 1C58 E527:1D75 and word ptr [0105],BFFF E527:1D7B pop ax E527:1D7C mov [00AA],al E527:1D7F pop es E527:1D80 pop di E527:1D81 ret E527:1D82 push si E527:1D83 push ds E527:1D84 call 1DD2 E527:1D87 mov byte ptr es:[bx+02],01 E527:1D8C call 1C58 E527:1D8F mov al,es:[bx+0E] E527:1D93 cmp al,01 E527:1D95 je 1DCE E527:1D97 cmp al,FF E527:1D99 je 1DA0 E527:1D9B call 0970 E527:1D9E jb 1DCE E527:1DA0 call 0949 E527:1DA3 lds si,ss:[001E] E527:1DA8 add si,10 E527:1DAB mov es:[bx+0E],si E527:1DAF mov es:[bx+10],ds E527:1DB3 mov byte ptr es:[bx+02],02 E527:1DB8 call 1C58 E527:1DBB mov di,es:[bx+12] E527:1DBF mov es,es:[bx+14] E527:1DC3 lds bx,ss:[003E] E527:1DC8 call 143F E527:1DCB stc E527:1DCC jmp 1DCF E527:1DCE clc E527:1DCF pop ds E527:1DD0 pop si E527:1DD1 ret E527:1DD2 lds si,ss:[003E] E527:1DD7 les di,[si+12] E527:1DDA mov ss:[009E],di E527:1DDF mov ss:[00A0],es E527:1DE4 mov ax,ss E527:1DE6 mov es,ax E527:1DE8 mov bx,0088 E527:1DEB mov al,[si+01] E527:1DEE mov es:[bx+01],al E527:1DF2 mov al,[si+16] E527:1DF5 mov es:[bx+0D],al E527:1DF9 ret Int21_Fn0F Open FCB E527:1DFA push ax E527:1DFB call 22BE E527:1DFE call 1C92 E527:1E01 je 1E14 E527:1E03 call 2A25 E527:1E06 jb 1E0F E527:1E08 call 219C E527:1E0B xor al,al E527:1E0D jmp 1E1B E527:1E0F mov al,FF E527:1E11 jmp 1E1B E527:1E13 nop E527:1E14 call 227D E527:1E17 jb 1E0F E527:1E19 xor al,al E527:1E1B pop bx E527:1E1C mov ah,bh E527:1E1E ret Int21_Fn10 Close FCB E527:1E1F push ax E527:1E20 call 22BE E527:1E23 lds si,ss:[0042] E527:1E28 test byte ptr [si+18],80 E527:1E2C jne 1E6F E527:1E2E mov al,[si+18] E527:1E31 test al,40 E527:1E33 jne 1E6F E527:1E35 call 2A25 E527:1E38 jb 1E74 E527:1E3A lds si,ss:[0042] E527:1E3F or byte ptr es:[di+0B],20 E527:1E44 push di E527:1E45 lea di,[di+16] E527:1E48 mov ax,[si+16] E527:1E4B stosw E527:1E4C mov ax,[si+14] E527:1E4F stosw E527:1E50 mov ax,[si+19] E527:1E53 stosw E527:1E54 mov ax,[si+10] E527:1E57 stosw E527:1E58 mov ax,[si+12] E527:1E5B stosw E527:1E5C pop di E527:1E5D push dx E527:1E5E mov ax,0020 E527:1E61 mul bx E527:1E63 mov bx,dx E527:1E65 pop dx E527:1E66 mov cx,0020 E527:1E69 call 3EEA E527:1E6C call 0920 E527:1E6F xor al,al E527:1E71 jmp 1E76 E527:1E73 nop E527:1E74 mov al,FF E527:1E76 pop bx E527:1E77 mov ah,bh E527:1E79 ret Int21_Fn11 Find first FCB E527:1E7A push ax E527:1E7B call 22BE E527:1E7E push cx E527:1E7F call 2A25 E527:1E82 pop cx E527:1E83 jnb 1E8A E527:1E85 mov al,FF E527:1E87 jmp 1EB2 E527:1E89 nop E527:1E8A push di E527:1E8B push es E527:1E8C test word ptr ss:[0105],1000 E527:1E93 je 1EA6 E527:1E95 les di,[004C] E527:1E99 mov al,FF E527:1E9B stosb E527:1E9C xor al,al E527:1E9E stosb E527:1E9F stosb E527:1EA0 stosb E527:1EA1 stosb E527:1EA2 stosb E527:1EA3 mov al,cl E527:1EA5 stosb E527:1EA6 les di,ss:[0042] E527:1EAB pop ds E527:1EAC pop si E527:1EAD call 2206 E527:1EB0 xor al,al E527:1EB2 pop bx E527:1EB3 mov ah,bh E527:1EB5 ret Int21_Fn12 Find next FCB E527:1EB6 push ax E527:1EB7 call 22BE E527:1EBA call 225E E527:1EBD call 2AA3 E527:1EC0 jnb 1EC7 E527:1EC2 mov al,FF E527:1EC4 jmp 1ED7 E527:1EC6 nop E527:1EC7 mov ax,es E527:1EC9 mov ds,ax E527:1ECB mov si,di E527:1ECD les di,ss:[0042] E527:1ED2 call 2206 E527:1ED5 xor al,al E527:1ED7 pop bx E527:1ED8 mov ah,bh E527:1EDA ret Int21_Fn13 Delete file via FCB E527:1EDB push ax E527:1EDC call 22BE E527:1EDF call 2A25 E527:1EE2 jb 1F25 E527:1EE4 push dx E527:1EE5 push si E527:1EE6 push ds E527:1EE7 mov dx,es:[di+1A] E527:1EEB or dx,dx E527:1EED clc E527:1EEE je 1EF3 E527:1EF0 call 16A0 E527:1EF3 pop ds E527:1EF4 pop si E527:1EF5 pop dx E527:1EF6 jb 1F25 E527:1EF8 mov ax,ss E527:1EFA mov es,ax E527:1EFC mov di,00AA E527:1EFF mov byte ptr ss:[00AA],E5 E527:1F05 push bx E527:1F06 push dx E527:1F07 mov ax,0020 E527:1F0A mul bx E527:1F0C mov bx,dx E527:1F0E pop dx E527:1F0F mov cx,0001 E527:1F12 call 3EEA E527:1F15 pop bx E527:1F16 jb 1F25 E527:1F18 inc bx E527:1F19 call 2AA3 E527:1F1C jnb 1EE4 E527:1F1E call 0920 E527:1F21 xor al,al E527:1F23 jmp 1EB2 E527:1F25 mov al,FF E527:1F27 pop bx E527:1F28 mov ah,bh E527:1F2A ret Int21_Fn14 Read file via FCB E527:1F2B push ax E527:1F2C call 22BE E527:1F2F call 2383 E527:1F32 pop bx E527:1F33 mov ah,bh E527:1F35 ret Int21_Fn15 Write file via FCB E527:1F36 push ax E527:1F37 call 22BE E527:1F3A call 2465 E527:1F3D pop bx E527:1F3E mov ah,bh E527:1F40 ret Int21_Fn16 Create file via FCB E527:1F41 push ax E527:1F42 call 22BE E527:1F45 test word ptr ss:[0105],1000 E527:1F4C je 1F5B E527:1F4E push si E527:1F4F push ds E527:1F50 lds si,ss:[0042] E527:1F55 and byte ptr [si+FF],FE E527:1F59 pop ds E527:1F5A pop si E527:1F5B test cx,FFD0 E527:1F5F jne 1F84 E527:1F61 call 1C92 E527:1F64 jne 1F70 E527:1F66 call 227D E527:1F69 jb 1F84 E527:1F6B xor al,al E527:1F6D jmp 1F86 E527:1F6F nop E527:1F70 call 2BB6 E527:1F73 jb 1F84 E527:1F75 call 219C E527:1F78 and byte ptr es:[di+18],BF E527:1F7D call 0920 E527:1F80 xor al,al E527:1F82 jmp 1F86 E527:1F84 mov al,FF E527:1F86 pop bx E527:1F87 mov ah,bh E527:1F89 ret Int21_Fn17 Rename file via FCB E527:1F8A push ax E527:1F8B call 22BE E527:1F8E lds si,ss:[0042] E527:1F93 mov al,[si] E527:1F95 call 173C E527:1F98 jnb 1F9D E527:1F9A jmp 2033 E527:1F9D call 16BF E527:1FA0 lea si,[si+11] E527:1FA3 mov cx,000B E527:1FA6 mov ax,ss E527:1FA8 mov es,ax E527:1FAA mov di,005D E527:1FAD rep movsb E527:1FAF mov cx,0016 E527:1FB2 call 1722 E527:1FB5 mov dx,[si+43] E527:1FB8 xor bx,bx E527:1FBA mov ax,es E527:1FBC mov ds,ax E527:1FBE mov si,005D E527:1FC1 call 2AA3 E527:1FC4 jnb 2033 E527:1FC6 cmp ax,0012 E527:1FC9 jne 2033 E527:1FCB xor cx,cx E527:1FCD lds si,ss:[0042] E527:1FD2 test word ptr ss:[0105],1000 E527:1FD9 je 1FDE E527:1FDB mov cl,[si+FF] E527:1FDE lds si,ss:[00A6] E527:1FE3 mov di,0052 E527:1FE6 push dx E527:1FE7 xor ah,ah E527:1FE9 call 428B E527:1FEC pop dx E527:1FED mov si,di E527:1FEF xor bx,bx E527:1FF1 call 2AA3 E527:1FF4 jnb 1FFE E527:1FF6 jmp 2033 E527:1FF8 nop E527:1FF9 call 2AA3 E527:1FFC jb 202C E527:1FFE push cx E527:1FFF push si E527:2000 mov cx,000B E527:2003 mov si,005D E527:2006 push di E527:2007 lodsb es: E527:2009 cmp al,3F E527:200B je 2010 E527:200D stosb E527:200E jmp 2011 E527:2010 inc di E527:2011 loop 2007 E527:2013 pop di E527:2014 push bx E527:2015 push dx E527:2016 mov ax,0020 E527:2019 mul bx E527:201B mov bx,dx E527:201D pop dx E527:201E mov cx,0020 E527:2021 call 3EEA E527:2024 pop bx E527:2025 pop si E527:2026 pop cx E527:2027 jb 2033 E527:2029 inc bx E527:202A jmp 1FF9 E527:202C call 0920 E527:202F xor al,al E527:2031 jmp 2035 E527:2033 mov al,FF E527:2035 pop bx E527:2036 mov ah,bh E527:2038 ret Int21_Fn21 Read random file record E527:2039 push ax E527:203A call 22BE E527:203D call 25BD E527:2040 jb 205C E527:2042 push word ptr es:[di+0C] E527:2046 mov bl,es:[di+20] E527:204A push bx E527:204B call 2383 E527:204E les di,ss:[0042] E527:2053 pop bx E527:2054 mov es:[di+20],bl E527:2058 pop word ptr es:[di+0C] E527:205C pop bx E527:205D mov ah,bh E527:205F ret Int21_Fn22 Write random file record E527:2060 push ax E527:2061 call 22BE E527:2064 call 25BD E527:2067 jb 2083 E527:2069 push word ptr es:[di+0C] E527:206D mov bl,es:[di+20] E527:2071 push bx E527:2072 call 2465 E527:2075 les di,ss:[0042] E527:207A pop bx E527:207B mov es:[di+20],bl E527:207F pop word ptr es:[di+0C] E527:2083 pop bx E527:2084 mov ah,bh E527:2086 ret Int21_Fn23 Get file size via FCB E527:2087 push ax E527:2088 call 22BE E527:208B call 1C92 E527:208E je 20B7 E527:2090 call 2A25 E527:2093 jb 20B7 E527:2095 lds si,ss:[0042] E527:209A mov ax,es:[di+1E] E527:209E xor dx,dx E527:20A0 div word ptr [si+0E] E527:20A3 mov [si+23],ax E527:20A6 mov ax,es:[di+1C] E527:20AA div word ptr [si+0E] E527:20AD jnb 20B0 E527:20AF inc ax E527:20B0 mov [si+21],ax E527:20B3 xor al,al E527:20B5 jmp 20B9 E527:20B7 mov al,FF E527:20B9 pop bx E527:20BA mov ah,bh E527:20BC ret Int21_Fn24 Set random file block adres E527:20BD push ax E527:20BE call 22BE E527:20C1 les di,ss:[0042] E527:20C6 mov ax,0080 E527:20C9 mul word ptr es:[di+0C] E527:20CD mov bl,es:[di+20] E527:20D1 and bx,007F E527:20D5 add ax,bx E527:20D7 adc dx,00 E527:20DA mov es:[di+21],ax E527:20DE mov es:[di+23],dx E527:20E2 pop bx E527:20E3 mov ah,bh E527:20E5 ret Int21_Fn27 Read random file block E527:20E6 push ax E527:20E7 push word ptr ss:[004C] E527:20EC push word ptr ss:[004E] E527:20F1 push cx E527:20F2 jcxz 2127 E527:20F4 push cx E527:20F5 call 22BE E527:20F8 pop cx E527:20F9 call 25BD E527:20FC jb 2127 E527:20FE call 2383 E527:2101 or al,al E527:2103 jne 2127 E527:2105 les di,ss:[0042] E527:210A mov ax,es:[di+0E] E527:210E add ss:[004C],ax E527:2113 adc word ptr ss:[004E],00 E527:2119 add word ptr es:[di+21],01 E527:211E adc word ptr es:[di+23],00 E527:2123 loop 20FE E527:2125 xor al,al E527:2127 pop bx E527:2128 sub bx,cx E527:212A mov cx,bx E527:212C lds si,ss:[00AB] E527:2131 mov [si+04],cx E527:2134 pop word ptr ss:[004E] E527:2139 pop word ptr ss:[004C] E527:213E pop bx E527:213F mov ah,bh E527:2141 ret Int21_Fn28 Write random file block E527:2142 push ax E527:2143 push word ptr ss:[004C] E527:2148 push word ptr ss:[004E] E527:214D push cx E527:214E push cx E527:214F call 22BE E527:2152 pop cx E527:2153 call 25BD E527:2156 jb 2181 E527:2158 call 2465 E527:215B or al,al E527:215D jne 2181 E527:215F les di,ss:[0042] E527:2164 mov ax,es:[di+0E] E527:2168 add ss:[004C],ax E527:216D adc word ptr ss:[004E],00 E527:2173 add word ptr es:[di+21],01 E527:2178 adc word ptr es:[di+23],00 E527:217D loop 2158 E527:217F xor al,al E527:2181 pop bx E527:2182 sub bx,cx E527:2184 mov cx,bx E527:2186 lds si,ss:[00AB] E527:218B mov [si+04],cx E527:218E pop word ptr ss:[004E] E527:2193 pop word ptr ss:[004C] E527:2198 pop bx E527:2199 mov ah,bh E527:219B ret E527:219C push bx E527:219D push dx E527:219E push di E527:219F push es E527:21A0 les di,ss:[0042] E527:21A5 pop ds E527:21A6 pop si E527:21A7 push si E527:21A8 push di E527:21A9 lea di,[di+01] E527:21AC mov cx,000B E527:21AF rep movsb E527:21B1 pop di E527:21B2 pop si E527:21B3 mov word ptr es:[di+0E],0080 E527:21B9 mov byte ptr es:[di+20],00 E527:21BE mov word ptr es:[di+0C],0000 E527:21C4 mov ax,[si+1A] E527:21C7 mov es:[di+19],ax E527:21CB mov es:[di+1D],ax E527:21CF mov word ptr es:[di+1B],0000 E527:21D5 mov ax,[si+16] E527:21D8 mov es:[di+16],ax E527:21DC mov ax,[si+18] E527:21DF mov es:[di+14],ax E527:21E3 mov ax,[si+1C] E527:21E6 mov es:[di+10],ax E527:21EA mov ax,[si+1E] E527:21ED mov es:[di+12],ax E527:21F1 mov al,[0051] E527:21F5 inc al E527:21F7 mov es:[di],al E527:21FA dec al E527:21FC or al,40 E527:21FE mov es:[di+18],al E527:2202 clc E527:2203 pop dx E527:2204 pop bx E527:2205 ret E527:2206 lea di,[di+18] E527:2209 mov ax,bx E527:220B stosw E527:220C add di,04 E527:220F mov ax,dx E527:2211 stosw E527:2212 les di,ss:[004C] E527:2217 test word ptr ss:[0105],1000 E527:221E je 2223 E527:2220 add di,07 E527:2223 push si E527:2224 push di E527:2225 mov al,[0051] E527:2229 inc al E527:222B stosb E527:222C mov cx,000B E527:222F rep movsb E527:2231 pop di E527:2232 pop si E527:2233 mov ax,[si+1C] E527:2236 mov es:[di+1D],ax E527:223A mov ax,[si+1E] E527:223D mov es:[di+1F],ax E527:2241 mov al,[si+0B] E527:2244 mov es:[di+0C],ax E527:2248 mov ax,[si+16] E527:224B mov es:[di+17],ax E527:224F mov ax,[si+18] E527:2252 mov es:[di+19],ax E527:2256 mov ax,[si+1A] E527:2259 mov es:[di+1B],ax E527:225D ret E527:225E lds si,ss:[0042] E527:2263 push si E527:2264 lea si,[si+18] E527:2267 lodsw E527:2268 mov bx,ax E527:226A add si,04 E527:226D lodsw E527:226E mov dx,ax E527:2270 inc bx E527:2271 pop si E527:2272 lodsb E527:2273 dec al E527:2275 mov [0051],al E527:2279 call 14A7 E527:227C ret E527:227D push ds E527:227E les di,ss:[0042] E527:2283 lds si,[009E] E527:2287 mov word ptr es:[di+0E],0080 E527:228D mov byte ptr es:[di+20],00 E527:2292 mov word ptr es:[di+0C],0000 E527:2298 mov es:[di+19],si E527:229C mov es:[di+1B],ds E527:22A0 mov ax,[si+04] E527:22A3 or ax,0080 E527:22A6 and ax,FFDF E527:22A9 mov es:[di+18],al E527:22AD mov ax,ss E527:22AF mov ds,ax E527:22B1 mov si,0052 E527:22B4 lea di,[di+01] E527:22B7 mov cx,000B E527:22BA rep movsb E527:22BC pop ds E527:22BD ret E527:22BE push ds E527:22BF xor cx,cx E527:22C1 and word ptr ss:[0105],EFFF E527:22C8 lds si,ss:[00A6] E527:22CD cmp byte ptr [si],FF E527:22D0 jne 231A E527:22D2 mov cl,[si+06] E527:22D5 add si,07 E527:22D8 mov ss:[00A6],si E527:22DD or word ptr ss:[0105],1000 E527:22E4 cmp cl,08 E527:22E7 jne 231A E527:22E9 mov ax,ss E527:22EB mov es,ax E527:22ED mov di,0068 E527:22F0 lodsb E527:22F1 cmp al,00 E527:22F3 je 22FD E527:22F5 add al,40 E527:22F7 stosb E527:22F8 mov al,3A E527:22FA stosb E527:22FB jmp 2306 E527:22FD mov al,[0050] E527:2301 inc al E527:2303 mov [si+FF],al E527:2306 push cx E527:2307 mov cx,0008 E527:230A lodsb E527:230B stosb E527:230C loop 230A E527:230E mov al,2E E527:2310 stosb E527:2311 mov cx,0003 E527:2314 lodsb E527:2315 stosb E527:2316 loop 2314 E527:2318 jmp 235B E527:231A mov ax,ss E527:231C mov es,ax E527:231E mov di,0068 E527:2321 lodsb E527:2322 cmp al,00 E527:2324 je 232E E527:2326 add al,40 E527:2328 stosb E527:2329 mov al,3A E527:232B stosb E527:232C jmp 2337 E527:232E mov al,[0050] E527:2332 inc al E527:2334 mov [si+FF],al E527:2337 push cx E527:2338 mov cx,0008 E527:233B lodsb E527:233C call 42E7 E527:233F je 2344 E527:2341 stosb E527:2342 loop 233B E527:2344 mov si,ss:[00A6] E527:2349 lea si,[si+09] E527:234C mov cx,0003 E527:234F mov al,2E E527:2351 stosb E527:2352 lodsb E527:2353 call 42E7 E527:2356 je 235B E527:2358 stosb E527:2359 loop 2352 E527:235B cmp di,0069 E527:235F jne 2362 E527:2361 dec di E527:2362 xor al,al E527:2364 stosb E527:2365 pop cx E527:2366 mov si,ss:[00A6] E527:236B mov ss:[0042],si E527:2370 mov ss:[0044],ds E527:2375 mov word ptr ss:[00A6],0068 E527:237C mov ss:[00A8],es E527:2381 pop ds E527:2382 ret E527:2383 push cx E527:2384 les di,ss:[0042] E527:2389 test byte ptr es:[di+18],80 E527:238E jne 240E E527:2390 mov al,es:[di] E527:2393 dec al E527:2395 mov [0051],al E527:2399 push di E527:239A push es E527:239B call 14A7 E527:239E mov ss:[003E],di E527:23A3 mov ss:[0040],es E527:23A8 pop es E527:23A9 pop di E527:23AA call 2566 E527:23AD jnb 23B2 E527:23AF jmp 2463 E527:23B2 mov dx,es:[di+19] E527:23B6 mov ss:[0109],dx E527:23BB mov cx,es:[di+1B] E527:23BF mov ss:[010D],cx E527:23C4 mov cx,es:[di+1D] E527:23C8 mov ss:[010B],cx E527:23CD mov cx,es:[di+0E] E527:23D1 cmp bx,es:[di+12] E527:23D5 ja 244A E527:23D7 jb 23DF E527:23D9 cmp ax,es:[di+10] E527:23DD jnb 244A E527:23DF push ax E527:23E0 push bx E527:23E1 add ax,cx E527:23E3 adc bx,00 E527:23E6 cmp bx,es:[di+12] E527:23EA ja 23F4 E527:23EC jb 23FA E527:23EE cmp ax,es:[di+10] E527:23F2 jbe 23FA E527:23F4 sub ax,es:[di+10] E527:23F8 sub cx,ax E527:23FA pop bx E527:23FB pop ax E527:23FC jcxz 244A E527:23FE call 2558 E527:2401 jb 2463 E527:2403 call 3E78 E527:2406 jb 2448 E527:2408 call 2596 E527:240B jmp 2448 E527:240D nop E527:240E les di,es:[di+19] E527:2412 mov [009E],di E527:2416 mov [00A0],es E527:241A mov ax,ds E527:241C mov es,ax E527:241E mov bx,0088 E527:2421 mov byte ptr es:[bx],1A E527:2425 mov byte ptr es:[bx+02],04 E527:242A mov ax,[004C] E527:242D mov es:[bx+0E],ax E527:2431 mov ax,[004E] E527:2434 mov es:[bx+10],ax E527:2438 mov es:[bx+12],cx E527:243C call 1C58 E527:243F mov ax,es:[bx+12] E527:2443 les di,ss:[0042] E527:2448 jnb 244E E527:244A mov al,01 E527:244C jmp 2463 E527:244E mov cx,es:[di+0E] E527:2452 les di,ss:[004C] E527:2457 add di,ax E527:2459 sub cx,ax E527:245B xor al,al E527:245D jcxz 2463 E527:245F rep stosb E527:2461 mov al,03 E527:2463 pop cx E527:2464 ret E527:2465 push cx E527:2466 les di,ss:[0042] E527:246B test byte ptr es:[di+18],80 E527:2470 je 2475 E527:2472 jmp 2518 E527:2475 mov al,es:[di] E527:2478 dec al E527:247A mov [0051],al E527:247E push di E527:247F push es E527:2480 call 14A7 E527:2483 mov ss:[003E],di E527:2488 mov ss:[0040],es E527:248D pop es E527:248E pop di E527:248F mov dx,es:[di+19] E527:2493 cmp dx,00 E527:2496 jne 24AF E527:2498 lds si,ss:[003E] E527:249D call 166B E527:24A0 jnb 24A5 E527:24A2 jmp 2550 E527:24A5 mov es:[di+19],ax E527:24A9 mov es:[di+1D],ax E527:24AD mov dx,ax E527:24AF call 1176 E527:24B2 mov es:[di+16],ax E527:24B6 call 1137 E527:24B9 mov es:[di+14],ax E527:24BD and byte ptr es:[di+18],BF E527:24C2 call 2566 E527:24C5 jnb 24CA E527:24C7 jmp 2556 E527:24CA mov ss:[0109],dx E527:24CF mov cx,es:[di+1B] E527:24D3 mov ss:[010D],cx E527:24D8 mov cx,es:[di+1D] E527:24DC mov ss:[010B],cx E527:24E1 mov cx,es:[di+0E] E527:24E5 call 2558 E527:24E8 jb 2556 E527:24EA push ax E527:24EB push bx E527:24EC call 3EEA E527:24EF cmp ax,cx E527:24F1 pop dx E527:24F2 pop bx E527:24F3 jb 2550 E527:24F5 cmp ax,cx E527:24F7 jb 2550 E527:24F9 call 2596 E527:24FC add bx,ax E527:24FE adc dx,00 E527:2501 cmp dx,es:[di+12] E527:2505 ja 250D E527:2507 cmp bx,es:[di+10] E527:250B jbe 2515 E527:250D mov es:[di+10],bx E527:2511 mov es:[di+12],dx E527:2515 jmp 2550 E527:2517 nop E527:2518 les di,es:[di+19] E527:251C mov [009E],di E527:2520 mov [00A0],es E527:2524 mov ax,ds E527:2526 mov es,ax E527:2528 mov bx,0088 E527:252B mov byte ptr es:[bx],1A E527:252F mov byte ptr es:[bx+02],08 E527:2534 call 3FD6 E527:2537 mov ax,[004C] E527:253A mov es:[bx+0E],ax E527:253E mov ax,[004E] E527:2541 mov es:[bx+10],ax E527:2545 mov es:[bx+12],cx E527:2549 call 1C58 E527:254C mov ax,es:[bx+12] E527:2550 mov al,00 E527:2552 jnb 2556 E527:2554 mov al,01 E527:2556 pop cx E527:2557 ret E527:2558 les di,ss:[004C] E527:255D push di E527:255E add di,cx E527:2560 jnb 2564 E527:2562 mov al,02 E527:2564 pop di E527:2565 ret E527:2566 push dx E527:2567 mov ax,0080 E527:256A mul word ptr es:[di+0E] E527:256E mov cx,dx E527:2570 mul word ptr es:[di+0C] E527:2574 xchg ax,cx E527:2575 mov bx,dx E527:2577 mul word ptr es:[di+0C] E527:257B jb 2592 E527:257D add bx,ax E527:257F jb 2592 E527:2581 mov al,es:[di+20] E527:2585 and ax,007F E527:2588 mul word ptr es:[di+0E] E527:258C add ax,cx E527:258E adc bx,dx E527:2590 jnb 2594 E527:2592 mov al,01 E527:2594 pop dx E527:2595 ret E527:2596 push ax E527:2597 les di,ss:[0042] E527:259C mov ax,[010B] E527:25A0 mov es:[di+1D],ax E527:25A4 mov ax,[010D] E527:25A8 mov es:[di+1B],ax E527:25AC inc byte ptr es:[di+20] E527:25B0 jns 25BB E527:25B2 and byte ptr es:[di+20],7F E527:25B7 inc word ptr es:[di+0C] E527:25BB pop ax E527:25BC ret E527:25BD push cx E527:25BE les di,ss:[0042] E527:25C3 cmp word ptr es:[di+23],7F E527:25C8 jbe 25CF E527:25CA mov al,01 E527:25CC stc E527:25CD jmp 25E5 E527:25CF mov cx,0080 E527:25D2 mov ax,es:[di+21] E527:25D6 mov dx,es:[di+23] E527:25DA div cx E527:25DC mov es:[di+0C],ax E527:25E0 mov es:[di+20],dl E527:25E4 clc E527:25E5 pop cx E527:25E6 ret Int21_Fn3C Create file E527:25E7 test cx,FFD8 E527:25EB jne 2630 E527:25ED call 1C92 E527:25F0 jne 25FE E527:25F2 mov al,02 E527:25F4 call 29C5 E527:25F7 jb 262D E527:25F9 mov ax,bx E527:25FB jmp 2634 E527:25FD nop E527:25FE call 2CF3 E527:2601 jb 2634 E527:2603 call 2BB6 E527:2606 jnb 260F E527:2608 call 2E43 E527:260B stc E527:260C jmp 2634 E527:260E nop E527:260F call 2D40 E527:2612 jb 262D E527:2614 mov word ptr es:[di+02],0002 E527:261A and word ptr es:[di+05],FFBF E527:2620 mov ax,[0046] E527:2624 mov word ptr ss:[0046],FFFF E527:262B jmp 2634 E527:262D call 2E43 E527:2630 stc E527:2631 mov ax,0005 E527:2634 ret Int21_Fn3D Open file E527:2635 test al,F8 E527:2637 je 263F E527:2639 mov ax,000C E527:263C stc E527:263D jmp 269F E527:263F mov [0048],al E527:2643 mov cx,0016 E527:2646 call 2A25 E527:2649 jnb 264E E527:264B jmp 269F E527:264D nop E527:264E test al,40 E527:2650 jne 2698 E527:2652 test byte ptr es:[di+0B],10 E527:2657 jne 2692 E527:2659 mov al,[0048] E527:265D cmp al,00 E527:265F je 2668 E527:2661 test byte ptr es:[di+0B],01 E527:2666 jne 2692 E527:2668 push bx E527:2669 push di E527:266A push es E527:266B call 2CF3 E527:266E pop es E527:266F pop di E527:2670 pop bx E527:2671 jb 269F E527:2673 call 2D40 E527:2676 jb 268F E527:2678 mov al,[0048] E527:267C xor ah,ah E527:267E mov es:[di+02],ax E527:2682 mov ax,[0046] E527:2686 mov word ptr ss:[0046],FFFF E527:268D jmp 269F E527:268F call 2E43 E527:2692 mov ax,0005 E527:2695 stc E527:2696 jmp 269F E527:2698 call 29C5 E527:269B jb 269F E527:269D mov ax,bx E527:269F ret Int21_Fn3E Close file E527:26A0 call 2E21 E527:26A3 jnb 26A8 E527:26A5 jmp 272E E527:26A8 test word ptr es:[di+05],0080 E527:26AE jne 2722 E527:26B0 push bx E527:26B1 mov ax,es:[di+05] E527:26B5 test al,40 E527:26B7 jne 271F E527:26B9 and al,2F E527:26BB mov [0051],al E527:26BF mov bl,es:[di+1F] E527:26C3 xor bh,bh E527:26C5 mov ax,0020 E527:26C8 mul bx E527:26CA mov bx,ax E527:26CC mov dx,es:[di+1D] E527:26D0 push di E527:26D1 push es E527:26D2 mov ax,ss E527:26D4 mov es,ax E527:26D6 mov di,016D E527:26D9 mov cx,0020 E527:26DC call 0858 E527:26DF mov di,016D E527:26E2 pop ds E527:26E3 pop si E527:26E4 push si E527:26E5 push di E527:26E6 lea si,[si+20] E527:26E9 mov cx,000B E527:26EC repe cmpsb E527:26EE pop di E527:26EF pop si E527:26F0 stc E527:26F1 jne 271F E527:26F3 or byte ptr es:[di+0B],20 E527:26F8 push di E527:26F9 lea di,[di+16] E527:26FC mov ax,[si+0D] E527:26FF stosw E527:2700 mov ax,[si+0F] E527:2703 stosw E527:2704 mov ax,[si+0B] E527:2707 stosw E527:2708 mov ax,[si+11] E527:270B stosw E527:270C mov ax,[si+13] E527:270F stosw E527:2710 pop di E527:2711 mov cx,0020 E527:2714 call 086E E527:2717 call 0920 E527:271A les di,ss:[00A2] E527:271F pop bx E527:2720 jb 272E E527:2722 mov ss:[0046],bx E527:2727 call 2E43 E527:272A xor ax,ax E527:272C jmp 2732 E527:272E mov ax,0006 E527:2731 stc E527:2732 ret Int21_Fn41 Delete file E527:2733 mov cx,0016 E527:2736 call 2A25 E527:2739 jb 2786 E527:273B test al,41 E527:273D jne 277E E527:273F test al,10 E527:2741 jne 2783 E527:2743 call 2CCA E527:2746 je 277E E527:2748 call 1722 E527:274B push dx E527:274C mov dx,es:[di+1A] E527:2750 or dx,dx E527:2752 je 2757 E527:2754 call 16A0 E527:2757 pop dx E527:2758 jb 277E E527:275A mov ax,ss E527:275C mov es,ax E527:275E mov di,00AA E527:2761 mov byte ptr ss:[00AA],E5 E527:2767 push dx E527:2768 mov ax,0020 E527:276B mul bx E527:276D mov bx,dx E527:276F pop dx E527:2770 mov cx,0001 E527:2773 call 3EEA E527:2776 jb 277E E527:2778 call 0920 E527:277B clc E527:277C jmp 2787 E527:277E mov ax,0005 E527:2781 jmp 2786 E527:2783 mov ax,0003 E527:2786 stc E527:2787 ret Int21_Fn43 Set/query file attribute E527:2788 push ax E527:2789 push cx E527:278A mov cx,0017 E527:278D call 2A25 E527:2790 jb 279A E527:2792 test al,40 E527:2794 je 27A0 E527:2796 mov ax,0005 E527:2799 stc E527:279A add sp,04 E527:279D jmp 27FB E527:279F nop E527:27A0 pop cx E527:27A1 pop ax E527:27A2 test al,40 E527:27A4 jne 27FB E527:27A6 cmp al,00 E527:27A8 jne 27BC E527:27AA mov al,es:[di+0B] E527:27AE xor ah,ah E527:27B0 les di,ss:[00AB] E527:27B5 mov es:[di+04],ax E527:27B9 jmp 27FC E527:27BB nop E527:27BC dec al E527:27BE jne 27F8 E527:27C0 test cx,FFD8 E527:27C4 jne 27D3 E527:27C6 test byte ptr es:[di+0B],10 E527:27CB je 27DA E527:27CD or cx,0010 E527:27D1 jmp 27DA E527:27D3 mov ax,0005 E527:27D6 stc E527:27D7 jmp 27FC E527:27D9 nop E527:27DA mov es:[di+0B],cl E527:27DE mov cx,0020 E527:27E1 push dx E527:27E2 mov ax,0020 E527:27E5 mul bx E527:27E7 mov bx,dx E527:27E9 pop dx E527:27EA call 3EEA E527:27ED call 0920 E527:27F0 clc E527:27F1 jmp 27FC E527:27F3 mov ax,0002 E527:27F6 jmp 27FB E527:27F8 mov ax,0001 E527:27FB stc E527:27FC ret Int21_Fn45 Duplicate file handle E527:27FD call 2DC3 E527:2800 jb 2840 E527:2802 cmp al,FF E527:2804 jne 280C E527:2806 stc E527:2807 mov ax,0006 E527:280A jmp 2840 E527:280C xor bx,bx E527:280E xor ah,ah E527:2810 mov dx,ax E527:2812 push dx E527:2813 call 2DC3 E527:2816 pop dx E527:2817 jb 2840 E527:2819 cmp al,FF E527:281B je 2820 E527:281D inc bx E527:281E jmp 2812 E527:2820 mov ss:[0046],bx E527:2825 mov bx,dx E527:2827 call 2DE2 E527:282A mov bx,dx E527:282C call 2DF5 E527:282F jb 2840 E527:2831 inc word ptr es:[di] E527:2834 mov ax,[0046] E527:2838 mov word ptr ss:[0046],FFFF E527:283F clc E527:2840 ret Int21_Fn46 Redirect a handle E527:2841 push bx E527:2842 push cx E527:2843 mov bx,cx E527:2845 call 26A0 E527:2848 pop cx E527:2849 pop bx E527:284A call 2E21 E527:284D jb 2871 E527:284F call 2DC3 E527:2852 jnb 2859 E527:2854 mov ax,0004 E527:2857 jmp 2871 E527:2859 mov bl,al E527:285B xor bh,bh E527:285D mov ss:[0046],cx E527:2862 call 2DE2 E527:2865 jb 2871 E527:2867 inc word ptr es:[di] E527:286A mov word ptr ss:[0046],FFFF E527:2871 ret Int21_Fn4E Find first E527:2872 call 2A25 E527:2875 jb 289B E527:2877 push di E527:2878 push es E527:2879 mov ax,ss E527:287B mov ds,ax E527:287D mov si,0052 E527:2880 les di,[004C] E527:2884 push di E527:2885 push cx E527:2886 mov cx,0005 E527:2889 mov al,[0051] E527:288C stosb E527:288D rep movsw E527:288F movsb E527:2890 pop cx E527:2891 mov al,cl E527:2893 stosb E527:2894 pop di E527:2895 pop ds E527:2896 pop si E527:2897 call 2C2E E527:289A clc E527:289B ret Int21_Fn4F Find next E527:289C call 2CA6 E527:289F call 2AA3 E527:28A2 jb 28B3 E527:28A4 mov ax,es E527:28A6 mov ds,ax E527:28A8 mov si,di E527:28AA les di,ss:[004C] E527:28AF call 2C2E E527:28B2 clc E527:28B3 ret Int21_Fn56 Rename/move file E527:28B4 mov cx,0016 E527:28B7 push word ptr ss:[00A6] E527:28BC push word ptr ss:[00A8] E527:28C1 mov ss:[00A6],di E527:28C6 mov ss:[00A8],es E527:28CB call 2A25 E527:28CE pop word ptr ss:[00A8] E527:28D3 pop word ptr ss:[00A6] E527:28D8 jnb 292A E527:28DA cmp ax,0002 E527:28DD jne 292D E527:28DF call 2CCA E527:28E2 je 2923 E527:28E4 mov ax,ss E527:28E6 mov ds,ax E527:28E8 mov es,ax E527:28EA mov si,0052 E527:28ED mov di,005D E527:28F0 mov cx,000B E527:28F3 rep movsb E527:28F5 push word ptr ss:[0051] E527:28FA push dx E527:28FB mov cx,0016 E527:28FE call 2A25 E527:2901 jb 291C E527:2903 test al,40 E527:2905 je 290C E527:2907 mov ax,0005 E527:290A jmp 291C E527:290C pop cx E527:290D pop ax E527:290E cmp al,ss:[0051] E527:2913 je 2931 E527:2915 mov ax,0011 E527:2918 stc E527:2919 jmp 2988 E527:291B nop E527:291C add sp,04 E527:291F stc E527:2920 jmp 2988 E527:2922 nop E527:2923 mov ax,0003 E527:2926 stc E527:2927 jmp 2988 E527:2929 nop E527:292A mov ax,0005 E527:292D stc E527:292E jmp 2988 E527:2930 nop E527:2931 call 2CCA E527:2934 je 2923 E527:2936 cmp cx,dx E527:2938 je 2968 E527:293A test byte ptr es:[di+0B],10 E527:293F jne 292A E527:2941 mov ax,bx E527:2943 xchg dx,cx E527:2945 call 1843 E527:2948 jb 292A E527:294A push bx E527:294B push dx E527:294C push di E527:294D mov bx,0020 E527:2950 mul bx E527:2952 mov bx,dx E527:2954 mov dx,cx E527:2956 mov di,00AA E527:2959 mov byte ptr ss:[00AA],E5 E527:295F mov cx,0001 E527:2962 call 3EEA E527:2965 pop di E527:2966 pop dx E527:2967 pop bx E527:2968 push di E527:2969 mov ax,ss E527:296B mov ds,ax E527:296D mov si,005D E527:2970 mov cx,000B E527:2973 rep movsb E527:2975 pop di E527:2976 push dx E527:2977 mov ax,0020 E527:297A mul bx E527:297C mov bx,dx E527:297E pop dx E527:297F mov cx,0020 E527:2982 call 3EEA E527:2985 call 0920 E527:2988 ret Int21_Fn57 Set/query file time/date E527:2989 cmp al,00 E527:298B je 2997 E527:298D cmp al,01 E527:298F je 29B1 E527:2991 mov ax,0001 E527:2994 stc E527:2995 jmp 29C4 E527:2997 call 2E21 E527:299A jb 29C4 E527:299C lds si,ss:[00AB] E527:29A1 mov ax,es:[di+0D] E527:29A5 mov [si+04],ax E527:29A8 mov ax,es:[di+0F] E527:29AC mov [si+06],ax E527:29AF jmp 29C4 E527:29B1 call 2E21 E527:29B4 jb 29C4 E527:29B6 and word ptr es:[di+05],FFBF E527:29BC mov es:[di+0D],cx E527:29C0 mov es:[di+0F],dx E527:29C4 ret E527:29C5 push ds E527:29C6 mov [0048],al E527:29C9 call 2CF3 E527:29CC jb 2A23 E527:29CE les di,ss:[00A2] E527:29D3 lds si,ss:[009E] E527:29D8 mov al,[0048] E527:29DC xor ah,ah E527:29DE mov es:[di+02],ax E527:29E2 mov es:[di+07],si E527:29E6 mov es:[di+09],ds E527:29EA mov ax,[si+04] E527:29ED or ax,00C0 E527:29F0 and ax,FFDF E527:29F3 mov es:[di+05],ax E527:29F7 mov ax,ss E527:29F9 mov ds,ax E527:29FB mov si,0052 E527:29FE push di E527:29FF lea di,[di+20] E527:2A02 mov cx,000B E527:2A05 rep movsb E527:2A07 pop di E527:2A08 call 1137 E527:2A0B mov es:[di+0F],ax E527:2A0F call 1176 E527:2A12 mov es:[di+0D],ax E527:2A16 mov bx,ss:[0046] E527:2A1B mov word ptr ss:[0046],FFFF E527:2A22 clc E527:2A23 pop ds E527:2A24 ret E527:2A25 lds si,ss:[00A6] E527:2A2A lodsw E527:2A2B cmp ah,3A E527:2A2E jne 2A38 E527:2A30 call 4326 E527:2A33 jb 2A91 E527:2A35 jmp 2A3E E527:2A37 nop E527:2A38 dec si E527:2A39 dec si E527:2A3A mov al,[0050] E527:2A3E mov [0051],al E527:2A42 call 14A7 E527:2A45 jb 2A91 E527:2A47 mov ss:[003E],di E527:2A4C mov ss:[0040],es E527:2A51 call 16BF E527:2A54 mov al,[si] E527:2A56 cmp al,ss:[0114] E527:2A5B jne 2A62 E527:2A5D xor dx,dx E527:2A5F inc si E527:2A60 mov al,[si] E527:2A62 call 42E7 E527:2A65 jne 2A6B E527:2A67 cmp al,2E E527:2A69 jne 2A91 E527:2A6B call 2B32 E527:2A6E jb 2A91 E527:2A70 mov ax,ss E527:2A72 mov ds,ax E527:2A74 mov si,0052 E527:2A77 call 1CB1 E527:2A7A je 2A97 E527:2A7C mov si,0052 E527:2A7F xor bx,bx E527:2A81 call 2AA3 E527:2A84 jb 2A8C E527:2A86 mov al,es:[di+0B] E527:2A8A jmp 2AA2 E527:2A8C mov ax,0002 E527:2A8F jmp 2AA2 E527:2A91 mov ax,0003 E527:2A94 stc E527:2A95 jmp 2AA2 E527:2A97 xor dx,dx E527:2A99 dec dx E527:2A9A mov bx,dx E527:2A9C mov al,40 E527:2A9E add di,0A E527:2AA1 clc E527:2AA2 ret E527:2AA3 mov ax,ss E527:2AA5 mov es,ax E527:2AA7 mov di,016D E527:2AAA cmp dx,00 E527:2AAD jne 2ABD E527:2AAF push si E527:2AB0 push ds E527:2AB1 lds si,ss:[003E] E527:2AB6 cmp bx,[si+09] E527:2AB9 pop ds E527:2ABA pop si E527:2ABB jnb 2AEA E527:2ABD push bx E527:2ABE push cx E527:2ABF push dx E527:2AC0 mov ax,bx E527:2AC2 mov cx,0020 E527:2AC5 mul cx E527:2AC7 mov bx,dx E527:2AC9 pop dx E527:2ACA call 3E78 E527:2ACD pop cx E527:2ACE pop bx E527:2ACF jb 2AEA E527:2AD1 cmp ax,0000 E527:2AD4 je 2AEA E527:2AD6 cmp byte ptr es:[di],00 E527:2ADA je 2AEA E527:2ADC cmp byte ptr es:[di],E5 E527:2AE0 je 2AE7 E527:2AE2 call 2AEF E527:2AE5 je 2AEE E527:2AE7 inc bx E527:2AE8 jmp 2AAA E527:2AEA stc E527:2AEB mov ax,0012 E527:2AEE ret E527:2AEF push cx E527:2AF0 push si E527:2AF1 push di E527:2AF2 push ds E527:2AF3 push es E527:2AF4 mov al,es:[di+0B] E527:2AF8 and al,DE E527:2AFA cmp cl,00 E527:2AFD je 2B10 E527:2AFF test cl,08 E527:2B02 jne 2B10 E527:2B04 cmp al,00 E527:2B06 je 2B1A E527:2B08 test al,cl E527:2B0A jne 2B16 E527:2B0C or al,01 E527:2B0E jmp 2B2C E527:2B10 cmp cl,al E527:2B12 je 2B1A E527:2B14 jmp 2B0C E527:2B16 cmp cl,al E527:2B18 jl 2B0C E527:2B1A mov cx,000B E527:2B1D lodsb E527:2B1E cmp al,3F E527:2B20 jne 2B27 E527:2B22 inc di E527:2B23 xor al,al E527:2B25 jmp 2B2A E527:2B27 scasb E527:2B28 jne 2B2C E527:2B2A loop 2B1D E527:2B2C pop es E527:2B2D pop ds E527:2B2E pop di E527:2B2F pop si E527:2B30 pop cx E527:2B31 ret E527:2B32 push cx E527:2B33 push si E527:2B34 push ds E527:2B35 mov ax,ss E527:2B37 mov es,ax E527:2B39 mov di,0052 E527:2B3C push di E527:2B3D mov al,20 E527:2B3F mov cx,000B E527:2B42 rep stosb E527:2B44 pop di E527:2B45 push si E527:2B46 lodsw E527:2B47 cmp al,2E E527:2B49 je 2B66 E527:2B4B pop si E527:2B4C xor al,al E527:2B4E call 428B E527:2B51 mov cl,ss:[0114] E527:2B56 cmp [si],cl E527:2B58 clc E527:2B59 jne 2BB2 E527:2B5B cmp al,01 E527:2B5D jne 2B8C E527:2B5F mov ax,0003 E527:2B62 stc E527:2B63 jmp 2BB2 E527:2B65 nop E527:2B66 cmp ah,2E E527:2B69 je 2B6E E527:2B6B dec si E527:2B6C mov ah,20 E527:2B6E mov cl,ss:[0114] E527:2B73 cmp [si],cl E527:2B75 je 2B7C E527:2B77 cmp byte ptr [si],00 E527:2B7A jne 2B4B E527:2B7C add sp,02 E527:2B7F mov es:[di],ax E527:2B82 mov cl,ss:[0114] E527:2B87 cmp [si],cl E527:2B89 clc E527:2B8A jne 2BB2 E527:2B8C inc si E527:2B8D push si E527:2B8E push ds E527:2B8F xor bx,bx E527:2B91 mov cx,0010 E527:2B94 push es E527:2B95 pop ds E527:2B96 mov si,di E527:2B98 call 2AA3 E527:2B9B jb 2BAC E527:2B9D test byte ptr es:[di+0B],10 E527:2BA2 je 2BAC E527:2BA4 mov dx,es:[di+1A] E527:2BA8 pop ds E527:2BA9 pop si E527:2BAA jmp 2B35 E527:2BAC pop ds E527:2BAD pop si E527:2BAE mov ax,0003 E527:2BB1 stc E527:2BB2 pop ds E527:2BB3 pop si E527:2BB4 pop cx E527:2BB5 ret E527:2BB6 push cx E527:2BB7 mov cx,0017 E527:2BBA call 2A25 E527:2BBD pop cx E527:2BBE jb 2C1B E527:2BC0 test al,17 E527:2BC2 jne 2C29 E527:2BC4 call 2CCA E527:2BC7 je 2C29 E527:2BC9 push dx E527:2BCA mov dx,es:[di+1A] E527:2BCE or cl,20 E527:2BD1 mov es:[di+0B],cl E527:2BD5 cmp dx,00 E527:2BD8 je 2BDD E527:2BDA call 16A0 E527:2BDD pop dx E527:2BDE jb 2C29 E527:2BE0 xor ax,ax E527:2BE2 mov es:[di+1A],ax E527:2BE6 mov es:[di+1C],ax E527:2BEA mov es:[di+1E],ax E527:2BEE call 1137 E527:2BF1 mov es:[di+18],ax E527:2BF5 call 1176 E527:2BF8 mov es:[di+16],ax E527:2BFC or byte ptr es:[di+0B],20 E527:2C01 push bx E527:2C02 push dx E527:2C03 mov ax,0020 E527:2C06 mul bx E527:2C08 mov bx,dx E527:2C0A pop dx E527:2C0B mov cx,0020 E527:2C0E call 3EEA E527:2C11 pop bx E527:2C12 jb 2C29 E527:2C14 call 2CDF E527:2C17 clc E527:2C18 jmp 2C2D E527:2C1A nop E527:2C1B cmp ax,0003 E527:2C1E stc E527:2C1F je 2C2D E527:2C21 or cl,20 E527:2C24 call 17C8 E527:2C27 jnb 2C2D E527:2C29 mov ax,0005 E527:2C2C stc E527:2C2D ret E527:2C2E lea di,[di+0D] E527:2C31 mov ax,bx E527:2C33 stosw E527:2C34 mov ax,dx E527:2C36 stosw E527:2C37 add di,04 E527:2C3A and ax,bx E527:2C3C cmp ax,FFFF E527:2C3F je 2C88 E527:2C41 mov al,[si+0B] E527:2C44 stosb E527:2C45 mov ax,[si+16] E527:2C48 stosw E527:2C49 mov ax,[si+18] E527:2C4C stosw E527:2C4D mov ax,[si+1C] E527:2C50 stosw E527:2C51 mov ax,[si+1E] E527:2C54 stosw E527:2C55 mov cx,0008 E527:2C58 mov ah,[si+0B] E527:2C5B test ah,08 E527:2C5E je 2C69 E527:2C60 mov cx,000B E527:2C63 lodsb E527:2C64 stosb E527:2C65 loop 2C63 E527:2C67 jmp 2C84 E527:2C69 lodsb E527:2C6A cmp al,20 E527:2C6C je 2C6F E527:2C6E stosb E527:2C6F loop 2C69 E527:2C71 cmp byte ptr [si],20 E527:2C74 je 2C84 E527:2C76 mov al,2E E527:2C78 stosb E527:2C79 mov cx,0003 E527:2C7C lodsb E527:2C7D cmp al,20 E527:2C7F je 2C84 E527:2C81 stosb E527:2C82 loop 2C7C E527:2C84 mov al,00 E527:2C86 stosb E527:2C87 ret E527:2C88 mov al,40 E527:2C8A stosb E527:2C8B mov ax,[si+16] E527:2C8E stosw E527:2C8F mov ax,[si+18] E527:2C92 stosw E527:2C93 mov ax,0000 E527:2C96 stosw E527:2C97 mov ax,0000 E527:2C9A stosw E527:2C9B mov cx,0008 E527:2C9E lodsb E527:2C9F stosb E527:2CA0 loop 2C9E E527:2CA2 mov al,00 E527:2CA4 stosb E527:2CA5 ret E527:2CA6 lds si,ss:[004C] E527:2CAB mov dx,[si+0F] E527:2CAE mov bx,[si+0D] E527:2CB1 inc bx E527:2CB2 mov cl,[si+0C] E527:2CB5 xor ch,ch E527:2CB7 lodsb E527:2CB8 mov [0051],al E527:2CBC call 14A7 E527:2CBF mov ss:[003E],di E527:2CC4 mov ss:[0040],es E527:2CC9 ret E527:2CCA push cx E527:2CCB push di E527:2CCC push es E527:2CCD mov ax,ss E527:2CCF mov es,ax E527:2CD1 mov di,0052 E527:2CD4 mov al,3F E527:2CD6 mov cx,000B E527:2CD9 repne scasb E527:2CDB pop es E527:2CDC pop di E527:2CDD pop cx E527:2CDE ret E527:2CDF push ax E527:2CE0 push bx E527:2CE1 push cx E527:2CE2 push dx E527:2CE3 push si E527:2CE4 push di E527:2CE5 push ds E527:2CE6 push es E527:2CE7 call 0920 E527:2CEA pop es E527:2CEB pop ds E527:2CEC pop di E527:2CED pop si E527:2CEE pop dx E527:2CEF pop cx E527:2CF0 pop bx E527:2CF1 pop ax E527:2CF2 ret E527:2CF3 push cx E527:2CF4 push dx E527:2CF5 xor bx,bx E527:2CF7 call 2DC3 E527:2CFA jb 2D33 E527:2CFC cmp al,FF E527:2CFE je 2D03 E527:2D00 inc bx E527:2D01 jmp 2CF7 E527:2D03 mov ss:[0046],bx E527:2D08 xor bx,bx E527:2D0A call 2DF5 E527:2D0D jb 2D33 E527:2D0F cmp word ptr es:[di],00 E527:2D13 je 2D18 E527:2D15 inc bx E527:2D16 jmp 2D0A E527:2D18 push di E527:2D19 mov cx,0035 E527:2D1C xor ax,ax E527:2D1E rep stosb E527:2D20 pop di E527:2D21 inc word ptr es:[di] E527:2D24 mov ss:[00A2],di E527:2D29 mov ss:[00A4],es E527:2D2E call 2DE2 E527:2D31 jmp 2D3D E527:2D33 mov word ptr ss:[0046],FFFF E527:2D3A mov ax,0004 E527:2D3D pop dx E527:2D3E pop cx E527:2D3F ret E527:2D40 push bx E527:2D41 push dx E527:2D42 mov dx,es E527:2D44 mov ds,dx E527:2D46 mov dx,di E527:2D48 les bx,ss:[00A2] E527:2D4D mov si,dx E527:2D4F lea di,[bx+20] E527:2D52 mov cx,000B E527:2D55 rep movsb E527:2D57 mov si,dx E527:2D59 mov word ptr es:[bx+02],0002 E527:2D5F test byte ptr [si+0B],01 E527:2D63 je 2D6B E527:2D65 mov word ptr es:[bx+02],0000 E527:2D6B mov al,[si+0B] E527:2D6E mov es:[bx+04],al E527:2D72 mov ax,[si+1A] E527:2D75 mov es:[bx+0B],ax E527:2D79 mov es:[bx+1B],ax E527:2D7D lea si,[si+16] E527:2D80 lea di,[bx+0D] E527:2D83 movsw E527:2D84 movsw E527:2D85 mov si,dx E527:2D87 lea si,[si+1C] E527:2D8A lea di,[bx+11] E527:2D8D movsw E527:2D8E movsw E527:2D8F mov di,bx E527:2D91 pop dx E527:2D92 pop bx E527:2D93 push bx E527:2D94 push dx E527:2D95 lds si,ss:[003E] E527:2D9A call 176B E527:2D9D jb 2DC0 E527:2D9F mov es:[di+1D],dx E527:2DA3 mov es:[di+1F],bl E527:2DA7 mov es:[di+07],si E527:2DAB mov es:[di+09],ds E527:2DAF lds si,[si+12] E527:2DB2 mov ax,[si+04] E527:2DB5 mov al,[0051] E527:2DB9 or al,40 E527:2DBB mov es:[di+05],ax E527:2DBF clc E527:2DC0 pop dx E527:2DC1 pop bx E527:2DC2 ret E527:2DC3 cmp bx,ss:[0129] E527:2DC8 jnb 2DDD E527:2DCA cmp bx,14 E527:2DCD jnb 2DDD E527:2DCF push es E527:2DD0 mov es,ss:[007E] E527:2DD5 mov al,es:[bx+18] E527:2DD9 pop es E527:2DDA clc E527:2DDB jmp 2DE1 E527:2DDD mov ax,0006 E527:2DE0 stc E527:2DE1 ret E527:2DE2 push es E527:2DE3 mov ax,bx E527:2DE5 mov bx,ss:[0046] E527:2DEA mov es,ss:[007E] E527:2DEF mov es:[bx+18],al E527:2DF3 pop es E527:2DF4 ret E527:2DF5 les di,ss:[0032] E527:2DFA cmp di,FFFF E527:2DFE je 2E0F E527:2E00 cmp bx,es:[di+04] E527:2E04 jb 2E16 E527:2E06 sub bx,es:[di+04] E527:2E0A les di,es:[di] E527:2E0D jmp 2DFA E527:2E0F mov ax,0006 E527:2E12 stc E527:2E13 jmp 2E20 E527:2E15 nop E527:2E16 mov ax,0035 E527:2E19 mul bx E527:2E1B add di,ax E527:2E1D add di,06 E527:2E20 ret E527:2E21 push bx E527:2E22 push dx E527:2E23 call 2DC3 E527:2E26 jb 2E3D E527:2E28 mov bl,al E527:2E2A xor bh,bh E527:2E2C call 2DF5 E527:2E2F jb 2E40 E527:2E31 mov ss:[00A2],di E527:2E36 mov ss:[00A4],es E527:2E3B jmp 2E40 E527:2E3D mov ax,0006 E527:2E40 pop dx E527:2E41 pop bx E527:2E42 ret E527:2E43 push ax E527:2E44 push bx E527:2E45 push di E527:2E46 push es E527:2E47 mov bx,ss:[0046] E527:2E4C cmp bx,FF E527:2E4F je 2E64 E527:2E51 call 2E21 E527:2E54 jb 2E64 E527:2E56 dec word ptr es:[di] E527:2E59 mov bx,FFFF E527:2E5C call 2DE2 E527:2E5F mov [0046],ax E527:2E63 clc E527:2E64 pop es E527:2E65 pop di E527:2E66 pop bx E527:2E67 pop ax E527:2E68 ret E527:2E69 xchg ax,cx E527:2E6A mov [CB2E],al E527:2E6E jmp 312F:092E E527:2E74 das E527:2E75 pop cx E527:2E76 das E527:2E77 test al,2F Int21_Fn44 Device I/O control E527:2E79 cmp al,08 E527:2E7B jnb 2E8C E527:2E7D cbw E527:2E7E mov bp,ax E527:2E80 shl bp,1 E527:2E82 add bp,2E69 E527:2E86 call word ptr cs:[bp+00] E527:2E8A jmp 2E90 E527:2E8C mov ax,0001 E527:2E8F stc E527:2E90 ret E527:2E91 call 2E21 E527:2E94 jb 2EA1 E527:2E96 mov dx,es:[di+05] E527:2E9A lds si,[00AB] E527:2E9E mov [si+06],dx E527:2EA1 ret E527:2EA2 call 2E21 E527:2EA5 jb 2ECA E527:2EA7 test word ptr es:[di+05],8000 E527:2EAD jne 2EB5 E527:2EAF mov ax,0005 E527:2EB2 stc E527:2EB3 jmp 2ECA E527:2EB5 or dh,dh E527:2EB7 je 2EBF E527:2EB9 mov ax,0001 E527:2EBC stc E527:2EBD jmp 2ECA E527:2EBF mov es:[di+05],dx E527:2EC3 les di,es:[di+07] E527:2EC7 call 04D9 E527:2ECA ret E527:2ECB call 2E21 E527:2ECE jb 2EE9 E527:2ED0 test word ptr es:[di+05],8000 E527:2ED6 jne 2EDE E527:2ED8 mov ax,0001 E527:2EDB stc E527:2EDC jmp 2EE9 E527:2EDE les di,es:[di+07] E527:2EE2 mov al,03 E527:2EE4 xor ah,ah E527:2EE6 call 2FE3 E527:2EE9 ret E527:2EEA call 2E21 E527:2EED jb 2EE9 E527:2EEF test word ptr es:[di+05],8000 E527:2EF5 jne 2EDE E527:2EF7 mov ax,0001 E527:2EFA stc E527:2EFB jmp 2EE9 E527:2EFD les di,es:[di+07] E527:2F01 mov al,0C E527:2F03 xor ah,ah E527:2F05 call 2FE3 E527:2F08 ret E527:2F09 cmp bl,00 E527:2F0C jne 2F14 E527:2F0E mov bl,[0050] E527:2F12 inc bl E527:2F14 dec bl E527:2F16 mov al,bl E527:2F18 call 14A7 E527:2F1B jnb 2F23 E527:2F1D mov ax,0005 E527:2F20 stc E527:2F21 jmp 2F30 E527:2F23 mov ah,es:[di+01] E527:2F27 les di,es:[di+12] E527:2F2B mov al,03 E527:2F2D call 2FE3 E527:2F30 ret E527:2F31 cmp bl,00 E527:2F34 jne 2F3C E527:2F36 mov bl,[0050] E527:2F3A inc bl E527:2F3C dec bl E527:2F3E mov al,bl E527:2F40 call 14A7 E527:2F43 jnb 2F4B E527:2F45 mov ax,0005 E527:2F48 stc E527:2F49 jmp 2F58 E527:2F4B mov ah,es:[di+01] E527:2F4F les di,es:[di+12] E527:2F53 mov al,0C E527:2F55 call 2FE3 E527:2F58 ret E527:2F59 call 2E21 E527:2F5C jb 2FA7 E527:2F5E test word ptr es:[di+05],8000 E527:2F64 je 2F91 E527:2F66 les di,es:[di+07] E527:2F6A mov [009E],di E527:2F6E mov [00A0],es E527:2F72 mov bx,ds E527:2F74 mov es,bx E527:2F76 mov bx,0088 E527:2F79 mov byte ptr es:[bx],04 E527:2F7D mov byte ptr es:[bx+02],06 E527:2F82 call 1C58 E527:2F85 test word ptr es:[bx+03],0200 E527:2F8B jne 2FA5 E527:2F8D mov al,FF E527:2F8F jmp 2FA7 E527:2F91 mov bx,es:[di+11] E527:2F95 cmp bx,es:[di+15] E527:2F99 jne 2F8D E527:2F9B mov bx,es:[di+13] E527:2F9F cmp bx,es:[di+17] E527:2FA3 jne 2F8D E527:2FA5 mov al,00 E527:2FA7 ret E527:2FA8 call 2E21 E527:2FAB jb 2FE2 E527:2FAD test word ptr es:[di+05],8000 E527:2FB3 je 2FDC E527:2FB5 les di,es:[di+07] E527:2FB9 mov [009E],di E527:2FBD mov [00A0],es E527:2FC1 mov bx,ds E527:2FC3 mov es,bx E527:2FC5 mov bx,0088 E527:2FC8 mov byte ptr es:[bx],04 E527:2FCC mov byte ptr es:[bx+02],0A E527:2FD1 call 1C58 E527:2FD4 test word ptr es:[bx+03],0200 E527:2FDA jne 2FE0 E527:2FDC mov al,FF E527:2FDE jmp 2FE2 E527:2FE0 mov al,00 E527:2FE2 ret E527:2FE3 test word ptr es:[di+04],4000 E527:2FE9 jne 2FF1 E527:2FEB mov ax,0005 E527:2FEE stc E527:2FEF jmp 3023 E527:2FF1 mov [009E],di E527:2FF5 mov [00A0],es E527:2FF9 mov bx,ds E527:2FFB mov es,bx E527:2FFD mov bx,0088 E527:3000 mov byte ptr es:[bx],14 E527:3004 mov es:[bx+01],ah E527:3008 mov es:[bx+02],al E527:300C mov es:[bx+12],cx E527:3010 lds si,[00A6] E527:3014 mov es:[bx+0E],si E527:3018 mov es:[bx+10],ds E527:301C call 1C58 E527:301F mov ax,es:[bx+12] E527:3023 ret E527:3024 add di,0F E527:3027 mov bx,di E527:3029 call 4345 E527:302C xor di,di E527:302E mov ax,es E527:3030 mov bx,[0049] E527:3034 sub bx,ax E527:3036 dec bx E527:3037 mov es:[di+03],bx E527:303B mov byte ptr es:[di],5A E527:303F mov word ptr es:[di+01],0000 E527:3045 mov [000A],ax E527:3048 mov byte ptr [004B],00 E527:304D ret Int21_Fn48 Allocate memory E527:304E push ss E527:304F pop ds E527:3050 push cx E527:3051 push es E527:3052 xor ax,ax E527:3054 mov cx,FFFF E527:3057 xor dx,dx E527:3059 mov si,[000A] E527:305D mov es,si E527:305F xor si,si E527:3061 jmp 3074 E527:3063 cmp byte ptr es:[si],5A E527:3067 je 30B9 E527:3069 push ax E527:306A mov ax,es E527:306C add ax,es:[si+03] E527:3070 inc ax E527:3071 mov es,ax E527:3073 pop ax E527:3074 cmp byte ptr es:[si],4D E527:3078 je 3080 E527:307A cmp byte ptr es:[si],5A E527:307E jne 30B3 E527:3080 cmp word ptr es:[si+01],00 E527:3085 jne 3063 E527:3087 cmp es:[si+03],ax E527:308B jbe 3091 E527:308D mov ax,es:[si+03] E527:3091 cmp es:[si+03],bx E527:3095 jb 3063 E527:3097 cmp byte ptr [004B],00 E527:309C je 30C0 E527:309E cmp byte ptr [004B],02 E527:30A3 je 30AF E527:30A5 cmp es:[si+03],cx E527:30A9 jnb 3063 E527:30AB mov cx,es:[si+03] E527:30AF mov dx,es E527:30B1 jmp 3063 E527:30B3 mov ax,0007 E527:30B6 stc E527:30B7 jmp 3119 E527:30B9 cmp dx,00 E527:30BC je 3105 E527:30BE mov es,dx E527:30C0 mov cx,es E527:30C2 inc cx E527:30C3 mov dx,es:[si+03] E527:30C7 mov ax,[007E] E527:30CA mov es:[si+01],ax E527:30CE cmp bx,dx E527:30D0 je 30EE E527:30D2 mov byte ptr es:[si],4D E527:30D6 mov es:[si+03],bx E527:30DA mov ax,es E527:30DC add ax,bx E527:30DE inc ax E527:30DF mov es,ax E527:30E1 sub dx,bx E527:30E3 dec dx E527:30E4 mov es:[si+03],dx E527:30E8 mov word ptr es:[si+01],0000 E527:30EE mov byte ptr es:[si],4D E527:30F2 mov ax,es E527:30F4 add ax,es:[si+03] E527:30F8 inc ax E527:30F9 cmp ax,[0049] E527:30FD jne 3116 E527:30FF mov byte ptr es:[si],5A E527:3103 jmp 3116 E527:3105 push ds E527:3106 lds si,[00AB] E527:310A mov bx,ax E527:310C mov [si+02],bx E527:310F pop ds E527:3110 mov ax,0008 E527:3113 stc E527:3114 jmp 3119 E527:3116 mov ax,cx E527:3118 clc E527:3119 pop es E527:311A pop cx E527:311B ret Int21_Fn49 Free alocated memory block E527:311C push ss E527:311D pop ds E527:311E mov ax,es E527:3120 dec ax E527:3121 mov es,ax E527:3123 xor si,si E527:3125 cmp byte ptr es:[si],4D E527:3129 je 3131 E527:312B cmp byte ptr es:[si],5A E527:312F jne 3139 E527:3131 mov word ptr es:[si+01],0000 E527:3137 jmp 313D E527:3139 mov ax,0009 E527:313C stc E527:313D call 3249 E527:3140 ret Int21_Fn4A Shiring or expand memory block E527:3141 push ss E527:3142 pop ds E527:3143 mov ax,es E527:3145 dec ax E527:3146 mov es,ax E527:3148 xor si,si E527:314A cmp byte ptr es:[si],4D E527:314E je 3159 E527:3150 cmp byte ptr es:[si],5A E527:3154 je 3159 E527:3156 jmp 31E3 E527:3159 mov ax,[007E] E527:315C cmp es:[si+01],ax E527:3160 je 3165 E527:3162 jmp 31E3 E527:3164 nop E527:3165 mov cx,es E527:3167 cmp es:[si+03],bx E527:316B ja 3172 E527:316D jb 3198 E527:316F jmp 31FF E527:3172 mov dx,es:[si+03] E527:3176 mov es:[si+03],bx E527:317A mov byte ptr es:[si],4D E527:317E mov ax,es E527:3180 add ax,bx E527:3182 inc ax E527:3183 mov es,ax E527:3185 sub dx,bx E527:3187 dec dx E527:3188 mov es:[si+03],dx E527:318C mov word ptr es:[si+01],0000 E527:3192 mov byte ptr es:[si],4D E527:3196 jmp 31EE E527:3198 mov dx,es:[si+03] E527:319C cmp byte ptr es:[si],5A E527:31A0 je 31D1 E527:31A2 mov ax,es E527:31A4 add ax,es:[si+03] E527:31A8 inc ax E527:31A9 mov es,ax E527:31AB cmp byte ptr es:[si],5A E527:31AF je 31B7 E527:31B1 cmp byte ptr es:[si],4D E527:31B5 jne 31E8 E527:31B7 cmp word ptr es:[si+01],00 E527:31BC jne 31D1 E527:31BE add dx,es:[si+03] E527:31C2 inc dx E527:31C3 cmp dx,bx E527:31C5 jb 319C E527:31C7 mov es,cx E527:31C9 ja 3176 E527:31CB mov es:[si+03],dx E527:31CF jmp 31EE E527:31D1 mov bx,es:[si+03] E527:31D5 push ds E527:31D6 lds si,[00AB] E527:31DA mov [si+02],bx E527:31DD pop ds E527:31DE mov ax,0008 E527:31E1 jmp 31EB E527:31E3 mov ax,0009 E527:31E6 jmp 31EB E527:31E8 mov ax,0007 E527:31EB stc E527:31EC jmp 3203 E527:31EE mov ax,es E527:31F0 add ax,es:[si+03] E527:31F4 inc ax E527:31F5 cmp ax,[0049] E527:31F9 jne 31FF E527:31FB mov byte ptr es:[si],5A E527:31FF mov ax,cx E527:3201 inc ax E527:3202 clc E527:3203 call 3249 E527:3206 ret E527:3207 push ss E527:3208 pop ds E527:3209 mov ax,[007E] E527:320C mov es,ax E527:320E xor si,si E527:3210 cmp es:[si+16],ax E527:3214 je 3245 E527:3216 mov dx,[000A] E527:321A mov es,dx E527:321C cmp byte ptr es:[si],4D E527:3220 je 3228 E527:3222 cmp byte ptr es:[si],5A E527:3226 jne 3241 E527:3228 cmp es:[si+01],ax E527:322C jne 3234 E527:322E mov word ptr es:[si+01],0000 E527:3234 cmp byte ptr es:[si],5A E527:3238 je 3245 E527:323A add dx,es:[si+03] E527:323E inc dx E527:323F jmp 321A E527:3241 mov ax,0007 E527:3244 stc E527:3245 call 3249 E527:3248 ret E527:3249 push ax E527:324A push ds E527:324B pushf E527:324C mov ax,[000A] E527:3250 mov es,ax E527:3252 xor si,si E527:3254 jmp 325F E527:3256 mov ax,es E527:3258 add ax,es:[si+03] E527:325C inc ax E527:325D mov es,ax E527:325F cmp byte ptr es:[si],5A E527:3263 je 32A9 E527:3265 cmp byte ptr es:[si],4D E527:3269 jne 32A0 E527:326B cmp word ptr es:[si+01],00 E527:3270 jne 3256 E527:3272 mov ax,es E527:3274 add ax,es:[si+03] E527:3278 inc ax E527:3279 mov ds,ax E527:327B cmp byte ptr [si],5A E527:327E je 3285 E527:3280 cmp byte ptr [si],4D E527:3283 jne 32A0 E527:3285 cmp word ptr [si+01],00 E527:3289 jne 3256 E527:328B mov ax,[si+03] E527:328E inc ax E527:328F add es:[si+03],ax E527:3293 mov al,[si] E527:3295 mov es:[si],al E527:3298 cmp byte ptr es:[si],5A E527:329C je 32A9 E527:329E jmp 3272 E527:32A0 popf E527:32A1 pop ds E527:32A2 pop ax E527:32A3 mov ax,0007 E527:32A6 stc E527:32A7 jmp 32AC E527:32A9 popf E527:32AA pop ds E527:32AB pop ax E527:32AC ret E527:32AD dec bp E527:32AE inc sp E527:32AF dec di E527:32B0 push bx INT_20 Terminate a program E527:32B1 xor ah,ah E527:32B3 jmp 44DA E527:32B6 sti E527:32B7 stc E527:32B8 retf 0002 E527:32BB add sp,06 E527:32BE pop ax E527:32BF pop bx E527:32C0 pop cx E527:32C1 pop dx E527:32C2 pop si E527:32C3 pop di E527:32C4 pop bp E527:32C5 pop ds E527:32C6 pop es E527:32C7 sti E527:32C8 stc E527:32C9 retf 0002 INT_27 Terminate and stay resident E527:32CC mov ax,00C3 E527:32CF mov ds,ax E527:32D1 pop ax E527:32D2 pop ax E527:32D3 mov [007E],ax E527:32D6 mov ax,dx E527:32D8 call 437F E527:32DB mov dx,ax E527:32DD mov ax,3100 E527:32E0 jmp 44DA Int21_Fn25 Set interrupt vector E527:32E3 push ax E527:32E4 push di E527:32E5 push es E527:32E6 xor di,di E527:32E8 mov es,di E527:32EA xor ah,ah E527:32EC shl ax,1 E527:32EE shl ax,1 E527:32F0 mov di,ax E527:32F2 cli E527:32F3 mov es:[di],dx E527:32F6 mov es:[di+02],ds E527:32FA sti E527:32FB pop es E527:32FC pop di E527:32FD pop ax E527:32FE ret Int21_Fn26 Create PSP E527:32FF mov ds,ss:[007E] E527:3304 xor si,si E527:3306 mov es,dx E527:3308 mov di,si E527:330A mov cx,0100 E527:330D rep movsb E527:330F xor di,di E527:3311 mov es:[di+16],ds E527:3315 xor si,si E527:3317 mov ds,si E527:3319 mov si,0088 E527:331C lea di,[di+0A] E527:331F mov cx,0006 E527:3322 rep movsw E527:3324 ret Int21_Fn29 Parse filename E527:3325 mov ds,ss:[00A8] E527:332A mov dl,al E527:332C xor dh,dh E527:332E lodsb E527:332F cmp al,20 E527:3331 je 332E E527:3333 dec si E527:3334 test dl,01 E527:3337 je 3344 E527:3339 lodsb E527:333A cmp al,20 E527:333C jb 3343 E527:333E call 42E7 E527:3341 je 3339 E527:3343 dec si E527:3344 lodsw E527:3345 cmp ah,3A E527:3348 jne 3358 E527:334A cmp al,00 E527:334C je 3358 E527:334E call 4326 E527:3351 jb 3373 E527:3353 inc al E527:3355 stosb E527:3356 jmp 3362 E527:3358 dec si E527:3359 dec si E527:335A test dl,02 E527:335D jne 3362 E527:335F xor al,al E527:3361 stosb E527:3362 call 428B E527:3365 jb 3373 E527:3367 lds bx,ss:[00AB] E527:336C mov [bx+08],si E527:336F and al,01 E527:3371 jmp 3375 E527:3373 mov al,FF E527:3375 ret Int21_Fn2E Set verify E527:3376 cmp al,01 E527:3378 ja 338A E527:337A je 3384 E527:337C and word ptr [0105],FBFF E527:3382 jmp 338A E527:3384 or word ptr [0105],0400 E527:338A ret E527:338B inc sp E527:338C dec dx E527:338D dec sp E527:338E dec bp Int21_Fn30 Get DOS version E527:338F push si E527:3390 push di E527:3391 push ds E527:3392 mov si,cs E527:3394 mov ds,si E527:3396 mov si,338B E527:3399 mov cx,0004 E527:339C repe cmpsb E527:339E pop ds E527:339F pop di E527:33A0 pop si E527:33A1 mov ax,[0115] E527:33A4 jne 33AA E527:33A6 mov [0115],bx E527:33AA ret Int21_Fn33 Set/query break E527:33AB cmp al,01 E527:33AD ja 33D4 E527:33AF je 33BF E527:33B1 xor dl,dl E527:33B3 test word ptr [0105],0800 E527:33B9 je 33D4 E527:33BB inc dl E527:33BD jmp 33D4 E527:33BF cmp dl,01 E527:33C2 ja 33D4 E527:33C4 je 33CE E527:33C6 and word ptr [0105],F7FF E527:33CC jmp 33D4 E527:33CE or word ptr [0105],0800 E527:33D4 ret Int21_Fn35 Get interrupt vector E527:33D5 push ax E527:33D6 xor bx,bx E527:33D8 mov es,bx E527:33DA xor ah,ah E527:33DC shl ax,1 E527:33DE shl ax,1 E527:33E0 mov bx,ax E527:33E2 les bx,es:[bx] E527:33E5 pop ax E527:33E6 ret Int21_Fn4D Get program exit code E527:33E7 mov ax,[0082] E527:33EA ret Int21_Fn54 Get DOS verify switch E527:33EB xor al,al E527:33ED test word ptr [0105],0400 E527:33F3 je 33F7 E527:33F5 inc al E527:33F7 ret E527:33F8 db FF E527:33F9 db FF E527:33FA db FF E527:33FB inc word ptr [si] E527:33FD or byte ptr [bp+si],34 E527:3400 sbb si,[si] E527:3402 dec si E527:3403 push bp E527:3404 dec sp E527:3405 and [bx+si],ah E527:3407 and [bx+si],ah E527:3409 and [bx+si+1E],dl E527:340C mov ax,ss E527:340E mov ds,ax E527:3410 mov [0101],bx E527:3414 mov [0103],es E527:3418 pop ds E527:3419 pop ax E527:341A retf E527:341B push ax E527:341C push bx E527:341D push di E527:341E push ds E527:341F push es E527:3420 mov ax,ss E527:3422 mov ds,ax E527:3424 les di,[0101] E527:3428 mov al,es:[di+02] E527:342C shl al,1 E527:342E cmp al,1A E527:3430 nop E527:3431 nop E527:3432 ja 343F E527:3434 mov bx,345F E527:3437 nop E527:3438 xor ah,ah E527:343A add bx,ax E527:343C jmp word ptr cs:[bx] E527:343F mov ax,8003 E527:3442 jmp 3446 E527:3444 xor ax,ax E527:3446 or ax,0100 E527:3449 mov es:[di+03],ax E527:344D pop es E527:344E pop ds E527:344F pop di E527:3450 pop bx E527:3451 pop ax E527:3452 retf E527:3453 mov word ptr es:[di+0E],3479 E527:3459 mov es:[di+10],ds E527:345D jmp 3444 E527:345F push bx E527:3460 xor al,44 E527:3462 xor al,44 E527:3464 xor al,44 E527:3466 xor al,44 E527:3468 xor al,44 E527:346A xor al,44 E527:346C xor al,44 E527:346E xor al,44 E527:3470 xor al,44 E527:3472 xor al,44 E527:3474 xor al,44 E527:3476 xor al,44 E527:3478 xor al,1E E527:347A mov word ptr [0022],3A13 E527:3480 mov [0024],cs E527:3484 or word ptr [0105],0080 E527:348A inc byte ptr [0111] E527:348E mov ax,3D00 E527:3491 mov dx,395A E527:3494 nop E527:3495 push cs E527:3496 pop ds E527:3497 int 21 E527:3499 jb 34B6 E527:349B mov bx,ax E527:349D call 34DF E527:34A0 jb 34B2 E527:34A2 call 3523 E527:34A5 jb 34AA E527:34A7 call 3540 E527:34AA mov ax,ds E527:34AC mov es,ax E527:34AE mov ah,49 E527:34B0 int 21 E527:34B2 mov ah,3E E527:34B4 int 21 E527:34B6 and word ptr ss:[0105],FF7F E527:34BD dec byte ptr ss:[0111] E527:34C2 pop ds E527:34C3 cmp byte ptr [012B],20 E527:34C8 jbe 34CF E527:34CA mov byte ptr [012B],20 E527:34CF mov al,[012B] E527:34D2 dec al E527:34D4 je 34DE E527:34D6 call 07AC E527:34D9 jnb 34DE E527:34DB call 35E3 E527:34DE ret E527:34DF push bx E527:34E0 mov ax,4202 E527:34E3 xor cx,cx E527:34E5 xor dx,dx E527:34E7 int 21 E527:34E9 mov cx,ax E527:34EB or dx,dx E527:34ED jne 351E E527:34EF call 437F E527:34F2 inc ax E527:34F3 push ax E527:34F4 mov ah,48 E527:34F6 mov bx,FFFF E527:34F9 int 21 E527:34FB cmp ax,0008 E527:34FE pop ax E527:34FF jne 351E E527:3501 cmp ax,bx E527:3503 ja 351E E527:3505 sub bx,ax E527:3507 dec bx E527:3508 push ax E527:3509 mov ah,48 E527:350B int 21 E527:350D mov es,ax E527:350F pop bx E527:3510 mov ah,48 E527:3512 int 21 E527:3514 mov ds,ax E527:3516 xor dx,dx E527:3518 mov ah,49 E527:351A int 21 E527:351C jmp 3521 E527:351E call 35E3 E527:3521 pop bx E527:3522 ret E527:3523 push cx E527:3524 push dx E527:3525 mov ax,4200 E527:3528 xor cx,cx E527:352A xor dx,dx E527:352C int 21 E527:352E pop dx E527:352F pop cx E527:3530 mov ah,3F E527:3532 int 21 E527:3534 jnb 353F E527:3536 mov dx,3965 E527:3539 nop E527:353A mov ah,09 E527:353C int 21 E527:353E stc E527:353F ret E527:3540 push bx E527:3541 push ds E527:3542 mov si,dx E527:3544 push ss E527:3545 pop es E527:3546 jcxz 3569 E527:3548 call 356C E527:354B jb 3564 E527:354D jcxz 3569 E527:354F call 3598 E527:3552 jb 3564 E527:3554 shl bx,1 E527:3556 add bx,394E E527:355A call word ptr cs:[bx] E527:355D jb 3569 E527:355F call 35C3 E527:3562 jmp 3546 E527:3564 call 35D4 E527:3567 jmp 355F E527:3569 pop ds E527:356A pop bx E527:356B ret E527:356C mov di,0052 E527:356F jcxz 3596 E527:3571 lodsb E527:3572 dec cx E527:3573 call 42E7 E527:3576 je 356F E527:3578 mov dx,cx E527:357A mov cx,000B E527:357D stosb E527:357E dec cx E527:357F je 358D E527:3581 cmp dx,00 E527:3584 je 358D E527:3586 lodsb E527:3587 dec dx E527:3588 call 42E7 E527:358B jne 357D E527:358D mov al,20 E527:358F rep stosb E527:3591 mov di,0052 E527:3594 mov cx,dx E527:3596 clc E527:3597 ret E527:3598 push cx E527:3599 push si E527:359A push ds E527:359B mov ax,cs E527:359D mov ds,ax E527:359F mov si,390C E527:35A2 nop E527:35A3 mov bx,0006 E527:35A6 nop E527:35A7 cmp bx,00 E527:35AA je 35BD E527:35AC push si E527:35AD push di E527:35AE mov cx,000B E527:35B1 repe cmpsb E527:35B3 pop di E527:35B4 pop si E527:35B5 je 35BE E527:35B7 dec bx E527:35B8 add si,0B E527:35BB jmp 35A7 E527:35BD stc E527:35BE dec bx E527:35BF pop ds E527:35C0 pop si E527:35C1 pop cx E527:35C2 ret E527:35C3 jcxz 35D3 E527:35C5 push es E527:35C6 mov ax,ds E527:35C8 mov es,ax E527:35CA mov di,si E527:35CC mov al,0A E527:35CE repne scasb E527:35D0 mov si,di E527:35D2 pop es E527:35D3 ret E527:35D4 push ds E527:35D5 mov ax,cs E527:35D7 mov ds,ax E527:35D9 mov ah,09 E527:35DB mov dx,39A8 E527:35DE nop E527:35DF int 21 E527:35E1 pop ds E527:35E2 ret E527:35E3 mov ax,cs E527:35E5 mov ds,ax E527:35E7 mov ah,09 E527:35E9 mov dx,3983 E527:35EC nop E527:35ED int 21 E527:35EF stc E527:35F0 ret E527:35F1 call 356C E527:35F4 jb 361B E527:35F6 cmp byte ptr es:[di],4F E527:35FA jne 361B E527:35FC inc di E527:35FD cmp byte ptr es:[di],4E E527:3601 je 3621 E527:3603 cmp byte ptr es:[di],46 E527:3607 jne 361B E527:3609 inc di E527:360A cmp byte ptr es:[di],46 E527:360E jne 361B E527:3610 inc di E527:3611 cmp byte ptr es:[di],20 E527:3615 jne 361B E527:3617 mov dl,00 E527:3619 jmp 362A E527:361B call 35D4 E527:361E jmp 362F E527:3620 nop E527:3621 inc di E527:3622 cmp byte ptr es:[di],20 E527:3626 jne 361B E527:3628 mov dl,01 E527:362A mov ax,3301 E527:362D int 21 E527:362F ret E527:3630 call 356C E527:3633 jb 3648 E527:3635 call 38CA E527:3638 or ax,ax E527:363A je 3648 E527:363C cmp ax,0063 E527:363F ja 3648 E527:3641 mov [012B],al E527:3645 clc E527:3646 jmp 364B E527:3648 call 35D4 E527:364B ret E527:364C call 356C E527:364F jb 366D E527:3651 call 38CA E527:3654 mov bx,ax E527:3656 mov ax,38FF E527:3659 mov dx,FFFF E527:365C int 21 E527:365E jnb 366D E527:3660 mov ax,cs E527:3662 mov ds,ax E527:3664 mov ah,09 E527:3666 mov dx,39CD E527:3669 nop E527:366A int 21 E527:366C stc E527:366D ret E527:366E push cx E527:366F push si E527:3670 push ds E527:3671 push es E527:3672 call 367F E527:3675 jb 367A E527:3677 call 3717 E527:367A pop es E527:367B pop ds E527:367C pop si E527:367D pop cx E527:367E ret E527:367F push si E527:3680 mov ax,3D00 E527:3683 mov dx,si E527:3685 int 21 E527:3687 jb 36FB E527:3689 mov bx,ax E527:368B xor cx,cx E527:368D xor dx,dx E527:368F mov ax,4202 E527:3692 int 21 E527:3694 test dx,FFF0 E527:3698 jne 36EF E527:369A call 437F E527:369D and dx,000F E527:36A1 mov dh,dl E527:36A3 shl dh,1 E527:36A5 shl dh,1 E527:36A7 shl dh,1 E527:36A9 shl dh,1 E527:36AB or dx,ax E527:36AD mov ah,3E E527:36AF int 21 E527:36B1 mov ax,4800 E527:36B4 mov bx,FFFF E527:36B7 int 21 E527:36B9 cmp ax,0008 E527:36BC jne 36FB E527:36BE cmp dx,bx E527:36C0 ja 36EF E527:36C2 mov ah,48 E527:36C4 int 21 E527:36C6 add bx,ax E527:36C8 mov ss:[0123],bx E527:36CD mov bx,018D E527:36D0 mov ss:[bx],ax E527:36D3 mov word ptr ss:[bx+02],0000 E527:36D9 mov ax,ss E527:36DB mov es,ax E527:36DD mov dx,si E527:36DF mov ax,4B03 E527:36E2 int 21 E527:36E4 jb 36FB E527:36E6 mov ax,es:[bx] E527:36E9 mov [0121],ax E527:36ED jmp 3715 E527:36EF call 35E3 E527:36F2 jmp 3715 E527:36F4 nop E527:36F5 mov ah,49 E527:36F7 mov es,dx E527:36F9 int 21 E527:36FB and word ptr ss:[0105],7FFF E527:3702 push dx E527:3703 push ds E527:3704 mov ax,cs E527:3706 mov ds,ax E527:3708 mov dx,39E4 E527:370B nop E527:370C mov ah,09 E527:370E int 21 E527:3710 pop ds E527:3711 pop si E527:3712 call 3819 E527:3715 pop si E527:3716 ret E527:3717 mov ss:[011D],si E527:371C mov ss:[011F],ds E527:3721 mov word ptr ss:[009E],0000 E527:3728 mov ax,[0121] E527:372C mov [00A0],ax E527:3730 mov ds,ax E527:3732 xor bx,bx E527:3734 les di,ss:[011D] E527:3739 call 04B4 E527:373C jnb 3741 E527:373E jmp 3800 E527:3741 push bx E527:3742 push ds E527:3743 lds bx,ss:[0096] E527:3748 mov ax,bx E527:374A call 437F E527:374D mov bx,ds E527:374F add ax,bx E527:3751 pop ds E527:3752 pop bx E527:3753 cmp ax,ss:[0123] E527:3758 jb 3762 E527:375A push ds E527:375B call 35E3 E527:375E pop ds E527:375F jmp 3800 E527:3762 mov ax,[0121] E527:3766 mov es,ax E527:3768 xor di,di E527:376A lds bx,ss:[0096] E527:376F mov dx,es:[di+04] E527:3773 test dx,8000 E527:3777 je 377F E527:3779 call 04D9 E527:377C jmp 37C9 E527:377E nop E527:377F mov al,[0028] E527:3783 mov dx,ss:[001C] E527:3788 push ax E527:3789 push dx E527:378A call 0526 E527:378D pop dx E527:378E pop ax E527:378F cmp ss:[001C],dx E527:3794 jbe 37BD E527:3796 mov ss:[001C],dx E527:379B mov [0028],al E527:379F mov ax,cs E527:37A1 mov ds,ax E527:37A3 mov dx,39F4 E527:37A6 nop E527:37A7 mov ah,09 E527:37A9 int 21 E527:37AB lds si,ss:[011D] E527:37B0 call 3819 E527:37B3 mov ds,ss:[0121] E527:37B8 xor bx,bx E527:37BA jmp 3800 E527:37BC nop E527:37BD push bx E527:37BE push ds E527:37BF lds bx,ss:[0096] E527:37C4 call 0585 E527:37C7 pop ds E527:37C8 pop bx E527:37C9 mov ax,[0010] E527:37CD mov [bx],ax E527:37CF mov ax,[0012] E527:37D3 mov [bx+02],ax E527:37D6 mov ss:[0010],bx E527:37DB mov ss:[0012],ds E527:37E0 mov [bx+04],di E527:37E3 mov [bx+06],es E527:37E6 add bx,08 E527:37E9 cmp word ptr es:[di],FFFF E527:37EE je 3800 E527:37F0 les di,es:[di] E527:37F3 mov ss:[009E],di E527:37F8 mov ss:[009E],es E527:37FD jmp 3734 E527:3800 mov ax,bx E527:3802 call 437F E527:3805 mov bx,ds E527:3807 add bx,ax E527:3809 sub bx,ss:[0121] E527:380E mov es,ss:[0121] E527:3813 mov ah,4A E527:3815 int 21 E527:3817 clc E527:3818 ret E527:3819 mov ah,02 E527:381B lodsb E527:381C dec cx E527:381D je 382D E527:381F cmp al,00 E527:3821 je 382D E527:3823 cmp al,0D E527:3825 je 382D E527:3827 mov dl,al E527:3829 int 21 E527:382B jmp 381B E527:382D mov dl,0D E527:382F int 21 E527:3831 mov dl,0A E527:3833 int 21 E527:3835 stc E527:3836 ret E527:3837 push cx E527:3838 call 356C E527:383B jb 38A5 E527:383D call 38CA E527:3840 cmp ax,0008 E527:3843 jb 38A5 E527:3845 je 38A8 E527:3847 cmp ax,00FF E527:384A ja 38A5 E527:384C push cx E527:384D sub ax,0008 E527:3850 push ax E527:3851 mov cx,0035 E527:3854 mul cx E527:3856 add ax,0006 E527:3859 call 437F E527:385C mov bx,ax E527:385E mov ah,48 E527:3860 int 21 E527:3862 mov es,ax E527:3864 pop ax E527:3865 jnb 386E E527:3867 call 35E3 E527:386A pop cx E527:386B jmp 38A8 E527:386D nop E527:386E push ax E527:386F mov cl,04 E527:3871 shl bx,cl E527:3873 xor di,di E527:3875 mov cx,bx E527:3877 xor al,al E527:3879 rep stosb E527:387B pop ax E527:387C push ds E527:387D push si E527:387E lds si,ss:[0032] E527:3883 xor di,di E527:3885 mov [si],di E527:3887 mov [si+02],es E527:388A pop si E527:388B pop ds E527:388C mov word ptr es:[di],FFFF E527:3891 mov word ptr es:[di+02],FFFF E527:3897 mov es:[di+04],ax E527:389B add ss:[0129],ax E527:38A0 pop cx E527:38A1 pop ax E527:38A2 clc E527:38A3 jmp 38A9 E527:38A5 call 35D4 E527:38A8 pop cx E527:38A9 ret E527:38AA mov ss:[0119],si E527:38AF mov ss:[011B],ds E527:38B4 mov dx,cx E527:38B6 call 35C3 E527:38B9 dec si E527:38BA cmp byte ptr [si],0A E527:38BD jne 38C1 E527:38BF inc cx E527:38C0 dec si E527:38C1 inc si E527:38C2 sub dx,cx E527:38C4 mov ss:[0125],dx E527:38C9 ret E527:38CA push cx E527:38CB mov bx,000A E527:38CE xor ch,ch E527:38D0 xor ax,ax E527:38D2 mov cl,es:[di] E527:38D5 call 3902 E527:38D8 jb 3900 E527:38DA mov al,cl E527:38DC mov cl,es:[di+01] E527:38E0 cmp cl,20 E527:38E3 je 3900 E527:38E5 mul bl E527:38E7 call 3902 E527:38EA jb 3900 E527:38EC add ax,cx E527:38EE mov cl,es:[di+02] E527:38F2 cmp cl,20 E527:38F5 je 3900 E527:38F7 mul bx E527:38F9 call 3902 E527:38FC jb 3900 E527:38FE add ax,cx E527:3900 pop cx E527:3901 ret E527:3902 sub cl,30 E527:3905 jb 390B E527:3907 cmp cl,0A E527:390A cmc E527:390B ret E527:390C inc dx E527:390D push dx E527:390E inc bp E527:390F inc cx E527:3910 dec bx E527:3911 and [bx+si],ah E527:3913 and [bx+si],ah E527:3915 and [bx+si],ah E527:3917 inc dx E527:3918 push bp E527:3919 inc si E527:391A inc si E527:391B inc bp E527:391C push dx E527:391D push bx E527:391E and [bx+si],ah E527:3920 and [bx+si],ah E527:3922 inc bx E527:3923 dec di E527:3924 push bp E527:3925 dec si E527:3926 push sp E527:3927 push dx E527:3928 pop cx E527:3929 and [bx+si],ah E527:392B and [bx+si],ah E527:392D inc sp E527:392E inc bp E527:392F push si E527:3930 dec cx E527:3931 inc bx E527:3932 inc bp E527:3933 and [bx+si],ah E527:3935 and [bx+si],ah E527:3937 and [bp+49],al E527:393A dec sp E527:393B inc bp E527:393C push bx E527:393D and [bx+si],ah E527:393F and [bx+si],ah E527:3941 and [bx+si],ah E527:3943 push bx E527:3944 dec ax E527:3945 inc bp E527:3946 dec sp E527:3947 dec sp E527:3948 and [bx+si],ah E527:394A and [bx+si],ah E527:394C and [bx+si],ah E527:394E stosb E527:394F cmp [bx],dh E527:3951 cmp [bp+36],ch E527:3954 dec sp E527:3955 xor ss:[35F1],dh E527:395A inc bx E527:395B dec di E527:395C dec si E527:395D inc si E527:395E dec cx E527:395F inc di E527:3960 push bx E527:3962 pop cx E527:3963 push bx E527:3964 add [bp+si+61],al E527:3967 and fs:[bx+72],ch E527:396B and [bp+di+6F],ah E527:396E jb 39E2 E527:3970 jne 39E2 E527:3972 je 39D9 E527:3974 and fs:[bp+di+4F],al E527:3978 dec si E527:3979 inc si E527:397A dec cx E527:397B inc di E527:397C push bx E527:397E pop cx E527:397F push bx E527:3980 or ax,240A E527:3983 inc bx E527:3984 outsw E527:3985 outsb E527:3986 imul esp,[bx+75],69746172 E527:398E outsw E527:398F outsb E527:3990 and [si+6F],dh E527:3993 outsw E527:3994 and [si+61],ch E527:3997 jb 3A00 E527:3999 and gs:[bp+6F],ah E527:399D jb 39BF E527:399F insw E527:39A0 insw E527:39A2 outsw E527:39A3 jb 3A1E E527:39A5 or ax,240A E527:39A8 push bp E527:39A9 outsb E527:39AA jb 3A11 E527:39AC arpl [bx+67],bp E527:39AF outsb E527:39B0 imul di,[bp+si+65],2064 E527:39B5 arpl [bx+6D],bp E527:39B8 insw E527:39B9 popa E527:39BA outsb E527:39BB and fs:[bx+di+6E],ch E527:39BF and [bp+di+4F],al E527:39C2 dec si E527:39C3 inc si E527:39C4 dec cx E527:39C5 inc di E527:39C6 push bx E527:39C8 pop cx E527:39C9 push bx E527:39CA or ax,240A E527:39CD dec cx E527:39CE outsb E527:39CF jbe 3A32 E527:39D1 insb E527:39D2 imul sp,[si+20],6F63 E527:39D7 jne 3A47 E527:39D9 je 3A4D E527:39DB jns 39FD E527:39DD arpl [bx+64],bp E527:39E0 or ax,240A E527:39E4 inc dx E527:39E5 popa E527:39E6 and fs:[bx+72],ch E527:39EA and [di+69],ch E527:39ED jnb 3A62 E527:39EF imul bp,[bp+67],2420 E527:39F4 push bx E527:39F5 arpl gs:[si+6F],si E527:39F9 jb 3A1B E527:39FB jnb 3A66 E527:39FD jpe 3A64 E527:39FF and [si+6F],dh E527:3A02 outsw E527:3A03 and [si+61],ch E527:3A06 jb 3A6F E527:3A08 and gs:[bx+di+6E],ch E527:3A0C and [bp+69],ah E527:3A0F insb E527:3A10 and gs:[si],ah E527:3A13 inc bx E527:3A14 cmp bl,[si+00] E527:3A17 add [bx+si],al E527:3A19 add [bx+si],al E527:3A1B add [bx+si],al E527:3A1D add [bx+si],al E527:3A1F add [bx+si],al E527:3A21 add [bx+si],al E527:3A23 add [bx+si],al E527:3A25 add [bx+si],al E527:3A27 add [bx+si],al E527:3A29 add [bx+si],al E527:3A2B add [bx+si],al E527:3A2D add [bx+si],al E527:3A2F add [bx+si],al E527:3A31 add [bx+si],al E527:3A33 add [bx+si],al E527:3A35 add [bx+si],al E527:3A37 add [bx+si],al E527:3A39 add [bx+si],al E527:3A3B add [bx+si],al E527:3A3D add [bx+si],al E527:3A3F add [bx+si],al E527:3A41 add [bx+si],al E527:3A43 add [bx+si],al E527:3A45 add [bx+si],al E527:3A47 add [bx+si],al E527:3A49 add [bx+si],al E527:3A4B add [bx+si],al E527:3A4D add [bx+si],al E527:3A4F add [bx+si],al E527:3A51 add [bx+si],al E527:3A53 add [bx+si],al E527:3A55 add [bx+si],al E527:3A57 add bl,ah Int21_Fn3F read file E527:3A58 jcxz 3A62 E527:3A5A call 2E21 E527:3A5D jnb 3A68 E527:3A5F jmp 3B15 E527:3A62 xor ax,ax E527:3A64 clc E527:3A65 jmp 3B15 E527:3A68 test word ptr es:[di+05],8080 E527:3A6E jne 3A76 E527:3A70 call 3D37 E527:3A73 jmp 3B15 E527:3A76 test word ptr es:[di+05],0040 E527:3A7C je 3A62 E527:3A7E test word ptr es:[di+05],0020 E527:3A84 jne 3A70 E527:3A86 test word ptr es:[di+05],0003 E527:3A8C je 3AE4 E527:3A8E or ch,ch E527:3A90 je 3A94 E527:3A92 mov cl,FF E527:3A94 les di,ss:[00A6] E527:3A99 push di E527:3A9A push es E527:3A9B mov di,03BF E527:3A9E mov ss:[00A6],di E527:3AA3 mov ss:[00A8],ss E527:3AA8 mov es:[di],cl E527:3AAB call 0BD0 E527:3AAE les di,ss:[00A6] E527:3AB3 mov byte ptr es:[di],0A E527:3AB7 mov cx,0001 E527:3ABA call 3C03 E527:3ABD lds si,ss:[00A6] E527:3AC2 mov cl,[si+01] E527:3AC5 xor ch,ch E527:3AC7 inc cx E527:3AC8 pop es E527:3AC9 pop di E527:3ACA add si,02 E527:3ACD mov al,[si] E527:3ACF cmp al,1A E527:3AD1 je 3AE0 E527:3AD3 push cx E527:3AD4 rep movsb E527:3AD6 mov byte ptr es:[di],0A E527:3ADA pop ax E527:3ADB inc ax E527:3ADC clc E527:3ADD jmp 3B15 E527:3ADF nop E527:3AE0 stosb E527:3AE1 jmp 3A62 E527:3AE4 mov dx,cx E527:3AE6 push cx E527:3AE7 mov cx,0001 E527:3AEA call 3D37 E527:3AED pop cx E527:3AEE jb 3B15 E527:3AF0 dec cx E527:3AF1 lds si,ss:[00A6] E527:3AF6 lodsb E527:3AF7 cmp al,0D E527:3AF9 je 3B11 E527:3AFB cmp al,1A E527:3AFD je 3B0B E527:3AFF jcxz 3B11 E527:3B01 inc word ptr ss:[00A6] E527:3B06 call 0E68 E527:3B09 jmp 3AE6 E527:3B0B and word ptr es:[di+05],FFBF E527:3B11 sub dx,cx E527:3B13 mov ax,dx E527:3B15 ret Int21_Fn40 write file E527:3B16 jcxz 3B2A E527:3B18 call 2E21 E527:3B1B jb 3B6A E527:3B1D test word ptr es:[di+05],8080 E527:3B23 jne 3B30 E527:3B25 call 3C03 E527:3B28 jmp 3B6A E527:3B2A xor ax,ax E527:3B2C clc E527:3B2D jmp 3B6A E527:3B2F nop E527:3B30 test word ptr es:[di+05],0020 E527:3B36 jne 3B25 E527:3B38 les si,ss:[00A6] E527:3B3D mov dx,cx E527:3B3F xor ax,ax E527:3B41 jcxz 3B6A E527:3B43 lodsb es: E527:3B45 push cx E527:3B46 mov cx,0001 E527:3B49 mov [00AA],al E527:3B4D mov word ptr ss:[00A6],00AA E527:3B54 mov ss:[00A8],ds E527:3B59 call 0ECD E527:3B5C call 3C03 E527:3B5F call 0E68 E527:3B62 pop cx E527:3B63 dec cx E527:3B64 jne 3B43 E527:3B66 sub dx,cx E527:3B68 mov ax,dx E527:3B6A ret Int21_Fn42 Lseek E527:3B6B push ax E527:3B6C call 2E21 E527:3B6F pop ax E527:3B70 jb 3B82 E527:3B72 cmp al,00 E527:3B74 je 3B85 E527:3B76 cmp al,01 E527:3B78 je 3B90 E527:3B7A cmp al,02 E527:3B7C je 3B9B E527:3B7E mov ax,0001 E527:3B81 stc E527:3B82 jmp 3C02 E527:3B84 nop E527:3B85 and cx,7FFF E527:3B89 xor ax,ax E527:3B8B mov bx,ax E527:3B8D jmp 3BA3 E527:3B8F nop E527:3B90 mov ax,es:[di+15] E527:3B94 mov bx,es:[di+17] E527:3B98 jmp 3BA3 E527:3B9A nop E527:3B9B mov ax,es:[di+11] E527:3B9F mov bx,es:[di+13] E527:3BA3 add ax,dx E527:3BA5 adc bx,cx E527:3BA7 mov es:[di+15],ax E527:3BAB mov es:[di+17],bx E527:3BAF push ax E527:3BB0 push ax E527:3BB1 push ds E527:3BB2 push si E527:3BB3 lds si,es:[di+07] E527:3BB7 mov ax,[si+02] E527:3BBA mov cl,[si+04] E527:3BBD xor ch,ch E527:3BBF inc cl E527:3BC1 mul cx E527:3BC3 mov cx,ax E527:3BC5 pop si E527:3BC6 pop ds E527:3BC7 pop ax E527:3BC8 mov dx,bx E527:3BCA div cx E527:3BCC mov cx,ax E527:3BCE mov ax,es:[di+0B] E527:3BD2 mov word ptr es:[di+19],0000 E527:3BD8 jcxz 3BF3 E527:3BDA lds si,ss:[003E] E527:3BDF mov dx,ax E527:3BE1 push cx E527:3BE2 call 15BE E527:3BE5 pop cx E527:3BE6 jb 3BF3 E527:3BE8 cmp ax,0FF8 E527:3BEB jnb 3BF3 E527:3BED inc word ptr es:[di+19] E527:3BF1 loop 3BDF E527:3BF3 mov es:[di+1B],ax E527:3BF7 pop ax E527:3BF8 les di,ss:[00AB] E527:3BFD mov es:[di+06],bx E527:3C01 clc E527:3C02 ret E527:3C03 push cx E527:3C04 push dx E527:3C05 push di E527:3C06 push ds E527:3C07 push es E527:3C08 les di,ss:[00A2] E527:3C0D mov ax,es:[di+02] E527:3C11 cmp al,00 E527:3C13 jne 3C1C E527:3C15 stc E527:3C16 mov ax,0005 E527:3C19 jmp 3D31 E527:3C1C test word ptr es:[di+05],8080 E527:3C22 jne 3C9D E527:3C24 and word ptr es:[di+05],FFBF E527:3C2A mov ax,es:[di+05] E527:3C2E and al,2F E527:3C30 mov [0051],al E527:3C34 lds si,es:[di+07] E527:3C38 mov ss:[003E],si E527:3C3D mov ss:[0040],ds E527:3C42 mov dx,es:[di+0B] E527:3C46 cmp dx,00 E527:3C49 jne 3C5A E527:3C4B call 166B E527:3C4E jb 3C95 E527:3C50 mov es:[di+0B],ax E527:3C54 mov es:[di+1B],ax E527:3C58 mov dx,ax E527:3C5A call 1176 E527:3C5D mov es:[di+0D],ax E527:3C61 call 1137 E527:3C64 mov es:[di+0F],ax E527:3C68 mov ss:[0109],dx E527:3C6D mov ax,es:[di+19] E527:3C71 mov [010D],ax E527:3C75 mov ax,es:[di+1B] E527:3C79 mov [010B],ax E527:3C7D mov ax,es:[di+15] E527:3C81 mov bx,es:[di+17] E527:3C85 les di,ss:[00A6] E527:3C8A call 3EEA E527:3C8D jb 3C97 E527:3C8F call 3F64 E527:3C92 jmp 3D31 E527:3C95 xor ax,ax E527:3C97 jmp 3D31 E527:3C9A jmp 3D2F E527:3C9D jcxz 3C9A E527:3C9F les di,es:[di+07] E527:3CA3 call 1D17 E527:3CA6 cmp cx,01 E527:3CA9 jne 3CD7 E527:3CAB test word ptr es:[di+04],0010 E527:3CB1 je 3CD7 E527:3CB3 mov ax,ss E527:3CB5 mov es,ax E527:3CB7 mov bx,0088 E527:3CBA mov byte ptr es:[bx],1A E527:3CBE mov byte ptr es:[bx+02],08 E527:3CC3 call 3FD6 E527:3CC6 push dx E527:3CC7 push si E527:3CC8 push ds E527:3CC9 lds si,ss:[00A6] E527:3CCE lodsb E527:3CCF int 29 E527:3CD1 pop ds E527:3CD2 pop si E527:3CD3 pop dx E527:3CD4 jmp 3D31 E527:3CD6 nop E527:3CD7 mov ss:[009E],di E527:3CDC mov ss:[00A0],es E527:3CE1 mov ax,ss E527:3CE3 mov es,ax E527:3CE5 mov bx,0088 E527:3CE8 mov byte ptr es:[bx],1A E527:3CEC mov byte ptr es:[bx+02],08 E527:3CF1 call 3FD6 E527:3CF4 mov ax,[00A6] E527:3CF8 mov es:[bx+0E],ax E527:3CFC mov ax,[00A8] E527:3D00 mov es:[bx+10],ax E527:3D04 mov dx,0008 E527:3D07 mov es:[bx+12],cx E527:3D0B push cx E527:3D0C push dx E527:3D0D call 1C58 E527:3D10 pop dx E527:3D11 pop cx E527:3D12 jb 3D31 E527:3D14 test word ptr es:[bx+03],0200 E527:3D1A je 3D29 E527:3D1C sub cx,es:[bx+12] E527:3D20 jcxz 3D29 E527:3D22 dec dx E527:3D23 jne 3D07 E527:3D25 call 41D8 E527:3D28 stc E527:3D29 mov ax,es:[bx+12] E527:3D2D jmp 3D31 E527:3D2F xor ax,ax E527:3D31 pop es E527:3D32 pop ds E527:3D33 pop di E527:3D34 pop dx E527:3D35 pop cx E527:3D36 ret E527:3D37 push cx E527:3D38 push dx E527:3D39 push di E527:3D3A push ds E527:3D3B push es E527:3D3C les di,ss:[00A2] E527:3D41 mov ax,es:[di+02] E527:3D45 cmp al,01 E527:3D47 jne 3D50 E527:3D49 stc E527:3D4A mov ax,0005 E527:3D4D jmp 3E15 E527:3D50 test word ptr es:[di+05],8080 E527:3D56 jne 3DBE E527:3D58 mov ax,es:[di+05] E527:3D5C and al,2F E527:3D5E mov [0051],al E527:3D62 lds si,es:[di+07] E527:3D66 mov ss:[003E],si E527:3D6B mov ss:[0040],ds E527:3D70 mov dx,es:[di+0B] E527:3D74 mov ss:[0109],dx E527:3D79 mov ax,es:[di+19] E527:3D7D mov [010D],ax E527:3D81 mov ax,es:[di+1B] E527:3D85 mov [010B],ax E527:3D89 mov ax,es:[di+15] E527:3D8D mov bx,es:[di+17] E527:3D91 push ax E527:3D92 push bx E527:3D93 add ax,cx E527:3D95 adc bx,00 E527:3D98 cmp bx,es:[di+13] E527:3D9C ja 3DA6 E527:3D9E jb 3DAC E527:3DA0 cmp ax,es:[di+11] E527:3DA4 jbe 3DAC E527:3DA6 sub ax,es:[di+11] E527:3DAA sub cx,ax E527:3DAC pop bx E527:3DAD pop ax E527:3DAE les di,ss:[00A6] E527:3DB3 call 3E78 E527:3DB6 jb 3E15 E527:3DB8 call 3F64 E527:3DBB jmp 3E15 E527:3DBD nop E527:3DBE les di,es:[di+07] E527:3DC2 mov ss:[009E],di E527:3DC7 mov ss:[00A0],es E527:3DCC mov ax,ss E527:3DCE mov es,ax E527:3DD0 mov bx,0088 E527:3DD3 mov byte ptr es:[bx],1A E527:3DD7 mov byte ptr es:[bx+02],04 E527:3DDC mov ax,[00A6] E527:3DE0 mov es:[bx+0E],ax E527:3DE4 mov ax,[00A8] E527:3DE8 mov es:[bx+10],ax E527:3DEC mov dx,0008 E527:3DEF mov es:[bx+12],cx E527:3DF3 push cx E527:3DF4 push dx E527:3DF5 call 1C58 E527:3DF8 pop dx E527:3DF9 pop cx E527:3DFA jb 3E15 E527:3DFC test word ptr es:[bx+03],0200 E527:3E02 je 3E11 E527:3E04 sub cx,es:[bx+12] E527:3E08 jcxz 3E11 E527:3E0A dec dx E527:3E0B jne 3DEF E527:3E0D call 41D8 E527:3E10 stc E527:3E11 mov ax,es:[bx+12] E527:3E15 pop es E527:3E16 pop ds E527:3E17 pop di E527:3E18 pop dx E527:3E19 pop cx E527:3E1A ret E527:3E1B les di,[00A2] E527:3E1F mov ax,es:[di+02] E527:3E23 cmp al,01 E527:3E25 jne 3E2E E527:3E27 stc E527:3E28 mov ax,0005 E527:3E2B jmp 3E77 E527:3E2D nop E527:3E2E test word ptr es:[di+05],8080 E527:3E34 jne 3E4D E527:3E36 mov ax,es:[di+11] E527:3E3A cmp ax,es:[di+15] E527:3E3E clc E527:3E3F jne 3E77 E527:3E41 mov ax,es:[di+13] E527:3E45 cmp ax,es:[di+17] E527:3E49 clc E527:3E4A jmp 3E77 E527:3E4C nop E527:3E4D les di,es:[di+07] E527:3E51 mov [009E],di E527:3E55 mov [00A0],es E527:3E59 mov ax,ds E527:3E5B mov es,ax E527:3E5D mov bx,0088 E527:3E60 mov byte ptr es:[bx],0D E527:3E64 mov byte ptr es:[bx+02],05 E527:3E69 call 1C58 E527:3E6C test word ptr es:[bx+03],0200 E527:3E72 mov al,es:[bx+0D] E527:3E76 clc E527:3E77 ret E527:3E78 push cx E527:3E79 push dx E527:3E7A push si E527:3E7B push di E527:3E7C push ds E527:3E7D lds si,ss:[003E] E527:3E82 cmp dx,00 E527:3E85 jne 3EA5 E527:3E87 push dx E527:3E88 mov dx,bx E527:3E8A div word ptr [si+02] E527:3E8D mov bx,dx E527:3E8F pop dx E527:3E90 add dx,ax E527:3E92 jb 3EE4 E527:3E94 add dx,[si+10] E527:3E97 jb 3EE4 E527:3E99 push cx E527:3E9A call 0802 E527:3E9D pop cx E527:3E9E jb 3EE4 E527:3EA0 mov ax,cx E527:3EA2 jmp 3EE4 E527:3EA4 nop E527:3EA5 push cx E527:3EA6 push dx E527:3EA7 mov dx,bx E527:3EA9 div word ptr [si+02] E527:3EAC push dx E527:3EAD xor dx,dx E527:3EAF mov bl,[si+04] E527:3EB2 xor bh,bh E527:3EB4 inc bx E527:3EB5 div bx E527:3EB7 mov cx,ax E527:3EB9 mov ax,[si+02] E527:3EBC mul dx E527:3EBE pop bx E527:3EBF add bx,ax E527:3EC1 pop dx E527:3EC2 call 3FB1 E527:3EC5 jcxz 3EDA E527:3EC7 call 15BE E527:3ECA jb 3EE1 E527:3ECC cmp ax,0FF8 E527:3ECF jnb 3EE1 E527:3ED1 mov dx,ax E527:3ED3 inc word ptr ss:[010D] E527:3ED8 loop 3EC7 E527:3EDA pop cx E527:3EDB call 14CB E527:3EDE jmp 3EE4 E527:3EE0 nop E527:3EE1 pop cx E527:3EE2 xor ax,ax E527:3EE4 pop ds E527:3EE5 pop di E527:3EE6 pop si E527:3EE7 pop dx E527:3EE8 pop cx E527:3EE9 ret E527:3EEA push cx E527:3EEB push dx E527:3EEC push si E527:3EED push di E527:3EEE push ds E527:3EEF lds si,ss:[003E] E527:3EF4 cmp dx,00 E527:3EF7 jne 3F17 E527:3EF9 push dx E527:3EFA mov dx,bx E527:3EFC div word ptr [si+02] E527:3EFF mov bx,dx E527:3F01 pop dx E527:3F02 add dx,ax E527:3F04 jb 3F5E E527:3F06 add dx,[si+10] E527:3F09 jb 3F5E E527:3F0B push cx E527:3F0C call 082D E527:3F0F pop cx E527:3F10 jb 3F5E E527:3F12 mov ax,cx E527:3F14 jmp 3F5E E527:3F16 nop E527:3F17 push cx E527:3F18 push dx E527:3F19 mov dx,bx E527:3F1B div word ptr [si+02] E527:3F1E push dx E527:3F1F xor dx,dx E527:3F21 mov bl,[si+04] E527:3F24 xor bh,bh E527:3F26 inc bx E527:3F27 div bx E527:3F29 mov cx,ax E527:3F2B mov ax,[si+02] E527:3F2E mul dx E527:3F30 pop bx E527:3F31 add bx,ax E527:3F33 pop dx E527:3F34 call 3FB1 E527:3F37 jcxz 3F54 E527:3F39 call 15BE E527:3F3C jb 3F5B E527:3F3E cmp ax,0FF8 E527:3F41 jb 3F4B E527:3F43 call 166B E527:3F46 jb 3F5B E527:3F48 call 1605 E527:3F4B mov dx,ax E527:3F4D inc word ptr ss:[010D] E527:3F52 loop 3F39 E527:3F54 pop cx E527:3F55 call 150E E527:3F58 jmp 3F5E E527:3F5A nop E527:3F5B pop cx E527:3F5C xor ax,ax E527:3F5E pop ds E527:3F5F pop di E527:3F60 pop si E527:3F61 pop dx E527:3F62 pop cx E527:3F63 ret E527:3F64 push cx E527:3F65 les di,ss:[00A2] E527:3F6A push ax E527:3F6B mov ax,[010D] E527:3F6F mov es:[di+19],ax E527:3F73 mov ax,[010B] E527:3F77 mov es:[di+1B],ax E527:3F7B pop ax E527:3F7C mov cx,es:[di+15] E527:3F80 mov dx,es:[di+17] E527:3F84 add cx,ax E527:3F86 adc dx,00 E527:3F89 mov es:[di+15],cx E527:3F8D mov es:[di+17],dx E527:3F91 cmp dx,es:[di+13] E527:3F95 jb 3FAE E527:3F97 je 3FA4 E527:3F99 mov es:[di+11],cx E527:3F9D mov es:[di+13],dx E527:3FA1 jmp 3FAE E527:3FA3 nop E527:3FA4 cmp cx,es:[di+11] E527:3FA8 jbe 3FAE E527:3FAA mov es:[di+11],cx E527:3FAE pop cx E527:3FAF clc E527:3FB0 ret E527:3FB1 cmp dx,ss:[0109] E527:3FB6 jne 3FCB E527:3FB8 cmp cx,ss:[010D] E527:3FBD jb 3FCB E527:3FBF mov dx,ss:[010B] E527:3FC4 sub cx,ss:[010D] E527:3FC9 jmp 3FD5 E527:3FCB mov ss:[010D],cx E527:3FD0 mov ss:[0109],dx E527:3FD5 ret E527:3FD6 test word ptr ss:[0105],0100 E527:3FDD je 400F E527:3FDF mov ax,[009E] E527:3FE3 cmp ax,ss:[0036] E527:3FE8 jne 400F E527:3FEA mov ax,[00A0] E527:3FEE cmp ax,ss:[0038] E527:3FF3 jne 400F E527:3FF5 mov word ptr es:[bx+0E],4010 E527:3FFB mov es:[bx+10],cs E527:3FFF mov word ptr es:[bx+12],0004 E527:4005 call 1C58 E527:4008 and word ptr ss:[0105],FEFF E527:400F ret E527:4010 pop si E527:4011 inc bx E527:4012 or ax,B20A Int21_Fn1F Get DPB E527:4014 mov dl,0 E527:4016 jmp 4018 Int21_Fn32 Get DPB E527:4018 push ax E527:4019 mov al,dl E527:401B call 173C E527:401E jb 4036 E527:4020 call 16BF E527:4023 lds si,ss:[00AB] E527:4028 mov bx,es E527:402A mov [si+0E],bx E527:402D mov [si+02],di E527:4030 pop ax E527:4031 xor al,al E527:4033 clc E527:4034 jmp 403A E527:4036 pop ax E527:4037 mov al,FF E527:4039 stc E527:403A ret Int21_Fn52 Get DOS variables E527:403B mov bx,ds E527:403D mov es,bx E527:403F mov bx,000C E527:4042 ret Int21_Fn53 E527:4043 push ax E527:4044 lds bx,[00AB] E527:4048 mov ax,[bx+0E] E527:404B mov es,ax E527:404D mov di,si E527:404F mov si,bx E527:4051 mov bx,[si+0C] E527:4054 mov ax,[si+10] E527:4057 mov ds,ax E527:4059 call 143F E527:405C pop ax E527:405D clc E527:405E ret Int21_Fn50 Set current proces ID E527:405F mov [007E],bx E527:4063 ret Int21_Fn51 E527:4064 mov bx,[007E] E527:4068 ret Int21_Fn55 E527:4069 call 32FF E527:406C mov ss:[007E],dx E527:4071 ret Int21_Fn34 DOS activity flag E527:4072 mov bx,00C3 E527:4075 mov es,bx E527:4077 mov bx,0111 E527:407A ret Int21_Fn37 Set/query switch char E527:407B cmp al,01 E527:407D ja 40CD E527:407F je 4087 E527:4081 mov dl,[0113] E527:4085 jne 40CD E527:4087 push ax E527:4088 mov [0113],dl E527:408C mov al,[0114] E527:408F cmp byte ptr [0114],5C E527:4094 jne 40A4 E527:4096 cmp byte ptr [0113],5C E527:409B jne 40CC E527:409D mov byte ptr [0114],2F E527:40A2 jmp 40B0 E527:40A4 cmp byte ptr [0113],5C E527:40A9 je 40CC E527:40AB mov byte ptr [0114],5C E527:40B0 push cx E527:40B1 push di E527:40B2 push es E527:40B3 mov ah,[0114] E527:40B7 les di,[0022] E527:40BB mov cl,[0028] E527:40BF xor ch,ch E527:40C1 call 40CE E527:40C4 add si,51 E527:40C7 loop 40C1 E527:40C9 pop es E527:40CA pop di E527:40CB pop cx E527:40CC pop ax E527:40CD ret E527:40CE push cx E527:40CF mov cx,0051 E527:40D2 repne scasb E527:40D4 jne 40DC E527:40D6 mov es:[di+FF],ah E527:40DA jmp 40D2 E527:40DC pop cx E527:40DD ret Int21_Fn58 E527:40DE cmp al,01 E527:40E0 ja 40FC E527:40E2 je 40EB E527:40E4 mov al,[004B] E527:40E7 xor ah,ah E527:40E9 jmp 40F5 E527:40EB cmp bx,0100 E527:40EF jnb 40F8 E527:40F1 mov [004B],bl E527:40F5 clc E527:40F6 jmp 40FC E527:40F8 mov ax,0001 E527:40FB stc E527:40FC ret Int21_Fn60 E527:40FD lds bx,ss:[00AB] E527:4102 mov ds,[bx+0E] E527:4105 mov bx,si E527:4107 call 192C E527:410A jb 4115 E527:410C call 4B40 E527:410F call 4B95 E527:4112 clc E527:4113 jmp 4118 E527:4115 mov ax,0003 E527:4118 ret E527:4119 call 0F2D E527:411C or word ptr ss:[0105],0100 E527:4123 dec byte ptr ss:[0111] E527:4128 mov ax,[00AD] E527:412C mov bx,ss:[00AB] E527:4131 add bx,0C E527:4134 mov ss:[010F],bx E527:4139 sub bx,0C E527:413C mov ss,ax E527:413E mov sp,bx E527:4140 pop ax E527:4141 pop bx E527:4142 pop cx E527:4143 pop dx E527:4144 pop si E527:4145 pop di E527:4146 pop bp E527:4147 pop ds E527:4148 pop es E527:4149 clc E527:414A int 23 E527:414C pushf E527:414D push ax E527:414E push ds E527:414F mov ax,00C3 E527:4152 mov ds,ax E527:4154 cmp sp,[010F] E527:4158 pop ds E527:4159 pop ax E527:415A je 416C E527:415C push ax E527:415D push bp E527:415E mov bp,sp E527:4160 add bp,04 E527:4163 mov ax,[bp+00] E527:4166 mov [bp+02],ax E527:4169 pop bp E527:416A pop ax E527:416B popf E527:416C popf E527:416D jb 4172 E527:416F jmp 44DA E527:4172 mov ax,00C3 E527:4175 mov ss,ax E527:4177 mov sp,0ABF E527:417A inc byte ptr ss:[0111] E527:417F mov ax,0100 E527:4182 mov [0082],ax E527:4186 jmp 469D E527:4189 pushf E527:418A test word ptr ss:[0105],0200 E527:4191 je 41D6 E527:4193 test word ptr ss:[0105],0800 E527:419A je 41D6 E527:419C push ax E527:419D push bx E527:419E push es E527:419F les bx,ss:[003A] E527:41A4 mov ss:[009E],bx E527:41A9 mov ss:[00A0],es E527:41AE mov bx,ss E527:41B0 mov es,bx E527:41B2 mov bx,0088 E527:41B5 mov byte ptr es:[bx],0E E527:41B9 mov byte ptr es:[bx+02],05 E527:41BE call 1C58 E527:41C1 test word ptr es:[bx+03],0200 E527:41C7 jne 41D3 E527:41C9 cmp byte ptr es:[bx+0D],03 E527:41CE jne 41D3 E527:41D0 jmp 4119 E527:41D3 pop es E527:41D4 pop bx E527:41D5 pop ax E527:41D6 popf E527:41D7 ret E527:41D8 test word ptr ss:[0105],8000 E527:41DF je 41E4 E527:41E1 jmp 428A E527:41E4 mov byte ptr ss:[0086],00 E527:41EA push word ptr ss:[00AB] E527:41EF push word ptr ss:[00AD] E527:41F4 or word ptr ss:[0105],8000 E527:41FB lds si,ss:[009E] E527:4200 test word ptr [si+04],8000 E527:4205 je 420B E527:4207 mov ah,80 E527:4209 jmp 422D E527:420B mov ah,ss:[0086] E527:4210 mov al,es:[bx+02] E527:4214 cmp al,02 E527:4216 je 4229 E527:4218 cmp al,04 E527:421A je 4229 E527:421C cmp al,01 E527:421E je 4229 E527:4220 call 0949 E527:4223 call 2E43 E527:4226 or ah,01 E527:4229 mov al,[0051] E527:422D mov di,es:[bx+03] E527:4231 mov bp,ds E527:4233 mov dx,ss E527:4235 mov ds,dx E527:4237 mov bx,sp E527:4239 mov cx,ss:[00AB] E527:423E mov ss,ss:[00AD] E527:4243 mov sp,cx E527:4245 int 24 E527:4247 and word ptr [0105],7FFF E527:424D cmp al,01 E527:424F je 427A E527:4251 jb 4265 E527:4253 mov ax,00C3 E527:4256 mov ss,ax E527:4258 mov sp,0ABF E527:425B mov ax,0200 E527:425E mov [0082],ax E527:4262 jmp 469D E527:4265 mov ss,dx E527:4267 mov sp,bx E527:4269 pop word ptr ss:[00AD] E527:426E pop word ptr ss:[00AB] E527:4273 mov ax,0003 E527:4276 stc E527:4277 jmp 4617 E527:427A dec byte ptr [0111] E527:427E pop ax E527:427F pop bx E527:4280 pop cx E527:4281 pop dx E527:4282 pop si E527:4283 pop di E527:4284 pop bp E527:4285 pop ds E527:4286 pop es E527:4287 jmp 44DA E527:428A ret E527:428B push bx E527:428C push cx E527:428D push dx E527:428E push di E527:428F mov ah,dl E527:4291 shr ah,1 E527:4293 shr ah,1 E527:4295 mov cx,0008 E527:4298 xor dh,dh E527:429A call 42B0 E527:429D mov cx,0003 E527:42A0 shr ah,1 E527:42A2 lodsb E527:42A3 cmp al,2E E527:42A5 call 42B0 E527:42A8 mov al,dh E527:42AA clc E527:42AB pop di E527:42AC pop dx E527:42AD pop cx E527:42AE pop bx E527:42AF ret E527:42B0 mov bx,cx E527:42B2 je 42B7 E527:42B4 dec si E527:42B5 jmp 42D2 E527:42B7 lodsb E527:42B8 call 42E7 E527:42BB je 42CD E527:42BD cmp al,3F E527:42BF jne 42C4 E527:42C1 or dh,01 E527:42C4 cmp al,2A E527:42C6 je 42DF E527:42C8 stosb E527:42C9 loop 42B7 E527:42CB jmp 42E6 E527:42CD dec si E527:42CE cmp cx,bx E527:42D0 jne 42DB E527:42D2 test ah,01 E527:42D5 je 42DB E527:42D7 add di,cx E527:42D9 jmp 42E6 E527:42DB mov al,20 E527:42DD jmp 42E4 E527:42DF or dh,01 E527:42E2 mov al,3F E527:42E4 rep stosb E527:42E6 ret E527:42E7 cmp al,41 E527:42E9 jb 42FD E527:42EB cmp al,5A E527:42ED jbe 42F9 E527:42EF cmp al,61 E527:42F1 jb 42FD E527:42F3 cmp al,7A E527:42F5 ja 42FD E527:42F7 sub al,20 E527:42F9 test al,FF E527:42FB jmp 4319 E527:42FD cmp al,20 E527:42FF jnb 4305 E527:4301 cmp al,al E527:4303 jmp 4319 E527:4305 push cx E527:4306 push di E527:4307 push es E527:4308 mov di,cs E527:430A mov es,di E527:430C mov di,431A E527:430F nop E527:4310 mov cx,000C E527:4313 nop E527:4314 repne scasb E527:4316 pop es E527:4317 pop di E527:4318 pop cx E527:4319 ret E527:431A and [3B3A],ch E527:431E cmp ax,2F2B E527:4321 and bh,[si+5C] E527:4324 or [bx+si],ax E527:4326 call 42E7 E527:4329 je 4343 E527:432B cmp al,41 E527:432D jb 4343 E527:432F cmp al,5A E527:4331 ja 4343 E527:4333 sub al,41 E527:4335 cmp al,ss:[0028] E527:433A jnb 4343 E527:433C mov [0051],al E527:4340 clc E527:4341 jmp 4344 E527:4343 stc E527:4344 ret E527:4345 push ax E527:4346 push cx E527:4347 push bx E527:4348 mov cl,04 E527:434A shr bx,cl E527:434C mov ax,es E527:434E add ax,bx E527:4350 mov es,ax E527:4352 pop bx E527:4353 and bx,000F E527:4357 pop cx E527:4358 pop ax E527:4359 ret E527:435A xor al,al E527:435C mov cx,0041 E527:435F call 4363 E527:4362 ret E527:4363 push ax E527:4364 push di E527:4365 push es E527:4366 mov di,ds E527:4368 mov es,di E527:436A mov di,si E527:436C push cx E527:436D repne scasb E527:436F pop ax E527:4370 je 4375 E527:4372 stc E527:4373 jmp 4379 E527:4375 sub ax,cx E527:4377 dec ax E527:4378 clc E527:4379 mov cx,ax E527:437B pop es E527:437C pop di E527:437D pop ax E527:437E ret E527:437F test ax,000F E527:4382 pushf E527:4383 shr ax,1 E527:4385 shr ax,1 E527:4387 shr ax,1 E527:4389 shr ax,1 E527:438B popf E527:438C je 438F E527:438E inc ax E527:438F ret E527:4390 push ax E527:4391 push cx E527:4392 push si E527:4393 push di E527:4394 push es E527:4395 mov si,ds E527:4397 mov es,si E527:4399 mov si,0088 E527:439C mov cx,00AF E527:439F sub cx,0088 E527:43A3 mov al,[0111] E527:43A6 mul cl E527:43A8 mov di,si E527:43AA add di,ax E527:43AC rep movsb E527:43AE pop es E527:43AF pop di E527:43B0 pop si E527:43B1 pop cx E527:43B2 pop ax E527:43B3 ret E527:43B4 push ax E527:43B5 push cx E527:43B6 push si E527:43B7 push di E527:43B8 push es E527:43B9 mov si,ds E527:43BB mov es,si E527:43BD mov di,0088 E527:43C0 mov cx,00AF E527:43C3 sub cx,0088 E527:43C7 mov al,[0111] E527:43CA mul cl E527:43CC mov si,di E527:43CE add si,ax E527:43D0 rep movsb E527:43D2 pop es E527:43D3 pop di E527:43D4 pop si E527:43D5 pop cx E527:43D6 pop ax E527:43D7 ret E527:43D8 push bx E527:43D9 mov bx,cx E527:43DB mov al,2A E527:43DD call 4363 E527:43E0 jnb 43F1 E527:43E2 mov al,2E E527:43E4 call 4363 E527:43E7 jnb 43F1 E527:43E9 xor al,al E527:43EB call 4363 E527:43EE jnb 43F1 E527:43F0 dec cx E527:43F1 pop bx E527:43F2 ret E527:43F3 push bx E527:43F4 mov bx,cx E527:43F6 mov cx,0020 E527:43F9 mov al,2E E527:43FB call 4363 E527:43FE jb 4416 E527:4400 add si,cx E527:4402 mov cx,bx E527:4404 mov al,2A E527:4406 call 4363 E527:4409 jnb 4415 E527:440B xor al,al E527:440D call 4363 E527:4410 cmp cx,02 E527:4413 jb 4416 E527:4415 clc E527:4416 pop bx E527:4417 ret 4666 Int21_Fn00 0A86 Int21_Fn01 0ABA Int21_Fn02 0738 Int21_Fn03 0769 Int21_Fn04 076E Int21_Fn05 0AF1 Int21_Fn06 0B24 Int21_Fn07 0B44 Int21_Fn08 0B7B Int21_Fn09 0BD0 Int21_Fn0A 0E13 Int21_Fn0B 0E33 Int21_Fn0C 1BC2 Int21_Fn0D 1BD8 Int21_Fn0E 1DFA Int21_Fn0F 1E1F Int21_Fn10 1E7A Int21_Fn11 1EB6 Int21_Fn12 1EDB Int21_Fn13 1F2B Int21_Fn14 1F36 Int21_Fn15 1F41 Int21_Fn16 1F8A Int21_Fn17 4661 Int21_Fn18 1BE6 Int21_Fn19 1BEA Int21_Fn1A 1C04 Int21_Fn1B 1C08 Int21_Fn1C 4661 Int21_Fn1D 4661 Int21_Fn1E 4014 Int21_Fn1F 4661 Int21_Fn20 2039 Int21_Fn21 2060 Int21_Fn22 2087 Int21_Fn23 20BD Int21_Fn24 32E3 Int21_Fn25 32FF Int21_Fn26 20E6 Int21_Fn27 2142 Int21_Fn28 3325 Int21_Fn29 0FF3 Int21_Fn2A 106A Int21_Fn2B 10ED Int21_Fn2C 110B Int21_Fn2D 3376 Int21_Fn2E 1BF5 Int21_Fn2F 338F Int21_Fn30 467B Int21_Fn31 4018 Int21_Fn32 33AB Int21_Fn33 4072 Int21_Fn34 33D5 Int21_Fn35 1C3A Int21_Fn36 407B Int21_Fn37 0F4F Int21_Fn38 1997 Int21_Fn39 1A21 Int21_Fn3A 1A8F Int21_Fn3B 25E7 Int21_Fn3C 2635 Int21_Fn3D 26A0 Int21_Fn3E 3A58 Int21_Fn3F 3B16 Int21_Fn40 2733 Int21_Fn41 3B6B Int21_Fn42 2788 Int21_Fn43 2E79 Int21_Fn44 27FD Int21_Fn45 2841 Int21_Fn46 1BA1 Int21_Fn47 304E Int21_Fn48 311C Int21_Fn49 3141 Int21_Fn4A 474B Int21_Fn4B 4694 Int21_Fn4C 33E7 Int21_Fn4D 2872 Int21_Fn4E 289C Int21_Fn4F 405F Int21_Fn50 4064 Int21_Fn51 403B Int21_Fn52 4043 Int21_Fn53 33EB Int21_Fn54 4069 Int21_Fn55 28B4 Int21_Fn56 2989 Int21_Fn57 40DE Int21_Fn58 498E Int21_Fn59 4661 Int21_Fn5A 4661 Int21_Fn5B 4661 Int21_Fn5C 4661 Int21_Fn5D 4661 Int21_Fn5E 4661 Int21_Fn5F 40FD Int21_Fn60 INT_21 DOS Services E527:44DA sti E527:44DB cld E527:44DC cmp ah,61 E527:44DF jb 44E4 E527:44E1 jmp 4565 E527:44E4 cmp ah,25 E527:44E7 je 452C E527:44E9 cmp ah,34 E527:44EC je 452C E527:44EE cmp ah,35 E527:44F1 je 452C E527:44F3 cmp ah,2E E527:44F6 je 4545 E527:44F8 cmp ah,30 E527:44FB je 4545 E527:44FD cmp ah,33 E527:4500 je 4545 E527:4502 cmp ah,37 E527:4505 je 4545 E527:4507 cmp ah,4D E527:450A je 4545 E527:450C cmp ah,50 E527:450F je 4545 E527:4511 cmp ah,51 E527:4514 je 4545 E527:4516 cmp ah,52 E527:4519 je 4545 E527:451B cmp ah,54 E527:451E je 4545 E527:4520 cmp ah,58 E527:4523 je 4545 E527:4525 cmp ah,59 E527:4528 je 4545 E527:452A jmp 456B E527:452C push bp E527:452D xchg ah,al E527:452F mov bp,ax E527:4531 and bp,00FF E527:4535 shl bp,1 E527:4537 add bp,4418 E527:453B xchg ah,al E527:453D call word ptr cs:[bp+00] E527:4541 pop bp E527:4542 jmp 464A E527:4545 push bp E527:4546 push ds E527:4547 mov bp,00C3 E527:454A mov ds,bp E527:454C xchg ah,al E527:454E mov bp,ax E527:4550 and bp,00FF E527:4554 shl bp,1 E527:4556 add bp,4418 E527:455A xchg ah,al E527:455C call word ptr cs:[bp+00] E527:4560 pop ds E527:4561 pop bp E527:4562 jmp 464A E527:4565 call 4661 E527:4568 jmp 464A E527:456B push es E527:456C push ds E527:456D push bp E527:456E push di E527:456F push si E527:4570 push dx E527:4571 push cx E527:4572 push bx E527:4573 push ax E527:4574 mov bp,00C3 E527:4577 mov ds,bp E527:4579 cmp byte ptr [0111],00 E527:457E je 458B E527:4580 test word ptr [0105],8000 E527:4586 jne 458B E527:4588 call 4390 E527:458B mov [00AB],sp E527:458F mov [00AD],ss E527:4593 mov bp,sp E527:4595 mov bp,[bp+0E] E527:4598 mov [00A6],dx E527:459C mov [00A8],bp E527:45A0 mov bp,[007E] E527:45A4 mov ds,bp E527:45A6 xor bp,bp E527:45A8 mov ds:[bp+2E],sp E527:45AC mov ds:[bp+30],ss E527:45B0 mov bp,00C3 E527:45B3 mov ds,bp E527:45B5 test word ptr [0105],8000 E527:45BB jne 45D2 E527:45BD cmp byte ptr [0111],01 E527:45C2 je 45D9 E527:45C4 ja 45E0 E527:45C6 cmp ah,0C E527:45C9 ja 45E0 E527:45CB mov ss,bp E527:45CD mov sp,06BF E527:45D0 jmp 45E5 E527:45D2 mov ss,bp E527:45D4 mov sp,0ABF E527:45D7 jmp 45E5 E527:45D9 mov ss,bp E527:45DB mov sp,0CBF E527:45DE jmp 45E5 E527:45E0 mov ss,bp E527:45E2 mov sp,08BF E527:45E5 and word ptr [0105],FDFF E527:45EB cmp ah,0C E527:45EE ja 45F6 E527:45F0 or word ptr [0105],0200 E527:45F6 xchg ah,al E527:45F8 mov bp,ax E527:45FA and bp,00FF E527:45FE shl bp,1 E527:4600 add bp,4418 E527:4604 xchg ah,al E527:4606 inc byte ptr [0111] E527:460A push ax E527:460B mov ah,82 E527:460D int 2A E527:460F pop ax E527:4610 call word ptr cs:[bp+00] E527:4614 call 4189 E527:4617 mov bp,00C3 E527:461A mov ds,bp E527:461C mov [0117],ax E527:461F les di,[00AB] E527:4623 mov bp,es E527:4625 mov ss,bp E527:4627 mov sp,di E527:4629 pushf E527:462A dec byte ptr [0111] E527:462E cmp byte ptr [0111],00 E527:4633 je 4640 E527:4635 test word ptr [0105],8000 E527:463B jne 4640 E527:463D call 43B4 E527:4640 popf E527:4641 pop bx E527:4642 pop bx E527:4643 pop cx E527:4644 pop dx E527:4645 pop si E527:4646 pop di E527:4647 pop bp E527:4648 pop ds E527:4649 pop es E527:464A retf 0002 E527:464D push ax E527:464E push bp E527:464F mov bp,sp E527:4651 mov ax,[bp+08] E527:4654 mov [bp+04],ax E527:4657 pushf E527:4658 pop ax E527:4659 mov [bp+08],ax E527:465C pop bp E527:465D pop ax E527:465E jmp 44DA Int21_Fn18 Int21_Fn1D Int21_Fn1E Int21_Fn20 Int21_Fn5A Int21_Fn5B Int21_Fn5C Int21_Fn5D Int21_Fn5E Int21_Fn5F E527:4661 mov ax,0001 E527:4664 stc E527:4665 ret Int21_Fn00 Terminate E527:4666 lds si,ss:[00AB] E527:466B mov ax,[si+14] E527:466E mov [007E],ax E527:4672 xor ax,ax E527:4674 mov [0082],ax E527:4678 jmp 469D E527:467A nop Int21_Fn31 Terminate and stay resident E527:467B mov ah,03 E527:467D mov [0082],ax E527:4681 call 46AF E527:4684 mov es,ss:[007E] E527:4689 mov bx,dx E527:468B call 3141 Int21_Fn4A E527:468E call 46EF E527:4691 jmp 4709 E527:4693 nop Int21_Fn4C Terminate program E527:4694 xor ah,ah E527:4696 mov [0082],ax E527:469A jmp 469D E527:469C nop E527:469D call 46AF E527:46A0 call 46D3 E527:46A3 call 1bc2 Reset disk E527:46A6 call 3207 E527:46A9 call 46EF E527:46AC jmp 4709 E527:46AE nop E527:46AF mov ds,ss:[007E] E527:46B4 xor si,si E527:46B6 mov es,si E527:46B8 lea si,[si+0A] E527:46BB mov di,0088 E527:46BE mov cx,0006 E527:46C1 rep movsw E527:46C3 cmp byte ptr ss:[0087],80 E527:46C9 jne 46D2 E527:46CB mov ax,2401 E527:46CE xor dx,dx E527:46D0 int 61 E527:46D2 ret E527:46D3 mov ds,ss:[007E] E527:46D8 mov ax,ds E527:46DA xor si,si E527:46DC cmp ax,[si+16] E527:46DF je 46EE E527:46E1 mov cx,ss:[0129] E527:46E6 xor bx,bx E527:46E8 call 26A0 E527:46EB inc bx E527:46EC loop 46E8 E527:46EE ret E527:46EF mov ds,ss:[007E] E527:46F4 xor si,si E527:46F6 mov ax,[si+16] E527:46F9 mov [007E],ax E527:46FD mov word ptr ss:[004C],0080 E527:4704 mov [004E],ax E527:4708 ret E527:4709 dec byte ptr ss:[0111] E527:470E mov ax,ss E527:4710 mov ds,ax E527:4712 call 43B4 E527:4715 xor si,si E527:4717 mov ds,si E527:4719 mov si,0088 E527:471C lds si,[si] E527:471E mov ax,[007E] E527:4722 mov es,ax E527:4724 xor di,di E527:4726 les di,es:[di+2E] E527:472A mov es:[di+14],ds E527:472E mov es:[di+12],si E527:4732 mov ax,es E527:4734 mov ss,ax E527:4736 mov sp,di E527:4738 pop ax E527:4739 pop bx E527:473A pop cx E527:473B pop dx E527:473C pop si E527:473D pop di E527:473E pop bp E527:473F pop ds E527:4740 pop es E527:4741 clc E527:4742 retf 0002 E527:4745 xor [3530],bp E527:4749 xor ah,[si] Int21_Fn4B Execute or load a program E527:474B cmp al,01 E527:474D jbe 4763 E527:474F cmp al,03 E527:4751 je 4763 E527:4753 cmp al,80 E527:4755 je 4763 E527:4757 cmp al,FF E527:4759 mov al,80 E527:475B je 4763 E527:475D mov ax,0001 E527:4760 stc E527:4761 jmp 47B6 E527:4763 mov [0087],al E527:4766 mov [0076],bx E527:476A mov [0078],es E527:476E mov cx,0007 E527:4771 call 2A25 E527:4774 jb 47B6 E527:4776 test al,40 E527:4778 jne 47B2 E527:477A cmp byte ptr ss:[0087],80 E527:4780 jne 478A E527:4782 cmp byte ptr ss:[0051],02 E527:4788 je 47B2 E527:478A mov dx,es:[di+1A] E527:478E mov di,01A3 E527:4791 xor ax,ax E527:4793 mov bx,ax E527:4795 mov cx,001C E527:4798 call 3E78 E527:479B jb 47B6 E527:479D cmp ax,cx E527:479F jb 47AD E527:47A1 cmp word ptr es:[di],5A4D E527:47A6 jne 47AD E527:47A8 call 48BB E527:47AB jmp 47B6 E527:47AD call 47B7 E527:47B0 jmp 47B6 E527:47B2 mov ax,0005 E527:47B5 stc E527:47B6 ret E527:47B7 mov si,016D E527:47BA cmp word ptr ss:[si+1E],00 E527:47BF je 47C8 E527:47C1 mov ax,000B E527:47C4 stc E527:47C5 jmp 48BA E527:47C8 cmp byte ptr ss:[0087],03 E527:47CE je 47F8 E527:47D0 call 4AB1 E527:47D3 jnb 47D8 E527:47D5 jmp 48AD E527:47D8 call 4BEE E527:47DB jnb 47E0 E527:47DD jmp 48A9 E527:47E0 sub bx,10 E527:47E3 jnb 47EB E527:47E5 mov ax,0008 E527:47E8 jmp 48A9 E527:47EB cmp byte ptr ss:[0087],80 E527:47F1 je 483A E527:47F3 mov di,0100 E527:47F6 jmp 47FB E527:47F8 call 4CC4 E527:47FB mov si,016D E527:47FE mov ax,ss:[si+1C] E527:4802 mov cx,ax E527:4804 call 437F E527:4807 cmp ax,bx E527:4809 jbe 4810 E527:480B mov ax,0008 E527:480E jmp 4824 E527:4810 mov dx,ss:[si+1A] E527:4814 push bx E527:4815 xor ax,ax E527:4817 mov bx,ax E527:4819 call 3E78 E527:481C pop bx E527:481D cmp ax,cx E527:481F je 4830 E527:4821 mov ax,000B E527:4824 cmp byte ptr ss:[0087],03 E527:482A jne 48A9 E527:482C stc E527:482D jmp 48BA E527:4830 cmp byte ptr ss:[0087],03 E527:4836 jne 483A E527:4838 jmp 48B7 E527:483A call 4C10 E527:483D mov dx,es E527:483F call 32FF E527:4842 call 4C29 E527:4845 mov dx,es E527:4847 dec dx E527:4848 mov ds,dx E527:484A xor bx,bx E527:484C mov dx,[bx+03] E527:484F xor bx,bx E527:4851 cmp dx,1000 E527:4855 jnb 4861 E527:4857 mov bx,dx E527:4859 shl bx,1 E527:485B shl bx,1 E527:485D shl bx,1 E527:485F shl bx,1 E527:4861 cmp byte ptr ss:[0087],01 E527:4867 je 4883 E527:4869 dec byte ptr ss:[0111] E527:486E mov ax,ss E527:4870 mov ds,ax E527:4872 call 43B4 E527:4875 cmp byte ptr ss:[0087],80 E527:487B je 4880 E527:487D jmp 4CE4 E527:4880 jmp 4D03 E527:4883 dec bx E527:4884 dec bx E527:4885 mov word ptr es:[bx],0000 E527:488A dec bx E527:488B dec bx E527:488C mov word ptr es:[bx],0000 E527:4891 lds si,ss:[0076] E527:4896 mov [si+0E],bx E527:4899 mov [si+10],es E527:489C mov word ptr [si+12],0100 E527:48A1 mov [si+14],es E527:48A4 xor ax,ax E527:48A6 clc E527:48A7 jmp 48AA E527:48A9 stc E527:48AA call 4CDC E527:48AD mov es,ss:[0080] E527:48B2 call 4CDC E527:48B5 jmp 48BA E527:48B7 xor ax,ax E527:48B9 clc E527:48BA ret E527:48BB cmp byte ptr ss:[0087],03 E527:48C1 je 48E7 E527:48C3 call 4AB1 E527:48C6 jnb 48CB E527:48C8 jmp 4980 E527:48CB call 4BEE E527:48CE jnb 48D3 E527:48D0 jmp 497C E527:48D3 sub bx,10 E527:48D6 jnb 48DE E527:48D8 mov ax,0008 E527:48DB jmp 497C E527:48DE mov ax,es E527:48E0 add ax,0010 E527:48E3 mov es,ax E527:48E5 jmp 48EA E527:48E7 call 4CC4 E527:48EA call 4996 E527:48ED jb 4904 E527:48EF call 49E7 E527:48F2 jb 4904 E527:48F4 call 4A3F E527:48F7 jb 4904 E527:48F9 cmp byte ptr ss:[0087],03 E527:48FF jne 490F E527:4901 jmp 498A E527:4904 cmp byte ptr ss:[0087],03 E527:490A jne 4975 E527:490C stc E527:490D jmp 498D E527:490F call 4C10 E527:4912 mov dx,es E527:4914 sub dx,10 E527:4917 mov es,dx E527:4919 call 32FF E527:491C call 4C29 E527:491F mov ax,ss E527:4921 mov es,ax E527:4923 mov si,01A3 E527:4926 add dx,10 E527:4929 cmp byte ptr ss:[0087],01 E527:492F je 4940 E527:4931 dec byte ptr ss:[0111] E527:4936 mov ax,ss E527:4938 mov ds,ax E527:493A call 43B4 E527:493D jmp 4D67 E527:4940 add ss:[si+0E],dx E527:4944 add ss:[si+16],dx E527:4948 mov es,ss:[si+0E] E527:494C mov bx,ss:[si+10] E527:4950 dec bx E527:4951 dec bx E527:4952 mov word ptr es:[bx],0000 E527:4957 lds si,ss:[0076] E527:495C mov [si+0E],bx E527:495F mov [si+10],es E527:4962 mov ax,ss:[si+14] E527:4966 mov [si+12],ax E527:4969 mov ax,ss:[si+16] E527:496D mov [si+14],es E527:4970 xor ax,ax E527:4972 clc E527:4973 jmp 497D E527:4975 mov bx,es E527:4977 sub bx,10 E527:497A mov es,bx E527:497C stc E527:497D call 4CDC E527:4980 mov es,ss:[0080] E527:4985 call 4CDC E527:4988 jmp 498D E527:498A xor ax,ax E527:498C clc E527:498D ret Int21_Fn59 Get extended error info E527:498E mov ax,[0117] E527:4991 xor bx,bx E527:4993 xor ch,ch E527:4995 ret E527:4996 push bx E527:4997 push es E527:4998 add bx,10 E527:499B mov ax,es E527:499D sub ax,0010 E527:49A0 mov es,ax E527:49A2 mov si,01A3 E527:49A5 mov dx,ss:[si+04] E527:49A9 mov cl,05 E527:49AB shl dx,cl E527:49AD add dx,10 E527:49B0 sub dx,ss:[si+08] E527:49B4 add dx,ss:[si+0A] E527:49B8 cmp bx,dx E527:49BA jnb 49C1 E527:49BC mov ax,0008 E527:49BF jmp 49E4 E527:49C1 mov bx,dx E527:49C3 sub bx,ss:[si+0A] E527:49C7 add bx,ss:[si+0C] E527:49CB jnb 49D0 E527:49CD mov bx,FFFF E527:49D0 lds si,ss:[00AB] E527:49D5 push word ptr [si+02] E527:49D8 call 3141 Int21_Fn4A E527:49DB lds si,ss:[00AB] E527:49E0 pop word ptr [si+02] E527:49E3 clc E527:49E4 pop es E527:49E5 pop bx E527:49E6 ret E527:49E7 push es E527:49E8 mov si,016D E527:49EB mov dx,ss:[si+1A] E527:49EF push dx E527:49F0 mov si,01A3 E527:49F3 mov ax,ss:[si+08] E527:49F7 mov bx,0010 E527:49FA mul bx E527:49FC mov bx,dx E527:49FE push ax E527:49FF mov cx,0200 E527:4A02 div cx E527:4A04 mov cx,ss:[si+04] E527:4A08 sub cx,ax E527:4A0A pop ax E527:4A0B pop dx E527:4A0C jbe 4A1E E527:4A0E xor di,di E527:4A10 push cx E527:4A11 mov cx,0200 E527:4A14 call 4A24 E527:4A17 pop cx E527:4A18 jb 4A1E E527:4A1A loop 4A10 E527:4A1C jmp 4A22 E527:4A1E mov ax,000B E527:4A21 stc E527:4A22 pop es E527:4A23 ret E527:4A24 push ax E527:4A25 push bx E527:4A26 mov bx,di E527:4A28 call 4345 E527:4A2B mov di,bx E527:4A2D pop bx E527:4A2E push bx E527:4A2F call 3E78 E527:4A32 pop bx E527:4A33 pop ax E527:4A34 jb 4A3E E527:4A36 add ax,cx E527:4A38 adc bx,00 E527:4A3B add di,cx E527:4A3D clc E527:4A3E ret E527:4A3F push es E527:4A40 cmp byte ptr ss:[0087],03 E527:4A46 je 4A4C E527:4A48 mov bx,es E527:4A4A jmp 4A54 E527:4A4C lds si,ss:[0076] E527:4A51 mov bx,[si+02] E527:4A54 mov ax,ss E527:4A56 mov es,ax E527:4A58 mov di,016D E527:4A5B mov dx,es:[di+1A] E527:4A5F mov si,01A3 E527:4A62 mov cx,es:[si+06] E527:4A66 mov di,007A E527:4A69 jcxz 4A72 E527:4A6B call 4A7B E527:4A6E jb 4A75 E527:4A70 loop 4A6B E527:4A72 clc E527:4A73 jmp 4A79 E527:4A75 mov ax,000B E527:4A78 stc E527:4A79 pop es E527:4A7A ret E527:4A7B push cx E527:4A7C push dx E527:4A7D push bx E527:4A7E push dx E527:4A7F dec cx E527:4A80 mov ax,0004 E527:4A83 mul cx E527:4A85 mov bx,dx E527:4A87 add ax,es:[si+18] E527:4A8B adc bx,00 E527:4A8E pop dx E527:4A8F mov cx,0004 E527:4A92 call 3E78 E527:4A95 pop bx E527:4A96 jb 4AAE E527:4A98 cmp ax,cx E527:4A9A jne 4AAD E527:4A9C add es:[di+02],bx E527:4AA0 push si E527:4AA1 push ds E527:4AA2 lds si,es:[di] E527:4AA5 add [si],bx E527:4AA7 pop ds E527:4AA8 pop si E527:4AA9 clc E527:4AAA jmp 4AAE E527:4AAC nop E527:4AAD stc E527:4AAE pop dx E527:4AAF pop cx E527:4AB0 ret E527:4AB1 push di E527:4AB2 push es E527:4AB3 lds si,ss:[0076] E527:4AB8 mov ax,[si] E527:4ABA xor di,di E527:4ABC or ax,ax E527:4ABE jne 4AD3 E527:4AC0 mov es,ss:[007E] E527:4AC5 mov ax,es:[di+2C] E527:4AC9 or ax,ax E527:4ACB jne 4AD3 E527:4ACD mov [0080],ax E527:4AD0 jmp 4B3D E527:4AD2 nop E527:4AD3 mov es,ax E527:4AD5 xor al,al E527:4AD7 mov cx,8000 E527:4ADA repne scasb E527:4ADC jcxz 4B39 E527:4ADE dec cx E527:4ADF jcxz 4B39 E527:4AE1 scasb E527:4AE2 jne 4ADA E527:4AE4 mov ax,8000 E527:4AE7 sub ax,cx E527:4AE9 push ax E527:4AEA lds si,ss:[00A6] E527:4AEF call 4B40 E527:4AF2 pop ax E527:4AF3 add ax,dx E527:4AF5 mov cx,ax E527:4AF7 add ax,0002 E527:4AFA push bx E527:4AFB push dx E527:4AFC call 437F E527:4AFF mov bx,ax E527:4B01 lds si,ss:[00AB] E527:4B06 push word ptr [si+02] E527:4B09 call 304E E527:4B0C lds si,ss:[00AB] E527:4B11 pop word ptr [si+02] E527:4B14 pop dx E527:4B15 pop bx E527:4B16 jb 4B3D E527:4B18 mov [0080],ax E527:4B1C mov si,es E527:4B1E mov ds,si E527:4B20 xor si,si E527:4B22 mov es,ax E527:4B24 mov di,si E527:4B26 sub cx,dx E527:4B28 rep movsb E527:4B2A mov ax,0001 E527:4B2D stosw E527:4B2E lds si,ss:[00A6] E527:4B33 call 4B95 E527:4B36 clc E527:4B37 jmp 4B3D E527:4B39 mov ax,000A E527:4B3C stc E527:4B3D pop es E527:4B3E pop di E527:4B3F ret E527:4B40 push si E527:4B41 mov bx,0002 E527:4B44 lodsw E527:4B45 cmp ah,3A E527:4B48 je 4B4D E527:4B4A sub si,02 E527:4B4D mov al,[si] E527:4B4F cmp al,ss:[0114] E527:4B54 je 4B6C E527:4B56 push si E527:4B57 push ds E527:4B58 call 1722 E527:4B5B call 435A E527:4B5E mov bx,cx E527:4B60 mov al,[0114] E527:4B64 cmp [bx+si+FF],al E527:4B67 je 4B6A E527:4B69 inc dx E527:4B6A pop ds E527:4B6B pop si E527:4B6C mov dx,bx E527:4B6E mov cx,0009 E527:4B71 call 43D8 E527:4B74 jcxz 4B92 E527:4B76 cmp al,2A E527:4B78 jne 4B7D E527:4B7A mov cx,0008 E527:4B7D add dx,cx E527:4B7F add si,cx E527:4B81 mov cx,0004 E527:4B84 call 43F3 E527:4B87 jb 4B92 E527:4B89 cmp al,2A E527:4B8B jne 4B90 E527:4B8D mov cx,0004 E527:4B90 add dx,cx E527:4B92 inc dx E527:4B93 pop si E527:4B94 ret E527:4B95 lodsw E527:4B96 cmp ah,3A E527:4B99 je 4B9E E527:4B9B sub si,02 E527:4B9E push si E527:4B9F push ds E527:4BA0 call 1722 E527:4BA3 mov cx,bx E527:4BA5 rep movsb E527:4BA7 cmp bx,02 E527:4BAA jbe 4BB6 E527:4BAC mov al,[0114] E527:4BB0 cmp [si+FF],al E527:4BB3 je 4BB6 E527:4BB5 stosb E527:4BB6 pop ds E527:4BB7 pop si E527:4BB8 mov cx,0009 E527:4BBB call 43D8 E527:4BBE jcxz 4BEA E527:4BC0 push cx E527:4BC1 rep movsb E527:4BC3 pop bx E527:4BC4 cmp al,2A E527:4BC6 jne 4BD1 E527:4BC8 mov cx,0008 E527:4BCB sub cx,bx E527:4BCD mov al,3F E527:4BCF rep stosb E527:4BD1 mov cx,0004 E527:4BD4 call 43F3 E527:4BD7 jb 4BEA E527:4BD9 push cx E527:4BDA rep movsb E527:4BDC pop bx E527:4BDD cmp al,2A E527:4BDF jne 4BEA E527:4BE1 mov cx,0004 E527:4BE4 sub cx,bx E527:4BE6 mov al,3F E527:4BE8 rep stosb E527:4BEA xor al,al E527:4BEC stosb E527:4BED ret E527:4BEE lds si,ss:[00AB] E527:4BF3 push word ptr [si+02] E527:4BF6 mov bx,FFFF E527:4BF9 call 304E E527:4BFC cmp ax,0008 E527:4BFF stc E527:4C00 jne 4C07 E527:4C02 call 304E E527:4C05 mov es,ax E527:4C07 lds si,ss:[00AB] E527:4C0C pop word ptr [si+02] E527:4C0F ret E527:4C10 push es E527:4C11 lds si,ss:[00AB] E527:4C16 lds si,[si+12] E527:4C19 xor di,di E527:4C1B mov es,di E527:4C1D mov di,0088 E527:4C20 mov es:[di],si E527:4C23 mov es:[di+02],ds E527:4C27 pop es E527:4C28 ret E527:4C29 push bx E527:4C2A push dx E527:4C2B mov ss:[007E],es E527:4C30 push es E527:4C31 xor bx,bx E527:4C33 mov cx,ss:[0129] E527:4C38 call 2E21 E527:4C3B jb 4C40 E527:4C3D inc word ptr es:[di] E527:4C40 inc bx E527:4C41 loop 4C38 E527:4C43 pop es E527:4C44 mov ax,[0080] E527:4C48 xor di,di E527:4C4A mov es:[di+2C],ax E527:4C4E mov word ptr ss:[004C],0080 E527:4C55 mov ss:[004E],es E527:4C5A mov dx,es E527:4C5C dec dx E527:4C5D mov ds,dx E527:4C5F mov [di+01],es E527:4C62 dec ax E527:4C63 mov ds,ax E527:4C65 mov [di+01],es E527:4C68 lds si,ss:[0076] E527:4C6D lds si,[si+02] E527:4C70 mov cl,[si] E527:4C72 xor ch,ch E527:4C74 inc cx E527:4C75 inc cx E527:4C76 cmp cx,0080 E527:4C7A jbe 4C7F E527:4C7C mov cx,0080 E527:4C7F lea di,[di+0080] E527:4C83 rep movsb E527:4C85 xor ax,ax E527:4C87 lds si,ss:[0076] E527:4C8C lds si,[si+06] E527:4C8F mov bl,[si] E527:4C91 cmp bl,ss:[0028] E527:4C96 jbe 4C9A E527:4C98 mov al,FF E527:4C9A xor di,di E527:4C9C lea di,[di+5C] E527:4C9F mov cx,0010 E527:4CA2 rep movsb E527:4CA4 lds si,ss:[0076] E527:4CA9 lds si,[si+0A] E527:4CAC mov bl,[si] E527:4CAE cmp bl,ss:[0028] E527:4CB3 jbe 4CB7 E527:4CB5 mov ah,FF E527:4CB7 xor di,di E527:4CB9 lea di,[di+6C] E527:4CBC mov cx,0010 E527:4CBF rep movsb E527:4CC1 pop dx E527:4CC2 pop bx E527:4CC3 ret E527:4CC4 les di,ss:[0076] E527:4CC9 mov ax,es:[di] E527:4CCC mov es,ss:[007E] E527:4CD1 xor di,di E527:4CD3 mov bx,es:[di+02] E527:4CD7 sub bx,ax E527:4CD9 mov es,ax E527:4CDB ret E527:4CDC push ax E527:4CDD pushf E527:4CDE call 311C E527:4CE1 popf E527:4CE2 pop ax E527:4CE3 ret E527:4CE4 mov dx,es E527:4CE6 mov ds,dx E527:4CE8 mov ss,dx E527:4CEA mov sp,bx E527:4CEC xor dx,dx E527:4CEE push dx E527:4CEF mov bx,0100 E527:4CF2 push ds E527:4CF3 push bx E527:4CF4 mov ax,dx E527:4CF6 mov bx,dx E527:4CF8 mov cx,dx E527:4CFA mov si,dx E527:4CFC mov di,dx E527:4CFE mov bp,dx E527:4D00 jmp 4D94 E527:4D03 push bx E527:4D04 mov al,[0051] E527:4D08 push ax E527:4D09 mov ah,0B E527:4D0B int 61 E527:4D0D pop dx E527:4D0E jnb 4D12 E527:4D10 xor dl,dl E527:4D12 inc dl E527:4D14 mov dh,dl E527:4D16 mov ax,2401 E527:4D19 int 61 E527:4D1B xor cl,cl E527:4D1D mov ax,0301 E527:4D20 int 61 E527:4D22 mov si,016D E527:4D25 mov dx,ss:[si+1A] E527:4D29 xor bx,bx E527:4D2B mov cx,bx E527:4D2D lds si,ss:[003E] E527:4D32 call 155C E527:4D35 mov ax,dx E527:4D37 mul word ptr [si+02] E527:4D3A mov cx,0004 E527:4D3D shr dx,1 E527:4D3F rcr ax,1 E527:4D41 loop 4D3D E527:4D43 mov di,ss:[si+1C] E527:4D47 mov si,ss:[si+1E] E527:4D4B mov bx,si E527:4D4D mov cx,di E527:4D4F pop dx E527:4D50 mov bp,es E527:4D52 mov ds,bp E527:4D54 mov ss,bp E527:4D56 mov sp,dx E527:4D58 xor dx,dx E527:4D5A push dx E527:4D5B add ax,C000 E527:4D5E push ax E527:4D5F push dx E527:4D60 mov ax,dx E527:4D62 mov bp,dx E527:4D64 jmp 4D94 E527:4D66 nop E527:4D67 mov cx,es:[si+0E] E527:4D6B add cx,dx E527:4D6D mov ss,cx E527:4D6F mov sp,es:[si+10] E527:4D73 mov cx,es:[si+16] E527:4D77 add cx,dx E527:4D79 mov bx,es:[si+14] E527:4D7D sub dx,10 E527:4D80 mov ds,dx E527:4D82 mov es,dx E527:4D84 push cx E527:4D85 push bx E527:4D86 xor dx,dx E527:4D88 mov ax,dx E527:4D8A mov bx,dx E527:4D8C mov cx,dx E527:4D8E mov si,dx