Import of old SSLeay release: SSLeay 0.9.0b
[openssl.git] / crypto / ripemd / asm / rm-win32.asm
1         ; Don't even think of reading this code
2         ; It was automatically generated by rmd-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   rmd-586.asm
8         .386
9 .model FLAT
10 _TEXT   SEGMENT
11 PUBLIC  _ripemd160_block_x86
12
13 _ripemd160_block_x86 PROC NEAR
14         push    esi
15         mov     ecx,            DWORD PTR 16[esp]
16         push    edi
17         mov     esi,            DWORD PTR 16[esp]
18         push    ebp
19         add     ecx,            esi
20         push    ebx
21         sub     ecx,            64
22         sub     esp,            88
23         mov     DWORD PTR [esp],ecx
24         mov     edi,            DWORD PTR 108[esp]
25 L000start:
26         ; 
27         mov     eax,            DWORD PTR [esi]
28         mov     ebx,            DWORD PTR 4[esi]
29         mov     DWORD PTR 4[esp],eax
30         mov     DWORD PTR 8[esp],ebx
31         mov     eax,            DWORD PTR 8[esi]
32         mov     ebx,            DWORD PTR 12[esi]
33         mov     DWORD PTR 12[esp],eax
34         mov     DWORD PTR 16[esp],ebx
35         mov     eax,            DWORD PTR 16[esi]
36         mov     ebx,            DWORD PTR 20[esi]
37         mov     DWORD PTR 20[esp],eax
38         mov     DWORD PTR 24[esp],ebx
39         mov     eax,            DWORD PTR 24[esi]
40         mov     ebx,            DWORD PTR 28[esi]
41         mov     DWORD PTR 28[esp],eax
42         mov     DWORD PTR 32[esp],ebx
43         mov     eax,            DWORD PTR 32[esi]
44         mov     ebx,            DWORD PTR 36[esi]
45         mov     DWORD PTR 36[esp],eax
46         mov     DWORD PTR 40[esp],ebx
47         mov     eax,            DWORD PTR 40[esi]
48         mov     ebx,            DWORD PTR 44[esi]
49         mov     DWORD PTR 44[esp],eax
50         mov     DWORD PTR 48[esp],ebx
51         mov     eax,            DWORD PTR 48[esi]
52         mov     ebx,            DWORD PTR 52[esi]
53         mov     DWORD PTR 52[esp],eax
54         mov     DWORD PTR 56[esp],ebx
55         mov     eax,            DWORD PTR 56[esi]
56         mov     ebx,            DWORD PTR 60[esi]
57         mov     DWORD PTR 60[esp],eax
58         mov     DWORD PTR 64[esp],ebx
59         add     esi,            64
60         mov     eax,            DWORD PTR [edi]
61         mov     DWORD PTR 112[esp],esi
62         mov     ebx,            DWORD PTR 4[edi]
63         mov     ecx,            DWORD PTR 8[edi]
64         mov     edx,            DWORD PTR 12[edi]
65         mov     ebp,            DWORD PTR 16[edi]
66         ; 0
67         mov     esi,            ecx
68         xor     esi,            edx
69         mov     edi,            DWORD PTR 4[esp]
70         xor     esi,            ebx
71         add     eax,            edi
72         rol     ecx,            10
73         add     eax,            esi
74         mov     esi,            ebx
75         rol     eax,            11
76         add     eax,            ebp
77         ; 1
78         xor     esi,            ecx
79         mov     edi,            DWORD PTR 8[esp]
80         xor     esi,            eax
81         add     ebp,            esi
82         mov     esi,            eax
83         rol     ebx,            10
84         add     ebp,            edi
85         xor     esi,            ebx
86         rol     ebp,            14
87         add     ebp,            edx
88         ; 2
89         mov     edi,            DWORD PTR 12[esp]
90         xor     esi,            ebp
91         add     edx,            edi
92         rol     eax,            10
93         add     edx,            esi
94         mov     esi,            ebp
95         rol     edx,            15
96         add     edx,            ecx
97         ; 3
98         xor     esi,            eax
99         mov     edi,            DWORD PTR 16[esp]
100         xor     esi,            edx
101         add     ecx,            esi
102         mov     esi,            edx
103         rol     ebp,            10
104         add     ecx,            edi
105         xor     esi,            ebp
106         rol     ecx,            12
107         add     ecx,            ebx
108         ; 4
109         mov     edi,            DWORD PTR 20[esp]
110         xor     esi,            ecx
111         add     ebx,            edi
112         rol     edx,            10
113         add     ebx,            esi
114         mov     esi,            ecx
115         rol     ebx,            5
116         add     ebx,            eax
117         ; 5
118         xor     esi,            edx
119         mov     edi,            DWORD PTR 24[esp]
120         xor     esi,            ebx
121         add     eax,            esi
122         mov     esi,            ebx
123         rol     ecx,            10
124         add     eax,            edi
125         xor     esi,            ecx
126         rol     eax,            8
127         add     eax,            ebp
128         ; 6
129         mov     edi,            DWORD PTR 28[esp]
130         xor     esi,            eax
131         add     ebp,            edi
132         rol     ebx,            10
133         add     ebp,            esi
134         mov     esi,            eax
135         rol     ebp,            7
136         add     ebp,            edx
137         ; 7
138         xor     esi,            ebx
139         mov     edi,            DWORD PTR 32[esp]
140         xor     esi,            ebp
141         add     edx,            esi
142         mov     esi,            ebp
143         rol     eax,            10
144         add     edx,            edi
145         xor     esi,            eax
146         rol     edx,            9
147         add     edx,            ecx
148         ; 8
149         mov     edi,            DWORD PTR 36[esp]
150         xor     esi,            edx
151         add     ecx,            edi
152         rol     ebp,            10
153         add     ecx,            esi
154         mov     esi,            edx
155         rol     ecx,            11
156         add     ecx,            ebx
157         ; 9
158         xor     esi,            ebp
159         mov     edi,            DWORD PTR 40[esp]
160         xor     esi,            ecx
161         add     ebx,            esi
162         mov     esi,            ecx
163         rol     edx,            10
164         add     ebx,            edi
165         xor     esi,            edx
166         rol     ebx,            13
167         add     ebx,            eax
168         ; 10
169         mov     edi,            DWORD PTR 44[esp]
170         xor     esi,            ebx
171         add     eax,            edi
172         rol     ecx,            10
173         add     eax,            esi
174         mov     esi,            ebx
175         rol     eax,            14
176         add     eax,            ebp
177         ; 11
178         xor     esi,            ecx
179         mov     edi,            DWORD PTR 48[esp]
180         xor     esi,            eax
181         add     ebp,            esi
182         mov     esi,            eax
183         rol     ebx,            10
184         add     ebp,            edi
185         xor     esi,            ebx
186         rol     ebp,            15
187         add     ebp,            edx
188         ; 12
189         mov     edi,            DWORD PTR 52[esp]
190         xor     esi,            ebp
191         add     edx,            edi
192         rol     eax,            10
193         add     edx,            esi
194         mov     esi,            ebp
195         rol     edx,            6
196         add     edx,            ecx
197         ; 13
198         xor     esi,            eax
199         mov     edi,            DWORD PTR 56[esp]
200         xor     esi,            edx
201         add     ecx,            esi
202         mov     esi,            edx
203         rol     ebp,            10
204         add     ecx,            edi
205         xor     esi,            ebp
206         rol     ecx,            7
207         add     ecx,            ebx
208         ; 14
209         mov     edi,            DWORD PTR 60[esp]
210         xor     esi,            ecx
211         add     ebx,            edi
212         rol     edx,            10
213         add     ebx,            esi
214         mov     esi,            ecx
215         rol     ebx,            9
216         add     ebx,            eax
217         ; 15
218         xor     esi,            edx
219         mov     edi,            DWORD PTR 64[esp]
220         xor     esi,            ebx
221         add     eax,            esi
222         mov     esi,            -1
223         rol     ecx,            10
224         add     eax,            edi
225         mov     edi,            DWORD PTR 32[esp]
226         rol     eax,            8
227         add     eax,            ebp
228         ; 16
229         add     ebp,            edi
230         mov     edi,            ebx
231         sub     esi,            eax
232         and     edi,            eax
233         and     esi,            ecx
234         or      edi,            esi
235         mov     esi,            DWORD PTR 20[esp]
236         rol     ebx,            10
237         lea     ebp,            DWORD PTR 1518500249[edi*1+ebp]
238         mov     edi,            -1
239         rol     ebp,            7
240         add     ebp,            edx
241         ; 17
242         add     edx,            esi
243         mov     esi,            eax
244         sub     edi,            ebp
245         and     esi,            ebp
246         and     edi,            ebx
247         or      esi,            edi
248         mov     edi,            DWORD PTR 56[esp]
249         rol     eax,            10
250         lea     edx,            DWORD PTR 1518500249[esi*1+edx]
251         mov     esi,            -1
252         rol     edx,            6
253         add     edx,            ecx
254         ; 18
255         add     ecx,            edi
256         mov     edi,            ebp
257         sub     esi,            edx
258         and     edi,            edx
259         and     esi,            eax
260         or      edi,            esi
261         mov     esi,            DWORD PTR 8[esp]
262         rol     ebp,            10
263         lea     ecx,            DWORD PTR 1518500249[edi*1+ecx]
264         mov     edi,            -1
265         rol     ecx,            8
266         add     ecx,            ebx
267         ; 19
268         add     ebx,            esi
269         mov     esi,            edx
270         sub     edi,            ecx
271         and     esi,            ecx
272         and     edi,            ebp
273         or      esi,            edi
274         mov     edi,            DWORD PTR 44[esp]
275         rol     edx,            10
276         lea     ebx,            DWORD PTR 1518500249[esi*1+ebx]
277         mov     esi,            -1
278         rol     ebx,            13
279         add     ebx,            eax
280         ; 20
281         add     eax,            edi
282         mov     edi,            ecx
283         sub     esi,            ebx
284         and     edi,            ebx
285         and     esi,            edx
286         or      edi,            esi
287         mov     esi,            DWORD PTR 28[esp]
288         rol     ecx,            10
289         lea     eax,            DWORD PTR 1518500249[edi*1+eax]
290         mov     edi,            -1
291         rol     eax,            11
292         add     eax,            ebp
293         ; 21
294         add     ebp,            esi
295         mov     esi,            ebx
296         sub     edi,            eax
297         and     esi,            eax
298         and     edi,            ecx
299         or      esi,            edi
300         mov     edi,            DWORD PTR 64[esp]
301         rol     ebx,            10
302         lea     ebp,            DWORD PTR 1518500249[esi*1+ebp]
303         mov     esi,            -1
304         rol     ebp,            9
305         add     ebp,            edx
306         ; 22
307         add     edx,            edi
308         mov     edi,            eax
309         sub     esi,            ebp
310         and     edi,            ebp
311         and     esi,            ebx
312         or      edi,            esi
313         mov     esi,            DWORD PTR 16[esp]
314         rol     eax,            10
315         lea     edx,            DWORD PTR 1518500249[edi*1+edx]
316         mov     edi,            -1
317         rol     edx,            7
318         add     edx,            ecx
319         ; 23
320         add     ecx,            esi
321         mov     esi,            ebp
322         sub     edi,            edx
323         and     esi,            edx
324         and     edi,            eax
325         or      esi,            edi
326         mov     edi,            DWORD PTR 52[esp]
327         rol     ebp,            10
328         lea     ecx,            DWORD PTR 1518500249[esi*1+ecx]
329         mov     esi,            -1
330         rol     ecx,            15
331         add     ecx,            ebx
332         ; 24
333         add     ebx,            edi
334         mov     edi,            edx
335         sub     esi,            ecx
336         and     edi,            ecx
337         and     esi,            ebp
338         or      edi,            esi
339         mov     esi,            DWORD PTR 4[esp]
340         rol     edx,            10
341         lea     ebx,            DWORD PTR 1518500249[edi*1+ebx]
342         mov     edi,            -1
343         rol     ebx,            7
344         add     ebx,            eax
345         ; 25
346         add     eax,            esi
347         mov     esi,            ecx
348         sub     edi,            ebx
349         and     esi,            ebx
350         and     edi,            edx
351         or      esi,            edi
352         mov     edi,            DWORD PTR 40[esp]
353         rol     ecx,            10
354         lea     eax,            DWORD PTR 1518500249[esi*1+eax]
355         mov     esi,            -1
356         rol     eax,            12
357         add     eax,            ebp
358         ; 26
359         add     ebp,            edi
360         mov     edi,            ebx
361         sub     esi,            eax
362         and     edi,            eax
363         and     esi,            ecx
364         or      edi,            esi
365         mov     esi,            DWORD PTR 24[esp]
366         rol     ebx,            10
367         lea     ebp,            DWORD PTR 1518500249[edi*1+ebp]
368         mov     edi,            -1
369         rol     ebp,            15
370         add     ebp,            edx
371         ; 27
372         add     edx,            esi
373         mov     esi,            eax
374         sub     edi,            ebp
375         and     esi,            ebp
376         and     edi,            ebx
377         or      esi,            edi
378         mov     edi,            DWORD PTR 12[esp]
379         rol     eax,            10
380         lea     edx,            DWORD PTR 1518500249[esi*1+edx]
381         mov     esi,            -1
382         rol     edx,            9
383         add     edx,            ecx
384         ; 28
385         add     ecx,            edi
386         mov     edi,            ebp
387         sub     esi,            edx
388         and     edi,            edx
389         and     esi,            eax
390         or      edi,            esi
391         mov     esi,            DWORD PTR 60[esp]
392         rol     ebp,            10
393         lea     ecx,            DWORD PTR 1518500249[edi*1+ecx]
394         mov     edi,            -1
395         rol     ecx,            11
396         add     ecx,            ebx
397         ; 29
398         add     ebx,            esi
399         mov     esi,            edx
400         sub     edi,            ecx
401         and     esi,            ecx
402         and     edi,            ebp
403         or      esi,            edi
404         mov     edi,            DWORD PTR 48[esp]
405         rol     edx,            10
406         lea     ebx,            DWORD PTR 1518500249[esi*1+ebx]
407         mov     esi,            -1
408         rol     ebx,            7
409         add     ebx,            eax
410         ; 30
411         add     eax,            edi
412         mov     edi,            ecx
413         sub     esi,            ebx
414         and     edi,            ebx
415         and     esi,            edx
416         or      edi,            esi
417         mov     esi,            DWORD PTR 36[esp]
418         rol     ecx,            10
419         lea     eax,            DWORD PTR 1518500249[edi*1+eax]
420         mov     edi,            -1
421         rol     eax,            13
422         add     eax,            ebp
423         ; 31
424         add     ebp,            esi
425         mov     esi,            ebx
426         sub     edi,            eax
427         and     esi,            eax
428         and     edi,            ecx
429         or      esi,            edi
430         mov     edi,            -1
431         rol     ebx,            10
432         lea     ebp,            DWORD PTR 1518500249[esi*1+ebp]
433         sub     edi,            eax
434         rol     ebp,            12
435         add     ebp,            edx
436         ; 32
437         mov     esi,            DWORD PTR 16[esp]
438         or      edi,            ebp
439         add     edx,            esi
440         xor     edi,            ebx
441         mov     esi,            -1
442         rol     eax,            10
443         lea     edx,            DWORD PTR 1859775393[edi*1+edx]
444         sub     esi,            ebp
445         rol     edx,            11
446         add     edx,            ecx
447         ; 33
448         mov     edi,            DWORD PTR 44[esp]
449         or      esi,            edx
450         add     ecx,            edi
451         xor     esi,            eax
452         mov     edi,            -1
453         rol     ebp,            10
454         lea     ecx,            DWORD PTR 1859775393[esi*1+ecx]
455         sub     edi,            edx
456         rol     ecx,            13
457         add     ecx,            ebx
458         ; 34
459         mov     esi,            DWORD PTR 60[esp]
460         or      edi,            ecx
461         add     ebx,            esi
462         xor     edi,            ebp
463         mov     esi,            -1
464         rol     edx,            10
465         lea     ebx,            DWORD PTR 1859775393[edi*1+ebx]
466         sub     esi,            ecx
467         rol     ebx,            6
468         add     ebx,            eax
469         ; 35
470         mov     edi,            DWORD PTR 20[esp]
471         or      esi,            ebx
472         add     eax,            edi
473         xor     esi,            edx
474         mov     edi,            -1
475         rol     ecx,            10
476         lea     eax,            DWORD PTR 1859775393[esi*1+eax]
477         sub     edi,            ebx
478         rol     eax,            7
479         add     eax,            ebp
480         ; 36
481         mov     esi,            DWORD PTR 40[esp]
482         or      edi,            eax
483         add     ebp,            esi
484         xor     edi,            ecx
485         mov     esi,            -1
486         rol     ebx,            10
487         lea     ebp,            DWORD PTR 1859775393[edi*1+ebp]
488         sub     esi,            eax
489         rol     ebp,            14
490         add     ebp,            edx
491         ; 37
492         mov     edi,            DWORD PTR 64[esp]
493         or      esi,            ebp
494         add     edx,            edi
495         xor     esi,            ebx
496         mov     edi,            -1
497         rol     eax,            10
498         lea     edx,            DWORD PTR 1859775393[esi*1+edx]
499         sub     edi,            ebp
500         rol     edx,            9
501         add     edx,            ecx
502         ; 38
503         mov     esi,            DWORD PTR 36[esp]
504         or      edi,            edx
505         add     ecx,            esi
506         xor     edi,            eax
507         mov     esi,            -1
508         rol     ebp,            10
509         lea     ecx,            DWORD PTR 1859775393[edi*1+ecx]
510         sub     esi,            edx
511         rol     ecx,            13
512         add     ecx,            ebx
513         ; 39
514         mov     edi,            DWORD PTR 8[esp]
515         or      esi,            ecx
516         add     ebx,            edi
517         xor     esi,            ebp
518         mov     edi,            -1
519         rol     edx,            10
520         lea     ebx,            DWORD PTR 1859775393[esi*1+ebx]
521         sub     edi,            ecx
522         rol     ebx,            15
523         add     ebx,            eax
524         ; 40
525         mov     esi,            DWORD PTR 12[esp]
526         or      edi,            ebx
527         add     eax,            esi
528         xor     edi,            edx
529         mov     esi,            -1
530         rol     ecx,            10
531         lea     eax,            DWORD PTR 1859775393[edi*1+eax]
532         sub     esi,            ebx
533         rol     eax,            14
534         add     eax,            ebp
535         ; 41
536         mov     edi,            DWORD PTR 32[esp]
537         or      esi,            eax
538         add     ebp,            edi
539         xor     esi,            ecx
540         mov     edi,            -1
541         rol     ebx,            10
542         lea     ebp,            DWORD PTR 1859775393[esi*1+ebp]
543         sub     edi,            eax
544         rol     ebp,            8
545         add     ebp,            edx
546         ; 42
547         mov     esi,            DWORD PTR 4[esp]
548         or      edi,            ebp
549         add     edx,            esi
550         xor     edi,            ebx
551         mov     esi,            -1
552         rol     eax,            10
553         lea     edx,            DWORD PTR 1859775393[edi*1+edx]
554         sub     esi,            ebp
555         rol     edx,            13
556         add     edx,            ecx
557         ; 43
558         mov     edi,            DWORD PTR 28[esp]
559         or      esi,            edx
560         add     ecx,            edi
561         xor     esi,            eax
562         mov     edi,            -1
563         rol     ebp,            10
564         lea     ecx,            DWORD PTR 1859775393[esi*1+ecx]
565         sub     edi,            edx
566         rol     ecx,            6
567         add     ecx,            ebx
568         ; 44
569         mov     esi,            DWORD PTR 56[esp]
570         or      edi,            ecx
571         add     ebx,            esi
572         xor     edi,            ebp
573         mov     esi,            -1
574         rol     edx,            10
575         lea     ebx,            DWORD PTR 1859775393[edi*1+ebx]
576         sub     esi,            ecx
577         rol     ebx,            5
578         add     ebx,            eax
579         ; 45
580         mov     edi,            DWORD PTR 48[esp]
581         or      esi,            ebx
582         add     eax,            edi
583         xor     esi,            edx
584         mov     edi,            -1
585         rol     ecx,            10
586         lea     eax,            DWORD PTR 1859775393[esi*1+eax]
587         sub     edi,            ebx
588         rol     eax,            12
589         add     eax,            ebp
590         ; 46
591         mov     esi,            DWORD PTR 24[esp]
592         or      edi,            eax
593         add     ebp,            esi
594         xor     edi,            ecx
595         mov     esi,            -1
596         rol     ebx,            10
597         lea     ebp,            DWORD PTR 1859775393[edi*1+ebp]
598         sub     esi,            eax
599         rol     ebp,            7
600         add     ebp,            edx
601         ; 47
602         mov     edi,            DWORD PTR 52[esp]
603         or      esi,            ebp
604         add     edx,            edi
605         xor     esi,            ebx
606         mov     edi,            -1
607         rol     eax,            10
608         lea     edx,            DWORD PTR 1859775393[esi*1+edx]
609         mov     esi,            eax
610         rol     edx,            5
611         add     edx,            ecx
612         ; 48
613         sub     edi,            eax
614         and     esi,            edx
615         and     edi,            ebp
616         or      edi,            esi
617         mov     esi,            DWORD PTR 8[esp]
618         rol     ebp,            10
619         lea     ecx,            DWORD PTR 2400959708[edi+ecx]
620         mov     edi,            -1
621         add     ecx,            esi
622         mov     esi,            ebp
623         rol     ecx,            11
624         add     ecx,            ebx
625         ; 49
626         sub     edi,            ebp
627         and     esi,            ecx
628         and     edi,            edx
629         or      edi,            esi
630         mov     esi,            DWORD PTR 40[esp]
631         rol     edx,            10
632         lea     ebx,            DWORD PTR 2400959708[edi+ebx]
633         mov     edi,            -1
634         add     ebx,            esi
635         mov     esi,            edx
636         rol     ebx,            12
637         add     ebx,            eax
638         ; 50
639         sub     edi,            edx
640         and     esi,            ebx
641         and     edi,            ecx
642         or      edi,            esi
643         mov     esi,            DWORD PTR 48[esp]
644         rol     ecx,            10
645         lea     eax,            DWORD PTR 2400959708[edi+eax]
646         mov     edi,            -1
647         add     eax,            esi
648         mov     esi,            ecx
649         rol     eax,            14
650         add     eax,            ebp
651         ; 51
652         sub     edi,            ecx
653         and     esi,            eax
654         and     edi,            ebx
655         or      edi,            esi
656         mov     esi,            DWORD PTR 44[esp]
657         rol     ebx,            10
658         lea     ebp,            DWORD PTR 2400959708[edi+ebp]
659         mov     edi,            -1
660         add     ebp,            esi
661         mov     esi,            ebx
662         rol     ebp,            15
663         add     ebp,            edx
664         ; 52
665         sub     edi,            ebx
666         and     esi,            ebp
667         and     edi,            eax
668         or      edi,            esi
669         mov     esi,            DWORD PTR 4[esp]
670         rol     eax,            10
671         lea     edx,            DWORD PTR 2400959708[edi+edx]
672         mov     edi,            -1
673         add     edx,            esi
674         mov     esi,            eax
675         rol     edx,            14
676         add     edx,            ecx
677         ; 53
678         sub     edi,            eax
679         and     esi,            edx
680         and     edi,            ebp
681         or      edi,            esi
682         mov     esi,            DWORD PTR 36[esp]
683         rol     ebp,            10
684         lea     ecx,            DWORD PTR 2400959708[edi+ecx]
685         mov     edi,            -1
686         add     ecx,            esi
687         mov     esi,            ebp
688         rol     ecx,            15
689         add     ecx,            ebx
690         ; 54
691         sub     edi,            ebp
692         and     esi,            ecx
693         and     edi,            edx
694         or      edi,            esi
695         mov     esi,            DWORD PTR 52[esp]
696         rol     edx,            10
697         lea     ebx,            DWORD PTR 2400959708[edi+ebx]
698         mov     edi,            -1
699         add     ebx,            esi
700         mov     esi,            edx
701         rol     ebx,            9
702         add     ebx,            eax
703         ; 55
704         sub     edi,            edx
705         and     esi,            ebx
706         and     edi,            ecx
707         or      edi,            esi
708         mov     esi,            DWORD PTR 20[esp]
709         rol     ecx,            10
710         lea     eax,            DWORD PTR 2400959708[edi+eax]
711         mov     edi,            -1
712         add     eax,            esi
713         mov     esi,            ecx
714         rol     eax,            8
715         add     eax,            ebp
716         ; 56
717         sub     edi,            ecx
718         and     esi,            eax
719         and     edi,            ebx
720         or      edi,            esi
721         mov     esi,            DWORD PTR 56[esp]
722         rol     ebx,            10
723         lea     ebp,            DWORD PTR 2400959708[edi+ebp]
724         mov     edi,            -1
725         add     ebp,            esi
726         mov     esi,            ebx
727         rol     ebp,            9
728         add     ebp,            edx
729         ; 57
730         sub     edi,            ebx
731         and     esi,            ebp
732         and     edi,            eax
733         or      edi,            esi
734         mov     esi,            DWORD PTR 16[esp]
735         rol     eax,            10
736         lea     edx,            DWORD PTR 2400959708[edi+edx]
737         mov     edi,            -1
738         add     edx,            esi
739         mov     esi,            eax
740         rol     edx,            14
741         add     edx,            ecx
742         ; 58
743         sub     edi,            eax
744         and     esi,            edx
745         and     edi,            ebp
746         or      edi,            esi
747         mov     esi,            DWORD PTR 32[esp]
748         rol     ebp,            10
749         lea     ecx,            DWORD PTR 2400959708[edi+ecx]
750         mov     edi,            -1
751         add     ecx,            esi
752         mov     esi,            ebp
753         rol     ecx,            5
754         add     ecx,            ebx
755         ; 59
756         sub     edi,            ebp
757         and     esi,            ecx
758         and     edi,            edx
759         or      edi,            esi
760         mov     esi,            DWORD PTR 64[esp]
761         rol     edx,            10
762         lea     ebx,            DWORD PTR 2400959708[edi+ebx]
763         mov     edi,            -1
764         add     ebx,            esi
765         mov     esi,            edx
766         rol     ebx,            6
767         add     ebx,            eax
768         ; 60
769         sub     edi,            edx
770         and     esi,            ebx
771         and     edi,            ecx
772         or      edi,            esi
773         mov     esi,            DWORD PTR 60[esp]
774         rol     ecx,            10
775         lea     eax,            DWORD PTR 2400959708[edi+eax]
776         mov     edi,            -1
777         add     eax,            esi
778         mov     esi,            ecx
779         rol     eax,            8
780         add     eax,            ebp
781         ; 61
782         sub     edi,            ecx
783         and     esi,            eax
784         and     edi,            ebx
785         or      edi,            esi
786         mov     esi,            DWORD PTR 24[esp]
787         rol     ebx,            10
788         lea     ebp,            DWORD PTR 2400959708[edi+ebp]
789         mov     edi,            -1
790         add     ebp,            esi
791         mov     esi,            ebx
792         rol     ebp,            6
793         add     ebp,            edx
794         ; 62
795         sub     edi,            ebx
796         and     esi,            ebp
797         and     edi,            eax
798         or      edi,            esi
799         mov     esi,            DWORD PTR 28[esp]
800         rol     eax,            10
801         lea     edx,            DWORD PTR 2400959708[edi+edx]
802         mov     edi,            -1
803         add     edx,            esi
804         mov     esi,            eax
805         rol     edx,            5
806         add     edx,            ecx
807         ; 63
808         sub     edi,            eax
809         and     esi,            edx
810         and     edi,            ebp
811         or      edi,            esi
812         mov     esi,            DWORD PTR 12[esp]
813         rol     ebp,            10
814         lea     ecx,            DWORD PTR 2400959708[edi+ecx]
815         mov     edi,            -1
816         add     ecx,            esi
817         sub     edi,            ebp
818         rol     ecx,            12
819         add     ecx,            ebx
820         ; 64
821         mov     esi,            DWORD PTR 20[esp]
822         or      edi,            edx
823         add     ebx,            esi
824         xor     edi,            ecx
825         mov     esi,            -1
826         rol     edx,            10
827         lea     ebx,            DWORD PTR 2840853838[edi*1+ebx]
828         sub     esi,            edx
829         rol     ebx,            9
830         add     ebx,            eax
831         ; 65
832         mov     edi,            DWORD PTR 4[esp]
833         or      esi,            ecx
834         add     eax,            edi
835         xor     esi,            ebx
836         mov     edi,            -1
837         rol     ecx,            10
838         lea     eax,            DWORD PTR 2840853838[esi*1+eax]
839         sub     edi,            ecx
840         rol     eax,            15
841         add     eax,            ebp
842         ; 66
843         mov     esi,            DWORD PTR 24[esp]
844         or      edi,            ebx
845         add     ebp,            esi
846         xor     edi,            eax
847         mov     esi,            -1
848         rol     ebx,            10
849         lea     ebp,            DWORD PTR 2840853838[edi*1+ebp]
850         sub     esi,            ebx
851         rol     ebp,            5
852         add     ebp,            edx
853         ; 67
854         mov     edi,            DWORD PTR 40[esp]
855         or      esi,            eax
856         add     edx,            edi
857         xor     esi,            ebp
858         mov     edi,            -1
859         rol     eax,            10
860         lea     edx,            DWORD PTR 2840853838[esi*1+edx]
861         sub     edi,            eax
862         rol     edx,            11
863         add     edx,            ecx
864         ; 68
865         mov     esi,            DWORD PTR 32[esp]
866         or      edi,            ebp
867         add     ecx,            esi
868         xor     edi,            edx
869         mov     esi,            -1
870         rol     ebp,            10
871         lea     ecx,            DWORD PTR 2840853838[edi*1+ecx]
872         sub     esi,            ebp
873         rol     ecx,            6
874         add     ecx,            ebx
875         ; 69
876         mov     edi,            DWORD PTR 52[esp]
877         or      esi,            edx
878         add     ebx,            edi
879         xor     esi,            ecx
880         mov     edi,            -1
881         rol     edx,            10
882         lea     ebx,            DWORD PTR 2840853838[esi*1+ebx]
883         sub     edi,            edx
884         rol     ebx,            8
885         add     ebx,            eax
886         ; 70
887         mov     esi,            DWORD PTR 12[esp]
888         or      edi,            ecx
889         add     eax,            esi
890         xor     edi,            ebx
891         mov     esi,            -1
892         rol     ecx,            10
893         lea     eax,            DWORD PTR 2840853838[edi*1+eax]
894         sub     esi,            ecx
895         rol     eax,            13
896         add     eax,            ebp
897         ; 71
898         mov     edi,            DWORD PTR 44[esp]
899         or      esi,            ebx
900         add     ebp,            edi
901         xor     esi,            eax
902         mov     edi,            -1
903         rol     ebx,            10
904         lea     ebp,            DWORD PTR 2840853838[esi*1+ebp]
905         sub     edi,            ebx
906         rol     ebp,            12
907         add     ebp,            edx
908         ; 72
909         mov     esi,            DWORD PTR 60[esp]
910         or      edi,            eax
911         add     edx,            esi
912         xor     edi,            ebp
913         mov     esi,            -1
914         rol     eax,            10
915         lea     edx,            DWORD PTR 2840853838[edi*1+edx]
916         sub     esi,            eax
917         rol     edx,            5
918         add     edx,            ecx
919         ; 73
920         mov     edi,            DWORD PTR 8[esp]
921         or      esi,            ebp
922         add     ecx,            edi
923         xor     esi,            edx
924         mov     edi,            -1
925         rol     ebp,            10
926         lea     ecx,            DWORD PTR 2840853838[esi*1+ecx]
927         sub     edi,            ebp
928         rol     ecx,            12
929         add     ecx,            ebx
930         ; 74
931         mov     esi,            DWORD PTR 16[esp]
932         or      edi,            edx
933         add     ebx,            esi
934         xor     edi,            ecx
935         mov     esi,            -1
936         rol     edx,            10
937         lea     ebx,            DWORD PTR 2840853838[edi*1+ebx]
938         sub     esi,            edx
939         rol     ebx,            13
940         add     ebx,            eax
941         ; 75
942         mov     edi,            DWORD PTR 36[esp]
943         or      esi,            ecx
944         add     eax,            edi
945         xor     esi,            ebx
946         mov     edi,            -1
947         rol     ecx,            10
948         lea     eax,            DWORD PTR 2840853838[esi*1+eax]
949         sub     edi,            ecx
950         rol     eax,            14
951         add     eax,            ebp
952         ; 76
953         mov     esi,            DWORD PTR 48[esp]
954         or      edi,            ebx
955         add     ebp,            esi
956         xor     edi,            eax
957         mov     esi,            -1
958         rol     ebx,            10
959         lea     ebp,            DWORD PTR 2840853838[edi*1+ebp]
960         sub     esi,            ebx
961         rol     ebp,            11
962         add     ebp,            edx
963         ; 77
964         mov     edi,            DWORD PTR 28[esp]
965         or      esi,            eax
966         add     edx,            edi
967         xor     esi,            ebp
968         mov     edi,            -1
969         rol     eax,            10
970         lea     edx,            DWORD PTR 2840853838[esi*1+edx]
971         sub     edi,            eax
972         rol     edx,            8
973         add     edx,            ecx
974         ; 78
975         mov     esi,            DWORD PTR 64[esp]
976         or      edi,            ebp
977         add     ecx,            esi
978         xor     edi,            edx
979         mov     esi,            -1
980         rol     ebp,            10
981         lea     ecx,            DWORD PTR 2840853838[edi*1+ecx]
982         sub     esi,            ebp
983         rol     ecx,            5
984         add     ecx,            ebx
985         ; 79
986         mov     edi,            DWORD PTR 56[esp]
987         or      esi,            edx
988         add     ebx,            edi
989         xor     esi,            ecx
990         mov     edi,            DWORD PTR 108[esp]
991         rol     edx,            10
992         lea     ebx,            DWORD PTR 2840853838[esi*1+ebx]
993         mov     DWORD PTR 68[esp],eax
994         rol     ebx,            6
995         add     ebx,            eax
996         mov     eax,            DWORD PTR [edi]
997         mov     DWORD PTR 72[esp],ebx
998         mov     DWORD PTR 76[esp],ecx
999         mov     ebx,            DWORD PTR 4[edi]
1000         mov     DWORD PTR 80[esp],edx
1001         mov     ecx,            DWORD PTR 8[edi]
1002         mov     DWORD PTR 84[esp],ebp
1003         mov     edx,            DWORD PTR 12[edi]
1004         mov     ebp,            DWORD PTR 16[edi]
1005         ; 80
1006         mov     edi,            -1
1007         sub     edi,            edx
1008         mov     esi,            DWORD PTR 24[esp]
1009         or      edi,            ecx
1010         add     eax,            esi
1011         xor     edi,            ebx
1012         mov     esi,            -1
1013         rol     ecx,            10
1014         lea     eax,            DWORD PTR 1352829926[edi*1+eax]
1015         sub     esi,            ecx
1016         rol     eax,            8
1017         add     eax,            ebp
1018         ; 81
1019         mov     edi,            DWORD PTR 60[esp]
1020         or      esi,            ebx
1021         add     ebp,            edi
1022         xor     esi,            eax
1023         mov     edi,            -1
1024         rol     ebx,            10
1025         lea     ebp,            DWORD PTR 1352829926[esi*1+ebp]
1026         sub     edi,            ebx
1027         rol     ebp,            9
1028         add     ebp,            edx
1029         ; 82
1030         mov     esi,            DWORD PTR 32[esp]
1031         or      edi,            eax
1032         add     edx,            esi
1033         xor     edi,            ebp
1034         mov     esi,            -1
1035         rol     eax,            10
1036         lea     edx,            DWORD PTR 1352829926[edi*1+edx]
1037         sub     esi,            eax
1038         rol     edx,            9
1039         add     edx,            ecx
1040         ; 83
1041         mov     edi,            DWORD PTR 4[esp]
1042         or      esi,            ebp
1043         add     ecx,            edi
1044         xor     esi,            edx
1045         mov     edi,            -1
1046         rol     ebp,            10
1047         lea     ecx,            DWORD PTR 1352829926[esi*1+ecx]
1048         sub     edi,            ebp
1049         rol     ecx,            11
1050         add     ecx,            ebx
1051         ; 84
1052         mov     esi,            DWORD PTR 40[esp]
1053         or      edi,            edx
1054         add     ebx,            esi
1055         xor     edi,            ecx
1056         mov     esi,            -1
1057         rol     edx,            10
1058         lea     ebx,            DWORD PTR 1352829926[edi*1+ebx]
1059         sub     esi,            edx
1060         rol     ebx,            13
1061         add     ebx,            eax
1062         ; 85
1063         mov     edi,            DWORD PTR 12[esp]
1064         or      esi,            ecx
1065         add     eax,            edi
1066         xor     esi,            ebx
1067         mov     edi,            -1
1068         rol     ecx,            10
1069         lea     eax,            DWORD PTR 1352829926[esi*1+eax]
1070         sub     edi,            ecx
1071         rol     eax,            15
1072         add     eax,            ebp
1073         ; 86
1074         mov     esi,            DWORD PTR 48[esp]
1075         or      edi,            ebx
1076         add     ebp,            esi
1077         xor     edi,            eax
1078         mov     esi,            -1
1079         rol     ebx,            10
1080         lea     ebp,            DWORD PTR 1352829926[edi*1+ebp]
1081         sub     esi,            ebx
1082         rol     ebp,            15
1083         add     ebp,            edx
1084         ; 87
1085         mov     edi,            DWORD PTR 20[esp]
1086         or      esi,            eax
1087         add     edx,            edi
1088         xor     esi,            ebp
1089         mov     edi,            -1
1090         rol     eax,            10
1091         lea     edx,            DWORD PTR 1352829926[esi*1+edx]
1092         sub     edi,            eax
1093         rol     edx,            5
1094         add     edx,            ecx
1095         ; 88
1096         mov     esi,            DWORD PTR 56[esp]
1097         or      edi,            ebp
1098         add     ecx,            esi
1099         xor     edi,            edx
1100         mov     esi,            -1
1101         rol     ebp,            10
1102         lea     ecx,            DWORD PTR 1352829926[edi*1+ecx]
1103         sub     esi,            ebp
1104         rol     ecx,            7
1105         add     ecx,            ebx
1106         ; 89
1107         mov     edi,            DWORD PTR 28[esp]
1108         or      esi,            edx
1109         add     ebx,            edi
1110         xor     esi,            ecx
1111         mov     edi,            -1
1112         rol     edx,            10
1113         lea     ebx,            DWORD PTR 1352829926[esi*1+ebx]
1114         sub     edi,            edx
1115         rol     ebx,            7
1116         add     ebx,            eax
1117         ; 90
1118         mov     esi,            DWORD PTR 64[esp]
1119         or      edi,            ecx
1120         add     eax,            esi
1121         xor     edi,            ebx
1122         mov     esi,            -1
1123         rol     ecx,            10
1124         lea     eax,            DWORD PTR 1352829926[edi*1+eax]
1125         sub     esi,            ecx
1126         rol     eax,            8
1127         add     eax,            ebp
1128         ; 91
1129         mov     edi,            DWORD PTR 36[esp]
1130         or      esi,            ebx
1131         add     ebp,            edi
1132         xor     esi,            eax
1133         mov     edi,            -1
1134         rol     ebx,            10
1135         lea     ebp,            DWORD PTR 1352829926[esi*1+ebp]
1136         sub     edi,            ebx
1137         rol     ebp,            11
1138         add     ebp,            edx
1139         ; 92
1140         mov     esi,            DWORD PTR 8[esp]
1141         or      edi,            eax
1142         add     edx,            esi
1143         xor     edi,            ebp
1144         mov     esi,            -1
1145         rol     eax,            10
1146         lea     edx,            DWORD PTR 1352829926[edi*1+edx]
1147         sub     esi,            eax
1148         rol     edx,            14
1149         add     edx,            ecx
1150         ; 93
1151         mov     edi,            DWORD PTR 44[esp]
1152         or      esi,            ebp
1153         add     ecx,            edi
1154         xor     esi,            edx
1155         mov     edi,            -1
1156         rol     ebp,            10
1157         lea     ecx,            DWORD PTR 1352829926[esi*1+ecx]
1158         sub     edi,            ebp
1159         rol     ecx,            14
1160         add     ecx,            ebx
1161         ; 94
1162         mov     esi,            DWORD PTR 16[esp]
1163         or      edi,            edx
1164         add     ebx,            esi
1165         xor     edi,            ecx
1166         mov     esi,            -1
1167         rol     edx,            10
1168         lea     ebx,            DWORD PTR 1352829926[edi*1+ebx]
1169         sub     esi,            edx
1170         rol     ebx,            12
1171         add     ebx,            eax
1172         ; 95
1173         mov     edi,            DWORD PTR 52[esp]
1174         or      esi,            ecx
1175         add     eax,            edi
1176         xor     esi,            ebx
1177         mov     edi,            -1
1178         rol     ecx,            10
1179         lea     eax,            DWORD PTR 1352829926[esi*1+eax]
1180         mov     esi,            ecx
1181         rol     eax,            6
1182         add     eax,            ebp
1183         ; 96
1184         sub     edi,            ecx
1185         and     esi,            eax
1186         and     edi,            ebx
1187         or      edi,            esi
1188         mov     esi,            DWORD PTR 28[esp]
1189         rol     ebx,            10
1190         lea     ebp,            DWORD PTR 1548603684[edi+ebp]
1191         mov     edi,            -1
1192         add     ebp,            esi
1193         mov     esi,            ebx
1194         rol     ebp,            9
1195         add     ebp,            edx
1196         ; 97
1197         sub     edi,            ebx
1198         and     esi,            ebp
1199         and     edi,            eax
1200         or      edi,            esi
1201         mov     esi,            DWORD PTR 48[esp]
1202         rol     eax,            10
1203         lea     edx,            DWORD PTR 1548603684[edi+edx]
1204         mov     edi,            -1
1205         add     edx,            esi
1206         mov     esi,            eax
1207         rol     edx,            13
1208         add     edx,            ecx
1209         ; 98
1210         sub     edi,            eax
1211         and     esi,            edx
1212         and     edi,            ebp
1213         or      edi,            esi
1214         mov     esi,            DWORD PTR 16[esp]
1215         rol     ebp,            10
1216         lea     ecx,            DWORD PTR 1548603684[edi+ecx]
1217         mov     edi,            -1
1218         add     ecx,            esi
1219         mov     esi,            ebp
1220         rol     ecx,            15
1221         add     ecx,            ebx
1222         ; 99
1223         sub     edi,            ebp
1224         and     esi,            ecx
1225         and     edi,            edx
1226         or      edi,            esi
1227         mov     esi,            DWORD PTR 32[esp]
1228         rol     edx,            10
1229         lea     ebx,            DWORD PTR 1548603684[edi+ebx]
1230         mov     edi,            -1
1231         add     ebx,            esi
1232         mov     esi,            edx
1233         rol     ebx,            7
1234         add     ebx,            eax
1235         ; 100
1236         sub     edi,            edx
1237         and     esi,            ebx
1238         and     edi,            ecx
1239         or      edi,            esi
1240         mov     esi,            DWORD PTR 4[esp]
1241         rol     ecx,            10
1242         lea     eax,            DWORD PTR 1548603684[edi+eax]
1243         mov     edi,            -1
1244         add     eax,            esi
1245         mov     esi,            ecx
1246         rol     eax,            12
1247         add     eax,            ebp
1248         ; 101
1249         sub     edi,            ecx
1250         and     esi,            eax
1251         and     edi,            ebx
1252         or      edi,            esi
1253         mov     esi,            DWORD PTR 56[esp]
1254         rol     ebx,            10
1255         lea     ebp,            DWORD PTR 1548603684[edi+ebp]
1256         mov     edi,            -1
1257         add     ebp,            esi
1258         mov     esi,            ebx
1259         rol     ebp,            8
1260         add     ebp,            edx
1261         ; 102
1262         sub     edi,            ebx
1263         and     esi,            ebp
1264         and     edi,            eax
1265         or      edi,            esi
1266         mov     esi,            DWORD PTR 24[esp]
1267         rol     eax,            10
1268         lea     edx,            DWORD PTR 1548603684[edi+edx]
1269         mov     edi,            -1
1270         add     edx,            esi
1271         mov     esi,            eax
1272         rol     edx,            9
1273         add     edx,            ecx
1274         ; 103
1275         sub     edi,            eax
1276         and     esi,            edx
1277         and     edi,            ebp
1278         or      edi,            esi
1279         mov     esi,            DWORD PTR 44[esp]
1280         rol     ebp,            10
1281         lea     ecx,            DWORD PTR 1548603684[edi+ecx]
1282         mov     edi,            -1
1283         add     ecx,            esi
1284         mov     esi,            ebp
1285         rol     ecx,            11
1286         add     ecx,            ebx
1287         ; 104
1288         sub     edi,            ebp
1289         and     esi,            ecx
1290         and     edi,            edx
1291         or      edi,            esi
1292         mov     esi,            DWORD PTR 60[esp]
1293         rol     edx,            10
1294         lea     ebx,            DWORD PTR 1548603684[edi+ebx]
1295         mov     edi,            -1
1296         add     ebx,            esi
1297         mov     esi,            edx
1298         rol     ebx,            7
1299         add     ebx,            eax
1300         ; 105
1301         sub     edi,            edx
1302         and     esi,            ebx
1303         and     edi,            ecx
1304         or      edi,            esi
1305         mov     esi,            DWORD PTR 64[esp]
1306         rol     ecx,            10
1307         lea     eax,            DWORD PTR 1548603684[edi+eax]
1308         mov     edi,            -1
1309         add     eax,            esi
1310         mov     esi,            ecx
1311         rol     eax,            7
1312         add     eax,            ebp
1313         ; 106
1314         sub     edi,            ecx
1315         and     esi,            eax
1316         and     edi,            ebx
1317         or      edi,            esi
1318         mov     esi,            DWORD PTR 36[esp]
1319         rol     ebx,            10
1320         lea     ebp,            DWORD PTR 1548603684[edi+ebp]
1321         mov     edi,            -1
1322         add     ebp,            esi
1323         mov     esi,            ebx
1324         rol     ebp,            12
1325         add     ebp,            edx
1326         ; 107
1327         sub     edi,            ebx
1328         and     esi,            ebp
1329         and     edi,            eax
1330         or      edi,            esi
1331         mov     esi,            DWORD PTR 52[esp]
1332         rol     eax,            10
1333         lea     edx,            DWORD PTR 1548603684[edi+edx]
1334         mov     edi,            -1
1335         add     edx,            esi
1336         mov     esi,            eax
1337         rol     edx,            7
1338         add     edx,            ecx
1339         ; 108
1340         sub     edi,            eax
1341         and     esi,            edx
1342         and     edi,            ebp
1343         or      edi,            esi
1344         mov     esi,            DWORD PTR 20[esp]
1345         rol     ebp,            10
1346         lea     ecx,            DWORD PTR 1548603684[edi+ecx]
1347         mov     edi,            -1
1348         add     ecx,            esi
1349         mov     esi,            ebp
1350         rol     ecx,            6
1351         add     ecx,            ebx
1352         ; 109
1353         sub     edi,            ebp
1354         and     esi,            ecx
1355         and     edi,            edx
1356         or      edi,            esi
1357         mov     esi,            DWORD PTR 40[esp]
1358         rol     edx,            10
1359         lea     ebx,            DWORD PTR 1548603684[edi+ebx]
1360         mov     edi,            -1
1361         add     ebx,            esi
1362         mov     esi,            edx
1363         rol     ebx,            15
1364         add     ebx,            eax
1365         ; 110
1366         sub     edi,            edx
1367         and     esi,            ebx
1368         and     edi,            ecx
1369         or      edi,            esi
1370         mov     esi,            DWORD PTR 8[esp]
1371         rol     ecx,            10
1372         lea     eax,            DWORD PTR 1548603684[edi+eax]
1373         mov     edi,            -1
1374         add     eax,            esi
1375         mov     esi,            ecx
1376         rol     eax,            13
1377         add     eax,            ebp
1378         ; 111
1379         sub     edi,            ecx
1380         and     esi,            eax
1381         and     edi,            ebx
1382         or      edi,            esi
1383         mov     esi,            DWORD PTR 12[esp]
1384         rol     ebx,            10
1385         lea     ebp,            DWORD PTR 1548603684[edi+ebp]
1386         mov     edi,            -1
1387         add     ebp,            esi
1388         sub     edi,            eax
1389         rol     ebp,            11
1390         add     ebp,            edx
1391         ; 112
1392         mov     esi,            DWORD PTR 64[esp]
1393         or      edi,            ebp
1394         add     edx,            esi
1395         xor     edi,            ebx
1396         mov     esi,            -1
1397         rol     eax,            10
1398         lea     edx,            DWORD PTR 1836072691[edi*1+edx]
1399         sub     esi,            ebp
1400         rol     edx,            9
1401         add     edx,            ecx
1402         ; 113
1403         mov     edi,            DWORD PTR 24[esp]
1404         or      esi,            edx
1405         add     ecx,            edi
1406         xor     esi,            eax
1407         mov     edi,            -1
1408         rol     ebp,            10
1409         lea     ecx,            DWORD PTR 1836072691[esi*1+ecx]
1410         sub     edi,            edx
1411         rol     ecx,            7
1412         add     ecx,            ebx
1413         ; 114
1414         mov     esi,            DWORD PTR 8[esp]
1415         or      edi,            ecx
1416         add     ebx,            esi
1417         xor     edi,            ebp
1418         mov     esi,            -1
1419         rol     edx,            10
1420         lea     ebx,            DWORD PTR 1836072691[edi*1+ebx]
1421         sub     esi,            ecx
1422         rol     ebx,            15
1423         add     ebx,            eax
1424         ; 115
1425         mov     edi,            DWORD PTR 16[esp]
1426         or      esi,            ebx
1427         add     eax,            edi
1428         xor     esi,            edx
1429         mov     edi,            -1
1430         rol     ecx,            10
1431         lea     eax,            DWORD PTR 1836072691[esi*1+eax]
1432         sub     edi,            ebx
1433         rol     eax,            11
1434         add     eax,            ebp
1435         ; 116
1436         mov     esi,            DWORD PTR 32[esp]
1437         or      edi,            eax
1438         add     ebp,            esi
1439         xor     edi,            ecx
1440         mov     esi,            -1
1441         rol     ebx,            10
1442         lea     ebp,            DWORD PTR 1836072691[edi*1+ebp]
1443         sub     esi,            eax
1444         rol     ebp,            8
1445         add     ebp,            edx
1446         ; 117
1447         mov     edi,            DWORD PTR 60[esp]
1448         or      esi,            ebp
1449         add     edx,            edi
1450         xor     esi,            ebx
1451         mov     edi,            -1
1452         rol     eax,            10
1453         lea     edx,            DWORD PTR 1836072691[esi*1+edx]
1454         sub     edi,            ebp
1455         rol     edx,            6
1456         add     edx,            ecx
1457         ; 118
1458         mov     esi,            DWORD PTR 28[esp]
1459         or      edi,            edx
1460         add     ecx,            esi
1461         xor     edi,            eax
1462         mov     esi,            -1
1463         rol     ebp,            10
1464         lea     ecx,            DWORD PTR 1836072691[edi*1+ecx]
1465         sub     esi,            edx
1466         rol     ecx,            6
1467         add     ecx,            ebx
1468         ; 119
1469         mov     edi,            DWORD PTR 40[esp]
1470         or      esi,            ecx
1471         add     ebx,            edi
1472         xor     esi,            ebp
1473         mov     edi,            -1
1474         rol     edx,            10
1475         lea     ebx,            DWORD PTR 1836072691[esi*1+ebx]
1476         sub     edi,            ecx
1477         rol     ebx,            14
1478         add     ebx,            eax
1479         ; 120
1480         mov     esi,            DWORD PTR 48[esp]
1481         or      edi,            ebx
1482         add     eax,            esi
1483         xor     edi,            edx
1484         mov     esi,            -1
1485         rol     ecx,            10
1486         lea     eax,            DWORD PTR 1836072691[edi*1+eax]
1487         sub     esi,            ebx
1488         rol     eax,            12
1489         add     eax,            ebp
1490         ; 121
1491         mov     edi,            DWORD PTR 36[esp]
1492         or      esi,            eax
1493         add     ebp,            edi
1494         xor     esi,            ecx
1495         mov     edi,            -1
1496         rol     ebx,            10
1497         lea     ebp,            DWORD PTR 1836072691[esi*1+ebp]
1498         sub     edi,            eax
1499         rol     ebp,            13
1500         add     ebp,            edx
1501         ; 122
1502         mov     esi,            DWORD PTR 52[esp]
1503         or      edi,            ebp
1504         add     edx,            esi
1505         xor     edi,            ebx
1506         mov     esi,            -1
1507         rol     eax,            10
1508         lea     edx,            DWORD PTR 1836072691[edi*1+edx]
1509         sub     esi,            ebp
1510         rol     edx,            5
1511         add     edx,            ecx
1512         ; 123
1513         mov     edi,            DWORD PTR 12[esp]
1514         or      esi,            edx
1515         add     ecx,            edi
1516         xor     esi,            eax
1517         mov     edi,            -1
1518         rol     ebp,            10
1519         lea     ecx,            DWORD PTR 1836072691[esi*1+ecx]
1520         sub     edi,            edx
1521         rol     ecx,            14
1522         add     ecx,            ebx
1523         ; 124
1524         mov     esi,            DWORD PTR 44[esp]
1525         or      edi,            ecx
1526         add     ebx,            esi
1527         xor     edi,            ebp
1528         mov     esi,            -1
1529         rol     edx,            10
1530         lea     ebx,            DWORD PTR 1836072691[edi*1+ebx]
1531         sub     esi,            ecx
1532         rol     ebx,            13
1533         add     ebx,            eax
1534         ; 125
1535         mov     edi,            DWORD PTR 4[esp]
1536         or      esi,            ebx
1537         add     eax,            edi
1538         xor     esi,            edx
1539         mov     edi,            -1
1540         rol     ecx,            10
1541         lea     eax,            DWORD PTR 1836072691[esi*1+eax]
1542         sub     edi,            ebx
1543         rol     eax,            13
1544         add     eax,            ebp
1545         ; 126
1546         mov     esi,            DWORD PTR 20[esp]
1547         or      edi,            eax
1548         add     ebp,            esi
1549         xor     edi,            ecx
1550         mov     esi,            -1
1551         rol     ebx,            10
1552         lea     ebp,            DWORD PTR 1836072691[edi*1+ebp]
1553         sub     esi,            eax
1554         rol     ebp,            7
1555         add     ebp,            edx
1556         ; 127
1557         mov     edi,            DWORD PTR 56[esp]
1558         or      esi,            ebp
1559         add     edx,            edi
1560         xor     esi,            ebx
1561         mov     edi,            DWORD PTR 36[esp]
1562         rol     eax,            10
1563         lea     edx,            DWORD PTR 1836072691[esi*1+edx]
1564         mov     esi,            -1
1565         rol     edx,            5
1566         add     edx,            ecx
1567         ; 128
1568         add     ecx,            edi
1569         mov     edi,            ebp
1570         sub     esi,            edx
1571         and     edi,            edx
1572         and     esi,            eax
1573         or      edi,            esi
1574         mov     esi,            DWORD PTR 28[esp]
1575         rol     ebp,            10
1576         lea     ecx,            DWORD PTR 2053994217[edi*1+ecx]
1577         mov     edi,            -1
1578         rol     ecx,            15
1579         add     ecx,            ebx
1580         ; 129
1581         add     ebx,            esi
1582         mov     esi,            edx
1583         sub     edi,            ecx
1584         and     esi,            ecx
1585         and     edi,            ebp
1586         or      esi,            edi
1587         mov     edi,            DWORD PTR 20[esp]
1588         rol     edx,            10
1589         lea     ebx,            DWORD PTR 2053994217[esi*1+ebx]
1590         mov     esi,            -1
1591         rol     ebx,            5
1592         add     ebx,            eax
1593         ; 130
1594         add     eax,            edi
1595         mov     edi,            ecx
1596         sub     esi,            ebx
1597         and     edi,            ebx
1598         and     esi,            edx
1599         or      edi,            esi
1600         mov     esi,            DWORD PTR 8[esp]
1601         rol     ecx,            10
1602         lea     eax,            DWORD PTR 2053994217[edi*1+eax]
1603         mov     edi,            -1
1604         rol     eax,            8
1605         add     eax,            ebp
1606         ; 131
1607         add     ebp,            esi
1608         mov     esi,            ebx
1609         sub     edi,            eax
1610         and     esi,            eax
1611         and     edi,            ecx
1612         or      esi,            edi
1613         mov     edi,            DWORD PTR 16[esp]
1614         rol     ebx,            10
1615         lea     ebp,            DWORD PTR 2053994217[esi*1+ebp]
1616         mov     esi,            -1
1617         rol     ebp,            11
1618         add     ebp,            edx
1619         ; 132
1620         add     edx,            edi
1621         mov     edi,            eax
1622         sub     esi,            ebp
1623         and     edi,            ebp
1624         and     esi,            ebx
1625         or      edi,            esi
1626         mov     esi,            DWORD PTR 48[esp]
1627         rol     eax,            10
1628         lea     edx,            DWORD PTR 2053994217[edi*1+edx]
1629         mov     edi,            -1
1630         rol     edx,            14
1631         add     edx,            ecx
1632         ; 133
1633         add     ecx,            esi
1634         mov     esi,            ebp
1635         sub     edi,            edx
1636         and     esi,            edx
1637         and     edi,            eax
1638         or      esi,            edi
1639         mov     edi,            DWORD PTR 64[esp]
1640         rol     ebp,            10
1641         lea     ecx,            DWORD PTR 2053994217[esi*1+ecx]
1642         mov     esi,            -1
1643         rol     ecx,            14
1644         add     ecx,            ebx
1645         ; 134
1646         add     ebx,            edi
1647         mov     edi,            edx
1648         sub     esi,            ecx
1649         and     edi,            ecx
1650         and     esi,            ebp
1651         or      edi,            esi
1652         mov     esi,            DWORD PTR 4[esp]
1653         rol     edx,            10
1654         lea     ebx,            DWORD PTR 2053994217[edi*1+ebx]
1655         mov     edi,            -1
1656         rol     ebx,            6
1657         add     ebx,            eax
1658         ; 135
1659         add     eax,            esi
1660         mov     esi,            ecx
1661         sub     edi,            ebx
1662         and     esi,            ebx
1663         and     edi,            edx
1664         or      esi,            edi
1665         mov     edi,            DWORD PTR 24[esp]
1666         rol     ecx,            10
1667         lea     eax,            DWORD PTR 2053994217[esi*1+eax]
1668         mov     esi,            -1
1669         rol     eax,            14
1670         add     eax,            ebp
1671         ; 136
1672         add     ebp,            edi
1673         mov     edi,            ebx
1674         sub     esi,            eax
1675         and     edi,            eax
1676         and     esi,            ecx
1677         or      edi,            esi
1678         mov     esi,            DWORD PTR 52[esp]
1679         rol     ebx,            10
1680         lea     ebp,            DWORD PTR 2053994217[edi*1+ebp]
1681         mov     edi,            -1
1682         rol     ebp,            6
1683         add     ebp,            edx
1684         ; 137
1685         add     edx,            esi
1686         mov     esi,            eax
1687         sub     edi,            ebp
1688         and     esi,            ebp
1689         and     edi,            ebx
1690         or      esi,            edi
1691         mov     edi,            DWORD PTR 12[esp]
1692         rol     eax,            10
1693         lea     edx,            DWORD PTR 2053994217[esi*1+edx]
1694         mov     esi,            -1
1695         rol     edx,            9
1696         add     edx,            ecx
1697         ; 138
1698         add     ecx,            edi
1699         mov     edi,            ebp
1700         sub     esi,            edx
1701         and     edi,            edx
1702         and     esi,            eax
1703         or      edi,            esi
1704         mov     esi,            DWORD PTR 56[esp]
1705         rol     ebp,            10
1706         lea     ecx,            DWORD PTR 2053994217[edi*1+ecx]
1707         mov     edi,            -1
1708         rol     ecx,            12
1709         add     ecx,            ebx
1710         ; 139
1711         add     ebx,            esi
1712         mov     esi,            edx
1713         sub     edi,            ecx
1714         and     esi,            ecx
1715         and     edi,            ebp
1716         or      esi,            edi
1717         mov     edi,            DWORD PTR 40[esp]
1718         rol     edx,            10
1719         lea     ebx,            DWORD PTR 2053994217[esi*1+ebx]
1720         mov     esi,            -1
1721         rol     ebx,            9
1722         add     ebx,            eax
1723         ; 140
1724         add     eax,            edi
1725         mov     edi,            ecx
1726         sub     esi,            ebx
1727         and     edi,            ebx
1728         and     esi,            edx
1729         or      edi,            esi
1730         mov     esi,            DWORD PTR 32[esp]
1731         rol     ecx,            10
1732         lea     eax,            DWORD PTR 2053994217[edi*1+eax]
1733         mov     edi,            -1
1734         rol     eax,            12
1735         add     eax,            ebp
1736         ; 141
1737         add     ebp,            esi
1738         mov     esi,            ebx
1739         sub     edi,            eax
1740         and     esi,            eax
1741         and     edi,            ecx
1742         or      esi,            edi
1743         mov     edi,            DWORD PTR 44[esp]
1744         rol     ebx,            10
1745         lea     ebp,            DWORD PTR 2053994217[esi*1+ebp]
1746         mov     esi,            -1
1747         rol     ebp,            5
1748         add     ebp,            edx
1749         ; 142
1750         add     edx,            edi
1751         mov     edi,            eax
1752         sub     esi,            ebp
1753         and     edi,            ebp
1754         and     esi,            ebx
1755         or      edi,            esi
1756         mov     esi,            DWORD PTR 60[esp]
1757         rol     eax,            10
1758         lea     edx,            DWORD PTR 2053994217[edi*1+edx]
1759         mov     edi,            -1
1760         rol     edx,            15
1761         add     edx,            ecx
1762         ; 143
1763         add     ecx,            esi
1764         mov     esi,            ebp
1765         sub     edi,            edx
1766         and     esi,            edx
1767         and     edi,            eax
1768         or      edi,            esi
1769         mov     esi,            edx
1770         rol     ebp,            10
1771         lea     ecx,            DWORD PTR 2053994217[edi*1+ecx]
1772         xor     esi,            ebp
1773         rol     ecx,            8
1774         add     ecx,            ebx
1775         ; 144
1776         mov     edi,            DWORD PTR 52[esp]
1777         xor     esi,            ecx
1778         add     ebx,            edi
1779         rol     edx,            10
1780         add     ebx,            esi
1781         mov     esi,            ecx
1782         rol     ebx,            8
1783         add     ebx,            eax
1784         ; 145
1785         xor     esi,            edx
1786         mov     edi,            DWORD PTR 64[esp]
1787         xor     esi,            ebx
1788         add     eax,            esi
1789         mov     esi,            ebx
1790         rol     ecx,            10
1791         add     eax,            edi
1792         xor     esi,            ecx
1793         rol     eax,            5
1794         add     eax,            ebp
1795         ; 146
1796         mov     edi,            DWORD PTR 44[esp]
1797         xor     esi,            eax
1798         add     ebp,            edi
1799         rol     ebx,            10
1800         add     ebp,            esi
1801         mov     esi,            eax
1802         rol     ebp,            12
1803         add     ebp,            edx
1804         ; 147
1805         xor     esi,            ebx
1806         mov     edi,            DWORD PTR 20[esp]
1807         xor     esi,            ebp
1808         add     edx,            esi
1809         mov     esi,            ebp
1810         rol     eax,            10
1811         add     edx,            edi
1812         xor     esi,            eax
1813         rol     edx,            9
1814         add     edx,            ecx
1815         ; 148
1816         mov     edi,            DWORD PTR 8[esp]
1817         xor     esi,            edx
1818         add     ecx,            edi
1819         rol     ebp,            10
1820         add     ecx,            esi
1821         mov     esi,            edx
1822         rol     ecx,            12
1823         add     ecx,            ebx
1824         ; 149
1825         xor     esi,            ebp
1826         mov     edi,            DWORD PTR 24[esp]
1827         xor     esi,            ecx
1828         add     ebx,            esi
1829         mov     esi,            ecx
1830         rol     edx,            10
1831         add     ebx,            edi
1832         xor     esi,            edx
1833         rol     ebx,            5
1834         add     ebx,            eax
1835         ; 150
1836         mov     edi,            DWORD PTR 36[esp]
1837         xor     esi,            ebx
1838         add     eax,            edi
1839         rol     ecx,            10
1840         add     eax,            esi
1841         mov     esi,            ebx
1842         rol     eax,            14
1843         add     eax,            ebp
1844         ; 151
1845         xor     esi,            ecx
1846         mov     edi,            DWORD PTR 32[esp]
1847         xor     esi,            eax
1848         add     ebp,            esi
1849         mov     esi,            eax
1850         rol     ebx,            10
1851         add     ebp,            edi
1852         xor     esi,            ebx
1853         rol     ebp,            6
1854         add     ebp,            edx
1855         ; 152
1856         mov     edi,            DWORD PTR 28[esp]
1857         xor     esi,            ebp
1858         add     edx,            edi
1859         rol     eax,            10
1860         add     edx,            esi
1861         mov     esi,            ebp
1862         rol     edx,            8
1863         add     edx,            ecx
1864         ; 153
1865         xor     esi,            eax
1866         mov     edi,            DWORD PTR 12[esp]
1867         xor     esi,            edx
1868         add     ecx,            esi
1869         mov     esi,            edx
1870         rol     ebp,            10
1871         add     ecx,            edi
1872         xor     esi,            ebp
1873         rol     ecx,            13
1874         add     ecx,            ebx
1875         ; 154
1876         mov     edi,            DWORD PTR 56[esp]
1877         xor     esi,            ecx
1878         add     ebx,            edi
1879         rol     edx,            10
1880         add     ebx,            esi
1881         mov     esi,            ecx
1882         rol     ebx,            6
1883         add     ebx,            eax
1884         ; 155
1885         xor     esi,            edx
1886         mov     edi,            DWORD PTR 60[esp]
1887         xor     esi,            ebx
1888         add     eax,            esi
1889         mov     esi,            ebx
1890         rol     ecx,            10
1891         add     eax,            edi
1892         xor     esi,            ecx
1893         rol     eax,            5
1894         add     eax,            ebp
1895         ; 156
1896         mov     edi,            DWORD PTR 4[esp]
1897         xor     esi,            eax
1898         add     ebp,            edi
1899         rol     ebx,            10
1900         add     ebp,            esi
1901         mov     esi,            eax
1902         rol     ebp,            15
1903         add     ebp,            edx
1904         ; 157
1905         xor     esi,            ebx
1906         mov     edi,            DWORD PTR 16[esp]
1907         xor     esi,            ebp
1908         add     edx,            esi
1909         mov     esi,            ebp
1910         rol     eax,            10
1911         add     edx,            edi
1912         xor     esi,            eax
1913         rol     edx,            13
1914         add     edx,            ecx
1915         ; 158
1916         mov     edi,            DWORD PTR 40[esp]
1917         xor     esi,            edx
1918         add     ecx,            edi
1919         rol     ebp,            10
1920         add     ecx,            esi
1921         mov     esi,            edx
1922         rol     ecx,            11
1923         add     ecx,            ebx
1924         ; 159
1925         xor     esi,            ebp
1926         mov     edi,            DWORD PTR 48[esp]
1927         xor     esi,            ecx
1928         add     ebx,            esi
1929         rol     edx,            10
1930         add     ebx,            edi
1931         mov     edi,            DWORD PTR 108[esp]
1932         rol     ebx,            11
1933         add     ebx,            eax
1934         mov     esi,            DWORD PTR 4[edi]
1935         add     edx,            esi
1936         mov     esi,            DWORD PTR 76[esp]
1937         add     edx,            esi
1938         mov     esi,            DWORD PTR 8[edi]
1939         add     ebp,            esi
1940         mov     esi,            DWORD PTR 80[esp]
1941         add     ebp,            esi
1942         mov     esi,            DWORD PTR 12[edi]
1943         add     eax,            esi
1944         mov     esi,            DWORD PTR 84[esp]
1945         add     eax,            esi
1946         mov     esi,            DWORD PTR 16[edi]
1947         add     ebx,            esi
1948         mov     esi,            DWORD PTR 68[esp]
1949         add     ebx,            esi
1950         mov     esi,            DWORD PTR [edi]
1951         add     ecx,            esi
1952         mov     esi,            DWORD PTR 72[esp]
1953         add     ecx,            esi
1954         mov     DWORD PTR [edi],edx
1955         mov     DWORD PTR 4[edi],ebp
1956         mov     DWORD PTR 8[edi],eax
1957         mov     DWORD PTR 12[edi],ebx
1958         mov     DWORD PTR 16[edi],ecx
1959         mov     edi,            DWORD PTR [esp]
1960         mov     esi,            DWORD PTR 112[esp]
1961         cmp     edi,            esi
1962         mov     edi,            DWORD PTR 108[esp]
1963         jge     L000start
1964         add     esp,            88
1965         pop     ebx
1966         pop     ebp
1967         pop     edi
1968         pop     esi
1969         ret
1970 _ripemd160_block_x86 ENDP
1971 _TEXT   ENDS
1972 END