.file "sha1-compress.asm" .text .align 4 .globl _nettle_sha1_compress _nettle_sha1_compress: pushl %ebx pushl %ebp pushl %esi pushl %edi subl $68, %esp movl 92(%esp), %esi movl (%esi), %eax bswap %eax movl %eax, (%esp) movl 4(%esi), %ebx bswap %ebx movl %ebx, 4 (%esp) movl 8(%esi), %ecx bswap %ecx movl %ecx, 8 (%esp) movl 12(%esi), %edx bswap %edx movl %edx, 12 (%esp) movl 16(%esi), %eax bswap %eax movl %eax, 16 (%esp) movl 20(%esi), %ebx bswap %ebx movl %ebx, 20 (%esp) movl 24(%esi), %ecx bswap %ecx movl %ecx, 24 (%esp) movl 28(%esi), %edx bswap %edx movl %edx, 28 (%esp) movl 32(%esi), %eax bswap %eax movl %eax, 32 (%esp) movl 36(%esi), %ebx bswap %ebx movl %ebx, 36 (%esp) movl 40(%esi), %ecx bswap %ecx movl %ecx, 40 (%esp) movl 44(%esi), %edx bswap %edx movl %edx, 44 (%esp) movl 48(%esi), %eax bswap %eax movl %eax, 48 (%esp) movl 52(%esi), %ebx bswap %ebx movl %ebx, 52 (%esp) movl 56(%esi), %ecx bswap %ecx movl %ecx, 56 (%esp) movl 60(%esi), %edx bswap %edx movl %edx, 60 (%esp) movl 88(%esp),%edi movl (%edi), %eax movl 4(%edi), %ebx movl 8(%edi), %ecx movl 12(%edi), %edx movl 16(%edi), %ebp movl $0x5A827999, %esi addl %esi, %ebp addl (%esp), %ebp movl %edx, %edi xorl %ecx, %edi andl %ebx, %edi xorl %edx, %edi addl %edi, %ebp movl %eax, %edi roll $5, %edi addl %edi, %ebp roll $30, %ebx addl %esi, %edx addl 4 (%esp), %edx movl %ecx, %edi xorl %ebx, %edi andl %eax, %edi xorl %ecx, %edi addl %edi, %edx movl %ebp, %edi roll $5, %edi addl %edi, %edx roll $30, %eax addl %esi, %ecx addl 8 (%esp), %ecx movl %ebx, %edi xorl %eax, %edi andl %ebp, %edi xorl %ebx, %edi addl %edi, %ecx movl %edx, %edi roll $5, %edi addl %edi, %ecx roll $30, %ebp addl %esi, %ebx addl 12 (%esp), %ebx movl %eax, %edi xorl %ebp, %edi andl %edx, %edi xorl %eax, %edi addl %edi, %ebx movl %ecx, %edi roll $5, %edi addl %edi, %ebx roll $30, %edx addl %esi, %eax addl 16 (%esp), %eax movl %ebp, %edi xorl %edx, %edi andl %ecx, %edi xorl %ebp, %edi addl %edi, %eax movl %ebx, %edi roll $5, %edi addl %edi, %eax roll $30, %ecx addl %esi, %ebp addl 20 (%esp), %ebp movl %edx, %edi xorl %ecx, %edi andl %ebx, %edi xorl %edx, %edi addl %edi, %ebp movl %eax, %edi roll $5, %edi addl %edi, %ebp roll $30, %ebx addl %esi, %edx addl 24 (%esp), %edx movl %ecx, %edi xorl %ebx, %edi andl %eax, %edi xorl %ecx, %edi addl %edi, %edx movl %ebp, %edi roll $5, %edi addl %edi, %edx roll $30, %eax addl %esi, %ecx addl 28 (%esp), %ecx movl %ebx, %edi xorl %eax, %edi andl %ebp, %edi xorl %ebx, %edi addl %edi, %ecx movl %edx, %edi roll $5, %edi addl %edi, %ecx roll $30, %ebp addl %esi, %ebx addl 32 (%esp), %ebx movl %eax, %edi xorl %ebp, %edi andl %edx, %edi xorl %eax, %edi addl %edi, %ebx movl %ecx, %edi roll $5, %edi addl %edi, %ebx roll $30, %edx addl %esi, %eax addl 36 (%esp), %eax movl %ebp, %edi xorl %edx, %edi andl %ecx, %edi xorl %ebp, %edi addl %edi, %eax movl %ebx, %edi roll $5, %edi addl %edi, %eax roll $30, %ecx addl %esi, %ebp addl 40 (%esp), %ebp movl %edx, %edi xorl %ecx, %edi andl %ebx, %edi xorl %edx, %edi addl %edi, %ebp movl %eax, %edi roll $5, %edi addl %edi, %ebp roll $30, %ebx addl %esi, %edx addl 44 (%esp), %edx movl %ecx, %edi xorl %ebx, %edi andl %eax, %edi xorl %ecx, %edi addl %edi, %edx movl %ebp, %edi roll $5, %edi addl %edi, %edx roll $30, %eax addl %esi, %ecx addl 48 (%esp), %ecx movl %ebx, %edi xorl %eax, %edi andl %ebp, %edi xorl %ebx, %edi addl %edi, %ecx movl %edx, %edi roll $5, %edi addl %edi, %ecx roll $30, %ebp addl %esi, %ebx addl 52 (%esp), %ebx movl %eax, %edi xorl %ebp, %edi andl %edx, %edi xorl %eax, %edi addl %edi, %ebx movl %ecx, %edi roll $5, %edi addl %edi, %ebx roll $30, %edx addl %esi, %eax addl 56 (%esp), %eax movl %ebp, %edi xorl %edx, %edi andl %ecx, %edi xorl %ebp, %edi addl %edi, %eax movl %ebx, %edi roll $5, %edi addl %edi, %eax roll $30, %ecx addl %esi, %ebp addl 60 (%esp), %ebp movl %edx, %edi xorl %ecx, %edi andl %ebx, %edi xorl %edx, %edi addl %edi, %ebp movl %eax, %edi roll $5, %edi addl %edi, %ebp roll $30, %ebx movl (%esp), %edi xorl 8 (%esp), %edi xorl 32 (%esp), %edi xorl 52 (%esp), %edi roll $1, %edi movl %edi, (%esp) addl %esi, %edx addl %edi, %edx movl %ecx, %edi xorl %ebx, %edi andl %eax, %edi xorl %ecx, %edi addl %edi, %edx movl %ebp, %edi roll $5, %edi addl %edi, %edx roll $30, %eax movl 4 (%esp), %edi xorl 12 (%esp), %edi xorl 36 (%esp), %edi xorl 56 (%esp), %edi roll $1, %edi movl %edi, 4 (%esp) addl %esi, %ecx addl %edi, %ecx movl %ebx, %edi xorl %eax, %edi andl %ebp, %edi xorl %ebx, %edi addl %edi, %ecx movl %edx, %edi roll $5, %edi addl %edi, %ecx roll $30, %ebp movl 8 (%esp), %edi xorl 16 (%esp), %edi xorl 40 (%esp), %edi xorl 60 (%esp), %edi roll $1, %edi movl %edi, 8 (%esp) addl %esi, %ebx addl %edi, %ebx movl %eax, %edi xorl %ebp, %edi andl %edx, %edi xorl %eax, %edi addl %edi, %ebx movl %ecx, %edi roll $5, %edi addl %edi, %ebx roll $30, %edx movl 12 (%esp), %edi xorl 20 (%esp), %edi xorl 44 (%esp), %edi xorl (%esp), %edi roll $1, %edi movl %edi, 12 (%esp) addl %esi, %eax addl %edi, %eax movl %ebp, %edi xorl %edx, %edi andl %ecx, %edi xorl %ebp, %edi addl %edi, %eax movl %ebx, %edi roll $5, %edi addl %edi, %eax roll $30, %ecx movl $0x6ED9EBA1, %esi movl 16 (%esp), %edi xorl 24 (%esp), %edi xorl 48 (%esp), %edi xorl 4 (%esp), %edi roll $1, %edi movl %edi, 16 (%esp) addl %esi, %ebp addl %edi, %ebp movl %ebx, %edi xorl %ecx, %edi xorl %edx, %edi addl %edi, %ebp movl %eax, %edi roll $5, %edi addl %edi, %ebp roll $30, %ebx movl 20 (%esp), %edi xorl 28 (%esp), %edi xorl 52 (%esp), %edi xorl 8 (%esp), %edi roll $1, %edi movl %edi, 20 (%esp) addl %esi, %edx addl %edi, %edx movl %eax, %edi xorl %ebx, %edi xorl %ecx, %edi addl %edi, %edx movl %ebp, %edi roll $5, %edi addl %edi, %edx roll $30, %eax movl 24 (%esp), %edi xorl 32 (%esp), %edi xorl 56 (%esp), %edi xorl 12 (%esp), %edi roll $1, %edi movl %edi, 24 (%esp) addl %esi, %ecx addl %edi, %ecx movl %ebp, %edi xorl %eax, %edi xorl %ebx, %edi addl %edi, %ecx movl %edx, %edi roll $5, %edi addl %edi, %ecx roll $30, %ebp movl 28 (%esp), %edi xorl 36 (%esp), %edi xorl 60 (%esp), %edi xorl 16 (%esp), %edi roll $1, %edi movl %edi, 28 (%esp) addl %esi, %ebx addl %edi, %ebx movl %edx, %edi xorl %ebp, %edi xorl %eax, %edi addl %edi, %ebx movl %ecx, %edi roll $5, %edi addl %edi, %ebx roll $30, %edx movl 32 (%esp), %edi xorl 40 (%esp), %edi xorl (%esp), %edi xorl 20 (%esp), %edi roll $1, %edi movl %edi, 32 (%esp) addl %esi, %eax addl %edi, %eax movl %ecx, %edi xorl %edx, %edi xorl %ebp, %edi addl %edi, %eax movl %ebx, %edi roll $5, %edi addl %edi, %eax roll $30, %ecx movl 36 (%esp), %edi xorl 44 (%esp), %edi xorl 4 (%esp), %edi xorl 24 (%esp), %edi roll $1, %edi movl %edi, 36 (%esp) addl %esi, %ebp addl %edi, %ebp movl %ebx, %edi xorl %ecx, %edi xorl %edx, %edi addl %edi, %ebp movl %eax, %edi roll $5, %edi addl %edi, %ebp roll $30, %ebx movl 40 (%esp), %edi xorl 48 (%esp), %edi xorl 8 (%esp), %edi xorl 28 (%esp), %edi roll $1, %edi movl %edi, 40 (%esp) addl %esi, %edx addl %edi, %edx movl %eax, %edi xorl %ebx, %edi xorl %ecx, %edi addl %edi, %edx movl %ebp, %edi roll $5, %edi addl %edi, %edx roll $30, %eax movl 44 (%esp), %edi xorl 52 (%esp), %edi xorl 12 (%esp), %edi xorl 32 (%esp), %edi roll $1, %edi movl %edi, 44 (%esp) addl %esi, %ecx addl %edi, %ecx movl %ebp, %edi xorl %eax, %edi xorl %ebx, %edi addl %edi, %ecx movl %edx, %edi roll $5, %edi addl %edi, %ecx roll $30, %ebp movl 48 (%esp), %edi xorl 56 (%esp), %edi xorl 16 (%esp), %edi xorl 36 (%esp), %edi roll $1, %edi movl %edi, 48 (%esp) addl %esi, %ebx addl %edi, %ebx movl %edx, %edi xorl %ebp, %edi xorl %eax, %edi addl %edi, %ebx movl %ecx, %edi roll $5, %edi addl %edi, %ebx roll $30, %edx movl 52 (%esp), %edi xorl 60 (%esp), %edi xorl 20 (%esp), %edi xorl 40 (%esp), %edi roll $1, %edi movl %edi, 52 (%esp) addl %esi, %eax addl %edi, %eax movl %ecx, %edi xorl %edx, %edi xorl %ebp, %edi addl %edi, %eax movl %ebx, %edi roll $5, %edi addl %edi, %eax roll $30, %ecx movl 56 (%esp), %edi xorl (%esp), %edi xorl 24 (%esp), %edi xorl 44 (%esp), %edi roll $1, %edi movl %edi, 56 (%esp) addl %esi, %ebp addl %edi, %ebp movl %ebx, %edi xorl %ecx, %edi xorl %edx, %edi addl %edi, %ebp movl %eax, %edi roll $5, %edi addl %edi, %ebp roll $30, %ebx movl 60 (%esp), %edi xorl 4 (%esp), %edi xorl 28 (%esp), %edi xorl 48 (%esp), %edi roll $1, %edi movl %edi, 60 (%esp) addl %esi, %edx addl %edi, %edx movl %eax, %edi xorl %ebx, %edi xorl %ecx, %edi addl %edi, %edx movl %ebp, %edi roll $5, %edi addl %edi, %edx roll $30, %eax movl (%esp), %edi xorl 8 (%esp), %edi xorl 32 (%esp), %edi xorl 52 (%esp), %edi roll $1, %edi movl %edi, (%esp) addl %esi, %ecx addl %edi, %ecx movl %ebp, %edi xorl %eax, %edi xorl %ebx, %edi addl %edi, %ecx movl %edx, %edi roll $5, %edi addl %edi, %ecx roll $30, %ebp movl 4 (%esp), %edi xorl 12 (%esp), %edi xorl 36 (%esp), %edi xorl 56 (%esp), %edi roll $1, %edi movl %edi, 4 (%esp) addl %esi, %ebx addl %edi, %ebx movl %edx, %edi xorl %ebp, %edi xorl %eax, %edi addl %edi, %ebx movl %ecx, %edi roll $5, %edi addl %edi, %ebx roll $30, %edx movl 8 (%esp), %edi xorl 16 (%esp), %edi xorl 40 (%esp), %edi xorl 60 (%esp), %edi roll $1, %edi movl %edi, 8 (%esp) addl %esi, %eax addl %edi, %eax movl %ecx, %edi xorl %edx, %edi xorl %ebp, %edi addl %edi, %eax movl %ebx, %edi roll $5, %edi addl %edi, %eax roll $30, %ecx movl 12 (%esp), %edi xorl 20 (%esp), %edi xorl 44 (%esp), %edi xorl (%esp), %edi roll $1, %edi movl %edi, 12 (%esp) addl %esi, %ebp addl %edi, %ebp movl %ebx, %edi xorl %ecx, %edi xorl %edx, %edi addl %edi, %ebp movl %eax, %edi roll $5, %edi addl %edi, %ebp roll $30, %ebx movl 16 (%esp), %edi xorl 24 (%esp), %edi xorl 48 (%esp), %edi xorl 4 (%esp), %edi roll $1, %edi movl %edi, 16 (%esp) addl %esi, %edx addl %edi, %edx movl %eax, %edi xorl %ebx, %edi xorl %ecx, %edi addl %edi, %edx movl %ebp, %edi roll $5, %edi addl %edi, %edx roll $30, %eax movl 20 (%esp), %edi xorl 28 (%esp), %edi xorl 52 (%esp), %edi xorl 8 (%esp), %edi roll $1, %edi movl %edi, 20 (%esp) addl %esi, %ecx addl %edi, %ecx movl %ebp, %edi xorl %eax, %edi xorl %ebx, %edi addl %edi, %ecx movl %edx, %edi roll $5, %edi addl %edi, %ecx roll $30, %ebp movl 24 (%esp), %edi xorl 32 (%esp), %edi xorl 56 (%esp), %edi xorl 12 (%esp), %edi roll $1, %edi movl %edi, 24 (%esp) addl %esi, %ebx addl %edi, %ebx movl %edx, %edi xorl %ebp, %edi xorl %eax, %edi addl %edi, %ebx movl %ecx, %edi roll $5, %edi addl %edi, %ebx roll $30, %edx movl 28 (%esp), %edi xorl 36 (%esp), %edi xorl 60 (%esp), %edi xorl 16 (%esp), %edi roll $1, %edi movl %edi, 28 (%esp) addl %esi, %eax addl %edi, %eax movl %ecx, %edi xorl %edx, %edi xorl %ebp, %edi addl %edi, %eax movl %ebx, %edi roll $5, %edi addl %edi, %eax roll $30, %ecx movl $0x8F1BBCDC, 64(%esp) movl 32 (%esp), %edi xorl 40 (%esp), %edi xorl (%esp), %edi xorl 20 (%esp), %edi roll $1, %edi movl %edi, 32 (%esp) addl 64(%esp), %ebp addl %edi, %ebp movl %ebx, %esi andl %ecx, %esi movl %ebx, %edi orl %ecx, %edi andl %edx, %edi orl %esi, %edi addl %edi, %ebp movl %eax, %edi roll $5, %edi addl %edi, %ebp roll $30, %ebx movl 36 (%esp), %edi xorl 44 (%esp), %edi xorl 4 (%esp), %edi xorl 24 (%esp), %edi roll $1, %edi movl %edi, 36 (%esp) addl 64(%esp), %edx addl %edi, %edx movl %eax, %esi andl %ebx, %esi movl %eax, %edi orl %ebx, %edi andl %ecx, %edi orl %esi, %edi addl %edi, %edx movl %ebp, %edi roll $5, %edi addl %edi, %edx roll $30, %eax movl 40 (%esp), %edi xorl 48 (%esp), %edi xorl 8 (%esp), %edi xorl 28 (%esp), %edi roll $1, %edi movl %edi, 40 (%esp) addl 64(%esp), %ecx addl %edi, %ecx movl %ebp, %esi andl %eax, %esi movl %ebp, %edi orl %eax, %edi andl %ebx, %edi orl %esi, %edi addl %edi, %ecx movl %edx, %edi roll $5, %edi addl %edi, %ecx roll $30, %ebp movl 44 (%esp), %edi xorl 52 (%esp), %edi xorl 12 (%esp), %edi xorl 32 (%esp), %edi roll $1, %edi movl %edi, 44 (%esp) addl 64(%esp), %ebx addl %edi, %ebx movl %edx, %esi andl %ebp, %esi movl %edx, %edi orl %ebp, %edi andl %eax, %edi orl %esi, %edi addl %edi, %ebx movl %ecx, %edi roll $5, %edi addl %edi, %ebx roll $30, %edx movl 48 (%esp), %edi xorl 56 (%esp), %edi xorl 16 (%esp), %edi xorl 36 (%esp), %edi roll $1, %edi movl %edi, 48 (%esp) addl 64(%esp), %eax addl %edi, %eax movl %ecx, %esi andl %edx, %esi movl %ecx, %edi orl %edx, %edi andl %ebp, %edi orl %esi, %edi addl %edi, %eax movl %ebx, %edi roll $5, %edi addl %edi, %eax roll $30, %ecx movl 52 (%esp), %edi xorl 60 (%esp), %edi xorl 20 (%esp), %edi xorl 40 (%esp), %edi roll $1, %edi movl %edi, 52 (%esp) addl 64(%esp), %ebp addl %edi, %ebp movl %ebx, %esi andl %ecx, %esi movl %ebx, %edi orl %ecx, %edi andl %edx, %edi orl %esi, %edi addl %edi, %ebp movl %eax, %edi roll $5, %edi addl %edi, %ebp roll $30, %ebx movl 56 (%esp), %edi xorl (%esp), %edi xorl 24 (%esp), %edi xorl 44 (%esp), %edi roll $1, %edi movl %edi, 56 (%esp) addl 64(%esp), %edx addl %edi, %edx movl %eax, %esi andl %ebx, %esi movl %eax, %edi orl %ebx, %edi andl %ecx, %edi orl %esi, %edi addl %edi, %edx movl %ebp, %edi roll $5, %edi addl %edi, %edx roll $30, %eax movl 60 (%esp), %edi xorl 4 (%esp), %edi xorl 28 (%esp), %edi xorl 48 (%esp), %edi roll $1, %edi movl %edi, 60 (%esp) addl 64(%esp), %ecx addl %edi, %ecx movl %ebp, %esi andl %eax, %esi movl %ebp, %edi orl %eax, %edi andl %ebx, %edi orl %esi, %edi addl %edi, %ecx movl %edx, %edi roll $5, %edi addl %edi, %ecx roll $30, %ebp movl (%esp), %edi xorl 8 (%esp), %edi xorl 32 (%esp), %edi xorl 52 (%esp), %edi roll $1, %edi movl %edi, (%esp) addl 64(%esp), %ebx addl %edi, %ebx movl %edx, %esi andl %ebp, %esi movl %edx, %edi orl %ebp, %edi andl %eax, %edi orl %esi, %edi addl %edi, %ebx movl %ecx, %edi roll $5, %edi addl %edi, %ebx roll $30, %edx movl 4 (%esp), %edi xorl 12 (%esp), %edi xorl 36 (%esp), %edi xorl 56 (%esp), %edi roll $1, %edi movl %edi, 4 (%esp) addl 64(%esp), %eax addl %edi, %eax movl %ecx, %esi andl %edx, %esi movl %ecx, %edi orl %edx, %edi andl %ebp, %edi orl %esi, %edi addl %edi, %eax movl %ebx, %edi roll $5, %edi addl %edi, %eax roll $30, %ecx movl 8 (%esp), %edi xorl 16 (%esp), %edi xorl 40 (%esp), %edi xorl 60 (%esp), %edi roll $1, %edi movl %edi, 8 (%esp) addl 64(%esp), %ebp addl %edi, %ebp movl %ebx, %esi andl %ecx, %esi movl %ebx, %edi orl %ecx, %edi andl %edx, %edi orl %esi, %edi addl %edi, %ebp movl %eax, %edi roll $5, %edi addl %edi, %ebp roll $30, %ebx movl 12 (%esp), %edi xorl 20 (%esp), %edi xorl 44 (%esp), %edi xorl (%esp), %edi roll $1, %edi movl %edi, 12 (%esp) addl 64(%esp), %edx addl %edi, %edx movl %eax, %esi andl %ebx, %esi movl %eax, %edi orl %ebx, %edi andl %ecx, %edi orl %esi, %edi addl %edi, %edx movl %ebp, %edi roll $5, %edi addl %edi, %edx roll $30, %eax movl 16 (%esp), %edi xorl 24 (%esp), %edi xorl 48 (%esp), %edi xorl 4 (%esp), %edi roll $1, %edi movl %edi, 16 (%esp) addl 64(%esp), %ecx addl %edi, %ecx movl %ebp, %esi andl %eax, %esi movl %ebp, %edi orl %eax, %edi andl %ebx, %edi orl %esi, %edi addl %edi, %ecx movl %edx, %edi roll $5, %edi addl %edi, %ecx roll $30, %ebp movl 20 (%esp), %edi xorl 28 (%esp), %edi xorl 52 (%esp), %edi xorl 8 (%esp), %edi roll $1, %edi movl %edi, 20 (%esp) addl 64(%esp), %ebx addl %edi, %ebx movl %edx, %esi andl %ebp, %esi movl %edx, %edi orl %ebp, %edi andl %eax, %edi orl %esi, %edi addl %edi, %ebx movl %ecx, %edi roll $5, %edi addl %edi, %ebx roll $30, %edx movl 24 (%esp), %edi xorl 32 (%esp), %edi xorl 56 (%esp), %edi xorl 12 (%esp), %edi roll $1, %edi movl %edi, 24 (%esp) addl 64(%esp), %eax addl %edi, %eax movl %ecx, %esi andl %edx, %esi movl %ecx, %edi orl %edx, %edi andl %ebp, %edi orl %esi, %edi addl %edi, %eax movl %ebx, %edi roll $5, %edi addl %edi, %eax roll $30, %ecx movl 28 (%esp), %edi xorl 36 (%esp), %edi xorl 60 (%esp), %edi xorl 16 (%esp), %edi roll $1, %edi movl %edi, 28 (%esp) addl 64(%esp), %ebp addl %edi, %ebp movl %ebx, %esi andl %ecx, %esi movl %ebx, %edi orl %ecx, %edi andl %edx, %edi orl %esi, %edi addl %edi, %ebp movl %eax, %edi roll $5, %edi addl %edi, %ebp roll $30, %ebx movl 32 (%esp), %edi xorl 40 (%esp), %edi xorl (%esp), %edi xorl 20 (%esp), %edi roll $1, %edi movl %edi, 32 (%esp) addl 64(%esp), %edx addl %edi, %edx movl %eax, %esi andl %ebx, %esi movl %eax, %edi orl %ebx, %edi andl %ecx, %edi orl %esi, %edi addl %edi, %edx movl %ebp, %edi roll $5, %edi addl %edi, %edx roll $30, %eax movl 36 (%esp), %edi xorl 44 (%esp), %edi xorl 4 (%esp), %edi xorl 24 (%esp), %edi roll $1, %edi movl %edi, 36 (%esp) addl 64(%esp), %ecx addl %edi, %ecx movl %ebp, %esi andl %eax, %esi movl %ebp, %edi orl %eax, %edi andl %ebx, %edi orl %esi, %edi addl %edi, %ecx movl %edx, %edi roll $5, %edi addl %edi, %ecx roll $30, %ebp movl 40 (%esp), %edi xorl 48 (%esp), %edi xorl 8 (%esp), %edi xorl 28 (%esp), %edi roll $1, %edi movl %edi, 40 (%esp) addl 64(%esp), %ebx addl %edi, %ebx movl %edx, %esi andl %ebp, %esi movl %edx, %edi orl %ebp, %edi andl %eax, %edi orl %esi, %edi addl %edi, %ebx movl %ecx, %edi roll $5, %edi addl %edi, %ebx roll $30, %edx movl 44 (%esp), %edi xorl 52 (%esp), %edi xorl 12 (%esp), %edi xorl 32 (%esp), %edi roll $1, %edi movl %edi, 44 (%esp) addl 64(%esp), %eax addl %edi, %eax movl %ecx, %esi andl %edx, %esi movl %ecx, %edi orl %edx, %edi andl %ebp, %edi orl %esi, %edi addl %edi, %eax movl %ebx, %edi roll $5, %edi addl %edi, %eax roll $30, %ecx movl $0xCA62C1D6, %esi movl 48 (%esp), %edi xorl 56 (%esp), %edi xorl 16 (%esp), %edi xorl 36 (%esp), %edi roll $1, %edi movl %edi, 48 (%esp) addl %esi, %ebp addl %edi, %ebp movl %ebx, %edi xorl %ecx, %edi xorl %edx, %edi addl %edi, %ebp movl %eax, %edi roll $5, %edi addl %edi, %ebp roll $30, %ebx movl 52 (%esp), %edi xorl 60 (%esp), %edi xorl 20 (%esp), %edi xorl 40 (%esp), %edi roll $1, %edi movl %edi, 52 (%esp) addl %esi, %edx addl %edi, %edx movl %eax, %edi xorl %ebx, %edi xorl %ecx, %edi addl %edi, %edx movl %ebp, %edi roll $5, %edi addl %edi, %edx roll $30, %eax movl 56 (%esp), %edi xorl (%esp), %edi xorl 24 (%esp), %edi xorl 44 (%esp), %edi roll $1, %edi movl %edi, 56 (%esp) addl %esi, %ecx addl %edi, %ecx movl %ebp, %edi xorl %eax, %edi xorl %ebx, %edi addl %edi, %ecx movl %edx, %edi roll $5, %edi addl %edi, %ecx roll $30, %ebp movl 60 (%esp), %edi xorl 4 (%esp), %edi xorl 28 (%esp), %edi xorl 48 (%esp), %edi roll $1, %edi movl %edi, 60 (%esp) addl %esi, %ebx addl %edi, %ebx movl %edx, %edi xorl %ebp, %edi xorl %eax, %edi addl %edi, %ebx movl %ecx, %edi roll $5, %edi addl %edi, %ebx roll $30, %edx movl (%esp), %edi xorl 8 (%esp), %edi xorl 32 (%esp), %edi xorl 52 (%esp), %edi roll $1, %edi movl %edi, (%esp) addl %esi, %eax addl %edi, %eax movl %ecx, %edi xorl %edx, %edi xorl %ebp, %edi addl %edi, %eax movl %ebx, %edi roll $5, %edi addl %edi, %eax roll $30, %ecx movl 4 (%esp), %edi xorl 12 (%esp), %edi xorl 36 (%esp), %edi xorl 56 (%esp), %edi roll $1, %edi movl %edi, 4 (%esp) addl %esi, %ebp addl %edi, %ebp movl %ebx, %edi xorl %ecx, %edi xorl %edx, %edi addl %edi, %ebp movl %eax, %edi roll $5, %edi addl %edi, %ebp roll $30, %ebx movl 8 (%esp), %edi xorl 16 (%esp), %edi xorl 40 (%esp), %edi xorl 60 (%esp), %edi roll $1, %edi movl %edi, 8 (%esp) addl %esi, %edx addl %edi, %edx movl %eax, %edi xorl %ebx, %edi xorl %ecx, %edi addl %edi, %edx movl %ebp, %edi roll $5, %edi addl %edi, %edx roll $30, %eax movl 12 (%esp), %edi xorl 20 (%esp), %edi xorl 44 (%esp), %edi xorl (%esp), %edi roll $1, %edi movl %edi, 12 (%esp) addl %esi, %ecx addl %edi, %ecx movl %ebp, %edi xorl %eax, %edi xorl %ebx, %edi addl %edi, %ecx movl %edx, %edi roll $5, %edi addl %edi, %ecx roll $30, %ebp movl 16 (%esp), %edi xorl 24 (%esp), %edi xorl 48 (%esp), %edi xorl 4 (%esp), %edi roll $1, %edi movl %edi, 16 (%esp) addl %esi, %ebx addl %edi, %ebx movl %edx, %edi xorl %ebp, %edi xorl %eax, %edi addl %edi, %ebx movl %ecx, %edi roll $5, %edi addl %edi, %ebx roll $30, %edx movl 20 (%esp), %edi xorl 28 (%esp), %edi xorl 52 (%esp), %edi xorl 8 (%esp), %edi roll $1, %edi movl %edi, 20 (%esp) addl %esi, %eax addl %edi, %eax movl %ecx, %edi xorl %edx, %edi xorl %ebp, %edi addl %edi, %eax movl %ebx, %edi roll $5, %edi addl %edi, %eax roll $30, %ecx movl 24 (%esp), %edi xorl 32 (%esp), %edi xorl 56 (%esp), %edi xorl 12 (%esp), %edi roll $1, %edi movl %edi, 24 (%esp) addl %esi, %ebp addl %edi, %ebp movl %ebx, %edi xorl %ecx, %edi xorl %edx, %edi addl %edi, %ebp movl %eax, %edi roll $5, %edi addl %edi, %ebp roll $30, %ebx movl 28 (%esp), %edi xorl 36 (%esp), %edi xorl 60 (%esp), %edi xorl 16 (%esp), %edi roll $1, %edi movl %edi, 28 (%esp) addl %esi, %edx addl %edi, %edx movl %eax, %edi xorl %ebx, %edi xorl %ecx, %edi addl %edi, %edx movl %ebp, %edi roll $5, %edi addl %edi, %edx roll $30, %eax movl 32 (%esp), %edi xorl 40 (%esp), %edi xorl (%esp), %edi xorl 20 (%esp), %edi roll $1, %edi movl %edi, 32 (%esp) addl %esi, %ecx addl %edi, %ecx movl %ebp, %edi xorl %eax, %edi xorl %ebx, %edi addl %edi, %ecx movl %edx, %edi roll $5, %edi addl %edi, %ecx roll $30, %ebp movl 36 (%esp), %edi xorl 44 (%esp), %edi xorl 4 (%esp), %edi xorl 24 (%esp), %edi roll $1, %edi movl %edi, 36 (%esp) addl %esi, %ebx addl %edi, %ebx movl %edx, %edi xorl %ebp, %edi xorl %eax, %edi addl %edi, %ebx movl %ecx, %edi roll $5, %edi addl %edi, %ebx roll $30, %edx movl 40 (%esp), %edi xorl 48 (%esp), %edi xorl 8 (%esp), %edi xorl 28 (%esp), %edi roll $1, %edi movl %edi, 40 (%esp) addl %esi, %eax addl %edi, %eax movl %ecx, %edi xorl %edx, %edi xorl %ebp, %edi addl %edi, %eax movl %ebx, %edi roll $5, %edi addl %edi, %eax roll $30, %ecx movl 44 (%esp), %edi xorl 52 (%esp), %edi xorl 12 (%esp), %edi xorl 32 (%esp), %edi roll $1, %edi movl %edi, 44 (%esp) addl %esi, %ebp addl %edi, %ebp movl %ebx, %edi xorl %ecx, %edi xorl %edx, %edi addl %edi, %ebp movl %eax, %edi roll $5, %edi addl %edi, %ebp roll $30, %ebx movl 48 (%esp), %edi xorl 56 (%esp), %edi xorl 16 (%esp), %edi xorl 36 (%esp), %edi roll $1, %edi movl %edi, 48 (%esp) addl %esi, %edx addl %edi, %edx movl %eax, %edi xorl %ebx, %edi xorl %ecx, %edi addl %edi, %edx movl %ebp, %edi roll $5, %edi addl %edi, %edx roll $30, %eax movl 52 (%esp), %edi xorl 60 (%esp), %edi xorl 20 (%esp), %edi xorl 40 (%esp), %edi roll $1, %edi movl %edi, 52 (%esp) addl %esi, %ecx addl %edi, %ecx movl %ebp, %edi xorl %eax, %edi xorl %ebx, %edi addl %edi, %ecx movl %edx, %edi roll $5, %edi addl %edi, %ecx roll $30, %ebp movl 56 (%esp), %edi xorl (%esp), %edi xorl 24 (%esp), %edi xorl 44 (%esp), %edi roll $1, %edi movl %edi, 56 (%esp) addl %esi, %ebx addl %edi, %ebx movl %edx, %edi xorl %ebp, %edi xorl %eax, %edi addl %edi, %ebx movl %ecx, %edi roll $5, %edi addl %edi, %ebx roll $30, %edx movl 60 (%esp), %edi xorl 4 (%esp), %edi xorl 28 (%esp), %edi xorl 48 (%esp), %edi roll $1, %edi movl %edi, 60 (%esp) addl %esi, %eax addl %edi, %eax movl %ecx, %edi xorl %edx, %edi xorl %ebp, %edi addl %edi, %eax movl %ebx, %edi roll $5, %edi addl %edi, %eax roll $30, %ecx movl 88(%esp),%edi addl %eax, (%edi) addl %ebx, 4(%edi) addl %ecx, 8(%edi) addl %edx, 12(%edi) addl %ebp, 16(%edi) addl $68, %esp popl %edi popl %esi popl %ebp popl %ebx ret