	.file	"crypt.c"
gcc2_compiled.:
.text
#ifdef	__i486__
	.align 4
#else
	.align 2
#endif
.globl _ufc_doit
_ufc_doit:
	pushl %ebp
	movl %esp,%ebp
	subl $4,%esp
	pushl %edi
	pushl %esi
	pushl %ebx
	movl 8(%ebp),%edi
	movl 12(%ebp),%esi
	movl 16(%ebp),%ebx
	movl 24(%ebp),%ecx
	decl %ecx
	movl %ecx,-4(%ebp)
	cmpl $-1,%ecx
	je L3
#ifdef	__i486__
	.align 4,0x90
#else
	.align 2,0x90
#endif
L4:
	movl %ebx,%edx
	xorl _ufc_keytab,%edx
	movzwl %dx,%eax
	xorl _ufc_sb1(%eax),%edi
	xorl _ufc_sb1+4(%eax),%esi
	shrl $16,%edx
	xorl _ufc_sb0(%edx),%edi
	xorl _ufc_sb0+4(%edx),%esi
	movl 20(%ebp),%edx
	xorl _ufc_keytab+4,%edx
	movzwl %dx,%eax
	xorl _ufc_sb3(%eax),%edi
	xorl _ufc_sb3+4(%eax),%esi
	shrl $16,%edx
	xorl _ufc_sb2(%edx),%edi
	xorl _ufc_sb2+4(%edx),%esi
	movl %edi,%edx
	xorl _ufc_keytab+8,%edx
	movzwl %dx,%eax
	xorl _ufc_sb1(%eax),%ebx
	movl _ufc_sb1+4(%eax),%eax
	xorl %eax,20(%ebp)
	shrl $16,%edx
	xorl _ufc_sb0(%edx),%ebx
	movl _ufc_sb0+4(%edx),%edx
	xorl %edx,20(%ebp)
	movl %esi,%edx
	xorl _ufc_keytab+12,%edx
	movzwl %dx,%eax
	xorl _ufc_sb3(%eax),%ebx
	movl _ufc_sb3+4(%eax),%eax
	xorl %eax,20(%ebp)
	shrl $16,%edx
	xorl _ufc_sb2(%edx),%ebx
	movl _ufc_sb2+4(%edx),%edx
	xorl %edx,20(%ebp)
	movl %ebx,%edx
	xorl _ufc_keytab+16,%edx
	movzwl %dx,%eax
	xorl _ufc_sb1(%eax),%edi
	xorl _ufc_sb1+4(%eax),%esi
	shrl $16,%edx
	xorl _ufc_sb0(%edx),%edi
	xorl _ufc_sb0+4(%edx),%esi
	movl 20(%ebp),%edx
	xorl _ufc_keytab+20,%edx
	movzwl %dx,%eax
	xorl _ufc_sb3(%eax),%edi
	xorl _ufc_sb3+4(%eax),%esi
	shrl $16,%edx
	xorl _ufc_sb2(%edx),%edi
	xorl _ufc_sb2+4(%edx),%esi
	movl %edi,%edx
	xorl _ufc_keytab+24,%edx
	movzwl %dx,%eax
	xorl _ufc_sb1(%eax),%ebx
	movl _ufc_sb1+4(%eax),%eax
	xorl %eax,20(%ebp)
	shrl $16,%edx
	xorl _ufc_sb0(%edx),%ebx
	movl _ufc_sb0+4(%edx),%edx
	xorl %edx,20(%ebp)
	movl %esi,%edx
	xorl _ufc_keytab+28,%edx
	movzwl %dx,%eax
	xorl _ufc_sb3(%eax),%ebx
	movl _ufc_sb3+4(%eax),%eax
	xorl %eax,20(%ebp)
	shrl $16,%edx
	xorl _ufc_sb2(%edx),%ebx
	movl _ufc_sb2+4(%edx),%edx
	xorl %edx,20(%ebp)
	movl %ebx,%edx
	xorl _ufc_keytab+32,%edx
	movzwl %dx,%eax
	xorl _ufc_sb1(%eax),%edi
	xorl _ufc_sb1+4(%eax),%esi
	shrl $16,%edx
	xorl _ufc_sb0(%edx),%edi
	xorl _ufc_sb0+4(%edx),%esi
	movl 20(%ebp),%edx
	xorl _ufc_keytab+36,%edx
	movzwl %dx,%eax
	xorl _ufc_sb3(%eax),%edi
	xorl _ufc_sb3+4(%eax),%esi
	shrl $16,%edx
	xorl _ufc_sb2(%edx),%edi
	xorl _ufc_sb2+4(%edx),%esi
	movl %edi,%edx
	xorl _ufc_keytab+40,%edx
	movzwl %dx,%eax
	xorl _ufc_sb1(%eax),%ebx
	movl _ufc_sb1+4(%eax),%eax
	xorl %eax,20(%ebp)
	shrl $16,%edx
	xorl _ufc_sb0(%edx),%ebx
	movl _ufc_sb0+4(%edx),%edx
	xorl %edx,20(%ebp)
	movl %esi,%edx
	xorl _ufc_keytab+44,%edx
	movzwl %dx,%eax
	xorl _ufc_sb3(%eax),%ebx
	movl _ufc_sb3+4(%eax),%eax
	xorl %eax,20(%ebp)
	shrl $16,%edx
	xorl _ufc_sb2(%edx),%ebx
	movl _ufc_sb2+4(%edx),%edx
	xorl %edx,20(%ebp)
	movl %ebx,%edx
	xorl _ufc_keytab+48,%edx
	movzwl %dx,%eax
	xorl _ufc_sb1(%eax),%edi
	xorl _ufc_sb1+4(%eax),%esi
	shrl $16,%edx
	xorl _ufc_sb0(%edx),%edi
	xorl _ufc_sb0+4(%edx),%esi
	movl 20(%ebp),%edx
	xorl _ufc_keytab+52,%edx
	movzwl %dx,%eax
	xorl _ufc_sb3(%eax),%edi
	xorl _ufc_sb3+4(%eax),%esi
	shrl $16,%edx
	xorl _ufc_sb2(%edx),%edi
	xorl _ufc_sb2+4(%edx),%esi
	movl %edi,%edx
	xorl _ufc_keytab+56,%edx
	movzwl %dx,%eax
	xorl _ufc_sb1(%eax),%ebx
	movl _ufc_sb1+4(%eax),%eax
	xorl %eax,20(%ebp)
	shrl $16,%edx
	xorl _ufc_sb0(%edx),%ebx
	movl _ufc_sb0+4(%edx),%edx
	xorl %edx,20(%ebp)
	movl %esi,%edx
	xorl _ufc_keytab+60,%edx
	movzwl %dx,%eax
	xorl _ufc_sb3(%eax),%ebx
	movl _ufc_sb3+4(%eax),%eax
	xorl %eax,20(%ebp)
	shrl $16,%edx
	xorl _ufc_sb2(%edx),%ebx
	movl _ufc_sb2+4(%edx),%edx
	xorl %edx,20(%ebp)
	movl %ebx,%edx
	xorl _ufc_keytab+64,%edx
	movzwl %dx,%eax
	xorl _ufc_sb1(%eax),%edi
	xorl _ufc_sb1+4(%eax),%esi
	shrl $16,%edx
	xorl _ufc_sb0(%edx),%edi
	xorl _ufc_sb0+4(%edx),%esi
	movl 20(%ebp),%edx
	xorl _ufc_keytab+68,%edx
	movzwl %dx,%eax
	xorl _ufc_sb3(%eax),%edi
	xorl _ufc_sb3+4(%eax),%esi
	shrl $16,%edx
	xorl _ufc_sb2(%edx),%edi
	xorl _ufc_sb2+4(%edx),%esi
	movl %edi,%edx
	xorl _ufc_keytab+72,%edx
	movzwl %dx,%eax
	xorl _ufc_sb1(%eax),%ebx
	movl _ufc_sb1+4(%eax),%eax
	xorl %eax,20(%ebp)
	shrl $16,%edx
	xorl _ufc_sb0(%edx),%ebx
	movl _ufc_sb0+4(%edx),%edx
	xorl %edx,20(%ebp)
	movl %esi,%edx
	xorl _ufc_keytab+76,%edx
	movzwl %dx,%eax
	xorl _ufc_sb3(%eax),%ebx
	movl _ufc_sb3+4(%eax),%eax
	xorl %eax,20(%ebp)
	shrl $16,%edx
	xorl _ufc_sb2(%edx),%ebx
	movl _ufc_sb2+4(%edx),%edx
	xorl %edx,20(%ebp)
	movl %ebx,%edx
	xorl _ufc_keytab+80,%edx
	movzwl %dx,%eax
	xorl _ufc_sb1(%eax),%edi
	xorl _ufc_sb1+4(%eax),%esi
	shrl $16,%edx
	xorl _ufc_sb0(%edx),%edi
	xorl _ufc_sb0+4(%edx),%esi
	movl 20(%ebp),%edx
	xorl _ufc_keytab+84,%edx
	movzwl %dx,%eax
	xorl _ufc_sb3(%eax),%edi
	xorl _ufc_sb3+4(%eax),%esi
	shrl $16,%edx
	xorl _ufc_sb2(%edx),%edi
	xorl _ufc_sb2+4(%edx),%esi
	movl %edi,%edx
	xorl _ufc_keytab+88,%edx
	movzwl %dx,%eax
	xorl _ufc_sb1(%eax),%ebx
	movl _ufc_sb1+4(%eax),%eax
	xorl %eax,20(%ebp)
	shrl $16,%edx
	xorl _ufc_sb0(%edx),%ebx
	movl _ufc_sb0+4(%edx),%edx
	xorl %edx,20(%ebp)
	movl %esi,%edx
	xorl _ufc_keytab+92,%edx
	movzwl %dx,%eax
	xorl _ufc_sb3(%eax),%ebx
	movl _ufc_sb3+4(%eax),%eax
	xorl %eax,20(%ebp)
	shrl $16,%edx
	xorl _ufc_sb2(%edx),%ebx
	movl _ufc_sb2+4(%edx),%edx
	xorl %edx,20(%ebp)
	movl %ebx,%edx
	xorl _ufc_keytab+96,%edx
	movzwl %dx,%eax
	xorl _ufc_sb1(%eax),%edi
	xorl _ufc_sb1+4(%eax),%esi
	shrl $16,%edx
	xorl _ufc_sb0(%edx),%edi
	xorl _ufc_sb0+4(%edx),%esi
	movl 20(%ebp),%edx
	xorl _ufc_keytab+100,%edx
	movzwl %dx,%eax
	xorl _ufc_sb3(%eax),%edi
	xorl _ufc_sb3+4(%eax),%esi
	shrl $16,%edx
	xorl _ufc_sb2(%edx),%edi
	xorl _ufc_sb2+4(%edx),%esi
	movl %edi,%edx
	xorl _ufc_keytab+104,%edx
	movzwl %dx,%eax
	xorl _ufc_sb1(%eax),%ebx
	movl _ufc_sb1+4(%eax),%eax
	xorl %eax,20(%ebp)
	shrl $16,%edx
	xorl _ufc_sb0(%edx),%ebx
	movl _ufc_sb0+4(%edx),%edx
	xorl %edx,20(%ebp)
	movl %esi,%edx
	xorl _ufc_keytab+108,%edx
	movzwl %dx,%eax
	xorl _ufc_sb3(%eax),%ebx
	movl _ufc_sb3+4(%eax),%eax
	xorl %eax,20(%ebp)
	shrl $16,%edx
	xorl _ufc_sb2(%edx),%ebx
	movl _ufc_sb2+4(%edx),%edx
	xorl %edx,20(%ebp)
	movl %ebx,%edx
	xorl _ufc_keytab+112,%edx
	movzwl %dx,%eax
	xorl _ufc_sb1(%eax),%edi
	xorl _ufc_sb1+4(%eax),%esi
	shrl $16,%edx
	xorl _ufc_sb0(%edx),%edi
	xorl _ufc_sb0+4(%edx),%esi
	movl 20(%ebp),%edx
	xorl _ufc_keytab+116,%edx
	movzwl %dx,%eax
	xorl _ufc_sb3(%eax),%edi
	xorl _ufc_sb3+4(%eax),%esi
	shrl $16,%edx
	xorl _ufc_sb2(%edx),%edi
	xorl _ufc_sb2+4(%edx),%esi
	movl %edi,%edx
	xorl _ufc_keytab+120,%edx
	movzwl %dx,%eax
	xorl _ufc_sb1(%eax),%ebx
	movl _ufc_sb1+4(%eax),%eax
	xorl %eax,20(%ebp)
	shrl $16,%edx
	xorl _ufc_sb0(%edx),%ebx
	movl _ufc_sb0+4(%edx),%edx
	xorl %edx,20(%ebp)
	movl %esi,%edx
	xorl _ufc_keytab+124,%edx
	movzwl %dx,%eax
	xorl _ufc_sb3(%eax),%ebx
	movl _ufc_sb3+4(%eax),%eax
	xorl %eax,20(%ebp)
	shrl $16,%edx
	xorl _ufc_sb2(%edx),%ebx
	movl _ufc_sb2+4(%edx),%edx
	xorl %edx,20(%ebp)
        xchg %edi,%ebx     
        xchg %esi,20(%ebp)
	decl -4(%ebp)
	cmpl $-1,-4(%ebp)
	jne L4
L3:
	pushl 20(%ebp)
	pushl %ebx
	pushl %esi
	pushl %edi
	call _ufc_dofinalperm
	leal -16(%ebp),%esp
	popl %ebx
	popl %esi
	popl %edi
	leave
	ret
