;----------------------------------------------------------------------------------------------
;-----------------------Crackme 8.1 by JuBE bruteforce by Kwasek-------------------------------
;----------------------------------------------------------------------------------------------

.model tiny
.586

	
     
.code
org 100h
start:

	mov	edi,offset temp
	mov	esi,offset procka
	mov	ecx,09dh
	rep	movsd
	xor 	ebx,ebx
	xor 	edi,edi
	xor	ecx,ecx

main_loop:
	mov	eax,offset procka
	xor 	edi,edi
	mov 	ebx,ilo
_nie:
        inc 	ebx
	cmp	bh,0
	jnz	_koniec	
        mov 	ilo,ebx
xorr:
		mov	edi, offset procka

_zero:
		mov	esi, offset ilo

_loopek:
		mov	al, [esi]
		cmp	al, 0
		jz	_zero
		cmp	ecx, 271h
		ja	_spr
		xor	[edi], al
		inc	edi
		inc	ecx
		inc	esi
		jmp	_loopek

_spr:
		xor	ecx,	ecx
		mov	esi, 	offset procka
_looop:
		mov	al,	[esi]
		cmp	al,	06ah
		jnz	_dalej
		mov	al,	[esi+0ah]	; dl. klucza
		cmp	al,	06ah
		jz	_znalazl
_dalej:
		inc	esi
		inc	ecx
		cmp	ecx, 271h
		jnz	_looop


unxor:

	mov	edi,offset procka
	mov	esi,offset temp
	mov	ecx,9dh
	rep	movsd

jmp 	main_loop

_znalazl:
	mov	eax,ilo
	int 3
	xor	ecx,ecx
jmp 	unxor
_koniec:
ret



procka		dd 27505649h, 3C312420h, 56494C4Dh
		dd 255519CCh, 6EF88163h, 614756Ah, 4161115h, 10000C0Fh
		dd 16545953h, 1C0708h, 541C014Ah, 1C1A1F17h, 55101C0Fh
		dd 1F541B07h, 150D090Dh, 11095513h, 90D1F54h, 1F4A151Dh
		dd 17540E06h, 619120Ch,	1A120F0Bh, 543001Dh, 120F0501h
		dd 1737541Ch, 2050B02h,	5A4B550Fh, 484E4544h, 10100A04h
		dd 16541D1Fh, 0B4E0502h, 11075505h, 0C430A13h, 10101C01h
		dd 16111817h, 4F011C43h, 1A1C1E19h, 1C080400h, 64A051Bh
		dd 1F54111Ah, 1034806h,	151D550Bh, 0A160F54h, 1A1A2F0Bh
		dd 11A151Fh, 2010B4Dh, 1B531C4Ah, 12100C04h, 1E0B054Eh
		dd 654191Ah, 20B0C16h, 151D0F4Ah, 4190418h, 1E4A1C0Bh
		dd 1F17011Fh, 1A0343h, 541E0C18h, 1210040Eh, 1A180917h
		dd 181504h, 1D1E480Eh, 10161605h, 48061701h, 14181F1Dh
		dd 40E1004h, 0E0D0909h,	545D5B44h, 0B430A1Ah, 1E4A1501h
		dd 0F11181Ch, 24E0D0Dh,	54161F05h, 0B021717h, 550F0205h
		dd 120E1B01h, 1010402h,	545E550Fh, 0D191700h, 184A0E0Ch
		dd 18070Ah, 0E004800h, 151D550Eh, 18061107h, 55071600h
		dd 4B5A5D49h, 0E1A484Dh, 1D045501h, 0C430611h, 1E0F0614h
		dd 40E541Ah, 3070343h, 17531401h, 40A121Ch, 101A1C4Eh
		dd 0B1B0E17h, 4F060B1Ah, 0D09071Ah, 51A1154h, 1A181F4Eh
		dd 8150614h, 4F1B030Ah,	11195503h, 12001F07h, 14184F0Bh
		dd 17135409h, 31B1C02h,	1119160Bh, 68424455h, 7D73ECD6h
		dd 3BD4770h, 70E467E8h,	0B741B5BBh, 0A8A2AD7Bh,	0B4785B6Ch
		dd 0A47776B3h, 6A5D8681h, 7433503Fh, 689FE07Bh,	18D56F6Eh
		dd 0DD743452h, 7D5A3E1Bh, 745626D3h, 0E87CEF74h, 721F6F95h
		dd 255519CCh, 0BE9C8363h, 7BB047A2h, 0A9A256BCh, 0B5E96CA6h
		dd 84963376h, 4A376D50h, 0F17C752Ah, 686365B6h,	354B02D1h
		dd 7465CC73h, 6ED7F1FAh, 0FE73754Ah, 6898E56Bh,	18D5681Bh
		dd 8E743452h, 5DA6B991h, 47BB7AA9h, 6CABA4B5h, 326DAFEDh
		dd 60479591h, 6F2E4D3Eh, 74FBF065h, 30336574h, 0DC026F04h
		dd 9A74346Ah, 9046016h,	54734095h, 0CB8B6534h, 9E6A6F6Bh
		dd 4657577Fh, 4C2A2626h, 57505649h
		db  57h,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0


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