1# 1 "<stdin>" 2# 1 "<built-in>" 3# 1 "<command line>" 4# 1 "<stdin>" 5# 116 "<stdin>" 6 .text 7 8 .p2align 2,0x90 9 10 .globl __md5block 11 __md5block: 12 13 14 15 16 17 18 pushl %ebp 19 subl $(20), %esp 20 movl %ebx, (20 -8)(%esp) 21 movl %esi, (20 -12)(%esp) 22 movl %edi, (20 -16)(%esp) 23 24 movl (20 +8)(%esp), %eax 25 addl (20 +12)(%esp), %eax 26 movl %eax, (20 -4)(%esp) 27 28 movl (20 +8)(%esp), %ebp 29 300: 31 movl (20 +16)(%esp), %esi 32 movl (%esi), %eax 33 movl 4(%esi), %ebx 34 movl 8(%esi), %ecx 35 movl 12(%esi), %edx 36 37 movl %ecx, %edi; xorl %edx, %edi; andl %ebx, %edi; xorl %edx, %edi; leal 0xd76aa478(%eax, %edi, 1), %eax; addl 0*4(%ebp), %eax; roll $7, %eax; addl %ebx, %eax; 38 movl %ebx, %edi; xorl %ecx, %edi; andl %eax, %edi; xorl %ecx, %edi; leal 0xe8c7b756(%edx, %edi, 1), %edx; addl 1*4(%ebp), %edx; roll $12, %edx; addl %eax, %edx; 39 movl %eax, %edi; xorl %ebx, %edi; andl %edx, %edi; xorl %ebx, %edi; leal 0x242070db(%ecx, %edi, 1), %ecx; addl 2*4(%ebp), %ecx; roll $17, %ecx; addl %edx, %ecx; 40 movl %edx, %edi; xorl %eax, %edi; andl %ecx, %edi; xorl %eax, %edi; leal 0xc1bdceee(%ebx, %edi, 1), %ebx; addl 3*4(%ebp), %ebx; roll $22, %ebx; addl %ecx, %ebx; 41 42 movl %ecx, %edi; xorl %edx, %edi; andl %ebx, %edi; xorl %edx, %edi; leal 0xf57c0faf(%eax, %edi, 1), %eax; addl 4*4(%ebp), %eax; roll $7, %eax; addl %ebx, %eax; 43 movl %ebx, %edi; xorl %ecx, %edi; andl %eax, %edi; xorl %ecx, %edi; leal 0x4787c62a(%edx, %edi, 1), %edx; addl 5*4(%ebp), %edx; roll $12, %edx; addl %eax, %edx; 44 movl %eax, %edi; xorl %ebx, %edi; andl %edx, %edi; xorl %ebx, %edi; leal 0xa8304613(%ecx, %edi, 1), %ecx; addl 6*4(%ebp), %ecx; roll $17, %ecx; addl %edx, %ecx; 45 movl %edx, %edi; xorl %eax, %edi; andl %ecx, %edi; xorl %eax, %edi; leal 0xfd469501(%ebx, %edi, 1), %ebx; addl 7*4(%ebp), %ebx; roll $22, %ebx; addl %ecx, %ebx; 46 47 movl %ecx, %edi; xorl %edx, %edi; andl %ebx, %edi; xorl %edx, %edi; leal 0x698098d8(%eax, %edi, 1), %eax; addl 8*4(%ebp), %eax; roll $7, %eax; addl %ebx, %eax; 48 movl %ebx, %edi; xorl %ecx, %edi; andl %eax, %edi; xorl %ecx, %edi; leal 0x8b44f7af(%edx, %edi, 1), %edx; addl 9*4(%ebp), %edx; roll $12, %edx; addl %eax, %edx; 49 movl %eax, %edi; xorl %ebx, %edi; andl %edx, %edi; xorl %ebx, %edi; leal 0xffff5bb1(%ecx, %edi, 1), %ecx; addl 10*4(%ebp), %ecx; roll $17, %ecx; addl %edx, %ecx; 50 movl %edx, %edi; xorl %eax, %edi; andl %ecx, %edi; xorl %eax, %edi; leal 0x895cd7be(%ebx, %edi, 1), %ebx; addl 11*4(%ebp), %ebx; roll $22, %ebx; addl %ecx, %ebx; 51 52 movl %ecx, %edi; xorl %edx, %edi; andl %ebx, %edi; xorl %edx, %edi; leal 0x6b901122(%eax, %edi, 1), %eax; addl 12*4(%ebp), %eax; roll $7, %eax; addl %ebx, %eax; 53 movl %ebx, %edi; xorl %ecx, %edi; andl %eax, %edi; xorl %ecx, %edi; leal 0xfd987193(%edx, %edi, 1), %edx; addl 13*4(%ebp), %edx; roll $12, %edx; addl %eax, %edx; 54 movl %eax, %edi; xorl %ebx, %edi; andl %edx, %edi; xorl %ebx, %edi; leal 0xa679438e(%ecx, %edi, 1), %ecx; addl 14*4(%ebp), %ecx; roll $17, %ecx; addl %edx, %ecx; 55 movl %edx, %edi; xorl %eax, %edi; andl %ecx, %edi; xorl %eax, %edi; leal 0x49b40821(%ebx, %edi, 1), %ebx; addl 15*4(%ebp), %ebx; roll $22, %ebx; addl %ecx, %ebx; 56 57 58 movl %ebx, %edi; xorl %ecx, %edi; andl %edx, %edi; xorl %ecx, %edi; leal 0xf61e2562(%eax, %edi, 1), %eax; addl (1*4)(%ebp), %eax; roll $5, %eax; addl %ebx,%eax; 59 movl %eax, %edi; xorl %ebx, %edi; andl %ecx, %edi; xorl %ebx, %edi; leal 0xc040b340(%edx, %edi, 1), %edx; addl (6*4)(%ebp), %edx; roll $9, %edx; addl %eax,%edx; 60 movl %edx, %edi; xorl %eax, %edi; andl %ebx, %edi; xorl %eax, %edi; leal 0x265e5a51(%ecx, %edi, 1), %ecx; addl (11*4)(%ebp), %ecx; roll $14, %ecx; addl %edx,%ecx; 61 movl %ecx, %edi; xorl %edx, %edi; andl %eax, %edi; xorl %edx, %edi; leal 0xe9b6c7aa(%ebx, %edi, 1), %ebx; addl (0*4)(%ebp), %ebx; roll $20, %ebx; addl %ecx,%ebx; 62 63 movl %ebx, %edi; xorl %ecx, %edi; andl %edx, %edi; xorl %ecx, %edi; leal 0xd62f105d(%eax, %edi, 1), %eax; addl (5*4)(%ebp), %eax; roll $5, %eax; addl %ebx,%eax; 64 movl %eax, %edi; xorl %ebx, %edi; andl %ecx, %edi; xorl %ebx, %edi; leal 0x02441453(%edx, %edi, 1), %edx; addl (10*4)(%ebp), %edx; roll $9, %edx; addl %eax,%edx; 65 movl %edx, %edi; xorl %eax, %edi; andl %ebx, %edi; xorl %eax, %edi; leal 0xd8a1e681(%ecx, %edi, 1), %ecx; addl (15*4)(%ebp), %ecx; roll $14, %ecx; addl %edx,%ecx; 66 movl %ecx, %edi; xorl %edx, %edi; andl %eax, %edi; xorl %edx, %edi; leal 0xe7d3fbc8(%ebx, %edi, 1), %ebx; addl (4*4)(%ebp), %ebx; roll $20, %ebx; addl %ecx,%ebx; 67 68 movl %ebx, %edi; xorl %ecx, %edi; andl %edx, %edi; xorl %ecx, %edi; leal 0x21e1cde6(%eax, %edi, 1), %eax; addl (9*4)(%ebp), %eax; roll $5, %eax; addl %ebx,%eax; 69 movl %eax, %edi; xorl %ebx, %edi; andl %ecx, %edi; xorl %ebx, %edi; leal 0xc33707d6(%edx, %edi, 1), %edx; addl (14*4)(%ebp), %edx; roll $9, %edx; addl %eax,%edx; 70 movl %edx, %edi; xorl %eax, %edi; andl %ebx, %edi; xorl %eax, %edi; leal 0xf4d50d87(%ecx, %edi, 1), %ecx; addl (3*4)(%ebp), %ecx; roll $14, %ecx; addl %edx,%ecx; 71 movl %ecx, %edi; xorl %edx, %edi; andl %eax, %edi; xorl %edx, %edi; leal 0x455a14ed(%ebx, %edi, 1), %ebx; addl (8*4)(%ebp), %ebx; roll $20, %ebx; addl %ecx,%ebx; 72 73 movl %ebx, %edi; xorl %ecx, %edi; andl %edx, %edi; xorl %ecx, %edi; leal 0xa9e3e905(%eax, %edi, 1), %eax; addl (13*4)(%ebp), %eax; roll $5, %eax; addl %ebx,%eax; 74 movl %eax, %edi; xorl %ebx, %edi; andl %ecx, %edi; xorl %ebx, %edi; leal 0xfcefa3f8(%edx, %edi, 1), %edx; addl (2*4)(%ebp), %edx; roll $9, %edx; addl %eax,%edx; 75 movl %edx, %edi; xorl %eax, %edi; andl %ebx, %edi; xorl %eax, %edi; leal 0x676f02d9(%ecx, %edi, 1), %ecx; addl (7*4)(%ebp), %ecx; roll $14, %ecx; addl %edx,%ecx; 76 movl %ecx, %edi; xorl %edx, %edi; andl %eax, %edi; xorl %edx, %edi; leal 0x8d2a4c8a(%ebx, %edi, 1), %ebx; addl (12*4)(%ebp), %ebx; roll $20, %ebx; addl %ecx,%ebx; 77 78 79 movl %ebx, %edi; xorl %ecx, %edi; xorl %edx, %edi; leal 0xfffa3942(%eax, %edi, 1), %eax; addl (5*4)(%ebp), %eax; roll $4, %eax; addl %ebx,%eax; 80 movl %eax, %edi; xorl %ebx, %edi; xorl %ecx, %edi; leal 0x8771f681(%edx, %edi, 1), %edx; addl (8*4)(%ebp), %edx; roll $11, %edx; addl %eax,%edx; 81 movl %edx, %edi; xorl %eax, %edi; xorl %ebx, %edi; leal 0x6d9d6122(%ecx, %edi, 1), %ecx; addl (11*4)(%ebp), %ecx; roll $16, %ecx; addl %edx,%ecx; 82 movl %ecx, %edi; xorl %edx, %edi; xorl %eax, %edi; leal 0xfde5380c(%ebx, %edi, 1), %ebx; addl (14*4)(%ebp), %ebx; roll $23, %ebx; addl %ecx,%ebx; 83 84 movl %ebx, %edi; xorl %ecx, %edi; xorl %edx, %edi; leal 0xa4beea44(%eax, %edi, 1), %eax; addl (1*4)(%ebp), %eax; roll $4, %eax; addl %ebx,%eax; 85 movl %eax, %edi; xorl %ebx, %edi; xorl %ecx, %edi; leal 0x4bdecfa9(%edx, %edi, 1), %edx; addl (4*4)(%ebp), %edx; roll $11, %edx; addl %eax,%edx; 86 movl %edx, %edi; xorl %eax, %edi; xorl %ebx, %edi; leal 0xf6bb4b60(%ecx, %edi, 1), %ecx; addl (7*4)(%ebp), %ecx; roll $16, %ecx; addl %edx,%ecx; 87 movl %ecx, %edi; xorl %edx, %edi; xorl %eax, %edi; leal 0xbebfbc70(%ebx, %edi, 1), %ebx; addl (10*4)(%ebp), %ebx; roll $23, %ebx; addl %ecx,%ebx; 88 89 movl %ebx, %edi; xorl %ecx, %edi; xorl %edx, %edi; leal 0x289b7ec6(%eax, %edi, 1), %eax; addl (13*4)(%ebp), %eax; roll $4, %eax; addl %ebx,%eax; 90 movl %eax, %edi; xorl %ebx, %edi; xorl %ecx, %edi; leal 0xeaa127fa(%edx, %edi, 1), %edx; addl (0*4)(%ebp), %edx; roll $11, %edx; addl %eax,%edx; 91 movl %edx, %edi; xorl %eax, %edi; xorl %ebx, %edi; leal 0xd4ef3085(%ecx, %edi, 1), %ecx; addl (3*4)(%ebp), %ecx; roll $16, %ecx; addl %edx,%ecx; 92 movl %ecx, %edi; xorl %edx, %edi; xorl %eax, %edi; leal 0x04881d05(%ebx, %edi, 1), %ebx; addl (6*4)(%ebp), %ebx; roll $23, %ebx; addl %ecx,%ebx; 93 94 movl %ebx, %edi; xorl %ecx, %edi; xorl %edx, %edi; leal 0xd9d4d039(%eax, %edi, 1), %eax; addl (9*4)(%ebp), %eax; roll $4, %eax; addl %ebx,%eax; 95 movl %eax, %edi; xorl %ebx, %edi; xorl %ecx, %edi; leal 0xe6db99e5(%edx, %edi, 1), %edx; addl (12*4)(%ebp), %edx; roll $11, %edx; addl %eax,%edx; 96 movl %edx, %edi; xorl %eax, %edi; xorl %ebx, %edi; leal 0x1fa27cf8(%ecx, %edi, 1), %ecx; addl (15*4)(%ebp), %ecx; roll $16, %ecx; addl %edx,%ecx; 97 movl %ecx, %edi; xorl %edx, %edi; xorl %eax, %edi; leal 0xc4ac5665(%ebx, %edi, 1), %ebx; addl (2*4)(%ebp), %ebx; roll $23, %ebx; addl %ecx,%ebx; 98 99 100 movl %edx, %edi; xorl $-1, %edi; orl %ebx, %edi; xorl %ecx, %edi; leal 0xf4292244(%eax, %edi, 1), %eax; addl (0*4)(%ebp), %eax; roll $6, %eax; addl %ebx,%eax; 101 movl %ecx, %edi; xorl $-1, %edi; orl %eax, %edi; xorl %ebx, %edi; leal 0x432aff97(%edx, %edi, 1), %edx; addl (7*4)(%ebp), %edx; roll $10, %edx; addl %eax,%edx; 102 movl %ebx, %edi; xorl $-1, %edi; orl %edx, %edi; xorl %eax, %edi; leal 0xab9423a7(%ecx, %edi, 1), %ecx; addl (14*4)(%ebp), %ecx; roll $15, %ecx; addl %edx,%ecx; 103 movl %eax, %edi; xorl $-1, %edi; orl %ecx, %edi; xorl %edx, %edi; leal 0xfc93a039(%ebx, %edi, 1), %ebx; addl (5*4)(%ebp), %ebx; roll $21, %ebx; addl %ecx,%ebx; 104 105 movl %edx, %edi; xorl $-1, %edi; orl %ebx, %edi; xorl %ecx, %edi; leal 0x655b59c3(%eax, %edi, 1), %eax; addl (12*4)(%ebp), %eax; roll $6, %eax; addl %ebx,%eax; 106 movl %ecx, %edi; xorl $-1, %edi; orl %eax, %edi; xorl %ebx, %edi; leal 0x8f0ccc92(%edx, %edi, 1), %edx; addl (3*4)(%ebp), %edx; roll $10, %edx; addl %eax,%edx; 107 movl %ebx, %edi; xorl $-1, %edi; orl %edx, %edi; xorl %eax, %edi; leal 0xffeff47d(%ecx, %edi, 1), %ecx; addl (10*4)(%ebp), %ecx; roll $15, %ecx; addl %edx,%ecx; 108 movl %eax, %edi; xorl $-1, %edi; orl %ecx, %edi; xorl %edx, %edi; leal 0x85845dd1(%ebx, %edi, 1), %ebx; addl (1*4)(%ebp), %ebx; roll $21, %ebx; addl %ecx,%ebx; 109 110 movl %edx, %edi; xorl $-1, %edi; orl %ebx, %edi; xorl %ecx, %edi; leal 0x6fa87e4f(%eax, %edi, 1), %eax; addl (8*4)(%ebp), %eax; roll $6, %eax; addl %ebx,%eax; 111 movl %ecx, %edi; xorl $-1, %edi; orl %eax, %edi; xorl %ebx, %edi; leal 0xfe2ce6e0(%edx, %edi, 1), %edx; addl (15*4)(%ebp), %edx; roll $10, %edx; addl %eax,%edx; 112 movl %ebx, %edi; xorl $-1, %edi; orl %edx, %edi; xorl %eax, %edi; leal 0xa3014314(%ecx, %edi, 1), %ecx; addl (6*4)(%ebp), %ecx; roll $15, %ecx; addl %edx,%ecx; 113 movl %eax, %edi; xorl $-1, %edi; orl %ecx, %edi; xorl %edx, %edi; leal 0x4e0811a1(%ebx, %edi, 1), %ebx; addl (13*4)(%ebp), %ebx; roll $21, %ebx; addl %ecx,%ebx; 114 115 movl %edx, %edi; xorl $-1, %edi; orl %ebx, %edi; xorl %ecx, %edi; leal 0xf7537e82(%eax, %edi, 1), %eax; addl (4*4)(%ebp), %eax; roll $6, %eax; addl %ebx,%eax; 116 movl %ecx, %edi; xorl $-1, %edi; orl %eax, %edi; xorl %ebx, %edi; leal 0xbd3af235(%edx, %edi, 1), %edx; addl (11*4)(%ebp), %edx; roll $10, %edx; addl %eax,%edx; 117 movl %ebx, %edi; xorl $-1, %edi; orl %edx, %edi; xorl %eax, %edi; leal 0x2ad7d2bb(%ecx, %edi, 1), %ecx; addl (2*4)(%ebp), %ecx; roll $15, %ecx; addl %edx,%ecx; 118 movl %eax, %edi; xorl $-1, %edi; orl %ecx, %edi; xorl %edx, %edi; leal 0xeb86d391(%ebx, %edi, 1), %ebx; addl (9*4)(%ebp), %ebx; roll $21, %ebx; addl %ecx,%ebx; 119 120 addl $(16*4), %ebp 121 movl (20 +16)(%esp), %edi 122 addl %eax,0(%edi) 123 addl %ebx,4(%edi) 124 addl %ecx,8(%edi) 125 addl %edx,12(%edi) 126 127 movl (20 -4)(%esp), %edi 128 cmpl %edi, %ebp 129 jb 0b 130 131 132 movl (20 -8)(%esp), %ebx 133 movl (20 -12)(%esp), %esi 134 movl (20 -16)(%esp), %edi 135 addl $(20), %esp 136 popl %ebp 137 ret 138