TITLE	wp-mmx.asm
IF @Version LT 800
ECHO MASM version 8.00 or later is strongly recommended.
ENDIF
.686
.XMM
IF @Version LT 800
XMMWORD STRUCT 16
DQ	2 dup (?)
XMMWORD	ENDS
ENDIF

.MODEL	FLAT
OPTION	DOTNAME
IF @Version LT 800
.text$	SEGMENT PAGE 'CODE'
ELSE
.text$	SEGMENT ALIGN(64) 'CODE'
ENDIF
ALIGN	16
_whirlpool_block_mmx	PROC PUBLIC
$L_whirlpool_block_mmx_begin::
	push	ebp
	push	ebx
	push	esi
	push	edi
	mov	esi,DWORD PTR 20[esp]
	mov	edi,DWORD PTR 24[esp]
	mov	ebp,DWORD PTR 28[esp]
	mov	eax,esp
	sub	esp,148
	and	esp,-64
	lea	ebx,DWORD PTR 128[esp]
	mov	DWORD PTR [ebx],esi
	mov	DWORD PTR 4[ebx],edi
	mov	DWORD PTR 8[ebx],ebp
	mov	DWORD PTR 16[ebx],eax
	call	$L000pic_point
$L000pic_point:
	pop	ebp
	lea	ebp,DWORD PTR ($L001table-$L000pic_point)[ebp]
	xor	ecx,ecx
	xor	edx,edx
	movq	mm0,QWORD PTR [esi]
	movq	mm1,QWORD PTR 8[esi]
	movq	mm2,QWORD PTR 16[esi]
	movq	mm3,QWORD PTR 24[esi]
	movq	mm4,QWORD PTR 32[esi]
	movq	mm5,QWORD PTR 40[esi]
	movq	mm6,QWORD PTR 48[esi]
	movq	mm7,QWORD PTR 56[esi]
$L002outerloop:
	movq	QWORD PTR [esp],mm0
	movq	QWORD PTR 8[esp],mm1
	movq	QWORD PTR 16[esp],mm2
	movq	QWORD PTR 24[esp],mm3
	movq	QWORD PTR 32[esp],mm4
	movq	QWORD PTR 40[esp],mm5
	movq	QWORD PTR 48[esp],mm6
	movq	QWORD PTR 56[esp],mm7
	pxor	mm0,QWORD PTR [edi]
	pxor	mm1,QWORD PTR 8[edi]
	pxor	mm2,QWORD PTR 16[edi]
	pxor	mm3,QWORD PTR 24[edi]
	pxor	mm4,QWORD PTR 32[edi]
	pxor	mm5,QWORD PTR 40[edi]
	pxor	mm6,QWORD PTR 48[edi]
	pxor	mm7,QWORD PTR 56[edi]
	movq	QWORD PTR 64[esp],mm0
	movq	QWORD PTR 72[esp],mm1
	movq	QWORD PTR 80[esp],mm2
	movq	QWORD PTR 88[esp],mm3
	movq	QWORD PTR 96[esp],mm4
	movq	QWORD PTR 104[esp],mm5
	movq	QWORD PTR 112[esp],mm6
	movq	QWORD PTR 120[esp],mm7
	xor	esi,esi
	mov	DWORD PTR 12[ebx],esi
