File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
Loading..
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
00578bc0
00578bc0crypto/internal/fips140/edwards25519/field.(*Element).Pow22523: ; void crypto/internal/fips140/edwards25519/field.(*Element).Pow22523(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * x)
00578bc0ldr x16, [x28+16]
00578bc4sub x17, sp, 112
00578bc8subs xzr, x17, x16
00578bccb.ls 0x578f28
00578bd0str x30, [sp-240]!
00578bd4stur x29, [sp-8]
00578bd8sub x29, sp, 8
00578bdcstr x0, [sp+248]
00578be0str x1, [sp+256]
00578be4str xzr, [sp+216]
00578be8stp xzr, xzr, [sp+120]
00578becstp xzr, xzr, [sp+136]
00578bf0str xzr, [sp+152]
00578bf4stp xzr, xzr, [sp+80]
00578bf8stp xzr, xzr, [sp+96]
00578bfcstr xzr, [sp+112]
00578c00stp xzr, xzr, [sp+40]
00578c04stp xzr, xzr, [sp+56]
00578c08str xzr, [sp+72]
00578c0cldr x1, [sp+256]
00578c10add x0, sp, 120
00578c14bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00578c18add x0, sp, 80
00578c1cadd x1, sp, 120
00578c20bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00578c24add x0, sp, 80
00578c28add x1, sp, 80
00578c2cbl crypto/internal/fips140/edwards25519/field.(*Element).Square
00578c30ldr x1, [sp+256]
00578c34add x0, sp, 80
00578c38add x2, sp, 80
00578c3cbl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00578c40add x0, sp, 120
00578c44add x1, sp, 120
00578c48add x2, sp, 80
00578c4cbl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00578c50add x0, sp, 120
00578c54add x1, sp, 120
00578c58bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00578c5cadd x0, sp, 120
00578c60add x1, sp, 80
00578c64add x2, sp, 120
00578c68bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00578c6cadd x0, sp, 80
00578c70add x1, sp, 120
00578c74bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00578c78orr x2, xzr, 1
00578c7cstr x2, [sp+208]
00578c80b 0x578c84
00578c84
00578c84loc_578c84:
00578c84ldr x3, [sp+208]
00578c88subs xzr, x3, 5
00578c8cb.lt 0x578c94
00578c90b 0x578cb8
00578c94
00578c94loc_578c94:
00578c94add x0, sp, 80
00578c98add x1, sp, 80
00578c9cbl crypto/internal/fips140/edwards25519/field.(*Element).Square
00578ca0b 0x578ca4
00578ca4
00578ca4loc_578ca4:
00578ca4ldr x3, [sp+208]
00578ca8add x3, x3, 1
00578cacstr x3, [sp+208]
00578cb0orr x2, xzr, 1
00578cb4b 0x578c84
00578cb8
00578cb8loc_578cb8:
00578cb8add x0, sp, 120
00578cbcadd x1, sp, 80
00578cc0add x2, sp, 120
00578cc4bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00578cc8add x0, sp, 80
00578cccadd x1, sp, 120
00578cd0bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00578cd4orr x3, xzr, 1
00578cd8str x3, [sp+200]
00578cdcb 0x578ce0
00578ce0
00578ce0loc_578ce0:
00578ce0ldr x4, [sp+200]
00578ce4subs xzr, x4, 10
00578ce8b.lt 0x578cf0
00578cecb 0x578d14
00578cf0
00578cf0loc_578cf0:
00578cf0add x0, sp, 80
00578cf4add x1, sp, 80
00578cf8bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00578cfcb 0x578d00
00578d00
00578d00loc_578d00:
00578d00ldr x4, [sp+200]
00578d04add x4, x4, 1
00578d08str x4, [sp+200]
00578d0corr x3, xzr, 1
00578d10b 0x578ce0
00578d14
00578d14loc_578d14:
00578d14add x0, sp, 80
00578d18add x1, sp, 80
00578d1cadd x2, sp, 120
00578d20bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00578d24add x0, sp, 40
00578d28add x1, sp, 80
00578d2cbl crypto/internal/fips140/edwards25519/field.(*Element).Square
00578d30orr x3, xzr, 1
00578d34str x3, [sp+192]
00578d38b 0x578d3c
00578d3c
00578d3cloc_578d3c:
00578d3cldr x4, [sp+192]
00578d40subs xzr, x4, 20
00578d44b.lt 0x578d4c
00578d48b 0x578d70
00578d4c
00578d4cloc_578d4c:
00578d4cadd x0, sp, 40
00578d50add x1, sp, 40
00578d54bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00578d58b 0x578d5c
00578d5c
00578d5cloc_578d5c:
00578d5cldr x4, [sp+192]
00578d60add x4, x4, 1
00578d64str x4, [sp+192]
00578d68orr x3, xzr, 1
00578d6cb 0x578d3c
00578d70
00578d70loc_578d70:
00578d70add x0, sp, 80
00578d74add x1, sp, 40
00578d78add x2, sp, 80
00578d7cbl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00578d80add x0, sp, 80
00578d84add x1, sp, 80
00578d88bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00578d8corr x3, xzr, 1
00578d90str x3, [sp+184]
00578d94b 0x578d98
00578d98
00578d98loc_578d98:
00578d98ldr x4, [sp+184]
00578d9csubs xzr, x4, 10
00578da0b.lt 0x578da8
00578da4b 0x578dcc
00578da8
00578da8loc_578da8:
00578da8add x0, sp, 80
00578dacadd x1, sp, 80
00578db0bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00578db4b 0x578db8
00578db8
00578db8loc_578db8:
00578db8ldr x4, [sp+184]
00578dbcadd x4, x4, 1
00578dc0str x4, [sp+184]
00578dc4orr x3, xzr, 1
00578dc8b 0x578d98
00578dcc
00578dccloc_578dcc:
00578dccadd x0, sp, 120
00578dd0add x1, sp, 80
00578dd4add x2, sp, 120
00578dd8bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00578ddcadd x0, sp, 80
00578de0add x1, sp, 120
00578de4bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00578de8orr x3, xzr, 1
00578decstr x3, [sp+176]
00578df0b 0x578df4
00578df4
00578df4loc_578df4:
00578df4ldr x4, [sp+176]
00578df8subs xzr, x4, 50
00578dfcb.lt 0x578e04
00578e00b 0x578e28
00578e04
00578e04loc_578e04:
00578e04add x0, sp, 80
00578e08add x1, sp, 80
00578e0cbl crypto/internal/fips140/edwards25519/field.(*Element).Square
00578e10b 0x578e14
00578e14
00578e14loc_578e14:
00578e14ldr x4, [sp+176]
00578e18add x4, x4, 1
00578e1cstr x4, [sp+176]
00578e20orr x3, xzr, 1
00578e24b 0x578df4
00578e28
00578e28loc_578e28:
00578e28add x0, sp, 80
00578e2cadd x1, sp, 80
00578e30add x2, sp, 120
00578e34bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00578e38add x0, sp, 40
00578e3cadd x1, sp, 80
00578e40bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00578e44orr x3, xzr, 1
00578e48str x3, [sp+168]
00578e4cb 0x578e50
00578e50
00578e50loc_578e50:
00578e50ldr x4, [sp+168]
00578e54subs xzr, x4, 100
00578e58b.lt 0x578e60
00578e5cb 0x578e84
00578e60
00578e60loc_578e60:
00578e60add x0, sp, 40
00578e64add x1, sp, 40
00578e68bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00578e6cb 0x578e70
00578e70
00578e70loc_578e70:
00578e70ldr x4, [sp+168]
00578e74add x4, x4, 1
00578e78str x4, [sp+168]
00578e7corr x3, xzr, 1
00578e80b 0x578e50
00578e84
00578e84loc_578e84:
00578e84add x0, sp, 80
00578e88add x1, sp, 40
00578e8cadd x2, sp, 80
00578e90bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00578e94add x0, sp, 80
00578e98add x1, sp, 80
00578e9cbl crypto/internal/fips140/edwards25519/field.(*Element).Square
00578ea0orr x3, xzr, 1
00578ea4str x3, [sp+160]
00578ea8b 0x578eac
00578eac
00578eacloc_578eac:
00578eacldr x3, [sp+160]
00578eb0subs xzr, x3, 50
00578eb4b.lt 0x578ebc
00578eb8b 0x578edc
00578ebc
00578ebcloc_578ebc:
00578ebcadd x0, sp, 80
00578ec0add x1, sp, 80
00578ec4bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00578ec8b 0x578ecc
00578ecc
00578eccloc_578ecc:
00578eccldr x3, [sp+160]
00578ed0add x3, x3, 1
00578ed4str x3, [sp+160]
00578ed8b 0x578eac
00578edc
00578edcloc_578edc:
00578edcadd x0, sp, 120
00578ee0add x1, sp, 80
00578ee4add x2, sp, 120
00578ee8bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00578eecadd x0, sp, 120
00578ef0add x1, sp, 120
00578ef4bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00578ef8add x0, sp, 120
00578efcadd x1, sp, 120
00578f00bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00578f04ldr x2, [sp+256]
00578f08ldr x0, [sp+248]
00578f0cadd x1, sp, 120
00578f10bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00578f14str x0, [sp+224]
00578f18str x0, [sp+216]
00578f1cldur x29, [sp-8]
00578f20ldr x30, [sp], 240
00578f24ret x30
00578f28
00578f28loc_578f28:
00578f28stp x0, x1, [sp+8]
00578f2cmov x3, x30
00578f30bl runtime.morestack_noctxt.abi0
00578f34ldp x0, x1, [sp+8]
00578f38b 0x578bc0
00578f3cudf 0
00578bc0
00578bc0crypto/internal/fips140/edwards25519/field.(*Element).Pow22523: ; void crypto/internal/fips140/edwards25519/field.(*Element).Pow22523(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * x)
00578bc0ldr x16, [x28+16]
00578bc4sub x17, sp, 112
00578bc8subs xzr, x17, x16
00578bccb.ls 0x578f28
00578bd0str x30, [sp-240]!
00578bd4stur x29, [sp-8]
00578bd8sub x29, sp, 8
00578bdcstr x0, [sp+248]
00578be0str x1, [sp+256]
00578be4str xzr, [sp+216]
00578be8stp xzr, xzr, [sp+120]
00578becstp xzr, xzr, [sp+136]
00578bf0str xzr, [sp+152]
00578bf4stp xzr, xzr, [sp+80]
00578bf8stp xzr, xzr, [sp+96]
00578bfcstr xzr, [sp+112]
00578c00stp xzr, xzr, [sp+40]
00578c04stp xzr, xzr, [sp+56]
00578c08str xzr, [sp+72]
00578c0cldr x1, [sp+256]
00578c10add x0, sp, 120
00578c14bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00578c18add x0, sp, 80
00578c1cadd x1, sp, 120
00578c20bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00578c24add x0, sp, 80
00578c28add x1, sp, 80
00578c2cbl crypto/internal/fips140/edwards25519/field.(*Element).Square
00578c30ldr x1, [sp+256]
00578c34add x0, sp, 80
00578c38add x2, sp, 80
00578c3cbl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00578c40add x0, sp, 120
00578c44add x1, sp, 120
00578c48add x2, sp, 80
00578c4cbl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00578c50add x0, sp, 120
00578c54add x1, sp, 120
00578c58bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00578c5cadd x0, sp, 120
00578c60add x1, sp, 80
00578c64add x2, sp, 120
00578c68bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00578c6cadd x0, sp, 80
00578c70add x1, sp, 120
00578c74bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00578c78orr x2, xzr, 1
00578c7cstr x2, [sp+208]
00578c80b 0x578c84
00578c84
00578c84loc_578c84:
00578c84ldr x3, [sp+208]
00578c88subs xzr, x3, 5
00578c8cb.lt 0x578c94
00578c90b 0x578cb8
00578c94
00578c94loc_578c94:
00578c94add x0, sp, 80
00578c98add x1, sp, 80
00578c9cbl crypto/internal/fips140/edwards25519/field.(*Element).Square
00578ca0b 0x578ca4
00578ca4
00578ca4loc_578ca4:
00578ca4ldr x3, [sp+208]
00578ca8add x3, x3, 1
00578cacstr x3, [sp+208]
00578cb0orr x2, xzr, 1
00578cb4b 0x578c84
00578cb8
00578cb8loc_578cb8:
00578cb8add x0, sp, 120
00578cbcadd x1, sp, 80
00578cc0add x2, sp, 120
00578cc4bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00578cc8add x0, sp, 80
00578cccadd x1, sp, 120
00578cd0bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00578cd4orr x3, xzr, 1
00578cd8str x3, [sp+200]
00578cdcb 0x578ce0
00578ce0
00578ce0loc_578ce0:
00578ce0ldr x4, [sp+200]
00578ce4subs xzr, x4, 10
00578ce8b.lt 0x578cf0
00578cecb 0x578d14
00578cf0
00578cf0loc_578cf0:
00578cf0add x0, sp, 80
00578cf4add x1, sp, 80
00578cf8bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00578cfcb 0x578d00
00578d00
00578d00loc_578d00:
00578d00ldr x4, [sp+200]
00578d04add x4, x4, 1
00578d08str x4, [sp+200]
00578d0corr x3, xzr, 1
00578d10b 0x578ce0
00578d14
00578d14loc_578d14:
00578d14add x0, sp, 80
00578d18add x1, sp, 80
00578d1cadd x2, sp, 120
00578d20bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00578d24add x0, sp, 40
00578d28add x1, sp, 80
00578d2cbl crypto/internal/fips140/edwards25519/field.(*Element).Square
00578d30orr x3, xzr, 1
00578d34str x3, [sp+192]
00578d38b 0x578d3c
00578d3c
00578d3cloc_578d3c:
00578d3cldr x4, [sp+192]
00578d40subs xzr, x4, 20
00578d44b.lt 0x578d4c
00578d48b 0x578d70
00578d4c
00578d4cloc_578d4c:
00578d4cadd x0, sp, 40
00578d50add x1, sp, 40
00578d54bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00578d58b 0x578d5c
00578d5c
00578d5cloc_578d5c:
00578d5cldr x4, [sp+192]
00578d60add x4, x4, 1
00578d64str x4, [sp+192]
00578d68orr x3, xzr, 1
00578d6cb 0x578d3c
00578d70
00578d70loc_578d70:
00578d70add x0, sp, 80
00578d74add x1, sp, 40
00578d78add x2, sp, 80
00578d7cbl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00578d80add x0, sp, 80
00578d84add x1, sp, 80
00578d88bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00578d8corr x3, xzr, 1
00578d90str x3, [sp+184]
00578d94b 0x578d98
00578d98
00578d98loc_578d98:
00578d98ldr x4, [sp+184]
00578d9csubs xzr, x4, 10
00578da0b.lt 0x578da8
00578da4b 0x578dcc
00578da8
00578da8loc_578da8:
00578da8add x0, sp, 80
00578dacadd x1, sp, 80
00578db0bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00578db4b 0x578db8
00578db8
00578db8loc_578db8:
00578db8ldr x4, [sp+184]
00578dbcadd x4, x4, 1
00578dc0str x4, [sp+184]
00578dc4orr x3, xzr, 1
00578dc8b 0x578d98
00578dcc
00578dccloc_578dcc:
00578dccadd x0, sp, 120
00578dd0add x1, sp, 80
00578dd4add x2, sp, 120
00578dd8bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00578ddcadd x0, sp, 80
00578de0add x1, sp, 120
00578de4bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00578de8orr x3, xzr, 1
00578decstr x3, [sp+176]
00578df0b 0x578df4
00578df4
00578df4loc_578df4:
00578df4ldr x4, [sp+176]
00578df8subs xzr, x4, 50
00578dfcb.lt 0x578e04
00578e00b 0x578e28
00578e04
00578e04loc_578e04:
00578e04add x0, sp, 80
00578e08add x1, sp, 80
00578e0cbl crypto/internal/fips140/edwards25519/field.(*Element).Square
00578e10b 0x578e14
00578e14
00578e14loc_578e14:
00578e14ldr x4, [sp+176]
00578e18add x4, x4, 1
00578e1cstr x4, [sp+176]
00578e20orr x3, xzr, 1
00578e24b 0x578df4
00578e28
00578e28loc_578e28:
00578e28add x0, sp, 80
00578e2cadd x1, sp, 80
00578e30add x2, sp, 120
00578e34bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00578e38add x0, sp, 40
00578e3cadd x1, sp, 80
00578e40bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00578e44orr x3, xzr, 1
00578e48str x3, [sp+168]
00578e4cb 0x578e50
00578e50
00578e50loc_578e50:
00578e50ldr x4, [sp+168]
00578e54subs xzr, x4, 100
00578e58b.lt 0x578e60
00578e5cb 0x578e84
00578e60
00578e60loc_578e60:
00578e60add x0, sp, 40
00578e64add x1, sp, 40
00578e68bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00578e6cb 0x578e70
00578e70
00578e70loc_578e70:
00578e70ldr x4, [sp+168]
00578e74add x4, x4, 1
00578e78str x4, [sp+168]
00578e7corr x3, xzr, 1
00578e80b 0x578e50
00578e84
00578e84loc_578e84:
00578e84add x0, sp, 80
00578e88add x1, sp, 40
00578e8cadd x2, sp, 80
00578e90bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00578e94add x0, sp, 80
00578e98add x1, sp, 80
00578e9cbl crypto/internal/fips140/edwards25519/field.(*Element).Square
00578ea0orr x3, xzr, 1
00578ea4str x3, [sp+160]
00578ea8b 0x578eac
00578eac
00578eacloc_578eac:
00578eacldr x3, [sp+160]
00578eb0subs xzr, x3, 50
00578eb4b.lt 0x578ebc
00578eb8b 0x578edc
00578ebc
00578ebcloc_578ebc:
00578ebcadd x0, sp, 80
00578ec0add x1, sp, 80
00578ec4bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00578ec8b 0x578ecc
00578ecc
00578eccloc_578ecc:
00578eccldr x3, [sp+160]
00578ed0add x3, x3, 1
00578ed4str x3, [sp+160]
00578ed8b 0x578eac
00578edc
00578edcloc_578edc:
00578edcadd x0, sp, 120
00578ee0add x1, sp, 80
00578ee4add x2, sp, 120
00578ee8bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00578eecadd x0, sp, 120
00578ef0add x1, sp, 120
00578ef4bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00578ef8add x0, sp, 120
00578efcadd x1, sp, 120
00578f00bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00578f04ldr x2, [sp+256]
00578f08ldr x0, [sp+248]
00578f0cadd x1, sp, 120
00578f10bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00578f14str x0, [sp+224]
00578f18str x0, [sp+216]
00578f1cldur x29, [sp-8]
00578f20ldr x30, [sp], 240
00578f24ret x30
00578f28
00578f28loc_578f28:
00578f28stp x0, x1, [sp+8]
00578f2cmov x3, x30
00578f30bl runtime.morestack_noctxt.abi0
00578f34ldp x0, x1, [sp+8]
00578f38b 0x578bc0
00578f3cudf 0
00578bc0
00578f40
00578f40crypto/internal/fips140/edwards25519/field.(*Element).SqrtRatio: ; void crypto/internal/fips140/edwards25519/field.(*Element).SqrtRatio(crypto/internal/fips140/edwards25519/field.Element * r, crypto/internal/fips140/edwards25519/field.Element * u, crypto/internal/fips140/edwards25519/field.Element * v)
00578f40ldr x16, [x28+16]
00578f44sub x17, sp, 368
00578f48subs xzr, x17, x16
00578f4cb.ls 0x579194
00578f50sub x20, sp, 496
00578f54stp x29, x30, [x20-8]
00578f58add sp, x20, 0
00578f5csub x29, sp, 8
00578f60str x0, [sp+504]
00578f64str x1, [sp+512]
00578f68str x2, [sp+520]
00578f6cstr xzr, [sp+464]
00578f70str xzr, [sp+48]
00578f74stp xzr, xzr, [sp+360]
00578f78stp xzr, xzr, [sp+376]
00578f7cstr xzr, [sp+392]
00578f80add x2, sp, 360
00578f84str x2, [sp+432]
00578f88stp xzr, xzr, [sp+320]
00578f8cstp xzr, xzr, [sp+336]
00578f90str xzr, [sp+352]
00578f94add x0, sp, 320
00578f98str x0, [sp+480]
00578f9cldr x1, [sp+520]
00578fa0bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00578fa4str x0, [sp+400]
00578fa8stp xzr, xzr, [sp+280]
00578facstp xzr, xzr, [sp+296]
00578fb0str xzr, [sp+312]
00578fb4add x2, sp, 280
00578fb8str x2, [sp+480]
00578fbcldr x0, [sp+432]
00578fc0ldr x1, [sp+400]
00578fc4ldr x2, [sp+520]
00578fc8bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00578fccstr x0, [sp+472]
00578fd0ldr x1, [sp+512]
00578fd4ldr x2, [sp+480]
00578fd8mov x3, x0
00578fdcmov x0, x2
00578fe0mov x2, x3
00578fe4bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00578fe8str x0, [sp+416]
00578fecstp xzr, xzr, [sp+240]
00578ff0stp xzr, xzr, [sp+256]
00578ff4str xzr, [sp+272]
00578ff8add x2, sp, 240
00578ffcstr x2, [sp+472]
00579000ldr x0, [sp+432]
00579004ldr x1, [sp+400]
00579008bl crypto/internal/fips140/edwards25519/field.(*Element).Square
0057900cstr x0, [sp+480]
00579010ldr x1, [sp+416]
00579014ldr x2, [sp+472]
00579018mov x3, x0
0057901cmov x0, x2
00579020mov x2, x3
00579024bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00579028str x0, [sp+408]
0057902cstp xzr, xzr, [sp+200]
00579030stp xzr, xzr, [sp+216]
00579034str xzr, [sp+232]
00579038add x2, sp, 200
0057903cstr x2, [sp+480]
00579040ldr x0, [sp+432]
00579044ldr x1, [sp+408]
00579048bl crypto/internal/fips140/edwards25519/field.(*Element).Pow22523
0057904cstr x0, [sp+472]
00579050ldr x1, [sp+416]
00579054ldr x2, [sp+480]
00579058mov x3, x0
0057905cmov x0, x2
00579060mov x2, x3
00579064bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00579068str x0, [sp+440]
0057906cstp xzr, xzr, [sp+160]
00579070stp xzr, xzr, [sp+176]
00579074str xzr, [sp+192]
00579078add x2, sp, 160
0057907cstr x2, [sp+472]
00579080ldr x0, [sp+432]
00579084ldr x1, [sp+440]
00579088bl crypto/internal/fips140/edwards25519/field.(*Element).Square
0057908cstr x0, [sp+480]
00579090ldr x1, [sp+520]
00579094ldr x2, [sp+472]
00579098mov x3, x0
0057909cmov x0, x2
005790a0mov x2, x3
005790a4bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
005790a8str x0, [sp+456]
005790acstp xzr, xzr, [sp+120]
005790b0stp xzr, xzr, [sp+136]
005790b4str xzr, [sp+152]
005790b8add x0, sp, 120
005790bcstr x0, [sp+480]
005790c0ldr x1, [sp+512]
005790c4bl crypto/internal/fips140/edwards25519/field.(*Element).Negate
005790c8str x0, [sp+424]
005790ccldr x1, [sp+512]
005790d0ldr x0, [sp+456]
005790d4bl crypto/internal/fips140/edwards25519/field.(*Element).Equal
005790d8str x0, [sp+72]
005790dcldr x1, [sp+424]
005790e0ldr x0, [sp+456]
005790e4bl crypto/internal/fips140/edwards25519/field.(*Element).Equal
005790e8str x0, [sp+64]
005790ecldr x1, [sp+424]
005790f0adrp x27, 0x4a8000
005790f4ldr x2, [x27+496]
005790f8ldr x0, [sp+432]
005790fcbl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00579100str x0, [sp+480]
00579104ldr x2, [sp+456]
00579108mov x1, x0
0057910cmov x0, x2
00579110bl crypto/internal/fips140/edwards25519/field.(*Element).Equal
00579114str x0, [sp+56]
00579118stp xzr, xzr, [sp+80]
0057911cstp xzr, xzr, [sp+96]
00579120str xzr, [sp+112]
00579124add x0, sp, 80
00579128str x0, [sp+480]
0057912cldr x1, [sp+440]
00579130adrp x27, 0x4a8000
00579134ldr x2, [x27+496]
00579138bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
0057913cstr x0, [sp+448]
00579140ldr x2, [sp+440]
00579144ldr x3, [sp+440]
00579148ldr x4, [sp+64]
0057914cldr x5, [sp+56]
00579150orr x4, x4, x5
00579154mov x1, x0
00579158mov x0, x3
0057915cmov x3, x4
00579160bl crypto/internal/fips140/edwards25519/field.(*Element).Select
00579164ldr x1, [sp+440]
00579168ldr x0, [sp+504]
0057916cbl crypto/internal/fips140/edwards25519/field.(*Element).Absolute
00579170ldr x0, [sp+504]
00579174str x0, [sp+464]
00579178ldr x2, [sp+72]
0057917cldr x3, [sp+64]
00579180orr x1, x2, x3
00579184str x1, [sp+48]
00579188ldp x29, x30, [sp-8]
0057918cadd sp, sp, 496
00579190ret x30
00579194
00579194loc_579194:
00579194stp x0, x1, [sp+8]
00579198str x2, [sp+24]
0057919cmov x3, x30
005791a0bl runtime.morestack_noctxt.abi0
005791a4ldp x0, x1, [sp+8]
005791a8ldr x2, [sp+24]
005791acb 0x578f40
00578f40
00578f40crypto/internal/fips140/edwards25519/field.(*Element).SqrtRatio: ; void crypto/internal/fips140/edwards25519/field.(*Element).SqrtRatio(crypto/internal/fips140/edwards25519/field.Element * r, crypto/internal/fips140/edwards25519/field.Element * u, crypto/internal/fips140/edwards25519/field.Element * v)
00578f40ldr x16, [x28+16]
00578f44sub x17, sp, 368
00578f48subs xzr, x17, x16
00578f4cb.ls 0x579194
00578f50sub x20, sp, 496
00578f54stp x29, x30, [x20-8]
00578f58add sp, x20, 0
00578f5csub x29, sp, 8
00578f60str x0, [sp+504]
00578f64str x1, [sp+512]
00578f68str x2, [sp+520]
00578f6cstr xzr, [sp+464]
00578f70str xzr, [sp+48]
00578f74stp xzr, xzr, [sp+360]
00578f78stp xzr, xzr, [sp+376]
00578f7cstr xzr, [sp+392]
00578f80add x2, sp, 360
00578f84str x2, [sp+432]
00578f88stp xzr, xzr, [sp+320]
00578f8cstp xzr, xzr, [sp+336]
00578f90str xzr, [sp+352]
00578f94add x0, sp, 320
00578f98str x0, [sp+480]
00578f9cldr x1, [sp+520]
00578fa0bl crypto/internal/fips140/edwards25519/field.(*Element).Square
00578fa4str x0, [sp+400]
00578fa8stp xzr, xzr, [sp+280]
00578facstp xzr, xzr, [sp+296]
00578fb0str xzr, [sp+312]
00578fb4add x2, sp, 280
00578fb8str x2, [sp+480]
00578fbcldr x0, [sp+432]
00578fc0ldr x1, [sp+400]
00578fc4ldr x2, [sp+520]
00578fc8bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00578fccstr x0, [sp+472]
00578fd0ldr x1, [sp+512]
00578fd4ldr x2, [sp+480]
00578fd8mov x3, x0
00578fdcmov x0, x2
00578fe0mov x2, x3
00578fe4bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00578fe8str x0, [sp+416]
00578fecstp xzr, xzr, [sp+240]
00578ff0stp xzr, xzr, [sp+256]
00578ff4str xzr, [sp+272]
00578ff8add x2, sp, 240
00578ffcstr x2, [sp+472]
00579000ldr x0, [sp+432]
00579004ldr x1, [sp+400]
00579008bl crypto/internal/fips140/edwards25519/field.(*Element).Square
0057900cstr x0, [sp+480]
00579010ldr x1, [sp+416]
00579014ldr x2, [sp+472]
00579018mov x3, x0
0057901cmov x0, x2
00579020mov x2, x3
00579024bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00579028str x0, [sp+408]
0057902cstp xzr, xzr, [sp+200]
00579030stp xzr, xzr, [sp+216]
00579034str xzr, [sp+232]
00579038add x2, sp, 200
0057903cstr x2, [sp+480]
00579040ldr x0, [sp+432]
00579044ldr x1, [sp+408]
00579048bl crypto/internal/fips140/edwards25519/field.(*Element).Pow22523
0057904cstr x0, [sp+472]
00579050ldr x1, [sp+416]
00579054ldr x2, [sp+480]
00579058mov x3, x0
0057905cmov x0, x2
00579060mov x2, x3
00579064bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00579068str x0, [sp+440]
0057906cstp xzr, xzr, [sp+160]
00579070stp xzr, xzr, [sp+176]
00579074str xzr, [sp+192]
00579078add x2, sp, 160
0057907cstr x2, [sp+472]
00579080ldr x0, [sp+432]
00579084ldr x1, [sp+440]
00579088bl crypto/internal/fips140/edwards25519/field.(*Element).Square
0057908cstr x0, [sp+480]
00579090ldr x1, [sp+520]
00579094ldr x2, [sp+472]
00579098mov x3, x0
0057909cmov x0, x2
005790a0mov x2, x3
005790a4bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
005790a8str x0, [sp+456]
005790acstp xzr, xzr, [sp+120]
005790b0stp xzr, xzr, [sp+136]
005790b4str xzr, [sp+152]
005790b8add x0, sp, 120
005790bcstr x0, [sp+480]
005790c0ldr x1, [sp+512]
005790c4bl crypto/internal/fips140/edwards25519/field.(*Element).Negate
005790c8str x0, [sp+424]
005790ccldr x1, [sp+512]
005790d0ldr x0, [sp+456]
005790d4bl crypto/internal/fips140/edwards25519/field.(*Element).Equal
005790d8str x0, [sp+72]
005790dcldr x1, [sp+424]
005790e0ldr x0, [sp+456]
005790e4bl crypto/internal/fips140/edwards25519/field.(*Element).Equal
005790e8str x0, [sp+64]
005790ecldr x1, [sp+424]
005790f0adrp x27, 0x4a8000
005790f4ldr x2, [x27+496]
005790f8ldr x0, [sp+432]
005790fcbl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
00579100str x0, [sp+480]
00579104ldr x2, [sp+456]
00579108mov x1, x0
0057910cmov x0, x2
00579110bl crypto/internal/fips140/edwards25519/field.(*Element).Equal
00579114str x0, [sp+56]
00579118stp xzr, xzr, [sp+80]
0057911cstp xzr, xzr, [sp+96]
00579120str xzr, [sp+112]
00579124add x0, sp, 80
00579128str x0, [sp+480]
0057912cldr x1, [sp+440]
00579130adrp x27, 0x4a8000
00579134ldr x2, [x27+496]
00579138bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
0057913cstr x0, [sp+448]
00579140ldr x2, [sp+440]
00579144ldr x3, [sp+440]
00579148ldr x4, [sp+64]
0057914cldr x5, [sp+56]
00579150orr x4, x4, x5
00579154mov x1, x0
00579158mov x0, x3
0057915cmov x3, x4
00579160bl crypto/internal/fips140/edwards25519/field.(*Element).Select
00579164ldr x1, [sp+440]
00579168ldr x0, [sp+504]
0057916cbl crypto/internal/fips140/edwards25519/field.(*Element).Absolute
00579170ldr x0, [sp+504]
00579174str x0, [sp+464]
00579178ldr x2, [sp+72]
0057917cldr x3, [sp+64]
00579180orr x1, x2, x3
00579184str x1, [sp+48]
00579188ldp x29, x30, [sp-8]
0057918cadd sp, sp, 496
00579190ret x30
00579194
00579194loc_579194:
00579194stp x0, x1, [sp+8]
00579198str x2, [sp+24]
0057919cmov x3, x30
005791a0bl runtime.morestack_noctxt.abi0
005791a4ldp x0, x1, [sp+8]
005791a8ldr x2, [sp+24]
005791acb 0x578f40
00578f40
Loading..