File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    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
    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
    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
    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
    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
    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
    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
    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
    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
    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
    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
    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