ALIGN	16
$L003round:
	movq	mm0,QWORD PTR 4096[esi*8+ebp]
	mov	eax,DWORD PTR [esp]
	mov	ebx,DWORD PTR 4[esp]
	movzx	ecx,al
	movzx	edx,ah
	shr	eax,16
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,al
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,ah
	pxor	mm0,QWORD PTR [esi*8+ebp]
	movq	mm1,QWORD PTR 7[edi*8+ebp]
	mov	eax,DWORD PTR 8[esp]
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,bl
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,bh
	movq	mm2,QWORD PTR 6[esi*8+ebp]
	movq	mm3,QWORD PTR 5[edi*8+ebp]
	shr	ebx,16
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,bl
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,bh
	movq	mm4,QWORD PTR 4[esi*8+ebp]
	movq	mm5,QWORD PTR 3[edi*8+ebp]
	mov	ebx,DWORD PTR 12[esp]
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,al
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,ah
	movq	mm6,QWORD PTR 2[esi*8+ebp]
	movq	mm7,QWORD PTR 1[edi*8+ebp]
	shr	eax,16
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,al
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,ah
	pxor	mm1,QWORD PTR [esi*8+ebp]
	pxor	mm2,QWORD PTR 7[edi*8+ebp]
	mov	eax,DWORD PTR 16[esp]
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,bl
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,bh
	pxor	mm3,QWORD PTR 6[esi*8+ebp]
	pxor	mm4,QWORD PTR 5[edi*8+ebp]
	shr	ebx,16
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,bl
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,bh
	pxor	mm5,QWORD PTR 4[esi*8+ebp]
	pxor	mm6,QWORD PTR 3[edi*8+ebp]
	mov	ebx,DWORD PTR 20[esp]
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,al
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,ah
	pxor	mm7,QWORD PTR 2[esi*8+ebp]
	pxor	mm0,QWORD PTR 1[edi*8+ebp]
	shr	eax,16
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,al
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,ah
	pxor	mm2,QWORD PTR [esi*8+ebp]
	pxor	mm3,QWORD PTR 7[edi*8+ebp]
	mov	eax,DWORD PTR 24[esp]
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,bl
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,bh
	pxor	mm4,QWORD PTR 6[esi*8+ebp]
	pxor	mm5,QWORD PTR 5[edi*8+ebp]
	shr	ebx,16
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,bl
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,bh
	pxor	mm6,QWORD PTR 4[esi*8+ebp]
	pxor	mm7,QWORD PTR 3[edi*8+ebp]
	mov	ebx,DWORD PTR 28[esp]
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,al
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,ah
	pxor	mm0,QWORD PTR 2[esi*8+ebp]
	pxor	mm1,QWORD PTR 1[edi*8+ebp]
	shr	eax,16
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,al
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,ah
	pxor	mm3,QWORD PTR [esi*8+ebp]
	pxor	mm4,QWORD PTR 7[edi*8+ebp]
	mov	eax,DWORD PTR 32[esp]
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,bl
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,bh
	pxor	mm5,QWORD PTR 6[esi*8+ebp]
	pxor	mm6,QWORD PTR 5[edi*8+ebp]
	shr	ebx,16
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,bl
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,bh
	pxor	mm7,QWORD PTR 4[esi*8+ebp]
	pxor	mm0,QWORD PTR 3[edi*8+ebp]
	mov	ebx,DWORD PTR 36[esp]
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,al
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,ah
	pxor	mm1,QWORD PTR 2[esi*8+ebp]
	pxor	mm2,QWORD PTR 1[edi*8+ebp]
	shr	eax,16
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,al
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,ah
	pxor	mm4,QWORD PTR [esi*8+ebp]
	pxor	mm5,QWORD PTR 7[edi*8+ebp]
	mov	eax,DWORD PTR 40[esp]
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,bl
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,bh
	pxor	mm6,QWORD PTR 6[esi*8+ebp]
	pxor	mm7,QWORD PTR 5[edi*8+ebp]
	shr	ebx,16
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,bl
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,bh
	pxor	mm0,QWORD PTR 4[esi*8+ebp]
	pxor	mm1,QWORD PTR 3[edi*8+ebp]
	mov	ebx,DWORD PTR 44[esp]
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,al
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,ah
	pxor	mm2,QWORD PTR 2[esi*8+ebp]
	pxor	mm3,QWORD PTR 1[edi*8+ebp]
	shr	eax,16
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,al
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,ah
	pxor	mm5,QWORD PTR [esi*8+ebp]
	pxor	mm6,QWORD PTR 7[edi*8+ebp]
	mov	eax,DWORD PTR 48[esp]
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,bl
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,bh
	pxor	mm7,QWORD PTR 6[esi*8+ebp]
	pxor	mm0,QWORD PTR 5[edi*8+ebp]
	shr	ebx,16
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,bl
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,bh
	pxor	mm1,QWORD PTR 4[esi*8+ebp]
	pxor	mm2,QWORD PTR 3[edi*8+ebp]
	mov	ebx,DWORD PTR 52[esp]
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,al
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,ah
	pxor	mm3,QWORD PTR 2[esi*8+ebp]
	pxor	mm4,QWORD PTR 1[edi*8+ebp]
	shr	eax,16
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,al
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,ah
	pxor	mm6,QWORD PTR [esi*8+ebp]
	pxor	mm7,QWORD PTR 7[edi*8+ebp]
	mov	eax,DWORD PTR 56[esp]
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,bl
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,bh
	pxor	mm0,QWORD PTR 6[esi*8+ebp]
	pxor	mm1,QWORD PTR 5[edi*8+ebp]
	shr	ebx,16
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,bl
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,bh
	pxor	mm2,QWORD PTR 4[esi*8+ebp]
	pxor	mm3,QWORD PTR 3[edi*8+ebp]
	mov	ebx,DWORD PTR 60[esp]
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,al
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,ah
	pxor	mm4,QWORD PTR 2[esi*8+ebp]
	pxor	mm5,QWORD PTR 1[edi*8+ebp]
	shr	eax,16
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,al
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,ah
	pxor	mm7,QWORD PTR [esi*8+ebp]
	pxor	mm0,QWORD PTR 7[edi*8+ebp]
	mov	eax,DWORD PTR 64[esp]
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,bl
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,bh
	pxor	mm1,QWORD PTR 6[esi*8+ebp]
	pxor	mm2,QWORD PTR 5[edi*8+ebp]
	shr	ebx,16
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,bl
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,bh
	pxor	mm3,QWORD PTR 4[esi*8+ebp]
	pxor	mm4,QWORD PTR 3[edi*8+ebp]
	mov	ebx,DWORD PTR 68[esp]
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,al
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,ah
	pxor	mm5,QWORD PTR 2[esi*8+ebp]
	pxor	mm6,QWORD PTR 1[edi*8+ebp]
	movq	QWORD PTR [esp],mm0
	movq	QWORD PTR 8[esp],mm1
	movq	QWORD PTR 16[esp],mm2
	movq	QWORD PTR 24[esp],mm3
	movq	QWORD PTR 32[esp],mm4
	movq	QWORD PTR 40[esp],mm5
	movq	QWORD PTR 48[esp],mm6
	movq	QWORD PTR 56[esp],mm7
	shr	eax,16
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,al
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,ah
	pxor	mm0,QWORD PTR [esi*8+ebp]
	pxor	mm1,QWORD PTR 7[edi*8+ebp]
	mov	eax,DWORD PTR 72[esp]
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,bl
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,bh
	pxor	mm2,QWORD PTR 6[esi*8+ebp]
	pxor	mm3,QWORD PTR 5[edi*8+ebp]
	shr	ebx,16
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,bl
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,bh
	pxor	mm4,QWORD PTR 4[esi*8+ebp]
	pxor	mm5,QWORD PTR 3[edi*8+ebp]
	mov	ebx,DWORD PTR 76[esp]
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,al
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,ah
	pxor	mm6,QWORD PTR 2[esi*8+ebp]
	pxor	mm7,QWORD PTR 1[edi*8+ebp]
	shr	eax,16
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,al
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,ah
	pxor	mm1,QWORD PTR [esi*8+ebp]
	pxor	mm2,QWORD PTR 7[edi*8+ebp]
	mov	eax,DWORD PTR 80[esp]
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,bl
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,bh
	pxor	mm3,QWORD PTR 6[esi*8+ebp]
	pxor	mm4,QWORD PTR 5[edi*8+ebp]
	shr	ebx,16
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,bl
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,bh
	pxor	mm5,QWORD PTR 4[esi*8+ebp]
	pxor	mm6,QWORD PTR 3[edi*8+ebp]
	mov	ebx,DWORD PTR 84[esp]
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,al
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,ah
	pxor	mm7,QWORD PTR 2[esi*8+ebp]
	pxor	mm0,QWORD PTR 1[edi*8+ebp]
	shr	eax,16
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,al
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,ah
	pxor	mm2,QWORD PTR [esi*8+ebp]
	pxor	mm3,QWORD PTR 7[edi*8+ebp]
	mov	eax,DWORD PTR 88[esp]
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,bl
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,bh
	pxor	mm4,QWORD PTR 6[esi*8+ebp]
	pxor	mm5,QWORD PTR 5[edi*8+ebp]
	shr	ebx,16
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,bl
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,bh
	pxor	mm6,QWORD PTR 4[esi*8+ebp]
	pxor	mm7,QWORD PTR 3[edi*8+ebp]
	mov	ebx,DWORD PTR 92[esp]
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,al
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,ah
	pxor	mm0,QWORD PTR 2[esi*8+ebp]
	pxor	mm1,QWORD PTR 1[edi*8+ebp]
	shr	eax,16
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,al
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,ah
	pxor	mm3,QWORD PTR [esi*8+ebp]
	pxor	mm4,QWORD PTR 7[edi*8+ebp]
	mov	eax,DWORD PTR 96[esp]
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,bl
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,bh
	pxor	mm5,QWORD PTR 6[esi*8+ebp]
	pxor	mm6,QWORD PTR 5[edi*8+ebp]
	shr	ebx,16
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,bl
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,bh
	pxor	mm7,QWORD PTR 4[esi*8+ebp]
	pxor	mm0,QWORD PTR 3[edi*8+ebp]
	mov	ebx,DWORD PTR 100[esp]
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,al
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,ah
	pxor	mm1,QWORD PTR 2[esi*8+ebp]
	pxor	mm2,QWORD PTR 1[edi*8+ebp]
	shr	eax,16
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,al
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,ah
	pxor	mm4,QWORD PTR [esi*8+ebp]
	pxor	mm5,QWORD PTR 7[edi*8+ebp]
	mov	eax,DWORD PTR 104[esp]
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,bl
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,bh
	pxor	mm6,QWORD PTR 6[esi*8+ebp]
	pxor	mm7,QWORD PTR 5[edi*8+ebp]
	shr	ebx,16
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,bl
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,bh
	pxor	mm0,QWORD PTR 4[esi*8+ebp]
	pxor	mm1,QWORD PTR 3[edi*8+ebp]
	mov	ebx,DWORD PTR 108[esp]
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,al
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,ah
	pxor	mm2,QWORD PTR 2[esi*8+ebp]
	pxor	mm3,QWORD PTR 1[edi*8+ebp]
	shr	eax,16
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,al
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,ah
	pxor	mm5,QWORD PTR [esi*8+ebp]
	pxor	mm6,QWORD PTR 7[edi*8+ebp]
	mov	eax,DWORD PTR 112[esp]
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,bl
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,bh
	pxor	mm7,QWORD PTR 6[esi*8+ebp]
	pxor	mm0,QWORD PTR 5[edi*8+ebp]
	shr	ebx,16
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,bl
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,bh
	pxor	mm1,QWORD PTR 4[esi*8+ebp]
	pxor	mm2,QWORD PTR 3[edi*8+ebp]
	mov	ebx,DWORD PTR 116[esp]
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,al
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,ah
	pxor	mm3,QWORD PTR 2[esi*8+ebp]
	pxor	mm4,QWORD PTR 1[edi*8+ebp]
	shr	eax,16
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,al
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,ah
	pxor	mm6,QWORD PTR [esi*8+ebp]
	pxor	mm7,QWORD PTR 7[edi*8+ebp]
	mov	eax,DWORD PTR 120[esp]
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,bl
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,bh
	pxor	mm0,QWORD PTR 6[esi*8+ebp]
	pxor	mm1,QWORD PTR 5[edi*8+ebp]
	shr	ebx,16
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,bl
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,bh
	pxor	mm2,QWORD PTR 4[esi*8+ebp]
	pxor	mm3,QWORD PTR 3[edi*8+ebp]
	mov	ebx,DWORD PTR 124[esp]
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,al
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,ah
	pxor	mm4,QWORD PTR 2[esi*8+ebp]
	pxor	mm5,QWORD PTR 1[edi*8+ebp]
	shr	eax,16
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,al
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,ah
	pxor	mm7,QWORD PTR [esi*8+ebp]
	pxor	mm0,QWORD PTR 7[edi*8+ebp]
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,bl
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,bh
	pxor	mm1,QWORD PTR 6[esi*8+ebp]
	pxor	mm2,QWORD PTR 5[edi*8+ebp]
	shr	ebx,16
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,bl
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,bh
	pxor	mm3,QWORD PTR 4[esi*8+ebp]
	pxor	mm4,QWORD PTR 3[edi*8+ebp]
	lea	esi,DWORD PTR [ecx*1+ecx]
	movzx	ecx,al
	lea	edi,DWORD PTR [edx*1+edx]
	movzx	edx,ah
	pxor	mm5,QWORD PTR 2[esi*8+ebp]
	pxor	mm6,QWORD PTR 1[edi*8+ebp]
	lea	ebx,DWORD PTR 128[esp]
	mov	esi,DWORD PTR 12[ebx]
	add	esi,1
	cmp	esi,10
	je	$L004roundsdone
	mov	DWORD PTR 12[ebx],esi
	movq	QWORD PTR 64[esp],mm0
	movq	QWORD PTR 72[esp],mm1
	movq	QWORD PTR 80[esp],mm2
	movq	QWORD PTR 88[esp],mm3
	movq	QWORD PTR 96[esp],mm4
	movq	QWORD PTR 104[esp],mm5
	movq	QWORD PTR 112[esp],mm6
	movq	QWORD PTR 120[esp],mm7
	jmp	$L003round
