12c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org.file "crypto/bn/asm/x86-mont.s" 22c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org.text 32c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org.globl bn_mul_mont 42c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org.type bn_mul_mont,@function 52c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org.align 16 62c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.orgbn_mul_mont: 72c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org.L_bn_mul_mont_begin: 82c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org pushl %ebp 92c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org pushl %ebx 102c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org pushl %esi 112c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org pushl %edi 122c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org xorl %eax,%eax 132c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl 40(%esp),%edi 142c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org cmpl $4,%edi 152c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org jl .L000just_leave 162c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org leal 20(%esp),%esi 172c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org leal 24(%esp),%edx 182c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %esp,%ebp 192c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org addl $2,%edi 202c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org negl %edi 212c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org leal -32(%esp,%edi,4),%esp 222c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org negl %edi 232c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %esp,%eax 242c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org subl %edx,%eax 252c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org andl $2047,%eax 262c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org subl %eax,%esp 272c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org xorl %esp,%edx 282c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org andl $2048,%edx 292c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org xorl $2048,%edx 302c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org subl %edx,%esp 312c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org andl $-64,%esp 322c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl (%esi),%eax 332c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl 4(%esi),%ebx 342c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl 8(%esi),%ecx 352c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl 12(%esi),%edx 362c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl 16(%esi),%esi 372c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl (%esi),%esi 382c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %eax,4(%esp) 392c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %ebx,8(%esp) 402c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %ecx,12(%esp) 412c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %edx,16(%esp) 422c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %esi,20(%esp) 432c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org leal -3(%edi),%ebx 442c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %ebp,24(%esp) 452c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl 8(%esp),%esi 462c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org leal 1(%ebx),%ebp 472c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl 12(%esp),%edi 482c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org xorl %ecx,%ecx 492c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %esi,%edx 502c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org andl $1,%ebp 512c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org subl %edi,%edx 522c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org leal 4(%edi,%ebx,4),%eax 532c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org orl %edx,%ebp 542c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl (%edi),%edi 552c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org jz .L001bn_sqr_mont 562c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %eax,28(%esp) 572c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl (%esi),%eax 582c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org xorl %edx,%edx 592c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org.align 16 602c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org.L002mull: 612c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %edx,%ebp 622c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org mull %edi 632c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org addl %eax,%ebp 642c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org leal 1(%ecx),%ecx 652c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org adcl $0,%edx 662c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl (%esi,%ecx,4),%eax 672c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org cmpl %ebx,%ecx 682c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %ebp,28(%esp,%ecx,4) 692c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org jl .L002mull 702c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %edx,%ebp 712c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org mull %edi 722c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl 20(%esp),%edi 732c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org addl %ebp,%eax 742c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl 16(%esp),%esi 752c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org adcl $0,%edx 762c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org imull 32(%esp),%edi 772c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %eax,32(%esp,%ebx,4) 782c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org xorl %ecx,%ecx 792c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %edx,36(%esp,%ebx,4) 802c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %ecx,40(%esp,%ebx,4) 812c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl (%esi),%eax 822c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org mull %edi 832c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org addl 32(%esp),%eax 842c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl 4(%esi),%eax 852c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org adcl $0,%edx 862c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org incl %ecx 872c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org jmp .L0032ndmadd 882c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org.align 16 892c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org.L0041stmadd: 902c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %edx,%ebp 912c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org mull %edi 922c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org addl 32(%esp,%ecx,4),%ebp 932c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org leal 1(%ecx),%ecx 942c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org adcl $0,%edx 952c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org addl %eax,%ebp 962c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl (%esi,%ecx,4),%eax 972c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org adcl $0,%edx 982c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org cmpl %ebx,%ecx 992c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %ebp,28(%esp,%ecx,4) 1002c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org jl .L0041stmadd 1012c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %edx,%ebp 1022c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org mull %edi 1032c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org addl 32(%esp,%ebx,4),%eax 1042c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl 20(%esp),%edi 1052c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org adcl $0,%edx 1062c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl 16(%esp),%esi 1072c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org addl %eax,%ebp 1082c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org adcl $0,%edx 1092c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org imull 32(%esp),%edi 1102c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org xorl %ecx,%ecx 1112c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org addl 36(%esp,%ebx,4),%edx 1122c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %ebp,32(%esp,%ebx,4) 1132c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org adcl $0,%ecx 1142c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl (%esi),%eax 1152c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %edx,36(%esp,%ebx,4) 1162c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %ecx,40(%esp,%ebx,4) 1172c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org mull %edi 1182c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org addl 32(%esp),%eax 1192c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl 4(%esi),%eax 1202c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org adcl $0,%edx 1212c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl $1,%ecx 1222c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org.align 16 1232c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org.L0032ndmadd: 1242c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %edx,%ebp 1252c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org mull %edi 1262c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org addl 32(%esp,%ecx,4),%ebp 1272c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org leal 1(%ecx),%ecx 1282c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org adcl $0,%edx 1292c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org addl %eax,%ebp 1302c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl (%esi,%ecx,4),%eax 1312c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org adcl $0,%edx 1322c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org cmpl %ebx,%ecx 1332c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %ebp,24(%esp,%ecx,4) 1342c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org jl .L0032ndmadd 1352c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %edx,%ebp 1362c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org mull %edi 1372c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org addl 32(%esp,%ebx,4),%ebp 1382c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org adcl $0,%edx 1392c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org addl %eax,%ebp 1402c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org adcl $0,%edx 1412c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %ebp,28(%esp,%ebx,4) 1422c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org xorl %eax,%eax 1432c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl 12(%esp),%ecx 1442c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org addl 36(%esp,%ebx,4),%edx 1452c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org adcl 40(%esp,%ebx,4),%eax 1462c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org leal 4(%ecx),%ecx 1472c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %edx,32(%esp,%ebx,4) 1482c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org cmpl 28(%esp),%ecx 1492c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %eax,36(%esp,%ebx,4) 1502c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org je .L005common_tail 1512c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl (%ecx),%edi 1522c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl 8(%esp),%esi 1532c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %ecx,12(%esp) 1542c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org xorl %ecx,%ecx 1552c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org xorl %edx,%edx 1562c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl (%esi),%eax 1572c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org jmp .L0041stmadd 1582c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org.align 16 1592c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org.L001bn_sqr_mont: 1602c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %ebx,(%esp) 1612c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %ecx,12(%esp) 1622c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %edi,%eax 1632c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org mull %edi 1642c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %eax,32(%esp) 1652c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %edx,%ebx 1662c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org shrl $1,%edx 1672c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org andl $1,%ebx 1682c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org incl %ecx 1692c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org.align 16 1702c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org.L006sqr: 1712c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl (%esi,%ecx,4),%eax 1722c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %edx,%ebp 1732c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org mull %edi 1742c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org addl %ebp,%eax 1752c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org leal 1(%ecx),%ecx 1762c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org adcl $0,%edx 1772c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org leal (%ebx,%eax,2),%ebp 1782c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org shrl $31,%eax 1792c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org cmpl (%esp),%ecx 1802c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %eax,%ebx 1812c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %ebp,28(%esp,%ecx,4) 1822c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org jl .L006sqr 1832c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl (%esi,%ecx,4),%eax 1842c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %edx,%ebp 1852c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org mull %edi 1862c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org addl %ebp,%eax 1872c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl 20(%esp),%edi 1882c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org adcl $0,%edx 1892c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl 16(%esp),%esi 1902c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org leal (%ebx,%eax,2),%ebp 1912c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org imull 32(%esp),%edi 1922c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org shrl $31,%eax 1932c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %ebp,32(%esp,%ecx,4) 1942c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org leal (%eax,%edx,2),%ebp 1952c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl (%esi),%eax 1962c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org shrl $31,%edx 1972c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %ebp,36(%esp,%ecx,4) 1982c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %edx,40(%esp,%ecx,4) 1992c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org mull %edi 2002c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org addl 32(%esp),%eax 2012c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %ecx,%ebx 2022c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org adcl $0,%edx 2032c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl 4(%esi),%eax 2042c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl $1,%ecx 2052c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org.align 16 2062c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org.L0073rdmadd: 2072c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %edx,%ebp 2082c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org mull %edi 2092c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org addl 32(%esp,%ecx,4),%ebp 2102c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org adcl $0,%edx 2112c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org addl %eax,%ebp 2122c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl 4(%esi,%ecx,4),%eax 2132c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org adcl $0,%edx 2142c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %ebp,28(%esp,%ecx,4) 2152c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %edx,%ebp 2162c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org mull %edi 2172c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org addl 36(%esp,%ecx,4),%ebp 2182c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org leal 2(%ecx),%ecx 2192c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org adcl $0,%edx 2202c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org addl %eax,%ebp 2212c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl (%esi,%ecx,4),%eax 2222c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org adcl $0,%edx 2232c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org cmpl %ebx,%ecx 2242c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %ebp,24(%esp,%ecx,4) 2252c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org jl .L0073rdmadd 2262c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %edx,%ebp 2272c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org mull %edi 2282c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org addl 32(%esp,%ebx,4),%ebp 2292c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org adcl $0,%edx 2302c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org addl %eax,%ebp 2312c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org adcl $0,%edx 2322c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %ebp,28(%esp,%ebx,4) 2332c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl 12(%esp),%ecx 2342c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org xorl %eax,%eax 2352c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl 8(%esp),%esi 2362c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org addl 36(%esp,%ebx,4),%edx 2372c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org adcl 40(%esp,%ebx,4),%eax 2382c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %edx,32(%esp,%ebx,4) 2392c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org cmpl %ebx,%ecx 2402c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %eax,36(%esp,%ebx,4) 2412c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org je .L005common_tail 2422c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl 4(%esi,%ecx,4),%edi 2432c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org leal 1(%ecx),%ecx 2442c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %edi,%eax 2452c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %ecx,12(%esp) 2462c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org mull %edi 2472c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org addl 32(%esp,%ecx,4),%eax 2482c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org adcl $0,%edx 2492c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %eax,32(%esp,%ecx,4) 2502c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org xorl %ebp,%ebp 2512c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org cmpl %ebx,%ecx 2522c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org leal 1(%ecx),%ecx 2532c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org je .L008sqrlast 2542c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %edx,%ebx 2552c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org shrl $1,%edx 2562c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org andl $1,%ebx 2572c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org.align 16 2582c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org.L009sqradd: 2592c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl (%esi,%ecx,4),%eax 2602c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %edx,%ebp 2612c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org mull %edi 2622c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org addl %ebp,%eax 2632c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org leal (%eax,%eax,1),%ebp 2642c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org adcl $0,%edx 2652c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org shrl $31,%eax 2662c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org addl 32(%esp,%ecx,4),%ebp 2672c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org leal 1(%ecx),%ecx 2682c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org adcl $0,%eax 2692c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org addl %ebx,%ebp 2702c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org adcl $0,%eax 2712c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org cmpl (%esp),%ecx 2722c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %ebp,28(%esp,%ecx,4) 2732c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %eax,%ebx 2742c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org jle .L009sqradd 2752c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %edx,%ebp 2762c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org addl %edx,%edx 2772c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org shrl $31,%ebp 2782c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org addl %ebx,%edx 2792c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org adcl $0,%ebp 2802c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org.L008sqrlast: 2812c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl 20(%esp),%edi 2822c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl 16(%esp),%esi 2832c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org imull 32(%esp),%edi 2842c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org addl 32(%esp,%ecx,4),%edx 2852c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl (%esi),%eax 2862c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org adcl $0,%ebp 2872c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %edx,32(%esp,%ecx,4) 2882c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %ebp,36(%esp,%ecx,4) 2892c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org mull %edi 2902c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org addl 32(%esp),%eax 2912c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org leal -1(%ecx),%ebx 2922c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org adcl $0,%edx 2932c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl $1,%ecx 2942c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl 4(%esi),%eax 2952c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org jmp .L0073rdmadd 2962c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org.align 16 2972c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org.L005common_tail: 2982c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl 16(%esp),%ebp 2992c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl 4(%esp),%edi 3002c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org leal 32(%esp),%esi 3012c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl (%esi),%eax 3022c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %ebx,%ecx 3032c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org xorl %edx,%edx 3042c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org.align 16 3052c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org.L010sub: 3062c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org sbbl (%ebp,%edx,4),%eax 3072c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %eax,(%edi,%edx,4) 3082c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org decl %ecx 3092c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl 4(%esi,%edx,4),%eax 3102c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org leal 1(%edx),%edx 3112c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org jge .L010sub 3122c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org sbbl $0,%eax 3132c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org andl %eax,%esi 3142c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org notl %eax 3152c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %edi,%ebp 3162c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org andl %eax,%ebp 3172c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org orl %ebp,%esi 3182c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org.align 16 3192c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org.L011copy: 3202c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl (%esi,%ebx,4),%eax 3212c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %eax,(%edi,%ebx,4) 3222c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl %ecx,32(%esp,%ebx,4) 3232c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org decl %ebx 3242c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org jge .L011copy 3252c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl 24(%esp),%esp 3262c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org movl $1,%eax 3272c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org.L000just_leave: 3282c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org popl %edi 3292c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org popl %esi 3302c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org popl %ebx 3312c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org popl %ebp 3322c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org ret 3332c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org.size bn_mul_mont,.-.L_bn_mul_mont_begin 3342c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org.byte 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105 3352c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org.byte 112,108,105,99,97,116,105,111,110,32,102,111,114,32,120,56 3362c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org.byte 54,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121 3372c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org.byte 32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46 3382c4508dfe2bc5b6296c01114ed11ddc64b7718c6digit@chromium.org.byte 111,114,103,62,0 339