As ftruncate is not availabe on all platforms, switch back to
[oweals/openssl.git] / crypto / md5 / asm / m5-win32.asm
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_asm_host_order
12
13 _md5_block_asm_host_order 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         shl     ecx,            6
21         push    ebx
22         add     ecx,            esi
23         sub     ecx,            64
24         mov     eax,            DWORD PTR [edi]
25         push    ecx
26         mov     ebx,            DWORD PTR 4[edi]
27         mov     ecx,            DWORD PTR 8[edi]
28         mov     edx,            DWORD PTR 12[edi]
29 L000start:
30         ; 
31         ; R0 section
32         mov     edi,            ecx
33         mov     ebp,            DWORD PTR [esi]
34         ; R0 0
35         xor     edi,            edx
36         and     edi,            ebx
37         lea     eax,            DWORD PTR 3614090360[ebp*1+eax]
38         xor     edi,            edx
39         add     eax,            edi
40         mov     edi,            ebx
41         rol     eax,            7
42         mov     ebp,            DWORD PTR 4[esi]
43         add     eax,            ebx
44         ; R0 1
45         xor     edi,            ecx
46         and     edi,            eax
47         lea     edx,            DWORD PTR 3905402710[ebp*1+edx]
48         xor     edi,            ecx
49         add     edx,            edi
50         mov     edi,            eax
51         rol     edx,            12
52         mov     ebp,            DWORD PTR 8[esi]
53         add     edx,            eax
54         ; R0 2
55         xor     edi,            ebx
56         and     edi,            edx
57         lea     ecx,            DWORD PTR 606105819[ebp*1+ecx]
58         xor     edi,            ebx
59         add     ecx,            edi
60         mov     edi,            edx
61         rol     ecx,            17
62         mov     ebp,            DWORD PTR 12[esi]
63         add     ecx,            edx
64         ; R0 3
65         xor     edi,            eax
66         and     edi,            ecx
67         lea     ebx,            DWORD PTR 3250441966[ebp*1+ebx]
68         xor     edi,            eax
69         add     ebx,            edi
70         mov     edi,            ecx
71         rol     ebx,            22
72         mov     ebp,            DWORD PTR 16[esi]
73         add     ebx,            ecx
74         ; R0 4
75         xor     edi,            edx
76         and     edi,            ebx
77         lea     eax,            DWORD PTR 4118548399[ebp*1+eax]
78         xor     edi,            edx
79         add     eax,            edi
80         mov     edi,            ebx
81         rol     eax,            7
82         mov     ebp,            DWORD PTR 20[esi]
83         add     eax,            ebx
84         ; R0 5
85         xor     edi,            ecx
86         and     edi,            eax
87         lea     edx,            DWORD PTR 1200080426[ebp*1+edx]
88         xor     edi,            ecx
89         add     edx,            edi
90         mov     edi,            eax
91         rol     edx,            12
92         mov     ebp,            DWORD PTR 24[esi]
93         add     edx,            eax
94         ; R0 6
95         xor     edi,            ebx
96         and     edi,            edx
97         lea     ecx,            DWORD PTR 2821735955[ebp*1+ecx]
98         xor     edi,            ebx
99         add     ecx,            edi
100         mov     edi,            edx
101         rol     ecx,            17
102         mov     ebp,            DWORD PTR 28[esi]
103         add     ecx,            edx
104         ; R0 7
105         xor     edi,            eax
106         and     edi,            ecx
107         lea     ebx,            DWORD PTR 4249261313[ebp*1+ebx]
108         xor     edi,            eax
109         add     ebx,            edi
110         mov     edi,            ecx
111         rol     ebx,            22
112         mov     ebp,            DWORD PTR 32[esi]
113         add     ebx,            ecx
114         ; R0 8
115         xor     edi,            edx
116         and     edi,            ebx
117         lea     eax,            DWORD PTR 1770035416[ebp*1+eax]
118         xor     edi,            edx
119         add     eax,            edi
120         mov     edi,            ebx
121         rol     eax,            7
122         mov     ebp,            DWORD PTR 36[esi]
123         add     eax,            ebx
124         ; R0 9
125         xor     edi,            ecx
126         and     edi,            eax
127         lea     edx,            DWORD PTR 2336552879[ebp*1+edx]
128         xor     edi,            ecx
129         add     edx,            edi
130         mov     edi,            eax
131         rol     edx,            12
132         mov     ebp,            DWORD PTR 40[esi]
133         add     edx,            eax
134         ; R0 10
135         xor     edi,            ebx
136         and     edi,            edx
137         lea     ecx,            DWORD PTR 4294925233[ebp*1+ecx]
138         xor     edi,            ebx
139         add     ecx,            edi
140         mov     edi,            edx
141         rol     ecx,            17
142         mov     ebp,            DWORD PTR 44[esi]
143         add     ecx,            edx
144         ; R0 11
145         xor     edi,            eax
146         and     edi,            ecx
147         lea     ebx,            DWORD PTR 2304563134[ebp*1+ebx]
148         xor     edi,            eax
149         add     ebx,            edi
150         mov     edi,            ecx
151         rol     ebx,            22
152         mov     ebp,            DWORD PTR 48[esi]
153         add     ebx,            ecx
154         ; R0 12
155         xor     edi,            edx
156         and     edi,            ebx
157         lea     eax,            DWORD PTR 1804603682[ebp*1+eax]
158         xor     edi,            edx
159         add     eax,            edi
160         mov     edi,            ebx
161         rol     eax,            7
162         mov     ebp,            DWORD PTR 52[esi]
163         add     eax,            ebx
164         ; R0 13
165         xor     edi,            ecx
166         and     edi,            eax
167         lea     edx,            DWORD PTR 4254626195[ebp*1+edx]
168         xor     edi,            ecx
169         add     edx,            edi
170         mov     edi,            eax
171         rol     edx,            12
172         mov     ebp,            DWORD PTR 56[esi]
173         add     edx,            eax
174         ; R0 14
175         xor     edi,            ebx
176         and     edi,            edx
177         lea     ecx,            DWORD PTR 2792965006[ebp*1+ecx]
178         xor     edi,            ebx
179         add     ecx,            edi
180         mov     edi,            edx
181         rol     ecx,            17
182         mov     ebp,            DWORD PTR 60[esi]
183         add     ecx,            edx
184         ; R0 15
185         xor     edi,            eax
186         and     edi,            ecx
187         lea     ebx,            DWORD PTR 1236535329[ebp*1+ebx]
188         xor     edi,            eax
189         add     ebx,            edi
190         mov     edi,            ecx
191         rol     ebx,            22
192         mov     ebp,            DWORD PTR 4[esi]
193         add     ebx,            ecx
194         ; 
195         ; R1 section
196         ; R1 16
197         lea     eax,            DWORD PTR 4129170786[ebp*1+eax]
198         xor     edi,            ebx
199         and     edi,            edx
200         mov     ebp,            DWORD PTR 24[esi]
201         xor     edi,            ecx
202         add     eax,            edi
203         mov     edi,            ebx
204         rol     eax,            5
205         add     eax,            ebx
206         ; R1 17
207         lea     edx,            DWORD PTR 3225465664[ebp*1+edx]
208         xor     edi,            eax
209         and     edi,            ecx
210         mov     ebp,            DWORD PTR 44[esi]
211         xor     edi,            ebx
212         add     edx,            edi
213         mov     edi,            eax
214         rol     edx,            9
215         add     edx,            eax
216         ; R1 18
217         lea     ecx,            DWORD PTR 643717713[ebp*1+ecx]
218         xor     edi,            edx
219         and     edi,            ebx
220         mov     ebp,            DWORD PTR [esi]
221         xor     edi,            eax
222         add     ecx,            edi
223         mov     edi,            edx
224         rol     ecx,            14
225         add     ecx,            edx
226         ; R1 19
227         lea     ebx,            DWORD PTR 3921069994[ebp*1+ebx]
228         xor     edi,            ecx
229         and     edi,            eax
230         mov     ebp,            DWORD PTR 20[esi]
231         xor     edi,            edx
232         add     ebx,            edi
233         mov     edi,            ecx
234         rol     ebx,            20
235         add     ebx,            ecx
236         ; R1 20
237         lea     eax,            DWORD PTR 3593408605[ebp*1+eax]
238         xor     edi,            ebx
239         and     edi,            edx
240         mov     ebp,            DWORD PTR 40[esi]
241         xor     edi,            ecx
242         add     eax,            edi
243         mov     edi,            ebx
244         rol     eax,            5
245         add     eax,            ebx
246         ; R1 21
247         lea     edx,            DWORD PTR 38016083[ebp*1+edx]
248         xor     edi,            eax
249         and     edi,            ecx
250         mov     ebp,            DWORD PTR 60[esi]
251         xor     edi,            ebx
252         add     edx,            edi
253         mov     edi,            eax
254         rol     edx,            9
255         add     edx,            eax
256         ; R1 22
257         lea     ecx,            DWORD PTR 3634488961[ebp*1+ecx]
258         xor     edi,            edx
259         and     edi,            ebx
260         mov     ebp,            DWORD PTR 16[esi]
261         xor     edi,            eax
262         add     ecx,            edi
263         mov     edi,            edx
264         rol     ecx,            14
265         add     ecx,            edx
266         ; R1 23
267         lea     ebx,            DWORD PTR 3889429448[ebp*1+ebx]
268         xor     edi,            ecx
269         and     edi,            eax
270         mov     ebp,            DWORD PTR 36[esi]
271         xor     edi,            edx
272         add     ebx,            edi
273         mov     edi,            ecx
274         rol     ebx,            20
275         add     ebx,            ecx
276         ; R1 24
277         lea     eax,            DWORD PTR 568446438[ebp*1+eax]
278         xor     edi,            ebx
279         and     edi,            edx
280         mov     ebp,            DWORD PTR 56[esi]
281         xor     edi,            ecx
282         add     eax,            edi
283         mov     edi,            ebx
284         rol     eax,            5
285         add     eax,            ebx
286         ; R1 25
287         lea     edx,            DWORD PTR 3275163606[ebp*1+edx]
288         xor     edi,            eax
289         and     edi,            ecx
290         mov     ebp,            DWORD PTR 12[esi]
291         xor     edi,            ebx
292         add     edx,            edi
293         mov     edi,            eax
294         rol     edx,            9
295         add     edx,            eax
296         ; R1 26
297         lea     ecx,            DWORD PTR 4107603335[ebp*1+ecx]
298         xor     edi,            edx
299         and     edi,            ebx
300         mov     ebp,            DWORD PTR 32[esi]
301         xor     edi,            eax
302         add     ecx,            edi
303         mov     edi,            edx
304         rol     ecx,            14
305         add     ecx,            edx
306         ; R1 27
307         lea     ebx,            DWORD PTR 1163531501[ebp*1+ebx]
308         xor     edi,            ecx
309         and     edi,            eax
310         mov     ebp,            DWORD PTR 52[esi]
311         xor     edi,            edx
312         add     ebx,            edi
313         mov     edi,            ecx
314         rol     ebx,            20
315         add     ebx,            ecx
316         ; R1 28
317         lea     eax,            DWORD PTR 2850285829[ebp*1+eax]
318         xor     edi,            ebx
319         and     edi,            edx
320         mov     ebp,            DWORD PTR 8[esi]
321         xor     edi,            ecx
322         add     eax,            edi
323         mov     edi,            ebx
324         rol     eax,            5
325         add     eax,            ebx
326         ; R1 29
327         lea     edx,            DWORD PTR 4243563512[ebp*1+edx]
328         xor     edi,            eax
329         and     edi,            ecx
330         mov     ebp,            DWORD PTR 28[esi]
331         xor     edi,            ebx
332         add     edx,            edi
333         mov     edi,            eax
334         rol     edx,            9
335         add     edx,            eax
336         ; R1 30
337         lea     ecx,            DWORD PTR 1735328473[ebp*1+ecx]
338         xor     edi,            edx
339         and     edi,            ebx
340         mov     ebp,            DWORD PTR 48[esi]
341         xor     edi,            eax
342         add     ecx,            edi
343         mov     edi,            edx
344         rol     ecx,            14
345         add     ecx,            edx
346         ; R1 31
347         lea     ebx,            DWORD PTR 2368359562[ebp*1+ebx]
348         xor     edi,            ecx
349         and     edi,            eax
350         mov     ebp,            DWORD PTR 20[esi]
351         xor     edi,            edx
352         add     ebx,            edi
353         mov     edi,            ecx
354         rol     ebx,            20
355         add     ebx,            ecx
356         ; 
357         ; R2 section
358         ; R2 32
359         xor     edi,            edx
360         xor     edi,            ebx
361         lea     eax,            DWORD PTR 4294588738[ebp*1+eax]
362         add     eax,            edi
363         rol     eax,            4
364         mov     ebp,            DWORD PTR 32[esi]
365         mov     edi,            ebx
366         ; R2 33
367         lea     edx,            DWORD PTR 2272392833[ebp*1+edx]
368         add     eax,            ebx
369         xor     edi,            ecx
370         xor     edi,            eax
371         mov     ebp,            DWORD PTR 44[esi]
372         add     edx,            edi
373         mov     edi,            eax
374         rol     edx,            11
375         add     edx,            eax
376         ; R2 34
377         xor     edi,            ebx
378         xor     edi,            edx
379         lea     ecx,            DWORD PTR 1839030562[ebp*1+ecx]
380         add     ecx,            edi
381         rol     ecx,            16
382         mov     ebp,            DWORD PTR 56[esi]
383         mov     edi,            edx
384         ; R2 35
385         lea     ebx,            DWORD PTR 4259657740[ebp*1+ebx]
386         add     ecx,            edx
387         xor     edi,            eax
388         xor     edi,            ecx
389         mov     ebp,            DWORD PTR 4[esi]
390         add     ebx,            edi
391         mov     edi,            ecx
392         rol     ebx,            23
393         add     ebx,            ecx
394         ; R2 36
395         xor     edi,            edx
396         xor     edi,            ebx
397         lea     eax,            DWORD PTR 2763975236[ebp*1+eax]
398         add     eax,            edi
399         rol     eax,            4
400         mov     ebp,            DWORD PTR 16[esi]
401         mov     edi,            ebx
402         ; R2 37
403         lea     edx,            DWORD PTR 1272893353[ebp*1+edx]
404         add     eax,            ebx
405         xor     edi,            ecx
406         xor     edi,            eax
407         mov     ebp,            DWORD PTR 28[esi]
408         add     edx,            edi
409         mov     edi,            eax
410         rol     edx,            11
411         add     edx,            eax
412         ; R2 38
413         xor     edi,            ebx
414         xor     edi,            edx
415         lea     ecx,            DWORD PTR 4139469664[ebp*1+ecx]
416         add     ecx,            edi
417         rol     ecx,            16
418         mov     ebp,            DWORD PTR 40[esi]
419         mov     edi,            edx
420         ; R2 39
421         lea     ebx,            DWORD PTR 3200236656[ebp*1+ebx]
422         add     ecx,            edx
423         xor     edi,            eax
424         xor     edi,            ecx
425         mov     ebp,            DWORD PTR 52[esi]
426         add     ebx,            edi
427         mov     edi,            ecx
428         rol     ebx,            23
429         add     ebx,            ecx
430         ; R2 40
431         xor     edi,            edx
432         xor     edi,            ebx
433         lea     eax,            DWORD PTR 681279174[ebp*1+eax]
434         add     eax,            edi
435         rol     eax,            4
436         mov     ebp,            DWORD PTR [esi]
437         mov     edi,            ebx
438         ; R2 41
439         lea     edx,            DWORD PTR 3936430074[ebp*1+edx]
440         add     eax,            ebx
441         xor     edi,            ecx
442         xor     edi,            eax
443         mov     ebp,            DWORD PTR 12[esi]
444         add     edx,            edi
445         mov     edi,            eax
446         rol     edx,            11
447         add     edx,            eax
448         ; R2 42
449         xor     edi,            ebx
450         xor     edi,            edx
451         lea     ecx,            DWORD PTR 3572445317[ebp*1+ecx]
452         add     ecx,            edi
453         rol     ecx,            16
454         mov     ebp,            DWORD PTR 24[esi]
455         mov     edi,            edx
456         ; R2 43
457         lea     ebx,            DWORD PTR 76029189[ebp*1+ebx]
458         add     ecx,            edx
459         xor     edi,            eax
460         xor     edi,            ecx
461         mov     ebp,            DWORD PTR 36[esi]
462         add     ebx,            edi
463         mov     edi,            ecx
464         rol     ebx,            23
465         add     ebx,            ecx
466         ; R2 44
467         xor     edi,            edx
468         xor     edi,            ebx
469         lea     eax,            DWORD PTR 3654602809[ebp*1+eax]
470         add     eax,            edi
471         rol     eax,            4
472         mov     ebp,            DWORD PTR 48[esi]
473         mov     edi,            ebx
474         ; R2 45
475         lea     edx,            DWORD PTR 3873151461[ebp*1+edx]
476         add     eax,            ebx
477         xor     edi,            ecx
478         xor     edi,            eax
479         mov     ebp,            DWORD PTR 60[esi]
480         add     edx,            edi
481         mov     edi,            eax
482         rol     edx,            11
483         add     edx,            eax
484         ; R2 46
485         xor     edi,            ebx
486         xor     edi,            edx
487         lea     ecx,            DWORD PTR 530742520[ebp*1+ecx]
488         add     ecx,            edi
489         rol     ecx,            16
490         mov     ebp,            DWORD PTR 8[esi]
491         mov     edi,            edx
492         ; R2 47
493         lea     ebx,            DWORD PTR 3299628645[ebp*1+ebx]
494         add     ecx,            edx
495         xor     edi,            eax
496         xor     edi,            ecx
497         mov     ebp,            DWORD PTR [esi]
498         add     ebx,            edi
499         mov     edi,            -1
500         rol     ebx,            23
501         add     ebx,            ecx
502         ; 
503         ; R3 section
504         ; R3 48
505         xor     edi,            edx
506         or      edi,            ebx
507         lea     eax,            DWORD PTR 4096336452[ebp*1+eax]
508         xor     edi,            ecx
509         mov     ebp,            DWORD PTR 28[esi]
510         add     eax,            edi
511         mov     edi,            -1
512         rol     eax,            6
513         xor     edi,            ecx
514         add     eax,            ebx
515         ; R3 49
516         or      edi,            eax
517         lea     edx,            DWORD PTR 1126891415[ebp*1+edx]
518         xor     edi,            ebx
519         mov     ebp,            DWORD PTR 56[esi]
520         add     edx,            edi
521         mov     edi,            -1
522         rol     edx,            10
523         xor     edi,            ebx
524         add     edx,            eax
525         ; R3 50
526         or      edi,            edx
527         lea     ecx,            DWORD PTR 2878612391[ebp*1+ecx]
528         xor     edi,            eax
529         mov     ebp,            DWORD PTR 20[esi]
530         add     ecx,            edi
531         mov     edi,            -1
532         rol     ecx,            15
533         xor     edi,            eax
534         add     ecx,            edx
535         ; R3 51
536         or      edi,            ecx
537         lea     ebx,            DWORD PTR 4237533241[ebp*1+ebx]
538         xor     edi,            edx
539         mov     ebp,            DWORD PTR 48[esi]
540         add     ebx,            edi
541         mov     edi,            -1
542         rol     ebx,            21
543         xor     edi,            edx
544         add     ebx,            ecx
545         ; R3 52
546         or      edi,            ebx
547         lea     eax,            DWORD PTR 1700485571[ebp*1+eax]
548         xor     edi,            ecx
549         mov     ebp,            DWORD PTR 12[esi]
550         add     eax,            edi
551         mov     edi,            -1
552         rol     eax,            6
553         xor     edi,            ecx
554         add     eax,            ebx
555         ; R3 53
556         or      edi,            eax
557         lea     edx,            DWORD PTR 2399980690[ebp*1+edx]
558         xor     edi,            ebx
559         mov     ebp,            DWORD PTR 40[esi]
560         add     edx,            edi
561         mov     edi,            -1
562         rol     edx,            10
563         xor     edi,            ebx
564         add     edx,            eax
565         ; R3 54
566         or      edi,            edx
567         lea     ecx,            DWORD PTR 4293915773[ebp*1+ecx]
568         xor     edi,            eax
569         mov     ebp,            DWORD PTR 4[esi]
570         add     ecx,            edi
571         mov     edi,            -1
572         rol     ecx,            15
573         xor     edi,            eax
574         add     ecx,            edx
575         ; R3 55
576         or      edi,            ecx
577         lea     ebx,            DWORD PTR 2240044497[ebp*1+ebx]
578         xor     edi,            edx
579         mov     ebp,            DWORD PTR 32[esi]
580         add     ebx,            edi
581         mov     edi,            -1
582         rol     ebx,            21
583         xor     edi,            edx
584         add     ebx,            ecx
585         ; R3 56
586         or      edi,            ebx
587         lea     eax,            DWORD PTR 1873313359[ebp*1+eax]
588         xor     edi,            ecx
589         mov     ebp,            DWORD PTR 60[esi]
590         add     eax,            edi
591         mov     edi,            -1
592         rol     eax,            6
593         xor     edi,            ecx
594         add     eax,            ebx
595         ; R3 57
596         or      edi,            eax
597         lea     edx,            DWORD PTR 4264355552[ebp*1+edx]
598         xor     edi,            ebx
599         mov     ebp,            DWORD PTR 24[esi]
600         add     edx,            edi
601         mov     edi,            -1
602         rol     edx,            10
603         xor     edi,            ebx
604         add     edx,            eax
605         ; R3 58
606         or      edi,            edx
607         lea     ecx,            DWORD PTR 2734768916[ebp*1+ecx]
608         xor     edi,            eax
609         mov     ebp,            DWORD PTR 52[esi]
610         add     ecx,            edi
611         mov     edi,            -1
612         rol     ecx,            15
613         xor     edi,            eax
614         add     ecx,            edx
615         ; R3 59
616         or      edi,            ecx
617         lea     ebx,            DWORD PTR 1309151649[ebp*1+ebx]
618         xor     edi,            edx
619         mov     ebp,            DWORD PTR 16[esi]
620         add     ebx,            edi
621         mov     edi,            -1
622         rol     ebx,            21
623         xor     edi,            edx
624         add     ebx,            ecx
625         ; R3 60
626         or      edi,            ebx
627         lea     eax,            DWORD PTR 4149444226[ebp*1+eax]
628         xor     edi,            ecx
629         mov     ebp,            DWORD PTR 44[esi]
630         add     eax,            edi
631         mov     edi,            -1
632         rol     eax,            6
633         xor     edi,            ecx
634         add     eax,            ebx
635         ; R3 61
636         or      edi,            eax
637         lea     edx,            DWORD PTR 3174756917[ebp*1+edx]
638         xor     edi,            ebx
639         mov     ebp,            DWORD PTR 8[esi]
640         add     edx,            edi
641         mov     edi,            -1
642         rol     edx,            10
643         xor     edi,            ebx
644         add     edx,            eax
645         ; R3 62
646         or      edi,            edx
647         lea     ecx,            DWORD PTR 718787259[ebp*1+ecx]
648         xor     edi,            eax
649         mov     ebp,            DWORD PTR 36[esi]
650         add     ecx,            edi
651         mov     edi,            -1
652         rol     ecx,            15
653         xor     edi,            eax
654         add     ecx,            edx
655         ; R3 63
656         or      edi,            ecx
657         lea     ebx,            DWORD PTR 3951481745[ebp*1+ebx]
658         xor     edi,            edx
659         mov     ebp,            DWORD PTR 24[esp]
660         add     ebx,            edi
661         add     esi,            64
662         rol     ebx,            21
663         mov     edi,            DWORD PTR [ebp]
664         add     ebx,            ecx
665         add     eax,            edi
666         mov     edi,            DWORD PTR 4[ebp]
667         add     ebx,            edi
668         mov     edi,            DWORD PTR 8[ebp]
669         add     ecx,            edi
670         mov     edi,            DWORD PTR 12[ebp]
671         add     edx,            edi
672         mov     DWORD PTR [ebp],eax
673         mov     DWORD PTR 4[ebp],ebx
674         mov     edi,            DWORD PTR [esp]
675         mov     DWORD PTR 8[ebp],ecx
676         mov     DWORD PTR 12[ebp],edx
677         cmp     edi,            esi
678         jge     L000start
679         pop     eax
680         pop     ebx
681         pop     ebp
682         pop     edi
683         pop     esi
684         ret
685 _md5_block_asm_host_order ENDP
686 _TEXT   ENDS
687 END