ALIGN	16
$L004roundsdone:
	mov	esi,DWORD PTR [ebx]
	mov	edi,DWORD PTR 4[ebx]
	mov	eax,DWORD PTR 8[ebx]
	pxor	mm0,QWORD PTR [edi]
	pxor	mm1,QWORD PTR 8[edi]
	pxor	mm2,QWORD PTR 16[edi]
	pxor	mm3,QWORD PTR 24[edi]
	pxor	mm4,QWORD PTR 32[edi]
	pxor	mm5,QWORD PTR 40[edi]
	pxor	mm6,QWORD PTR 48[edi]
	pxor	mm7,QWORD PTR 56[edi]
	pxor	mm0,QWORD PTR [esi]
	pxor	mm1,QWORD PTR 8[esi]
	pxor	mm2,QWORD PTR 16[esi]
	pxor	mm3,QWORD PTR 24[esi]
	pxor	mm4,QWORD PTR 32[esi]
	pxor	mm5,QWORD PTR 40[esi]
	pxor	mm6,QWORD PTR 48[esi]
	pxor	mm7,QWORD PTR 56[esi]
	movq	QWORD PTR [esi],mm0
	movq	QWORD PTR 8[esi],mm1
	movq	QWORD PTR 16[esi],mm2
	movq	QWORD PTR 24[esi],mm3
	movq	QWORD PTR 32[esi],mm4
	movq	QWORD PTR 40[esi],mm5
	movq	QWORD PTR 48[esi],mm6
	movq	QWORD PTR 56[esi],mm7
	lea	edi,DWORD PTR 64[edi]
	sub	eax,1
	jz	$L005alldone
	mov	DWORD PTR 4[ebx],edi
	mov	DWORD PTR 8[ebx],eax
	jmp	$L002outerloop
