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