--- /dev/null
+.387
+ PUBLIC MXGETIMAGE
+ EXTRN SUBCLIPIMAGE:BYTE
+ EXTRN MX_BYTESPERLINE:BYTE
+ EXTRN MX_VIDEOSEGMENT:BYTE
+MX_TEXT SEGMENT PARA PUBLIC USE16 'CODE'
+ ASSUME CS:MX_TEXT, DS:DGROUP, SS:DGROUP
+MXGETIMAGE:
+ push bp
+ mov bp,sp
+ sub sp,10H
+ push ds
+ push si
+ push es
+ push di
+ mov bx,word ptr 0cH[bp]
+ mov ax,word ptr 0aH[bp]
+ mov cx,word ptr 8[bp]
+ mov dx,word ptr 6[bp]
+ call near ptr MX_TEXT:SUBCLIPIMAGE
+ jae L$1
+ jmp near ptr L$7
+L$1:
+ mov word ptr 6[bp],dx
+ add word ptr 0eH[bp],si
+ mul word ptr cs:MX_BYTESPERLINE
+ mov si,bx
+ shr si,1
+ shr si,1
+ add si,ax
+ mov word ptr -0aH[bp],si
+ mov ds,word ptr cs:MX_VIDEOSEGMENT
+ and bl,3
+ mov byte ptr -0eH[bp],bl
+ mov bx,cx
+ shr bx,1
+ shr bx,1
+ and cl,3
+ mov al,8
+ shr al,cl
+ mov di,6
+L$2:
+ mov word ptr -8[bp+di],bx
+ shr al,1
+ adc bx,0
+ dec di
+ dec di
+ jge L$2
+ cld
+ mov byte ptr -10H[bp],4
+ lea bx,-8[bp]
+ mov es,word ptr 10H[bp]
+ mov ah,byte ptr -0eH[bp]
+L$3:
+ cmp word ptr ss:[bx],0
+ je L$7
+ mov di,word ptr 0eH[bp]
+ mov al,4
+ mov dx,3ceH
+ out dx,ax
+ mov dx,word ptr 6[bp]
+ mov si,word ptr -0aH[bp]
+L$4:
+ push si
+ push di
+ mov cx,word ptr ss:[bx]
+L$5:
+ movsb
+ add di,3
+ dec cx
+ jne L$5
+ pop di
+ pop si
+ add di,word ptr 8[bp]
+ add si,word ptr cs:MX_BYTESPERLINE
+ dec dx
+ jne L$4
+ inc bx
+ inc bx
+ inc ah
+ test ah,4
+ je L$6
+ inc word ptr -0aH[bp]
+ and ah,3
+L$6:
+ inc word ptr 0eH[bp]
+ dec byte ptr -10H[bp]
+ jne L$3
+L$7:
+ xor ax,ax
+ pop di
+ pop es
+ pop si
+ pop ds
+ mov sp,bp
+ pop bp
+ retf 0cH
+MX_TEXT ENDS
+ END