$L005alldone:
	emms
	mov	esp,DWORD PTR 16[ebx]
	pop	edi
	pop	esi
	pop	ebx
	pop	ebp
	ret
ALIGN	64
$L001table:
DB	24,24,96,24,192,120,48,216
DB	24,24,96,24,192,120,48,216
DB	35,35,140,35,5,175,70,38
DB	35,35,140,35,5,175,70,38
DB	198,198,63,198,126,249,145,184
DB	198,198,63,198,126,249,145,184
DB	232,232,135,232,19,111,205,251
DB	232,232,135,232,19,111,205,251
DB	135,135,38,135,76,161,19,203
DB	135,135,38,135,76,161,19,203
DB	184,184,218,184,169,98,109,17
DB	184,184,218,184,169,98,109,17
DB	1,1,4,1,8,5,2,9
DB	1,1,4,1,8,5,2,9
DB	79,79,33,79,66,110,158,13
DB	79,79,33,79,66,110,158,13
DB	54,54,216,54,173,238,108,155
DB	54,54,216,54,173,238,108,155
DB	166,166,162,166,89,4,81,255
DB	166,166,162,166,89,4,81,255
DB	210,210,111,210,222,189,185,12
DB	210,210,111,210,222,189,185,12
DB	245,245,243,245,251,6,247,14
DB	245,245,243,245,251,6,247,14
DB	121,121,249,121,239,128,242,150
DB	121,121,249,121,239,128,242,150
DB	111,111,161,111,95,206,222,48
DB	111,111,161,111,95,206,222,48
DB	145,145,126,145,252,239,63,109
DB	145,145,126,145,252,239,63,109
DB	82,82,85,82,170,7,164,248
DB	82,82,85,82,170,7,164,248
DB	96,96,157,96,39,253,192,71
DB	96,96,157,96,39,253,192,71
DB	188,188,202,188,137,118,101,53
DB	188,188,202,188,137,118,101,53
DB	155,155,86,155,172,205,43,55
DB	155,155,86,155,172,205,43,55
DB	142,142,2,142,4,140,1,138
DB	142,142,2,142,4,140,1,138
DB	163,163,182,163,113,21,91,210
DB	163,163,182,163,113,21,91,210
DB	12,12,48,12,96,60,24,108
DB	12,12,48,12,96,60,24,108
DB	123,123,241,123,255,138,246,132
DB	123,123,241,123,255,138,246,132
DB	53,53,212,53,181,225,106,128
DB	53,53,212,53,181,225,106,128
DB	29,29,116,29,232,105,58,245
DB	29,29,116,29,232,105,58,245
DB	224,224,167,224,83,71,221,179
DB	224,224,167,224,83,71,221,179
DB	215,215,123,215,246,172,179,33
DB	215,215,123,215,246,172,179,33
DB	194,194,47,194,94,237,153,156
DB	194,194,47,194,94,237,153,156
DB	46,46,184,46,109,150,92,67
DB	46,46,184,46,109,150,92,67
DB	75,75,49,75,98,122,150,41
DB	75,75,49,75,98,122,150,41
DB	254,254,223,254,163,33,225,93
DB	254,254,223,254,163,33,225,93
DB	87,87,65,87,130,22,174,213
DB	87,87,65,87,130,22,174,213
DB	21,21,84,21,168,65,42,189
DB	21,21,84,21,168,65,42,189
DB	119,119,193,119,159,182,238,232
DB	119,119,193,119,159,182,238,232
DB	55,55,220,55,165,235,110,146
DB	55,55,220,55,165,235,110,146
DB	229,229,179,229,123,86,215,158
DB	229,229,179,229,123,86,215,158
DB	159,159,70,159,140,217,35,19
DB	159,159,70,159,140,217,35,19
DB	240,240,231,240,211,23,253,35
DB	240,240,231,240,211,23,253,35
DB	74,74,53,74,106,127,148,32
DB	74,74,53,74,106,127,148,32
DB	218,218,79,218,158,149,169,68
DB	218,218,79,218,158,149,169,68
DB	88,88,125,88,250,37,176,162
DB	88,88,125,88,250,37,176,162
DB	201,201,3,201,6,202,143,207
DB	201,201,3,201,6,202,143,207
DB	41,41,164,41,85,141,82,124
DB	41,41,164,41,85,141,82,124
DB	10,10,40,10,80,34,20,90
DB	10,10,40,10,80,34,20,90
DB	177,177,254,177,225,79,127,80
DB	177,177,254,177,225,79,127,80
DB	160,160,186,160,105,26,93,201
DB	160,160,186,160,105,26,93,201
DB	107,107,177,107,127,218,214,20
DB	107,107,177,107,127,218,214,20
DB	133,133,46,133,92,171,23,217
DB	133,133,46,133,92,171,23,217
DB	189,189,206,189,129,115,103,60
DB	189,189,206,189,129,115,103,60
DB	93,93,105,93,210,52,186,143
DB	93,93,105,93,210,52,186,143
DB	16,16,64,16,128,80,32,144
DB	16,16,64,16,128,80,32,144
DB	244,244,247,244,243,3,245,7
DB	244,244,247,244,243,3,245,7
DB	203,203,11,203,22,192,139,221
DB	203,203,11,203,22,192,139,221
DB	62,62,248,62,237,198,124,211
DB	62,62,248,62,237,198,124,211
DB	5,5,20,5,40,17,10,45
DB	5,5,20,5,40,17,10,45
DB	103,103,129,103,31,230,206,120
DB	103,103,129,103,31,230,206,120
DB	228,228,183,228,115,83,213,151
DB	228,228,183,228,115,83,213,151
DB	39,39,156,39,37,187,78,2
DB	39,39,156,39,37,187,78,2
DB	65,65,25,65,50,88,130,115
DB	65,65,25,65,50,88,130,115
DB	139,139,22,139,44,157,11,167
DB	139,139,22,139,44,157,11,167
DB	167,167,166,167,81,1,83,246
DB	167,167,166,167,81,1,83,246
DB	125,125,233,125,207,148,250,178
DB	125,125,233,125,207,148,250,178
DB	149,149,110,149,220,251,55,73
DB	149,149,110,149,220,251,55,73
DB	216,216,71,216,142,159,173,86
DB	216,216,71,216,142,159,173,86
DB	251,251,203,251,139,48,235,112
DB	251,251,203,251,139,48,235,112
DB	238,238,159,238,35,113,193,205
DB	238,238,159,238,35,113,193,205
DB	124,124,237,124,199,145,248,187
DB	124,124,237,124,199,145,248,187
DB	102,102,133,102,23,227,204,113
DB	102,102,133,102,23,227,204,113
DB	221,221,83,221,166,142,167,123
DB	221,221,83,221,166,142,167,123
DB	23,23,92,23,184,75,46,175
DB	23,23,92,23,184,75,46,175
DB	71,71,1,71,2,70,142,69
DB	71,71,1,71,2,70,142,69
DB	158,158,66,158,132,220,33,26
DB	158,158,66,158,132,220,33,26
DB	202,202,15,202,30,197,137,212
DB	202,202,15,202,30,197,137,212
DB	45,45,180,45,117,153,90,88
DB	45,45,180,45,117,153,90,88
DB	191,191,198,191,145,121,99,46
DB	191,191,198,191,145,121,99,46
DB	7,7,28,7,56,27,14,63
DB	7,7,28,7,56,27,14,63
DB	173,173,142,173,1,35,71,172
DB	173,173,142,173,1,35,71,172
DB	90,90,117,90,234,47,180,176
DB	90,90,117,90,234,47,180,176
DB	131,131,54,131,108,181,27,239
DB	131,131,54,131,108,181,27,239
DB	51,51,204,51,133,255,102,182
DB	51,51,204,51,133,255,102,182
DB	99,99,145,99,63,242,198,92
DB	99,99,145,99,63,242,198,92
DB	2,2,8,2,16,10,4,18
DB	2,2,8,2,16,10,4,18
DB	170,170,146,170,57,56,73,147
DB	170,170,146,170,57,56,73,147
DB	113,113,217,113,175,168,226,222
DB	113,113,217,113,175,168,226,222
DB	200,200,7,200,14,207,141,198
DB	200,200,7,200,14,207,141,198
DB	25,25,100,25,200,125,50,209
DB	25,25,100,25,200,125,50,209
DB	73,73,57,73,114,112,146,59
DB	73,73,57,73,114,112,146,59
DB	217,217,67,217,134,154,175,95
DB	217,217,67,217,134,154,175,95
DB	242,242,239,242,195,29,249,49
DB	242,242,239,242,195,29,249,49
DB	227,227,171,227,75,72,219,168
DB	227,227,171,227,75,72,219,168
DB	91,91,113,91,226,42,182,185
DB	91,91,113,91,226,42,182,185
DB	136,136,26,136,52,146,13,188
DB	136,136,26,136,52,146,13,188
DB	154,154,82,154,164,200,41,62
DB	154,154,82,154,164,200,41,62
DB	38,38,152,38,45,190,76,11
DB	38,38,152,38,45,190,76,11
DB	50,50,200,50,141,250,100,191
DB	50,50,200,50,141,250,100,191
DB	176,176,250,176,233,74,125,89
DB	176,176,250,176,233,74,125,89
DB	233,233,131,233,27,106,207,242
DB	233,233,131,233,27,106,207,242
DB	15,15,60,15,120,51,30,119
DB	15,15,60,15,120,51,30,119
DB	213,213,115,213,230,166,183,51
DB	213,213,115,213,230,166,183,51
DB	128,128,58,128,116,186,29,244
DB	128,128,58,128,116,186,29,244
DB	190,190,194,190,153,124,97,39
DB	190,190,194,190,153,124,97,39
DB	205,205,19,205,38,222,135,235
DB	205,205,19,205,38,222,135,235
DB	52,52,208,52,189,228,104,137
DB	52,52,208,52,189,228,104,137
DB	72,72,61,72,122,117,144,50
DB	72,72,61,72,122,117,144,50
DB	255,255,219,255,171,36,227,84
DB	255,255,219,255,171,36,227,84
DB	122,122,245,122,247,143,244,141
DB	122,122,245,122,247,143,244,141
DB	144,144,122,144,244,234,61,100
DB	144,144,122,144,244,234,61,100
DB	95,95,97,95,194,62,190,157
DB	95,95,97,95,194,62,190,157
DB	32,32,128,32,29,160,64,61
DB	32,32,128,32,29,160,64,61
DB	104,104,189,104,103,213,208,15
DB	104,104,189,104,103,213,208,15
DB	26,26,104,26,208,114,52,202
DB	26,26,104,26,208,114,52,202
DB	174,174,130,174,25,44,65,183
DB	174,174,130,174,25,44,65,183
DB	180,180,234,180,201,94,117,125
DB	180,180,234,180,201,94,117,125
DB	84,84,77,84,154,25,168,206
DB	84,84,77,84,154,25,168,206
DB	147,147,118,147,236,229,59,127
DB	147,147,118,147,236,229,59,127
DB	34,34,136,34,13,170,68,47
DB	34,34,136,34,13,170,68,47
DB	100,100,141,100,7,233,200,99
DB	100,100,141,100,7,233,200,99
DB	241,241,227,241,219,18,255,42
DB	241,241,227,241,219,18,255,42
DB	115,115,209,115,191,162,230,204
DB	115,115,209,115,191,162,230,204
DB	18,18,72,18,144,90,36,130
DB	18,18,72,18,144,90,36,130
DB	64,64,29,64,58,93,128,122
DB	64,64,29,64,58,93,128,122
DB	8,8,32,8,64,40,16,72
DB	8,8,32,8,64,40,16,72
DB	195,195,43,195,86,232,155,149
DB	195,195,43,195,86,232,155,149
DB	236,236,151,236,51,123,197,223
DB	236,236,151,236,51,123,197,223
DB	219,219,75,219,150,144,171,77
DB	219,219,75,219,150,144,171,77
DB	161,161,190,161,97,31,95,192
DB	161,161,190,161,97,31,95,192
DB	141,141,14,141,28,131,7,145
DB	141,141,14,141,28,131,7,145
DB	61,61,244,61,245,201,122,200
DB	61,61,244,61,245,201,122,200
DB	151,151,102,151,204,241,51,91
DB	151,151,102,151,204,241,51,91
DB	0,0,0,0,0,0,0,0
DB	0,0,0,0,0,0,0,0
DB	207,207,27,207,54,212,131,249
DB	207,207,27,207,54,212,131,249
DB	43,43,172,43,69,135,86,110
DB	43,43,172,43,69,135,86,110
DB	118,118,197,118,151,179,236,225
DB	118,118,197,118,151,179,236,225
DB	130,130,50,130,100,176,25,230
DB	130,130,50,130,100,176,25,230
DB	214,214,127,214,254,169,177,40
DB	214,214,127,214,254,169,177,40
DB	27,27,108,27,216,119,54,195
DB	27,27,108,27,216,119,54,195
DB	181,181,238,181,193,91,119,116
DB	181,181,238,181,193,91,119,116
DB	175,175,134,175,17,41,67,190
DB	175,175,134,175,17,41,67,190
DB	106,106,181,106,119,223,212,29
DB	106,106,181,106,119,223,212,29
DB	80,80,93,80,186,13,160,234
DB	80,80,93,80,186,13,160,234
DB	69,69,9,69,18,76,138,87
DB	69,69,9,69,18,76,138,87
DB	243,243,235,243,203,24,251,56
DB	243,243,235,243,203,24,251,56
DB	48,48,192,48,157,240,96,173
DB	48,48,192,48,157,240,96,173
DB	239,239,155,239,43,116,195,196
DB	239,239,155,239,43,116,195,196
DB	63,63,252,63,229,195,126,218
DB	63,63,252,63,229,195,126,218
DB	85,85,73,85,146,28,170,199
DB	85,85,73,85,146,28,170,199
DB	162,162,178,162,121,16,89,219
DB	162,162,178,162,121,16,89,219
DB	234,234,143,234,3,101,201,233
DB	234,234,143,234,3,101,201,233
DB	101,101,137,101,15,236,202,106
DB	101,101,137,101,15,236,202,106
DB	186,186,210,186,185,104,105,3
DB	186,186,210,186,185,104,105,3
DB	47,47,188,47,101,147,94,74
DB	47,47,188,47,101,147,94,74
DB	192,192,39,192,78,231,157,142
DB	192,192,39,192,78,231,157,142
DB	222,222,95,222,190,129,161,96
DB	222,222,95,222,190,129,161,96
DB	28,28,112,28,224,108,56,252
DB	28,28,112,28,224,108,56,252
DB	253,253,211,253,187,46,231,70
DB	253,253,211,253,187,46,231,70
DB	77,77,41,77,82,100,154,31
DB	77,77,41,77,82,100,154,31
DB	146,146,114,146,228,224,57,118
DB	146,146,114,146,228,224,57,118
DB	117,117,201,117,143,188,234,250
DB	117,117,201,117,143,188,234,250
DB	6,6,24,6,48,30,12,54
DB	6,6,24,6,48,30,12,54
DB	138,138,18,138,36,152,9,174
DB	138,138,18,138,36,152,9,174
DB	178,178,242,178,249,64,121,75
DB	178,178,242,178,249,64,121,75
DB	230,230,191,230,99,89,209,133
DB	230,230,191,230,99,89,209,133
DB	14,14,56,14,112,54,28,126
DB	14,14,56,14,112,54,28,126
DB	31,31,124,31,248,99,62,231
DB	31,31,124,31,248,99,62,231
DB	98,98,149,98,55,247,196,85
DB	98,98,149,98,55,247,196,85
DB	212,212,119,212,238,163,181,58
DB	212,212,119,212,238,163,181,58
DB	168,168,154,168,41,50,77,129
DB	168,168,154,168,41,50,77,129
DB	150,150,98,150,196,244,49,82
DB	150,150,98,150,196,244,49,82
DB	249,249,195,249,155,58,239,98
DB	249,249,195,249,155,58,239,98
DB	197,197,51,197,102,246,151,163
DB	197,197,51,197,102,246,151,163
DB	37,37,148,37,53,177,74,16
DB	37,37,148,37,53,177,74,16
DB	89,89,121,89,242,32,178,171
DB	89,89,121,89,242,32,178,171
DB	132,132,42,132,84,174,21,208
DB	132,132,42,132,84,174,21,208
DB	114,114,213,114,183,167,228,197
DB	114,114,213,114,183,167,228,197
DB	57,57,228,57,213,221,114,236
DB	57,57,228,57,213,221,114,236
DB	76,76,45,76,90,97,152,22
DB	76,76,45,76,90,97,152,22
DB	94,94,101,94,202,59,188,148
DB	94,94,101,94,202,59,188,148
DB	120,120,253,120,231,133,240,159
DB	120,120,253,120,231,133,240,159
DB	56,56,224,56,221,216,112,229
DB	56,56,224,56,221,216,112,229
DB	140,140,10,140,20,134,5,152
DB	140,140,10,140,20,134,5,152
DB	209,209,99,209,198,178,191,23
DB	209,209,99,209,198,178,191,23
DB	165,165,174,165,65,11,87,228
DB	165,165,174,165,65,11,87,228
DB	226,226,175,226,67,77,217,161
DB	226,226,175,226,67,77,217,161
DB	97,97,153,97,47,248,194,78
DB	97,97,153,97,47,248,194,78
DB	179,179,246,179,241,69,123,66
DB	179,179,246,179,241,69,123,66
DB	33,33,132,33,21,165,66,52
DB	33,33,132,33,21,165,66,52
DB	156,156,74,156,148,214,37,8
DB	156,156,74,156,148,214,37,8
DB	30,30,120,30,240,102,60,238
DB	30,30,120,30,240,102,60,238
DB	67,67,17,67,34,82,134,97
DB	67,67,17,67,34,82,134,97
DB	199,199,59,199,118,252,147,177
DB	199,199,59,199,118,252,147,177
DB	252,252,215,252,179,43,229,79
DB	252,252,215,252,179,43,229,79
DB	4,4,16,4,32,20,8,36
DB	4,4,16,4,32,20,8,36
DB	81,81,89,81,178,8,162,227
DB	81,81,89,81,178,8,162,227
DB	153,153,94,153,188,199,47,37
DB	153,153,94,153,188,199,47,37
DB	109,109,169,109,79,196,218,34
DB	109,109,169,109,79,196,218,34
DB	13,13,52,13,104,57,26,101
DB	13,13,52,13,104,57,26,101
DB	250,250,207,250,131,53,233,121
DB	250,250,207,250,131,53,233,121
DB	223,223,91,223,182,132,163,105
DB	223,223,91,223,182,132,163,105
DB	126,126,229,126,215,155,252,169
DB	126,126,229,126,215,155,252,169
DB	36,36,144,36,61,180,72,25
DB	36,36,144,36,61,180,72,25
DB	59,59,236,59,197,215,118,254
DB	59,59,236,59,197,215,118,254
DB	171,171,150,171,49,61,75,154
DB	171,171,150,171,49,61,75,154
DB	206,206,31,206,62,209,129,240
DB	206,206,31,206,62,209,129,240
DB	17,17,68,17,136,85,34,153
DB	17,17,68,17,136,85,34,153
DB	143,143,6,143,12,137,3,131
DB	143,143,6,143,12,137,3,131
DB	78,78,37,78,74,107,156,4
DB	78,78,37,78,74,107,156,4
DB	183,183,230,183,209,81,115,102
DB	183,183,230,183,209,81,115,102
DB	235,235,139,235,11,96,203,224
DB	235,235,139,235,11,96,203,224
DB	60,60,240,60,253,204,120,193
DB	60,60,240,60,253,204,120,193
DB	129,129,62,129,124,191,31,253
DB	129,129,62,129,124,191,31,253
DB	148,148,106,148,212,254,53,64
DB	148,148,106,148,212,254,53,64
DB	247,247,251,247,235,12,243,28
DB	247,247,251,247,235,12,243,28
DB	185,185,222,185,161,103,111,24
DB	185,185,222,185,161,103,111,24
DB	19,19,76,19,152,95,38,139
DB	19,19,76,19,152,95,38,139
DB	44,44,176,44,125,156,88,81
DB	44,44,176,44,125,156,88,81
DB	211,211,107,211,214,184,187,5
DB	211,211,107,211,214,184,187,5
DB	231,231,187,231,107,92,211,140
DB	231,231,187,231,107,92,211,140
DB	110,110,165,110,87,203,220,57
DB	110,110,165,110,87,203,220,57
DB	196,196,55,196,110,243,149,170
DB	196,196,55,196,110,243,149,170
DB	3,3,12,3,24,15,6,27
DB	3,3,12,3,24,15,6,27
DB	86,86,69,86,138,19,172,220
DB	86,86,69,86,138,19,172,220
DB	68,68,13,68,26,73,136,94
DB	68,68,13,68,26,73,136,94
DB	127,127,225,127,223,158,254,160
DB	127,127,225,127,223,158,254,160
DB	169,169,158,169,33,55,79,136
DB	169,169,158,169,33,55,79,136
DB	42,42,168,42,77,130,84,103
DB	42,42,168,42,77,130,84,103
DB	187,187,214,187,177,109,107,10
DB	187,187,214,187,177,109,107,10
DB	193,193,35,193,70,226,159,135
DB	193,193,35,193,70,226,159,135
DB	83,83,81,83,162,2,166,241
DB	83,83,81,83,162,2,166,241
DB	220,220,87,220,174,139,165,114
DB	220,220,87,220,174,139,165,114
DB	11,11,44,11,88,39,22,83
DB	11,11,44,11,88,39,22,83
DB	157,157,78,157,156,211,39,1
DB	157,157,78,157,156,211,39,1
DB	108,108,173,108,71,193,216,43
DB	108,108,173,108,71,193,216,43
DB	49,49,196,49,149,245,98,164
DB	49,49,196,49,149,245,98,164
DB	116,116,205,116,135,185,232,243
DB	116,116,205,116,135,185,232,243
DB	246,246,255,246,227,9,241,21
DB	246,246,255,246,227,9,241,21
DB	70,70,5,70,10,67,140,76
DB	70,70,5,70,10,67,140,76
DB	172,172,138,172,9,38,69,165
DB	172,172,138,172,9,38,69,165
DB	137,137,30,137,60,151,15,181
DB	137,137,30,137,60,151,15,181
DB	20,20,80,20,160,68,40,180
DB	20,20,80,20,160,68,40,180
DB	225,225,163,225,91,66,223,186
DB	225,225,163,225,91,66,223,186
DB	22,22,88,22,176,78,44,166
DB	22,22,88,22,176,78,44,166
DB	58,58,232,58,205,210,116,247
DB	58,58,232,58,205,210,116,247
DB	105,105,185,105,111,208,210,6
DB	105,105,185,105,111,208,210,6
DB	9,9,36,9,72,45,18,65
DB	9,9,36,9,72,45,18,65
DB	112,112,221,112,167,173,224,215
DB	112,112,221,112,167,173,224,215
DB	182,182,226,182,217,84,113,111
DB	182,182,226,182,217,84,113,111
DB	208,208,103,208,206,183,189,30
DB	208,208,103,208,206,183,189,30
DB	237,237,147,237,59,126,199,214
DB	237,237,147,237,59,126,199,214
DB	204,204,23,204,46,219,133,226
DB	204,204,23,204,46,219,133,226
DB	66,66,21,66,42,87,132,104
DB	66,66,21,66,42,87,132,104
DB	152,152,90,152,180,194,45,44
DB	152,152,90,152,180,194,45,44
DB	164,164,170,164,73,14,85,237
DB	164,164,170,164,73,14,85,237
DB	40,40,160,40,93,136,80,117
DB	40,40,160,40,93,136,80,117
DB	92,92,109,92,218,49,184,134
DB	92,92,109,92,218,49,184,134
DB	248,248,199,248,147,63,237,107
DB	248,248,199,248,147,63,237,107
DB	134,134,34,134,68,164,17,194
DB	134,134,34,134,68,164,17,194
DB	24,35,198,232,135,184,1,79
DB	54,166,210,245,121,111,145,82
DB	96,188,155,142,163,12,123,53
DB	29,224,215,194,46,75,254,87
DB	21,119,55,229,159,240,74,218
DB	88,201,41,10,177,160,107,133
DB	189,93,16,244,203,62,5,103
DB	228,39,65,139,167,125,149,216
DB	251,238,124,102,221,23,71,158
DB	202,45,191,7,173,90,131,51
_whirlpool_block_mmx ENDP
.text$	ENDS
END
