@init: add ax,(@end-@init) mov di,ax mov ds,es @seek: add bx,15 ; jump # bytes cmp [bx],0CCCCh ; check if this is a useless byte jne @seek ; if true, scan again jmp @destroy ; else destroy @destroy: mov [bx],ax mov [bx+2],cs mov [di+4], 0cccch mov [di+6], 0cccch add bx,8 cmp [bx], 0cccch je @destroy mov ss,cs mov sp,bx @end: call far [@seek]