1 ; Don't even think of reading this code
2 ; It was automatically generated by bn-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>
11 PUBLIC _bn_mul_add_words
13 _bn_mul_add_words PROC NEAR
20 mov edi, DWORD PTR 20[esp]
21 mov ecx, DWORD PTR 28[esp]
22 mov ebx, DWORD PTR 24[esp]
24 mov ebp, DWORD PTR 32[esp]
28 mov DWORD PTR [esp],ecx
30 mov eax, DWORD PTR [ebx]
33 mov esi, DWORD PTR [edi]
37 mov DWORD PTR [edi],eax
40 mov eax, DWORD PTR 4[ebx]
43 mov esi, DWORD PTR 4[edi]
47 mov DWORD PTR 4[edi],eax
50 mov eax, DWORD PTR 8[ebx]
53 mov esi, DWORD PTR 8[edi]
57 mov DWORD PTR 8[edi],eax
60 mov eax, DWORD PTR 12[ebx]
63 mov esi, DWORD PTR 12[edi]
67 mov DWORD PTR 12[edi],eax
70 mov eax, DWORD PTR 16[ebx]
73 mov esi, DWORD PTR 16[edi]
77 mov DWORD PTR 16[edi],eax
80 mov eax, DWORD PTR 20[ebx]
83 mov esi, DWORD PTR 20[edi]
87 mov DWORD PTR 20[edi],eax
90 mov eax, DWORD PTR 24[ebx]
93 mov esi, DWORD PTR 24[edi]
97 mov DWORD PTR 24[edi],eax
100 mov eax, DWORD PTR 28[ebx]
103 mov esi, DWORD PTR 28[edi]
107 mov DWORD PTR 28[edi],eax
110 mov ecx, DWORD PTR [esp]
116 mov ecx, DWORD PTR 32[esp]
122 mov eax, DWORD PTR [ebx]
125 mov esi, DWORD PTR [edi]
130 mov DWORD PTR [edi],eax
134 mov eax, DWORD PTR 4[ebx]
137 mov esi, DWORD PTR 4[edi]
142 mov DWORD PTR 4[edi],eax
146 mov eax, DWORD PTR 8[ebx]
149 mov esi, DWORD PTR 8[edi]
154 mov DWORD PTR 8[edi],eax
158 mov eax, DWORD PTR 12[ebx]
161 mov esi, DWORD PTR 12[edi]
166 mov DWORD PTR 12[edi],eax
170 mov eax, DWORD PTR 16[ebx]
173 mov esi, DWORD PTR 16[edi]
178 mov DWORD PTR 16[edi],eax
182 mov eax, DWORD PTR 20[ebx]
185 mov esi, DWORD PTR 20[edi]
190 mov DWORD PTR 20[edi],eax
194 mov eax, DWORD PTR 24[ebx]
197 mov esi, DWORD PTR 24[edi]
201 mov DWORD PTR 24[edi],eax
211 _bn_mul_add_words ENDP
216 _bn_mul_words PROC NEAR
223 mov edi, DWORD PTR 20[esp]
224 mov ebx, DWORD PTR 24[esp]
225 mov ebp, DWORD PTR 28[esp]
226 mov ecx, DWORD PTR 32[esp]
231 mov eax, DWORD PTR [ebx]
235 mov DWORD PTR [edi],eax
238 mov eax, DWORD PTR 4[ebx]
242 mov DWORD PTR 4[edi],eax
245 mov eax, DWORD PTR 8[ebx]
249 mov DWORD PTR 8[edi],eax
252 mov eax, DWORD PTR 12[ebx]
256 mov DWORD PTR 12[edi],eax
259 mov eax, DWORD PTR 16[ebx]
263 mov DWORD PTR 16[edi],eax
266 mov eax, DWORD PTR 20[ebx]
270 mov DWORD PTR 20[edi],eax
273 mov eax, DWORD PTR 24[ebx]
277 mov DWORD PTR 24[edi],eax
280 mov eax, DWORD PTR 28[ebx]
284 mov DWORD PTR 28[edi],eax
293 mov ebp, DWORD PTR 28[esp]
299 mov eax, DWORD PTR [ebx]
303 mov DWORD PTR [edi],eax
308 mov eax, DWORD PTR 4[ebx]
312 mov DWORD PTR 4[edi],eax
317 mov eax, DWORD PTR 8[ebx]
321 mov DWORD PTR 8[edi],eax
326 mov eax, DWORD PTR 12[ebx]
330 mov DWORD PTR 12[edi],eax
335 mov eax, DWORD PTR 16[ebx]
339 mov DWORD PTR 16[edi],eax
344 mov eax, DWORD PTR 20[ebx]
348 mov DWORD PTR 20[edi],eax
353 mov eax, DWORD PTR 24[ebx]
357 mov DWORD PTR 24[edi],eax
371 _bn_sqr_words PROC NEAR
377 mov esi, DWORD PTR 20[esp]
378 mov edi, DWORD PTR 24[esp]
379 mov ebx, DWORD PTR 28[esp]
384 mov eax, DWORD PTR [edi]
386 mov DWORD PTR [esi],eax
387 mov DWORD PTR 4[esi],edx
389 mov eax, DWORD PTR 4[edi]
391 mov DWORD PTR 8[esi],eax
392 mov DWORD PTR 12[esi],edx
394 mov eax, DWORD PTR 8[edi]
396 mov DWORD PTR 16[esi],eax
397 mov DWORD PTR 20[esi],edx
399 mov eax, DWORD PTR 12[edi]
401 mov DWORD PTR 24[esi],eax
402 mov DWORD PTR 28[esi],edx
404 mov eax, DWORD PTR 16[edi]
406 mov DWORD PTR 32[esi],eax
407 mov DWORD PTR 36[esi],edx
409 mov eax, DWORD PTR 20[edi]
411 mov DWORD PTR 40[esi],eax
412 mov DWORD PTR 44[esi],edx
414 mov eax, DWORD PTR 24[edi]
416 mov DWORD PTR 48[esi],eax
417 mov DWORD PTR 52[esi],edx
419 mov eax, DWORD PTR 28[edi]
421 mov DWORD PTR 56[esi],eax
422 mov DWORD PTR 60[esi],edx
429 mov ebx, DWORD PTR 28[esp]
433 mov eax, DWORD PTR [edi]
435 mov DWORD PTR [esi],eax
437 mov DWORD PTR 4[esi],edx
440 mov eax, DWORD PTR 4[edi]
442 mov DWORD PTR 8[esi],eax
444 mov DWORD PTR 12[esi],edx
447 mov eax, DWORD PTR 8[edi]
449 mov DWORD PTR 16[esi],eax
451 mov DWORD PTR 20[esi],edx
454 mov eax, DWORD PTR 12[edi]
456 mov DWORD PTR 24[esi],eax
458 mov DWORD PTR 28[esi],edx
461 mov eax, DWORD PTR 16[edi]
463 mov DWORD PTR 32[esi],eax
465 mov DWORD PTR 36[esi],edx
468 mov eax, DWORD PTR 20[edi]
470 mov DWORD PTR 40[esi],eax
472 mov DWORD PTR 44[esi],edx
475 mov eax, DWORD PTR 24[edi]
477 mov DWORD PTR 48[esi],eax
478 mov DWORD PTR 52[esi],edx
490 _bn_div_words PROC NEAR
495 mov edx, DWORD PTR 20[esp]
496 mov eax, DWORD PTR 24[esp]
497 mov ebx, DWORD PTR 28[esp]
509 _bn_add_words PROC NEAR
515 mov ebx, DWORD PTR 20[esp]
516 mov esi, DWORD PTR 24[esp]
517 mov edi, DWORD PTR 28[esp]
518 mov ebp, DWORD PTR 32[esp]
524 mov ecx, DWORD PTR [esi]
525 mov edx, DWORD PTR [edi]
531 mov DWORD PTR [ebx],ecx
533 mov ecx, DWORD PTR 4[esi]
534 mov edx, DWORD PTR 4[edi]
540 mov DWORD PTR 4[ebx],ecx
542 mov ecx, DWORD PTR 8[esi]
543 mov edx, DWORD PTR 8[edi]
549 mov DWORD PTR 8[ebx],ecx
551 mov ecx, DWORD PTR 12[esi]
552 mov edx, DWORD PTR 12[edi]
558 mov DWORD PTR 12[ebx],ecx
560 mov ecx, DWORD PTR 16[esi]
561 mov edx, DWORD PTR 16[edi]
567 mov DWORD PTR 16[ebx],ecx
569 mov ecx, DWORD PTR 20[esi]
570 mov edx, DWORD PTR 20[edi]
576 mov DWORD PTR 20[ebx],ecx
578 mov ecx, DWORD PTR 24[esi]
579 mov edx, DWORD PTR 24[edi]
585 mov DWORD PTR 24[ebx],ecx
587 mov ecx, DWORD PTR 28[esi]
588 mov edx, DWORD PTR 28[edi]
594 mov DWORD PTR 28[ebx],ecx
602 mov ebp, DWORD PTR 32[esp]
606 mov ecx, DWORD PTR [esi]
607 mov edx, DWORD PTR [edi]
614 mov DWORD PTR [ebx],ecx
617 mov ecx, DWORD PTR 4[esi]
618 mov edx, DWORD PTR 4[edi]
625 mov DWORD PTR 4[ebx],ecx
628 mov ecx, DWORD PTR 8[esi]
629 mov edx, DWORD PTR 8[edi]
636 mov DWORD PTR 8[ebx],ecx
639 mov ecx, DWORD PTR 12[esi]
640 mov edx, DWORD PTR 12[edi]
647 mov DWORD PTR 12[ebx],ecx
650 mov ecx, DWORD PTR 16[esi]
651 mov edx, DWORD PTR 16[edi]
658 mov DWORD PTR 16[ebx],ecx
661 mov ecx, DWORD PTR 20[esi]
662 mov edx, DWORD PTR 20[edi]
669 mov DWORD PTR 20[ebx],ecx
672 mov ecx, DWORD PTR 24[esi]
673 mov edx, DWORD PTR 24[edi]
679 mov DWORD PTR 24[ebx],ecx
691 _bn_sub_words PROC NEAR
697 mov ebx, DWORD PTR 20[esp]
698 mov esi, DWORD PTR 24[esp]
699 mov edi, DWORD PTR 28[esp]
700 mov ebp, DWORD PTR 32[esp]
706 mov ecx, DWORD PTR [esi]
707 mov edx, DWORD PTR [edi]
713 mov DWORD PTR [ebx],ecx
715 mov ecx, DWORD PTR 4[esi]
716 mov edx, DWORD PTR 4[edi]
722 mov DWORD PTR 4[ebx],ecx
724 mov ecx, DWORD PTR 8[esi]
725 mov edx, DWORD PTR 8[edi]
731 mov DWORD PTR 8[ebx],ecx
733 mov ecx, DWORD PTR 12[esi]
734 mov edx, DWORD PTR 12[edi]
740 mov DWORD PTR 12[ebx],ecx
742 mov ecx, DWORD PTR 16[esi]
743 mov edx, DWORD PTR 16[edi]
749 mov DWORD PTR 16[ebx],ecx
751 mov ecx, DWORD PTR 20[esi]
752 mov edx, DWORD PTR 20[edi]
758 mov DWORD PTR 20[ebx],ecx
760 mov ecx, DWORD PTR 24[esi]
761 mov edx, DWORD PTR 24[edi]
767 mov DWORD PTR 24[ebx],ecx
769 mov ecx, DWORD PTR 28[esi]
770 mov edx, DWORD PTR 28[edi]
776 mov DWORD PTR 28[ebx],ecx
784 mov ebp, DWORD PTR 32[esp]
788 mov ecx, DWORD PTR [esi]
789 mov edx, DWORD PTR [edi]
796 mov DWORD PTR [ebx],ecx
799 mov ecx, DWORD PTR 4[esi]
800 mov edx, DWORD PTR 4[edi]
807 mov DWORD PTR 4[ebx],ecx
810 mov ecx, DWORD PTR 8[esi]
811 mov edx, DWORD PTR 8[edi]
818 mov DWORD PTR 8[ebx],ecx
821 mov ecx, DWORD PTR 12[esi]
822 mov edx, DWORD PTR 12[edi]
829 mov DWORD PTR 12[ebx],ecx
832 mov ecx, DWORD PTR 16[esi]
833 mov edx, DWORD PTR 16[edi]
840 mov DWORD PTR 16[ebx],ecx
843 mov ecx, DWORD PTR 20[esi]
844 mov edx, DWORD PTR 20[edi]
851 mov DWORD PTR 20[ebx],ecx
854 mov ecx, DWORD PTR 24[esi]
855 mov edx, DWORD PTR 24[edi]
861 mov DWORD PTR 24[ebx],ecx
871 PUBLIC _bn_mul_comba8
873 _bn_mul_comba8 PROC NEAR
875 mov esi, DWORD PTR 12[esp]
877 mov edi, DWORD PTR 20[esp]
881 mov eax, DWORD PTR [esi]
883 mov edx, DWORD PTR [edi]
884 ; ################## Calculate word 0
889 mov eax, DWORD PTR 20[esp]
891 mov edx, DWORD PTR [edi]
893 mov DWORD PTR [eax],ebx
894 mov eax, DWORD PTR 4[esi]
896 ; ################## Calculate word 1
901 mov eax, DWORD PTR [esi]
903 mov edx, DWORD PTR 4[edi]
908 mov eax, DWORD PTR 20[esp]
910 mov edx, DWORD PTR [edi]
912 mov DWORD PTR 4[eax],ecx
913 mov eax, DWORD PTR 8[esi]
915 ; ################## Calculate word 2
920 mov eax, DWORD PTR 4[esi]
922 mov edx, DWORD PTR 4[edi]
927 mov eax, DWORD PTR [esi]
929 mov edx, DWORD PTR 8[edi]
934 mov eax, DWORD PTR 20[esp]
936 mov edx, DWORD PTR [edi]
938 mov DWORD PTR 8[eax],ebp
939 mov eax, DWORD PTR 12[esi]
941 ; ################## Calculate word 3
946 mov eax, DWORD PTR 8[esi]
948 mov edx, DWORD PTR 4[edi]
953 mov eax, DWORD PTR 4[esi]
955 mov edx, DWORD PTR 8[edi]
960 mov eax, DWORD PTR [esi]
962 mov edx, DWORD PTR 12[edi]
967 mov eax, DWORD PTR 20[esp]
969 mov edx, DWORD PTR [edi]
971 mov DWORD PTR 12[eax],ebx
972 mov eax, DWORD PTR 16[esi]
974 ; ################## Calculate word 4
979 mov eax, DWORD PTR 12[esi]
981 mov edx, DWORD PTR 4[edi]
986 mov eax, DWORD PTR 8[esi]
988 mov edx, DWORD PTR 8[edi]
993 mov eax, DWORD PTR 4[esi]
995 mov edx, DWORD PTR 12[edi]
1000 mov eax, DWORD PTR [esi]
1002 mov edx, DWORD PTR 16[edi]
1007 mov eax, DWORD PTR 20[esp]
1009 mov edx, DWORD PTR [edi]
1011 mov DWORD PTR 16[eax],ecx
1012 mov eax, DWORD PTR 20[esi]
1014 ; ################## Calculate word 5
1019 mov eax, DWORD PTR 16[esi]
1021 mov edx, DWORD PTR 4[edi]
1026 mov eax, DWORD PTR 12[esi]
1028 mov edx, DWORD PTR 8[edi]
1033 mov eax, DWORD PTR 8[esi]
1035 mov edx, DWORD PTR 12[edi]
1040 mov eax, DWORD PTR 4[esi]
1042 mov edx, DWORD PTR 16[edi]
1047 mov eax, DWORD PTR [esi]
1049 mov edx, DWORD PTR 20[edi]
1054 mov eax, DWORD PTR 20[esp]
1056 mov edx, DWORD PTR [edi]
1058 mov DWORD PTR 20[eax],ebp
1059 mov eax, DWORD PTR 24[esi]
1061 ; ################## Calculate word 6
1066 mov eax, DWORD PTR 20[esi]
1068 mov edx, DWORD PTR 4[edi]
1073 mov eax, DWORD PTR 16[esi]
1075 mov edx, DWORD PTR 8[edi]
1080 mov eax, DWORD PTR 12[esi]
1082 mov edx, DWORD PTR 12[edi]
1087 mov eax, DWORD PTR 8[esi]
1089 mov edx, DWORD PTR 16[edi]
1094 mov eax, DWORD PTR 4[esi]
1096 mov edx, DWORD PTR 20[edi]
1101 mov eax, DWORD PTR [esi]
1103 mov edx, DWORD PTR 24[edi]
1108 mov eax, DWORD PTR 20[esp]
1110 mov edx, DWORD PTR [edi]
1112 mov DWORD PTR 24[eax],ebx
1113 mov eax, DWORD PTR 28[esi]
1115 ; ################## Calculate word 7
1120 mov eax, DWORD PTR 24[esi]
1122 mov edx, DWORD PTR 4[edi]
1127 mov eax, DWORD PTR 20[esi]
1129 mov edx, DWORD PTR 8[edi]
1134 mov eax, DWORD PTR 16[esi]
1136 mov edx, DWORD PTR 12[edi]
1141 mov eax, DWORD PTR 12[esi]
1143 mov edx, DWORD PTR 16[edi]
1148 mov eax, DWORD PTR 8[esi]
1150 mov edx, DWORD PTR 20[edi]
1155 mov eax, DWORD PTR 4[esi]
1157 mov edx, DWORD PTR 24[edi]
1162 mov eax, DWORD PTR [esi]
1164 mov edx, DWORD PTR 28[edi]
1169 mov eax, DWORD PTR 20[esp]
1171 mov edx, DWORD PTR 4[edi]
1173 mov DWORD PTR 28[eax],ecx
1174 mov eax, DWORD PTR 28[esi]
1176 ; ################## Calculate word 8
1181 mov eax, DWORD PTR 24[esi]
1183 mov edx, DWORD PTR 8[edi]
1188 mov eax, DWORD PTR 20[esi]
1190 mov edx, DWORD PTR 12[edi]
1195 mov eax, DWORD PTR 16[esi]
1197 mov edx, DWORD PTR 16[edi]
1202 mov eax, DWORD PTR 12[esi]
1204 mov edx, DWORD PTR 20[edi]
1209 mov eax, DWORD PTR 8[esi]
1211 mov edx, DWORD PTR 24[edi]
1216 mov eax, DWORD PTR 4[esi]
1218 mov edx, DWORD PTR 28[edi]
1223 mov eax, DWORD PTR 20[esp]
1225 mov edx, DWORD PTR 8[edi]
1227 mov DWORD PTR 32[eax],ebp
1228 mov eax, DWORD PTR 28[esi]
1230 ; ################## Calculate word 9
1235 mov eax, DWORD PTR 24[esi]
1237 mov edx, DWORD PTR 12[edi]
1242 mov eax, DWORD PTR 20[esi]
1244 mov edx, DWORD PTR 16[edi]
1249 mov eax, DWORD PTR 16[esi]
1251 mov edx, DWORD PTR 20[edi]
1256 mov eax, DWORD PTR 12[esi]
1258 mov edx, DWORD PTR 24[edi]
1263 mov eax, DWORD PTR 8[esi]
1265 mov edx, DWORD PTR 28[edi]
1270 mov eax, DWORD PTR 20[esp]
1272 mov edx, DWORD PTR 12[edi]
1274 mov DWORD PTR 36[eax],ebx
1275 mov eax, DWORD PTR 28[esi]
1277 ; ################## Calculate word 10
1282 mov eax, DWORD PTR 24[esi]
1284 mov edx, DWORD PTR 16[edi]
1289 mov eax, DWORD PTR 20[esi]
1291 mov edx, DWORD PTR 20[edi]
1296 mov eax, DWORD PTR 16[esi]
1298 mov edx, DWORD PTR 24[edi]
1303 mov eax, DWORD PTR 12[esi]
1305 mov edx, DWORD PTR 28[edi]
1310 mov eax, DWORD PTR 20[esp]
1312 mov edx, DWORD PTR 16[edi]
1314 mov DWORD PTR 40[eax],ecx
1315 mov eax, DWORD PTR 28[esi]
1317 ; ################## Calculate word 11
1322 mov eax, DWORD PTR 24[esi]
1324 mov edx, DWORD PTR 20[edi]
1329 mov eax, DWORD PTR 20[esi]
1331 mov edx, DWORD PTR 24[edi]
1336 mov eax, DWORD PTR 16[esi]
1338 mov edx, DWORD PTR 28[edi]
1343 mov eax, DWORD PTR 20[esp]
1345 mov edx, DWORD PTR 20[edi]
1347 mov DWORD PTR 44[eax],ebp
1348 mov eax, DWORD PTR 28[esi]
1350 ; ################## Calculate word 12
1355 mov eax, DWORD PTR 24[esi]
1357 mov edx, DWORD PTR 24[edi]
1362 mov eax, DWORD PTR 20[esi]
1364 mov edx, DWORD PTR 28[edi]
1369 mov eax, DWORD PTR 20[esp]
1371 mov edx, DWORD PTR 24[edi]
1373 mov DWORD PTR 48[eax],ebx
1374 mov eax, DWORD PTR 28[esi]
1376 ; ################## Calculate word 13
1381 mov eax, DWORD PTR 24[esi]
1383 mov edx, DWORD PTR 28[edi]
1388 mov eax, DWORD PTR 20[esp]
1390 mov edx, DWORD PTR 28[edi]
1392 mov DWORD PTR 52[eax],ecx
1393 mov eax, DWORD PTR 28[esi]
1395 ; ################## Calculate word 14
1400 mov eax, DWORD PTR 20[esp]
1403 mov DWORD PTR 56[eax],ebp
1406 mov DWORD PTR 60[eax],ebx
1415 PUBLIC _bn_mul_comba4
1417 _bn_mul_comba4 PROC NEAR
1419 mov esi, DWORD PTR 12[esp]
1421 mov edi, DWORD PTR 20[esp]
1425 mov eax, DWORD PTR [esi]
1427 mov edx, DWORD PTR [edi]
1428 ; ################## Calculate word 0
1433 mov eax, DWORD PTR 20[esp]
1435 mov edx, DWORD PTR [edi]
1437 mov DWORD PTR [eax],ebx
1438 mov eax, DWORD PTR 4[esi]
1440 ; ################## Calculate word 1
1445 mov eax, DWORD PTR [esi]
1447 mov edx, DWORD PTR 4[edi]
1452 mov eax, DWORD PTR 20[esp]
1454 mov edx, DWORD PTR [edi]
1456 mov DWORD PTR 4[eax],ecx
1457 mov eax, DWORD PTR 8[esi]
1459 ; ################## Calculate word 2
1464 mov eax, DWORD PTR 4[esi]
1466 mov edx, DWORD PTR 4[edi]
1471 mov eax, DWORD PTR [esi]
1473 mov edx, DWORD PTR 8[edi]
1478 mov eax, DWORD PTR 20[esp]
1480 mov edx, DWORD PTR [edi]
1482 mov DWORD PTR 8[eax],ebp
1483 mov eax, DWORD PTR 12[esi]
1485 ; ################## Calculate word 3
1490 mov eax, DWORD PTR 8[esi]
1492 mov edx, DWORD PTR 4[edi]
1497 mov eax, DWORD PTR 4[esi]
1499 mov edx, DWORD PTR 8[edi]
1504 mov eax, DWORD PTR [esi]
1506 mov edx, DWORD PTR 12[edi]
1511 mov eax, DWORD PTR 20[esp]
1513 mov edx, DWORD PTR 4[edi]
1515 mov DWORD PTR 12[eax],ebx
1516 mov eax, DWORD PTR 12[esi]
1518 ; ################## Calculate word 4
1523 mov eax, DWORD PTR 8[esi]
1525 mov edx, DWORD PTR 8[edi]
1530 mov eax, DWORD PTR 4[esi]
1532 mov edx, DWORD PTR 12[edi]
1537 mov eax, DWORD PTR 20[esp]
1539 mov edx, DWORD PTR 8[edi]
1541 mov DWORD PTR 16[eax],ecx
1542 mov eax, DWORD PTR 12[esi]
1544 ; ################## Calculate word 5
1549 mov eax, DWORD PTR 8[esi]
1551 mov edx, DWORD PTR 12[edi]
1556 mov eax, DWORD PTR 20[esp]
1558 mov edx, DWORD PTR 12[edi]
1560 mov DWORD PTR 20[eax],ebp
1561 mov eax, DWORD PTR 12[esi]
1563 ; ################## Calculate word 6
1568 mov eax, DWORD PTR 20[esp]
1571 mov DWORD PTR 24[eax],ebx
1574 mov DWORD PTR 28[eax],ecx
1583 PUBLIC _bn_sqr_comba8
1585 _bn_sqr_comba8 PROC NEAR
1590 mov edi, DWORD PTR 20[esp]
1591 mov esi, DWORD PTR 24[esp]
1594 mov eax, DWORD PTR [esi]
1595 ; ############### Calculate word 0
1601 mov edx, DWORD PTR [esi]
1603 mov DWORD PTR [edi],ebx
1604 mov eax, DWORD PTR 4[esi]
1606 ; ############### Calculate word 1
1615 mov eax, DWORD PTR 8[esi]
1617 mov DWORD PTR 4[edi],ecx
1618 mov edx, DWORD PTR [esi]
1620 ; ############### Calculate word 2
1629 mov eax, DWORD PTR 4[esi]
1635 mov edx, DWORD PTR [esi]
1637 mov DWORD PTR 8[edi],ebp
1638 mov eax, DWORD PTR 12[esi]
1640 ; ############### Calculate word 3
1649 mov eax, DWORD PTR 8[esi]
1651 mov edx, DWORD PTR 4[esi]
1659 mov eax, DWORD PTR 16[esi]
1661 mov DWORD PTR 12[edi],ebx
1662 mov edx, DWORD PTR [esi]
1664 ; ############### Calculate word 4
1673 mov eax, DWORD PTR 12[esi]
1675 mov edx, DWORD PTR 4[esi]
1683 mov eax, DWORD PTR 8[esi]
1689 mov edx, DWORD PTR [esi]
1691 mov DWORD PTR 16[edi],ecx
1692 mov eax, DWORD PTR 20[esi]
1694 ; ############### Calculate word 5
1703 mov eax, DWORD PTR 16[esi]
1705 mov edx, DWORD PTR 4[esi]
1713 mov eax, DWORD PTR 12[esi]
1715 mov edx, DWORD PTR 8[esi]
1723 mov eax, DWORD PTR 24[esi]
1725 mov DWORD PTR 20[edi],ebp
1726 mov edx, DWORD PTR [esi]
1728 ; ############### Calculate word 6
1737 mov eax, DWORD PTR 20[esi]
1739 mov edx, DWORD PTR 4[esi]
1747 mov eax, DWORD PTR 16[esi]
1749 mov edx, DWORD PTR 8[esi]
1757 mov eax, DWORD PTR 12[esi]
1763 mov edx, DWORD PTR [esi]
1765 mov DWORD PTR 24[edi],ebx
1766 mov eax, DWORD PTR 28[esi]
1768 ; ############### Calculate word 7
1777 mov eax, DWORD PTR 24[esi]
1779 mov edx, DWORD PTR 4[esi]
1787 mov eax, DWORD PTR 20[esi]
1789 mov edx, DWORD PTR 8[esi]
1797 mov eax, DWORD PTR 16[esi]
1799 mov edx, DWORD PTR 12[esi]
1807 mov eax, DWORD PTR 28[esi]
1809 mov DWORD PTR 28[edi],ecx
1810 mov edx, DWORD PTR 4[esi]
1812 ; ############### Calculate word 8
1821 mov eax, DWORD PTR 24[esi]
1823 mov edx, DWORD PTR 8[esi]
1831 mov eax, DWORD PTR 20[esi]
1833 mov edx, DWORD PTR 12[esi]
1841 mov eax, DWORD PTR 16[esi]
1847 mov edx, DWORD PTR 8[esi]
1849 mov DWORD PTR 32[edi],ebp
1850 mov eax, DWORD PTR 28[esi]
1852 ; ############### Calculate word 9
1861 mov eax, DWORD PTR 24[esi]
1863 mov edx, DWORD PTR 12[esi]
1871 mov eax, DWORD PTR 20[esi]
1873 mov edx, DWORD PTR 16[esi]
1881 mov eax, DWORD PTR 28[esi]
1883 mov DWORD PTR 36[edi],ebx
1884 mov edx, DWORD PTR 12[esi]
1886 ; ############### Calculate word 10
1895 mov eax, DWORD PTR 24[esi]
1897 mov edx, DWORD PTR 16[esi]
1905 mov eax, DWORD PTR 20[esi]
1911 mov edx, DWORD PTR 16[esi]
1913 mov DWORD PTR 40[edi],ecx
1914 mov eax, DWORD PTR 28[esi]
1916 ; ############### Calculate word 11
1925 mov eax, DWORD PTR 24[esi]
1927 mov edx, DWORD PTR 20[esi]
1935 mov eax, DWORD PTR 28[esi]
1937 mov DWORD PTR 44[edi],ebp
1938 mov edx, DWORD PTR 20[esi]
1940 ; ############### Calculate word 12
1949 mov eax, DWORD PTR 24[esi]
1955 mov edx, DWORD PTR 24[esi]
1957 mov DWORD PTR 48[edi],ebx
1958 mov eax, DWORD PTR 28[esi]
1960 ; ############### Calculate word 13
1969 mov eax, DWORD PTR 28[esi]
1971 mov DWORD PTR 52[edi],ecx
1973 ; ############### Calculate word 14
1980 mov DWORD PTR 56[edi],ebp
1982 mov DWORD PTR 60[edi],ebx
1991 PUBLIC _bn_sqr_comba4
1993 _bn_sqr_comba4 PROC NEAR
1998 mov edi, DWORD PTR 20[esp]
1999 mov esi, DWORD PTR 24[esp]
2002 mov eax, DWORD PTR [esi]
2003 ; ############### Calculate word 0
2009 mov edx, DWORD PTR [esi]
2011 mov DWORD PTR [edi],ebx
2012 mov eax, DWORD PTR 4[esi]
2014 ; ############### Calculate word 1
2023 mov eax, DWORD PTR 8[esi]
2025 mov DWORD PTR 4[edi],ecx
2026 mov edx, DWORD PTR [esi]
2028 ; ############### Calculate word 2
2037 mov eax, DWORD PTR 4[esi]
2043 mov edx, DWORD PTR [esi]
2045 mov DWORD PTR 8[edi],ebp
2046 mov eax, DWORD PTR 12[esi]
2048 ; ############### Calculate word 3
2057 mov eax, DWORD PTR 8[esi]
2059 mov edx, DWORD PTR 4[esi]
2067 mov eax, DWORD PTR 12[esi]
2069 mov DWORD PTR 12[edi],ebx
2070 mov edx, DWORD PTR 4[esi]
2072 ; ############### Calculate word 4
2081 mov eax, DWORD PTR 8[esi]
2087 mov edx, DWORD PTR 8[esi]
2089 mov DWORD PTR 16[edi],ecx
2090 mov eax, DWORD PTR 12[esi]
2092 ; ############### Calculate word 5
2101 mov eax, DWORD PTR 12[esi]
2103 mov DWORD PTR 20[edi],ebp
2105 ; ############### Calculate word 6
2112 mov DWORD PTR 24[edi],ebx
2114 mov DWORD PTR 28[edi],ecx