2 .text$ SEGMENT ALIGN(256) 'CODE'
6 MULADD_128x512 PROC PRIVATE
14 mov rax,QWORD PTR[8+rsi]
22 mov rax,QWORD PTR[16+rsi]
30 mov rax,QWORD PTR[24+rsi]
38 mov rax,QWORD PTR[32+rsi]
46 mov rax,QWORD PTR[40+rsi]
54 mov rax,QWORD PTR[48+rsi]
62 mov rax,QWORD PTR[56+rsi]
69 mov rbp,QWORD PTR[8+rdi]
70 mov rax,QWORD PTR[rsi]
74 mov QWORD PTR[8+rcx],r9
77 mov rax,QWORD PTR[8+rsi]
85 mov rax,QWORD PTR[16+rsi]
93 mov rax,QWORD PTR[24+rsi]
101 mov rax,QWORD PTR[32+rsi]
109 mov rax,QWORD PTR[40+rsi]
117 mov rax,QWORD PTR[48+rsi]
125 mov rax,QWORD PTR[56+rsi]
136 mont_reduce PROC PRIVATE
137 lea rdi,QWORD PTR[192+rsp]
138 mov rsi,QWORD PTR[32+rsp]
140 lea rcx,QWORD PTR[520+rsp]
142 mov rbp,QWORD PTR[96+rcx]
143 mov rax,QWORD PTR[rsi]
145 mov r8,QWORD PTR[rcx]
148 mov QWORD PTR[rdi],r8
151 mov rax,QWORD PTR[8+rsi]
153 mov r9,QWORD PTR[8+rcx]
160 mov rax,QWORD PTR[16+rsi]
162 mov r10,QWORD PTR[16+rcx]
169 mov rax,QWORD PTR[24+rsi]
171 mov r11,QWORD PTR[24+rcx]
178 mov rax,QWORD PTR[32+rsi]
180 mov r12,QWORD PTR[32+rcx]
187 mov rax,QWORD PTR[40+rsi]
189 mov r13,QWORD PTR[40+rcx]
196 mov rax,QWORD PTR[48+rsi]
198 mov r14,QWORD PTR[48+rcx]
205 mov rax,QWORD PTR[56+rsi]
207 mov r15,QWORD PTR[56+rcx]
213 mov rbp,QWORD PTR[104+rcx]
214 mov rax,QWORD PTR[rsi]
218 mov QWORD PTR[8+rdi],r9
221 mov rax,QWORD PTR[8+rsi]
229 mov rax,QWORD PTR[16+rsi]
237 mov rax,QWORD PTR[24+rsi]
245 mov rax,QWORD PTR[32+rsi]
253 mov rax,QWORD PTR[40+rsi]
261 mov rax,QWORD PTR[48+rsi]
269 mov rax,QWORD PTR[56+rsi]
276 mov rbp,QWORD PTR[112+rcx]
277 mov rax,QWORD PTR[rsi]
281 mov QWORD PTR[16+rdi],r10
284 mov rax,QWORD PTR[8+rsi]
292 mov rax,QWORD PTR[16+rsi]
300 mov rax,QWORD PTR[24+rsi]
308 mov rax,QWORD PTR[32+rsi]
316 mov rax,QWORD PTR[40+rsi]
324 mov rax,QWORD PTR[48+rsi]
332 mov rax,QWORD PTR[56+rsi]
339 mov rbp,QWORD PTR[120+rcx]
340 mov rax,QWORD PTR[rsi]
344 mov QWORD PTR[24+rdi],r11
347 mov rax,QWORD PTR[8+rsi]
355 mov rax,QWORD PTR[16+rsi]
363 mov rax,QWORD PTR[24+rsi]
371 mov rax,QWORD PTR[32+rsi]
379 mov rax,QWORD PTR[40+rsi]
387 mov rax,QWORD PTR[48+rsi]
395 mov rax,QWORD PTR[56+rsi]
404 add r8,QWORD PTR[64+rcx]
405 adc r9,QWORD PTR[72+rcx]
406 adc r10,QWORD PTR[80+rcx]
407 adc r11,QWORD PTR[88+rcx]
413 mov QWORD PTR[64+rdi],r8
414 mov QWORD PTR[72+rdi],r9
416 mov QWORD PTR[88+rdi],r11
418 mov QWORD PTR[384+rsp],rax
420 mov r8,QWORD PTR[rdi]
421 mov r9,QWORD PTR[8+rdi]
422 mov r10,QWORD PTR[16+rdi]
423 mov r11,QWORD PTR[24+rdi]
435 lea rcx,QWORD PTR[296+rsp]
439 mov rax,QWORD PTR[384+rsp]
442 add r8,QWORD PTR[((-16))+rdi]
443 adc r9,QWORD PTR[((-8))+rdi]
444 mov QWORD PTR[64+rcx],r8
445 mov QWORD PTR[72+rcx],r9
448 mov QWORD PTR[384+rsp],rax
450 lea rdi,QWORD PTR[192+rsp]
457 mov r8,QWORD PTR[rsi]
458 mov rbx,QWORD PTR[8+rsi]
460 mov rax,QWORD PTR[rcx]
465 mov rax,QWORD PTR[8+rcx]
469 mov rax,QWORD PTR[rcx]
473 mov QWORD PTR[8+rdi],r9
478 mov r8,QWORD PTR[rcx]
479 mov r9,QWORD PTR[8+rcx]
486 mov rax,QWORD PTR[rsi]
487 mov rbx,QWORD PTR[8+rsi]
488 mov rdi,QWORD PTR[16+rsi]
489 mov rdx,QWORD PTR[24+rsi]
492 mov rbp,QWORD PTR[384+rsp]
494 add r8,QWORD PTR[64+rcx]
495 adc r9,QWORD PTR[72+rcx]
503 mov rcx,QWORD PTR[32+rsp]
509 add r10,QWORD PTR[rbp]
510 adc r11,QWORD PTR[64+rbp]
511 adc r12,QWORD PTR[128+rbp]
512 adc r13,QWORD PTR[192+rbp]
513 adc r14,QWORD PTR[256+rbp]
514 adc r15,QWORD PTR[320+rbp]
515 adc r8,QWORD PTR[384+rbp]
516 adc r9,QWORD PTR[448+rbp]
542 mov rax,QWORD PTR[32+rcx]
543 mov rbx,QWORD PTR[40+rcx]
544 mov rdi,QWORD PTR[48+rcx]
545 mov rdx,QWORD PTR[56+rcx]
565 mov rsi,QWORD PTR[144+rsp]
566 mov QWORD PTR[rsi],r10
567 mov QWORD PTR[8+rsi],r11
568 mov QWORD PTR[16+rsi],r12
569 mov QWORD PTR[24+rsi],r13
570 mov QWORD PTR[32+rsi],r14
571 mov QWORD PTR[40+rsi],r15
572 mov QWORD PTR[48+rsi],r8
573 mov QWORD PTR[56+rsi],r9
579 mont_mul_a3b PROC PRIVATE
584 mov rbp,QWORD PTR[rdi]
588 mov QWORD PTR[520+rsp],rax
625 mov rbp,QWORD PTR[8+rdi]
626 mov rax,QWORD PTR[rsi]
630 mov QWORD PTR[528+rsp],r10
633 mov rax,QWORD PTR[8+rsi]
641 mov rax,QWORD PTR[16+rsi]
649 mov rax,QWORD PTR[24+rsi]
657 mov rax,QWORD PTR[32+rsi]
665 mov rax,QWORD PTR[40+rsi]
673 mov rax,QWORD PTR[48+rsi]
681 mov rax,QWORD PTR[56+rsi]
688 mov rbp,QWORD PTR[16+rdi]
689 mov rax,QWORD PTR[rsi]
693 mov QWORD PTR[536+rsp],r11
696 mov rax,QWORD PTR[8+rsi]
704 mov rax,QWORD PTR[16+rsi]
712 mov rax,QWORD PTR[24+rsi]
720 mov rax,QWORD PTR[32+rsi]
728 mov rax,QWORD PTR[40+rsi]
736 mov rax,QWORD PTR[48+rsi]
744 mov rax,QWORD PTR[56+rsi]
751 mov rbp,QWORD PTR[24+rdi]
752 mov rax,QWORD PTR[rsi]
756 mov QWORD PTR[544+rsp],r12
759 mov rax,QWORD PTR[8+rsi]
767 mov rax,QWORD PTR[16+rsi]
775 mov rax,QWORD PTR[24+rsi]
783 mov rax,QWORD PTR[32+rsi]
791 mov rax,QWORD PTR[40+rsi]
799 mov rax,QWORD PTR[48+rsi]
807 mov rax,QWORD PTR[56+rsi]
814 mov rbp,QWORD PTR[32+rdi]
815 mov rax,QWORD PTR[rsi]
819 mov QWORD PTR[552+rsp],r13
822 mov rax,QWORD PTR[8+rsi]
830 mov rax,QWORD PTR[16+rsi]
838 mov rax,QWORD PTR[24+rsi]
846 mov rax,QWORD PTR[32+rsi]
854 mov rax,QWORD PTR[40+rsi]
862 mov rax,QWORD PTR[48+rsi]
870 mov rax,QWORD PTR[56+rsi]
877 mov rbp,QWORD PTR[40+rdi]
878 mov rax,QWORD PTR[rsi]
882 mov QWORD PTR[560+rsp],r14
885 mov rax,QWORD PTR[8+rsi]
893 mov rax,QWORD PTR[16+rsi]
901 mov rax,QWORD PTR[24+rsi]
909 mov rax,QWORD PTR[32+rsi]
917 mov rax,QWORD PTR[40+rsi]
925 mov rax,QWORD PTR[48+rsi]
933 mov rax,QWORD PTR[56+rsi]
940 mov rbp,QWORD PTR[48+rdi]
941 mov rax,QWORD PTR[rsi]
945 mov QWORD PTR[568+rsp],r15
948 mov rax,QWORD PTR[8+rsi]
956 mov rax,QWORD PTR[16+rsi]
964 mov rax,QWORD PTR[24+rsi]
972 mov rax,QWORD PTR[32+rsi]
980 mov rax,QWORD PTR[40+rsi]
988 mov rax,QWORD PTR[48+rsi]
996 mov rax,QWORD PTR[56+rsi]
1003 mov rbp,QWORD PTR[56+rdi]
1004 mov rax,QWORD PTR[rsi]
1008 mov QWORD PTR[576+rsp],r8
1011 mov rax,QWORD PTR[8+rsi]
1019 mov rax,QWORD PTR[16+rsi]
1027 mov rax,QWORD PTR[24+rsi]
1035 mov rax,QWORD PTR[32+rsi]
1043 mov rax,QWORD PTR[40+rsi]
1051 mov rax,QWORD PTR[48+rsi]
1059 mov rax,QWORD PTR[56+rsi]
1066 mov QWORD PTR[584+rsp],r9
1067 mov QWORD PTR[592+rsp],r10
1068 mov QWORD PTR[600+rsp],r11
1069 mov QWORD PTR[608+rsp],r12
1070 mov QWORD PTR[616+rsp],r13
1071 mov QWORD PTR[624+rsp],r14
1072 mov QWORD PTR[632+rsp],r15
1073 mov QWORD PTR[640+rsp],r8
1085 sqr_reduce PROC PRIVATE
1086 mov rcx,QWORD PTR[16+rsp]
1094 mov QWORD PTR[528+rsp],rax
1127 mov QWORD PTR[536+rsp],r10
1133 mov rbx,QWORD PTR[8+rcx]
1135 mov rax,QWORD PTR[16+rcx]
1139 mov QWORD PTR[544+rsp],r11
1142 mov rax,QWORD PTR[24+rcx]
1148 mov QWORD PTR[552+rsp],r12
1151 mov rax,QWORD PTR[32+rcx]
1159 mov rax,QWORD PTR[40+rcx]
1187 mov rbx,QWORD PTR[16+rcx]
1189 mov rax,QWORD PTR[24+rcx]
1193 mov QWORD PTR[560+rsp],r13
1196 mov rax,QWORD PTR[32+rcx]
1202 mov QWORD PTR[568+rsp],r14
1205 mov rax,QWORD PTR[40+rcx]
1234 mov rbx,QWORD PTR[24+rcx]
1236 mov rax,QWORD PTR[32+rcx]
1240 mov QWORD PTR[576+rsp],r15
1243 mov rax,QWORD PTR[40+rcx]
1249 mov QWORD PTR[584+rsp],rsi
1272 mov rbx,QWORD PTR[32+rcx]
1274 mov rax,QWORD PTR[40+rcx]
1278 mov QWORD PTR[592+rsp],r11
1287 mov QWORD PTR[600+rsp],r12
1302 mov rbx,QWORD PTR[40+rcx]
1308 mov QWORD PTR[608+rsp],r15
1317 mov QWORD PTR[616+rsp],r11
1330 mov QWORD PTR[624+rsp],r12
1332 mov QWORD PTR[632+rsp],rdx
1335 mov r10,QWORD PTR[528+rsp]
1336 mov r11,QWORD PTR[536+rsp]
1337 mov r12,QWORD PTR[544+rsp]
1338 mov r13,QWORD PTR[552+rsp]
1339 mov r14,QWORD PTR[560+rsp]
1340 mov r15,QWORD PTR[568+rsp]
1342 mov rax,QWORD PTR[24+rcx]
1355 mov rax,QWORD PTR[rcx]
1357 mov QWORD PTR[520+rsp],rax
1360 mov rax,QWORD PTR[8+rcx]
1368 mov QWORD PTR[528+rsp],r10
1369 mov QWORD PTR[536+rsp],r11
1371 mov rax,QWORD PTR[16+rcx]
1380 mov QWORD PTR[544+rsp],r12
1381 mov QWORD PTR[552+rsp],r13
1388 mov QWORD PTR[560+rsp],r14
1389 mov QWORD PTR[568+rsp],r15
1394 mov r10,QWORD PTR[576+rsp]
1395 mov r11,QWORD PTR[584+rsp]
1396 mov r12,QWORD PTR[592+rsp]
1397 mov r13,QWORD PTR[600+rsp]
1398 mov r14,QWORD PTR[608+rsp]
1399 mov r15,QWORD PTR[616+rsp]
1400 mov rdi,QWORD PTR[624+rsp]
1401 mov rsi,QWORD PTR[632+rsp]
1420 mov rax,QWORD PTR[32+rcx]
1429 mov QWORD PTR[576+rsp],r10
1430 mov QWORD PTR[584+rsp],r11
1432 mov rax,QWORD PTR[40+rcx]
1441 mov QWORD PTR[592+rsp],r12
1442 mov QWORD PTR[600+rsp],r13
1444 mov rax,QWORD PTR[48+rcx]
1451 mov QWORD PTR[608+rsp],r14
1452 mov QWORD PTR[616+rsp],r15
1458 mov QWORD PTR[624+rsp],rdi
1459 mov QWORD PTR[632+rsp],rsi
1460 mov QWORD PTR[640+rsp],rbx
1468 mod_exp_512 PROC PUBLIC
1469 mov QWORD PTR[8+rsp],rdi ;WIN64 prologue
1470 mov QWORD PTR[16+rsp],rsi
1472 $L$SEH_begin_mod_exp_512::
1492 mov QWORD PTR[rsp],r8
1493 mov QWORD PTR[8+rsp],rdi
1494 mov QWORD PTR[16+rsp],rsi
1495 mov QWORD PTR[24+rsp],rcx
1501 movdqu xmm0,XMMWORD PTR[rsi]
1502 movdqu xmm1,XMMWORD PTR[16+rsi]
1503 movdqu xmm2,XMMWORD PTR[32+rsi]
1504 movdqu xmm3,XMMWORD PTR[48+rsi]
1505 movdqa XMMWORD PTR[512+rsp],xmm4
1506 movdqa XMMWORD PTR[528+rsp],xmm4
1507 movdqa XMMWORD PTR[608+rsp],xmm4
1508 movdqa XMMWORD PTR[624+rsp],xmm4
1509 movdqa XMMWORD PTR[544+rsp],xmm0
1510 movdqa XMMWORD PTR[560+rsp],xmm1
1511 movdqa XMMWORD PTR[576+rsp],xmm2
1512 movdqa XMMWORD PTR[592+rsp],xmm3
1515 movdqu xmm0,XMMWORD PTR[rdx]
1516 movdqu xmm1,XMMWORD PTR[16+rdx]
1517 movdqu xmm2,XMMWORD PTR[32+rdx]
1518 movdqu xmm3,XMMWORD PTR[48+rdx]
1520 lea rbx,QWORD PTR[384+rsp]
1521 mov QWORD PTR[136+rsp],rbx
1525 lea rcx,QWORD PTR[448+rsp]
1527 mov QWORD PTR[rcx],rax
1528 mov QWORD PTR[8+rcx],rax
1529 mov QWORD PTR[24+rcx],rax
1530 mov QWORD PTR[32+rcx],rax
1531 mov QWORD PTR[40+rcx],rax
1532 mov QWORD PTR[48+rcx],rax
1533 mov QWORD PTR[56+rcx],rax
1534 mov QWORD PTR[128+rsp],rax
1535 mov QWORD PTR[16+rcx],1
1537 lea rbp,QWORD PTR[640+rsp]
1542 mov rbx,QWORD PTR[rcx]
1543 mov WORD PTR[rdi],bx
1545 mov WORD PTR[64+rdi],bx
1547 mov WORD PTR[128+rdi],bx
1549 mov WORD PTR[192+rdi],bx
1550 lea rcx,QWORD PTR[8+rcx]
1551 lea rdi,QWORD PTR[256+rdi]
1555 mov QWORD PTR[32+rsp],rax
1556 mov QWORD PTR[40+rsp],rbp
1558 mov QWORD PTR[136+rsp],rsi
1559 mov r10,QWORD PTR[rsi]
1560 mov r11,QWORD PTR[8+rsi]
1561 mov r12,QWORD PTR[16+rsi]
1562 mov r13,QWORD PTR[24+rsi]
1563 mov r14,QWORD PTR[32+rsi]
1564 mov r15,QWORD PTR[40+rsi]
1565 mov r8,QWORD PTR[48+rsi]
1566 mov r9,QWORD PTR[56+rsi]
1568 lea rdi,QWORD PTR[384+rsp]
1570 lea rsi,QWORD PTR[448+rsp]
1571 mov rbp,QWORD PTR[40+rsp]
1573 mov QWORD PTR[40+rsp],rbp
1577 mov rbx,QWORD PTR[rcx]
1578 mov WORD PTR[rbp],bx
1580 mov WORD PTR[64+rbp],bx
1582 mov WORD PTR[128+rbp],bx
1584 mov WORD PTR[192+rbp],bx
1585 lea rcx,QWORD PTR[8+rcx]
1586 lea rbp,QWORD PTR[256+rbp]
1589 mov rax,QWORD PTR[32+rsp]
1591 mov QWORD PTR[32+rsp],rax
1596 movdqa XMMWORD PTR[64+rsp],xmm0
1597 movdqa XMMWORD PTR[80+rsp],xmm1
1598 movdqa XMMWORD PTR[96+rsp],xmm2
1599 movdqa XMMWORD PTR[112+rsp],xmm3
1605 mov eax,DWORD PTR[126+rsp]
1609 mov DWORD PTR[126+rsp],edx
1610 lea rsi,QWORD PTR[640+rax*2+rsp]
1611 mov rdx,QWORD PTR[8+rsp]
1614 movzx rbx,WORD PTR[192+rsi]
1615 movzx rax,WORD PTR[448+rsi]
1618 mov bx,WORD PTR[128+rsi]
1619 mov ax,WORD PTR[384+rsi]
1622 mov bx,WORD PTR[64+rsi]
1623 mov ax,WORD PTR[320+rsi]
1626 mov bx,WORD PTR[rsi]
1627 mov ax,WORD PTR[256+rsi]
1628 mov QWORD PTR[rdx],rbx
1629 mov QWORD PTR[8+rdx],rax
1630 lea rsi,QWORD PTR[512+rsi]
1631 lea rdx,QWORD PTR[16+rdx]
1634 mov QWORD PTR[48+rsp],505
1636 mov rcx,QWORD PTR[8+rsp]
1637 mov QWORD PTR[136+rsp],rcx
1638 mov r10,QWORD PTR[rcx]
1639 mov r11,QWORD PTR[8+rcx]
1640 mov r12,QWORD PTR[16+rcx]
1641 mov r13,QWORD PTR[24+rcx]
1642 mov r14,QWORD PTR[32+rcx]
1643 mov r15,QWORD PTR[40+rcx]
1644 mov r8,QWORD PTR[48+rcx]
1645 mov r9,QWORD PTR[56+rcx]
1658 mov rcx,QWORD PTR[48+rsp]
1661 mov edx,DWORD PTR[64+rax*2+rsp]
1666 lea rsi,QWORD PTR[640+rdx*2+rsp]
1667 lea rdx,QWORD PTR[448+rsp]
1671 movzx rbx,WORD PTR[192+rsi]
1672 movzx rax,WORD PTR[448+rsi]
1675 mov bx,WORD PTR[128+rsi]
1676 mov ax,WORD PTR[384+rsi]
1679 mov bx,WORD PTR[64+rsi]
1680 mov ax,WORD PTR[320+rsi]
1683 mov bx,WORD PTR[rsi]
1684 mov ax,WORD PTR[256+rsi]
1685 mov QWORD PTR[rdx],rbx
1686 mov QWORD PTR[8+rdx],rax
1687 lea rsi,QWORD PTR[512+rsi]
1688 lea rdx,QWORD PTR[16+rdx]
1691 mov rsi,QWORD PTR[8+rsp]
1696 mov rcx,QWORD PTR[48+rsp]
1698 mov QWORD PTR[48+rsp],rcx
1706 mov rdx,QWORD PTR[8+rsp]
1708 movdqu xmm0,XMMWORD PTR[rdx]
1709 movdqu xmm1,XMMWORD PTR[16+rdx]
1710 movdqu xmm2,XMMWORD PTR[32+rdx]
1711 movdqu xmm3,XMMWORD PTR[48+rdx]
1712 movdqa XMMWORD PTR[576+rsp],xmm4
1713 movdqa XMMWORD PTR[592+rsp],xmm4
1714 movdqa XMMWORD PTR[608+rsp],xmm4
1715 movdqa XMMWORD PTR[624+rsp],xmm4
1716 movdqa XMMWORD PTR[512+rsp],xmm0
1717 movdqa XMMWORD PTR[528+rsp],xmm1
1718 movdqa XMMWORD PTR[544+rsp],xmm2
1719 movdqa XMMWORD PTR[560+rsp],xmm3
1724 mov rax,QWORD PTR[8+rsp]
1725 mov r8,QWORD PTR[rax]
1726 mov r9,QWORD PTR[8+rax]
1727 mov r10,QWORD PTR[16+rax]
1728 mov r11,QWORD PTR[24+rax]
1729 mov r12,QWORD PTR[32+rax]
1730 mov r13,QWORD PTR[40+rax]
1731 mov r14,QWORD PTR[48+rax]
1732 mov r15,QWORD PTR[56+rax]
1735 mov rbx,QWORD PTR[24+rsp]
1738 sub r8,QWORD PTR[rbx]
1739 sbb r9,QWORD PTR[8+rbx]
1740 sbb r10,QWORD PTR[16+rbx]
1741 sbb r11,QWORD PTR[24+rbx]
1742 sbb r12,QWORD PTR[32+rbx]
1743 sbb r13,QWORD PTR[40+rbx]
1744 sbb r14,QWORD PTR[48+rbx]
1745 sbb r15,QWORD PTR[56+rbx]
1748 mov rsi,QWORD PTR[rax]
1749 mov rdi,QWORD PTR[8+rax]
1750 mov rcx,QWORD PTR[16+rax]
1751 mov rdx,QWORD PTR[24+rax]
1756 mov QWORD PTR[rax],rsi
1757 mov QWORD PTR[8+rax],rdi
1758 mov QWORD PTR[16+rax],rcx
1759 mov QWORD PTR[24+rax],rdx
1761 mov rsi,QWORD PTR[32+rax]
1762 mov rdi,QWORD PTR[40+rax]
1763 mov rcx,QWORD PTR[48+rax]
1764 mov rdx,QWORD PTR[56+rax]
1769 mov QWORD PTR[32+rax],rsi
1770 mov QWORD PTR[40+rax],rdi
1771 mov QWORD PTR[48+rax],rcx
1772 mov QWORD PTR[56+rax],rdx
1774 mov rsi,QWORD PTR[rsp]
1775 mov r15,QWORD PTR[rsi]
1776 mov r14,QWORD PTR[8+rsi]
1777 mov r13,QWORD PTR[16+rsi]
1778 mov r12,QWORD PTR[24+rsi]
1779 mov rbx,QWORD PTR[32+rsi]
1780 mov rbp,QWORD PTR[40+rsi]
1781 lea rsp,QWORD PTR[48+rsi]
1783 mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue
1784 mov rsi,QWORD PTR[16+rsp]
1785 DB 0F3h,0C3h ;repret
1786 $L$SEH_end_mod_exp_512::
1788 EXTERN __imp_RtlVirtualUnwind:NEAR
1791 mod_exp_512_se_handler PROC PRIVATE
1803 mov rax,QWORD PTR[120+r8]
1804 mov rbx,QWORD PTR[248+r8]
1806 lea r10,QWORD PTR[$L$body]
1810 mov rax,QWORD PTR[152+r8]
1812 lea r10,QWORD PTR[$L$epilogue]
1816 mov rax,QWORD PTR[rax]
1818 mov rbx,QWORD PTR[32+rax]
1819 mov rbp,QWORD PTR[40+rax]
1820 mov r12,QWORD PTR[24+rax]
1821 mov r13,QWORD PTR[16+rax]
1822 mov r14,QWORD PTR[8+rax]
1823 mov r15,QWORD PTR[rax]
1824 lea rax,QWORD PTR[48+rax]
1825 mov QWORD PTR[144+r8],rbx
1826 mov QWORD PTR[160+r8],rbp
1827 mov QWORD PTR[216+r8],r12
1828 mov QWORD PTR[224+r8],r13
1829 mov QWORD PTR[232+r8],r14
1830 mov QWORD PTR[240+r8],r15
1833 mov rdi,QWORD PTR[8+rax]
1834 mov rsi,QWORD PTR[16+rax]
1835 mov QWORD PTR[152+r8],rax
1836 mov QWORD PTR[168+r8],rsi
1837 mov QWORD PTR[176+r8],rdi
1839 mov rdi,QWORD PTR[40+r9]
1846 mov rdx,QWORD PTR[8+rsi]
1847 mov r8,QWORD PTR[rsi]
1848 mov r9,QWORD PTR[16+rsi]
1849 mov r10,QWORD PTR[40+rsi]
1850 lea r11,QWORD PTR[56+rsi]
1851 lea r12,QWORD PTR[24+rsi]
1852 mov QWORD PTR[32+rsp],r10
1853 mov QWORD PTR[40+rsp],r11
1854 mov QWORD PTR[48+rsp],r12
1855 mov QWORD PTR[56+rsp],rcx
1856 call QWORD PTR[__imp_RtlVirtualUnwind]
1869 DB 0F3h,0C3h ;repret
1870 mod_exp_512_se_handler ENDP
1873 .pdata SEGMENT READONLY ALIGN(4)
1875 DD imagerel $L$SEH_begin_mod_exp_512
1876 DD imagerel $L$SEH_end_mod_exp_512
1877 DD imagerel $L$SEH_info_mod_exp_512
1880 .xdata SEGMENT READONLY ALIGN(8)
1882 $L$SEH_info_mod_exp_512::
1884 DD imagerel mod_exp_512_se_handler