File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
Loading..
00576930
00576930crypto/internal/fips140/ecdh.isLess: ; void crypto/internal/fips140/ecdh.isLess(struct []uint8 a, struct []uint8 b)
00576930ldr x16, [x28+16]
00576934sub x17, sp, 304
00576938subs xzr, x17, x16
0057693cb.ls 0x576c9c
00576940sub x20, sp, 432
00576944stp x29, x30, [x20-8]
00576948add sp, x20, 0
0057694csub x29, sp, 8
00576950str x0, [sp+440]
00576954str x1, [sp+448]
00576958str x2, [sp+456]
0057695cstr x3, [sp+464]
00576960str x4, [sp+472]
00576964str x5, [sp+480]
00576968strb wzr, [sp+46]
0057696cldr x3, [sp+448]
00576970str x3, [sp+272]
00576974str x4, [sp+264]
00576978subs xzr, x4, x3
0057697cb.ne 0x576c6c
00576980b 0x576984
00576984
00576984loc_576984:
00576984ldr x3, [sp+448]
00576988str x3, [sp+264]
0057698csubs xzr, x3, 72
00576990b.gt 0x576c40
00576994b 0x576998
00576998
00576998loc_576998:
00576998b 0x57699c
0057699c
0057699cloc_57699c:
0057699cstp xzr, xzr, [sp+120]
005769a0stp xzr, xzr, [sp+136]
005769a4stp xzr, xzr, [sp+152]
005769a8stp xzr, xzr, [sp+168]
005769acstr xzr, [sp+184]
005769b0add x3, sp, 120
005769b4ldrsb x27, [x3]
005769b8b 0x5769bc
005769bc
005769bcloc_5769bc:
005769bcstr x3, [sp+384]
005769c0movz x3, 72
005769c4str x3, [sp+392]
005769c8str x3, [sp+400]
005769ccb 0x5769d0
005769d0
005769d0loc_5769d0:
005769d0stp xzr, xzr, [sp+48]
005769d4stp xzr, xzr, [sp+64]
005769d8stp xzr, xzr, [sp+80]
005769dcstp xzr, xzr, [sp+96]
005769e0str xzr, [sp+112]
005769e4add x4, sp, 48
005769e8ldrsb x27, [x4]
005769ecb 0x5769f0
005769f0
005769f0loc_5769f0:
005769f0str x4, [sp+360]
005769f4str x3, [sp+368]
005769f8str x3, [sp+376]
005769fcldr x3, [sp+384]
00576a00ldr x4, [sp+392]
00576a04ldr x5, [sp+400]
00576a08str x3, [sp+320]
00576a0cstr x4, [sp+328]
00576a10str x5, [sp+336]
00576a14ldr x3, [sp+360]
00576a18ldr x4, [sp+368]
00576a1cldr x5, [sp+376]
00576a20str x3, [sp+296]
00576a24str x4, [sp+304]
00576a28str x5, [sp+312]
00576a2cstr xzr, [sp+240]
00576a30ldr x3, [sp+448]
00576a34str x3, [sp+232]
00576a38b 0x576a3c
00576a3c
00576a3cloc_576a3c:
00576a3cldr x3, [sp+232]
00576a40ldr x4, [sp+240]
00576a44subs xzr, x3, x4
00576a48b.gt 0x576a50
00576a4cb 0x576b04
00576a50
00576a50loc_576a50:
00576a50ldr x3, [sp+240]
00576a54str x3, [sp+216]
00576a58ldr x4, [sp+448]
00576a5cstr x4, [sp+264]
00576a60ldr x4, [sp+472]
00576a64str x4, [sp+272]
00576a68ldr x1, [sp+472]
00576a6cldr x5, [sp+464]
00576a70sub x3, x4, x3
00576a74sub x0, x3, 1
00576a78subs xzr, x1, x0
00576a7cb.hi 0x576a84
00576a80b 0x576c3c
00576a84
00576a84loc_576a84:
00576a84ldrb w3, [x5+x0]
00576a88strb w3, [sp+47]
00576a8cldr x1, [sp+448]
00576a90ldr x3, [sp+440]
00576a94ldr x4, [sp+264]
00576a98ldr x5, [sp+216]
00576a9csub x4, x4, x5
00576aa0sub x0, x4, 1
00576aa4subs xzr, x1, x0
00576aa8b.hi 0x576ab0
00576aacb 0x576c38
00576ab0
00576ab0loc_576ab0:
00576ab0ldr x4, [sp+216]
00576ab4ldr x1, [sp+328]
00576ab8ldr x5, [sp+320]
00576abcldrb w3, [x3+x0]
00576ac0subs xzr, x4, x1
00576ac4b.lo 0x576acc
00576ac8b 0x576c30
00576acc
00576accloc_576acc:
00576accstrb w3, [x5+x4]
00576ad0ldr x0, [sp+216]
00576ad4ldr x1, [sp+304]
00576ad8ldr x3, [sp+296]
00576adcldrb w4, [sp+47]
00576ae0subs xzr, x0, x1
00576ae4b.lo 0x576aec
00576ae8b 0x576c2c
00576aec
00576aecloc_576aec:
00576aecstrb w4, [x3+x0]
00576af0b 0x576af4
00576af4
00576af4loc_576af4:
00576af4ldr x3, [sp+240]
00576af8add x3, x3, 1
00576afcstr x3, [sp+240]
00576b00b 0x576a3c
00576b04
00576b04loc_576b04:
00576b04str xzr, [sp+224]
00576b08str xzr, [sp+208]
00576b0cb 0x576b10
00576b10
00576b10loc_576b10:
00576b10ldr x3, [sp+328]
00576b14str x3, [sp+272]
00576b18ldr x4, [sp+208]
00576b1csubs xzr, x4, x3
00576b20b.lt 0x576b28
00576b24b 0x576c08
00576b28
00576b28loc_576b28:
00576b28ldr x0, [sp+208]
00576b2cldr x1, [sp+328]
00576b30ldr x3, [sp+320]
00576b34ldr x4, [sp+336]
00576b38b 0x576b3c
00576b3c
00576b3cloc_576b3c:
00576b3csubs xzr, x1, x0
00576b40b.hs 0x576b48
00576b44b 0x576c28
00576b48
00576b48loc_576b48:
00576b48sub x2, x4, x0
00576b4csub x1, x1, x0
00576b50sub x4, xzr, x2
00576b54and x4, x0, x4, asr #63
00576b58add x0, x3, x4
00576b5cstr x0, [sp+360]
00576b60str x1, [sp+368]
00576b64str x2, [sp+376]
00576b68bl crypto/internal/fips140deps/byteorder.LEUint64
00576b6cstr x0, [sp+256]
00576b70ldr x0, [sp+208]
00576b74ldr x1, [sp+304]
00576b78ldr x3, [sp+296]
00576b7cldr x4, [sp+312]
00576b80b 0x576b84
00576b84
00576b84loc_576b84:
00576b84subs xzr, x1, x0
00576b88b.hs 0x576b90
00576b8cb 0x576c24
00576b90
00576b90loc_576b90:
00576b90sub x2, x4, x0
00576b94sub x1, x1, x0
00576b98sub x4, xzr, x2
00576b9cand x4, x0, x4, asr #63
00576ba0add x0, x3, x4
00576ba4str x0, [sp+384]
00576ba8str x1, [sp+392]
00576bacstr x2, [sp+400]
00576bb0bl crypto/internal/fips140deps/byteorder.LEUint64
00576bb4str x0, [sp+248]
00576bb8ldr x3, [sp+256]
00576bbcstr x3, [sp+200]
00576bc0str x0, [sp+192]
00576bc4ldr x4, [sp+224]
00576bc8subs x5, xzr, x4
00576bccsbcs x5, x3, x0
00576bd0str x5, [sp+248]
00576bd4subs x4, xzr, x4
00576bd8sbcs x3, x3, x0
00576bdcsbc x3, xzr, xzr
00576be0sub x3, xzr, x3
00576be4str x3, [sp+256]
00576be8str x5, [sp+288]
00576becstr x3, [sp+280]
00576bf0str x3, [sp+224]
00576bf4b 0x576bf8
00576bf8
00576bf8loc_576bf8:
00576bf8ldr x3, [sp+208]
00576bfcadd x3, x3, 8
00576c00str x3, [sp+208]
00576c04b 0x576b10
00576c08
00576c08loc_576c08:
00576c08ldr x1, [sp+224]
00576c0csubs xzr, x1, 1
00576c10cset x0, eq
00576c14strb w0, [sp+46]
00576c18ldp x29, x30, [sp-8]
00576c1cadd sp, sp, 432
00576c20ret x30
00576c24
00576c24loc_576c24:
00576c24bl runtime.panicSliceB
00576c28
00576c28loc_576c28:
00576c28bl runtime.panicSliceB
00576c2c
00576c2cloc_576c2c:
00576c2cbl runtime.panicIndex
00576c30
00576c30loc_576c30:
00576c30mov x0, x4
00576c34bl runtime.panicIndex
00576c38
00576c38loc_576c38:
00576c38bl runtime.panicIndex
00576c3c
00576c3cloc_576c3c:
00576c3cbl runtime.panicIndex
00576c40
00576c40loc_576c40:
00576c40adrp x0, 0x153000
00576c44add x0, x0, 3382
00576c48str x0, [sp+408]
00576c4cmovz x1, 51
00576c50str x1, [sp+416]
00576c54bl runtime.convTstring
00576c58str x0, [sp+344]
00576c5cmov x1, x0
00576c60adrp x0, 0x7f000
00576c64add x0, x0, 2944
00576c68bl runtime.gopanic
00576c6c
00576c6cloc_576c6c:
00576c6cadrp x0, 0x154000
00576c70add x0, x0, 1642
00576c74str x0, [sp+408]
00576c78movz x1, 53
00576c7cstr x1, [sp+416]
00576c80bl runtime.convTstring
00576c84str x0, [sp+352]
00576c88mov x1, x0
00576c8cadrp x0, 0x7f000
00576c90add x0, x0, 2944
00576c94bl runtime.gopanic
00576c98hint
00576c9c
00576c9cloc_576c9c:
00576c9cstp x0, x1, [sp+8]
00576ca0stp x2, x3, [sp+24]
00576ca4stp x4, x5, [sp+40]
00576ca8mov x3, x30
00576cacbl runtime.morestack_noctxt.abi0
00576cb0ldp x0, x1, [sp+8]
00576cb4ldp x2, x3, [sp+24]
00576cb8ldp x4, x5, [sp+40]
00576cbcb 0x576930
00576930
00576930crypto/internal/fips140/ecdh.isLess: ; void crypto/internal/fips140/ecdh.isLess(struct []uint8 a, struct []uint8 b)
00576930ldr x16, [x28+16]
00576934sub x17, sp, 304
00576938subs xzr, x17, x16
0057693cb.ls 0x576c9c
00576940sub x20, sp, 432
00576944stp x29, x30, [x20-8]
00576948add sp, x20, 0
0057694csub x29, sp, 8
00576950str x0, [sp+440]
00576954str x1, [sp+448]
00576958str x2, [sp+456]
0057695cstr x3, [sp+464]
00576960str x4, [sp+472]
00576964str x5, [sp+480]
00576968strb wzr, [sp+46]
0057696cldr x3, [sp+448]
00576970str x3, [sp+272]
00576974str x4, [sp+264]
00576978subs xzr, x4, x3
0057697cb.ne 0x576c6c
00576980b 0x576984
00576984
00576984loc_576984:
00576984ldr x3, [sp+448]
00576988str x3, [sp+264]
0057698csubs xzr, x3, 72
00576990b.gt 0x576c40
00576994b 0x576998
00576998
00576998loc_576998:
00576998b 0x57699c
0057699c
0057699cloc_57699c:
0057699cstp xzr, xzr, [sp+120]
005769a0stp xzr, xzr, [sp+136]
005769a4stp xzr, xzr, [sp+152]
005769a8stp xzr, xzr, [sp+168]
005769acstr xzr, [sp+184]
005769b0add x3, sp, 120
005769b4ldrsb x27, [x3]
005769b8b 0x5769bc
005769bc
005769bcloc_5769bc:
005769bcstr x3, [sp+384]
005769c0movz x3, 72
005769c4str x3, [sp+392]
005769c8str x3, [sp+400]
005769ccb 0x5769d0
005769d0
005769d0loc_5769d0:
005769d0stp xzr, xzr, [sp+48]
005769d4stp xzr, xzr, [sp+64]
005769d8stp xzr, xzr, [sp+80]
005769dcstp xzr, xzr, [sp+96]
005769e0str xzr, [sp+112]
005769e4add x4, sp, 48
005769e8ldrsb x27, [x4]
005769ecb 0x5769f0
005769f0
005769f0loc_5769f0:
005769f0str x4, [sp+360]
005769f4str x3, [sp+368]
005769f8str x3, [sp+376]
005769fcldr x3, [sp+384]
00576a00ldr x4, [sp+392]
00576a04ldr x5, [sp+400]
00576a08str x3, [sp+320]
00576a0cstr x4, [sp+328]
00576a10str x5, [sp+336]
00576a14ldr x3, [sp+360]
00576a18ldr x4, [sp+368]
00576a1cldr x5, [sp+376]
00576a20str x3, [sp+296]
00576a24str x4, [sp+304]
00576a28str x5, [sp+312]
00576a2cstr xzr, [sp+240]
00576a30ldr x3, [sp+448]
00576a34str x3, [sp+232]
00576a38b 0x576a3c
00576a3c
00576a3cloc_576a3c:
00576a3cldr x3, [sp+232]
00576a40ldr x4, [sp+240]
00576a44subs xzr, x3, x4
00576a48b.gt 0x576a50
00576a4cb 0x576b04
00576a50
00576a50loc_576a50:
00576a50ldr x3, [sp+240]
00576a54str x3, [sp+216]
00576a58ldr x4, [sp+448]
00576a5cstr x4, [sp+264]
00576a60ldr x4, [sp+472]
00576a64str x4, [sp+272]
00576a68ldr x1, [sp+472]
00576a6cldr x5, [sp+464]
00576a70sub x3, x4, x3
00576a74sub x0, x3, 1
00576a78subs xzr, x1, x0
00576a7cb.hi 0x576a84
00576a80b 0x576c3c
00576a84
00576a84loc_576a84:
00576a84ldrb w3, [x5+x0]
00576a88strb w3, [sp+47]
00576a8cldr x1, [sp+448]
00576a90ldr x3, [sp+440]
00576a94ldr x4, [sp+264]
00576a98ldr x5, [sp+216]
00576a9csub x4, x4, x5
00576aa0sub x0, x4, 1
00576aa4subs xzr, x1, x0
00576aa8b.hi 0x576ab0
00576aacb 0x576c38
00576ab0
00576ab0loc_576ab0:
00576ab0ldr x4, [sp+216]
00576ab4ldr x1, [sp+328]
00576ab8ldr x5, [sp+320]
00576abcldrb w3, [x3+x0]
00576ac0subs xzr, x4, x1
00576ac4b.lo 0x576acc
00576ac8b 0x576c30
00576acc
00576accloc_576acc:
00576accstrb w3, [x5+x4]
00576ad0ldr x0, [sp+216]
00576ad4ldr x1, [sp+304]
00576ad8ldr x3, [sp+296]
00576adcldrb w4, [sp+47]
00576ae0subs xzr, x0, x1
00576ae4b.lo 0x576aec
00576ae8b 0x576c2c
00576aec
00576aecloc_576aec:
00576aecstrb w4, [x3+x0]
00576af0b 0x576af4
00576af4
00576af4loc_576af4:
00576af4ldr x3, [sp+240]
00576af8add x3, x3, 1
00576afcstr x3, [sp+240]
00576b00b 0x576a3c
00576b04
00576b04loc_576b04:
00576b04str xzr, [sp+224]
00576b08str xzr, [sp+208]
00576b0cb 0x576b10
00576b10
00576b10loc_576b10:
00576b10ldr x3, [sp+328]
00576b14str x3, [sp+272]
00576b18ldr x4, [sp+208]
00576b1csubs xzr, x4, x3
00576b20b.lt 0x576b28
00576b24b 0x576c08
00576b28
00576b28loc_576b28:
00576b28ldr x0, [sp+208]
00576b2cldr x1, [sp+328]
00576b30ldr x3, [sp+320]
00576b34ldr x4, [sp+336]
00576b38b 0x576b3c
00576b3c
00576b3cloc_576b3c:
00576b3csubs xzr, x1, x0
00576b40b.hs 0x576b48
00576b44b 0x576c28
00576b48
00576b48loc_576b48:
00576b48sub x2, x4, x0
00576b4csub x1, x1, x0
00576b50sub x4, xzr, x2
00576b54and x4, x0, x4, asr #63
00576b58add x0, x3, x4
00576b5cstr x0, [sp+360]
00576b60str x1, [sp+368]
00576b64str x2, [sp+376]
00576b68bl crypto/internal/fips140deps/byteorder.LEUint64
00576b6cstr x0, [sp+256]
00576b70ldr x0, [sp+208]
00576b74ldr x1, [sp+304]
00576b78ldr x3, [sp+296]
00576b7cldr x4, [sp+312]
00576b80b 0x576b84
00576b84
00576b84loc_576b84:
00576b84subs xzr, x1, x0
00576b88b.hs 0x576b90
00576b8cb 0x576c24
00576b90
00576b90loc_576b90:
00576b90sub x2, x4, x0
00576b94sub x1, x1, x0
00576b98sub x4, xzr, x2
00576b9cand x4, x0, x4, asr #63
00576ba0add x0, x3, x4
00576ba4str x0, [sp+384]
00576ba8str x1, [sp+392]
00576bacstr x2, [sp+400]
00576bb0bl crypto/internal/fips140deps/byteorder.LEUint64
00576bb4str x0, [sp+248]
00576bb8ldr x3, [sp+256]
00576bbcstr x3, [sp+200]
00576bc0str x0, [sp+192]
00576bc4ldr x4, [sp+224]
00576bc8subs x5, xzr, x4
00576bccsbcs x5, x3, x0
00576bd0str x5, [sp+248]
00576bd4subs x4, xzr, x4
00576bd8sbcs x3, x3, x0
00576bdcsbc x3, xzr, xzr
00576be0sub x3, xzr, x3
00576be4str x3, [sp+256]
00576be8str x5, [sp+288]
00576becstr x3, [sp+280]
00576bf0str x3, [sp+224]
00576bf4b 0x576bf8
00576bf8
00576bf8loc_576bf8:
00576bf8ldr x3, [sp+208]
00576bfcadd x3, x3, 8
00576c00str x3, [sp+208]
00576c04b 0x576b10
00576c08
00576c08loc_576c08:
00576c08ldr x1, [sp+224]
00576c0csubs xzr, x1, 1
00576c10cset x0, eq
00576c14strb w0, [sp+46]
00576c18ldp x29, x30, [sp-8]
00576c1cadd sp, sp, 432
00576c20ret x30
00576c24
00576c24loc_576c24:
00576c24bl runtime.panicSliceB
00576c28
00576c28loc_576c28:
00576c28bl runtime.panicSliceB
00576c2c
00576c2cloc_576c2c:
00576c2cbl runtime.panicIndex
00576c30
00576c30loc_576c30:
00576c30mov x0, x4
00576c34bl runtime.panicIndex
00576c38
00576c38loc_576c38:
00576c38bl runtime.panicIndex
00576c3c
00576c3cloc_576c3c:
00576c3cbl runtime.panicIndex
00576c40
00576c40loc_576c40:
00576c40adrp x0, 0x153000
00576c44add x0, x0, 3382
00576c48str x0, [sp+408]
00576c4cmovz x1, 51
00576c50str x1, [sp+416]
00576c54bl runtime.convTstring
00576c58str x0, [sp+344]
00576c5cmov x1, x0
00576c60adrp x0, 0x7f000
00576c64add x0, x0, 2944
00576c68bl runtime.gopanic
00576c6c
00576c6cloc_576c6c:
00576c6cadrp x0, 0x154000
00576c70add x0, x0, 1642
00576c74str x0, [sp+408]
00576c78movz x1, 53
00576c7cstr x1, [sp+416]
00576c80bl runtime.convTstring
00576c84str x0, [sp+352]
00576c88mov x1, x0
00576c8cadrp x0, 0x7f000
00576c90add x0, x0, 2944
00576c94bl runtime.gopanic
00576c98hint
00576c9c
00576c9cloc_576c9c:
00576c9cstp x0, x1, [sp+8]
00576ca0stp x2, x3, [sp+24]
00576ca4stp x4, x5, [sp+40]
00576ca8mov x3, x30
00576cacbl runtime.morestack_noctxt.abi0
00576cb0ldp x0, x1, [sp+8]
00576cb4ldp x2, x3, [sp+24]
00576cb8ldp x4, x5, [sp+40]
00576cbcb 0x576930
00576930
00576cc0
00576cc0crypto/internal/fips140/ecdh.ecdh[go.shape.*crypto/internal/fips140/nistec.P256Point]: ; void crypto/internal/fips140/ecdh.ecdh[go.shape.*crypto/internal/fips140/nistec.P256Point](uintptr[5] * dict, crypto/internal/fips140/ecdh.Curve[go.shape.*crypto/internal/fips140/nistec.P256Point] * c, crypto/internal/fips140/ecdh.PrivateKey * k, crypto/internal/fips140/ecdh.PublicKey * peer)
00576cc0ldr x16, [x28+16]
00576cc4sub x17, sp, 272
00576cc8subs xzr, x17, x16
00576cccb.ls 0x5770c0
00576cd0sub x20, sp, 400
00576cd4stp x29, x30, [x20-8]
00576cd8add sp, x20, 0
00576cdcsub x29, sp, 8
00576ce0str x0, [sp+408]
00576ce4str x1, [sp+416]
00576ce8str x2, [sp+424]
00576cecstr x3, [sp+432]
00576cf0str xzr, [sp+72]
00576cf4stp xzr, xzr, [sp+80]
00576cf8stp xzr, xzr, [sp+56]
00576cfcldr x3, [sp+416]
00576d00ldrsb x27, [x3]
00576d04ldr x4, [x3]
00576d08ldr x3, [x3+8]
00576d0cstr x4, [sp+256]
00576d10str x3, [sp+264]
00576d14ldr x3, [sp+424]
00576d18ldrsb x27, [x3]
00576d1cldr x1, [x3]
00576d20ldr x3, [x3+8]
00576d24str x1, [sp+240]
00576d28str x3, [sp+248]
00576d2cldr x4, [sp+264]
00576d30subs xzr, x4, x3
00576d34b.ne 0x576d3c
00576d38b 0x576d40
00576d3c
00576d3cloc_576d3c:
00576d3cb 0x577078
00576d40
00576d40loc_576d40:
00576d40ldr x2, [sp+264]
00576d44ldr x0, [sp+256]
00576d48bl runtime.memequal
00576d4ctbnz w0, 0, 0x576d54
00576d50b 0x577074
00576d54
00576d54loc_576d54:
00576d54ldr x3, [sp+424]
00576d58ldrsb x27, [x3]
00576d5cldr x4, [x3]
00576d60ldr x3, [x3+8]
00576d64str x4, [sp+224]
00576d68str x3, [sp+232]
00576d6cldr x3, [sp+432]
00576d70ldrsb x27, [x3]
00576d74ldr x1, [x3]
00576d78ldr x3, [x3+8]
00576d7cstr x1, [sp+208]
00576d80str x3, [sp+216]
00576d84ldr x4, [sp+232]
00576d88subs xzr, x4, x3
00576d8cb.ne 0x576d94
00576d90b 0x576d98
00576d94
00576d94loc_576d94:
00576d94b 0x57702c
00576d98
00576d98loc_576d98:
00576d98ldr x0, [sp+224]
00576d9cldr x2, [sp+232]
00576da0bl runtime.memequal
00576da4tbnz w0, 0, 0x576dac
00576da8b 0x577028
00576dac
00576dacloc_576dac:
00576dacldr x2, [sp+424]
00576db0ldrsb x27, [x2]
00576db4ldr x2, [x2+24]
00576db8str x2, [sp+48]
00576dbcsubs xzr, x2, 1
00576dc0b.eq 0x576dc8
00576dc4b 0x576e10
00576dc8
00576dc8loc_576dc8:
00576dc8adrp x0, 0x152000
00576dccadd x0, x0, 324
00576dd0movz x1, 47
00576dd4bl errors.New
00576dd8str x0, [sp+312]
00576ddcstr x1, [sp+320]
00576de0str xzr, [sp+72]
00576de4stp xzr, xzr, [sp+80]
00576de8ldr x3, [sp+312]
00576decldr x4, [sp+320]
00576df0str x3, [sp+56]
00576df4str x4, [sp+64]
00576df8ldr x0, [sp+72]
00576dfcldr x1, [sp+80]
00576e00ldr x2, [sp+88]
00576e04ldp x29, x30, [sp-8]
00576e08add sp, sp, 400
00576e0cret x30
00576e10
00576e10loc_576e10:
00576e10ldr x0, [sp+416]
00576e14ldrsb x27, [x0]
00576e18ldr x26, [x0+16]
00576e1cldr x0, [x26]
00576e20blr x0
00576e24str x0, [sp+304]
00576e28str xzr, [sp+296]
00576e2cstp xzr, xzr, [sp+312]
00576e30ldr x0, [sp+432]
00576e34ldrsb x27, [x0]
00576e38ldr x1, [x0+16]
00576e3cldr x2, [x0+24]
00576e40ldr x3, [x0+32]
00576e44str x1, [sp+184]
00576e48str x2, [sp+192]
00576e4cstr x3, [sp+200]
00576e50ldr x26, [sp+408]
00576e54ldrsb x27, [x26]
00576e58ldr x0, [x26]
00576e5cldr x4, [sp+304]
00576e60mov x5, x0
00576e64mov x0, x4
00576e68blr x5
00576e6cstr x0, [sp+296]
00576e70str x1, [sp+312]
00576e74str x2, [sp+320]
00576e78ldr x0, [sp+296]
00576e7cstr x0, [sp+152]
00576e80ldr x0, [sp+312]
00576e84ldr x1, [sp+320]
00576e88str x0, [sp+136]
00576e8cstr x1, [sp+144]
00576e90ldr x0, [sp+152]
00576e94str x0, [sp+96]
00576e98ldr x0, [sp+144]
00576e9cldr x1, [sp+136]
00576ea0str x1, [sp+120]
00576ea4str x0, [sp+128]
00576ea8cbnz x1, 0x576eb0
00576eacb 0x576ee0
00576eb0
00576eb0loc_576eb0:
00576eb0str xzr, [sp+72]
00576eb4stp xzr, xzr, [sp+80]
00576eb8ldr x3, [sp+120]
00576ebcldr x4, [sp+128]
00576ec0str x3, [sp+56]
00576ec4str x4, [sp+64]
00576ec8ldr x0, [sp+72]
00576eccldr x1, [sp+80]
00576ed0ldr x2, [sp+88]
00576ed4ldp x29, x30, [sp-8]
00576ed8add sp, sp, 400
00576edcret x30
00576ee0
00576ee0loc_576ee0:
00576ee0str xzr, [sp+296]
00576ee4stp xzr, xzr, [sp+312]
00576ee8ldr x5, [sp+424]
00576eecldrsb x27, [x5]
00576ef0ldr x2, [x5+40]
00576ef4ldr x3, [x5+48]
00576ef8ldr x4, [x5+56]
00576efcstr x2, [sp+160]
00576f00str x3, [sp+168]
00576f04str x4, [sp+176]
00576f08ldr x5, [sp+408]
00576f0cldrsb x27, [x5]
00576f10add x26, x5, 8
00576f14ldr x0, [sp+96]
00576f18ldr x1, [sp+96]
00576f1cldr x5, [x5+8]
00576f20blr x5
00576f24str x0, [sp+296]
00576f28str x1, [sp+312]
00576f2cstr x2, [sp+320]
00576f30ldr x5, [sp+296]
00576f34str x5, [sp+384]
00576f38ldr x5, [sp+320]
00576f3cldr x6, [sp+312]
00576f40str x6, [sp+368]
00576f44str x5, [sp+376]
00576f48str x6, [sp+104]
00576f4cstr x5, [sp+112]
00576f50cbnz x6, 0x576f58
00576f54b 0x576f88
00576f58
00576f58loc_576f58:
00576f58str xzr, [sp+72]
00576f5cstp xzr, xzr, [sp+80]
00576f60ldr x3, [sp+104]
00576f64ldr x4, [sp+112]
00576f68str x3, [sp+56]
00576f6cstr x4, [sp+64]
00576f70ldr x0, [sp+72]
00576f74ldr x1, [sp+80]
00576f78ldr x2, [sp+88]
00576f7cldp x29, x30, [sp-8]
00576f80add sp, sp, 400
00576f84ret x30
00576f88
00576f88loc_576f88:
00576f88str xzr, [sp+272]
00576f8cstp xzr, xzr, [sp+280]
00576f90stp xzr, xzr, [sp+312]
00576f94ldr x1, [sp+408]
00576f98ldrsb x27, [x1]
00576f9cadd x26, x1, 16
00576fa0ldr x0, [sp+96]
00576fa4ldr x1, [x1+16]
00576fa8blr x1
00576facstr x0, [sp+272]
00576fb0str x1, [sp+280]
00576fb4str x2, [sp+288]
00576fb8str x3, [sp+312]
00576fbcstr x4, [sp+320]
00576fc0ldr x1, [sp+272]
00576fc4ldr x2, [sp+280]
00576fc8ldr x3, [sp+288]
00576fccstr x1, [sp+344]
00576fd0str x2, [sp+352]
00576fd4str x3, [sp+360]
00576fd8ldr x1, [sp+312]
00576fdcldr x2, [sp+320]
00576fe0str x1, [sp+328]
00576fe4str x2, [sp+336]
00576fe8ldr x1, [sp+344]
00576fecldr x2, [sp+352]
00576ff0ldr x3, [sp+360]
00576ff4str x1, [sp+72]
00576ff8str x2, [sp+80]
00576ffcstr x3, [sp+88]
00577000ldr x3, [sp+328]
00577004ldr x4, [sp+336]
00577008str x3, [sp+56]
0057700cstr x4, [sp+64]
00577010ldr x0, [sp+72]
00577014ldr x1, [sp+80]
00577018ldr x2, [sp+88]
0057701cldp x29, x30, [sp-8]
00577020add sp, sp, 400
00577024ret x30
00577028
00577028loc_577028:
00577028b 0x57702c
0057702c
0057702cloc_57702c:
0057702cadrp x0, 0x146000
00577030add x0, x0, 1672
00577034orr x1, xzr, 30
00577038bl errors.New
0057703cstr x0, [sp+312]
00577040str x1, [sp+320]
00577044str xzr, [sp+72]
00577048stp xzr, xzr, [sp+80]
0057704cldr x3, [sp+312]
00577050ldr x4, [sp+320]
00577054str x3, [sp+56]
00577058str x4, [sp+64]
0057705cldr x0, [sp+72]
00577060ldr x1, [sp+80]
00577064ldr x2, [sp+88]
00577068ldp x29, x30, [sp-8]
0057706cadd sp, sp, 400
00577070ret x30
00577074
00577074loc_577074:
00577074b 0x577078
00577078
00577078loc_577078:
00577078adrp x0, 0x146000
0057707cadd x0, x0, 1672
00577080orr x1, xzr, 30
00577084bl errors.New
00577088str x0, [sp+312]
0057708cstr x1, [sp+320]
00577090str xzr, [sp+72]
00577094stp xzr, xzr, [sp+80]
00577098ldr x3, [sp+312]
0057709cldr x4, [sp+320]
005770a0str x3, [sp+56]
005770a4str x4, [sp+64]
005770a8ldr x0, [sp+72]
005770acldr x1, [sp+80]
005770b0ldr x2, [sp+88]
005770b4ldp x29, x30, [sp-8]
005770b8add sp, sp, 400
005770bcret x30
005770c0
005770c0loc_5770c0:
005770c0stp x0, x1, [sp+8]
005770c4stp x2, x3, [sp+24]
005770c8mov x3, x30
005770ccbl runtime.morestack_noctxt.abi0
005770d0ldp x0, x1, [sp+8]
005770d4ldp x2, x3, [sp+24]
005770d8b 0x576cc0
005770dcudf 0
00576cc0
00576cc0crypto/internal/fips140/ecdh.ecdh[go.shape.*crypto/internal/fips140/nistec.P256Point]: ; void crypto/internal/fips140/ecdh.ecdh[go.shape.*crypto/internal/fips140/nistec.P256Point](uintptr[5] * dict, crypto/internal/fips140/ecdh.Curve[go.shape.*crypto/internal/fips140/nistec.P256Point] * c, crypto/internal/fips140/ecdh.PrivateKey * k, crypto/internal/fips140/ecdh.PublicKey * peer)
00576cc0ldr x16, [x28+16]
00576cc4sub x17, sp, 272
00576cc8subs xzr, x17, x16
00576cccb.ls 0x5770c0
00576cd0sub x20, sp, 400
00576cd4stp x29, x30, [x20-8]
00576cd8add sp, x20, 0
00576cdcsub x29, sp, 8
00576ce0str x0, [sp+408]
00576ce4str x1, [sp+416]
00576ce8str x2, [sp+424]
00576cecstr x3, [sp+432]
00576cf0str xzr, [sp+72]
00576cf4stp xzr, xzr, [sp+80]
00576cf8stp xzr, xzr, [sp+56]
00576cfcldr x3, [sp+416]
00576d00ldrsb x27, [x3]
00576d04ldr x4, [x3]
00576d08ldr x3, [x3+8]
00576d0cstr x4, [sp+256]
00576d10str x3, [sp+264]
00576d14ldr x3, [sp+424]
00576d18ldrsb x27, [x3]
00576d1cldr x1, [x3]
00576d20ldr x3, [x3+8]
00576d24str x1, [sp+240]
00576d28str x3, [sp+248]
00576d2cldr x4, [sp+264]
00576d30subs xzr, x4, x3
00576d34b.ne 0x576d3c
00576d38b 0x576d40
00576d3c
00576d3cloc_576d3c:
00576d3cb 0x577078
00576d40
00576d40loc_576d40:
00576d40ldr x2, [sp+264]
00576d44ldr x0, [sp+256]
00576d48bl runtime.memequal
00576d4ctbnz w0, 0, 0x576d54
00576d50b 0x577074
00576d54
00576d54loc_576d54:
00576d54ldr x3, [sp+424]
00576d58ldrsb x27, [x3]
00576d5cldr x4, [x3]
00576d60ldr x3, [x3+8]
00576d64str x4, [sp+224]
00576d68str x3, [sp+232]
00576d6cldr x3, [sp+432]
00576d70ldrsb x27, [x3]
00576d74ldr x1, [x3]
00576d78ldr x3, [x3+8]
00576d7cstr x1, [sp+208]
00576d80str x3, [sp+216]
00576d84ldr x4, [sp+232]
00576d88subs xzr, x4, x3
00576d8cb.ne 0x576d94
00576d90b 0x576d98
00576d94
00576d94loc_576d94:
00576d94b 0x57702c
00576d98
00576d98loc_576d98:
00576d98ldr x0, [sp+224]
00576d9cldr x2, [sp+232]
00576da0bl runtime.memequal
00576da4tbnz w0, 0, 0x576dac
00576da8b 0x577028
00576dac
00576dacloc_576dac:
00576dacldr x2, [sp+424]
00576db0ldrsb x27, [x2]
00576db4ldr x2, [x2+24]
00576db8str x2, [sp+48]
00576dbcsubs xzr, x2, 1
00576dc0b.eq 0x576dc8
00576dc4b 0x576e10
00576dc8
00576dc8loc_576dc8:
00576dc8adrp x0, 0x152000
00576dccadd x0, x0, 324
00576dd0movz x1, 47
00576dd4bl errors.New
00576dd8str x0, [sp+312]
00576ddcstr x1, [sp+320]
00576de0str xzr, [sp+72]
00576de4stp xzr, xzr, [sp+80]
00576de8ldr x3, [sp+312]
00576decldr x4, [sp+320]
00576df0str x3, [sp+56]
00576df4str x4, [sp+64]
00576df8ldr x0, [sp+72]
00576dfcldr x1, [sp+80]
00576e00ldr x2, [sp+88]
00576e04ldp x29, x30, [sp-8]
00576e08add sp, sp, 400
00576e0cret x30
00576e10
00576e10loc_576e10:
00576e10ldr x0, [sp+416]
00576e14ldrsb x27, [x0]
00576e18ldr x26, [x0+16]
00576e1cldr x0, [x26]
00576e20blr x0
00576e24str x0, [sp+304]
00576e28str xzr, [sp+296]
00576e2cstp xzr, xzr, [sp+312]
00576e30ldr x0, [sp+432]
00576e34ldrsb x27, [x0]
00576e38ldr x1, [x0+16]
00576e3cldr x2, [x0+24]
00576e40ldr x3, [x0+32]
00576e44str x1, [sp+184]
00576e48str x2, [sp+192]
00576e4cstr x3, [sp+200]
00576e50ldr x26, [sp+408]
00576e54ldrsb x27, [x26]
00576e58ldr x0, [x26]
00576e5cldr x4, [sp+304]
00576e60mov x5, x0
00576e64mov x0, x4
00576e68blr x5
00576e6cstr x0, [sp+296]
00576e70str x1, [sp+312]
00576e74str x2, [sp+320]
00576e78ldr x0, [sp+296]
00576e7cstr x0, [sp+152]
00576e80ldr x0, [sp+312]
00576e84ldr x1, [sp+320]
00576e88str x0, [sp+136]
00576e8cstr x1, [sp+144]
00576e90ldr x0, [sp+152]
00576e94str x0, [sp+96]
00576e98ldr x0, [sp+144]
00576e9cldr x1, [sp+136]
00576ea0str x1, [sp+120]
00576ea4str x0, [sp+128]
00576ea8cbnz x1, 0x576eb0
00576eacb 0x576ee0
00576eb0
00576eb0loc_576eb0:
00576eb0str xzr, [sp+72]
00576eb4stp xzr, xzr, [sp+80]
00576eb8ldr x3, [sp+120]
00576ebcldr x4, [sp+128]
00576ec0str x3, [sp+56]
00576ec4str x4, [sp+64]
00576ec8ldr x0, [sp+72]
00576eccldr x1, [sp+80]
00576ed0ldr x2, [sp+88]
00576ed4ldp x29, x30, [sp-8]
00576ed8add sp, sp, 400
00576edcret x30
00576ee0
00576ee0loc_576ee0:
00576ee0str xzr, [sp+296]
00576ee4stp xzr, xzr, [sp+312]
00576ee8ldr x5, [sp+424]
00576eecldrsb x27, [x5]
00576ef0ldr x2, [x5+40]
00576ef4ldr x3, [x5+48]
00576ef8ldr x4, [x5+56]
00576efcstr x2, [sp+160]
00576f00str x3, [sp+168]
00576f04str x4, [sp+176]
00576f08ldr x5, [sp+408]
00576f0cldrsb x27, [x5]
00576f10add x26, x5, 8
00576f14ldr x0, [sp+96]
00576f18ldr x1, [sp+96]
00576f1cldr x5, [x5+8]
00576f20blr x5
00576f24str x0, [sp+296]
00576f28str x1, [sp+312]
00576f2cstr x2, [sp+320]
00576f30ldr x5, [sp+296]
00576f34str x5, [sp+384]
00576f38ldr x5, [sp+320]
00576f3cldr x6, [sp+312]
00576f40str x6, [sp+368]
00576f44str x5, [sp+376]
00576f48str x6, [sp+104]
00576f4cstr x5, [sp+112]
00576f50cbnz x6, 0x576f58
00576f54b 0x576f88
00576f58
00576f58loc_576f58:
00576f58str xzr, [sp+72]
00576f5cstp xzr, xzr, [sp+80]
00576f60ldr x3, [sp+104]
00576f64ldr x4, [sp+112]
00576f68str x3, [sp+56]
00576f6cstr x4, [sp+64]
00576f70ldr x0, [sp+72]
00576f74ldr x1, [sp+80]
00576f78ldr x2, [sp+88]
00576f7cldp x29, x30, [sp-8]
00576f80add sp, sp, 400
00576f84ret x30
00576f88
00576f88loc_576f88:
00576f88str xzr, [sp+272]
00576f8cstp xzr, xzr, [sp+280]
00576f90stp xzr, xzr, [sp+312]
00576f94ldr x1, [sp+408]
00576f98ldrsb x27, [x1]
00576f9cadd x26, x1, 16
00576fa0ldr x0, [sp+96]
00576fa4ldr x1, [x1+16]
00576fa8blr x1
00576facstr x0, [sp+272]
00576fb0str x1, [sp+280]
00576fb4str x2, [sp+288]
00576fb8str x3, [sp+312]
00576fbcstr x4, [sp+320]
00576fc0ldr x1, [sp+272]
00576fc4ldr x2, [sp+280]
00576fc8ldr x3, [sp+288]
00576fccstr x1, [sp+344]
00576fd0str x2, [sp+352]
00576fd4str x3, [sp+360]
00576fd8ldr x1, [sp+312]
00576fdcldr x2, [sp+320]
00576fe0str x1, [sp+328]
00576fe4str x2, [sp+336]
00576fe8ldr x1, [sp+344]
00576fecldr x2, [sp+352]
00576ff0ldr x3, [sp+360]
00576ff4str x1, [sp+72]
00576ff8str x2, [sp+80]
00576ffcstr x3, [sp+88]
00577000ldr x3, [sp+328]
00577004ldr x4, [sp+336]
00577008str x3, [sp+56]
0057700cstr x4, [sp+64]
00577010ldr x0, [sp+72]
00577014ldr x1, [sp+80]
00577018ldr x2, [sp+88]
0057701cldp x29, x30, [sp-8]
00577020add sp, sp, 400
00577024ret x30
00577028
00577028loc_577028:
00577028b 0x57702c
0057702c
0057702cloc_57702c:
0057702cadrp x0, 0x146000
00577030add x0, x0, 1672
00577034orr x1, xzr, 30
00577038bl errors.New
0057703cstr x0, [sp+312]
00577040str x1, [sp+320]
00577044str xzr, [sp+72]
00577048stp xzr, xzr, [sp+80]
0057704cldr x3, [sp+312]
00577050ldr x4, [sp+320]
00577054str x3, [sp+56]
00577058str x4, [sp+64]
0057705cldr x0, [sp+72]
00577060ldr x1, [sp+80]
00577064ldr x2, [sp+88]
00577068ldp x29, x30, [sp-8]
0057706cadd sp, sp, 400
00577070ret x30
00577074
00577074loc_577074:
00577074b 0x577078
00577078
00577078loc_577078:
00577078adrp x0, 0x146000
0057707cadd x0, x0, 1672
00577080orr x1, xzr, 30
00577084bl errors.New
00577088str x0, [sp+312]
0057708cstr x1, [sp+320]
00577090str xzr, [sp+72]
00577094stp xzr, xzr, [sp+80]
00577098ldr x3, [sp+312]
0057709cldr x4, [sp+320]
005770a0str x3, [sp+56]
005770a4str x4, [sp+64]
005770a8ldr x0, [sp+72]
005770acldr x1, [sp+80]
005770b0ldr x2, [sp+88]
005770b4ldp x29, x30, [sp-8]
005770b8add sp, sp, 400
005770bcret x30
005770c0
005770c0loc_5770c0:
005770c0stp x0, x1, [sp+8]
005770c4stp x2, x3, [sp+24]
005770c8mov x3, x30
005770ccbl runtime.morestack_noctxt.abi0
005770d0ldp x0, x1, [sp+8]
005770d4ldp x2, x3, [sp+24]
005770d8b 0x576cc0
005770dcudf 0
00576cc0
005770e0
005770e0crypto/internal/fips140/edwards25519/field.init: ; void crypto/internal/fips140/edwards25519/field.init(void)
005770e0ldr x16, [x28+16]
005770e4subs xzr, sp, x16
005770e8b.ls 0x5772c8
005770ecstr x30, [sp-64]!
005770f0stur x29, [sp-8]
005770f4sub x29, sp, 8
005770f8adrp x0, 0x100000
005770fcadd x0, x0, 3648
00577100bl runtime.newobject
00577104str x0, [sp+48]
00577108str xzr, [x0]
0057710cldr x1, [sp+48]
00577110ldrsb x27, [x1]
00577114str xzr, [x1+8]
00577118ldr x1, [sp+48]
0057711cldrsb x27, [x1]
00577120str xzr, [x1+16]
00577124ldr x1, [sp+48]
00577128ldrsb x27, [x1]
0057712cstr xzr, [x1+24]
00577130ldr x1, [sp+48]
00577134ldrsb x27, [x1]
00577138str xzr, [x1+32]
0057713cldr x1, [sp+48]
00577140adrp x27, 0x4d4000
00577144ldr w2, [x27+3056]
00577148cbz w2, 0x577150
0057714cb 0x577154
00577150
00577150loc_577150:
00577150b 0x57716c
00577154
00577154loc_577154:
00577154bl runtime.gcWriteBarrier2
00577158str x1, [x25]
0057715cadrp x27, 0x4aa000
00577160ldr x2, [x27+480]
00577164str x2, [x25+8]
00577168b 0x57716c
0057716c
0057716cloc_57716c:
0057716cadrp x27, 0x4aa000
00577170str x1, [x27+480]
00577174adrp x0, 0x100000
00577178add x0, x0, 3648
0057717cbl runtime.newobject
00577180str x0, [sp+40]
00577184orr x1, xzr, 1
00577188str x1, [x0]
0057718cldr x1, [sp+40]
00577190ldrsb x27, [x1]
00577194str xzr, [x1+8]
00577198ldr x1, [sp+40]
0057719cldrsb x27, [x1]
005771a0str xzr, [x1+16]
005771a4ldr x1, [sp+40]
005771a8ldrsb x27, [x1]
005771acstr xzr, [x1+24]
005771b0ldr x1, [sp+40]
005771b4ldrsb x27, [x1]
005771b8str xzr, [x1+32]
005771bcldr x1, [sp+40]
005771c0adrp x27, 0x4d4000
005771c4ldr w2, [x27+3056]
005771c8cbz w2, 0x5771d0
005771ccb 0x5771d4
005771d0
005771d0loc_5771d0:
005771d0b 0x5771ec
005771d4
005771d4loc_5771d4:
005771d4bl runtime.gcWriteBarrier2
005771d8str x1, [x25]
005771dcadrp x27, 0x4aa000
005771e0ldr x2, [x27+488]
005771e4str x2, [x25+8]
005771e8b 0x5771ec
005771ec
005771ecloc_5771ec:
005771ecadrp x27, 0x4aa000
005771f0str x1, [x27+488]
005771f4adrp x0, 0x100000
005771f8add x0, x0, 3648
005771fcbl runtime.newobject
00577200str x0, [sp+32]
00577204movz x1, 41136
00577208movk x1, 0x4a0e0000
0057720cmovk x1, 0x1b2700000000
00577210movk x1, 0x6000000000000
00577214str x1, [x0]
00577218ldr x1, [sp+32]
0057721cldrsb x27, [x1]
00577220movz x2, 6301
00577224movk x2, 0xfc8f0000
00577228movk x2, 0xd5a500000000
0057722cstr x2, [x1+8]
00577230ldr x1, [sp+32]
00577234ldrsb x27, [x1]
00577238movz x2, 3168
0057723cmovk x2, 0x9cbd0000
00577240movk x2, 0xef5e00000000
00577244movk x2, 0x7000000000000
00577248str x2, [x1+16]
0057724cldr x1, [sp+32]
00577250ldrsb x27, [x1]
00577254movz x2, 19614
00577258movk x2, 0xa6800000
0057725cmovk x2, 0x859500000000
00577260movk x2, 0x7000000000000
00577264str x2, [x1+24]
00577268ldr x1, [sp+32]
0057726cldrsb x27, [x1]
00577270movz x2, 64541
00577274movk x2, 0x48040000
00577278movk x2, 0xb83200000000
0057727cmovk x2, 0x2000000000000
00577280str x2, [x1+32]
00577284ldr x1, [sp+32]
00577288adrp x27, 0x4d4000
0057728cldr w2, [x27+3056]
00577290cbz w2, 0x577298
00577294b 0x57729c
00577298
00577298loc_577298:
00577298b 0x5772b4
0057729c
0057729cloc_57729c:
0057729cbl runtime.gcWriteBarrier2
005772a0str x1, [x25]
005772a4adrp x27, 0x4aa000
005772a8ldr x0, [x27+496]
005772acstr x0, [x25+8]
005772b0b 0x5772b4
005772b4
005772b4loc_5772b4:
005772b4adrp x27, 0x4aa000
005772b8str x1, [x27+496]
005772bcldur x29, [sp-8]
005772c0ldr x30, [sp], 64
005772c4ret x30
005772c8
005772c8loc_5772c8:
005772c8mov x3, x30
005772ccbl runtime.morestack_noctxt.abi0
005772d0b 0x5770e0
005772d4udf 0
005772d8udf 0
005772dcudf 0
005770e0
005770e0crypto/internal/fips140/edwards25519/field.init: ; void crypto/internal/fips140/edwards25519/field.init(void)
005770e0ldr x16, [x28+16]
005770e4subs xzr, sp, x16
005770e8b.ls 0x5772c8
005770ecstr x30, [sp-64]!
005770f0stur x29, [sp-8]
005770f4sub x29, sp, 8
005770f8adrp x0, 0x100000
005770fcadd x0, x0, 3648
00577100bl runtime.newobject
00577104str x0, [sp+48]
00577108str xzr, [x0]
0057710cldr x1, [sp+48]
00577110ldrsb x27, [x1]
00577114str xzr, [x1+8]
00577118ldr x1, [sp+48]
0057711cldrsb x27, [x1]
00577120str xzr, [x1+16]
00577124ldr x1, [sp+48]
00577128ldrsb x27, [x1]
0057712cstr xzr, [x1+24]
00577130ldr x1, [sp+48]
00577134ldrsb x27, [x1]
00577138str xzr, [x1+32]
0057713cldr x1, [sp+48]
00577140adrp x27, 0x4d4000
00577144ldr w2, [x27+3056]
00577148cbz w2, 0x577150
0057714cb 0x577154
00577150
00577150loc_577150:
00577150b 0x57716c
00577154
00577154loc_577154:
00577154bl runtime.gcWriteBarrier2
00577158str x1, [x25]
0057715cadrp x27, 0x4aa000
00577160ldr x2, [x27+480]
00577164str x2, [x25+8]
00577168b 0x57716c
0057716c
0057716cloc_57716c:
0057716cadrp x27, 0x4aa000
00577170str x1, [x27+480]
00577174adrp x0, 0x100000
00577178add x0, x0, 3648
0057717cbl runtime.newobject
00577180str x0, [sp+40]
00577184orr x1, xzr, 1
00577188str x1, [x0]
0057718cldr x1, [sp+40]
00577190ldrsb x27, [x1]
00577194str xzr, [x1+8]
00577198ldr x1, [sp+40]
0057719cldrsb x27, [x1]
005771a0str xzr, [x1+16]
005771a4ldr x1, [sp+40]
005771a8ldrsb x27, [x1]
005771acstr xzr, [x1+24]
005771b0ldr x1, [sp+40]
005771b4ldrsb x27, [x1]
005771b8str xzr, [x1+32]
005771bcldr x1, [sp+40]
005771c0adrp x27, 0x4d4000
005771c4ldr w2, [x27+3056]
005771c8cbz w2, 0x5771d0
005771ccb 0x5771d4
005771d0
005771d0loc_5771d0:
005771d0b 0x5771ec
005771d4
005771d4loc_5771d4:
005771d4bl runtime.gcWriteBarrier2
005771d8str x1, [x25]
005771dcadrp x27, 0x4aa000
005771e0ldr x2, [x27+488]
005771e4str x2, [x25+8]
005771e8b 0x5771ec
005771ec
005771ecloc_5771ec:
005771ecadrp x27, 0x4aa000
005771f0str x1, [x27+488]
005771f4adrp x0, 0x100000
005771f8add x0, x0, 3648
005771fcbl runtime.newobject
00577200str x0, [sp+32]
00577204movz x1, 41136
00577208movk x1, 0x4a0e0000
0057720cmovk x1, 0x1b2700000000
00577210movk x1, 0x6000000000000
00577214str x1, [x0]
00577218ldr x1, [sp+32]
0057721cldrsb x27, [x1]
00577220movz x2, 6301
00577224movk x2, 0xfc8f0000
00577228movk x2, 0xd5a500000000
0057722cstr x2, [x1+8]
00577230ldr x1, [sp+32]
00577234ldrsb x27, [x1]
00577238movz x2, 3168
0057723cmovk x2, 0x9cbd0000
00577240movk x2, 0xef5e00000000
00577244movk x2, 0x7000000000000
00577248str x2, [x1+16]
0057724cldr x1, [sp+32]
00577250ldrsb x27, [x1]
00577254movz x2, 19614
00577258movk x2, 0xa6800000
0057725cmovk x2, 0x859500000000
00577260movk x2, 0x7000000000000
00577264str x2, [x1+24]
00577268ldr x1, [sp+32]
0057726cldrsb x27, [x1]
00577270movz x2, 64541
00577274movk x2, 0x48040000
00577278movk x2, 0xb83200000000
0057727cmovk x2, 0x2000000000000
00577280str x2, [x1+32]
00577284ldr x1, [sp+32]
00577288adrp x27, 0x4d4000
0057728cldr w2, [x27+3056]
00577290cbz w2, 0x577298
00577294b 0x57729c
00577298
00577298loc_577298:
00577298b 0x5772b4
0057729c
0057729cloc_57729c:
0057729cbl runtime.gcWriteBarrier2
005772a0str x1, [x25]
005772a4adrp x27, 0x4aa000
005772a8ldr x0, [x27+496]
005772acstr x0, [x25+8]
005772b0b 0x5772b4
005772b4
005772b4loc_5772b4:
005772b4adrp x27, 0x4aa000
005772b8str x1, [x27+496]
005772bcldur x29, [sp-8]
005772c0ldr x30, [sp], 64
005772c4ret x30
005772c8
005772c8loc_5772c8:
005772c8mov x3, x30
005772ccbl runtime.morestack_noctxt.abi0
005772d0b 0x5770e0
005772d4udf 0
005772d8udf 0
005772dcudf 0
005770e0
005772e0
005772e0crypto/internal/fips140/edwards25519/field.(*Element).Zero: ; void crypto/internal/fips140/edwards25519/field.(*Element).Zero(crypto/internal/fips140/edwards25519/field.Element * v)
005772e0str x30, [sp-32]!
005772e4stur x29, [sp-8]
005772e8sub x29, sp, 8
005772ecstr x0, [sp+40]
005772f0str xzr, [sp+16]
005772f4ldr x1, [sp+40]
005772f8ldrsb x27, [x1]
005772fcadrp x27, 0x4aa000
00577300ldr x2, [x27+480]
00577304ldrsb x27, [x2]
00577308ldp x3, x4, [x2]
0057730cldp x5, x6, [x2+16]
00577310stp x3, x4, [x1]
00577314stp x5, x6, [x1+16]
00577318ldr x2, [x2+32]
0057731cstr x2, [x1+32]
00577320ldr x0, [sp+40]
00577324str x0, [sp+16]
00577328add x29, sp, 24
0057732cadd sp, sp, 32
00577330ret x30
00577334udf 0
00577338udf 0
0057733cudf 0
005772e0
005772e0crypto/internal/fips140/edwards25519/field.(*Element).Zero: ; void crypto/internal/fips140/edwards25519/field.(*Element).Zero(crypto/internal/fips140/edwards25519/field.Element * v)
005772e0str x30, [sp-32]!
005772e4stur x29, [sp-8]
005772e8sub x29, sp, 8
005772ecstr x0, [sp+40]
005772f0str xzr, [sp+16]
005772f4ldr x1, [sp+40]
005772f8ldrsb x27, [x1]
005772fcadrp x27, 0x4aa000
00577300ldr x2, [x27+480]
00577304ldrsb x27, [x2]
00577308ldp x3, x4, [x2]
0057730cldp x5, x6, [x2+16]
00577310stp x3, x4, [x1]
00577314stp x5, x6, [x1+16]
00577318ldr x2, [x2+32]
0057731cstr x2, [x1+32]
00577320ldr x0, [sp+40]
00577324str x0, [sp+16]
00577328add x29, sp, 24
0057732cadd sp, sp, 32
00577330ret x30
00577334udf 0
00577338udf 0
0057733cudf 0
005772e0
00577340
00577340crypto/internal/fips140/edwards25519/field.(*Element).One: ; void crypto/internal/fips140/edwards25519/field.(*Element).One(crypto/internal/fips140/edwards25519/field.Element * v)
00577340str x30, [sp-32]!
00577344stur x29, [sp-8]
00577348sub x29, sp, 8
0057734cstr x0, [sp+40]
00577350str xzr, [sp+16]
00577354ldr x1, [sp+40]
00577358ldrsb x27, [x1]
0057735cadrp x27, 0x4aa000
00577360ldr x2, [x27+488]
00577364ldrsb x27, [x2]
00577368ldp x3, x4, [x2]
0057736cldp x5, x6, [x2+16]
00577370stp x3, x4, [x1]
00577374stp x5, x6, [x1+16]
00577378ldr x2, [x2+32]
0057737cstr x2, [x1+32]
00577380ldr x0, [sp+40]
00577384str x0, [sp+16]
00577388add x29, sp, 24
0057738cadd sp, sp, 32
00577390ret x30
00577394udf 0
00577398udf 0
0057739cudf 0
00577340
00577340crypto/internal/fips140/edwards25519/field.(*Element).One: ; void crypto/internal/fips140/edwards25519/field.(*Element).One(crypto/internal/fips140/edwards25519/field.Element * v)
00577340str x30, [sp-32]!
00577344stur x29, [sp-8]
00577348sub x29, sp, 8
0057734cstr x0, [sp+40]
00577350str xzr, [sp+16]
00577354ldr x1, [sp+40]
00577358ldrsb x27, [x1]
0057735cadrp x27, 0x4aa000
00577360ldr x2, [x27+488]
00577364ldrsb x27, [x2]
00577368ldp x3, x4, [x2]
0057736cldp x5, x6, [x2+16]
00577370stp x3, x4, [x1]
00577374stp x5, x6, [x1+16]
00577378ldr x2, [x2+32]
0057737cstr x2, [x1+32]
00577380ldr x0, [sp+40]
00577384str x0, [sp+16]
00577388add x29, sp, 24
0057738cadd sp, sp, 32
00577390ret x30
00577394udf 0
00577398udf 0
0057739cudf 0
00577340
005773a0
005773a0crypto/internal/fips140/edwards25519/field.(*Element).reduce: ; void crypto/internal/fips140/edwards25519/field.(*Element).reduce(crypto/internal/fips140/edwards25519/field.Element * v)
005773a0ldr x16, [x28+16]
005773a4subs xzr, sp, x16
005773a8b.ls 0x5775a0
005773acstr x30, [sp-48]!
005773b0stur x29, [sp-8]
005773b4sub x29, sp, 8
005773b8str x0, [sp+56]
005773bcstr xzr, [sp+32]
005773c0ldr x0, [sp+56]
005773c4bl crypto/internal/fips140/edwards25519/field.(*Element).carryPropagate
005773c8ldr x1, [sp+56]
005773ccldrsb x27, [x1]
005773d0ldr x1, [x1]
005773d4add x1, x1, 19
005773d8ubfm x2, x1, 51, 63
005773dcstr x2, [sp+24]
005773e0ldr x2, [sp+56]
005773e4ldrsb x27, [x2]
005773e8ldr x2, [x2+8]
005773ecadd x1, x2, x1, lsr #51
005773f0ubfm x2, x1, 51, 63
005773f4str x2, [sp+24]
005773f8ldr x2, [sp+56]
005773fcldrsb x27, [x2]
00577400ldr x2, [x2+16]
00577404add x1, x2, x1, lsr #51
00577408ubfm x2, x1, 51, 63
0057740cstr x2, [sp+24]
00577410ldr x2, [sp+56]
00577414ldrsb x27, [x2]
00577418ldr x2, [x2+24]
0057741cadd x1, x2, x1, lsr #51
00577420ubfm x2, x1, 51, 63
00577424str x2, [sp+24]
00577428ldr x2, [sp+56]
0057742cldrsb x27, [x2]
00577430ldr x2, [x2+32]
00577434add x1, x2, x1, lsr #51
00577438ubfm x1, x1, 51, 63
0057743cstr x1, [sp+24]
00577440ldr x2, [sp+56]
00577444ldrsb x27, [x2]
00577448ldr x3, [sp+56]
0057744cldrsb x27, [x3]
00577450ldr x3, [x3]
00577454movz x4, 19
00577458madd x1, x1, x4, x3
0057745cstr x1, [x2]
00577460ldr x1, [sp+56]
00577464ldrsb x27, [x1]
00577468ldr x2, [sp+56]
0057746cldrsb x27, [x2]
00577470ldr x2, [x2+8]
00577474ldr x3, [sp+56]
00577478ldrsb x27, [x3]
0057747cldr x3, [x3]
00577480add x2, x2, x3, lsr #51
00577484str x2, [x1+8]
00577488ldr x1, [sp+56]
0057748cldrsb x27, [x1]
00577490ldr x2, [sp+56]
00577494ldrsb x27, [x2]
00577498ldr x2, [x2]
0057749cand x2, x2, 0x7ffffffffffff
005774a0str x2, [x1]
005774a4ldr x1, [sp+56]
005774a8ldrsb x27, [x1]
005774acldr x2, [sp+56]
005774b0ldrsb x27, [x2]
005774b4ldr x2, [x2+16]
005774b8ldr x3, [sp+56]
005774bcldrsb x27, [x3]
005774c0ldr x3, [x3+8]
005774c4add x2, x2, x3, lsr #51
005774c8str x2, [x1+16]
005774ccldr x1, [sp+56]
005774d0ldrsb x27, [x1]
005774d4ldr x2, [sp+56]
005774d8ldrsb x27, [x2]
005774dcldr x2, [x2+8]
005774e0and x2, x2, 0x7ffffffffffff
005774e4str x2, [x1+8]
005774e8ldr x1, [sp+56]
005774ecldrsb x27, [x1]
005774f0ldr x2, [sp+56]
005774f4ldrsb x27, [x2]
005774f8ldr x2, [x2+24]
005774fcldr x3, [sp+56]
00577500ldrsb x27, [x3]
00577504ldr x3, [x3+16]
00577508add x2, x2, x3, lsr #51
0057750cstr x2, [x1+24]
00577510ldr x1, [sp+56]
00577514ldrsb x27, [x1]
00577518ldr x2, [sp+56]
0057751cldrsb x27, [x2]
00577520ldr x2, [x2+16]
00577524and x2, x2, 0x7ffffffffffff
00577528str x2, [x1+16]
0057752cldr x1, [sp+56]
00577530ldrsb x27, [x1]
00577534ldr x2, [sp+56]
00577538ldrsb x27, [x2]
0057753cldr x2, [x2+32]
00577540ldr x3, [sp+56]
00577544ldrsb x27, [x3]
00577548ldr x3, [x3+24]
0057754cadd x2, x2, x3, lsr #51
00577550str x2, [x1+32]
00577554ldr x1, [sp+56]
00577558ldrsb x27, [x1]
0057755cldr x2, [sp+56]
00577560ldrsb x27, [x2]
00577564ldr x2, [x2+24]
00577568and x2, x2, 0x7ffffffffffff
0057756cstr x2, [x1+24]
00577570ldr x1, [sp+56]
00577574ldrsb x27, [x1]
00577578ldr x2, [sp+56]
0057757cldrsb x27, [x2]
00577580ldr x2, [x2+32]
00577584and x2, x2, 0x7ffffffffffff
00577588str x2, [x1+32]
0057758cldr x0, [sp+56]
00577590str x0, [sp+32]
00577594ldur x29, [sp-8]
00577598ldr x30, [sp], 48
0057759cret x30
005775a0
005775a0loc_5775a0:
005775a0str x0, [sp+8]
005775a4mov x3, x30
005775a8bl runtime.morestack_noctxt.abi0
005775acldr x0, [sp+8]
005775b0b 0x5773a0
005775b4udf 0
005775b8udf 0
005775bcudf 0
005773a0
005773a0crypto/internal/fips140/edwards25519/field.(*Element).reduce: ; void crypto/internal/fips140/edwards25519/field.(*Element).reduce(crypto/internal/fips140/edwards25519/field.Element * v)
005773a0ldr x16, [x28+16]
005773a4subs xzr, sp, x16
005773a8b.ls 0x5775a0
005773acstr x30, [sp-48]!
005773b0stur x29, [sp-8]
005773b4sub x29, sp, 8
005773b8str x0, [sp+56]
005773bcstr xzr, [sp+32]
005773c0ldr x0, [sp+56]
005773c4bl crypto/internal/fips140/edwards25519/field.(*Element).carryPropagate
005773c8ldr x1, [sp+56]
005773ccldrsb x27, [x1]
005773d0ldr x1, [x1]
005773d4add x1, x1, 19
005773d8ubfm x2, x1, 51, 63
005773dcstr x2, [sp+24]
005773e0ldr x2, [sp+56]
005773e4ldrsb x27, [x2]
005773e8ldr x2, [x2+8]
005773ecadd x1, x2, x1, lsr #51
005773f0ubfm x2, x1, 51, 63
005773f4str x2, [sp+24]
005773f8ldr x2, [sp+56]
005773fcldrsb x27, [x2]
00577400ldr x2, [x2+16]
00577404add x1, x2, x1, lsr #51
00577408ubfm x2, x1, 51, 63
0057740cstr x2, [sp+24]
00577410ldr x2, [sp+56]
00577414ldrsb x27, [x2]
00577418ldr x2, [x2+24]
0057741cadd x1, x2, x1, lsr #51
00577420ubfm x2, x1, 51, 63
00577424str x2, [sp+24]
00577428ldr x2, [sp+56]
0057742cldrsb x27, [x2]
00577430ldr x2, [x2+32]
00577434add x1, x2, x1, lsr #51
00577438ubfm x1, x1, 51, 63
0057743cstr x1, [sp+24]
00577440ldr x2, [sp+56]
00577444ldrsb x27, [x2]
00577448ldr x3, [sp+56]
0057744cldrsb x27, [x3]
00577450ldr x3, [x3]
00577454movz x4, 19
00577458madd x1, x1, x4, x3
0057745cstr x1, [x2]
00577460ldr x1, [sp+56]
00577464ldrsb x27, [x1]
00577468ldr x2, [sp+56]
0057746cldrsb x27, [x2]
00577470ldr x2, [x2+8]
00577474ldr x3, [sp+56]
00577478ldrsb x27, [x3]
0057747cldr x3, [x3]
00577480add x2, x2, x3, lsr #51
00577484str x2, [x1+8]
00577488ldr x1, [sp+56]
0057748cldrsb x27, [x1]
00577490ldr x2, [sp+56]
00577494ldrsb x27, [x2]
00577498ldr x2, [x2]
0057749cand x2, x2, 0x7ffffffffffff
005774a0str x2, [x1]
005774a4ldr x1, [sp+56]
005774a8ldrsb x27, [x1]
005774acldr x2, [sp+56]
005774b0ldrsb x27, [x2]
005774b4ldr x2, [x2+16]
005774b8ldr x3, [sp+56]
005774bcldrsb x27, [x3]
005774c0ldr x3, [x3+8]
005774c4add x2, x2, x3, lsr #51
005774c8str x2, [x1+16]
005774ccldr x1, [sp+56]
005774d0ldrsb x27, [x1]
005774d4ldr x2, [sp+56]
005774d8ldrsb x27, [x2]
005774dcldr x2, [x2+8]
005774e0and x2, x2, 0x7ffffffffffff
005774e4str x2, [x1+8]
005774e8ldr x1, [sp+56]
005774ecldrsb x27, [x1]
005774f0ldr x2, [sp+56]
005774f4ldrsb x27, [x2]
005774f8ldr x2, [x2+24]
005774fcldr x3, [sp+56]
00577500ldrsb x27, [x3]
00577504ldr x3, [x3+16]
00577508add x2, x2, x3, lsr #51
0057750cstr x2, [x1+24]
00577510ldr x1, [sp+56]
00577514ldrsb x27, [x1]
00577518ldr x2, [sp+56]
0057751cldrsb x27, [x2]
00577520ldr x2, [x2+16]
00577524and x2, x2, 0x7ffffffffffff
00577528str x2, [x1+16]
0057752cldr x1, [sp+56]
00577530ldrsb x27, [x1]
00577534ldr x2, [sp+56]
00577538ldrsb x27, [x2]
0057753cldr x2, [x2+32]
00577540ldr x3, [sp+56]
00577544ldrsb x27, [x3]
00577548ldr x3, [x3+24]
0057754cadd x2, x2, x3, lsr #51
00577550str x2, [x1+32]
00577554ldr x1, [sp+56]
00577558ldrsb x27, [x1]
0057755cldr x2, [sp+56]
00577560ldrsb x27, [x2]
00577564ldr x2, [x2+24]
00577568and x2, x2, 0x7ffffffffffff
0057756cstr x2, [x1+24]
00577570ldr x1, [sp+56]
00577574ldrsb x27, [x1]
00577578ldr x2, [sp+56]
0057757cldrsb x27, [x2]
00577580ldr x2, [x2+32]
00577584and x2, x2, 0x7ffffffffffff
00577588str x2, [x1+32]
0057758cldr x0, [sp+56]
00577590str x0, [sp+32]
00577594ldur x29, [sp-8]
00577598ldr x30, [sp], 48
0057759cret x30
005775a0
005775a0loc_5775a0:
005775a0str x0, [sp+8]
005775a4mov x3, x30
005775a8bl runtime.morestack_noctxt.abi0
005775acldr x0, [sp+8]
005775b0b 0x5773a0
005775b4udf 0
005775b8udf 0
005775bcudf 0
005773a0
005775c0
005775c0crypto/internal/fips140/edwards25519/field.(*Element).Add: ; void crypto/internal/fips140/edwards25519/field.(*Element).Add(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * a, crypto/internal/fips140/edwards25519/field.Element * b)
005775c0ldr x16, [x28+16]
005775c4subs xzr, sp, x16
005775c8b.ls 0x5776cc
005775ccstr x30, [sp-48]!
005775d0stur x29, [sp-8]
005775d4sub x29, sp, 8
005775d8str x0, [sp+56]
005775dcstr x1, [sp+64]
005775e0str x2, [sp+72]
005775e4str xzr, [sp+24]
005775e8ldr x1, [sp+56]
005775ecldrsb x27, [x1]
005775f0ldr x2, [sp+64]
005775f4ldrsb x27, [x2]
005775f8ldr x2, [x2]
005775fcldr x3, [sp+72]
00577600ldrsb x27, [x3]
00577604ldr x3, [x3]
00577608add x2, x2, x3
0057760cstr x2, [x1]
00577610ldr x1, [sp+56]
00577614ldrsb x27, [x1]
00577618ldr x2, [sp+64]
0057761cldrsb x27, [x2]
00577620ldr x2, [x2+8]
00577624ldr x3, [sp+72]
00577628ldrsb x27, [x3]
0057762cldr x3, [x3+8]
00577630add x2, x2, x3
00577634str x2, [x1+8]
00577638ldr x1, [sp+56]
0057763cldrsb x27, [x1]
00577640ldr x2, [sp+64]
00577644ldrsb x27, [x2]
00577648ldr x2, [x2+16]
0057764cldr x3, [sp+72]
00577650ldrsb x27, [x3]
00577654ldr x3, [x3+16]
00577658add x2, x2, x3
0057765cstr x2, [x1+16]
00577660ldr x1, [sp+56]
00577664ldrsb x27, [x1]
00577668ldr x2, [sp+64]
0057766cldrsb x27, [x2]
00577670ldr x2, [x2+24]
00577674ldr x3, [sp+72]
00577678ldrsb x27, [x3]
0057767cldr x3, [x3+24]
00577680add x2, x2, x3
00577684str x2, [x1+24]
00577688ldr x1, [sp+56]
0057768cldrsb x27, [x1]
00577690ldr x2, [sp+64]
00577694ldrsb x27, [x2]
00577698ldr x2, [x2+32]
0057769cldr x3, [sp+72]
005776a0ldrsb x27, [x3]
005776a4ldr x3, [x3+32]
005776a8add x2, x2, x3
005776acstr x2, [x1+32]
005776b0ldr x0, [sp+56]
005776b4bl crypto/internal/fips140/edwards25519/field.(*Element).carryPropagateGeneric
005776b8str x0, [sp+32]
005776bcstr x0, [sp+24]
005776c0ldur x29, [sp-8]
005776c4ldr x30, [sp], 48
005776c8ret x30
005776cc
005776ccloc_5776cc:
005776ccstp x0, x1, [sp+8]
005776d0str x2, [sp+24]
005776d4mov x3, x30
005776d8bl runtime.morestack_noctxt.abi0
005776dcldp x0, x1, [sp+8]
005776e0ldr x2, [sp+24]
005776e4b 0x5775c0
005776e8udf 0
005776ecudf 0
005775c0
005775c0crypto/internal/fips140/edwards25519/field.(*Element).Add: ; void crypto/internal/fips140/edwards25519/field.(*Element).Add(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * a, crypto/internal/fips140/edwards25519/field.Element * b)
005775c0ldr x16, [x28+16]
005775c4subs xzr, sp, x16
005775c8b.ls 0x5776cc
005775ccstr x30, [sp-48]!
005775d0stur x29, [sp-8]
005775d4sub x29, sp, 8
005775d8str x0, [sp+56]
005775dcstr x1, [sp+64]
005775e0str x2, [sp+72]
005775e4str xzr, [sp+24]
005775e8ldr x1, [sp+56]
005775ecldrsb x27, [x1]
005775f0ldr x2, [sp+64]
005775f4ldrsb x27, [x2]
005775f8ldr x2, [x2]
005775fcldr x3, [sp+72]
00577600ldrsb x27, [x3]
00577604ldr x3, [x3]
00577608add x2, x2, x3
0057760cstr x2, [x1]
00577610ldr x1, [sp+56]
00577614ldrsb x27, [x1]
00577618ldr x2, [sp+64]
0057761cldrsb x27, [x2]
00577620ldr x2, [x2+8]
00577624ldr x3, [sp+72]
00577628ldrsb x27, [x3]
0057762cldr x3, [x3+8]
00577630add x2, x2, x3
00577634str x2, [x1+8]
00577638ldr x1, [sp+56]
0057763cldrsb x27, [x1]
00577640ldr x2, [sp+64]
00577644ldrsb x27, [x2]
00577648ldr x2, [x2+16]
0057764cldr x3, [sp+72]
00577650ldrsb x27, [x3]
00577654ldr x3, [x3+16]
00577658add x2, x2, x3
0057765cstr x2, [x1+16]
00577660ldr x1, [sp+56]
00577664ldrsb x27, [x1]
00577668ldr x2, [sp+64]
0057766cldrsb x27, [x2]
00577670ldr x2, [x2+24]
00577674ldr x3, [sp+72]
00577678ldrsb x27, [x3]
0057767cldr x3, [x3+24]
00577680add x2, x2, x3
00577684str x2, [x1+24]
00577688ldr x1, [sp+56]
0057768cldrsb x27, [x1]
00577690ldr x2, [sp+64]
00577694ldrsb x27, [x2]
00577698ldr x2, [x2+32]
0057769cldr x3, [sp+72]
005776a0ldrsb x27, [x3]
005776a4ldr x3, [x3+32]
005776a8add x2, x2, x3
005776acstr x2, [x1+32]
005776b0ldr x0, [sp+56]
005776b4bl crypto/internal/fips140/edwards25519/field.(*Element).carryPropagateGeneric
005776b8str x0, [sp+32]
005776bcstr x0, [sp+24]
005776c0ldur x29, [sp-8]
005776c4ldr x30, [sp], 48
005776c8ret x30
005776cc
005776ccloc_5776cc:
005776ccstp x0, x1, [sp+8]
005776d0str x2, [sp+24]
005776d4mov x3, x30
005776d8bl runtime.morestack_noctxt.abi0
005776dcldp x0, x1, [sp+8]
005776e0ldr x2, [sp+24]
005776e4b 0x5775c0
005776e8udf 0
005776ecudf 0
005775c0
005776f0
005776f0crypto/internal/fips140/edwards25519/field.(*Element).Subtract: ; void crypto/internal/fips140/edwards25519/field.(*Element).Subtract(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * a, crypto/internal/fips140/edwards25519/field.Element * b)
005776f0ldr x16, [x28+16]
005776f4subs xzr, sp, x16
005776f8b.ls 0x577828
005776fcstr x30, [sp-48]!
00577700stur x29, [sp-8]
00577704sub x29, sp, 8
00577708str x0, [sp+56]
0057770cstr x1, [sp+64]
00577710str x2, [sp+72]
00577714str xzr, [sp+24]
00577718ldr x1, [sp+56]
0057771cldrsb x27, [x1]
00577720ldr x2, [sp+64]
00577724ldrsb x27, [x2]
00577728ldr x2, [x2]
0057772cldr x3, [sp+72]
00577730ldrsb x27, [x3]
00577734ldr x3, [x3]
00577738sub x2, x2, x3
0057773cmovn x3, 37
00577740movk x3, 0xf000000000000
00577744add x2, x2, x3
00577748str x2, [x1]
0057774cldr x1, [sp+56]
00577750ldrsb x27, [x1]
00577754ldr x2, [sp+64]
00577758ldrsb x27, [x2]
0057775cldr x2, [x2+8]
00577760ldr x3, [sp+72]
00577764ldrsb x27, [x3]
00577768ldr x3, [x3+8]
0057776csub x2, x2, x3
00577770orr x3, xzr, 0xffffffffffffe
00577774add x2, x2, x3
00577778str x2, [x1+8]
0057777cldr x1, [sp+56]
00577780ldrsb x27, [x1]
00577784ldr x2, [sp+64]
00577788ldrsb x27, [x2]
0057778cldr x2, [x2+16]
00577790ldr x3, [sp+72]
00577794ldrsb x27, [x3]
00577798ldr x3, [x3+16]
0057779csub x2, x2, x3
005777a0orr x3, xzr, 0xffffffffffffe
005777a4add x2, x2, x3
005777a8str x2, [x1+16]
005777acldr x1, [sp+56]
005777b0ldrsb x27, [x1]
005777b4ldr x2, [sp+64]
005777b8ldrsb x27, [x2]
005777bcldr x2, [x2+24]
005777c0ldr x3, [sp+72]
005777c4ldrsb x27, [x3]
005777c8ldr x3, [x3+24]
005777ccsub x2, x2, x3
005777d0orr x3, xzr, 0xffffffffffffe
005777d4add x2, x2, x3
005777d8str x2, [x1+24]
005777dcldr x1, [sp+56]
005777e0ldrsb x27, [x1]
005777e4ldr x2, [sp+64]
005777e8ldrsb x27, [x2]
005777ecldr x2, [x2+32]
005777f0ldr x3, [sp+72]
005777f4ldrsb x27, [x3]
005777f8ldr x3, [x3+32]
005777fcsub x2, x2, x3
00577800orr x3, xzr, 0xffffffffffffe
00577804add x2, x2, x3
00577808str x2, [x1+32]
0057780cldr x0, [sp+56]
00577810bl crypto/internal/fips140/edwards25519/field.(*Element).carryPropagate
00577814str x0, [sp+32]
00577818str x0, [sp+24]
0057781cldur x29, [sp-8]
00577820ldr x30, [sp], 48
00577824ret x30
00577828
00577828loc_577828:
00577828stp x0, x1, [sp+8]
0057782cstr x2, [sp+24]
00577830mov x3, x30
00577834bl runtime.morestack_noctxt.abi0
00577838ldp x0, x1, [sp+8]
0057783cldr x2, [sp+24]
00577840b 0x5776f0
00577844udf 0
00577848udf 0
0057784cudf 0
005776f0
005776f0crypto/internal/fips140/edwards25519/field.(*Element).Subtract: ; void crypto/internal/fips140/edwards25519/field.(*Element).Subtract(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * a, crypto/internal/fips140/edwards25519/field.Element * b)
005776f0ldr x16, [x28+16]
005776f4subs xzr, sp, x16
005776f8b.ls 0x577828
005776fcstr x30, [sp-48]!
00577700stur x29, [sp-8]
00577704sub x29, sp, 8
00577708str x0, [sp+56]
0057770cstr x1, [sp+64]
00577710str x2, [sp+72]
00577714str xzr, [sp+24]
00577718ldr x1, [sp+56]
0057771cldrsb x27, [x1]
00577720ldr x2, [sp+64]
00577724ldrsb x27, [x2]
00577728ldr x2, [x2]
0057772cldr x3, [sp+72]
00577730ldrsb x27, [x3]
00577734ldr x3, [x3]
00577738sub x2, x2, x3
0057773cmovn x3, 37
00577740movk x3, 0xf000000000000
00577744add x2, x2, x3
00577748str x2, [x1]
0057774cldr x1, [sp+56]
00577750ldrsb x27, [x1]
00577754ldr x2, [sp+64]
00577758ldrsb x27, [x2]
0057775cldr x2, [x2+8]
00577760ldr x3, [sp+72]
00577764ldrsb x27, [x3]
00577768ldr x3, [x3+8]
0057776csub x2, x2, x3
00577770orr x3, xzr, 0xffffffffffffe
00577774add x2, x2, x3
00577778str x2, [x1+8]
0057777cldr x1, [sp+56]
00577780ldrsb x27, [x1]
00577784ldr x2, [sp+64]
00577788ldrsb x27, [x2]
0057778cldr x2, [x2+16]
00577790ldr x3, [sp+72]
00577794ldrsb x27, [x3]
00577798ldr x3, [x3+16]
0057779csub x2, x2, x3
005777a0orr x3, xzr, 0xffffffffffffe
005777a4add x2, x2, x3
005777a8str x2, [x1+16]
005777acldr x1, [sp+56]
005777b0ldrsb x27, [x1]
005777b4ldr x2, [sp+64]
005777b8ldrsb x27, [x2]
005777bcldr x2, [x2+24]
005777c0ldr x3, [sp+72]
005777c4ldrsb x27, [x3]
005777c8ldr x3, [x3+24]
005777ccsub x2, x2, x3
005777d0orr x3, xzr, 0xffffffffffffe
005777d4add x2, x2, x3
005777d8str x2, [x1+24]
005777dcldr x1, [sp+56]
005777e0ldrsb x27, [x1]
005777e4ldr x2, [sp+64]
005777e8ldrsb x27, [x2]
005777ecldr x2, [x2+32]
005777f0ldr x3, [sp+72]
005777f4ldrsb x27, [x3]
005777f8ldr x3, [x3+32]
005777fcsub x2, x2, x3
00577800orr x3, xzr, 0xffffffffffffe
00577804add x2, x2, x3
00577808str x2, [x1+32]
0057780cldr x0, [sp+56]
00577810bl crypto/internal/fips140/edwards25519/field.(*Element).carryPropagate
00577814str x0, [sp+32]
00577818str x0, [sp+24]
0057781cldur x29, [sp-8]
00577820ldr x30, [sp], 48
00577824ret x30
00577828
00577828loc_577828:
00577828stp x0, x1, [sp+8]
0057782cstr x2, [sp+24]
00577830mov x3, x30
00577834bl runtime.morestack_noctxt.abi0
00577838ldp x0, x1, [sp+8]
0057783cldr x2, [sp+24]
00577840b 0x5776f0
00577844udf 0
00577848udf 0
0057784cudf 0
005776f0
00577850
00577850crypto/internal/fips140/edwards25519/field.(*Element).Negate: ; void crypto/internal/fips140/edwards25519/field.(*Element).Negate(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * a)
00577850ldr x16, [x28+16]
00577854subs xzr, sp, x16
00577858b.ls 0x57789c
0057785cstr x30, [sp-64]!
00577860stur x29, [sp-8]
00577864sub x29, sp, 8
00577868str x0, [sp+72]
0057786cstr x1, [sp+80]
00577870str xzr, [sp+40]
00577874adrp x27, 0x4aa000
00577878ldr x1, [x27+480]
0057787cldr x2, [sp+80]
00577880ldr x0, [sp+72]
00577884bl crypto/internal/fips140/edwards25519/field.(*Element).Subtract
00577888str x0, [sp+48]
0057788cstr x0, [sp+40]
00577890ldur x29, [sp-8]
00577894ldr x30, [sp], 64
00577898ret x30
0057789c
0057789cloc_57789c:
0057789cstp x0, x1, [sp+8]
005778a0mov x3, x30
005778a4bl runtime.morestack_noctxt.abi0
005778a8ldp x0, x1, [sp+8]
005778acb 0x577850
00577850
00577850crypto/internal/fips140/edwards25519/field.(*Element).Negate: ; void crypto/internal/fips140/edwards25519/field.(*Element).Negate(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * a)
00577850ldr x16, [x28+16]
00577854subs xzr, sp, x16
00577858b.ls 0x57789c
0057785cstr x30, [sp-64]!
00577860stur x29, [sp-8]
00577864sub x29, sp, 8
00577868str x0, [sp+72]
0057786cstr x1, [sp+80]
00577870str xzr, [sp+40]
00577874adrp x27, 0x4aa000
00577878ldr x1, [x27+480]
0057787cldr x2, [sp+80]
00577880ldr x0, [sp+72]
00577884bl crypto/internal/fips140/edwards25519/field.(*Element).Subtract
00577888str x0, [sp+48]
0057788cstr x0, [sp+40]
00577890ldur x29, [sp-8]
00577894ldr x30, [sp], 64
00577898ret x30
0057789c
0057789cloc_57789c:
0057789cstp x0, x1, [sp+8]
005778a0mov x3, x30
005778a4bl runtime.morestack_noctxt.abi0
005778a8ldp x0, x1, [sp+8]
005778acb 0x577850
00577850
005778b0
005778b0crypto/internal/fips140/edwards25519/field.(*Element).Invert: ; void crypto/internal/fips140/edwards25519/field.(*Element).Invert(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * z)
005778b0ldr x16, [x28+16]
005778b4sub x17, sp, 352
005778b8subs xzr, x17, x16
005778bcb.ls 0x577c54
005778c0sub x20, sp, 480
005778c4stp x29, x30, [x20-8]
005778c8add sp, x20, 0
005778ccsub x29, sp, 8
005778d0str x0, [sp+488]
005778d4str x1, [sp+496]
005778d8str xzr, [sp+456]
005778dcstp xzr, xzr, [sp+280]
005778e0stp xzr, xzr, [sp+296]
005778e4str xzr, [sp+312]
005778e8stp xzr, xzr, [sp+40]
005778ecstp xzr, xzr, [sp+56]
005778f0str xzr, [sp+72]
005778f4stp xzr, xzr, [sp+320]
005778f8stp xzr, xzr, [sp+336]
005778fcstr xzr, [sp+352]
00577900stp xzr, xzr, [sp+80]
00577904stp xzr, xzr, [sp+96]
00577908str xzr, [sp+112]
0057790cstp xzr, xzr, [sp+200]
00577910stp xzr, xzr, [sp+216]
00577914str xzr, [sp+232]
00577918stp xzr, xzr, [sp+160]
0057791cstp xzr, xzr, [sp+176]
00577920str xzr, [sp+192]
00577924stp xzr, xzr, [sp+120]
00577928stp xzr, xzr, [sp+136]
0057792cstr xzr, [sp+152]
00577930stp xzr, xzr, [sp+240]
00577934stp xzr, xzr, [sp+256]
00577938str xzr, [sp+272]
0057793cstp xzr, xzr, [sp+360]
00577940stp xzr, xzr, [sp+376]
00577944str xzr, [sp+392]
00577948ldr x1, [sp+496]
0057794cadd x0, sp, 280
00577950bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00577954add x0, sp, 360
00577958add x1, sp, 280
0057795cbl crypto/internal/fips140/edwards25519/field.(*Element).Square
00577960add x0, sp, 360
00577964add x1, sp, 360
00577968bl crypto/internal/fips140/edwards25519/field.(*Element).Square
0057796cldr x2, [sp+496]
00577970add x0, sp, 40
00577974add x1, sp, 360
00577978bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
0057797cadd x0, sp, 320
00577980add x1, sp, 40
00577984add x2, sp, 280
00577988bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
0057798cadd x0, sp, 360
00577990add x1, sp, 320
00577994bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00577998add x0, sp, 80
0057799cadd x1, sp, 360
005779a0add x2, sp, 40
005779a4bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
005779a8add x0, sp, 360
005779acadd x1, sp, 80
005779b0bl crypto/internal/fips140/edwards25519/field.(*Element).Square
005779b4str xzr, [sp+448]
005779b8b 0x5779bc
005779bc
005779bcloc_5779bc:
005779bcldr x3, [sp+448]
005779c0subs xzr, x3, 4
005779c4b.lt 0x5779cc
005779c8b 0x5779ec
005779cc
005779ccloc_5779cc:
005779ccadd x0, sp, 360
005779d0add x1, sp, 360
005779d4bl crypto/internal/fips140/edwards25519/field.(*Element).Square
005779d8b 0x5779dc
005779dc
005779dcloc_5779dc:
005779dcldr x3, [sp+448]
005779e0add x3, x3, 1
005779e4str x3, [sp+448]
005779e8b 0x5779bc
005779ec
005779ecloc_5779ec:
005779ecadd x0, sp, 200
005779f0add x1, sp, 360
005779f4add x2, sp, 80
005779f8bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
005779fcadd x0, sp, 360
00577a00add x1, sp, 200
00577a04bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00577a08str xzr, [sp+440]
00577a0cb 0x577a10
00577a10
00577a10loc_577a10:
00577a10ldr x3, [sp+440]
00577a14subs xzr, x3, 9
00577a18b.lt 0x577a20
00577a1cb 0x577a40
00577a20
00577a20loc_577a20:
00577a20add x0, sp, 360
00577a24add x1, sp, 360
00577a28bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00577a2cb 0x577a30
00577a30
00577a30loc_577a30:
00577a30ldr x3, [sp+440]
00577a34add x3, x3, 1
00577a38str x3, [sp+440]
00577a3cb 0x577a10
00577a40
00577a40loc_577a40:
00577a40add x0, sp, 160
00577a44add x1, sp, 360
00577a48add x2, sp, 200
00577a4cbl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00577a50add x0, sp, 360
00577a54add x1, sp, 160
00577a58bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00577a5cstr xzr, [sp+432]
00577a60b 0x577a64
00577a64
00577a64loc_577a64:
00577a64ldr x3, [sp+432]
00577a68subs xzr, x3, 19
00577a6cb.lt 0x577a74
00577a70b 0x577a94
00577a74
00577a74loc_577a74:
00577a74add x0, sp, 360
00577a78add x1, sp, 360
00577a7cbl crypto/internal/fips140/edwards25519/field.(*Element).Square
00577a80b 0x577a84
00577a84
00577a84loc_577a84:
00577a84ldr x3, [sp+432]
00577a88add x3, x3, 1
00577a8cstr x3, [sp+432]
00577a90b 0x577a64
00577a94
00577a94loc_577a94:
00577a94add x0, sp, 360
00577a98add x1, sp, 360
00577a9cadd x2, sp, 160
00577aa0bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00577aa4add x0, sp, 360
00577aa8add x1, sp, 360
00577aacbl crypto/internal/fips140/edwards25519/field.(*Element).Square
00577ab0str xzr, [sp+424]
00577ab4b 0x577ab8
00577ab8
00577ab8loc_577ab8:
00577ab8ldr x3, [sp+424]
00577abcsubs xzr, x3, 9
00577ac0b.lt 0x577ac8
00577ac4b 0x577ae8
00577ac8
00577ac8loc_577ac8:
00577ac8add x0, sp, 360
00577accadd x1, sp, 360
00577ad0bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00577ad4b 0x577ad8
00577ad8
00577ad8loc_577ad8:
00577ad8ldr x3, [sp+424]
00577adcadd x3, x3, 1
00577ae0str x3, [sp+424]
00577ae4b 0x577ab8
00577ae8
00577ae8loc_577ae8:
00577ae8add x0, sp, 120
00577aecadd x1, sp, 360
00577af0add x2, sp, 200
00577af4bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00577af8add x0, sp, 360
00577afcadd x1, sp, 120
00577b00bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00577b04str xzr, [sp+416]
00577b08b 0x577b0c
00577b0c
00577b0cloc_577b0c:
00577b0cldr x3, [sp+416]
00577b10subs xzr, x3, 49
00577b14b.lt 0x577b1c
00577b18b 0x577b3c
00577b1c
00577b1cloc_577b1c:
00577b1cadd x0, sp, 360
00577b20add x1, sp, 360
00577b24bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00577b28b 0x577b2c
00577b2c
00577b2cloc_577b2c:
00577b2cldr x3, [sp+416]
00577b30add x3, x3, 1
00577b34str x3, [sp+416]
00577b38b 0x577b0c
00577b3c
00577b3cloc_577b3c:
00577b3cadd x0, sp, 240
00577b40add x1, sp, 360
00577b44add x2, sp, 120
00577b48bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00577b4cadd x0, sp, 360
00577b50add x1, sp, 240
00577b54bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00577b58str xzr, [sp+408]
00577b5cb 0x577b60
00577b60
00577b60loc_577b60:
00577b60ldr x3, [sp+408]
00577b64subs xzr, x3, 99
00577b68b.lt 0x577b70
00577b6cb 0x577b90
00577b70
00577b70loc_577b70:
00577b70add x0, sp, 360
00577b74add x1, sp, 360
00577b78bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00577b7cb 0x577b80
00577b80
00577b80loc_577b80:
00577b80ldr x3, [sp+408]
00577b84add x3, x3, 1
00577b88str x3, [sp+408]
00577b8cb 0x577b60
00577b90
00577b90loc_577b90:
00577b90add x0, sp, 360
00577b94add x1, sp, 360
00577b98add x2, sp, 240
00577b9cbl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00577ba0add x0, sp, 360
00577ba4add x1, sp, 360
00577ba8bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00577bacstr xzr, [sp+400]
00577bb0b 0x577bb4
00577bb4
00577bb4loc_577bb4:
00577bb4ldr x3, [sp+400]
00577bb8subs xzr, x3, 49
00577bbcb.lt 0x577bc4
00577bc0b 0x577be4
00577bc4
00577bc4loc_577bc4:
00577bc4add x0, sp, 360
00577bc8add x1, sp, 360
00577bccbl crypto/internal/fips140/edwards25519/field.(*Element).Square
00577bd0b 0x577bd4
00577bd4
00577bd4loc_577bd4:
00577bd4ldr x3, [sp+400]
00577bd8add x3, x3, 1
00577bdcstr x3, [sp+400]
00577be0b 0x577bb4
00577be4
00577be4loc_577be4:
00577be4add x0, sp, 360
00577be8add x1, sp, 360
00577becadd x2, sp, 120
00577bf0bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00577bf4add x0, sp, 360
00577bf8add x1, sp, 360
00577bfcbl crypto/internal/fips140/edwards25519/field.(*Element).Square
00577c00add x0, sp, 360
00577c04add x1, sp, 360
00577c08bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00577c0cadd x0, sp, 360
00577c10add x1, sp, 360
00577c14bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00577c18add x0, sp, 360
00577c1cadd x1, sp, 360
00577c20bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00577c24add x0, sp, 360
00577c28add x1, sp, 360
00577c2cbl crypto/internal/fips140/edwards25519/field.(*Element).Square
00577c30ldr x0, [sp+488]
00577c34add x1, sp, 360
00577c38add x2, sp, 320
00577c3cbl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00577c40str x0, [sp+464]
00577c44str x0, [sp+456]
00577c48ldp x29, x30, [sp-8]
00577c4cadd sp, sp, 480
00577c50ret x30
00577c54
00577c54loc_577c54:
00577c54stp x0, x1, [sp+8]
00577c58mov x3, x30
00577c5cbl runtime.morestack_noctxt.abi0
00577c60ldp x0, x1, [sp+8]
00577c64b 0x5778b0
00577c68udf 0
00577c6cudf 0
005778b0
005778b0crypto/internal/fips140/edwards25519/field.(*Element).Invert: ; void crypto/internal/fips140/edwards25519/field.(*Element).Invert(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * z)
005778b0ldr x16, [x28+16]
005778b4sub x17, sp, 352
005778b8subs xzr, x17, x16
005778bcb.ls 0x577c54
005778c0sub x20, sp, 480
005778c4stp x29, x30, [x20-8]
005778c8add sp, x20, 0
005778ccsub x29, sp, 8
005778d0str x0, [sp+488]
005778d4str x1, [sp+496]
005778d8str xzr, [sp+456]
005778dcstp xzr, xzr, [sp+280]
005778e0stp xzr, xzr, [sp+296]
005778e4str xzr, [sp+312]
005778e8stp xzr, xzr, [sp+40]
005778ecstp xzr, xzr, [sp+56]
005778f0str xzr, [sp+72]
005778f4stp xzr, xzr, [sp+320]
005778f8stp xzr, xzr, [sp+336]
005778fcstr xzr, [sp+352]
00577900stp xzr, xzr, [sp+80]
00577904stp xzr, xzr, [sp+96]
00577908str xzr, [sp+112]
0057790cstp xzr, xzr, [sp+200]
00577910stp xzr, xzr, [sp+216]
00577914str xzr, [sp+232]
00577918stp xzr, xzr, [sp+160]
0057791cstp xzr, xzr, [sp+176]
00577920str xzr, [sp+192]
00577924stp xzr, xzr, [sp+120]
00577928stp xzr, xzr, [sp+136]
0057792cstr xzr, [sp+152]
00577930stp xzr, xzr, [sp+240]
00577934stp xzr, xzr, [sp+256]
00577938str xzr, [sp+272]
0057793cstp xzr, xzr, [sp+360]
00577940stp xzr, xzr, [sp+376]
00577944str xzr, [sp+392]
00577948ldr x1, [sp+496]
0057794cadd x0, sp, 280
00577950bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00577954add x0, sp, 360
00577958add x1, sp, 280
0057795cbl crypto/internal/fips140/edwards25519/field.(*Element).Square
00577960add x0, sp, 360
00577964add x1, sp, 360
00577968bl crypto/internal/fips140/edwards25519/field.(*Element).Square
0057796cldr x2, [sp+496]
00577970add x0, sp, 40
00577974add x1, sp, 360
00577978bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
0057797cadd x0, sp, 320
00577980add x1, sp, 40
00577984add x2, sp, 280
00577988bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
0057798cadd x0, sp, 360
00577990add x1, sp, 320
00577994bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00577998add x0, sp, 80
0057799cadd x1, sp, 360
005779a0add x2, sp, 40
005779a4bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
005779a8add x0, sp, 360
005779acadd x1, sp, 80
005779b0bl crypto/internal/fips140/edwards25519/field.(*Element).Square
005779b4str xzr, [sp+448]
005779b8b 0x5779bc
005779bc
005779bcloc_5779bc:
005779bcldr x3, [sp+448]
005779c0subs xzr, x3, 4
005779c4b.lt 0x5779cc
005779c8b 0x5779ec
005779cc
005779ccloc_5779cc:
005779ccadd x0, sp, 360
005779d0add x1, sp, 360
005779d4bl crypto/internal/fips140/edwards25519/field.(*Element).Square
005779d8b 0x5779dc
005779dc
005779dcloc_5779dc:
005779dcldr x3, [sp+448]
005779e0add x3, x3, 1
005779e4str x3, [sp+448]
005779e8b 0x5779bc
005779ec
005779ecloc_5779ec:
005779ecadd x0, sp, 200
005779f0add x1, sp, 360
005779f4add x2, sp, 80
005779f8bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
005779fcadd x0, sp, 360
00577a00add x1, sp, 200
00577a04bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00577a08str xzr, [sp+440]
00577a0cb 0x577a10
00577a10
00577a10loc_577a10:
00577a10ldr x3, [sp+440]
00577a14subs xzr, x3, 9
00577a18b.lt 0x577a20
00577a1cb 0x577a40
00577a20
00577a20loc_577a20:
00577a20add x0, sp, 360
00577a24add x1, sp, 360
00577a28bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00577a2cb 0x577a30
00577a30
00577a30loc_577a30:
00577a30ldr x3, [sp+440]
00577a34add x3, x3, 1
00577a38str x3, [sp+440]
00577a3cb 0x577a10
00577a40
00577a40loc_577a40:
00577a40add x0, sp, 160
00577a44add x1, sp, 360
00577a48add x2, sp, 200
00577a4cbl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00577a50add x0, sp, 360
00577a54add x1, sp, 160
00577a58bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00577a5cstr xzr, [sp+432]
00577a60b 0x577a64
00577a64
00577a64loc_577a64:
00577a64ldr x3, [sp+432]
00577a68subs xzr, x3, 19
00577a6cb.lt 0x577a74
00577a70b 0x577a94
00577a74
00577a74loc_577a74:
00577a74add x0, sp, 360
00577a78add x1, sp, 360
00577a7cbl crypto/internal/fips140/edwards25519/field.(*Element).Square
00577a80b 0x577a84
00577a84
00577a84loc_577a84:
00577a84ldr x3, [sp+432]
00577a88add x3, x3, 1
00577a8cstr x3, [sp+432]
00577a90b 0x577a64
00577a94
00577a94loc_577a94:
00577a94add x0, sp, 360
00577a98add x1, sp, 360
00577a9cadd x2, sp, 160
00577aa0bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00577aa4add x0, sp, 360
00577aa8add x1, sp, 360
00577aacbl crypto/internal/fips140/edwards25519/field.(*Element).Square
00577ab0str xzr, [sp+424]
00577ab4b 0x577ab8
00577ab8
00577ab8loc_577ab8:
00577ab8ldr x3, [sp+424]
00577abcsubs xzr, x3, 9
00577ac0b.lt 0x577ac8
00577ac4b 0x577ae8
00577ac8
00577ac8loc_577ac8:
00577ac8add x0, sp, 360
00577accadd x1, sp, 360
00577ad0bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00577ad4b 0x577ad8
00577ad8
00577ad8loc_577ad8:
00577ad8ldr x3, [sp+424]
00577adcadd x3, x3, 1
00577ae0str x3, [sp+424]
00577ae4b 0x577ab8
00577ae8
00577ae8loc_577ae8:
00577ae8add x0, sp, 120
00577aecadd x1, sp, 360
00577af0add x2, sp, 200
00577af4bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00577af8add x0, sp, 360
00577afcadd x1, sp, 120
00577b00bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00577b04str xzr, [sp+416]
00577b08b 0x577b0c
00577b0c
00577b0cloc_577b0c:
00577b0cldr x3, [sp+416]
00577b10subs xzr, x3, 49
00577b14b.lt 0x577b1c
00577b18b 0x577b3c
00577b1c
00577b1cloc_577b1c:
00577b1cadd x0, sp, 360
00577b20add x1, sp, 360
00577b24bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00577b28b 0x577b2c
00577b2c
00577b2cloc_577b2c:
00577b2cldr x3, [sp+416]
00577b30add x3, x3, 1
00577b34str x3, [sp+416]
00577b38b 0x577b0c
00577b3c
00577b3cloc_577b3c:
00577b3cadd x0, sp, 240
00577b40add x1, sp, 360
00577b44add x2, sp, 120
00577b48bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00577b4cadd x0, sp, 360
00577b50add x1, sp, 240
00577b54bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00577b58str xzr, [sp+408]
00577b5cb 0x577b60
00577b60
00577b60loc_577b60:
00577b60ldr x3, [sp+408]
00577b64subs xzr, x3, 99
00577b68b.lt 0x577b70
00577b6cb 0x577b90
00577b70
00577b70loc_577b70:
00577b70add x0, sp, 360
00577b74add x1, sp, 360
00577b78bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00577b7cb 0x577b80
00577b80
00577b80loc_577b80:
00577b80ldr x3, [sp+408]
00577b84add x3, x3, 1
00577b88str x3, [sp+408]
00577b8cb 0x577b60
00577b90
00577b90loc_577b90:
00577b90add x0, sp, 360
00577b94add x1, sp, 360
00577b98add x2, sp, 240
00577b9cbl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00577ba0add x0, sp, 360
00577ba4add x1, sp, 360
00577ba8bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00577bacstr xzr, [sp+400]
00577bb0b 0x577bb4
00577bb4
00577bb4loc_577bb4:
00577bb4ldr x3, [sp+400]
00577bb8subs xzr, x3, 49
00577bbcb.lt 0x577bc4
00577bc0b 0x577be4
00577bc4
00577bc4loc_577bc4:
00577bc4add x0, sp, 360
00577bc8add x1, sp, 360
00577bccbl crypto/internal/fips140/edwards25519/field.(*Element).Square
00577bd0b 0x577bd4
00577bd4
00577bd4loc_577bd4:
00577bd4ldr x3, [sp+400]
00577bd8add x3, x3, 1
00577bdcstr x3, [sp+400]
00577be0b 0x577bb4
00577be4
00577be4loc_577be4:
00577be4add x0, sp, 360
00577be8add x1, sp, 360
00577becadd x2, sp, 120
00577bf0bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00577bf4add x0, sp, 360
00577bf8add x1, sp, 360
00577bfcbl crypto/internal/fips140/edwards25519/field.(*Element).Square
00577c00add x0, sp, 360
00577c04add x1, sp, 360
00577c08bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00577c0cadd x0, sp, 360
00577c10add x1, sp, 360
00577c14bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00577c18add x0, sp, 360
00577c1cadd x1, sp, 360
00577c20bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00577c24add x0, sp, 360
00577c28add x1, sp, 360
00577c2cbl crypto/internal/fips140/edwards25519/field.(*Element).Square
00577c30ldr x0, [sp+488]
00577c34add x1, sp, 360
00577c38add x2, sp, 320
00577c3cbl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00577c40str x0, [sp+464]
00577c44str x0, [sp+456]
00577c48ldp x29, x30, [sp-8]
00577c4cadd sp, sp, 480
00577c50ret x30
00577c54
00577c54loc_577c54:
00577c54stp x0, x1, [sp+8]
00577c58mov x3, x30
00577c5cbl runtime.morestack_noctxt.abi0
00577c60ldp x0, x1, [sp+8]
00577c64b 0x5778b0
00577c68udf 0
00577c6cudf 0
005778b0
00577c70
00577c70crypto/internal/fips140/edwards25519/field.(*Element).Set: ; void crypto/internal/fips140/edwards25519/field.(*Element).Set(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * a)
00577c70str x30, [sp-32]!
00577c74stur x29, [sp-8]
00577c78sub x29, sp, 8
00577c7cstr x0, [sp+40]
00577c80str x1, [sp+48]
00577c84str xzr, [sp+16]
00577c88ldr x1, [sp+40]
00577c8cldrsb x27, [x1]
00577c90ldr x2, [sp+48]
00577c94ldrsb x27, [x2]
00577c98ldp x3, x4, [x2]
00577c9cldp x5, x6, [x2+16]
00577ca0stp x3, x4, [x1]
00577ca4stp x5, x6, [x1+16]
00577ca8ldr x2, [x2+32]
00577cacstr x2, [x1+32]
00577cb0ldr x0, [sp+40]
00577cb4str x0, [sp+16]
00577cb8add x29, sp, 24
00577cbcadd sp, sp, 32
00577cc0ret x30
00577cc4udf 0
00577cc8udf 0
00577cccudf 0
00577c70
00577c70crypto/internal/fips140/edwards25519/field.(*Element).Set: ; void crypto/internal/fips140/edwards25519/field.(*Element).Set(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * a)
00577c70str x30, [sp-32]!
00577c74stur x29, [sp-8]
00577c78sub x29, sp, 8
00577c7cstr x0, [sp+40]
00577c80str x1, [sp+48]
00577c84str xzr, [sp+16]
00577c88ldr x1, [sp+40]
00577c8cldrsb x27, [x1]
00577c90ldr x2, [sp+48]
00577c94ldrsb x27, [x2]
00577c98ldp x3, x4, [x2]
00577c9cldp x5, x6, [x2+16]
00577ca0stp x3, x4, [x1]
00577ca4stp x5, x6, [x1+16]
00577ca8ldr x2, [x2+32]
00577cacstr x2, [x1+32]
00577cb0ldr x0, [sp+40]
00577cb4str x0, [sp+16]
00577cb8add x29, sp, 24
00577cbcadd sp, sp, 32
00577cc0ret x30
00577cc4udf 0
00577cc8udf 0
00577cccudf 0
00577c70
00577cd0
00577cd0crypto/internal/fips140/edwards25519/field.(*Element).SetBytes: ; void crypto/internal/fips140/edwards25519/field.(*Element).SetBytes(crypto/internal/fips140/edwards25519/field.Element * v, struct []uint8 x)
00577cd0ldr x16, [x28+16]
00577cd4subs xzr, sp, x16
00577cd8b.ls 0x577fbc
00577cdcstr x30, [sp-128]!
00577ce0stur x29, [sp-8]
00577ce4sub x29, sp, 8
00577ce8str x0, [sp+136]
00577cecstr x1, [sp+144]
00577cf0str x2, [sp+152]
00577cf4str x3, [sp+160]
00577cf8str xzr, [sp+72]
00577cfcstp xzr, xzr, [sp+56]
00577d00ldr x3, [sp+152]
00577d04str x3, [sp+48]
00577d08subs xzr, x3, 32
00577d0cb.ne 0x577d14
00577d10b 0x577d50
00577d14
00577d14loc_577d14:
00577d14adrp x0, 0x150000
00577d18add x0, x0, 2871
00577d1cmovz x1, 46
00577d20bl errors.New
00577d24str x0, [sp+104]
00577d28str x1, [sp+112]
00577d2cstr xzr, [sp+72]
00577d30ldr x1, [sp+104]
00577d34ldr x2, [sp+112]
00577d38str x1, [sp+56]
00577d3cstr x2, [sp+64]
00577d40ldr x0, [sp+72]
00577d44ldur x29, [sp-8]
00577d48ldr x30, [sp], 128
00577d4cret x30
00577d50
00577d50loc_577d50:
00577d50ldr x2, [sp+160]
00577d54ldr x0, [sp+144]
00577d58subs xzr, x2, 8
00577d5cb.hs 0x577d64
00577d60b 0x577fb0
00577d64
00577d64loc_577d64:
00577d64b 0x577d68
00577d68
00577d68loc_577d68:
00577d68str x0, [sp+80]
00577d6corr x1, xzr, 8
00577d70str x1, [sp+88]
00577d74str x2, [sp+96]
00577d78bl crypto/internal/fips140deps/byteorder.LEUint64
00577d7cstr x0, [sp+40]
00577d80ldr x3, [sp+136]
00577d84ldrsb x27, [x3]
00577d88str x0, [x3]
00577d8cldr x3, [sp+136]
00577d90ldrsb x27, [x3]
00577d94ldr x4, [sp+136]
00577d98ldrsb x27, [x4]
00577d9cldr x4, [x4]
00577da0and x4, x4, 0x7ffffffffffff
00577da4str x4, [x3]
00577da8ldr x2, [sp+160]
00577dacldr x3, [sp+144]
00577db0subs xzr, x2, 14
00577db4b.hs 0x577dbc
00577db8b 0x577fa8
00577dbc
00577dbcloc_577dbc:
00577dbcb 0x577dc0
00577dc0
00577dc0loc_577dc0:
00577dc0sub x2, x2, 6
00577dc4sub x4, xzr, x2
00577dc8sbfm x4, x4, 63, 63
00577dccand x4, x4, 6
00577dd0add x0, x3, x4
00577dd4str x0, [sp+80]
00577dd8orr x1, xzr, 8
00577ddcstr x1, [sp+88]
00577de0str x2, [sp+96]
00577de4bl crypto/internal/fips140deps/byteorder.LEUint64
00577de8str x0, [sp+40]
00577decldr x3, [sp+136]
00577df0ldrsb x27, [x3]
00577df4ubfm x4, x0, 3, 63
00577df8str x4, [x3+8]
00577dfcldr x3, [sp+136]
00577e00ldrsb x27, [x3]
00577e04ldr x4, [sp+136]
00577e08ldrsb x27, [x4]
00577e0cldr x4, [x4+8]
00577e10and x4, x4, 0x7ffffffffffff
00577e14str x4, [x3+8]
00577e18ldr x2, [sp+160]
00577e1cldr x3, [sp+144]
00577e20subs xzr, x2, 20
00577e24b.hs 0x577e2c
00577e28b 0x577fa0
00577e2c
00577e2cloc_577e2c:
00577e2cb 0x577e30
00577e30
00577e30loc_577e30:
00577e30sub x2, x2, 12
00577e34sub x4, xzr, x2
00577e38sbfm x4, x4, 63, 63
00577e3cand x4, x4, 12
00577e40add x0, x3, x4
00577e44str x0, [sp+80]
00577e48orr x1, xzr, 8
00577e4cstr x1, [sp+88]
00577e50str x2, [sp+96]
00577e54bl crypto/internal/fips140deps/byteorder.LEUint64
00577e58str x0, [sp+40]
00577e5cldr x3, [sp+136]
00577e60ldrsb x27, [x3]
00577e64ubfm x4, x0, 6, 63
00577e68str x4, [x3+16]
00577e6cldr x3, [sp+136]
00577e70ldrsb x27, [x3]
00577e74ldr x4, [sp+136]
00577e78ldrsb x27, [x4]
00577e7cldr x4, [x4+16]
00577e80and x4, x4, 0x7ffffffffffff
00577e84str x4, [x3+16]
00577e88ldr x2, [sp+160]
00577e8cldr x3, [sp+144]
00577e90subs xzr, x2, 27
00577e94b.hs 0x577e9c
00577e98b 0x577f98
00577e9c
00577e9cloc_577e9c:
00577e9cb 0x577ea0
00577ea0
00577ea0loc_577ea0:
00577ea0sub x2, x2, 19
00577ea4sub x4, xzr, x2
00577ea8sbfm x4, x4, 63, 63
00577eacmovz x5, 19
00577eb0and x4, x4, x5
00577eb4add x0, x3, x4
00577eb8str x0, [sp+80]
00577ebcorr x1, xzr, 8
00577ec0str x1, [sp+88]
00577ec4str x2, [sp+96]
00577ec8bl crypto/internal/fips140deps/byteorder.LEUint64
00577eccstr x0, [sp+40]
00577ed0ldr x3, [sp+136]
00577ed4ldrsb x27, [x3]
00577ed8ubfm x4, x0, 1, 63
00577edcstr x4, [x3+24]
00577ee0ldr x3, [sp+136]
00577ee4ldrsb x27, [x3]
00577ee8ldr x4, [sp+136]
00577eecldrsb x27, [x4]
00577ef0ldr x4, [x4+24]
00577ef4and x4, x4, 0x7ffffffffffff
00577ef8str x4, [x3+24]
00577efcldr x2, [sp+160]
00577f00ldr x3, [sp+144]
00577f04subs xzr, x2, 32
00577f08b.hs 0x577f10
00577f0cb 0x577f90
00577f10
00577f10loc_577f10:
00577f10b 0x577f14
00577f14
00577f14loc_577f14:
00577f14sub x2, x2, 24
00577f18sub x4, xzr, x2
00577f1csbfm x4, x4, 63, 63
00577f20and x4, x4, 24
00577f24add x0, x3, x4
00577f28str x0, [sp+80]
00577f2corr x1, xzr, 8
00577f30str x1, [sp+88]
00577f34str x2, [sp+96]
00577f38bl crypto/internal/fips140deps/byteorder.LEUint64
00577f3cstr x0, [sp+40]
00577f40ldr x3, [sp+136]
00577f44ldrsb x27, [x3]
00577f48ubfm x4, x0, 12, 63
00577f4cstr x4, [x3+32]
00577f50ldr x3, [sp+136]
00577f54ldrsb x27, [x3]
00577f58ldr x4, [sp+136]
00577f5cldrsb x27, [x4]
00577f60ldr x4, [x4+32]
00577f64and x4, x4, 0x7ffffffffffff
00577f68str x4, [x3+32]
00577f6cldr x3, [sp+136]
00577f70str x3, [sp+72]
00577f74stp xzr, xzr, [sp+56]
00577f78ldr x0, [sp+72]
00577f7cmov x1, xzr
00577f80mov x2, xzr
00577f84ldur x29, [sp-8]
00577f88ldr x30, [sp], 128
00577f8cret x30
00577f90
00577f90loc_577f90:
00577f90orr x1, xzr, 32
00577f94bl runtime.panicSliceAcap
00577f98
00577f98loc_577f98:
00577f98movz x1, 27
00577f9cbl runtime.panicSliceAcap
00577fa0
00577fa0loc_577fa0:
00577fa0movz x1, 20
00577fa4bl runtime.panicSliceAcap
00577fa8
00577fa8loc_577fa8:
00577fa8orr x1, xzr, 14
00577facbl runtime.panicSliceAcap
00577fb0
00577fb0loc_577fb0:
00577fb0orr x1, xzr, 8
00577fb4bl runtime.panicSliceAcap
00577fb8hint
00577fbc
00577fbcloc_577fbc:
00577fbcstp x0, x1, [sp+8]
00577fc0stp x2, x3, [sp+24]
00577fc4mov x3, x30
00577fc8bl runtime.morestack_noctxt.abi0
00577fccldp x0, x1, [sp+8]
00577fd0ldp x2, x3, [sp+24]
00577fd4b 0x577cd0
00577fd8udf 0
00577fdcudf 0
00577cd0
00577cd0crypto/internal/fips140/edwards25519/field.(*Element).SetBytes: ; void crypto/internal/fips140/edwards25519/field.(*Element).SetBytes(crypto/internal/fips140/edwards25519/field.Element * v, struct []uint8 x)
00577cd0ldr x16, [x28+16]
00577cd4subs xzr, sp, x16
00577cd8b.ls 0x577fbc
00577cdcstr x30, [sp-128]!
00577ce0stur x29, [sp-8]
00577ce4sub x29, sp, 8
00577ce8str x0, [sp+136]
00577cecstr x1, [sp+144]
00577cf0str x2, [sp+152]
00577cf4str x3, [sp+160]
00577cf8str xzr, [sp+72]
00577cfcstp xzr, xzr, [sp+56]
00577d00ldr x3, [sp+152]
00577d04str x3, [sp+48]
00577d08subs xzr, x3, 32
00577d0cb.ne 0x577d14
00577d10b 0x577d50
00577d14
00577d14loc_577d14:
00577d14adrp x0, 0x150000
00577d18add x0, x0, 2871
00577d1cmovz x1, 46
00577d20bl errors.New
00577d24str x0, [sp+104]
00577d28str x1, [sp+112]
00577d2cstr xzr, [sp+72]
00577d30ldr x1, [sp+104]
00577d34ldr x2, [sp+112]
00577d38str x1, [sp+56]
00577d3cstr x2, [sp+64]
00577d40ldr x0, [sp+72]
00577d44ldur x29, [sp-8]
00577d48ldr x30, [sp], 128
00577d4cret x30
00577d50
00577d50loc_577d50:
00577d50ldr x2, [sp+160]
00577d54ldr x0, [sp+144]
00577d58subs xzr, x2, 8
00577d5cb.hs 0x577d64
00577d60b 0x577fb0
00577d64
00577d64loc_577d64:
00577d64b 0x577d68
00577d68
00577d68loc_577d68:
00577d68str x0, [sp+80]
00577d6corr x1, xzr, 8
00577d70str x1, [sp+88]
00577d74str x2, [sp+96]
00577d78bl crypto/internal/fips140deps/byteorder.LEUint64
00577d7cstr x0, [sp+40]
00577d80ldr x3, [sp+136]
00577d84ldrsb x27, [x3]
00577d88str x0, [x3]
00577d8cldr x3, [sp+136]
00577d90ldrsb x27, [x3]
00577d94ldr x4, [sp+136]
00577d98ldrsb x27, [x4]
00577d9cldr x4, [x4]
00577da0and x4, x4, 0x7ffffffffffff
00577da4str x4, [x3]
00577da8ldr x2, [sp+160]
00577dacldr x3, [sp+144]
00577db0subs xzr, x2, 14
00577db4b.hs 0x577dbc
00577db8b 0x577fa8
00577dbc
00577dbcloc_577dbc:
00577dbcb 0x577dc0
00577dc0
00577dc0loc_577dc0:
00577dc0sub x2, x2, 6
00577dc4sub x4, xzr, x2
00577dc8sbfm x4, x4, 63, 63
00577dccand x4, x4, 6
00577dd0add x0, x3, x4
00577dd4str x0, [sp+80]
00577dd8orr x1, xzr, 8
00577ddcstr x1, [sp+88]
00577de0str x2, [sp+96]
00577de4bl crypto/internal/fips140deps/byteorder.LEUint64
00577de8str x0, [sp+40]
00577decldr x3, [sp+136]
00577df0ldrsb x27, [x3]
00577df4ubfm x4, x0, 3, 63
00577df8str x4, [x3+8]
00577dfcldr x3, [sp+136]
00577e00ldrsb x27, [x3]
00577e04ldr x4, [sp+136]
00577e08ldrsb x27, [x4]
00577e0cldr x4, [x4+8]
00577e10and x4, x4, 0x7ffffffffffff
00577e14str x4, [x3+8]
00577e18ldr x2, [sp+160]
00577e1cldr x3, [sp+144]
00577e20subs xzr, x2, 20
00577e24b.hs 0x577e2c
00577e28b 0x577fa0
00577e2c
00577e2cloc_577e2c:
00577e2cb 0x577e30
00577e30
00577e30loc_577e30:
00577e30sub x2, x2, 12
00577e34sub x4, xzr, x2
00577e38sbfm x4, x4, 63, 63
00577e3cand x4, x4, 12
00577e40add x0, x3, x4
00577e44str x0, [sp+80]
00577e48orr x1, xzr, 8
00577e4cstr x1, [sp+88]
00577e50str x2, [sp+96]
00577e54bl crypto/internal/fips140deps/byteorder.LEUint64
00577e58str x0, [sp+40]
00577e5cldr x3, [sp+136]
00577e60ldrsb x27, [x3]
00577e64ubfm x4, x0, 6, 63
00577e68str x4, [x3+16]
00577e6cldr x3, [sp+136]
00577e70ldrsb x27, [x3]
00577e74ldr x4, [sp+136]
00577e78ldrsb x27, [x4]
00577e7cldr x4, [x4+16]
00577e80and x4, x4, 0x7ffffffffffff
00577e84str x4, [x3+16]
00577e88ldr x2, [sp+160]
00577e8cldr x3, [sp+144]
00577e90subs xzr, x2, 27
00577e94b.hs 0x577e9c
00577e98b 0x577f98
00577e9c
00577e9cloc_577e9c:
00577e9cb 0x577ea0
00577ea0
00577ea0loc_577ea0:
00577ea0sub x2, x2, 19
00577ea4sub x4, xzr, x2
00577ea8sbfm x4, x4, 63, 63
00577eacmovz x5, 19
00577eb0and x4, x4, x5
00577eb4add x0, x3, x4
00577eb8str x0, [sp+80]
00577ebcorr x1, xzr, 8
00577ec0str x1, [sp+88]
00577ec4str x2, [sp+96]
00577ec8bl crypto/internal/fips140deps/byteorder.LEUint64
00577eccstr x0, [sp+40]
00577ed0ldr x3, [sp+136]
00577ed4ldrsb x27, [x3]
00577ed8ubfm x4, x0, 1, 63
00577edcstr x4, [x3+24]
00577ee0ldr x3, [sp+136]
00577ee4ldrsb x27, [x3]
00577ee8ldr x4, [sp+136]
00577eecldrsb x27, [x4]
00577ef0ldr x4, [x4+24]
00577ef4and x4, x4, 0x7ffffffffffff
00577ef8str x4, [x3+24]
00577efcldr x2, [sp+160]
00577f00ldr x3, [sp+144]
00577f04subs xzr, x2, 32
00577f08b.hs 0x577f10
00577f0cb 0x577f90
00577f10
00577f10loc_577f10:
00577f10b 0x577f14
00577f14
00577f14loc_577f14:
00577f14sub x2, x2, 24
00577f18sub x4, xzr, x2
00577f1csbfm x4, x4, 63, 63
00577f20and x4, x4, 24
00577f24add x0, x3, x4
00577f28str x0, [sp+80]
00577f2corr x1, xzr, 8
00577f30str x1, [sp+88]
00577f34str x2, [sp+96]
00577f38bl crypto/internal/fips140deps/byteorder.LEUint64
00577f3cstr x0, [sp+40]
00577f40ldr x3, [sp+136]
00577f44ldrsb x27, [x3]
00577f48ubfm x4, x0, 12, 63
00577f4cstr x4, [x3+32]
00577f50ldr x3, [sp+136]
00577f54ldrsb x27, [x3]
00577f58ldr x4, [sp+136]
00577f5cldrsb x27, [x4]
00577f60ldr x4, [x4+32]
00577f64and x4, x4, 0x7ffffffffffff
00577f68str x4, [x3+32]
00577f6cldr x3, [sp+136]
00577f70str x3, [sp+72]
00577f74stp xzr, xzr, [sp+56]
00577f78ldr x0, [sp+72]
00577f7cmov x1, xzr
00577f80mov x2, xzr
00577f84ldur x29, [sp-8]
00577f88ldr x30, [sp], 128
00577f8cret x30
00577f90
00577f90loc_577f90:
00577f90orr x1, xzr, 32
00577f94bl runtime.panicSliceAcap
00577f98
00577f98loc_577f98:
00577f98movz x1, 27
00577f9cbl runtime.panicSliceAcap
00577fa0
00577fa0loc_577fa0:
00577fa0movz x1, 20
00577fa4bl runtime.panicSliceAcap
00577fa8
00577fa8loc_577fa8:
00577fa8orr x1, xzr, 14
00577facbl runtime.panicSliceAcap
00577fb0
00577fb0loc_577fb0:
00577fb0orr x1, xzr, 8
00577fb4bl runtime.panicSliceAcap
00577fb8hint
00577fbc
00577fbcloc_577fbc:
00577fbcstp x0, x1, [sp+8]
00577fc0stp x2, x3, [sp+24]
00577fc4mov x3, x30
00577fc8bl runtime.morestack_noctxt.abi0
00577fccldp x0, x1, [sp+8]
00577fd0ldp x2, x3, [sp+24]
00577fd4b 0x577cd0
00577fd8udf 0
00577fdcudf 0
00577cd0
00577fe0
00577fe0crypto/internal/fips140/edwards25519/field.(*Element).Bytes: ; void crypto/internal/fips140/edwards25519/field.(*Element).Bytes(crypto/internal/fips140/edwards25519/field.Element * v)
00577fe0ldr x16, [x28+16]
00577fe4subs xzr, sp, x16
00577fe8b.ls 0x57804c
00577fecstr x30, [sp-96]!
00577ff0stur x29, [sp-8]
00577ff4sub x29, sp, 8
00577ff8str x0, [sp+104]
00577ffcstr xzr, [sp+32]
00578000stp xzr, xzr, [sp+40]
00578004adrp x0, 0x85000
00578008add x0, x0, 2240
0057800cbl runtime.newobject
00578010str x0, [sp+80]
00578014stp xzr, xzr, [x0]
00578018stp xzr, xzr, [x0+16]
0057801cldr x0, [sp+104]
00578020ldr x1, [sp+80]
00578024bl crypto/internal/fips140/edwards25519/field.(*Element).bytes
00578028str x0, [sp+56]
0057802cstr x1, [sp+64]
00578030str x2, [sp+72]
00578034str x0, [sp+32]
00578038str x1, [sp+40]
0057803cstr x2, [sp+48]
00578040ldur x29, [sp-8]
00578044ldr x30, [sp], 96
00578048ret x30
0057804c
0057804cloc_57804c:
0057804cstr x0, [sp+8]
00578050mov x3, x30
00578054bl runtime.morestack_noctxt.abi0
00578058ldr x0, [sp+8]
0057805cb 0x577fe0
00577fe0
00577fe0crypto/internal/fips140/edwards25519/field.(*Element).Bytes: ; void crypto/internal/fips140/edwards25519/field.(*Element).Bytes(crypto/internal/fips140/edwards25519/field.Element * v)
00577fe0ldr x16, [x28+16]
00577fe4subs xzr, sp, x16
00577fe8b.ls 0x57804c
00577fecstr x30, [sp-96]!
00577ff0stur x29, [sp-8]
00577ff4sub x29, sp, 8
00577ff8str x0, [sp+104]
00577ffcstr xzr, [sp+32]
00578000stp xzr, xzr, [sp+40]
00578004adrp x0, 0x85000
00578008add x0, x0, 2240
0057800cbl runtime.newobject
00578010str x0, [sp+80]
00578014stp xzr, xzr, [x0]
00578018stp xzr, xzr, [x0+16]
0057801cldr x0, [sp+104]
00578020ldr x1, [sp+80]
00578024bl crypto/internal/fips140/edwards25519/field.(*Element).bytes
00578028str x0, [sp+56]
0057802cstr x1, [sp+64]
00578030str x2, [sp+72]
00578034str x0, [sp+32]
00578038str x1, [sp+40]
0057803cstr x2, [sp+48]
00578040ldur x29, [sp-8]
00578044ldr x30, [sp], 96
00578048ret x30
0057804c
0057804cloc_57804c:
0057804cstr x0, [sp+8]
00578050mov x3, x30
00578054bl runtime.morestack_noctxt.abi0
00578058ldr x0, [sp+8]
0057805cb 0x577fe0
00577fe0
00578060
00578060crypto/internal/fips140/edwards25519/field.(*Element).bytes: ; void crypto/internal/fips140/edwards25519/field.(*Element).bytes(crypto/internal/fips140/edwards25519/field.Element * v, uint8[32] * out)
00578060ldr x16, [x28+16]
00578064sub x17, sp, 160
00578068subs xzr, x17, x16
0057806cb.ls 0x5782c8
00578070sub x20, sp, 288
00578074stp x29, x30, [x20-8]
00578078add sp, x20, 0
0057807csub x29, sp, 8
00578080str x0, [sp+296]
00578084str x1, [sp+304]
00578088str xzr, [sp+232]
0057808cstp xzr, xzr, [sp+240]
00578090ldr x1, [sp+296]
00578094ldrsb x27, [x1]
00578098ldp x2, x3, [x1]
0057809cldp x4, x5, [x1+16]
005780a0stp x2, x3, [sp+72]
005780a4stp x4, x5, [sp+88]
005780a8ldr x1, [x1+32]
005780acstr x1, [sp+104]
005780b0add x0, sp, 72
005780b4bl crypto/internal/fips140/edwards25519/field.(*Element).reduce
005780b8stur xzr, [sp+55]
005780bcadrp x27, 0x19e000
005780c0add x27, x27, 3712
005780c4ldp x1, x2, [x27]
005780c8adrp x27, 0x19e000
005780ccadd x27, x27, 3728
005780d0ldp x3, x4, [x27]
005780d4stp x1, x2, [sp+192]
005780d8stp x3, x4, [sp+208]
005780dcadrp x27, 0x19e000
005780e0ldr x1, [x27+3744]
005780e4str x1, [sp+224]
005780e8ldr x1, [sp+72]
005780ecstr x1, [sp+192]
005780f0ldr x1, [sp+80]
005780f4str x1, [sp+200]
005780f8ldr x1, [sp+88]
005780fcstr x1, [sp+208]
00578100ldr x1, [sp+96]
00578104str x1, [sp+216]
00578108ldr x1, [sp+104]
0057810cstr x1, [sp+224]
00578110str xzr, [sp+184]
00578114movz x1, 5
00578118str x1, [sp+176]
0057811cb 0x578120
00578120
00578120loc_578120:
00578120ldr x4, [sp+176]
00578124ldr x5, [sp+184]
00578128subs xzr, x4, x5
0057812cb.gt 0x578134
00578130b 0x5781c0
00578134
00578134loc_578134:
00578134ldr x4, [sp+184]
00578138str x4, [sp+136]
0057813cldr x5, [sp+184]
00578140add x6, sp, 192
00578144ldr x5, [x6+3*x5]
00578148str x5, [sp+120]
0057814cmovz x5, 51
00578150madd x4, x4, x5, xzr
00578154str x4, [sp+144]
00578158add x4, sp, 55
0057815cldrsb x27, [x4]
00578160b 0x578164
00578164
00578164loc_578164:
00578164str x4, [sp+256]
00578168orr x2, xzr, 8
0057816cstr x2, [sp+264]
00578170str x2, [sp+272]
00578174ldr x4, [sp+120]
00578178ldr x5, [sp+144]
0057817csbfm x6, x5, 63, 63
00578180add x6, x5, x6, lsr #61
00578184and x6, x6, -8
00578188sub x5, x5, x6
0057818clslv x4, x4, x5
00578190subs xzr, x5, 64
00578194csel x3, x4, xzr, lo
00578198str x3, [sp+168]
0057819cldr x0, [sp+256]
005781a0mov x1, x2
005781a4bl crypto/internal/fips140deps/byteorder.LEPutUint64
005781a8ldur x4, [sp+55]
005781acstr x4, [sp+64]
005781b0str xzr, [sp+160]
005781b4orr x2, xzr, 8
005781b8str x2, [sp+152]
005781bcb 0x5781fc
005781c0
005781c0loc_5781c0:
005781c0ldr x3, [sp+304]
005781c4ldrsb x27, [x3]
005781c8b 0x5781cc
005781cc
005781ccloc_5781cc:
005781ccstr x3, [sp+256]
005781d0orr x2, xzr, 32
005781d4str x2, [sp+264]
005781d8str x2, [sp+272]
005781dcstr x3, [sp+232]
005781e0str x2, [sp+240]
005781e4str x2, [sp+248]
005781e8ldr x0, [sp+232]
005781ecmov x1, x2
005781f0ldp x29, x30, [sp-8]
005781f4add sp, sp, 288
005781f8ret x30
005781fc
005781fcloc_5781fc:
005781fcldr x4, [sp+152]
00578200ldr x5, [sp+160]
00578204subs xzr, x4, x5
00578208b.gt 0x578210
0057820cb 0x57829c
00578210
00578210loc_578210:
00578210ldr x4, [sp+160]
00578214str x4, [sp+128]
00578218ldr x4, [sp+160]
0057821cadd x5, sp, 64
00578220ldrb w4, [x5+x4]
00578224strb w4, [sp+63]
00578228ldr x4, [sp+144]
0057822csbfm x5, x4, 63, 63
00578230add x4, x4, x5, lsr #61
00578234ldr x5, [sp+128]
00578238add x0, x5, x4, asr #3
0057823cstr x0, [sp+112]
00578240subs xzr, x0, 32
00578244b.ge 0x57824c
00578248b 0x578250
0057824c
0057824cloc_57824c:
0057824cb 0x5782a0
00578250
00578250loc_578250:
00578250ldr x4, [sp+304]
00578254ldrsb x27, [x4]
00578258subs xzr, x0, 32
0057825cb.lo 0x578264
00578260b 0x5782bc
00578264
00578264loc_578264:
00578264ldrb w4, [x4+x0]
00578268ldr x5, [sp+304]
0057826cldrsb x27, [x5]
00578270ldrb w6, [sp+63]
00578274orr x4, x4, x6
00578278subs xzr, x0, 32
0057827cb.lo 0x578284
00578280b 0x5782b4
00578284
00578284loc_578284:
00578284strb w4, [x5+x0]
00578288b 0x57828c
0057828c
0057828cloc_57828c:
0057828cldr x4, [sp+160]
00578290add x4, x4, 1
00578294str x4, [sp+160]
00578298b 0x5781fc
0057829c
0057829cloc_57829c:
0057829cb 0x5782a0
005782a0
005782a0loc_5782a0:
005782a0b 0x5782a4
005782a4
005782a4loc_5782a4:
005782a4ldr x4, [sp+184]
005782a8add x4, x4, 1
005782acstr x4, [sp+184]
005782b0b 0x578120
005782b4
005782b4loc_5782b4:
005782b4orr x1, xzr, 32
005782b8bl runtime.panicIndex
005782bc
005782bcloc_5782bc:
005782bcorr x1, xzr, 32
005782c0bl runtime.panicIndex
005782c4hint
005782c8
005782c8loc_5782c8:
005782c8stp x0, x1, [sp+8]
005782ccmov x3, x30
005782d0bl runtime.morestack_noctxt.abi0
005782d4ldp x0, x1, [sp+8]
005782d8b 0x578060
005782dcudf 0
00578060
00578060crypto/internal/fips140/edwards25519/field.(*Element).bytes: ; void crypto/internal/fips140/edwards25519/field.(*Element).bytes(crypto/internal/fips140/edwards25519/field.Element * v, uint8[32] * out)
00578060ldr x16, [x28+16]
00578064sub x17, sp, 160
00578068subs xzr, x17, x16
0057806cb.ls 0x5782c8
00578070sub x20, sp, 288
00578074stp x29, x30, [x20-8]
00578078add sp, x20, 0
0057807csub x29, sp, 8
00578080str x0, [sp+296]
00578084str x1, [sp+304]
00578088str xzr, [sp+232]
0057808cstp xzr, xzr, [sp+240]
00578090ldr x1, [sp+296]
00578094ldrsb x27, [x1]
00578098ldp x2, x3, [x1]
0057809cldp x4, x5, [x1+16]
005780a0stp x2, x3, [sp+72]
005780a4stp x4, x5, [sp+88]
005780a8ldr x1, [x1+32]
005780acstr x1, [sp+104]
005780b0add x0, sp, 72
005780b4bl crypto/internal/fips140/edwards25519/field.(*Element).reduce
005780b8stur xzr, [sp+55]
005780bcadrp x27, 0x19e000
005780c0add x27, x27, 3712
005780c4ldp x1, x2, [x27]
005780c8adrp x27, 0x19e000
005780ccadd x27, x27, 3728
005780d0ldp x3, x4, [x27]
005780d4stp x1, x2, [sp+192]
005780d8stp x3, x4, [sp+208]
005780dcadrp x27, 0x19e000
005780e0ldr x1, [x27+3744]
005780e4str x1, [sp+224]
005780e8ldr x1, [sp+72]
005780ecstr x1, [sp+192]
005780f0ldr x1, [sp+80]
005780f4str x1, [sp+200]
005780f8ldr x1, [sp+88]
005780fcstr x1, [sp+208]
00578100ldr x1, [sp+96]
00578104str x1, [sp+216]
00578108ldr x1, [sp+104]
0057810cstr x1, [sp+224]
00578110str xzr, [sp+184]
00578114movz x1, 5
00578118str x1, [sp+176]
0057811cb 0x578120
00578120
00578120loc_578120:
00578120ldr x4, [sp+176]
00578124ldr x5, [sp+184]
00578128subs xzr, x4, x5
0057812cb.gt 0x578134
00578130b 0x5781c0
00578134
00578134loc_578134:
00578134ldr x4, [sp+184]
00578138str x4, [sp+136]
0057813cldr x5, [sp+184]
00578140add x6, sp, 192
00578144ldr x5, [x6+3*x5]
00578148str x5, [sp+120]
0057814cmovz x5, 51
00578150madd x4, x4, x5, xzr
00578154str x4, [sp+144]
00578158add x4, sp, 55
0057815cldrsb x27, [x4]
00578160b 0x578164
00578164
00578164loc_578164:
00578164str x4, [sp+256]
00578168orr x2, xzr, 8
0057816cstr x2, [sp+264]
00578170str x2, [sp+272]
00578174ldr x4, [sp+120]
00578178ldr x5, [sp+144]
0057817csbfm x6, x5, 63, 63
00578180add x6, x5, x6, lsr #61
00578184and x6, x6, -8
00578188sub x5, x5, x6
0057818clslv x4, x4, x5
00578190subs xzr, x5, 64
00578194csel x3, x4, xzr, lo
00578198str x3, [sp+168]
0057819cldr x0, [sp+256]
005781a0mov x1, x2
005781a4bl crypto/internal/fips140deps/byteorder.LEPutUint64
005781a8ldur x4, [sp+55]
005781acstr x4, [sp+64]
005781b0str xzr, [sp+160]
005781b4orr x2, xzr, 8
005781b8str x2, [sp+152]
005781bcb 0x5781fc
005781c0
005781c0loc_5781c0:
005781c0ldr x3, [sp+304]
005781c4ldrsb x27, [x3]
005781c8b 0x5781cc
005781cc
005781ccloc_5781cc:
005781ccstr x3, [sp+256]
005781d0orr x2, xzr, 32
005781d4str x2, [sp+264]
005781d8str x2, [sp+272]
005781dcstr x3, [sp+232]
005781e0str x2, [sp+240]
005781e4str x2, [sp+248]
005781e8ldr x0, [sp+232]
005781ecmov x1, x2
005781f0ldp x29, x30, [sp-8]
005781f4add sp, sp, 288
005781f8ret x30
005781fc
005781fcloc_5781fc:
005781fcldr x4, [sp+152]
00578200ldr x5, [sp+160]
00578204subs xzr, x4, x5
00578208b.gt 0x578210
0057820cb 0x57829c
00578210
00578210loc_578210:
00578210ldr x4, [sp+160]
00578214str x4, [sp+128]
00578218ldr x4, [sp+160]
0057821cadd x5, sp, 64
00578220ldrb w4, [x5+x4]
00578224strb w4, [sp+63]
00578228ldr x4, [sp+144]
0057822csbfm x5, x4, 63, 63
00578230add x4, x4, x5, lsr #61
00578234ldr x5, [sp+128]
00578238add x0, x5, x4, asr #3
0057823cstr x0, [sp+112]
00578240subs xzr, x0, 32
00578244b.ge 0x57824c
00578248b 0x578250
0057824c
0057824cloc_57824c:
0057824cb 0x5782a0
00578250
00578250loc_578250:
00578250ldr x4, [sp+304]
00578254ldrsb x27, [x4]
00578258subs xzr, x0, 32
0057825cb.lo 0x578264
00578260b 0x5782bc
00578264
00578264loc_578264:
00578264ldrb w4, [x4+x0]
00578268ldr x5, [sp+304]
0057826cldrsb x27, [x5]
00578270ldrb w6, [sp+63]
00578274orr x4, x4, x6
00578278subs xzr, x0, 32
0057827cb.lo 0x578284
00578280b 0x5782b4
00578284
00578284loc_578284:
00578284strb w4, [x5+x0]
00578288b 0x57828c
0057828c
0057828cloc_57828c:
0057828cldr x4, [sp+160]
00578290add x4, x4, 1
00578294str x4, [sp+160]
00578298b 0x5781fc
0057829c
0057829cloc_57829c:
0057829cb 0x5782a0
005782a0
005782a0loc_5782a0:
005782a0b 0x5782a4
005782a4
005782a4loc_5782a4:
005782a4ldr x4, [sp+184]
005782a8add x4, x4, 1
005782acstr x4, [sp+184]
005782b0b 0x578120
005782b4
005782b4loc_5782b4:
005782b4orr x1, xzr, 32
005782b8bl runtime.panicIndex
005782bc
005782bcloc_5782bc:
005782bcorr x1, xzr, 32
005782c0bl runtime.panicIndex
005782c4hint
005782c8
005782c8loc_5782c8:
005782c8stp x0, x1, [sp+8]
005782ccmov x3, x30
005782d0bl runtime.morestack_noctxt.abi0
005782d4ldp x0, x1, [sp+8]
005782d8b 0x578060
005782dcudf 0
00578060
005782e0
005782e0crypto/internal/fips140/edwards25519/field.(*Element).Equal: ; void crypto/internal/fips140/edwards25519/field.(*Element).Equal(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * u)
005782e0ldr x16, [x28+16]
005782e4sub x17, sp, 48
005782e8subs xzr, x17, x16
005782ecb.ls 0x578384
005782f0str x30, [sp-176]!
005782f4stur x29, [sp-8]
005782f8sub x29, sp, 8
005782fcstr x0, [sp+184]
00578300str x1, [sp+192]
00578304str xzr, [sp+56]
00578308mov x0, x1
0057830cbl crypto/internal/fips140/edwards25519/field.(*Element).Bytes
00578310str x0, [sp+144]
00578314str x1, [sp+152]
00578318str x2, [sp+160]
0057831cldr x0, [sp+184]
00578320bl crypto/internal/fips140/edwards25519/field.(*Element).Bytes
00578324str x0, [sp+120]
00578328str x1, [sp+128]
0057832cstr x2, [sp+136]
00578330ldr x1, [sp+144]
00578334ldr x2, [sp+152]
00578338ldr x3, [sp+160]
0057833cstr x1, [sp+96]
00578340str x2, [sp+104]
00578344str x3, [sp+112]
00578348ldr x3, [sp+120]
0057834cldr x4, [sp+128]
00578350ldr x5, [sp+136]
00578354str x3, [sp+72]
00578358str x4, [sp+80]
0057835cstr x5, [sp+88]
00578360ldr x0, [sp+96]
00578364ldr x1, [sp+104]
00578368ldr x2, [sp+112]
0057836cbl crypto/internal/fips140/subtle.ConstantTimeCompare
00578370str x0, [sp+64]
00578374str x0, [sp+56]
00578378ldur x29, [sp-8]
0057837cldr x30, [sp], 176
00578380ret x30
00578384
00578384loc_578384:
00578384stp x0, x1, [sp+8]
00578388mov x3, x30
0057838cbl runtime.morestack_noctxt.abi0
00578390ldp x0, x1, [sp+8]
00578394b 0x5782e0
00578398udf 0
0057839cudf 0
005782e0
005782e0crypto/internal/fips140/edwards25519/field.(*Element).Equal: ; void crypto/internal/fips140/edwards25519/field.(*Element).Equal(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * u)
005782e0ldr x16, [x28+16]
005782e4sub x17, sp, 48
005782e8subs xzr, x17, x16
005782ecb.ls 0x578384
005782f0str x30, [sp-176]!
005782f4stur x29, [sp-8]
005782f8sub x29, sp, 8
005782fcstr x0, [sp+184]
00578300str x1, [sp+192]
00578304str xzr, [sp+56]
00578308mov x0, x1
0057830cbl crypto/internal/fips140/edwards25519/field.(*Element).Bytes
00578310str x0, [sp+144]
00578314str x1, [sp+152]
00578318str x2, [sp+160]
0057831cldr x0, [sp+184]
00578320bl crypto/internal/fips140/edwards25519/field.(*Element).Bytes
00578324str x0, [sp+120]
00578328str x1, [sp+128]
0057832cstr x2, [sp+136]
00578330ldr x1, [sp+144]
00578334ldr x2, [sp+152]
00578338ldr x3, [sp+160]
0057833cstr x1, [sp+96]
00578340str x2, [sp+104]
00578344str x3, [sp+112]
00578348ldr x3, [sp+120]
0057834cldr x4, [sp+128]
00578350ldr x5, [sp+136]
00578354str x3, [sp+72]
00578358str x4, [sp+80]
0057835cstr x5, [sp+88]
00578360ldr x0, [sp+96]
00578364ldr x1, [sp+104]
00578368ldr x2, [sp+112]
0057836cbl crypto/internal/fips140/subtle.ConstantTimeCompare
00578370str x0, [sp+64]
00578374str x0, [sp+56]
00578378ldur x29, [sp-8]
0057837cldr x30, [sp], 176
00578380ret x30
00578384
00578384loc_578384:
00578384stp x0, x1, [sp+8]
00578388mov x3, x30
0057838cbl runtime.morestack_noctxt.abi0
00578390ldp x0, x1, [sp+8]
00578394b 0x5782e0
00578398udf 0
0057839cudf 0
005782e0
005783a0
005783a0crypto/internal/fips140/edwards25519/field.mask64Bits: ; void crypto/internal/fips140/edwards25519/field.mask64Bits(int cond)
005783a0str x30, [sp-32]!
005783a4stur x29, [sp-8]
005783a8sub x29, sp, 8
005783acstr x0, [sp+40]
005783b0str xzr, [sp+16]
005783b4sub x0, xzr, x0
005783b8str x0, [sp+16]
005783bcadd x29, sp, 24
005783c0add sp, sp, 32
005783c4ret x30
005783c8udf 0
005783ccudf 0
005783a0
005783a0crypto/internal/fips140/edwards25519/field.mask64Bits: ; void crypto/internal/fips140/edwards25519/field.mask64Bits(int cond)
005783a0str x30, [sp-32]!
005783a4stur x29, [sp-8]
005783a8sub x29, sp, 8
005783acstr x0, [sp+40]
005783b0str xzr, [sp+16]
005783b4sub x0, xzr, x0
005783b8str x0, [sp+16]
005783bcadd x29, sp, 24
005783c0add sp, sp, 32
005783c4ret x30
005783c8udf 0
005783ccudf 0
005783a0
005783d0
005783d0crypto/internal/fips140/edwards25519/field.(*Element).Select: ; void crypto/internal/fips140/edwards25519/field.(*Element).Select(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * a, crypto/internal/fips140/edwards25519/field.Element * b, int cond)
005783d0ldr x16, [x28+16]
005783d4subs xzr, sp, x16
005783d8b.ls 0x57852c
005783dcstr x30, [sp-48]!
005783e0stur x29, [sp-8]
005783e4sub x29, sp, 8
005783e8str x0, [sp+56]
005783ecstr x1, [sp+64]
005783f0str x2, [sp+72]
005783f4str x3, [sp+80]
005783f8str xzr, [sp+32]
005783fcldr x0, [sp+80]
00578400bl crypto/internal/fips140/edwards25519/field.mask64Bits
00578404str x0, [sp+24]
00578408ldr x1, [sp+56]
0057840cldrsb x27, [x1]
00578410ldr x2, [sp+64]
00578414ldrsb x27, [x2]
00578418ldr x2, [x2]
0057841cand x2, x0, x2
00578420ldr x3, [sp+72]
00578424ldrsb x27, [x3]
00578428ldr x3, [x3]
0057842cbic x3, x3, x0
00578430orr x2, x2, x3
00578434str x2, [x1]
00578438ldr x1, [sp+56]
0057843cldrsb x27, [x1]
00578440ldr x2, [sp+24]
00578444ldr x3, [sp+64]
00578448ldrsb x27, [x3]
0057844cldr x3, [x3+8]
00578450and x2, x2, x3
00578454ldr x3, [sp+24]
00578458ldr x4, [sp+72]
0057845cldrsb x27, [x4]
00578460ldr x4, [x4+8]
00578464bic x3, x4, x3
00578468orr x2, x2, x3
0057846cstr x2, [x1+8]
00578470ldr x1, [sp+56]
00578474ldrsb x27, [x1]
00578478ldr x2, [sp+24]
0057847cldr x3, [sp+64]
00578480ldrsb x27, [x3]
00578484ldr x3, [x3+16]
00578488and x2, x2, x3
0057848cldr x3, [sp+24]
00578490ldr x4, [sp+72]
00578494ldrsb x27, [x4]
00578498ldr x4, [x4+16]
0057849cbic x3, x4, x3
005784a0orr x2, x2, x3
005784a4str x2, [x1+16]
005784a8ldr x1, [sp+56]
005784acldrsb x27, [x1]
005784b0ldr x2, [sp+24]
005784b4ldr x3, [sp+64]
005784b8ldrsb x27, [x3]
005784bcldr x3, [x3+24]
005784c0and x2, x2, x3
005784c4ldr x3, [sp+24]
005784c8ldr x4, [sp+72]
005784ccldrsb x27, [x4]
005784d0ldr x4, [x4+24]
005784d4bic x3, x4, x3
005784d8orr x2, x2, x3
005784dcstr x2, [x1+24]
005784e0ldr x1, [sp+56]
005784e4ldrsb x27, [x1]
005784e8ldr x2, [sp+24]
005784ecldr x3, [sp+64]
005784f0ldrsb x27, [x3]
005784f4ldr x3, [x3+32]
005784f8and x2, x2, x3
005784fcldr x3, [sp+24]
00578500ldr x4, [sp+72]
00578504ldrsb x27, [x4]
00578508ldr x4, [x4+32]
0057850cbic x3, x4, x3
00578510orr x2, x2, x3
00578514str x2, [x1+32]
00578518ldr x0, [sp+56]
0057851cstr x0, [sp+32]
00578520ldur x29, [sp-8]
00578524ldr x30, [sp], 48
00578528ret x30
0057852c
0057852cloc_57852c:
0057852cstp x0, x1, [sp+8]
00578530stp x2, x3, [sp+24]
00578534mov x3, x30
00578538bl runtime.morestack_noctxt.abi0
0057853cldp x0, x1, [sp+8]
00578540ldp x2, x3, [sp+24]
00578544b 0x5783d0
00578548udf 0
0057854cudf 0
005783d0
005783d0crypto/internal/fips140/edwards25519/field.(*Element).Select: ; void crypto/internal/fips140/edwards25519/field.(*Element).Select(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * a, crypto/internal/fips140/edwards25519/field.Element * b, int cond)
005783d0ldr x16, [x28+16]
005783d4subs xzr, sp, x16
005783d8b.ls 0x57852c
005783dcstr x30, [sp-48]!
005783e0stur x29, [sp-8]
005783e4sub x29, sp, 8
005783e8str x0, [sp+56]
005783ecstr x1, [sp+64]
005783f0str x2, [sp+72]
005783f4str x3, [sp+80]
005783f8str xzr, [sp+32]
005783fcldr x0, [sp+80]
00578400bl crypto/internal/fips140/edwards25519/field.mask64Bits
00578404str x0, [sp+24]
00578408ldr x1, [sp+56]
0057840cldrsb x27, [x1]
00578410ldr x2, [sp+64]
00578414ldrsb x27, [x2]
00578418ldr x2, [x2]
0057841cand x2, x0, x2
00578420ldr x3, [sp+72]
00578424ldrsb x27, [x3]
00578428ldr x3, [x3]
0057842cbic x3, x3, x0
00578430orr x2, x2, x3
00578434str x2, [x1]
00578438ldr x1, [sp+56]
0057843cldrsb x27, [x1]
00578440ldr x2, [sp+24]
00578444ldr x3, [sp+64]
00578448ldrsb x27, [x3]
0057844cldr x3, [x3+8]
00578450and x2, x2, x3
00578454ldr x3, [sp+24]
00578458ldr x4, [sp+72]
0057845cldrsb x27, [x4]
00578460ldr x4, [x4+8]
00578464bic x3, x4, x3
00578468orr x2, x2, x3
0057846cstr x2, [x1+8]
00578470ldr x1, [sp+56]
00578474ldrsb x27, [x1]
00578478ldr x2, [sp+24]
0057847cldr x3, [sp+64]
00578480ldrsb x27, [x3]
00578484ldr x3, [x3+16]
00578488and x2, x2, x3
0057848cldr x3, [sp+24]
00578490ldr x4, [sp+72]
00578494ldrsb x27, [x4]
00578498ldr x4, [x4+16]
0057849cbic x3, x4, x3
005784a0orr x2, x2, x3
005784a4str x2, [x1+16]
005784a8ldr x1, [sp+56]
005784acldrsb x27, [x1]
005784b0ldr x2, [sp+24]
005784b4ldr x3, [sp+64]
005784b8ldrsb x27, [x3]
005784bcldr x3, [x3+24]
005784c0and x2, x2, x3
005784c4ldr x3, [sp+24]
005784c8ldr x4, [sp+72]
005784ccldrsb x27, [x4]
005784d0ldr x4, [x4+24]
005784d4bic x3, x4, x3
005784d8orr x2, x2, x3
005784dcstr x2, [x1+24]
005784e0ldr x1, [sp+56]
005784e4ldrsb x27, [x1]
005784e8ldr x2, [sp+24]
005784ecldr x3, [sp+64]
005784f0ldrsb x27, [x3]
005784f4ldr x3, [x3+32]
005784f8and x2, x2, x3
005784fcldr x3, [sp+24]
00578500ldr x4, [sp+72]
00578504ldrsb x27, [x4]
00578508ldr x4, [x4+32]
0057850cbic x3, x4, x3
00578510orr x2, x2, x3
00578514str x2, [x1+32]
00578518ldr x0, [sp+56]
0057851cstr x0, [sp+32]
00578520ldur x29, [sp-8]
00578524ldr x30, [sp], 48
00578528ret x30
0057852c
0057852cloc_57852c:
0057852cstp x0, x1, [sp+8]
00578530stp x2, x3, [sp+24]
00578534mov x3, x30
00578538bl runtime.morestack_noctxt.abi0
0057853cldp x0, x1, [sp+8]
00578540ldp x2, x3, [sp+24]
00578544b 0x5783d0
00578548udf 0
0057854cudf 0
005783d0
00578550
00578550crypto/internal/fips140/edwards25519/field.(*Element).Swap: ; void crypto/internal/fips140/edwards25519/field.(*Element).Swap(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * u, int cond)
00578550ldr x16, [x28+16]
00578554subs xzr, sp, x16
00578558b.ls 0x57877c
0057855cstr x30, [sp-48]!
00578560stur x29, [sp-8]
00578564sub x29, sp, 8
00578568str x0, [sp+56]
0057856cstr x1, [sp+64]
00578570str x2, [sp+72]
00578574mov x0, x2
00578578bl crypto/internal/fips140/edwards25519/field.mask64Bits
0057857cstr x0, [sp+32]
00578580ldr x1, [sp+56]
00578584ldrsb x27, [x1]
00578588ldr x1, [x1]
0057858cldr x2, [sp+64]
00578590ldrsb x27, [x2]
00578594ldr x2, [x2]
00578598eor x1, x1, x2
0057859cand x1, x0, x1
005785a0str x1, [sp+24]
005785a4ldr x2, [sp+56]
005785a8ldrsb x27, [x2]
005785acldr x3, [sp+56]
005785b0ldrsb x27, [x3]
005785b4ldr x3, [x3]
005785b8eor x1, x3, x1
005785bcstr x1, [x2]
005785c0ldr x1, [sp+64]
005785c4ldrsb x27, [x1]
005785c8ldr x2, [sp+64]
005785ccldrsb x27, [x2]
005785d0ldr x2, [x2]
005785d4ldr x3, [sp+24]
005785d8eor x2, x2, x3
005785dcstr x2, [x1]
005785e0ldr x1, [sp+32]
005785e4ldr x2, [sp+56]
005785e8ldrsb x27, [x2]
005785ecldr x2, [x2+8]
005785f0ldr x3, [sp+64]
005785f4ldrsb x27, [x3]
005785f8ldr x3, [x3+8]
005785fceor x2, x2, x3
00578600and x1, x1, x2
00578604str x1, [sp+24]
00578608ldr x2, [sp+56]
0057860cldrsb x27, [x2]
00578610ldr x3, [sp+56]
00578614ldrsb x27, [x3]
00578618ldr x3, [x3+8]
0057861ceor x1, x3, x1
00578620str x1, [x2+8]
00578624ldr x1, [sp+64]
00578628ldrsb x27, [x1]
0057862cldr x2, [sp+64]
00578630ldrsb x27, [x2]
00578634ldr x2, [x2+8]
00578638ldr x3, [sp+24]
0057863ceor x2, x2, x3
00578640str x2, [x1+8]
00578644ldr x1, [sp+32]
00578648ldr x2, [sp+56]
0057864cldrsb x27, [x2]
00578650ldr x2, [x2+16]
00578654ldr x3, [sp+64]
00578658ldrsb x27, [x3]
0057865cldr x3, [x3+16]
00578660eor x2, x2, x3
00578664and x1, x1, x2
00578668str x1, [sp+24]
0057866cldr x2, [sp+56]
00578670ldrsb x27, [x2]
00578674ldr x3, [sp+56]
00578678ldrsb x27, [x3]
0057867cldr x3, [x3+16]
00578680eor x1, x3, x1
00578684str x1, [x2+16]
00578688ldr x1, [sp+64]
0057868cldrsb x27, [x1]
00578690ldr x2, [sp+64]
00578694ldrsb x27, [x2]
00578698ldr x2, [x2+16]
0057869cldr x3, [sp+24]
005786a0eor x2, x2, x3
005786a4str x2, [x1+16]
005786a8ldr x1, [sp+32]
005786acldr x2, [sp+56]
005786b0ldrsb x27, [x2]
005786b4ldr x2, [x2+24]
005786b8ldr x3, [sp+64]
005786bcldrsb x27, [x3]
005786c0ldr x3, [x3+24]
005786c4eor x2, x2, x3
005786c8and x1, x1, x2
005786ccstr x1, [sp+24]
005786d0ldr x2, [sp+56]
005786d4ldrsb x27, [x2]
005786d8ldr x3, [sp+56]
005786dcldrsb x27, [x3]
005786e0ldr x3, [x3+24]
005786e4eor x1, x3, x1
005786e8str x1, [x2+24]
005786ecldr x1, [sp+64]
005786f0ldrsb x27, [x1]
005786f4ldr x2, [sp+64]
005786f8ldrsb x27, [x2]
005786fcldr x2, [x2+24]
00578700ldr x3, [sp+24]
00578704eor x2, x2, x3
00578708str x2, [x1+24]
0057870cldr x1, [sp+32]
00578710ldr x2, [sp+56]
00578714ldrsb x27, [x2]
00578718ldr x2, [x2+32]
0057871cldr x3, [sp+64]
00578720ldrsb x27, [x3]
00578724ldr x3, [x3+32]
00578728eor x2, x2, x3
0057872cand x1, x1, x2
00578730str x1, [sp+24]
00578734ldr x2, [sp+56]
00578738ldrsb x27, [x2]
0057873cldr x3, [sp+56]
00578740ldrsb x27, [x3]
00578744ldr x3, [x3+32]
00578748eor x1, x3, x1
0057874cstr x1, [x2+32]
00578750ldr x1, [sp+64]
00578754ldrsb x27, [x1]
00578758ldr x2, [sp+64]
0057875cldrsb x27, [x2]
00578760ldr x2, [x2+32]
00578764ldr x3, [sp+24]
00578768eor x2, x2, x3
0057876cstr x2, [x1+32]
00578770ldur x29, [sp-8]
00578774ldr x30, [sp], 48
00578778ret x30
0057877c
0057877cloc_57877c:
0057877cstp x0, x1, [sp+8]
00578780str x2, [sp+24]
00578784mov x3, x30
00578788bl runtime.morestack_noctxt.abi0
0057878cldp x0, x1, [sp+8]
00578790ldr x2, [sp+24]
00578794b 0x578550
00578798udf 0
0057879cudf 0
00578550
00578550crypto/internal/fips140/edwards25519/field.(*Element).Swap: ; void crypto/internal/fips140/edwards25519/field.(*Element).Swap(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * u, int cond)
00578550ldr x16, [x28+16]
00578554subs xzr, sp, x16
00578558b.ls 0x57877c
0057855cstr x30, [sp-48]!
00578560stur x29, [sp-8]
00578564sub x29, sp, 8
00578568str x0, [sp+56]
0057856cstr x1, [sp+64]
00578570str x2, [sp+72]
00578574mov x0, x2
00578578bl crypto/internal/fips140/edwards25519/field.mask64Bits
0057857cstr x0, [sp+32]
00578580ldr x1, [sp+56]
00578584ldrsb x27, [x1]
00578588ldr x1, [x1]
0057858cldr x2, [sp+64]
00578590ldrsb x27, [x2]
00578594ldr x2, [x2]
00578598eor x1, x1, x2
0057859cand x1, x0, x1
005785a0str x1, [sp+24]
005785a4ldr x2, [sp+56]
005785a8ldrsb x27, [x2]
005785acldr x3, [sp+56]
005785b0ldrsb x27, [x3]
005785b4ldr x3, [x3]
005785b8eor x1, x3, x1
005785bcstr x1, [x2]
005785c0ldr x1, [sp+64]
005785c4ldrsb x27, [x1]
005785c8ldr x2, [sp+64]
005785ccldrsb x27, [x2]
005785d0ldr x2, [x2]
005785d4ldr x3, [sp+24]
005785d8eor x2, x2, x3
005785dcstr x2, [x1]
005785e0ldr x1, [sp+32]
005785e4ldr x2, [sp+56]
005785e8ldrsb x27, [x2]
005785ecldr x2, [x2+8]
005785f0ldr x3, [sp+64]
005785f4ldrsb x27, [x3]
005785f8ldr x3, [x3+8]
005785fceor x2, x2, x3
00578600and x1, x1, x2
00578604str x1, [sp+24]
00578608ldr x2, [sp+56]
0057860cldrsb x27, [x2]
00578610ldr x3, [sp+56]
00578614ldrsb x27, [x3]
00578618ldr x3, [x3+8]
0057861ceor x1, x3, x1
00578620str x1, [x2+8]
00578624ldr x1, [sp+64]
00578628ldrsb x27, [x1]
0057862cldr x2, [sp+64]
00578630ldrsb x27, [x2]
00578634ldr x2, [x2+8]
00578638ldr x3, [sp+24]
0057863ceor x2, x2, x3
00578640str x2, [x1+8]
00578644ldr x1, [sp+32]
00578648ldr x2, [sp+56]
0057864cldrsb x27, [x2]
00578650ldr x2, [x2+16]
00578654ldr x3, [sp+64]
00578658ldrsb x27, [x3]
0057865cldr x3, [x3+16]
00578660eor x2, x2, x3
00578664and x1, x1, x2
00578668str x1, [sp+24]
0057866cldr x2, [sp+56]
00578670ldrsb x27, [x2]
00578674ldr x3, [sp+56]
00578678ldrsb x27, [x3]
0057867cldr x3, [x3+16]
00578680eor x1, x3, x1
00578684str x1, [x2+16]
00578688ldr x1, [sp+64]
0057868cldrsb x27, [x1]
00578690ldr x2, [sp+64]
00578694ldrsb x27, [x2]
00578698ldr x2, [x2+16]
0057869cldr x3, [sp+24]
005786a0eor x2, x2, x3
005786a4str x2, [x1+16]
005786a8ldr x1, [sp+32]
005786acldr x2, [sp+56]
005786b0ldrsb x27, [x2]
005786b4ldr x2, [x2+24]
005786b8ldr x3, [sp+64]
005786bcldrsb x27, [x3]
005786c0ldr x3, [x3+24]
005786c4eor x2, x2, x3
005786c8and x1, x1, x2
005786ccstr x1, [sp+24]
005786d0ldr x2, [sp+56]
005786d4ldrsb x27, [x2]
005786d8ldr x3, [sp+56]
005786dcldrsb x27, [x3]
005786e0ldr x3, [x3+24]
005786e4eor x1, x3, x1
005786e8str x1, [x2+24]
005786ecldr x1, [sp+64]
005786f0ldrsb x27, [x1]
005786f4ldr x2, [sp+64]
005786f8ldrsb x27, [x2]
005786fcldr x2, [x2+24]
00578700ldr x3, [sp+24]
00578704eor x2, x2, x3
00578708str x2, [x1+24]
0057870cldr x1, [sp+32]
00578710ldr x2, [sp+56]
00578714ldrsb x27, [x2]
00578718ldr x2, [x2+32]
0057871cldr x3, [sp+64]
00578720ldrsb x27, [x3]
00578724ldr x3, [x3+32]
00578728eor x2, x2, x3
0057872cand x1, x1, x2
00578730str x1, [sp+24]
00578734ldr x2, [sp+56]
00578738ldrsb x27, [x2]
0057873cldr x3, [sp+56]
00578740ldrsb x27, [x3]
00578744ldr x3, [x3+32]
00578748eor x1, x3, x1
0057874cstr x1, [x2+32]
00578750ldr x1, [sp+64]
00578754ldrsb x27, [x1]
00578758ldr x2, [sp+64]
0057875cldrsb x27, [x2]
00578760ldr x2, [x2+32]
00578764ldr x3, [sp+24]
00578768eor x2, x2, x3
0057876cstr x2, [x1+32]
00578770ldur x29, [sp-8]
00578774ldr x30, [sp], 48
00578778ret x30
0057877c
0057877cloc_57877c:
0057877cstp x0, x1, [sp+8]
00578780str x2, [sp+24]
00578784mov x3, x30
00578788bl runtime.morestack_noctxt.abi0
0057878cldp x0, x1, [sp+8]
00578790ldr x2, [sp+24]
00578794b 0x578550
00578798udf 0
0057879cudf 0
00578550
005787a0
005787a0crypto/internal/fips140/edwards25519/field.(*Element).IsNegative: ; void crypto/internal/fips140/edwards25519/field.(*Element).IsNegative(crypto/internal/fips140/edwards25519/field.Element * v)
005787a0ldr x16, [x28+16]
005787a4subs xzr, sp, x16
005787a8b.ls 0x578800
005787acstr x30, [sp-64]!
005787b0stur x29, [sp-8]
005787b4sub x29, sp, 8
005787b8str x0, [sp+72]
005787bcstr xzr, [sp+24]
005787c0bl crypto/internal/fips140/edwards25519/field.(*Element).Bytes
005787c4str x0, [sp+32]
005787c8str x1, [sp+40]
005787ccstr x2, [sp+48]
005787d0subs xzr, x1, 0
005787d4b.hi 0x5787dc
005787d8b 0x5787f4
005787dc
005787dcloc_5787dc:
005787dcldrb w1, [x0]
005787e0and x0, x1, 1
005787e4str x0, [sp+24]
005787e8ldur x29, [sp-8]
005787ecldr x30, [sp], 64
005787f0ret x30
005787f4
005787f4loc_5787f4:
005787f4mov x0, xzr
005787f8bl runtime.panicIndex
005787fchint
00578800
00578800loc_578800:
00578800str x0, [sp+8]
00578804mov x3, x30
00578808bl runtime.morestack_noctxt.abi0
0057880cldr x0, [sp+8]
00578810b 0x5787a0
00578814udf 0
00578818udf 0
0057881cudf 0
005787a0
005787a0crypto/internal/fips140/edwards25519/field.(*Element).IsNegative: ; void crypto/internal/fips140/edwards25519/field.(*Element).IsNegative(crypto/internal/fips140/edwards25519/field.Element * v)
005787a0ldr x16, [x28+16]
005787a4subs xzr, sp, x16
005787a8b.ls 0x578800
005787acstr x30, [sp-64]!
005787b0stur x29, [sp-8]
005787b4sub x29, sp, 8
005787b8str x0, [sp+72]
005787bcstr xzr, [sp+24]
005787c0bl crypto/internal/fips140/edwards25519/field.(*Element).Bytes
005787c4str x0, [sp+32]
005787c8str x1, [sp+40]
005787ccstr x2, [sp+48]
005787d0subs xzr, x1, 0
005787d4b.hi 0x5787dc
005787d8b 0x5787f4
005787dc
005787dcloc_5787dc:
005787dcldrb w1, [x0]
005787e0and x0, x1, 1
005787e4str x0, [sp+24]
005787e8ldur x29, [sp-8]
005787ecldr x30, [sp], 64
005787f0ret x30
005787f4
005787f4loc_5787f4:
005787f4mov x0, xzr
005787f8bl runtime.panicIndex
005787fchint
00578800
00578800loc_578800:
00578800str x0, [sp+8]
00578804mov x3, x30
00578808bl runtime.morestack_noctxt.abi0
0057880cldr x0, [sp+8]
00578810b 0x5787a0
00578814udf 0
00578818udf 0
0057881cudf 0
005787a0
00578820
00578820crypto/internal/fips140/edwards25519/field.(*Element).Absolute: ; void crypto/internal/fips140/edwards25519/field.(*Element).Absolute(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * u)
00578820ldr x16, [x28+16]
00578824subs xzr, sp, x16
00578828b.ls 0x5788a4
0057882cstr x30, [sp-128]!
00578830stur x29, [sp-8]
00578834sub x29, sp, 8
00578838str x0, [sp+136]
0057883cstr x1, [sp+144]
00578840str xzr, [sp+88]
00578844stp xzr, xzr, [sp+40]
00578848stp xzr, xzr, [sp+56]
0057884cstr xzr, [sp+72]
00578850add x0, sp, 40
00578854str x0, [sp+112]
00578858ldr x1, [sp+144]
0057885cbl crypto/internal/fips140/edwards25519/field.(*Element).Negate
00578860str x0, [sp+104]
00578864ldr x0, [sp+144]
00578868bl crypto/internal/fips140/edwards25519/field.(*Element).IsNegative
0057886cstr x0, [sp+80]
00578870ldr x2, [sp+136]
00578874ldr x3, [sp+144]
00578878ldr x1, [sp+104]
0057887cmov x4, x0
00578880mov x0, x2
00578884mov x2, x3
00578888mov x3, x4
0057888cbl crypto/internal/fips140/edwards25519/field.(*Element).Select
00578890str x0, [sp+96]
00578894str x0, [sp+88]
00578898ldur x29, [sp-8]
0057889cldr x30, [sp], 128
005788a0ret x30
005788a4
005788a4loc_5788a4:
005788a4stp x0, x1, [sp+8]
005788a8mov x3, x30
005788acbl runtime.morestack_noctxt.abi0
005788b0ldp x0, x1, [sp+8]
005788b4b 0x578820
005788b8udf 0
005788bcudf 0
00578820
00578820crypto/internal/fips140/edwards25519/field.(*Element).Absolute: ; void crypto/internal/fips140/edwards25519/field.(*Element).Absolute(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * u)
00578820ldr x16, [x28+16]
00578824subs xzr, sp, x16
00578828b.ls 0x5788a4
0057882cstr x30, [sp-128]!
00578830stur x29, [sp-8]
00578834sub x29, sp, 8
00578838str x0, [sp+136]
0057883cstr x1, [sp+144]
00578840str xzr, [sp+88]
00578844stp xzr, xzr, [sp+40]
00578848stp xzr, xzr, [sp+56]
0057884cstr xzr, [sp+72]
00578850add x0, sp, 40
00578854str x0, [sp+112]
00578858ldr x1, [sp+144]
0057885cbl crypto/internal/fips140/edwards25519/field.(*Element).Negate
00578860str x0, [sp+104]
00578864ldr x0, [sp+144]
00578868bl crypto/internal/fips140/edwards25519/field.(*Element).IsNegative
0057886cstr x0, [sp+80]
00578870ldr x2, [sp+136]
00578874ldr x3, [sp+144]
00578878ldr x1, [sp+104]
0057887cmov x4, x0
00578880mov x0, x2
00578884mov x2, x3
00578888mov x3, x4
0057888cbl crypto/internal/fips140/edwards25519/field.(*Element).Select
00578890str x0, [sp+96]
00578894str x0, [sp+88]
00578898ldur x29, [sp-8]
0057889cldr x30, [sp], 128
005788a0ret x30
005788a4
005788a4loc_5788a4:
005788a4stp x0, x1, [sp+8]
005788a8mov x3, x30
005788acbl runtime.morestack_noctxt.abi0
005788b0ldp x0, x1, [sp+8]
005788b4b 0x578820
005788b8udf 0
005788bcudf 0
00578820
005788c0
005788c0crypto/internal/fips140/edwards25519/field.(*Element).Multiply: ; void crypto/internal/fips140/edwards25519/field.(*Element).Multiply(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * x, crypto/internal/fips140/edwards25519/field.Element * y)
005788c0ldr x16, [x28+16]
005788c4subs xzr, sp, x16
005788c8b.ls 0x57890c
005788ccstr x30, [sp-48]!
005788d0stur x29, [sp-8]
005788d4sub x29, sp, 8
005788d8str x0, [sp+56]
005788dcstr x1, [sp+64]
005788e0str x2, [sp+72]
005788e4str xzr, [sp+32]
005788e8ldr x1, [sp+64]
005788ecldr x2, [sp+72]
005788f0ldr x0, [sp+56]
005788f4bl crypto/internal/fips140/edwards25519/field.feMul
005788f8ldr x0, [sp+56]
005788fcstr x0, [sp+32]
00578900ldur x29, [sp-8]
00578904ldr x30, [sp], 48
00578908ret x30
0057890c
0057890cloc_57890c:
0057890cstp x0, x1, [sp+8]
00578910str x2, [sp+24]
00578914mov x3, x30
00578918bl runtime.morestack_noctxt.abi0
0057891cldp x0, x1, [sp+8]
00578920ldr x2, [sp+24]
00578924b 0x5788c0
00578928udf 0
0057892cudf 0
005788c0
005788c0crypto/internal/fips140/edwards25519/field.(*Element).Multiply: ; void crypto/internal/fips140/edwards25519/field.(*Element).Multiply(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * x, crypto/internal/fips140/edwards25519/field.Element * y)
005788c0ldr x16, [x28+16]
005788c4subs xzr, sp, x16
005788c8b.ls 0x57890c
005788ccstr x30, [sp-48]!
005788d0stur x29, [sp-8]
005788d4sub x29, sp, 8
005788d8str x0, [sp+56]
005788dcstr x1, [sp+64]
005788e0str x2, [sp+72]
005788e4str xzr, [sp+32]
005788e8ldr x1, [sp+64]
005788ecldr x2, [sp+72]
005788f0ldr x0, [sp+56]
005788f4bl crypto/internal/fips140/edwards25519/field.feMul
005788f8ldr x0, [sp+56]
005788fcstr x0, [sp+32]
00578900ldur x29, [sp-8]
00578904ldr x30, [sp], 48
00578908ret x30
0057890c
0057890cloc_57890c:
0057890cstp x0, x1, [sp+8]
00578910str x2, [sp+24]
00578914mov x3, x30
00578918bl runtime.morestack_noctxt.abi0
0057891cldp x0, x1, [sp+8]
00578920ldr x2, [sp+24]
00578924b 0x5788c0
00578928udf 0
0057892cudf 0
005788c0
00578930
00578930crypto/internal/fips140/edwards25519/field.(*Element).Square: ; void crypto/internal/fips140/edwards25519/field.(*Element).Square(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * x)
00578930ldr x16, [x28+16]
00578934subs xzr, sp, x16
00578938b.ls 0x578974
0057893cstr x30, [sp-48]!
00578940stur x29, [sp-8]
00578944sub x29, sp, 8
00578948str x0, [sp+56]
0057894cstr x1, [sp+64]
00578950str xzr, [sp+32]
00578954ldr x1, [sp+64]
00578958ldr x0, [sp+56]
0057895cbl crypto/internal/fips140/edwards25519/field.feSquare
00578960ldr x0, [sp+56]
00578964str x0, [sp+32]
00578968ldur x29, [sp-8]
0057896cldr x30, [sp], 48
00578970ret x30
00578974
00578974loc_578974:
00578974stp x0, x1, [sp+8]
00578978mov x3, x30
0057897cbl runtime.morestack_noctxt.abi0
00578980ldp x0, x1, [sp+8]
00578984b 0x578930
00578988udf 0
0057898cudf 0
00578930
00578930crypto/internal/fips140/edwards25519/field.(*Element).Square: ; void crypto/internal/fips140/edwards25519/field.(*Element).Square(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * x)
00578930ldr x16, [x28+16]
00578934subs xzr, sp, x16
00578938b.ls 0x578974
0057893cstr x30, [sp-48]!
00578940stur x29, [sp-8]
00578944sub x29, sp, 8
00578948str x0, [sp+56]
0057894cstr x1, [sp+64]
00578950str xzr, [sp+32]
00578954ldr x1, [sp+64]
00578958ldr x0, [sp+56]
0057895cbl crypto/internal/fips140/edwards25519/field.feSquare
00578960ldr x0, [sp+56]
00578964str x0, [sp+32]
00578968ldur x29, [sp-8]
0057896cldr x30, [sp], 48
00578970ret x30
00578974
00578974loc_578974:
00578974stp x0, x1, [sp+8]
00578978mov x3, x30
0057897cbl runtime.morestack_noctxt.abi0
00578980ldp x0, x1, [sp+8]
00578984b 0x578930
00578988udf 0
0057898cudf 0
00578930
00578990
00578990crypto/internal/fips140/edwards25519/field.(*Element).Mult32: ; void crypto/internal/fips140/edwards25519/field.(*Element).Mult32(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * x, uint32 y)
00578990ldr x16, [x28+16]
00578994sub x17, sp, 128
00578998subs xzr, x17, x16
0057899cb.ls 0x578b3c
005789a0sub x20, sp, 256
005789a4stp x29, x30, [x20-8]
005789a8add sp, x20, 0
005789acsub x29, sp, 8
005789b0str x0, [sp+264]
005789b4str x1, [sp+272]
005789b8str w2, [sp+280]
005789bcstr xzr, [sp+240]
005789c0ldr x2, [sp+272]
005789c4ldrsb x27, [x2]
005789c8ldr x0, [x2]
005789ccstr x0, [sp+152]
005789d0ldr w1, [sp+280]
005789d4bl crypto/internal/fips140/edwards25519/field.mul51
005789d8str x0, [sp+168]
005789dcstr x1, [sp+160]
005789e0str x0, [sp+112]
005789e4str x1, [sp+104]
005789e8str x0, [sp+88]
005789ecstr x1, [sp+96]
005789f0ldr x2, [sp+272]
005789f4ldrsb x27, [x2]
005789f8ldr x0, [x2+8]
005789fcstr x0, [sp+144]
00578a00ldr w1, [sp+280]
00578a04bl crypto/internal/fips140/edwards25519/field.mul51
00578a08str x0, [sp+160]
00578a0cstr x1, [sp+168]
00578a10str x0, [sp+232]
00578a14str x1, [sp+224]
00578a18str x0, [sp+72]
00578a1cstr x1, [sp+80]
00578a20ldr x2, [sp+272]
00578a24ldrsb x27, [x2]
00578a28ldr x0, [x2+16]
00578a2cstr x0, [sp+136]
00578a30ldr w1, [sp+280]
00578a34bl crypto/internal/fips140/edwards25519/field.mul51
00578a38str x0, [sp+168]
00578a3cstr x1, [sp+160]
00578a40str x0, [sp+216]
00578a44str x1, [sp+208]
00578a48str x0, [sp+56]
00578a4cstr x1, [sp+64]
00578a50ldr x2, [sp+272]
00578a54ldrsb x27, [x2]
00578a58ldr x0, [x2+24]
00578a5cstr x0, [sp+128]
00578a60ldr w1, [sp+280]
00578a64bl crypto/internal/fips140/edwards25519/field.mul51
00578a68str x0, [sp+160]
00578a6cstr x1, [sp+168]
00578a70str x0, [sp+200]
00578a74str x1, [sp+192]
00578a78str x0, [sp+40]
00578a7cstr x1, [sp+48]
00578a80ldr x2, [sp+272]
00578a84ldrsb x27, [x2]
00578a88ldr x0, [x2+32]
00578a8cstr x0, [sp+120]
00578a90ldr w1, [sp+280]
00578a94bl crypto/internal/fips140/edwards25519/field.mul51
00578a98str x0, [sp+168]
00578a9cstr x1, [sp+160]
00578aa0str x0, [sp+184]
00578aa4str x1, [sp+176]
00578aa8str x0, [sp+24]
00578aacstr x1, [sp+32]
00578ab0ldr x2, [sp+264]
00578ab4ldrsb x27, [x2]
00578ab8ldr x3, [sp+88]
00578abcmovz x4, 19
00578ac0madd x3, x1, x4, x3
00578ac4str x3, [x2]
00578ac8ldr x2, [sp+264]
00578accldrsb x27, [x2]
00578ad0ldr x3, [sp+96]
00578ad4ldr x4, [sp+72]
00578ad8add x3, x4, x3
00578adcstr x3, [x2+8]
00578ae0ldr x2, [sp+264]
00578ae4ldrsb x27, [x2]
00578ae8ldr x3, [sp+80]
00578aecldr x4, [sp+56]
00578af0add x3, x4, x3
00578af4str x3, [x2+16]
00578af8ldr x2, [sp+264]
00578afcldrsb x27, [x2]
00578b00ldr x3, [sp+64]
00578b04ldr x4, [sp+40]
00578b08add x3, x4, x3
00578b0cstr x3, [x2+24]
00578b10ldr x2, [sp+264]
00578b14ldrsb x27, [x2]
00578b18ldr x3, [sp+48]
00578b1cldr x4, [sp+24]
00578b20add x3, x4, x3
00578b24str x3, [x2+32]
00578b28ldr x0, [sp+264]
00578b2cstr x0, [sp+240]
00578b30ldp x29, x30, [sp-8]
00578b34add sp, sp, 256
00578b38ret x30
00578b3c
00578b3cloc_578b3c:
00578b3cstp x0, x1, [sp+8]
00578b40str w2, [sp+24]
00578b44mov x3, x30
00578b48bl runtime.morestack_noctxt.abi0
00578b4cldp x0, x1, [sp+8]
00578b50ldr w2, [sp+24]
00578b54b 0x578990
00578b58udf 0
00578b5cudf 0
00578990
00578990crypto/internal/fips140/edwards25519/field.(*Element).Mult32: ; void crypto/internal/fips140/edwards25519/field.(*Element).Mult32(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * x, uint32 y)
00578990ldr x16, [x28+16]
00578994sub x17, sp, 128
00578998subs xzr, x17, x16
0057899cb.ls 0x578b3c
005789a0sub x20, sp, 256
005789a4stp x29, x30, [x20-8]
005789a8add sp, x20, 0
005789acsub x29, sp, 8
005789b0str x0, [sp+264]
005789b4str x1, [sp+272]
005789b8str w2, [sp+280]
005789bcstr xzr, [sp+240]
005789c0ldr x2, [sp+272]
005789c4ldrsb x27, [x2]
005789c8ldr x0, [x2]
005789ccstr x0, [sp+152]
005789d0ldr w1, [sp+280]
005789d4bl crypto/internal/fips140/edwards25519/field.mul51
005789d8str x0, [sp+168]
005789dcstr x1, [sp+160]
005789e0str x0, [sp+112]
005789e4str x1, [sp+104]
005789e8str x0, [sp+88]
005789ecstr x1, [sp+96]
005789f0ldr x2, [sp+272]
005789f4ldrsb x27, [x2]
005789f8ldr x0, [x2+8]
005789fcstr x0, [sp+144]
00578a00ldr w1, [sp+280]
00578a04bl crypto/internal/fips140/edwards25519/field.mul51
00578a08str x0, [sp+160]
00578a0cstr x1, [sp+168]
00578a10str x0, [sp+232]
00578a14str x1, [sp+224]
00578a18str x0, [sp+72]
00578a1cstr x1, [sp+80]
00578a20ldr x2, [sp+272]
00578a24ldrsb x27, [x2]
00578a28ldr x0, [x2+16]
00578a2cstr x0, [sp+136]
00578a30ldr w1, [sp+280]
00578a34bl crypto/internal/fips140/edwards25519/field.mul51
00578a38str x0, [sp+168]
00578a3cstr x1, [sp+160]
00578a40str x0, [sp+216]
00578a44str x1, [sp+208]
00578a48str x0, [sp+56]
00578a4cstr x1, [sp+64]
00578a50ldr x2, [sp+272]
00578a54ldrsb x27, [x2]
00578a58ldr x0, [x2+24]
00578a5cstr x0, [sp+128]
00578a60ldr w1, [sp+280]
00578a64bl crypto/internal/fips140/edwards25519/field.mul51
00578a68str x0, [sp+160]
00578a6cstr x1, [sp+168]
00578a70str x0, [sp+200]
00578a74str x1, [sp+192]
00578a78str x0, [sp+40]
00578a7cstr x1, [sp+48]
00578a80ldr x2, [sp+272]
00578a84ldrsb x27, [x2]
00578a88ldr x0, [x2+32]
00578a8cstr x0, [sp+120]
00578a90ldr w1, [sp+280]
00578a94bl crypto/internal/fips140/edwards25519/field.mul51
00578a98str x0, [sp+168]
00578a9cstr x1, [sp+160]
00578aa0str x0, [sp+184]
00578aa4str x1, [sp+176]
00578aa8str x0, [sp+24]
00578aacstr x1, [sp+32]
00578ab0ldr x2, [sp+264]
00578ab4ldrsb x27, [x2]
00578ab8ldr x3, [sp+88]
00578abcmovz x4, 19
00578ac0madd x3, x1, x4, x3
00578ac4str x3, [x2]
00578ac8ldr x2, [sp+264]
00578accldrsb x27, [x2]
00578ad0ldr x3, [sp+96]
00578ad4ldr x4, [sp+72]
00578ad8add x3, x4, x3
00578adcstr x3, [x2+8]
00578ae0ldr x2, [sp+264]
00578ae4ldrsb x27, [x2]
00578ae8ldr x3, [sp+80]
00578aecldr x4, [sp+56]
00578af0add x3, x4, x3
00578af4str x3, [x2+16]
00578af8ldr x2, [sp+264]
00578afcldrsb x27, [x2]
00578b00ldr x3, [sp+64]
00578b04ldr x4, [sp+40]
00578b08add x3, x4, x3
00578b0cstr x3, [x2+24]
00578b10ldr x2, [sp+264]
00578b14ldrsb x27, [x2]
00578b18ldr x3, [sp+48]
00578b1cldr x4, [sp+24]
00578b20add x3, x4, x3
00578b24str x3, [x2+32]
00578b28ldr x0, [sp+264]
00578b2cstr x0, [sp+240]
00578b30ldp x29, x30, [sp-8]
00578b34add sp, sp, 256
00578b38ret x30
00578b3c
00578b3cloc_578b3c:
00578b3cstp x0, x1, [sp+8]
00578b40str w2, [sp+24]
00578b44mov x3, x30
00578b48bl runtime.morestack_noctxt.abi0
00578b4cldp x0, x1, [sp+8]
00578b50ldr w2, [sp+24]
00578b54b 0x578990
00578b58udf 0
00578b5cudf 0
00578990
00578b60
00578b60crypto/internal/fips140/edwards25519/field.mul51: ; void crypto/internal/fips140/edwards25519/field.mul51(uint64 a, uint32 b)
00578b60str x30, [sp-80]!
00578b64stur x29, [sp-8]
00578b68sub x29, sp, 8
00578b6cstr x0, [sp+88]
00578b70str w1, [sp+96]
00578b74str xzr, [sp+24]
00578b78str xzr, [sp+32]
00578b7cldr w2, [sp+96]
00578b80madd x3, x0, x2, xzr
00578b84umulh x2, x0, x2
00578b88str x2, [sp+48]
00578b8cstr x3, [sp+40]
00578b90str x2, [sp+64]
00578b94str x3, [sp+56]
00578b98str x2, [sp+16]
00578b9cstr x3, [sp+8]
00578ba0and x0, x3, 0x7ffffffffffff
00578ba4str x0, [sp+24]
00578ba8extr x1, x2, x3, 51
00578bacstr x1, [sp+32]
00578bb0add x29, sp, 72
00578bb4add sp, sp, 80
00578bb8ret x30
00578bbcudf 0
00578b60
00578b60crypto/internal/fips140/edwards25519/field.mul51: ; void crypto/internal/fips140/edwards25519/field.mul51(uint64 a, uint32 b)
00578b60str x30, [sp-80]!
00578b64stur x29, [sp-8]
00578b68sub x29, sp, 8
00578b6cstr x0, [sp+88]
00578b70str w1, [sp+96]
00578b74str xzr, [sp+24]
00578b78str xzr, [sp+32]
00578b7cldr w2, [sp+96]
00578b80madd x3, x0, x2, xzr
00578b84umulh x2, x0, x2
00578b88str x2, [sp+48]
00578b8cstr x3, [sp+40]
00578b90str x2, [sp+64]
00578b94str x3, [sp+56]
00578b98str x2, [sp+16]
00578b9cstr x3, [sp+8]
00578ba0and x0, x3, 0x7ffffffffffff
00578ba4str x0, [sp+24]
00578ba8extr x1, x2, x3, 51
00578bacstr x1, [sp+32]
00578bb0add x29, sp, 72
00578bb4add sp, sp, 80
00578bb8ret x30
00578bbcudf 0
00578b60
Loading..