diff options
author | cvs2svn <admin@example.com> | 1998-10-05 20:13:17 +0000 |
---|---|---|
committer | cvs2svn <admin@example.com> | 1998-10-05 20:13:17 +0000 |
commit | e82f18fab47b698d93971f576f962a3068132912 (patch) | |
tree | 681519717892864935c3d0533cf171098afa649a /src/lib/libcrypto/md5 | |
parent | 536c76cbb863bab152f19842ab88772c01e922c7 (diff) | |
download | openbsd-SSLeay_0_9_0b.tar.gz openbsd-SSLeay_0_9_0b.tar.bz2 openbsd-SSLeay_0_9_0b.zip |
This commit was manufactured by cvs2git to create tag 'SSLeay_0_9_0b'.SSLeay_0_9_0b
Diffstat (limited to 'src/lib/libcrypto/md5')
-rw-r--r-- | src/lib/libcrypto/md5/Makefile.ssl | 104 | ||||
-rw-r--r-- | src/lib/libcrypto/md5/Makefile.uni | 109 | ||||
-rw-r--r-- | src/lib/libcrypto/md5/asm/m5-win32.asm | 686 | ||||
-rw-r--r-- | src/lib/libcrypto/md5/asm/mx86unix.cpp | 730 |
4 files changed, 1629 insertions, 0 deletions
diff --git a/src/lib/libcrypto/md5/Makefile.ssl b/src/lib/libcrypto/md5/Makefile.ssl new file mode 100644 index 0000000000..47e1ce05ca --- /dev/null +++ b/src/lib/libcrypto/md5/Makefile.ssl | |||
@@ -0,0 +1,104 @@ | |||
1 | # | ||
2 | # SSLeay/crypto/md5/Makefile | ||
3 | # | ||
4 | |||
5 | DIR= md5 | ||
6 | TOP= ../.. | ||
7 | CC= cc | ||
8 | CPP= $(CC) -E | ||
9 | INCLUDES= | ||
10 | CFLAG=-g | ||
11 | INSTALLTOP=/usr/local/ssl | ||
12 | MAKE= make -f Makefile.ssl | ||
13 | MAKEDEPEND= makedepend -f Makefile.ssl | ||
14 | MAKEFILE= Makefile.ssl | ||
15 | AR= ar r | ||
16 | |||
17 | MD5_ASM_OBJ= | ||
18 | |||
19 | CFLAGS= $(INCLUDES) $(CFLAG) | ||
20 | |||
21 | GENERAL=Makefile | ||
22 | TEST=md5test.c | ||
23 | APPS=md5.c | ||
24 | |||
25 | LIB=$(TOP)/libcrypto.a | ||
26 | LIBSRC=md5_dgst.c md5_one.c | ||
27 | LIBOBJ=md5_dgst.o md5_one.o $(MD5_ASM_OBJ) | ||
28 | |||
29 | SRC= $(LIBSRC) | ||
30 | |||
31 | EXHEADER= md5.h | ||
32 | HEADER= md5_locl.h $(EXHEADER) | ||
33 | |||
34 | ALL= $(GENERAL) $(SRC) $(HEADER) | ||
35 | |||
36 | top: | ||
37 | (cd ../..; $(MAKE) DIRS=crypto SDIRS=$(DIR) sub_all) | ||
38 | |||
39 | all: lib | ||
40 | |||
41 | lib: $(LIBOBJ) | ||
42 | $(AR) $(LIB) $(LIBOBJ) | ||
43 | sh $(TOP)/util/ranlib.sh $(LIB) | ||
44 | @touch lib | ||
45 | |||
46 | # elf | ||
47 | asm/mx86-elf.o: asm/mx86unix.cpp | ||
48 | $(CPP) -DELF asm/mx86unix.cpp | as -o asm/mx86-elf.o | ||
49 | |||
50 | # solaris | ||
51 | asm/mx86-sol.o: asm/mx86unix.cpp | ||
52 | $(CC) -E -DSOL asm/mx86unix.cpp | sed 's/^#.*//' > asm/mx86-sol.s | ||
53 | as -o asm/mx86-sol.o asm/mx86-sol.s | ||
54 | rm -f asm/mx86-sol.s | ||
55 | |||
56 | # a.out | ||
57 | asm/mx86-out.o: asm/mx86unix.cpp | ||
58 | $(CPP) -DOUT asm/mx86unix.cpp | as -o asm/mx86-out.o | ||
59 | |||
60 | # bsdi | ||
61 | asm/mx86bsdi.o: asm/mx86unix.cpp | ||
62 | $(CPP) -DBSDI asm/mx86unix.cpp | as -o asm/mx86bsdi.o | ||
63 | |||
64 | asm/mx86unix.cpp: | ||
65 | (cd asm; perl md5-586.pl cpp >mx86unix.cpp) | ||
66 | |||
67 | files: | ||
68 | perl $(TOP)/util/files.pl Makefile.ssl >> $(TOP)/MINFO | ||
69 | |||
70 | links: | ||
71 | /bin/rm -f Makefile | ||
72 | $(TOP)/util/point.sh Makefile.ssl Makefile ; | ||
73 | $(TOP)/util/mklink.sh ../../include $(EXHEADER) | ||
74 | $(TOP)/util/mklink.sh ../../test $(TEST) | ||
75 | $(TOP)/util/mklink.sh ../../apps $(APPS) | ||
76 | |||
77 | install: | ||
78 | @for i in $(EXHEADER) ; \ | ||
79 | do \ | ||
80 | (cp $$i $(INSTALLTOP)/include/$$i; \ | ||
81 | chmod 644 $(INSTALLTOP)/include/$$i ); \ | ||
82 | done; | ||
83 | |||
84 | tags: | ||
85 | ctags $(SRC) | ||
86 | |||
87 | tests: | ||
88 | |||
89 | lint: | ||
90 | lint -DLINT $(INCLUDES) $(SRC)>fluff | ||
91 | |||
92 | depend: | ||
93 | $(MAKEDEPEND) $(INCLUDES) $(PROGS) $(LIBSRC) | ||
94 | |||
95 | dclean: | ||
96 | perl -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new | ||
97 | mv -f Makefile.new $(MAKEFILE) | ||
98 | |||
99 | clean: | ||
100 | /bin/rm -f *.o asm/*.o *.obj lib tags core .pure .nfs* *.old *.bak fluff | ||
101 | |||
102 | errors: | ||
103 | |||
104 | # DO NOT DELETE THIS LINE -- make depend depends on it. | ||
diff --git a/src/lib/libcrypto/md5/Makefile.uni b/src/lib/libcrypto/md5/Makefile.uni new file mode 100644 index 0000000000..54685712db --- /dev/null +++ b/src/lib/libcrypto/md5/Makefile.uni | |||
@@ -0,0 +1,109 @@ | |||
1 | # Targets | ||
2 | # make - twidle the options yourself :-) | ||
3 | # make cc - standard cc options | ||
4 | # make gcc - standard gcc options | ||
5 | # make x86-elf - linux-elf etc | ||
6 | # make x86-out - linux-a.out, FreeBSD etc | ||
7 | # make x86-solaris | ||
8 | # make x86-bdsi | ||
9 | |||
10 | DIR= md5 | ||
11 | TOP= . | ||
12 | CC= gcc | ||
13 | CFLAG= -O3 -fomit-frame-pointer | ||
14 | |||
15 | CPP= $(CC) -E | ||
16 | INCLUDES= | ||
17 | INSTALLTOP=/usr/local/lib | ||
18 | MAKE= make | ||
19 | MAKEDEPEND= makedepend | ||
20 | MAKEFILE= Makefile.uni | ||
21 | AR= ar r | ||
22 | |||
23 | MD5_ASM_OBJ= | ||
24 | |||
25 | CFLAGS= $(INCLUDES) $(CFLAG) | ||
26 | |||
27 | GENERAL=Makefile | ||
28 | TEST=md5test | ||
29 | APPS=md5 | ||
30 | |||
31 | LIB=libmd5.a | ||
32 | LIBSRC=md5_dgst.c md5_one.c | ||
33 | LIBOBJ=md5_dgst.o md5_one.o $(MD5_ASM_OBJ) | ||
34 | |||
35 | SRC= $(LIBSRC) | ||
36 | |||
37 | EXHEADER= md5.h | ||
38 | HEADER= md5_locl.h $(EXHEADER) | ||
39 | |||
40 | ALL= $(GENERAL) $(SRC) $(HEADER) | ||
41 | |||
42 | all: $(LIB) $(TEST) $(APPS) | ||
43 | |||
44 | $(LIB): $(LIBOBJ) | ||
45 | $(AR) $(LIB) $(LIBOBJ) | ||
46 | sh $(TOP)/ranlib.sh $(LIB) | ||
47 | |||
48 | # elf | ||
49 | asm/mx86-elf.o: asm/mx86unix.cpp | ||
50 | $(CPP) -DELF asm/mx86unix.cpp | as -o asm/mx86-elf.o | ||
51 | |||
52 | # solaris | ||
53 | asm/mx86-sol.o: asm/mx86unix.cpp | ||
54 | $(CC) -E -DSOL asm/mx86unix.cpp | sed 's/^#.*//' > asm/mx86-sol.s | ||
55 | as -o asm/mx86-sol.o asm/mx86-sol.s | ||
56 | rm -f asm/mx86-sol.s | ||
57 | |||
58 | # a.out | ||
59 | asm/mx86-out.o: asm/mx86unix.cpp | ||
60 | $(CPP) -DOUT asm/mx86unix.cpp | as -o asm/mx86-out.o | ||
61 | |||
62 | # bsdi | ||
63 | asm/mx86bsdi.o: asm/mx86unix.cpp | ||
64 | $(CPP) -DBSDI asm/mx86unix.cpp | as -o asm/mx86bsdi.o | ||
65 | |||
66 | asm/mx86unix.cpp: | ||
67 | (cd asm; perl md5-586.pl cpp >mx86unix.cpp) | ||
68 | |||
69 | test: $(TEST) | ||
70 | ./$(TEST) | ||
71 | |||
72 | $(TEST): $(TEST).c $(LIB) | ||
73 | $(CC) -o $(TEST) $(CFLAGS) $(TEST).c $(LIB) | ||
74 | |||
75 | $(APPS): $(APPS).c $(LIB) | ||
76 | $(CC) -o $(APPS) $(CFLAGS) $(APPS).c $(LIB) | ||
77 | |||
78 | lint: | ||
79 | lint -DLINT $(INCLUDES) $(SRC)>fluff | ||
80 | |||
81 | depend: | ||
82 | $(MAKEDEPEND) $(INCLUDES) $(PROGS) $(LIBSRC) | ||
83 | |||
84 | dclean: | ||
85 | perl -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new | ||
86 | mv -f Makefile.new $(MAKEFILE) | ||
87 | |||
88 | clean: | ||
89 | /bin/rm -f $(LIB) $(TEST) $(APPS) *.o asm/*.o *.obj lib tags core .pure .nfs* *.old *.bak fluff | ||
90 | |||
91 | cc: | ||
92 | $(MAKE) MD5_ASM_OBJ="" CC="cc" CFLAG="-O" all | ||
93 | |||
94 | gcc: | ||
95 | $(MAKE) MD5_ASM_OBJ="" CC="gcc" CFLAGS="-O3 -fomit-frame-pointer" all | ||
96 | |||
97 | x86-elf: | ||
98 | $(MAKE) MD5_ASM_OBJ="asm/mx86-elf.o" CFLAG="-DELF -DMD5_ASM -DL_ENDIAN $(CFLAGS)" all | ||
99 | |||
100 | x86-out: | ||
101 | $(MAKE) MD5_ASM_OBJ="asm/mx86-out.o" CFLAG="-DOUT -DMD5_ASM -DL_ENDIAN $(CFLAGS)" all | ||
102 | |||
103 | x86-solaris: | ||
104 | $(MAKE) MD5_ASM_OBJ="asm/mx86-sol.o" CFLAG="-DSOL -DMD5_ASM -DL_ENDIAN $(CFLAGS)" all | ||
105 | |||
106 | x86-bdsi: | ||
107 | $(MAKE) MD5_ASM_OBJ="asm/mx86-bdsi.o" CFLAG="-DBDSI -DMD5_ASM -DL_ENDIAN $(CFLAGS)" all | ||
108 | |||
109 | # DO NOT DELETE THIS LINE -- make depend depends on it. | ||
diff --git a/src/lib/libcrypto/md5/asm/m5-win32.asm b/src/lib/libcrypto/md5/asm/m5-win32.asm new file mode 100644 index 0000000000..c2081da746 --- /dev/null +++ b/src/lib/libcrypto/md5/asm/m5-win32.asm | |||
@@ -0,0 +1,686 @@ | |||
1 | ; Don't even think of reading this code | ||
2 | ; It was automatically generated by md5-586.pl | ||
3 | ; Which is a perl program used to generate the x86 assember for | ||
4 | ; any of elf, a.out, BSDI,Win32, or Solaris | ||
5 | ; eric <eay@cryptsoft.com> | ||
6 | ; | ||
7 | TITLE md5-586.asm | ||
8 | .386 | ||
9 | .model FLAT | ||
10 | _TEXT SEGMENT | ||
11 | PUBLIC _md5_block_x86 | ||
12 | |||
13 | _md5_block_x86 PROC NEAR | ||
14 | push esi | ||
15 | push edi | ||
16 | mov edi, DWORD PTR 12[esp] | ||
17 | mov esi, DWORD PTR 16[esp] | ||
18 | mov ecx, DWORD PTR 20[esp] | ||
19 | push ebp | ||
20 | push ebx | ||
21 | add ecx, esi | ||
22 | sub ecx, 64 | ||
23 | mov eax, DWORD PTR [edi] | ||
24 | push ecx | ||
25 | mov ebx, DWORD PTR 4[edi] | ||
26 | mov ecx, DWORD PTR 8[edi] | ||
27 | mov edx, DWORD PTR 12[edi] | ||
28 | L000start: | ||
29 | ; | ||
30 | ; R0 section | ||
31 | mov edi, ecx | ||
32 | mov ebp, DWORD PTR [esi] | ||
33 | ; R0 0 | ||
34 | xor edi, edx | ||
35 | and edi, ebx | ||
36 | lea eax, DWORD PTR 3614090360[ebp*1+eax] | ||
37 | mov ebp, DWORD PTR 4[esi] | ||
38 | xor edi, edx | ||
39 | add eax, edi | ||
40 | mov edi, ebx | ||
41 | rol eax, 7 | ||
42 | add eax, ebx | ||
43 | ; R0 1 | ||
44 | xor edi, ecx | ||
45 | and edi, eax | ||
46 | lea edx, DWORD PTR 3905402710[ebp*1+edx] | ||
47 | mov ebp, DWORD PTR 8[esi] | ||
48 | xor edi, ecx | ||
49 | add edx, edi | ||
50 | mov edi, eax | ||
51 | rol edx, 12 | ||
52 | add edx, eax | ||
53 | ; R0 2 | ||
54 | xor edi, ebx | ||
55 | and edi, edx | ||
56 | lea ecx, DWORD PTR 606105819[ebp*1+ecx] | ||
57 | mov ebp, DWORD PTR 12[esi] | ||
58 | xor edi, ebx | ||
59 | add ecx, edi | ||
60 | mov edi, edx | ||
61 | rol ecx, 17 | ||
62 | add ecx, edx | ||
63 | ; R0 3 | ||
64 | xor edi, eax | ||
65 | and edi, ecx | ||
66 | lea ebx, DWORD PTR 3250441966[ebp*1+ebx] | ||
67 | mov ebp, DWORD PTR 16[esi] | ||
68 | xor edi, eax | ||
69 | add ebx, edi | ||
70 | mov edi, ecx | ||
71 | rol ebx, 22 | ||
72 | add ebx, ecx | ||
73 | ; R0 4 | ||
74 | xor edi, edx | ||
75 | and edi, ebx | ||
76 | lea eax, DWORD PTR 4118548399[ebp*1+eax] | ||
77 | mov ebp, DWORD PTR 20[esi] | ||
78 | xor edi, edx | ||
79 | add eax, edi | ||
80 | mov edi, ebx | ||
81 | rol eax, 7 | ||
82 | add eax, ebx | ||
83 | ; R0 5 | ||
84 | xor edi, ecx | ||
85 | and edi, eax | ||
86 | lea edx, DWORD PTR 1200080426[ebp*1+edx] | ||
87 | mov ebp, DWORD PTR 24[esi] | ||
88 | xor edi, ecx | ||
89 | add edx, edi | ||
90 | mov edi, eax | ||
91 | rol edx, 12 | ||
92 | add edx, eax | ||
93 | ; R0 6 | ||
94 | xor edi, ebx | ||
95 | and edi, edx | ||
96 | lea ecx, DWORD PTR 2821735955[ebp*1+ecx] | ||
97 | mov ebp, DWORD PTR 28[esi] | ||
98 | xor edi, ebx | ||
99 | add ecx, edi | ||
100 | mov edi, edx | ||
101 | rol ecx, 17 | ||
102 | add ecx, edx | ||
103 | ; R0 7 | ||
104 | xor edi, eax | ||
105 | and edi, ecx | ||
106 | lea ebx, DWORD PTR 4249261313[ebp*1+ebx] | ||
107 | mov ebp, DWORD PTR 32[esi] | ||
108 | xor edi, eax | ||
109 | add ebx, edi | ||
110 | mov edi, ecx | ||
111 | rol ebx, 22 | ||
112 | add ebx, ecx | ||
113 | ; R0 8 | ||
114 | xor edi, edx | ||
115 | and edi, ebx | ||
116 | lea eax, DWORD PTR 1770035416[ebp*1+eax] | ||
117 | mov ebp, DWORD PTR 36[esi] | ||
118 | xor edi, edx | ||
119 | add eax, edi | ||
120 | mov edi, ebx | ||
121 | rol eax, 7 | ||
122 | add eax, ebx | ||
123 | ; R0 9 | ||
124 | xor edi, ecx | ||
125 | and edi, eax | ||
126 | lea edx, DWORD PTR 2336552879[ebp*1+edx] | ||
127 | mov ebp, DWORD PTR 40[esi] | ||
128 | xor edi, ecx | ||
129 | add edx, edi | ||
130 | mov edi, eax | ||
131 | rol edx, 12 | ||
132 | add edx, eax | ||
133 | ; R0 10 | ||
134 | xor edi, ebx | ||
135 | and edi, edx | ||
136 | lea ecx, DWORD PTR 4294925233[ebp*1+ecx] | ||
137 | mov ebp, DWORD PTR 44[esi] | ||
138 | xor edi, ebx | ||
139 | add ecx, edi | ||
140 | mov edi, edx | ||
141 | rol ecx, 17 | ||
142 | add ecx, edx | ||
143 | ; R0 11 | ||
144 | xor edi, eax | ||
145 | and edi, ecx | ||
146 | lea ebx, DWORD PTR 2304563134[ebp*1+ebx] | ||
147 | mov ebp, DWORD PTR 48[esi] | ||
148 | xor edi, eax | ||
149 | add ebx, edi | ||
150 | mov edi, ecx | ||
151 | rol ebx, 22 | ||
152 | add ebx, ecx | ||
153 | ; R0 12 | ||
154 | xor edi, edx | ||
155 | and edi, ebx | ||
156 | lea eax, DWORD PTR 1804603682[ebp*1+eax] | ||
157 | mov ebp, DWORD PTR 52[esi] | ||
158 | xor edi, edx | ||
159 | add eax, edi | ||
160 | mov edi, ebx | ||
161 | rol eax, 7 | ||
162 | add eax, ebx | ||
163 | ; R0 13 | ||
164 | xor edi, ecx | ||
165 | and edi, eax | ||
166 | lea edx, DWORD PTR 4254626195[ebp*1+edx] | ||
167 | mov ebp, DWORD PTR 56[esi] | ||
168 | xor edi, ecx | ||
169 | add edx, edi | ||
170 | mov edi, eax | ||
171 | rol edx, 12 | ||
172 | add edx, eax | ||
173 | ; R0 14 | ||
174 | xor edi, ebx | ||
175 | and edi, edx | ||
176 | lea ecx, DWORD PTR 2792965006[ebp*1+ecx] | ||
177 | mov ebp, DWORD PTR 60[esi] | ||
178 | xor edi, ebx | ||
179 | add ecx, edi | ||
180 | mov edi, edx | ||
181 | rol ecx, 17 | ||
182 | add ecx, edx | ||
183 | ; R0 15 | ||
184 | xor edi, eax | ||
185 | and edi, ecx | ||
186 | lea ebx, DWORD PTR 1236535329[ebp*1+ebx] | ||
187 | mov ebp, DWORD PTR 4[esi] | ||
188 | xor edi, eax | ||
189 | add ebx, edi | ||
190 | mov edi, ecx | ||
191 | rol ebx, 22 | ||
192 | add ebx, ecx | ||
193 | ; | ||
194 | ; R1 section | ||
195 | ; R1 16 | ||
196 | lea eax, DWORD PTR 4129170786[ebp*1+eax] | ||
197 | xor edi, ebx | ||
198 | and edi, edx | ||
199 | mov ebp, DWORD PTR 24[esi] | ||
200 | xor edi, ecx | ||
201 | add eax, edi | ||
202 | mov edi, ebx | ||
203 | rol eax, 5 | ||
204 | add eax, ebx | ||
205 | ; R1 17 | ||
206 | lea edx, DWORD PTR 3225465664[ebp*1+edx] | ||
207 | xor edi, eax | ||
208 | and edi, ecx | ||
209 | mov ebp, DWORD PTR 44[esi] | ||
210 | xor edi, ebx | ||
211 | add edx, edi | ||
212 | mov edi, eax | ||
213 | rol edx, 9 | ||
214 | add edx, eax | ||
215 | ; R1 18 | ||
216 | lea ecx, DWORD PTR 643717713[ebp*1+ecx] | ||
217 | xor edi, edx | ||
218 | and edi, ebx | ||
219 | mov ebp, DWORD PTR [esi] | ||
220 | xor edi, eax | ||
221 | add ecx, edi | ||
222 | mov edi, edx | ||
223 | rol ecx, 14 | ||
224 | add ecx, edx | ||
225 | ; R1 19 | ||
226 | lea ebx, DWORD PTR 3921069994[ebp*1+ebx] | ||
227 | xor edi, ecx | ||
228 | and edi, eax | ||
229 | mov ebp, DWORD PTR 20[esi] | ||
230 | xor edi, edx | ||
231 | add ebx, edi | ||
232 | mov edi, ecx | ||
233 | rol ebx, 20 | ||
234 | add ebx, ecx | ||
235 | ; R1 20 | ||
236 | lea eax, DWORD PTR 3593408605[ebp*1+eax] | ||
237 | xor edi, ebx | ||
238 | and edi, edx | ||
239 | mov ebp, DWORD PTR 40[esi] | ||
240 | xor edi, ecx | ||
241 | add eax, edi | ||
242 | mov edi, ebx | ||
243 | rol eax, 5 | ||
244 | add eax, ebx | ||
245 | ; R1 21 | ||
246 | lea edx, DWORD PTR 38016083[ebp*1+edx] | ||
247 | xor edi, eax | ||
248 | and edi, ecx | ||
249 | mov ebp, DWORD PTR 60[esi] | ||
250 | xor edi, ebx | ||
251 | add edx, edi | ||
252 | mov edi, eax | ||
253 | rol edx, 9 | ||
254 | add edx, eax | ||
255 | ; R1 22 | ||
256 | lea ecx, DWORD PTR 3634488961[ebp*1+ecx] | ||
257 | xor edi, edx | ||
258 | and edi, ebx | ||
259 | mov ebp, DWORD PTR 16[esi] | ||
260 | xor edi, eax | ||
261 | add ecx, edi | ||
262 | mov edi, edx | ||
263 | rol ecx, 14 | ||
264 | add ecx, edx | ||
265 | ; R1 23 | ||
266 | lea ebx, DWORD PTR 3889429448[ebp*1+ebx] | ||
267 | xor edi, ecx | ||
268 | and edi, eax | ||
269 | mov ebp, DWORD PTR 36[esi] | ||
270 | xor edi, edx | ||
271 | add ebx, edi | ||
272 | mov edi, ecx | ||
273 | rol ebx, 20 | ||
274 | add ebx, ecx | ||
275 | ; R1 24 | ||
276 | lea eax, DWORD PTR 568446438[ebp*1+eax] | ||
277 | xor edi, ebx | ||
278 | and edi, edx | ||
279 | mov ebp, DWORD PTR 56[esi] | ||
280 | xor edi, ecx | ||
281 | add eax, edi | ||
282 | mov edi, ebx | ||
283 | rol eax, 5 | ||
284 | add eax, ebx | ||
285 | ; R1 25 | ||
286 | lea edx, DWORD PTR 3275163606[ebp*1+edx] | ||
287 | xor edi, eax | ||
288 | and edi, ecx | ||
289 | mov ebp, DWORD PTR 12[esi] | ||
290 | xor edi, ebx | ||
291 | add edx, edi | ||
292 | mov edi, eax | ||
293 | rol edx, 9 | ||
294 | add edx, eax | ||
295 | ; R1 26 | ||
296 | lea ecx, DWORD PTR 4107603335[ebp*1+ecx] | ||
297 | xor edi, edx | ||
298 | and edi, ebx | ||
299 | mov ebp, DWORD PTR 32[esi] | ||
300 | xor edi, eax | ||
301 | add ecx, edi | ||
302 | mov edi, edx | ||
303 | rol ecx, 14 | ||
304 | add ecx, edx | ||
305 | ; R1 27 | ||
306 | lea ebx, DWORD PTR 1163531501[ebp*1+ebx] | ||
307 | xor edi, ecx | ||
308 | and edi, eax | ||
309 | mov ebp, DWORD PTR 52[esi] | ||
310 | xor edi, edx | ||
311 | add ebx, edi | ||
312 | mov edi, ecx | ||
313 | rol ebx, 20 | ||
314 | add ebx, ecx | ||
315 | ; R1 28 | ||
316 | lea eax, DWORD PTR 2850285829[ebp*1+eax] | ||
317 | xor edi, ebx | ||
318 | and edi, edx | ||
319 | mov ebp, DWORD PTR 8[esi] | ||
320 | xor edi, ecx | ||
321 | add eax, edi | ||
322 | mov edi, ebx | ||
323 | rol eax, 5 | ||
324 | add eax, ebx | ||
325 | ; R1 29 | ||
326 | lea edx, DWORD PTR 4243563512[ebp*1+edx] | ||
327 | xor edi, eax | ||
328 | and edi, ecx | ||
329 | mov ebp, DWORD PTR 28[esi] | ||
330 | xor edi, ebx | ||
331 | add edx, edi | ||
332 | mov edi, eax | ||
333 | rol edx, 9 | ||
334 | add edx, eax | ||
335 | ; R1 30 | ||
336 | lea ecx, DWORD PTR 1735328473[ebp*1+ecx] | ||
337 | xor edi, edx | ||
338 | and edi, ebx | ||
339 | mov ebp, DWORD PTR 48[esi] | ||
340 | xor edi, eax | ||
341 | add ecx, edi | ||
342 | mov edi, edx | ||
343 | rol ecx, 14 | ||
344 | add ecx, edx | ||
345 | ; R1 31 | ||
346 | lea ebx, DWORD PTR 2368359562[ebp*1+ebx] | ||
347 | xor edi, ecx | ||
348 | and edi, eax | ||
349 | mov ebp, DWORD PTR 20[esi] | ||
350 | xor edi, edx | ||
351 | add ebx, edi | ||
352 | mov edi, ecx | ||
353 | rol ebx, 20 | ||
354 | add ebx, ecx | ||
355 | ; | ||
356 | ; R2 section | ||
357 | ; R2 32 | ||
358 | xor edi, edx | ||
359 | xor edi, ebx | ||
360 | lea eax, DWORD PTR 4294588738[ebp*1+eax] | ||
361 | add eax, edi | ||
362 | mov ebp, DWORD PTR 32[esi] | ||
363 | rol eax, 4 | ||
364 | mov edi, ebx | ||
365 | ; R2 33 | ||
366 | lea edx, DWORD PTR 2272392833[ebp*1+edx] | ||
367 | add eax, ebx | ||
368 | xor edi, ecx | ||
369 | xor edi, eax | ||
370 | mov ebp, DWORD PTR 44[esi] | ||
371 | add edx, edi | ||
372 | mov edi, eax | ||
373 | rol edx, 11 | ||
374 | add edx, eax | ||
375 | ; R2 34 | ||
376 | xor edi, ebx | ||
377 | xor edi, edx | ||
378 | lea ecx, DWORD PTR 1839030562[ebp*1+ecx] | ||
379 | add ecx, edi | ||
380 | mov ebp, DWORD PTR 56[esi] | ||
381 | rol ecx, 16 | ||
382 | mov edi, edx | ||
383 | ; R2 35 | ||
384 | lea ebx, DWORD PTR 4259657740[ebp*1+ebx] | ||
385 | add ecx, edx | ||
386 | xor edi, eax | ||
387 | xor edi, ecx | ||
388 | mov ebp, DWORD PTR 4[esi] | ||
389 | add ebx, edi | ||
390 | mov edi, ecx | ||
391 | rol ebx, 23 | ||
392 | add ebx, ecx | ||
393 | ; R2 36 | ||
394 | xor edi, edx | ||
395 | xor edi, ebx | ||
396 | lea eax, DWORD PTR 2763975236[ebp*1+eax] | ||
397 | add eax, edi | ||
398 | mov ebp, DWORD PTR 16[esi] | ||
399 | rol eax, 4 | ||
400 | mov edi, ebx | ||
401 | ; R2 37 | ||
402 | lea edx, DWORD PTR 1272893353[ebp*1+edx] | ||
403 | add eax, ebx | ||
404 | xor edi, ecx | ||
405 | xor edi, eax | ||
406 | mov ebp, DWORD PTR 28[esi] | ||
407 | add edx, edi | ||
408 | mov edi, eax | ||
409 | rol edx, 11 | ||
410 | add edx, eax | ||
411 | ; R2 38 | ||
412 | xor edi, ebx | ||
413 | xor edi, edx | ||
414 | lea ecx, DWORD PTR 4139469664[ebp*1+ecx] | ||
415 | add ecx, edi | ||
416 | mov ebp, DWORD PTR 40[esi] | ||
417 | rol ecx, 16 | ||
418 | mov edi, edx | ||
419 | ; R2 39 | ||
420 | lea ebx, DWORD PTR 3200236656[ebp*1+ebx] | ||
421 | add ecx, edx | ||
422 | xor edi, eax | ||
423 | xor edi, ecx | ||
424 | mov ebp, DWORD PTR 52[esi] | ||
425 | add ebx, edi | ||
426 | mov edi, ecx | ||
427 | rol ebx, 23 | ||
428 | add ebx, ecx | ||
429 | ; R2 40 | ||
430 | xor edi, edx | ||
431 | xor edi, ebx | ||
432 | lea eax, DWORD PTR 681279174[ebp*1+eax] | ||
433 | add eax, edi | ||
434 | mov ebp, DWORD PTR [esi] | ||
435 | rol eax, 4 | ||
436 | mov edi, ebx | ||
437 | ; R2 41 | ||
438 | lea edx, DWORD PTR 3936430074[ebp*1+edx] | ||
439 | add eax, ebx | ||
440 | xor edi, ecx | ||
441 | xor edi, eax | ||
442 | mov ebp, DWORD PTR 12[esi] | ||
443 | add edx, edi | ||
444 | mov edi, eax | ||
445 | rol edx, 11 | ||
446 | add edx, eax | ||
447 | ; R2 42 | ||
448 | xor edi, ebx | ||
449 | xor edi, edx | ||
450 | lea ecx, DWORD PTR 3572445317[ebp*1+ecx] | ||
451 | add ecx, edi | ||
452 | mov ebp, DWORD PTR 24[esi] | ||
453 | rol ecx, 16 | ||
454 | mov edi, edx | ||
455 | ; R2 43 | ||
456 | lea ebx, DWORD PTR 76029189[ebp*1+ebx] | ||
457 | add ecx, edx | ||
458 | xor edi, eax | ||
459 | xor edi, ecx | ||
460 | mov ebp, DWORD PTR 36[esi] | ||
461 | add ebx, edi | ||
462 | mov edi, ecx | ||
463 | rol ebx, 23 | ||
464 | add ebx, ecx | ||
465 | ; R2 44 | ||
466 | xor edi, edx | ||
467 | xor edi, ebx | ||
468 | lea eax, DWORD PTR 3654602809[ebp*1+eax] | ||
469 | add eax, edi | ||
470 | mov ebp, DWORD PTR 48[esi] | ||
471 | rol eax, 4 | ||
472 | mov edi, ebx | ||
473 | ; R2 45 | ||
474 | lea edx, DWORD PTR 3873151461[ebp*1+edx] | ||
475 | add eax, ebx | ||
476 | xor edi, ecx | ||
477 | xor edi, eax | ||
478 | mov ebp, DWORD PTR 60[esi] | ||
479 | add edx, edi | ||
480 | mov edi, eax | ||
481 | rol edx, 11 | ||
482 | add edx, eax | ||
483 | ; R2 46 | ||
484 | xor edi, ebx | ||
485 | xor edi, edx | ||
486 | lea ecx, DWORD PTR 530742520[ebp*1+ecx] | ||
487 | add ecx, edi | ||
488 | mov ebp, DWORD PTR 8[esi] | ||
489 | rol ecx, 16 | ||
490 | mov edi, edx | ||
491 | ; R2 47 | ||
492 | lea ebx, DWORD PTR 3299628645[ebp*1+ebx] | ||
493 | add ecx, edx | ||
494 | xor edi, eax | ||
495 | xor edi, ecx | ||
496 | mov ebp, DWORD PTR [esi] | ||
497 | add ebx, edi | ||
498 | mov edi, -1 | ||
499 | rol ebx, 23 | ||
500 | add ebx, ecx | ||
501 | ; | ||
502 | ; R3 section | ||
503 | ; R3 48 | ||
504 | xor edi, edx | ||
505 | or edi, ebx | ||
506 | lea eax, DWORD PTR 4096336452[ebp*1+eax] | ||
507 | xor edi, ecx | ||
508 | mov ebp, DWORD PTR 28[esi] | ||
509 | add eax, edi | ||
510 | mov edi, -1 | ||
511 | rol eax, 6 | ||
512 | xor edi, ecx | ||
513 | add eax, ebx | ||
514 | ; R3 49 | ||
515 | or edi, eax | ||
516 | lea edx, DWORD PTR 1126891415[ebp*1+edx] | ||
517 | xor edi, ebx | ||
518 | mov ebp, DWORD PTR 56[esi] | ||
519 | add edx, edi | ||
520 | mov edi, -1 | ||
521 | rol edx, 10 | ||
522 | xor edi, ebx | ||
523 | add edx, eax | ||
524 | ; R3 50 | ||
525 | or edi, edx | ||
526 | lea ecx, DWORD PTR 2878612391[ebp*1+ecx] | ||
527 | xor edi, eax | ||
528 | mov ebp, DWORD PTR 20[esi] | ||
529 | add ecx, edi | ||
530 | mov edi, -1 | ||
531 | rol ecx, 15 | ||
532 | xor edi, eax | ||
533 | add ecx, edx | ||
534 | ; R3 51 | ||
535 | or edi, ecx | ||
536 | lea ebx, DWORD PTR 4237533241[ebp*1+ebx] | ||
537 | xor edi, edx | ||
538 | mov ebp, DWORD PTR 48[esi] | ||
539 | add ebx, edi | ||
540 | mov edi, -1 | ||
541 | rol ebx, 21 | ||
542 | xor edi, edx | ||
543 | add ebx, ecx | ||
544 | ; R3 52 | ||
545 | or edi, ebx | ||
546 | lea eax, DWORD PTR 1700485571[ebp*1+eax] | ||
547 | xor edi, ecx | ||
548 | mov ebp, DWORD PTR 12[esi] | ||
549 | add eax, edi | ||
550 | mov edi, -1 | ||
551 | rol eax, 6 | ||
552 | xor edi, ecx | ||
553 | add eax, ebx | ||
554 | ; R3 53 | ||
555 | or edi, eax | ||
556 | lea edx, DWORD PTR 2399980690[ebp*1+edx] | ||
557 | xor edi, ebx | ||
558 | mov ebp, DWORD PTR 40[esi] | ||
559 | add edx, edi | ||
560 | mov edi, -1 | ||
561 | rol edx, 10 | ||
562 | xor edi, ebx | ||
563 | add edx, eax | ||
564 | ; R3 54 | ||
565 | or edi, edx | ||
566 | lea ecx, DWORD PTR 4293915773[ebp*1+ecx] | ||
567 | xor edi, eax | ||
568 | mov ebp, DWORD PTR 4[esi] | ||
569 | add ecx, edi | ||
570 | mov edi, -1 | ||
571 | rol ecx, 15 | ||
572 | xor edi, eax | ||
573 | add ecx, edx | ||
574 | ; R3 55 | ||
575 | or edi, ecx | ||
576 | lea ebx, DWORD PTR 2240044497[ebp*1+ebx] | ||
577 | xor edi, edx | ||
578 | mov ebp, DWORD PTR 32[esi] | ||
579 | add ebx, edi | ||
580 | mov edi, -1 | ||
581 | rol ebx, 21 | ||
582 | xor edi, edx | ||
583 | add ebx, ecx | ||
584 | ; R3 56 | ||
585 | or edi, ebx | ||
586 | lea eax, DWORD PTR 1873313359[ebp*1+eax] | ||
587 | xor edi, ecx | ||
588 | mov ebp, DWORD PTR 60[esi] | ||
589 | add eax, edi | ||
590 | mov edi, -1 | ||
591 | rol eax, 6 | ||
592 | xor edi, ecx | ||
593 | add eax, ebx | ||
594 | ; R3 57 | ||
595 | or edi, eax | ||
596 | lea edx, DWORD PTR 4264355552[ebp*1+edx] | ||
597 | xor edi, ebx | ||
598 | mov ebp, DWORD PTR 24[esi] | ||
599 | add edx, edi | ||
600 | mov edi, -1 | ||
601 | rol edx, 10 | ||
602 | xor edi, ebx | ||
603 | add edx, eax | ||
604 | ; R3 58 | ||
605 | or edi, edx | ||
606 | lea ecx, DWORD PTR 2734768916[ebp*1+ecx] | ||
607 | xor edi, eax | ||
608 | mov ebp, DWORD PTR 52[esi] | ||
609 | add ecx, edi | ||
610 | mov edi, -1 | ||
611 | rol ecx, 15 | ||
612 | xor edi, eax | ||
613 | add ecx, edx | ||
614 | ; R3 59 | ||
615 | or edi, ecx | ||
616 | lea ebx, DWORD PTR 1309151649[ebp*1+ebx] | ||
617 | xor edi, edx | ||
618 | mov ebp, DWORD PTR 16[esi] | ||
619 | add ebx, edi | ||
620 | mov edi, -1 | ||
621 | rol ebx, 21 | ||
622 | xor edi, edx | ||
623 | add ebx, ecx | ||
624 | ; R3 60 | ||
625 | or edi, ebx | ||
626 | lea eax, DWORD PTR 4149444226[ebp*1+eax] | ||
627 | xor edi, ecx | ||
628 | mov ebp, DWORD PTR 44[esi] | ||
629 | add eax, edi | ||
630 | mov edi, -1 | ||
631 | rol eax, 6 | ||
632 | xor edi, ecx | ||
633 | add eax, ebx | ||
634 | ; R3 61 | ||
635 | or edi, eax | ||
636 | lea edx, DWORD PTR 3174756917[ebp*1+edx] | ||
637 | xor edi, ebx | ||
638 | mov ebp, DWORD PTR 8[esi] | ||
639 | add edx, edi | ||
640 | mov edi, -1 | ||
641 | rol edx, 10 | ||
642 | xor edi, ebx | ||
643 | add edx, eax | ||
644 | ; R3 62 | ||
645 | or edi, edx | ||
646 | lea ecx, DWORD PTR 718787259[ebp*1+ecx] | ||
647 | xor edi, eax | ||
648 | mov ebp, DWORD PTR 36[esi] | ||
649 | add ecx, edi | ||
650 | mov edi, -1 | ||
651 | rol ecx, 15 | ||
652 | xor edi, eax | ||
653 | add ecx, edx | ||
654 | ; R3 63 | ||
655 | or edi, ecx | ||
656 | lea ebx, DWORD PTR 3951481745[ebp*1+ebx] | ||
657 | xor edi, edx | ||
658 | mov ebp, DWORD PTR 24[esp] | ||
659 | add ebx, edi | ||
660 | add esi, 64 | ||
661 | rol ebx, 21 | ||
662 | mov edi, DWORD PTR [ebp] | ||
663 | add ebx, ecx | ||
664 | add eax, edi | ||
665 | mov edi, DWORD PTR 4[ebp] | ||
666 | add ebx, edi | ||
667 | mov edi, DWORD PTR 8[ebp] | ||
668 | add ecx, edi | ||
669 | mov edi, DWORD PTR 12[ebp] | ||
670 | add edx, edi | ||
671 | mov DWORD PTR [ebp],eax | ||
672 | mov DWORD PTR 4[ebp],ebx | ||
673 | mov edi, DWORD PTR [esp] | ||
674 | mov DWORD PTR 8[ebp],ecx | ||
675 | mov DWORD PTR 12[ebp],edx | ||
676 | cmp edi, esi | ||
677 | jge L000start | ||
678 | pop eax | ||
679 | pop ebx | ||
680 | pop ebp | ||
681 | pop edi | ||
682 | pop esi | ||
683 | ret | ||
684 | _md5_block_x86 ENDP | ||
685 | _TEXT ENDS | ||
686 | END | ||
diff --git a/src/lib/libcrypto/md5/asm/mx86unix.cpp b/src/lib/libcrypto/md5/asm/mx86unix.cpp new file mode 100644 index 0000000000..5d399122b6 --- /dev/null +++ b/src/lib/libcrypto/md5/asm/mx86unix.cpp | |||
@@ -0,0 +1,730 @@ | |||
1 | /* Run the C pre-processor over this file with one of the following defined | ||
2 | * ELF - elf object files, | ||
3 | * OUT - a.out object files, | ||
4 | * BSDI - BSDI style a.out object files | ||
5 | * SOL - Solaris style elf | ||
6 | */ | ||
7 | |||
8 | #define TYPE(a,b) .type a,b | ||
9 | #define SIZE(a,b) .size a,b | ||
10 | |||
11 | #if defined(OUT) || defined(BSDI) | ||
12 | #define md5_block_x86 _md5_block_x86 | ||
13 | |||
14 | #endif | ||
15 | |||
16 | #ifdef OUT | ||
17 | #define OK 1 | ||
18 | #define ALIGN 4 | ||
19 | #endif | ||
20 | |||
21 | #ifdef BSDI | ||
22 | #define OK 1 | ||
23 | #define ALIGN 4 | ||
24 | #undef SIZE | ||
25 | #undef TYPE | ||
26 | #define SIZE(a,b) | ||
27 | #define TYPE(a,b) | ||
28 | #endif | ||
29 | |||
30 | #if defined(ELF) || defined(SOL) | ||
31 | #define OK 1 | ||
32 | #define ALIGN 16 | ||
33 | #endif | ||
34 | |||
35 | #ifndef OK | ||
36 | You need to define one of | ||
37 | ELF - elf systems - linux-elf, NetBSD and DG-UX | ||
38 | OUT - a.out systems - linux-a.out and FreeBSD | ||
39 | SOL - solaris systems, which are elf with strange comment lines | ||
40 | BSDI - a.out with a very primative version of as. | ||
41 | #endif | ||
42 | |||
43 | /* Let the Assembler begin :-) */ | ||
44 | /* Don't even think of reading this code */ | ||
45 | /* It was automatically generated by md5-586.pl */ | ||
46 | /* Which is a perl program used to generate the x86 assember for */ | ||
47 | /* any of elf, a.out, BSDI,Win32, or Solaris */ | ||
48 | /* eric <eay@cryptsoft.com> */ | ||
49 | |||
50 | .file "md5-586.s" | ||
51 | .version "01.01" | ||
52 | gcc2_compiled.: | ||
53 | .text | ||
54 | .align ALIGN | ||
55 | .globl md5_block_x86 | ||
56 | TYPE(md5_block_x86,@function) | ||
57 | md5_block_x86: | ||
58 | pushl %esi | ||
59 | pushl %edi | ||
60 | movl 12(%esp), %edi | ||
61 | movl 16(%esp), %esi | ||
62 | movl 20(%esp), %ecx | ||
63 | pushl %ebp | ||
64 | pushl %ebx | ||
65 | addl %esi, %ecx | ||
66 | subl $64, %ecx | ||
67 | movl (%edi), %eax | ||
68 | pushl %ecx | ||
69 | movl 4(%edi), %ebx | ||
70 | movl 8(%edi), %ecx | ||
71 | movl 12(%edi), %edx | ||
72 | .L000start: | ||
73 | |||
74 | /* R0 section */ | ||
75 | movl %ecx, %edi | ||
76 | movl (%esi), %ebp | ||
77 | /* R0 0 */ | ||
78 | xorl %edx, %edi | ||
79 | andl %ebx, %edi | ||
80 | leal 3614090360(%eax,%ebp,1),%eax | ||
81 | movl 4(%esi), %ebp | ||
82 | xorl %edx, %edi | ||
83 | addl %edi, %eax | ||
84 | movl %ebx, %edi | ||
85 | roll $7, %eax | ||
86 | addl %ebx, %eax | ||
87 | /* R0 1 */ | ||
88 | xorl %ecx, %edi | ||
89 | andl %eax, %edi | ||
90 | leal 3905402710(%edx,%ebp,1),%edx | ||
91 | movl 8(%esi), %ebp | ||
92 | xorl %ecx, %edi | ||
93 | addl %edi, %edx | ||
94 | movl %eax, %edi | ||
95 | roll $12, %edx | ||
96 | addl %eax, %edx | ||
97 | /* R0 2 */ | ||
98 | xorl %ebx, %edi | ||
99 | andl %edx, %edi | ||
100 | leal 606105819(%ecx,%ebp,1),%ecx | ||
101 | movl 12(%esi), %ebp | ||
102 | xorl %ebx, %edi | ||
103 | addl %edi, %ecx | ||
104 | movl %edx, %edi | ||
105 | roll $17, %ecx | ||
106 | addl %edx, %ecx | ||
107 | /* R0 3 */ | ||
108 | xorl %eax, %edi | ||
109 | andl %ecx, %edi | ||
110 | leal 3250441966(%ebx,%ebp,1),%ebx | ||
111 | movl 16(%esi), %ebp | ||
112 | xorl %eax, %edi | ||
113 | addl %edi, %ebx | ||
114 | movl %ecx, %edi | ||
115 | roll $22, %ebx | ||
116 | addl %ecx, %ebx | ||
117 | /* R0 4 */ | ||
118 | xorl %edx, %edi | ||
119 | andl %ebx, %edi | ||
120 | leal 4118548399(%eax,%ebp,1),%eax | ||
121 | movl 20(%esi), %ebp | ||
122 | xorl %edx, %edi | ||
123 | addl %edi, %eax | ||
124 | movl %ebx, %edi | ||
125 | roll $7, %eax | ||
126 | addl %ebx, %eax | ||
127 | /* R0 5 */ | ||
128 | xorl %ecx, %edi | ||
129 | andl %eax, %edi | ||
130 | leal 1200080426(%edx,%ebp,1),%edx | ||
131 | movl 24(%esi), %ebp | ||
132 | xorl %ecx, %edi | ||
133 | addl %edi, %edx | ||
134 | movl %eax, %edi | ||
135 | roll $12, %edx | ||
136 | addl %eax, %edx | ||
137 | /* R0 6 */ | ||
138 | xorl %ebx, %edi | ||
139 | andl %edx, %edi | ||
140 | leal 2821735955(%ecx,%ebp,1),%ecx | ||
141 | movl 28(%esi), %ebp | ||
142 | xorl %ebx, %edi | ||
143 | addl %edi, %ecx | ||
144 | movl %edx, %edi | ||
145 | roll $17, %ecx | ||
146 | addl %edx, %ecx | ||
147 | /* R0 7 */ | ||
148 | xorl %eax, %edi | ||
149 | andl %ecx, %edi | ||
150 | leal 4249261313(%ebx,%ebp,1),%ebx | ||
151 | movl 32(%esi), %ebp | ||
152 | xorl %eax, %edi | ||
153 | addl %edi, %ebx | ||
154 | movl %ecx, %edi | ||
155 | roll $22, %ebx | ||
156 | addl %ecx, %ebx | ||
157 | /* R0 8 */ | ||
158 | xorl %edx, %edi | ||
159 | andl %ebx, %edi | ||
160 | leal 1770035416(%eax,%ebp,1),%eax | ||
161 | movl 36(%esi), %ebp | ||
162 | xorl %edx, %edi | ||
163 | addl %edi, %eax | ||
164 | movl %ebx, %edi | ||
165 | roll $7, %eax | ||
166 | addl %ebx, %eax | ||
167 | /* R0 9 */ | ||
168 | xorl %ecx, %edi | ||
169 | andl %eax, %edi | ||
170 | leal 2336552879(%edx,%ebp,1),%edx | ||
171 | movl 40(%esi), %ebp | ||
172 | xorl %ecx, %edi | ||
173 | addl %edi, %edx | ||
174 | movl %eax, %edi | ||
175 | roll $12, %edx | ||
176 | addl %eax, %edx | ||
177 | /* R0 10 */ | ||
178 | xorl %ebx, %edi | ||
179 | andl %edx, %edi | ||
180 | leal 4294925233(%ecx,%ebp,1),%ecx | ||
181 | movl 44(%esi), %ebp | ||
182 | xorl %ebx, %edi | ||
183 | addl %edi, %ecx | ||
184 | movl %edx, %edi | ||
185 | roll $17, %ecx | ||
186 | addl %edx, %ecx | ||
187 | /* R0 11 */ | ||
188 | xorl %eax, %edi | ||
189 | andl %ecx, %edi | ||
190 | leal 2304563134(%ebx,%ebp,1),%ebx | ||
191 | movl 48(%esi), %ebp | ||
192 | xorl %eax, %edi | ||
193 | addl %edi, %ebx | ||
194 | movl %ecx, %edi | ||
195 | roll $22, %ebx | ||
196 | addl %ecx, %ebx | ||
197 | /* R0 12 */ | ||
198 | xorl %edx, %edi | ||
199 | andl %ebx, %edi | ||
200 | leal 1804603682(%eax,%ebp,1),%eax | ||
201 | movl 52(%esi), %ebp | ||
202 | xorl %edx, %edi | ||
203 | addl %edi, %eax | ||
204 | movl %ebx, %edi | ||
205 | roll $7, %eax | ||
206 | addl %ebx, %eax | ||
207 | /* R0 13 */ | ||
208 | xorl %ecx, %edi | ||
209 | andl %eax, %edi | ||
210 | leal 4254626195(%edx,%ebp,1),%edx | ||
211 | movl 56(%esi), %ebp | ||
212 | xorl %ecx, %edi | ||
213 | addl %edi, %edx | ||
214 | movl %eax, %edi | ||
215 | roll $12, %edx | ||
216 | addl %eax, %edx | ||
217 | /* R0 14 */ | ||
218 | xorl %ebx, %edi | ||
219 | andl %edx, %edi | ||
220 | leal 2792965006(%ecx,%ebp,1),%ecx | ||
221 | movl 60(%esi), %ebp | ||
222 | xorl %ebx, %edi | ||
223 | addl %edi, %ecx | ||
224 | movl %edx, %edi | ||
225 | roll $17, %ecx | ||
226 | addl %edx, %ecx | ||
227 | /* R0 15 */ | ||
228 | xorl %eax, %edi | ||
229 | andl %ecx, %edi | ||
230 | leal 1236535329(%ebx,%ebp,1),%ebx | ||
231 | movl 4(%esi), %ebp | ||
232 | xorl %eax, %edi | ||
233 | addl %edi, %ebx | ||
234 | movl %ecx, %edi | ||
235 | roll $22, %ebx | ||
236 | addl %ecx, %ebx | ||
237 | |||
238 | /* R1 section */ | ||
239 | /* R1 16 */ | ||
240 | leal 4129170786(%eax,%ebp,1),%eax | ||
241 | xorl %ebx, %edi | ||
242 | andl %edx, %edi | ||
243 | movl 24(%esi), %ebp | ||
244 | xorl %ecx, %edi | ||
245 | addl %edi, %eax | ||
246 | movl %ebx, %edi | ||
247 | roll $5, %eax | ||
248 | addl %ebx, %eax | ||
249 | /* R1 17 */ | ||
250 | leal 3225465664(%edx,%ebp,1),%edx | ||
251 | xorl %eax, %edi | ||
252 | andl %ecx, %edi | ||
253 | movl 44(%esi), %ebp | ||
254 | xorl %ebx, %edi | ||
255 | addl %edi, %edx | ||
256 | movl %eax, %edi | ||
257 | roll $9, %edx | ||
258 | addl %eax, %edx | ||
259 | /* R1 18 */ | ||
260 | leal 643717713(%ecx,%ebp,1),%ecx | ||
261 | xorl %edx, %edi | ||
262 | andl %ebx, %edi | ||
263 | movl (%esi), %ebp | ||
264 | xorl %eax, %edi | ||
265 | addl %edi, %ecx | ||
266 | movl %edx, %edi | ||
267 | roll $14, %ecx | ||
268 | addl %edx, %ecx | ||
269 | /* R1 19 */ | ||
270 | leal 3921069994(%ebx,%ebp,1),%ebx | ||
271 | xorl %ecx, %edi | ||
272 | andl %eax, %edi | ||
273 | movl 20(%esi), %ebp | ||
274 | xorl %edx, %edi | ||
275 | addl %edi, %ebx | ||
276 | movl %ecx, %edi | ||
277 | roll $20, %ebx | ||
278 | addl %ecx, %ebx | ||
279 | /* R1 20 */ | ||
280 | leal 3593408605(%eax,%ebp,1),%eax | ||
281 | xorl %ebx, %edi | ||
282 | andl %edx, %edi | ||
283 | movl 40(%esi), %ebp | ||
284 | xorl %ecx, %edi | ||
285 | addl %edi, %eax | ||
286 | movl %ebx, %edi | ||
287 | roll $5, %eax | ||
288 | addl %ebx, %eax | ||
289 | /* R1 21 */ | ||
290 | leal 38016083(%edx,%ebp,1),%edx | ||
291 | xorl %eax, %edi | ||
292 | andl %ecx, %edi | ||
293 | movl 60(%esi), %ebp | ||
294 | xorl %ebx, %edi | ||
295 | addl %edi, %edx | ||
296 | movl %eax, %edi | ||
297 | roll $9, %edx | ||
298 | addl %eax, %edx | ||
299 | /* R1 22 */ | ||
300 | leal 3634488961(%ecx,%ebp,1),%ecx | ||
301 | xorl %edx, %edi | ||
302 | andl %ebx, %edi | ||
303 | movl 16(%esi), %ebp | ||
304 | xorl %eax, %edi | ||
305 | addl %edi, %ecx | ||
306 | movl %edx, %edi | ||
307 | roll $14, %ecx | ||
308 | addl %edx, %ecx | ||
309 | /* R1 23 */ | ||
310 | leal 3889429448(%ebx,%ebp,1),%ebx | ||
311 | xorl %ecx, %edi | ||
312 | andl %eax, %edi | ||
313 | movl 36(%esi), %ebp | ||
314 | xorl %edx, %edi | ||
315 | addl %edi, %ebx | ||
316 | movl %ecx, %edi | ||
317 | roll $20, %ebx | ||
318 | addl %ecx, %ebx | ||
319 | /* R1 24 */ | ||
320 | leal 568446438(%eax,%ebp,1),%eax | ||
321 | xorl %ebx, %edi | ||
322 | andl %edx, %edi | ||
323 | movl 56(%esi), %ebp | ||
324 | xorl %ecx, %edi | ||
325 | addl %edi, %eax | ||
326 | movl %ebx, %edi | ||
327 | roll $5, %eax | ||
328 | addl %ebx, %eax | ||
329 | /* R1 25 */ | ||
330 | leal 3275163606(%edx,%ebp,1),%edx | ||
331 | xorl %eax, %edi | ||
332 | andl %ecx, %edi | ||
333 | movl 12(%esi), %ebp | ||
334 | xorl %ebx, %edi | ||
335 | addl %edi, %edx | ||
336 | movl %eax, %edi | ||
337 | roll $9, %edx | ||
338 | addl %eax, %edx | ||
339 | /* R1 26 */ | ||
340 | leal 4107603335(%ecx,%ebp,1),%ecx | ||
341 | xorl %edx, %edi | ||
342 | andl %ebx, %edi | ||
343 | movl 32(%esi), %ebp | ||
344 | xorl %eax, %edi | ||
345 | addl %edi, %ecx | ||
346 | movl %edx, %edi | ||
347 | roll $14, %ecx | ||
348 | addl %edx, %ecx | ||
349 | /* R1 27 */ | ||
350 | leal 1163531501(%ebx,%ebp,1),%ebx | ||
351 | xorl %ecx, %edi | ||
352 | andl %eax, %edi | ||
353 | movl 52(%esi), %ebp | ||
354 | xorl %edx, %edi | ||
355 | addl %edi, %ebx | ||
356 | movl %ecx, %edi | ||
357 | roll $20, %ebx | ||
358 | addl %ecx, %ebx | ||
359 | /* R1 28 */ | ||
360 | leal 2850285829(%eax,%ebp,1),%eax | ||
361 | xorl %ebx, %edi | ||
362 | andl %edx, %edi | ||
363 | movl 8(%esi), %ebp | ||
364 | xorl %ecx, %edi | ||
365 | addl %edi, %eax | ||
366 | movl %ebx, %edi | ||
367 | roll $5, %eax | ||
368 | addl %ebx, %eax | ||
369 | /* R1 29 */ | ||
370 | leal 4243563512(%edx,%ebp,1),%edx | ||
371 | xorl %eax, %edi | ||
372 | andl %ecx, %edi | ||
373 | movl 28(%esi), %ebp | ||
374 | xorl %ebx, %edi | ||
375 | addl %edi, %edx | ||
376 | movl %eax, %edi | ||
377 | roll $9, %edx | ||
378 | addl %eax, %edx | ||
379 | /* R1 30 */ | ||
380 | leal 1735328473(%ecx,%ebp,1),%ecx | ||
381 | xorl %edx, %edi | ||
382 | andl %ebx, %edi | ||
383 | movl 48(%esi), %ebp | ||
384 | xorl %eax, %edi | ||
385 | addl %edi, %ecx | ||
386 | movl %edx, %edi | ||
387 | roll $14, %ecx | ||
388 | addl %edx, %ecx | ||
389 | /* R1 31 */ | ||
390 | leal 2368359562(%ebx,%ebp,1),%ebx | ||
391 | xorl %ecx, %edi | ||
392 | andl %eax, %edi | ||
393 | movl 20(%esi), %ebp | ||
394 | xorl %edx, %edi | ||
395 | addl %edi, %ebx | ||
396 | movl %ecx, %edi | ||
397 | roll $20, %ebx | ||
398 | addl %ecx, %ebx | ||
399 | |||
400 | /* R2 section */ | ||
401 | /* R2 32 */ | ||
402 | xorl %edx, %edi | ||
403 | xorl %ebx, %edi | ||
404 | leal 4294588738(%eax,%ebp,1),%eax | ||
405 | addl %edi, %eax | ||
406 | movl 32(%esi), %ebp | ||
407 | roll $4, %eax | ||
408 | movl %ebx, %edi | ||
409 | /* R2 33 */ | ||
410 | leal 2272392833(%edx,%ebp,1),%edx | ||
411 | addl %ebx, %eax | ||
412 | xorl %ecx, %edi | ||
413 | xorl %eax, %edi | ||
414 | movl 44(%esi), %ebp | ||
415 | addl %edi, %edx | ||
416 | movl %eax, %edi | ||
417 | roll $11, %edx | ||
418 | addl %eax, %edx | ||
419 | /* R2 34 */ | ||
420 | xorl %ebx, %edi | ||
421 | xorl %edx, %edi | ||
422 | leal 1839030562(%ecx,%ebp,1),%ecx | ||
423 | addl %edi, %ecx | ||
424 | movl 56(%esi), %ebp | ||
425 | roll $16, %ecx | ||
426 | movl %edx, %edi | ||
427 | /* R2 35 */ | ||
428 | leal 4259657740(%ebx,%ebp,1),%ebx | ||
429 | addl %edx, %ecx | ||
430 | xorl %eax, %edi | ||
431 | xorl %ecx, %edi | ||
432 | movl 4(%esi), %ebp | ||
433 | addl %edi, %ebx | ||
434 | movl %ecx, %edi | ||
435 | roll $23, %ebx | ||
436 | addl %ecx, %ebx | ||
437 | /* R2 36 */ | ||
438 | xorl %edx, %edi | ||
439 | xorl %ebx, %edi | ||
440 | leal 2763975236(%eax,%ebp,1),%eax | ||
441 | addl %edi, %eax | ||
442 | movl 16(%esi), %ebp | ||
443 | roll $4, %eax | ||
444 | movl %ebx, %edi | ||
445 | /* R2 37 */ | ||
446 | leal 1272893353(%edx,%ebp,1),%edx | ||
447 | addl %ebx, %eax | ||
448 | xorl %ecx, %edi | ||
449 | xorl %eax, %edi | ||
450 | movl 28(%esi), %ebp | ||
451 | addl %edi, %edx | ||
452 | movl %eax, %edi | ||
453 | roll $11, %edx | ||
454 | addl %eax, %edx | ||
455 | /* R2 38 */ | ||
456 | xorl %ebx, %edi | ||
457 | xorl %edx, %edi | ||
458 | leal 4139469664(%ecx,%ebp,1),%ecx | ||
459 | addl %edi, %ecx | ||
460 | movl 40(%esi), %ebp | ||
461 | roll $16, %ecx | ||
462 | movl %edx, %edi | ||
463 | /* R2 39 */ | ||
464 | leal 3200236656(%ebx,%ebp,1),%ebx | ||
465 | addl %edx, %ecx | ||
466 | xorl %eax, %edi | ||
467 | xorl %ecx, %edi | ||
468 | movl 52(%esi), %ebp | ||
469 | addl %edi, %ebx | ||
470 | movl %ecx, %edi | ||
471 | roll $23, %ebx | ||
472 | addl %ecx, %ebx | ||
473 | /* R2 40 */ | ||
474 | xorl %edx, %edi | ||
475 | xorl %ebx, %edi | ||
476 | leal 681279174(%eax,%ebp,1),%eax | ||
477 | addl %edi, %eax | ||
478 | movl (%esi), %ebp | ||
479 | roll $4, %eax | ||
480 | movl %ebx, %edi | ||
481 | /* R2 41 */ | ||
482 | leal 3936430074(%edx,%ebp,1),%edx | ||
483 | addl %ebx, %eax | ||
484 | xorl %ecx, %edi | ||
485 | xorl %eax, %edi | ||
486 | movl 12(%esi), %ebp | ||
487 | addl %edi, %edx | ||
488 | movl %eax, %edi | ||
489 | roll $11, %edx | ||
490 | addl %eax, %edx | ||
491 | /* R2 42 */ | ||
492 | xorl %ebx, %edi | ||
493 | xorl %edx, %edi | ||
494 | leal 3572445317(%ecx,%ebp,1),%ecx | ||
495 | addl %edi, %ecx | ||
496 | movl 24(%esi), %ebp | ||
497 | roll $16, %ecx | ||
498 | movl %edx, %edi | ||
499 | /* R2 43 */ | ||
500 | leal 76029189(%ebx,%ebp,1),%ebx | ||
501 | addl %edx, %ecx | ||
502 | xorl %eax, %edi | ||
503 | xorl %ecx, %edi | ||
504 | movl 36(%esi), %ebp | ||
505 | addl %edi, %ebx | ||
506 | movl %ecx, %edi | ||
507 | roll $23, %ebx | ||
508 | addl %ecx, %ebx | ||
509 | /* R2 44 */ | ||
510 | xorl %edx, %edi | ||
511 | xorl %ebx, %edi | ||
512 | leal 3654602809(%eax,%ebp,1),%eax | ||
513 | addl %edi, %eax | ||
514 | movl 48(%esi), %ebp | ||
515 | roll $4, %eax | ||
516 | movl %ebx, %edi | ||
517 | /* R2 45 */ | ||
518 | leal 3873151461(%edx,%ebp,1),%edx | ||
519 | addl %ebx, %eax | ||
520 | xorl %ecx, %edi | ||
521 | xorl %eax, %edi | ||
522 | movl 60(%esi), %ebp | ||
523 | addl %edi, %edx | ||
524 | movl %eax, %edi | ||
525 | roll $11, %edx | ||
526 | addl %eax, %edx | ||
527 | /* R2 46 */ | ||
528 | xorl %ebx, %edi | ||
529 | xorl %edx, %edi | ||
530 | leal 530742520(%ecx,%ebp,1),%ecx | ||
531 | addl %edi, %ecx | ||
532 | movl 8(%esi), %ebp | ||
533 | roll $16, %ecx | ||
534 | movl %edx, %edi | ||
535 | /* R2 47 */ | ||
536 | leal 3299628645(%ebx,%ebp,1),%ebx | ||
537 | addl %edx, %ecx | ||
538 | xorl %eax, %edi | ||
539 | xorl %ecx, %edi | ||
540 | movl (%esi), %ebp | ||
541 | addl %edi, %ebx | ||
542 | movl $-1, %edi | ||
543 | roll $23, %ebx | ||
544 | addl %ecx, %ebx | ||
545 | |||
546 | /* R3 section */ | ||
547 | /* R3 48 */ | ||
548 | xorl %edx, %edi | ||
549 | orl %ebx, %edi | ||
550 | leal 4096336452(%eax,%ebp,1),%eax | ||
551 | xorl %ecx, %edi | ||
552 | movl 28(%esi), %ebp | ||
553 | addl %edi, %eax | ||
554 | movl $-1, %edi | ||
555 | roll $6, %eax | ||
556 | xorl %ecx, %edi | ||
557 | addl %ebx, %eax | ||
558 | /* R3 49 */ | ||
559 | orl %eax, %edi | ||
560 | leal 1126891415(%edx,%ebp,1),%edx | ||
561 | xorl %ebx, %edi | ||
562 | movl 56(%esi), %ebp | ||
563 | addl %edi, %edx | ||
564 | movl $-1, %edi | ||
565 | roll $10, %edx | ||
566 | xorl %ebx, %edi | ||
567 | addl %eax, %edx | ||
568 | /* R3 50 */ | ||
569 | orl %edx, %edi | ||
570 | leal 2878612391(%ecx,%ebp,1),%ecx | ||
571 | xorl %eax, %edi | ||
572 | movl 20(%esi), %ebp | ||
573 | addl %edi, %ecx | ||
574 | movl $-1, %edi | ||
575 | roll $15, %ecx | ||
576 | xorl %eax, %edi | ||
577 | addl %edx, %ecx | ||
578 | /* R3 51 */ | ||
579 | orl %ecx, %edi | ||
580 | leal 4237533241(%ebx,%ebp,1),%ebx | ||
581 | xorl %edx, %edi | ||
582 | movl 48(%esi), %ebp | ||
583 | addl %edi, %ebx | ||
584 | movl $-1, %edi | ||
585 | roll $21, %ebx | ||
586 | xorl %edx, %edi | ||
587 | addl %ecx, %ebx | ||
588 | /* R3 52 */ | ||
589 | orl %ebx, %edi | ||
590 | leal 1700485571(%eax,%ebp,1),%eax | ||
591 | xorl %ecx, %edi | ||
592 | movl 12(%esi), %ebp | ||
593 | addl %edi, %eax | ||
594 | movl $-1, %edi | ||
595 | roll $6, %eax | ||
596 | xorl %ecx, %edi | ||
597 | addl %ebx, %eax | ||
598 | /* R3 53 */ | ||
599 | orl %eax, %edi | ||
600 | leal 2399980690(%edx,%ebp,1),%edx | ||
601 | xorl %ebx, %edi | ||
602 | movl 40(%esi), %ebp | ||
603 | addl %edi, %edx | ||
604 | movl $-1, %edi | ||
605 | roll $10, %edx | ||
606 | xorl %ebx, %edi | ||
607 | addl %eax, %edx | ||
608 | /* R3 54 */ | ||
609 | orl %edx, %edi | ||
610 | leal 4293915773(%ecx,%ebp,1),%ecx | ||
611 | xorl %eax, %edi | ||
612 | movl 4(%esi), %ebp | ||
613 | addl %edi, %ecx | ||
614 | movl $-1, %edi | ||
615 | roll $15, %ecx | ||
616 | xorl %eax, %edi | ||
617 | addl %edx, %ecx | ||
618 | /* R3 55 */ | ||
619 | orl %ecx, %edi | ||
620 | leal 2240044497(%ebx,%ebp,1),%ebx | ||
621 | xorl %edx, %edi | ||
622 | movl 32(%esi), %ebp | ||
623 | addl %edi, %ebx | ||
624 | movl $-1, %edi | ||
625 | roll $21, %ebx | ||
626 | xorl %edx, %edi | ||
627 | addl %ecx, %ebx | ||
628 | /* R3 56 */ | ||
629 | orl %ebx, %edi | ||
630 | leal 1873313359(%eax,%ebp,1),%eax | ||
631 | xorl %ecx, %edi | ||
632 | movl 60(%esi), %ebp | ||
633 | addl %edi, %eax | ||
634 | movl $-1, %edi | ||
635 | roll $6, %eax | ||
636 | xorl %ecx, %edi | ||
637 | addl %ebx, %eax | ||
638 | /* R3 57 */ | ||
639 | orl %eax, %edi | ||
640 | leal 4264355552(%edx,%ebp,1),%edx | ||
641 | xorl %ebx, %edi | ||
642 | movl 24(%esi), %ebp | ||
643 | addl %edi, %edx | ||
644 | movl $-1, %edi | ||
645 | roll $10, %edx | ||
646 | xorl %ebx, %edi | ||
647 | addl %eax, %edx | ||
648 | /* R3 58 */ | ||
649 | orl %edx, %edi | ||
650 | leal 2734768916(%ecx,%ebp,1),%ecx | ||
651 | xorl %eax, %edi | ||
652 | movl 52(%esi), %ebp | ||
653 | addl %edi, %ecx | ||
654 | movl $-1, %edi | ||
655 | roll $15, %ecx | ||
656 | xorl %eax, %edi | ||
657 | addl %edx, %ecx | ||
658 | /* R3 59 */ | ||
659 | orl %ecx, %edi | ||
660 | leal 1309151649(%ebx,%ebp,1),%ebx | ||
661 | xorl %edx, %edi | ||
662 | movl 16(%esi), %ebp | ||
663 | addl %edi, %ebx | ||
664 | movl $-1, %edi | ||
665 | roll $21, %ebx | ||
666 | xorl %edx, %edi | ||
667 | addl %ecx, %ebx | ||
668 | /* R3 60 */ | ||
669 | orl %ebx, %edi | ||
670 | leal 4149444226(%eax,%ebp,1),%eax | ||
671 | xorl %ecx, %edi | ||
672 | movl 44(%esi), %ebp | ||
673 | addl %edi, %eax | ||
674 | movl $-1, %edi | ||
675 | roll $6, %eax | ||
676 | xorl %ecx, %edi | ||
677 | addl %ebx, %eax | ||
678 | /* R3 61 */ | ||
679 | orl %eax, %edi | ||
680 | leal 3174756917(%edx,%ebp,1),%edx | ||
681 | xorl %ebx, %edi | ||
682 | movl 8(%esi), %ebp | ||
683 | addl %edi, %edx | ||
684 | movl $-1, %edi | ||
685 | roll $10, %edx | ||
686 | xorl %ebx, %edi | ||
687 | addl %eax, %edx | ||
688 | /* R3 62 */ | ||
689 | orl %edx, %edi | ||
690 | leal 718787259(%ecx,%ebp,1),%ecx | ||
691 | xorl %eax, %edi | ||
692 | movl 36(%esi), %ebp | ||
693 | addl %edi, %ecx | ||
694 | movl $-1, %edi | ||
695 | roll $15, %ecx | ||
696 | xorl %eax, %edi | ||
697 | addl %edx, %ecx | ||
698 | /* R3 63 */ | ||
699 | orl %ecx, %edi | ||
700 | leal 3951481745(%ebx,%ebp,1),%ebx | ||
701 | xorl %edx, %edi | ||
702 | movl 24(%esp), %ebp | ||
703 | addl %edi, %ebx | ||
704 | addl $64, %esi | ||
705 | roll $21, %ebx | ||
706 | movl (%ebp), %edi | ||
707 | addl %ecx, %ebx | ||
708 | addl %edi, %eax | ||
709 | movl 4(%ebp), %edi | ||
710 | addl %edi, %ebx | ||
711 | movl 8(%ebp), %edi | ||
712 | addl %edi, %ecx | ||
713 | movl 12(%ebp), %edi | ||
714 | addl %edi, %edx | ||
715 | movl %eax, (%ebp) | ||
716 | movl %ebx, 4(%ebp) | ||
717 | movl (%esp), %edi | ||
718 | movl %ecx, 8(%ebp) | ||
719 | movl %edx, 12(%ebp) | ||
720 | cmpl %esi, %edi | ||
721 | jge .L000start | ||
722 | popl %eax | ||
723 | popl %ebx | ||
724 | popl %ebp | ||
725 | popl %edi | ||
726 | popl %esi | ||
727 | ret | ||
728 | .md5_block_x86_end: | ||
729 | SIZE(md5_block_x86,.md5_block_x86_end-md5_block_x86) | ||
730 | .ident "desasm.pl" | ||