

.model tiny
.586

	
     
.code
org 100h
start:
int 3
	mov	edi,offset temp
	mov	esi,offset procka
	mov	ecx,030h
	rep	movsd
xor ebx,ebx
xor edi,edi

main_loop:
mov	eax,offset procka
	xor edi,edi
	mov ebx,ilo
        inc ebx
        mov ilo,ebx
xorr:
	xor dword ptr[eax+edi],ebx
	add edi,4
	cmp edi,0a4h
	JNZ   xorr
	xor byte ptr[eax+edi],bl

	xor edi,edi
dalej:
	cmp byte ptr[eax+edi],0e8h
	jz spr
wruc:
	inc edi
	cmp edi,0a1h
	jz unxor		
	jmp dalej
unxor:



	mov	edi,offset procka
	mov	esi,offset temp
	mov	ecx,030h
	rep	movsd

jmp 	main_loop

spr:
cmp byte ptr[eax+edi+3],0h
jnz wruc
cmp byte ptr[eax+edi+4],0h
jnz wruc
	int 3
        mov eax,ilo
	
jmp unxor

        ret

procka			dd 987452BCh, 0FF4CC61Dh, 53510D38h, 98746208h,	8A011E1Dh
			dd 98707AA2h, 0C1D2F51Dh, 9E84E15h, 52514D1Ah, 0D8AACD02h
			dd 0EFEE4A68h, 33510D3Ch, 0EA999CEFh, 0EB9942DEh, 3FB30ADCh
			dd 67019D96h, 0D8116C2Ah, 6E84A96h, 525147A1h, 0D8AACD02h
			dd 0EFEE4A68h, 33510D3Ch, 0EA919CEFh, 0DA918CFEh, 18908C1Eh
			dd 9934E1Fh, 7B30AD7h, 0EB917E4Dh, 0EB987EC6h, 0EBAE7ECFh
			dd 830815EBh, 13621247h, 106A8F2Eh, 0D82CC812h,	19524D1Dh
			dd 0D83B3468h, 9849D175h, 0D024B21Dh, 0EDAE2B77h, 0D8116D1Dh
			dd 0D8550AF5h
			db  1Dh,0,0,0,0,0,0,0,0,0,0


temp 			db 300 dup(0)
ilo 			Dd 00000000h
end start
	
