File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
Loading..
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
005791b0
005791b0crypto/internal/fips140/edwards25519/field.feMul: ; void crypto/internal/fips140/edwards25519/field.feMul(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * x, crypto/internal/fips140/edwards25519/field.Element * y)
005791b0ldr x16, [x28+16]
005791b4subs xzr, sp, x16
005791b8b.ls 0x5791e4
005791bcstr x30, [sp-48]!
005791c0stur x29, [sp-8]
005791c4sub x29, sp, 8
005791c8str x0, [sp+56]
005791ccstr x1, [sp+64]
005791d0str x2, [sp+72]
005791d4bl crypto/internal/fips140/edwards25519/field.feMulGeneric
005791d8ldur x29, [sp-8]
005791dcldr x30, [sp], 48
005791e0ret x30
005791e4
005791e4loc_5791e4:
005791e4stp x0, x1, [sp+8]
005791e8str x2, [sp+24]
005791ecmov x3, x30
005791f0bl runtime.morestack_noctxt.abi0
005791f4ldp x0, x1, [sp+8]
005791f8ldr x2, [sp+24]
005791fcb 0x5791b0
005791b0
005791b0crypto/internal/fips140/edwards25519/field.feMul: ; void crypto/internal/fips140/edwards25519/field.feMul(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * x, crypto/internal/fips140/edwards25519/field.Element * y)
005791b0ldr x16, [x28+16]
005791b4subs xzr, sp, x16
005791b8b.ls 0x5791e4
005791bcstr x30, [sp-48]!
005791c0stur x29, [sp-8]
005791c4sub x29, sp, 8
005791c8str x0, [sp+56]
005791ccstr x1, [sp+64]
005791d0str x2, [sp+72]
005791d4bl crypto/internal/fips140/edwards25519/field.feMulGeneric
005791d8ldur x29, [sp-8]
005791dcldr x30, [sp], 48
005791e0ret x30
005791e4
005791e4loc_5791e4:
005791e4stp x0, x1, [sp+8]
005791e8str x2, [sp+24]
005791ecmov x3, x30
005791f0bl runtime.morestack_noctxt.abi0
005791f4ldp x0, x1, [sp+8]
005791f8ldr x2, [sp+24]
005791fcb 0x5791b0
005791b0
00579200
00579200crypto/internal/fips140/edwards25519/field.feSquare: ; void crypto/internal/fips140/edwards25519/field.feSquare(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * x)
00579200ldr x16, [x28+16]
00579204subs xzr, sp, x16
00579208b.ls 0x579230
0057920cstr x30, [sp-32]!
00579210stur x29, [sp-8]
00579214sub x29, sp, 8
00579218str x0, [sp+40]
0057921cstr x1, [sp+48]
00579220bl crypto/internal/fips140/edwards25519/field.feSquareGeneric
00579224ldur x29, [sp-8]
00579228ldr x30, [sp], 32
0057922cret x30
00579230
00579230loc_579230:
00579230stp x0, x1, [sp+8]
00579234mov x3, x30
00579238bl runtime.morestack_noctxt.abi0
0057923cldp x0, x1, [sp+8]
00579240b 0x579200
00579244udf 0
00579248udf 0
0057924cudf 0
00579200
00579200crypto/internal/fips140/edwards25519/field.feSquare: ; void crypto/internal/fips140/edwards25519/field.feSquare(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * x)
00579200ldr x16, [x28+16]
00579204subs xzr, sp, x16
00579208b.ls 0x579230
0057920cstr x30, [sp-32]!
00579210stur x29, [sp-8]
00579214sub x29, sp, 8
00579218str x0, [sp+40]
0057921cstr x1, [sp+48]
00579220bl crypto/internal/fips140/edwards25519/field.feSquareGeneric
00579224ldur x29, [sp-8]
00579228ldr x30, [sp], 32
0057922cret x30
00579230
00579230loc_579230:
00579230stp x0, x1, [sp+8]
00579234mov x3, x30
00579238bl runtime.morestack_noctxt.abi0
0057923cldp x0, x1, [sp+8]
00579240b 0x579200
00579244udf 0
00579248udf 0
0057924cudf 0
00579200
00579250
00579250crypto/internal/fips140/edwards25519/field.(*Element).carryPropagate: ; void crypto/internal/fips140/edwards25519/field.(*Element).carryPropagate(crypto/internal/fips140/edwards25519/field.Element * v)
00579250ldr x16, [x28+16]
00579254subs xzr, sp, x16
00579258b.ls 0x579290
0057925cstr x30, [sp-32]!
00579260stur x29, [sp-8]
00579264sub x29, sp, 8
00579268str x0, [sp+40]
0057926cstr xzr, [sp+16]
00579270ldr x0, [sp+40]
00579274str x0, [sp+8]
00579278bl crypto/internal/fips140/edwards25519/field.carryPropagate.abi0
0057927cldr x0, [sp+40]
00579280str x0, [sp+16]
00579284ldur x29, [sp-8]
00579288ldr x30, [sp], 32
0057928cret x30
00579290
00579290loc_579290:
00579290str x0, [sp+8]
00579294mov x3, x30
00579298bl runtime.morestack_noctxt.abi0
0057929cldr x0, [sp+8]
005792a0b 0x579250
005792a4udf 0
005792a8udf 0
005792acudf 0
00579250
00579250crypto/internal/fips140/edwards25519/field.(*Element).carryPropagate: ; void crypto/internal/fips140/edwards25519/field.(*Element).carryPropagate(crypto/internal/fips140/edwards25519/field.Element * v)
00579250ldr x16, [x28+16]
00579254subs xzr, sp, x16
00579258b.ls 0x579290
0057925cstr x30, [sp-32]!
00579260stur x29, [sp-8]
00579264sub x29, sp, 8
00579268str x0, [sp+40]
0057926cstr xzr, [sp+16]
00579270ldr x0, [sp+40]
00579274str x0, [sp+8]
00579278bl crypto/internal/fips140/edwards25519/field.carryPropagate.abi0
0057927cldr x0, [sp+40]
00579280str x0, [sp+16]
00579284ldur x29, [sp-8]
00579288ldr x30, [sp], 32
0057928cret x30
00579290
00579290loc_579290:
00579290str x0, [sp+8]
00579294mov x3, x30
00579298bl runtime.morestack_noctxt.abi0
0057929cldr x0, [sp+8]
005792a0b 0x579250
005792a4udf 0
005792a8udf 0
005792acudf 0
00579250
005792b0
005792b0crypto/internal/fips140/edwards25519/field.mul64: ; void crypto/internal/fips140/edwards25519/field.mul64(uint64 a, uint64 b)
005792b0str x30, [sp-80]!
005792b4stur x29, [sp-8]
005792b8sub x29, sp, 8
005792bcstr x0, [sp+88]
005792c0str x1, [sp+96]
005792c4stp xzr, xzr, [sp+8]
005792c8madd x2, x0, x1, xzr
005792ccumulh x3, x0, x1
005792d0str x3, [sp+48]
005792d4str x2, [sp+40]
005792d8str x3, [sp+64]
005792dcstr x2, [sp+56]
005792e0str x3, [sp+32]
005792e4str x2, [sp+24]
005792e8stp xzr, xzr, [sp+8]
005792ecstr x2, [sp+8]
005792f0ldr x1, [sp+32]
005792f4str x1, [sp+16]
005792f8mov x0, x2
005792fcadd x29, sp, 72
00579300add sp, sp, 80
00579304ret x30
00579308udf 0
0057930cudf 0
005792b0
005792b0crypto/internal/fips140/edwards25519/field.mul64: ; void crypto/internal/fips140/edwards25519/field.mul64(uint64 a, uint64 b)
005792b0str x30, [sp-80]!
005792b4stur x29, [sp-8]
005792b8sub x29, sp, 8
005792bcstr x0, [sp+88]
005792c0str x1, [sp+96]
005792c4stp xzr, xzr, [sp+8]
005792c8madd x2, x0, x1, xzr
005792ccumulh x3, x0, x1
005792d0str x3, [sp+48]
005792d4str x2, [sp+40]
005792d8str x3, [sp+64]
005792dcstr x2, [sp+56]
005792e0str x3, [sp+32]
005792e4str x2, [sp+24]
005792e8stp xzr, xzr, [sp+8]
005792ecstr x2, [sp+8]
005792f0ldr x1, [sp+32]
005792f4str x1, [sp+16]
005792f8mov x0, x2
005792fcadd x29, sp, 72
00579300add sp, sp, 80
00579304ret x30
00579308udf 0
0057930cudf 0
005792b0
00579310
00579310crypto/internal/fips140/edwards25519/field.addMul64: ; void crypto/internal/fips140/edwards25519/field.addMul64(crypto/internal/fips140/edwards25519/field.uint128 v, uint64 a, uint64 b)
00579310ldr x16, [x28+16]
00579314subs xzr, sp, x16
00579318b.ls 0x5793d4
0057931cstr x30, [sp-128]!
00579320stur x29, [sp-8]
00579324sub x29, sp, 8
00579328str x0, [sp+136]
0057932cstr x1, [sp+144]
00579330str x2, [sp+152]
00579334str x3, [sp+160]
00579338stp xzr, xzr, [sp+16]
0057933cmadd x4, x2, x3, xzr
00579340umulh x2, x2, x3
00579344str x2, [sp+88]
00579348str x4, [sp+80]
0057934cstr x2, [sp+72]
00579350str x4, [sp+64]
00579354str x2, [sp+40]
00579358str x4, [sp+32]
0057935cldr x2, [sp+136]
00579360adds x3, x4, x2
00579364str x3, [sp+80]
00579368adds x5, x4, x2
0057936cadc x5, xzr, xzr
00579370str x5, [sp+88]
00579374str x3, [sp+56]
00579378str x5, [sp+112]
0057937cstr x3, [sp+32]
00579380str x5, [sp+48]
00579384ldr x3, [sp+40]
00579388ldr x5, [sp+144]
0057938cadcs x6, x3, x5
00579390adds x6, x4, x2
00579394adcs x1, x3, x5
00579398str x1, [sp+88]
0057939cadds x2, x4, x2
005793a0adcs x2, x3, x5
005793a4adc x2, xzr, xzr
005793a8str x2, [sp+80]
005793acstr x1, [sp+104]
005793b0str x2, [sp+96]
005793b4str x1, [sp+40]
005793b8stp xzr, xzr, [sp+16]
005793bcldr x0, [sp+32]
005793c0str x0, [sp+16]
005793c4str x1, [sp+24]
005793c8add x29, sp, 120
005793ccadd sp, sp, 128
005793d0ret x30
005793d4
005793d4loc_5793d4:
005793d4stp x0, x1, [sp+8]
005793d8stp x2, x3, [sp+24]
005793dcmov x3, x30
005793e0bl runtime.morestack_noctxt.abi0
005793e4ldp x0, x1, [sp+8]
005793e8ldp x2, x3, [sp+24]
005793ecb 0x579310
00579310
00579310crypto/internal/fips140/edwards25519/field.addMul64: ; void crypto/internal/fips140/edwards25519/field.addMul64(crypto/internal/fips140/edwards25519/field.uint128 v, uint64 a, uint64 b)
00579310ldr x16, [x28+16]
00579314subs xzr, sp, x16
00579318b.ls 0x5793d4
0057931cstr x30, [sp-128]!
00579320stur x29, [sp-8]
00579324sub x29, sp, 8
00579328str x0, [sp+136]
0057932cstr x1, [sp+144]
00579330str x2, [sp+152]
00579334str x3, [sp+160]
00579338stp xzr, xzr, [sp+16]
0057933cmadd x4, x2, x3, xzr
00579340umulh x2, x2, x3
00579344str x2, [sp+88]
00579348str x4, [sp+80]
0057934cstr x2, [sp+72]
00579350str x4, [sp+64]
00579354str x2, [sp+40]
00579358str x4, [sp+32]
0057935cldr x2, [sp+136]
00579360adds x3, x4, x2
00579364str x3, [sp+80]
00579368adds x5, x4, x2
0057936cadc x5, xzr, xzr
00579370str x5, [sp+88]
00579374str x3, [sp+56]
00579378str x5, [sp+112]
0057937cstr x3, [sp+32]
00579380str x5, [sp+48]
00579384ldr x3, [sp+40]
00579388ldr x5, [sp+144]
0057938cadcs x6, x3, x5
00579390adds x6, x4, x2
00579394adcs x1, x3, x5
00579398str x1, [sp+88]
0057939cadds x2, x4, x2
005793a0adcs x2, x3, x5
005793a4adc x2, xzr, xzr
005793a8str x2, [sp+80]
005793acstr x1, [sp+104]
005793b0str x2, [sp+96]
005793b4str x1, [sp+40]
005793b8stp xzr, xzr, [sp+16]
005793bcldr x0, [sp+32]
005793c0str x0, [sp+16]
005793c4str x1, [sp+24]
005793c8add x29, sp, 120
005793ccadd sp, sp, 128
005793d0ret x30
005793d4
005793d4loc_5793d4:
005793d4stp x0, x1, [sp+8]
005793d8stp x2, x3, [sp+24]
005793dcmov x3, x30
005793e0bl runtime.morestack_noctxt.abi0
005793e4ldp x0, x1, [sp+8]
005793e8ldp x2, x3, [sp+24]
005793ecb 0x579310
00579310
005793f0
005793f0crypto/internal/fips140/edwards25519/field.shiftRightBy51: ; void crypto/internal/fips140/edwards25519/field.shiftRightBy51(crypto/internal/fips140/edwards25519/field.uint128 a)
005793f0str x30, [sp-32]!
005793f4stur x29, [sp-8]
005793f8sub x29, sp, 8
005793fcstr x0, [sp+40]
00579400str x1, [sp+48]
00579404str xzr, [sp+16]
00579408extr x0, x1, x0, 51
0057940cstr x0, [sp+16]
00579410add x29, sp, 24
00579414add sp, sp, 32
00579418ret x30
0057941cudf 0
005793f0
005793f0crypto/internal/fips140/edwards25519/field.shiftRightBy51: ; void crypto/internal/fips140/edwards25519/field.shiftRightBy51(crypto/internal/fips140/edwards25519/field.uint128 a)
005793f0str x30, [sp-32]!
005793f4stur x29, [sp-8]
005793f8sub x29, sp, 8
005793fcstr x0, [sp+40]
00579400str x1, [sp+48]
00579404str xzr, [sp+16]
00579408extr x0, x1, x0, 51
0057940cstr x0, [sp+16]
00579410add x29, sp, 24
00579414add sp, sp, 32
00579418ret x30
0057941cudf 0
005793f0
00579420
00579420crypto/internal/fips140/edwards25519/field.feMulGeneric: ; void crypto/internal/fips140/edwards25519/field.feMulGeneric(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * a, crypto/internal/fips140/edwards25519/field.Element * b)
00579420ldr x16, [x28+16]
00579424sub x17, sp, 240
00579428subs xzr, x17, x16
0057942cb.ls 0x579844
00579430sub x20, sp, 368
00579434stp x29, x30, [x20-8]
00579438add sp, x20, 0
0057943csub x29, sp, 8
00579440str x0, [sp+376]
00579444str x1, [sp+384]
00579448str x2, [sp+392]
0057944cldrsb x27, [x1]
00579450ldr x2, [x1]
00579454str x2, [sp+312]
00579458ldrsb x27, [x1]
0057945cldr x2, [x1+8]
00579460str x2, [sp+304]
00579464ldrsb x27, [x1]
00579468ldr x2, [x1+16]
0057946cstr x2, [sp+288]
00579470ldr x2, [sp+384]
00579474ldrsb x27, [x2]
00579478ldr x2, [x2+24]
0057947cstr x2, [sp+272]
00579480ldr x2, [sp+384]
00579484ldrsb x27, [x2]
00579488ldr x2, [x2+32]
0057948cstr x2, [sp+256]
00579490ldr x2, [sp+392]
00579494ldrsb x27, [x2]
00579498ldr x2, [x2]
0057949cstr x2, [sp+240]
005794a0ldr x2, [sp+392]
005794a4ldrsb x27, [x2]
005794a8ldr x2, [x2+8]
005794acstr x2, [sp+232]
005794b0ldr x2, [sp+392]
005794b4ldrsb x27, [x2]
005794b8ldr x2, [x2+16]
005794bcstr x2, [sp+224]
005794c0ldr x2, [sp+392]
005794c4ldrsb x27, [x2]
005794c8ldr x2, [x2+24]
005794ccstr x2, [sp+216]
005794d0ldr x2, [sp+392]
005794d4ldrsb x27, [x2]
005794d8ldr x2, [x2+32]
005794dcstr x2, [sp+208]
005794e0ldr x2, [sp+304]
005794e4movz x3, 19
005794e8madd x2, x2, x3, xzr
005794ecstr x2, [sp+296]
005794f0ldr x2, [sp+288]
005794f4madd x2, x2, x3, xzr
005794f8str x2, [sp+280]
005794fcldr x2, [sp+272]
00579500madd x2, x2, x3, xzr
00579504str x2, [sp+264]
00579508ldr x2, [sp+256]
0057950cmadd x2, x2, x3, xzr
00579510str x2, [sp+248]
00579514ldr x1, [sp+240]
00579518ldr x0, [sp+312]
0057951cbl crypto/internal/fips140/edwards25519/field.mul64
00579520str x0, [sp+152]
00579524str x1, [sp+160]
00579528ldr x2, [sp+296]
0057952cldr x3, [sp+208]
00579530bl crypto/internal/fips140/edwards25519/field.addMul64
00579534str x0, [sp+152]
00579538str x1, [sp+160]
0057953cldr x2, [sp+280]
00579540ldr x3, [sp+216]
00579544bl crypto/internal/fips140/edwards25519/field.addMul64
00579548str x0, [sp+152]
0057954cstr x1, [sp+160]
00579550ldr x2, [sp+264]
00579554ldr x3, [sp+224]
00579558bl crypto/internal/fips140/edwards25519/field.addMul64
0057955cstr x0, [sp+152]
00579560str x1, [sp+160]
00579564ldr x2, [sp+248]
00579568ldr x3, [sp+232]
0057956cbl crypto/internal/fips140/edwards25519/field.addMul64
00579570str x0, [sp+152]
00579574str x1, [sp+160]
00579578ldr x1, [sp+232]
0057957cldr x0, [sp+312]
00579580bl crypto/internal/fips140/edwards25519/field.mul64
00579584str x0, [sp+136]
00579588str x1, [sp+144]
0057958cldr x2, [sp+304]
00579590ldr x3, [sp+240]
00579594bl crypto/internal/fips140/edwards25519/field.addMul64
00579598str x0, [sp+136]
0057959cstr x1, [sp+144]
005795a0ldr x2, [sp+280]
005795a4ldr x3, [sp+208]
005795a8bl crypto/internal/fips140/edwards25519/field.addMul64
005795acstr x0, [sp+136]
005795b0str x1, [sp+144]
005795b4ldr x2, [sp+264]
005795b8ldr x3, [sp+216]
005795bcbl crypto/internal/fips140/edwards25519/field.addMul64
005795c0str x0, [sp+136]
005795c4str x1, [sp+144]
005795c8ldr x2, [sp+248]
005795ccldr x3, [sp+224]
005795d0bl crypto/internal/fips140/edwards25519/field.addMul64
005795d4str x0, [sp+136]
005795d8str x1, [sp+144]
005795dcldr x1, [sp+224]
005795e0ldr x0, [sp+312]
005795e4bl crypto/internal/fips140/edwards25519/field.mul64
005795e8str x0, [sp+120]
005795ecstr x1, [sp+128]
005795f0ldr x2, [sp+304]
005795f4ldr x3, [sp+232]
005795f8bl crypto/internal/fips140/edwards25519/field.addMul64
005795fcstr x0, [sp+120]
00579600str x1, [sp+128]
00579604ldr x2, [sp+288]
00579608ldr x3, [sp+240]
0057960cbl crypto/internal/fips140/edwards25519/field.addMul64
00579610str x0, [sp+120]
00579614str x1, [sp+128]
00579618ldr x2, [sp+264]
0057961cldr x3, [sp+208]
00579620bl crypto/internal/fips140/edwards25519/field.addMul64
00579624str x0, [sp+120]
00579628str x1, [sp+128]
0057962cldr x2, [sp+248]
00579630ldr x3, [sp+216]
00579634bl crypto/internal/fips140/edwards25519/field.addMul64
00579638str x0, [sp+120]
0057963cstr x1, [sp+128]
00579640ldr x1, [sp+216]
00579644ldr x0, [sp+312]
00579648bl crypto/internal/fips140/edwards25519/field.mul64
0057964cstr x0, [sp+104]
00579650str x1, [sp+112]
00579654ldr x2, [sp+304]
00579658ldr x3, [sp+224]
0057965cbl crypto/internal/fips140/edwards25519/field.addMul64
00579660str x0, [sp+104]
00579664str x1, [sp+112]
00579668ldr x2, [sp+288]
0057966cldr x3, [sp+232]
00579670bl crypto/internal/fips140/edwards25519/field.addMul64
00579674str x0, [sp+104]
00579678str x1, [sp+112]
0057967cldr x2, [sp+272]
00579680ldr x3, [sp+240]
00579684bl crypto/internal/fips140/edwards25519/field.addMul64
00579688str x0, [sp+104]
0057968cstr x1, [sp+112]
00579690ldr x2, [sp+248]
00579694ldr x3, [sp+208]
00579698bl crypto/internal/fips140/edwards25519/field.addMul64
0057969cstr x0, [sp+104]
005796a0str x1, [sp+112]
005796a4ldr x1, [sp+208]
005796a8ldr x0, [sp+312]
005796acbl crypto/internal/fips140/edwards25519/field.mul64
005796b0str x0, [sp+88]
005796b4str x1, [sp+96]
005796b8ldr x2, [sp+304]
005796bcldr x3, [sp+216]
005796c0bl crypto/internal/fips140/edwards25519/field.addMul64
005796c4str x0, [sp+88]
005796c8str x1, [sp+96]
005796ccldr x2, [sp+288]
005796d0ldr x3, [sp+224]
005796d4bl crypto/internal/fips140/edwards25519/field.addMul64
005796d8str x0, [sp+88]
005796dcstr x1, [sp+96]
005796e0ldr x2, [sp+272]
005796e4ldr x3, [sp+232]
005796e8bl crypto/internal/fips140/edwards25519/field.addMul64
005796ecstr x0, [sp+88]
005796f0str x1, [sp+96]
005796f4ldr x2, [sp+256]
005796f8ldr x3, [sp+240]
005796fcbl crypto/internal/fips140/edwards25519/field.addMul64
00579700str x0, [sp+88]
00579704str x1, [sp+96]
00579708ldr x0, [sp+152]
0057970cldr x1, [sp+160]
00579710bl crypto/internal/fips140/edwards25519/field.shiftRightBy51
00579714str x0, [sp+200]
00579718ldr x0, [sp+136]
0057971cldr x1, [sp+144]
00579720bl crypto/internal/fips140/edwards25519/field.shiftRightBy51
00579724str x0, [sp+192]
00579728ldr x0, [sp+120]
0057972cldr x1, [sp+128]
00579730bl crypto/internal/fips140/edwards25519/field.shiftRightBy51
00579734str x0, [sp+184]
00579738ldr x0, [sp+104]
0057973cldr x1, [sp+112]
00579740bl crypto/internal/fips140/edwards25519/field.shiftRightBy51
00579744str x0, [sp+176]
00579748ldr x0, [sp+88]
0057974cldr x1, [sp+96]
00579750bl crypto/internal/fips140/edwards25519/field.shiftRightBy51
00579754str x0, [sp+168]
00579758ldr x2, [sp+152]
0057975cand x2, x2, 0x7ffffffffffff
00579760movz x3, 19
00579764madd x2, x3, x0, x2
00579768str x2, [sp+80]
0057976cldr x2, [sp+136]
00579770and x2, x2, 0x7ffffffffffff
00579774ldr x3, [sp+200]
00579778add x2, x2, x3
0057977cstr x2, [sp+72]
00579780ldr x2, [sp+120]
00579784and x2, x2, 0x7ffffffffffff
00579788ldr x3, [sp+192]
0057978cadd x2, x2, x3
00579790str x2, [sp+64]
00579794ldr x2, [sp+104]
00579798and x2, x2, 0x7ffffffffffff
0057979cldr x3, [sp+184]
005797a0add x2, x2, x3
005797a4str x2, [sp+56]
005797a8ldr x2, [sp+88]
005797acand x2, x2, 0x7ffffffffffff
005797b0ldr x3, [sp+176]
005797b4add x2, x2, x3
005797b8str x2, [sp+48]
005797bcadrp x27, 0x19d000
005797c0add x27, x27, 3712
005797c4ldp x2, x3, [x27]
005797c8adrp x27, 0x19d000
005797ccadd x27, x27, 3728
005797d0ldp x4, x5, [x27]
005797d4stp x2, x3, [sp+320]
005797d8stp x4, x5, [sp+336]
005797dcadrp x27, 0x19d000
005797e0ldr x2, [x27+3744]
005797e4str x2, [sp+352]
005797e8ldr x2, [sp+80]
005797ecstr x2, [sp+320]
005797f0ldr x2, [sp+72]
005797f4str x2, [sp+328]
005797f8ldr x2, [sp+64]
005797fcstr x2, [sp+336]
00579800ldr x2, [sp+56]
00579804str x2, [sp+344]
00579808ldr x2, [sp+48]
0057980cstr x2, [sp+352]
00579810ldr x2, [sp+376]
00579814ldrsb x27, [x2]
00579818ldp x3, x4, [sp+320]
0057981cldp x5, x6, [sp+336]
00579820stp x3, x4, [x2]
00579824stp x5, x6, [x2+16]
00579828ldr x3, [sp+352]
0057982cstr x3, [x2+32]
00579830ldr x0, [sp+376]
00579834bl crypto/internal/fips140/edwards25519/field.(*Element).carryPropagate
00579838ldp x29, x30, [sp-8]
0057983cadd sp, sp, 368
00579840ret x30
00579844
00579844loc_579844:
00579844stp x0, x1, [sp+8]
00579848str x2, [sp+24]
0057984cmov x3, x30
00579850bl runtime.morestack_noctxt.abi0
00579854ldp x0, x1, [sp+8]
00579858ldr x2, [sp+24]
0057985cb 0x579420
00579420
00579420crypto/internal/fips140/edwards25519/field.feMulGeneric: ; void crypto/internal/fips140/edwards25519/field.feMulGeneric(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * a, crypto/internal/fips140/edwards25519/field.Element * b)
00579420ldr x16, [x28+16]
00579424sub x17, sp, 240
00579428subs xzr, x17, x16
0057942cb.ls 0x579844
00579430sub x20, sp, 368
00579434stp x29, x30, [x20-8]
00579438add sp, x20, 0
0057943csub x29, sp, 8
00579440str x0, [sp+376]
00579444str x1, [sp+384]
00579448str x2, [sp+392]
0057944cldrsb x27, [x1]
00579450ldr x2, [x1]
00579454str x2, [sp+312]
00579458ldrsb x27, [x1]
0057945cldr x2, [x1+8]
00579460str x2, [sp+304]
00579464ldrsb x27, [x1]
00579468ldr x2, [x1+16]
0057946cstr x2, [sp+288]
00579470ldr x2, [sp+384]
00579474ldrsb x27, [x2]
00579478ldr x2, [x2+24]
0057947cstr x2, [sp+272]
00579480ldr x2, [sp+384]
00579484ldrsb x27, [x2]
00579488ldr x2, [x2+32]
0057948cstr x2, [sp+256]
00579490ldr x2, [sp+392]
00579494ldrsb x27, [x2]
00579498ldr x2, [x2]
0057949cstr x2, [sp+240]
005794a0ldr x2, [sp+392]
005794a4ldrsb x27, [x2]
005794a8ldr x2, [x2+8]
005794acstr x2, [sp+232]
005794b0ldr x2, [sp+392]
005794b4ldrsb x27, [x2]
005794b8ldr x2, [x2+16]
005794bcstr x2, [sp+224]
005794c0ldr x2, [sp+392]
005794c4ldrsb x27, [x2]
005794c8ldr x2, [x2+24]
005794ccstr x2, [sp+216]
005794d0ldr x2, [sp+392]
005794d4ldrsb x27, [x2]
005794d8ldr x2, [x2+32]
005794dcstr x2, [sp+208]
005794e0ldr x2, [sp+304]
005794e4movz x3, 19
005794e8madd x2, x2, x3, xzr
005794ecstr x2, [sp+296]
005794f0ldr x2, [sp+288]
005794f4madd x2, x2, x3, xzr
005794f8str x2, [sp+280]
005794fcldr x2, [sp+272]
00579500madd x2, x2, x3, xzr
00579504str x2, [sp+264]
00579508ldr x2, [sp+256]
0057950cmadd x2, x2, x3, xzr
00579510str x2, [sp+248]
00579514ldr x1, [sp+240]
00579518ldr x0, [sp+312]
0057951cbl crypto/internal/fips140/edwards25519/field.mul64
00579520str x0, [sp+152]
00579524str x1, [sp+160]
00579528ldr x2, [sp+296]
0057952cldr x3, [sp+208]
00579530bl crypto/internal/fips140/edwards25519/field.addMul64
00579534str x0, [sp+152]
00579538str x1, [sp+160]
0057953cldr x2, [sp+280]
00579540ldr x3, [sp+216]
00579544bl crypto/internal/fips140/edwards25519/field.addMul64
00579548str x0, [sp+152]
0057954cstr x1, [sp+160]
00579550ldr x2, [sp+264]
00579554ldr x3, [sp+224]
00579558bl crypto/internal/fips140/edwards25519/field.addMul64
0057955cstr x0, [sp+152]
00579560str x1, [sp+160]
00579564ldr x2, [sp+248]
00579568ldr x3, [sp+232]
0057956cbl crypto/internal/fips140/edwards25519/field.addMul64
00579570str x0, [sp+152]
00579574str x1, [sp+160]
00579578ldr x1, [sp+232]
0057957cldr x0, [sp+312]
00579580bl crypto/internal/fips140/edwards25519/field.mul64
00579584str x0, [sp+136]
00579588str x1, [sp+144]
0057958cldr x2, [sp+304]
00579590ldr x3, [sp+240]
00579594bl crypto/internal/fips140/edwards25519/field.addMul64
00579598str x0, [sp+136]
0057959cstr x1, [sp+144]
005795a0ldr x2, [sp+280]
005795a4ldr x3, [sp+208]
005795a8bl crypto/internal/fips140/edwards25519/field.addMul64
005795acstr x0, [sp+136]
005795b0str x1, [sp+144]
005795b4ldr x2, [sp+264]
005795b8ldr x3, [sp+216]
005795bcbl crypto/internal/fips140/edwards25519/field.addMul64
005795c0str x0, [sp+136]
005795c4str x1, [sp+144]
005795c8ldr x2, [sp+248]
005795ccldr x3, [sp+224]
005795d0bl crypto/internal/fips140/edwards25519/field.addMul64
005795d4str x0, [sp+136]
005795d8str x1, [sp+144]
005795dcldr x1, [sp+224]
005795e0ldr x0, [sp+312]
005795e4bl crypto/internal/fips140/edwards25519/field.mul64
005795e8str x0, [sp+120]
005795ecstr x1, [sp+128]
005795f0ldr x2, [sp+304]
005795f4ldr x3, [sp+232]
005795f8bl crypto/internal/fips140/edwards25519/field.addMul64
005795fcstr x0, [sp+120]
00579600str x1, [sp+128]
00579604ldr x2, [sp+288]
00579608ldr x3, [sp+240]
0057960cbl crypto/internal/fips140/edwards25519/field.addMul64
00579610str x0, [sp+120]
00579614str x1, [sp+128]
00579618ldr x2, [sp+264]
0057961cldr x3, [sp+208]
00579620bl crypto/internal/fips140/edwards25519/field.addMul64
00579624str x0, [sp+120]
00579628str x1, [sp+128]
0057962cldr x2, [sp+248]
00579630ldr x3, [sp+216]
00579634bl crypto/internal/fips140/edwards25519/field.addMul64
00579638str x0, [sp+120]
0057963cstr x1, [sp+128]
00579640ldr x1, [sp+216]
00579644ldr x0, [sp+312]
00579648bl crypto/internal/fips140/edwards25519/field.mul64
0057964cstr x0, [sp+104]
00579650str x1, [sp+112]
00579654ldr x2, [sp+304]
00579658ldr x3, [sp+224]
0057965cbl crypto/internal/fips140/edwards25519/field.addMul64
00579660str x0, [sp+104]
00579664str x1, [sp+112]
00579668ldr x2, [sp+288]
0057966cldr x3, [sp+232]
00579670bl crypto/internal/fips140/edwards25519/field.addMul64
00579674str x0, [sp+104]
00579678str x1, [sp+112]
0057967cldr x2, [sp+272]
00579680ldr x3, [sp+240]
00579684bl crypto/internal/fips140/edwards25519/field.addMul64
00579688str x0, [sp+104]
0057968cstr x1, [sp+112]
00579690ldr x2, [sp+248]
00579694ldr x3, [sp+208]
00579698bl crypto/internal/fips140/edwards25519/field.addMul64
0057969cstr x0, [sp+104]
005796a0str x1, [sp+112]
005796a4ldr x1, [sp+208]
005796a8ldr x0, [sp+312]
005796acbl crypto/internal/fips140/edwards25519/field.mul64
005796b0str x0, [sp+88]
005796b4str x1, [sp+96]
005796b8ldr x2, [sp+304]
005796bcldr x3, [sp+216]
005796c0bl crypto/internal/fips140/edwards25519/field.addMul64
005796c4str x0, [sp+88]
005796c8str x1, [sp+96]
005796ccldr x2, [sp+288]
005796d0ldr x3, [sp+224]
005796d4bl crypto/internal/fips140/edwards25519/field.addMul64
005796d8str x0, [sp+88]
005796dcstr x1, [sp+96]
005796e0ldr x2, [sp+272]
005796e4ldr x3, [sp+232]
005796e8bl crypto/internal/fips140/edwards25519/field.addMul64
005796ecstr x0, [sp+88]
005796f0str x1, [sp+96]
005796f4ldr x2, [sp+256]
005796f8ldr x3, [sp+240]
005796fcbl crypto/internal/fips140/edwards25519/field.addMul64
00579700str x0, [sp+88]
00579704str x1, [sp+96]
00579708ldr x0, [sp+152]
0057970cldr x1, [sp+160]
00579710bl crypto/internal/fips140/edwards25519/field.shiftRightBy51
00579714str x0, [sp+200]
00579718ldr x0, [sp+136]
0057971cldr x1, [sp+144]
00579720bl crypto/internal/fips140/edwards25519/field.shiftRightBy51
00579724str x0, [sp+192]
00579728ldr x0, [sp+120]
0057972cldr x1, [sp+128]
00579730bl crypto/internal/fips140/edwards25519/field.shiftRightBy51
00579734str x0, [sp+184]
00579738ldr x0, [sp+104]
0057973cldr x1, [sp+112]
00579740bl crypto/internal/fips140/edwards25519/field.shiftRightBy51
00579744str x0, [sp+176]
00579748ldr x0, [sp+88]
0057974cldr x1, [sp+96]
00579750bl crypto/internal/fips140/edwards25519/field.shiftRightBy51
00579754str x0, [sp+168]
00579758ldr x2, [sp+152]
0057975cand x2, x2, 0x7ffffffffffff
00579760movz x3, 19
00579764madd x2, x3, x0, x2
00579768str x2, [sp+80]
0057976cldr x2, [sp+136]
00579770and x2, x2, 0x7ffffffffffff
00579774ldr x3, [sp+200]
00579778add x2, x2, x3
0057977cstr x2, [sp+72]
00579780ldr x2, [sp+120]
00579784and x2, x2, 0x7ffffffffffff
00579788ldr x3, [sp+192]
0057978cadd x2, x2, x3
00579790str x2, [sp+64]
00579794ldr x2, [sp+104]
00579798and x2, x2, 0x7ffffffffffff
0057979cldr x3, [sp+184]
005797a0add x2, x2, x3
005797a4str x2, [sp+56]
005797a8ldr x2, [sp+88]
005797acand x2, x2, 0x7ffffffffffff
005797b0ldr x3, [sp+176]
005797b4add x2, x2, x3
005797b8str x2, [sp+48]
005797bcadrp x27, 0x19d000
005797c0add x27, x27, 3712
005797c4ldp x2, x3, [x27]
005797c8adrp x27, 0x19d000
005797ccadd x27, x27, 3728
005797d0ldp x4, x5, [x27]
005797d4stp x2, x3, [sp+320]
005797d8stp x4, x5, [sp+336]
005797dcadrp x27, 0x19d000
005797e0ldr x2, [x27+3744]
005797e4str x2, [sp+352]
005797e8ldr x2, [sp+80]
005797ecstr x2, [sp+320]
005797f0ldr x2, [sp+72]
005797f4str x2, [sp+328]
005797f8ldr x2, [sp+64]
005797fcstr x2, [sp+336]
00579800ldr x2, [sp+56]
00579804str x2, [sp+344]
00579808ldr x2, [sp+48]
0057980cstr x2, [sp+352]
00579810ldr x2, [sp+376]
00579814ldrsb x27, [x2]
00579818ldp x3, x4, [sp+320]
0057981cldp x5, x6, [sp+336]
00579820stp x3, x4, [x2]
00579824stp x5, x6, [x2+16]
00579828ldr x3, [sp+352]
0057982cstr x3, [x2+32]
00579830ldr x0, [sp+376]
00579834bl crypto/internal/fips140/edwards25519/field.(*Element).carryPropagate
00579838ldp x29, x30, [sp-8]
0057983cadd sp, sp, 368
00579840ret x30
00579844
00579844loc_579844:
00579844stp x0, x1, [sp+8]
00579848str x2, [sp+24]
0057984cmov x3, x30
00579850bl runtime.morestack_noctxt.abi0
00579854ldp x0, x1, [sp+8]
00579858ldr x2, [sp+24]
0057985cb 0x579420
00579420
00579860
00579860crypto/internal/fips140/edwards25519/field.feSquareGeneric: ; void crypto/internal/fips140/edwards25519/field.feSquareGeneric(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * a)
00579860ldr x16, [x28+16]
00579864sub x17, sp, 224
00579868subs xzr, x17, x16
0057986cb.ls 0x579b8c
00579870sub x20, sp, 352
00579874stp x29, x30, [x20-8]
00579878add sp, x20, 0
0057987csub x29, sp, 8
00579880str x0, [sp+360]
00579884str x1, [sp+368]
00579888ldrsb x27, [x1]
0057988cldr x2, [x1]
00579890str x2, [sp+256]
00579894ldrsb x27, [x1]
00579898ldr x2, [x1+8]
0057989cstr x2, [sp+240]
005798a0ldrsb x27, [x1]
005798a4ldr x2, [x1+16]
005798a8str x2, [sp+216]
005798acldrsb x27, [x1]
005798b0ldr x2, [x1+24]
005798b4str x2, [sp+200]
005798b8ldr x2, [sp+368]
005798bcldrsb x27, [x2]
005798c0ldr x2, [x2+32]
005798c4str x2, [sp+176]
005798c8ldr x2, [sp+256]
005798ccubfm x2, x2, 63, 62
005798d0str x2, [sp+248]
005798d4ldr x2, [sp+240]
005798d8ubfm x2, x2, 63, 62
005798dcstr x2, [sp+232]
005798e0ldr x2, [sp+240]
005798e4movz x3, 38
005798e8madd x2, x2, x3, xzr
005798ecstr x2, [sp+224]
005798f0ldr x2, [sp+216]
005798f4madd x2, x2, x3, xzr
005798f8str x2, [sp+208]
005798fcldr x2, [sp+200]
00579900madd x2, x2, x3, xzr
00579904str x2, [sp+184]
00579908ldr x2, [sp+200]
0057990cmovz x3, 19
00579910madd x2, x2, x3, xzr
00579914str x2, [sp+192]
00579918ldr x2, [sp+176]
0057991cmadd x2, x2, x3, xzr
00579920str x2, [sp+168]
00579924ldr x1, [sp+256]
00579928ldr x0, [sp+256]
0057992cbl crypto/internal/fips140/edwards25519/field.mul64
00579930str x0, [sp+152]
00579934str x1, [sp+160]
00579938ldr x2, [sp+224]
0057993cldr x3, [sp+176]
00579940bl crypto/internal/fips140/edwards25519/field.addMul64
00579944str x0, [sp+152]
00579948str x1, [sp+160]
0057994cldr x2, [sp+208]
00579950ldr x3, [sp+200]
00579954bl crypto/internal/fips140/edwards25519/field.addMul64
00579958str x0, [sp+152]
0057995cstr x1, [sp+160]
00579960ldr x1, [sp+240]
00579964ldr x0, [sp+248]
00579968bl crypto/internal/fips140/edwards25519/field.mul64
0057996cstr x0, [sp+136]
00579970str x1, [sp+144]
00579974ldr x2, [sp+208]
00579978ldr x3, [sp+176]
0057997cbl crypto/internal/fips140/edwards25519/field.addMul64
00579980str x0, [sp+136]
00579984str x1, [sp+144]
00579988ldr x2, [sp+192]
0057998cldr x3, [sp+200]
00579990bl crypto/internal/fips140/edwards25519/field.addMul64
00579994str x0, [sp+136]
00579998str x1, [sp+144]
0057999cldr x1, [sp+216]
005799a0ldr x0, [sp+248]
005799a4bl crypto/internal/fips140/edwards25519/field.mul64
005799a8str x0, [sp+120]
005799acstr x1, [sp+128]
005799b0ldr x2, [sp+240]
005799b4ldr x3, [sp+240]
005799b8bl crypto/internal/fips140/edwards25519/field.addMul64
005799bcstr x0, [sp+120]
005799c0str x1, [sp+128]
005799c4ldr x2, [sp+184]
005799c8ldr x3, [sp+176]
005799ccbl crypto/internal/fips140/edwards25519/field.addMul64
005799d0str x0, [sp+120]
005799d4str x1, [sp+128]
005799d8ldr x1, [sp+200]
005799dcldr x0, [sp+248]
005799e0bl crypto/internal/fips140/edwards25519/field.mul64
005799e4str x0, [sp+104]
005799e8str x1, [sp+112]
005799ecldr x2, [sp+232]
005799f0ldr x3, [sp+216]
005799f4bl crypto/internal/fips140/edwards25519/field.addMul64
005799f8str x0, [sp+104]
005799fcstr x1, [sp+112]
00579a00ldr x2, [sp+168]
00579a04ldr x3, [sp+176]
00579a08bl crypto/internal/fips140/edwards25519/field.addMul64
00579a0cstr x0, [sp+104]
00579a10str x1, [sp+112]
00579a14ldr x1, [sp+176]
00579a18ldr x0, [sp+248]
00579a1cbl crypto/internal/fips140/edwards25519/field.mul64
00579a20str x0, [sp+88]
00579a24str x1, [sp+96]
00579a28ldr x2, [sp+232]
00579a2cldr x3, [sp+200]
00579a30bl crypto/internal/fips140/edwards25519/field.addMul64
00579a34str x0, [sp+88]
00579a38str x1, [sp+96]
00579a3cldr x2, [sp+216]
00579a40ldr x3, [sp+216]
00579a44bl crypto/internal/fips140/edwards25519/field.addMul64
00579a48str x0, [sp+88]
00579a4cstr x1, [sp+96]
00579a50ldr x0, [sp+152]
00579a54ldr x1, [sp+160]
00579a58bl crypto/internal/fips140/edwards25519/field.shiftRightBy51
00579a5cstr x0, [sp+296]
00579a60ldr x0, [sp+136]
00579a64ldr x1, [sp+144]
00579a68bl crypto/internal/fips140/edwards25519/field.shiftRightBy51
00579a6cstr x0, [sp+288]
00579a70ldr x0, [sp+120]
00579a74ldr x1, [sp+128]
00579a78bl crypto/internal/fips140/edwards25519/field.shiftRightBy51
00579a7cstr x0, [sp+280]
00579a80ldr x0, [sp+104]
00579a84ldr x1, [sp+112]
00579a88bl crypto/internal/fips140/edwards25519/field.shiftRightBy51
00579a8cstr x0, [sp+272]
00579a90ldr x0, [sp+88]
00579a94ldr x1, [sp+96]
00579a98bl crypto/internal/fips140/edwards25519/field.shiftRightBy51
00579a9cstr x0, [sp+264]
00579aa0ldr x2, [sp+152]
00579aa4and x2, x2, 0x7ffffffffffff
00579aa8movz x3, 19
00579aacmadd x2, x3, x0, x2
00579ab0str x2, [sp+80]
00579ab4ldr x2, [sp+136]
00579ab8and x2, x2, 0x7ffffffffffff
00579abcldr x3, [sp+296]
00579ac0add x2, x2, x3
00579ac4str x2, [sp+72]
00579ac8ldr x2, [sp+120]
00579accand x2, x2, 0x7ffffffffffff
00579ad0ldr x3, [sp+288]
00579ad4add x2, x2, x3
00579ad8str x2, [sp+64]
00579adcldr x2, [sp+104]
00579ae0and x2, x2, 0x7ffffffffffff
00579ae4ldr x3, [sp+280]
00579ae8add x2, x2, x3
00579aecstr x2, [sp+56]
00579af0ldr x2, [sp+88]
00579af4and x2, x2, 0x7ffffffffffff
00579af8ldr x3, [sp+272]
00579afcadd x2, x2, x3
00579b00str x2, [sp+48]
00579b04adrp x27, 0x19d000
00579b08add x27, x27, 3712
00579b0cldp x2, x3, [x27]
00579b10adrp x27, 0x19d000
00579b14add x27, x27, 3728
00579b18ldp x4, x5, [x27]
00579b1cstp x2, x3, [sp+304]
00579b20stp x4, x5, [sp+320]
00579b24adrp x27, 0x19d000
00579b28ldr x2, [x27+3744]
00579b2cstr x2, [sp+336]
00579b30ldr x2, [sp+80]
00579b34str x2, [sp+304]
00579b38ldr x2, [sp+72]
00579b3cstr x2, [sp+312]
00579b40ldr x2, [sp+64]
00579b44str x2, [sp+320]
00579b48ldr x2, [sp+56]
00579b4cstr x2, [sp+328]
00579b50ldr x2, [sp+48]
00579b54str x2, [sp+336]
00579b58ldr x2, [sp+360]
00579b5cldrsb x27, [x2]
00579b60ldp x3, x4, [sp+304]
00579b64ldp x5, x6, [sp+320]
00579b68stp x3, x4, [x2]
00579b6cstp x5, x6, [x2+16]
00579b70ldr x3, [sp+336]
00579b74str x3, [x2+32]
00579b78ldr x0, [sp+360]
00579b7cbl crypto/internal/fips140/edwards25519/field.(*Element).carryPropagate
00579b80ldp x29, x30, [sp-8]
00579b84add sp, sp, 352
00579b88ret x30
00579b8c
00579b8cloc_579b8c:
00579b8cstp x0, x1, [sp+8]
00579b90mov x3, x30
00579b94bl runtime.morestack_noctxt.abi0
00579b98ldp x0, x1, [sp+8]
00579b9cb 0x579860
00579860
00579860crypto/internal/fips140/edwards25519/field.feSquareGeneric: ; void crypto/internal/fips140/edwards25519/field.feSquareGeneric(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * a)
00579860ldr x16, [x28+16]
00579864sub x17, sp, 224
00579868subs xzr, x17, x16
0057986cb.ls 0x579b8c
00579870sub x20, sp, 352
00579874stp x29, x30, [x20-8]
00579878add sp, x20, 0
0057987csub x29, sp, 8
00579880str x0, [sp+360]
00579884str x1, [sp+368]
00579888ldrsb x27, [x1]
0057988cldr x2, [x1]
00579890str x2, [sp+256]
00579894ldrsb x27, [x1]
00579898ldr x2, [x1+8]
0057989cstr x2, [sp+240]
005798a0ldrsb x27, [x1]
005798a4ldr x2, [x1+16]
005798a8str x2, [sp+216]
005798acldrsb x27, [x1]
005798b0ldr x2, [x1+24]
005798b4str x2, [sp+200]
005798b8ldr x2, [sp+368]
005798bcldrsb x27, [x2]
005798c0ldr x2, [x2+32]
005798c4str x2, [sp+176]
005798c8ldr x2, [sp+256]
005798ccubfm x2, x2, 63, 62
005798d0str x2, [sp+248]
005798d4ldr x2, [sp+240]
005798d8ubfm x2, x2, 63, 62
005798dcstr x2, [sp+232]
005798e0ldr x2, [sp+240]
005798e4movz x3, 38
005798e8madd x2, x2, x3, xzr
005798ecstr x2, [sp+224]
005798f0ldr x2, [sp+216]
005798f4madd x2, x2, x3, xzr
005798f8str x2, [sp+208]
005798fcldr x2, [sp+200]
00579900madd x2, x2, x3, xzr
00579904str x2, [sp+184]
00579908ldr x2, [sp+200]
0057990cmovz x3, 19
00579910madd x2, x2, x3, xzr
00579914str x2, [sp+192]
00579918ldr x2, [sp+176]
0057991cmadd x2, x2, x3, xzr
00579920str x2, [sp+168]
00579924ldr x1, [sp+256]
00579928ldr x0, [sp+256]
0057992cbl crypto/internal/fips140/edwards25519/field.mul64
00579930str x0, [sp+152]
00579934str x1, [sp+160]
00579938ldr x2, [sp+224]
0057993cldr x3, [sp+176]
00579940bl crypto/internal/fips140/edwards25519/field.addMul64
00579944str x0, [sp+152]
00579948str x1, [sp+160]
0057994cldr x2, [sp+208]
00579950ldr x3, [sp+200]
00579954bl crypto/internal/fips140/edwards25519/field.addMul64
00579958str x0, [sp+152]
0057995cstr x1, [sp+160]
00579960ldr x1, [sp+240]
00579964ldr x0, [sp+248]
00579968bl crypto/internal/fips140/edwards25519/field.mul64
0057996cstr x0, [sp+136]
00579970str x1, [sp+144]
00579974ldr x2, [sp+208]
00579978ldr x3, [sp+176]
0057997cbl crypto/internal/fips140/edwards25519/field.addMul64
00579980str x0, [sp+136]
00579984str x1, [sp+144]
00579988ldr x2, [sp+192]
0057998cldr x3, [sp+200]
00579990bl crypto/internal/fips140/edwards25519/field.addMul64
00579994str x0, [sp+136]
00579998str x1, [sp+144]
0057999cldr x1, [sp+216]
005799a0ldr x0, [sp+248]
005799a4bl crypto/internal/fips140/edwards25519/field.mul64
005799a8str x0, [sp+120]
005799acstr x1, [sp+128]
005799b0ldr x2, [sp+240]
005799b4ldr x3, [sp+240]
005799b8bl crypto/internal/fips140/edwards25519/field.addMul64
005799bcstr x0, [sp+120]
005799c0str x1, [sp+128]
005799c4ldr x2, [sp+184]
005799c8ldr x3, [sp+176]
005799ccbl crypto/internal/fips140/edwards25519/field.addMul64
005799d0str x0, [sp+120]
005799d4str x1, [sp+128]
005799d8ldr x1, [sp+200]
005799dcldr x0, [sp+248]
005799e0bl crypto/internal/fips140/edwards25519/field.mul64
005799e4str x0, [sp+104]
005799e8str x1, [sp+112]
005799ecldr x2, [sp+232]
005799f0ldr x3, [sp+216]
005799f4bl crypto/internal/fips140/edwards25519/field.addMul64
005799f8str x0, [sp+104]
005799fcstr x1, [sp+112]
00579a00ldr x2, [sp+168]
00579a04ldr x3, [sp+176]
00579a08bl crypto/internal/fips140/edwards25519/field.addMul64
00579a0cstr x0, [sp+104]
00579a10str x1, [sp+112]
00579a14ldr x1, [sp+176]
00579a18ldr x0, [sp+248]
00579a1cbl crypto/internal/fips140/edwards25519/field.mul64
00579a20str x0, [sp+88]
00579a24str x1, [sp+96]
00579a28ldr x2, [sp+232]
00579a2cldr x3, [sp+200]
00579a30bl crypto/internal/fips140/edwards25519/field.addMul64
00579a34str x0, [sp+88]
00579a38str x1, [sp+96]
00579a3cldr x2, [sp+216]
00579a40ldr x3, [sp+216]
00579a44bl crypto/internal/fips140/edwards25519/field.addMul64
00579a48str x0, [sp+88]
00579a4cstr x1, [sp+96]
00579a50ldr x0, [sp+152]
00579a54ldr x1, [sp+160]
00579a58bl crypto/internal/fips140/edwards25519/field.shiftRightBy51
00579a5cstr x0, [sp+296]
00579a60ldr x0, [sp+136]
00579a64ldr x1, [sp+144]
00579a68bl crypto/internal/fips140/edwards25519/field.shiftRightBy51
00579a6cstr x0, [sp+288]
00579a70ldr x0, [sp+120]
00579a74ldr x1, [sp+128]
00579a78bl crypto/internal/fips140/edwards25519/field.shiftRightBy51
00579a7cstr x0, [sp+280]
00579a80ldr x0, [sp+104]
00579a84ldr x1, [sp+112]
00579a88bl crypto/internal/fips140/edwards25519/field.shiftRightBy51
00579a8cstr x0, [sp+272]
00579a90ldr x0, [sp+88]
00579a94ldr x1, [sp+96]
00579a98bl crypto/internal/fips140/edwards25519/field.shiftRightBy51
00579a9cstr x0, [sp+264]
00579aa0ldr x2, [sp+152]
00579aa4and x2, x2, 0x7ffffffffffff
00579aa8movz x3, 19
00579aacmadd x2, x3, x0, x2
00579ab0str x2, [sp+80]
00579ab4ldr x2, [sp+136]
00579ab8and x2, x2, 0x7ffffffffffff
00579abcldr x3, [sp+296]
00579ac0add x2, x2, x3
00579ac4str x2, [sp+72]
00579ac8ldr x2, [sp+120]
00579accand x2, x2, 0x7ffffffffffff
00579ad0ldr x3, [sp+288]
00579ad4add x2, x2, x3
00579ad8str x2, [sp+64]
00579adcldr x2, [sp+104]
00579ae0and x2, x2, 0x7ffffffffffff
00579ae4ldr x3, [sp+280]
00579ae8add x2, x2, x3
00579aecstr x2, [sp+56]
00579af0ldr x2, [sp+88]
00579af4and x2, x2, 0x7ffffffffffff
00579af8ldr x3, [sp+272]
00579afcadd x2, x2, x3
00579b00str x2, [sp+48]
00579b04adrp x27, 0x19d000
00579b08add x27, x27, 3712
00579b0cldp x2, x3, [x27]
00579b10adrp x27, 0x19d000
00579b14add x27, x27, 3728
00579b18ldp x4, x5, [x27]
00579b1cstp x2, x3, [sp+304]
00579b20stp x4, x5, [sp+320]
00579b24adrp x27, 0x19d000
00579b28ldr x2, [x27+3744]
00579b2cstr x2, [sp+336]
00579b30ldr x2, [sp+80]
00579b34str x2, [sp+304]
00579b38ldr x2, [sp+72]
00579b3cstr x2, [sp+312]
00579b40ldr x2, [sp+64]
00579b44str x2, [sp+320]
00579b48ldr x2, [sp+56]
00579b4cstr x2, [sp+328]
00579b50ldr x2, [sp+48]
00579b54str x2, [sp+336]
00579b58ldr x2, [sp+360]
00579b5cldrsb x27, [x2]
00579b60ldp x3, x4, [sp+304]
00579b64ldp x5, x6, [sp+320]
00579b68stp x3, x4, [x2]
00579b6cstp x5, x6, [x2+16]
00579b70ldr x3, [sp+336]
00579b74str x3, [x2+32]
00579b78ldr x0, [sp+360]
00579b7cbl crypto/internal/fips140/edwards25519/field.(*Element).carryPropagate
00579b80ldp x29, x30, [sp-8]
00579b84add sp, sp, 352
00579b88ret x30
00579b8c
00579b8cloc_579b8c:
00579b8cstp x0, x1, [sp+8]
00579b90mov x3, x30
00579b94bl runtime.morestack_noctxt.abi0
00579b98ldp x0, x1, [sp+8]
00579b9cb 0x579860
00579860
00579ba0
00579ba0crypto/internal/fips140/edwards25519/field.(*Element).carryPropagateGeneric: ; void crypto/internal/fips140/edwards25519/field.(*Element).carryPropagateGeneric(crypto/internal/fips140/edwards25519/field.Element * v)
00579ba0str x30, [sp-64]!
00579ba4stur x29, [sp-8]
00579ba8sub x29, sp, 8
00579bacstr x0, [sp+72]
00579bb0str xzr, [sp+48]
00579bb4ldr x1, [sp+72]
00579bb8ldrsb x27, [x1]
00579bbcldr x1, [x1]
00579bc0ubfm x1, x1, 51, 63
00579bc4str x1, [sp+40]
00579bc8ldr x1, [sp+72]
00579bccldrsb x27, [x1]
00579bd0ldr x1, [x1+8]
00579bd4ubfm x1, x1, 51, 63
00579bd8str x1, [sp+32]
00579bdcldr x1, [sp+72]
00579be0ldrsb x27, [x1]
00579be4ldr x1, [x1+16]
00579be8ubfm x1, x1, 51, 63
00579becstr x1, [sp+24]
00579bf0ldr x1, [sp+72]
00579bf4ldrsb x27, [x1]
00579bf8ldr x1, [x1+24]
00579bfcubfm x1, x1, 51, 63
00579c00str x1, [sp+16]
00579c04ldr x1, [sp+72]
00579c08ldrsb x27, [x1]
00579c0cldr x1, [x1+32]
00579c10ubfm x1, x1, 51, 63
00579c14str x1, [sp+8]
00579c18ldr x2, [sp+72]
00579c1cldrsb x27, [x2]
00579c20ldr x3, [sp+72]
00579c24ldrsb x27, [x3]
00579c28ldr x3, [x3]
00579c2cand x3, x3, 0x7ffffffffffff
00579c30movz x4, 19
00579c34madd x1, x4, x1, x3
00579c38str x1, [x2]
00579c3cldr x1, [sp+72]
00579c40ldrsb x27, [x1]
00579c44ldr x2, [sp+72]
00579c48ldrsb x27, [x2]
00579c4cldr x2, [x2+8]
00579c50and x2, x2, 0x7ffffffffffff
00579c54ldr x3, [sp+40]
00579c58add x2, x2, x3
00579c5cstr x2, [x1+8]
00579c60ldr x1, [sp+72]
00579c64ldrsb x27, [x1]
00579c68ldr x2, [sp+72]
00579c6cldrsb x27, [x2]
00579c70ldr x2, [x2+16]
00579c74and x2, x2, 0x7ffffffffffff
00579c78ldr x3, [sp+32]
00579c7cadd x2, x2, x3
00579c80str x2, [x1+16]
00579c84ldr x1, [sp+72]
00579c88ldrsb x27, [x1]
00579c8cldr x2, [sp+72]
00579c90ldrsb x27, [x2]
00579c94ldr x2, [x2+24]
00579c98and x2, x2, 0x7ffffffffffff
00579c9cldr x3, [sp+24]
00579ca0add x2, x2, x3
00579ca4str x2, [x1+24]
00579ca8ldr x1, [sp+72]
00579cacldrsb x27, [x1]
00579cb0ldr x2, [sp+72]
00579cb4ldrsb x27, [x2]
00579cb8ldr x2, [x2+32]
00579cbcand x2, x2, 0x7ffffffffffff
00579cc0ldr x3, [sp+16]
00579cc4add x2, x2, x3
00579cc8str x2, [x1+32]
00579cccldr x0, [sp+72]
00579cd0str x0, [sp+48]
00579cd4add x29, sp, 56
00579cd8add sp, sp, 64
00579cdcret x30
00579ba0
00579ba0crypto/internal/fips140/edwards25519/field.(*Element).carryPropagateGeneric: ; void crypto/internal/fips140/edwards25519/field.(*Element).carryPropagateGeneric(crypto/internal/fips140/edwards25519/field.Element * v)
00579ba0str x30, [sp-64]!
00579ba4stur x29, [sp-8]
00579ba8sub x29, sp, 8
00579bacstr x0, [sp+72]
00579bb0str xzr, [sp+48]
00579bb4ldr x1, [sp+72]
00579bb8ldrsb x27, [x1]
00579bbcldr x1, [x1]
00579bc0ubfm x1, x1, 51, 63
00579bc4str x1, [sp+40]
00579bc8ldr x1, [sp+72]
00579bccldrsb x27, [x1]
00579bd0ldr x1, [x1+8]
00579bd4ubfm x1, x1, 51, 63
00579bd8str x1, [sp+32]
00579bdcldr x1, [sp+72]
00579be0ldrsb x27, [x1]
00579be4ldr x1, [x1+16]
00579be8ubfm x1, x1, 51, 63
00579becstr x1, [sp+24]
00579bf0ldr x1, [sp+72]
00579bf4ldrsb x27, [x1]
00579bf8ldr x1, [x1+24]
00579bfcubfm x1, x1, 51, 63
00579c00str x1, [sp+16]
00579c04ldr x1, [sp+72]
00579c08ldrsb x27, [x1]
00579c0cldr x1, [x1+32]
00579c10ubfm x1, x1, 51, 63
00579c14str x1, [sp+8]
00579c18ldr x2, [sp+72]
00579c1cldrsb x27, [x2]
00579c20ldr x3, [sp+72]
00579c24ldrsb x27, [x3]
00579c28ldr x3, [x3]
00579c2cand x3, x3, 0x7ffffffffffff
00579c30movz x4, 19
00579c34madd x1, x4, x1, x3
00579c38str x1, [x2]
00579c3cldr x1, [sp+72]
00579c40ldrsb x27, [x1]
00579c44ldr x2, [sp+72]
00579c48ldrsb x27, [x2]
00579c4cldr x2, [x2+8]
00579c50and x2, x2, 0x7ffffffffffff
00579c54ldr x3, [sp+40]
00579c58add x2, x2, x3
00579c5cstr x2, [x1+8]
00579c60ldr x1, [sp+72]
00579c64ldrsb x27, [x1]
00579c68ldr x2, [sp+72]
00579c6cldrsb x27, [x2]
00579c70ldr x2, [x2+16]
00579c74and x2, x2, 0x7ffffffffffff
00579c78ldr x3, [sp+32]
00579c7cadd x2, x2, x3
00579c80str x2, [x1+16]
00579c84ldr x1, [sp+72]
00579c88ldrsb x27, [x1]
00579c8cldr x2, [sp+72]
00579c90ldrsb x27, [x2]
00579c94ldr x2, [x2+24]
00579c98and x2, x2, 0x7ffffffffffff
00579c9cldr x3, [sp+24]
00579ca0add x2, x2, x3
00579ca4str x2, [x1+24]
00579ca8ldr x1, [sp+72]
00579cacldrsb x27, [x1]
00579cb0ldr x2, [sp+72]
00579cb4ldrsb x27, [x2]
00579cb8ldr x2, [x2+32]
00579cbcand x2, x2, 0x7ffffffffffff
00579cc0ldr x3, [sp+16]
00579cc4add x2, x2, x3
00579cc8str x2, [x1+32]
00579cccldr x0, [sp+72]
00579cd0str x0, [sp+48]
00579cd4add x29, sp, 56
00579cd8add sp, sp, 64
00579cdcret x30
00579ba0
00579ce0
00579ce0crypto/internal/fips140/edwards25519/field.carryPropagate.abi0: ; void crypto/internal/fips140/edwards25519/field.carryPropagate(void)
00579ce0ldr x20, [sp+8]
00579ce4ldp x0, x1, [x20]
00579ce8ldp x2, x3, [x20+16]
00579cecldr x4, [x20+32]
00579cf0and x10, x0, 0x7ffffffffffff
00579cf4and x11, x1, 0x7ffffffffffff
00579cf8and x12, x2, 0x7ffffffffffff
00579cfcand x13, x3, 0x7ffffffffffff
00579d00and x14, x4, 0x7ffffffffffff
00579d04add x11, x11, x0, lsr #51
00579d08add x12, x12, x1, lsr #51
00579d0cadd x13, x13, x2, lsr #51
00579d10add x14, x14, x3, lsr #51
00579d14ubfm x21, x4, 51, 63
00579d18movz x22, 19
00579d1cmadd x10, x21, x22, x10
00579d20stp x10, x11, [x20]
00579d24stp x12, x13, [x20+16]
00579d28str x14, [x20+32]
00579d2cret x30
00579ce0
00579ce0crypto/internal/fips140/edwards25519/field.carryPropagate.abi0: ; void crypto/internal/fips140/edwards25519/field.carryPropagate(void)
00579ce0ldr x20, [sp+8]
00579ce4ldp x0, x1, [x20]
00579ce8ldp x2, x3, [x20+16]
00579cecldr x4, [x20+32]
00579cf0and x10, x0, 0x7ffffffffffff
00579cf4and x11, x1, 0x7ffffffffffff
00579cf8and x12, x2, 0x7ffffffffffff
00579cfcand x13, x3, 0x7ffffffffffff
00579d00and x14, x4, 0x7ffffffffffff
00579d04add x11, x11, x0, lsr #51
00579d08add x12, x12, x1, lsr #51
00579d0cadd x13, x13, x2, lsr #51
00579d10add x14, x14, x3, lsr #51
00579d14ubfm x21, x4, 51, 63
00579d18movz x22, 19
00579d1cmadd x10, x21, x22, x10
00579d20stp x10, x11, [x20]
00579d24stp x12, x13, [x20+16]
00579d28str x14, [x20+32]
00579d2cret x30
00579ce0
00579d30
00579d30crypto/internal/fips140/ecdh.ECDH[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdh.ECDH[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[2] * dict, crypto/internal/fips140/ecdh.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, crypto/internal/fips140/ecdh.PrivateKey * k, crypto/internal/fips140/ecdh.PublicKey * peer)
00579d30ldr x16, [x28+16]
00579d34sub x17, sp, 48
00579d38subs xzr, x17, x16
00579d3cb.ls 0x579e24
00579d40str x30, [sp-176]!
00579d44stur x29, [sp-8]
00579d48sub x29, sp, 8
00579d4cstr x0, [sp+184]
00579d50str x1, [sp+192]
00579d54str x2, [sp+200]
00579d58str x3, [sp+208]
00579d5cstr xzr, [sp+56]
00579d60stp xzr, xzr, [sp+64]
00579d64stp xzr, xzr, [sp+40]
00579d68adrp x27, 0x4a8000
00579d6cldr x26, [x27+472]
00579d70ldr x0, [x26]
00579d74blr x0
00579d78bl crypto/internal/fips140.RecordApproved
00579d7cstr xzr, [sp+96]
00579d80stp xzr, xzr, [sp+104]
00579d84stp xzr, xzr, [sp+80]
00579d88ldr x0, [sp+184]
00579d8cldrsb x27, [x0]
00579d90ldr x0, [x0]
00579d94str x0, [sp+160]
00579d98ldr x3, [sp+208]
00579d9cldr x2, [sp+200]
00579da0ldr x1, [sp+192]
00579da4bl crypto/internal/fips140/ecdh.ecdh[go.shape.*crypto/internal/fips140/nistec.P521Point]
00579da8str x0, [sp+96]
00579dacstr x1, [sp+104]
00579db0str x2, [sp+112]
00579db4str x3, [sp+80]
00579db8str x4, [sp+88]
00579dbcldr x0, [sp+96]
00579dc0ldr x1, [sp+104]
00579dc4ldr x2, [sp+112]
00579dc8str x0, [sp+136]
00579dccstr x1, [sp+144]
00579dd0str x2, [sp+152]
00579dd4ldr x0, [sp+80]
00579dd8ldr x1, [sp+88]
00579ddcstr x0, [sp+120]
00579de0str x1, [sp+128]
00579de4ldr x0, [sp+136]
00579de8ldr x1, [sp+144]
00579decldr x2, [sp+152]
00579df0str x0, [sp+56]
00579df4str x1, [sp+64]
00579df8str x2, [sp+72]
00579dfcldr x3, [sp+120]
00579e00ldr x4, [sp+128]
00579e04str x3, [sp+40]
00579e08str x4, [sp+48]
00579e0cldr x0, [sp+56]
00579e10ldr x1, [sp+64]
00579e14ldr x2, [sp+72]
00579e18ldur x29, [sp-8]
00579e1cldr x30, [sp], 176
00579e20ret x30
00579e24
00579e24loc_579e24:
00579e24stp x0, x1, [sp+8]
00579e28stp x2, x3, [sp+24]
00579e2cmov x3, x30
00579e30bl runtime.morestack_noctxt.abi0
00579e34ldp x0, x1, [sp+8]
00579e38ldp x2, x3, [sp+24]
00579e3cb 0x579d30
00579d30
00579d30crypto/internal/fips140/ecdh.ECDH[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdh.ECDH[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[2] * dict, crypto/internal/fips140/ecdh.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, crypto/internal/fips140/ecdh.PrivateKey * k, crypto/internal/fips140/ecdh.PublicKey * peer)
00579d30ldr x16, [x28+16]
00579d34sub x17, sp, 48
00579d38subs xzr, x17, x16
00579d3cb.ls 0x579e24
00579d40str x30, [sp-176]!
00579d44stur x29, [sp-8]
00579d48sub x29, sp, 8
00579d4cstr x0, [sp+184]
00579d50str x1, [sp+192]
00579d54str x2, [sp+200]
00579d58str x3, [sp+208]
00579d5cstr xzr, [sp+56]
00579d60stp xzr, xzr, [sp+64]
00579d64stp xzr, xzr, [sp+40]
00579d68adrp x27, 0x4a8000
00579d6cldr x26, [x27+472]
00579d70ldr x0, [x26]
00579d74blr x0
00579d78bl crypto/internal/fips140.RecordApproved
00579d7cstr xzr, [sp+96]
00579d80stp xzr, xzr, [sp+104]
00579d84stp xzr, xzr, [sp+80]
00579d88ldr x0, [sp+184]
00579d8cldrsb x27, [x0]
00579d90ldr x0, [x0]
00579d94str x0, [sp+160]
00579d98ldr x3, [sp+208]
00579d9cldr x2, [sp+200]
00579da0ldr x1, [sp+192]
00579da4bl crypto/internal/fips140/ecdh.ecdh[go.shape.*crypto/internal/fips140/nistec.P521Point]
00579da8str x0, [sp+96]
00579dacstr x1, [sp+104]
00579db0str x2, [sp+112]
00579db4str x3, [sp+80]
00579db8str x4, [sp+88]
00579dbcldr x0, [sp+96]
00579dc0ldr x1, [sp+104]
00579dc4ldr x2, [sp+112]
00579dc8str x0, [sp+136]
00579dccstr x1, [sp+144]
00579dd0str x2, [sp+152]
00579dd4ldr x0, [sp+80]
00579dd8ldr x1, [sp+88]
00579ddcstr x0, [sp+120]
00579de0str x1, [sp+128]
00579de4ldr x0, [sp+136]
00579de8ldr x1, [sp+144]
00579decldr x2, [sp+152]
00579df0str x0, [sp+56]
00579df4str x1, [sp+64]
00579df8str x2, [sp+72]
00579dfcldr x3, [sp+120]
00579e00ldr x4, [sp+128]
00579e04str x3, [sp+40]
00579e08str x4, [sp+48]
00579e0cldr x0, [sp+56]
00579e10ldr x1, [sp+64]
00579e14ldr x2, [sp+72]
00579e18ldur x29, [sp-8]
00579e1cldr x30, [sp], 176
00579e20ret x30
00579e24
00579e24loc_579e24:
00579e24stp x0, x1, [sp+8]
00579e28stp x2, x3, [sp+24]
00579e2cmov x3, x30
00579e30bl runtime.morestack_noctxt.abi0
00579e34ldp x0, x1, [sp+8]
00579e38ldp x2, x3, [sp+24]
00579e3cb 0x579d30
00579d30
00579e40
00579e40crypto/internal/fips140/ecdh.ecdh[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdh.ecdh[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[5] * dict, crypto/internal/fips140/ecdh.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, crypto/internal/fips140/ecdh.PrivateKey * k, crypto/internal/fips140/ecdh.PublicKey * peer)
00579e40ldr x16, [x28+16]
00579e44sub x17, sp, 272
00579e48subs xzr, x17, x16
00579e4cb.ls 0x57a240
00579e50sub x20, sp, 400
00579e54stp x29, x30, [x20-8]
00579e58add sp, x20, 0
00579e5csub x29, sp, 8
00579e60str x0, [sp+408]
00579e64str x1, [sp+416]
00579e68str x2, [sp+424]
00579e6cstr x3, [sp+432]
00579e70str xzr, [sp+72]
00579e74stp xzr, xzr, [sp+80]
00579e78stp xzr, xzr, [sp+56]
00579e7cldr x3, [sp+416]
00579e80ldrsb x27, [x3]
00579e84ldr x4, [x3]
00579e88ldr x3, [x3+8]
00579e8cstr x4, [sp+256]
00579e90str x3, [sp+264]
00579e94ldr x3, [sp+424]
00579e98ldrsb x27, [x3]
00579e9cldr x1, [x3]
00579ea0ldr x3, [x3+8]
00579ea4str x1, [sp+240]
00579ea8str x3, [sp+248]
00579eacldr x4, [sp+264]
00579eb0subs xzr, x4, x3
00579eb4b.ne 0x579ebc
00579eb8b 0x579ec0
00579ebc
00579ebcloc_579ebc:
00579ebcb 0x57a1f8
00579ec0
00579ec0loc_579ec0:
00579ec0ldr x2, [sp+264]
00579ec4ldr x0, [sp+256]
00579ec8bl runtime.memequal
00579ecctbnz w0, 0, 0x579ed4
00579ed0b 0x57a1f4
00579ed4
00579ed4loc_579ed4:
00579ed4ldr x3, [sp+424]
00579ed8ldrsb x27, [x3]
00579edcldr x4, [x3]
00579ee0ldr x3, [x3+8]
00579ee4str x4, [sp+224]
00579ee8str x3, [sp+232]
00579eecldr x3, [sp+432]
00579ef0ldrsb x27, [x3]
00579ef4ldr x1, [x3]
00579ef8ldr x3, [x3+8]
00579efcstr x1, [sp+208]
00579f00str x3, [sp+216]
00579f04ldr x4, [sp+232]
00579f08subs xzr, x4, x3
00579f0cb.ne 0x579f14
00579f10b 0x579f18
00579f14
00579f14loc_579f14:
00579f14b 0x57a1ac
00579f18
00579f18loc_579f18:
00579f18ldr x0, [sp+224]
00579f1cldr x2, [sp+232]
00579f20bl runtime.memequal
00579f24tbnz w0, 0, 0x579f2c
00579f28b 0x57a1a8
00579f2c
00579f2cloc_579f2c:
00579f2cldr x2, [sp+424]
00579f30ldrsb x27, [x2]
00579f34ldr x2, [x2+24]
00579f38str x2, [sp+48]
00579f3csubs xzr, x2, 1
00579f40b.eq 0x579f48
00579f44b 0x579f90
00579f48
00579f48loc_579f48:
00579f48adrp x0, 0x14f000
00579f4cadd x0, x0, 324
00579f50movz x1, 47
00579f54bl errors.New
00579f58str x0, [sp+312]
00579f5cstr x1, [sp+320]
00579f60str xzr, [sp+72]
00579f64stp xzr, xzr, [sp+80]
00579f68ldr x3, [sp+312]
00579f6cldr x4, [sp+320]
00579f70str x3, [sp+56]
00579f74str x4, [sp+64]
00579f78ldr x0, [sp+72]
00579f7cldr x1, [sp+80]
00579f80ldr x2, [sp+88]
00579f84ldp x29, x30, [sp-8]
00579f88add sp, sp, 400
00579f8cret x30
00579f90
00579f90loc_579f90:
00579f90ldr x0, [sp+416]
00579f94ldrsb x27, [x0]
00579f98ldr x26, [x0+16]
00579f9cldr x0, [x26]
00579fa0blr x0
00579fa4str x0, [sp+304]
00579fa8str xzr, [sp+296]
00579facstp xzr, xzr, [sp+312]
00579fb0ldr x0, [sp+432]
00579fb4ldrsb x27, [x0]
00579fb8ldr x1, [x0+16]
00579fbcldr x2, [x0+24]
00579fc0ldr x3, [x0+32]
00579fc4str x1, [sp+184]
00579fc8str x2, [sp+192]
00579fccstr x3, [sp+200]
00579fd0ldr x26, [sp+408]
00579fd4ldrsb x27, [x26]
00579fd8ldr x0, [x26]
00579fdcldr x4, [sp+304]
00579fe0mov x5, x0
00579fe4mov x0, x4
00579fe8blr x5
00579fecstr x0, [sp+296]
00579ff0str x1, [sp+312]
00579ff4str x2, [sp+320]
00579ff8ldr x0, [sp+296]
00579ffcstr x0, [sp+152]
0057a000ldr x0, [sp+312]
0057a004ldr x1, [sp+320]
0057a008str x0, [sp+136]
0057a00cstr x1, [sp+144]
0057a010ldr x0, [sp+152]
0057a014str x0, [sp+96]
0057a018ldr x0, [sp+144]
0057a01cldr x1, [sp+136]
0057a020str x1, [sp+120]
0057a024str x0, [sp+128]
0057a028cbnz x1, 0x57a030
0057a02cb 0x57a060
0057a030
0057a030loc_57a030:
0057a030str xzr, [sp+72]
0057a034stp xzr, xzr, [sp+80]
0057a038ldr x3, [sp+120]
0057a03cldr x4, [sp+128]
0057a040str x3, [sp+56]
0057a044str x4, [sp+64]
0057a048ldr x0, [sp+72]
0057a04cldr x1, [sp+80]
0057a050ldr x2, [sp+88]
0057a054ldp x29, x30, [sp-8]
0057a058add sp, sp, 400
0057a05cret x30
0057a060
0057a060loc_57a060:
0057a060str xzr, [sp+296]
0057a064stp xzr, xzr, [sp+312]
0057a068ldr x5, [sp+424]
0057a06cldrsb x27, [x5]
0057a070ldr x2, [x5+40]
0057a074ldr x3, [x5+48]
0057a078ldr x4, [x5+56]
0057a07cstr x2, [sp+160]
0057a080str x3, [sp+168]
0057a084str x4, [sp+176]
0057a088ldr x5, [sp+408]
0057a08cldrsb x27, [x5]
0057a090add x26, x5, 8
0057a094ldr x0, [sp+96]
0057a098ldr x1, [sp+96]
0057a09cldr x5, [x5+8]
0057a0a0blr x5
0057a0a4str x0, [sp+296]
0057a0a8str x1, [sp+312]
0057a0acstr x2, [sp+320]
0057a0b0ldr x5, [sp+296]
0057a0b4str x5, [sp+384]
0057a0b8ldr x5, [sp+320]
0057a0bcldr x6, [sp+312]
0057a0c0str x6, [sp+368]
0057a0c4str x5, [sp+376]
0057a0c8str x6, [sp+104]
0057a0ccstr x5, [sp+112]
0057a0d0cbnz x6, 0x57a0d8
0057a0d4b 0x57a108
0057a0d8
0057a0d8loc_57a0d8:
0057a0d8str xzr, [sp+72]
0057a0dcstp xzr, xzr, [sp+80]
0057a0e0ldr x3, [sp+104]
0057a0e4ldr x4, [sp+112]
0057a0e8str x3, [sp+56]
0057a0ecstr x4, [sp+64]
0057a0f0ldr x0, [sp+72]
0057a0f4ldr x1, [sp+80]
0057a0f8ldr x2, [sp+88]
0057a0fcldp x29, x30, [sp-8]
0057a100add sp, sp, 400
0057a104ret x30
0057a108
0057a108loc_57a108:
0057a108str xzr, [sp+272]
0057a10cstp xzr, xzr, [sp+280]
0057a110stp xzr, xzr, [sp+312]
0057a114ldr x1, [sp+408]
0057a118ldrsb x27, [x1]
0057a11cadd x26, x1, 16
0057a120ldr x0, [sp+96]
0057a124ldr x1, [x1+16]
0057a128blr x1
0057a12cstr x0, [sp+272]
0057a130str x1, [sp+280]
0057a134str x2, [sp+288]
0057a138str x3, [sp+312]
0057a13cstr x4, [sp+320]
0057a140ldr x1, [sp+272]
0057a144ldr x2, [sp+280]
0057a148ldr x3, [sp+288]
0057a14cstr x1, [sp+344]
0057a150str x2, [sp+352]
0057a154str x3, [sp+360]
0057a158ldr x1, [sp+312]
0057a15cldr x2, [sp+320]
0057a160str x1, [sp+328]
0057a164str x2, [sp+336]
0057a168ldr x1, [sp+344]
0057a16cldr x2, [sp+352]
0057a170ldr x3, [sp+360]
0057a174str x1, [sp+72]
0057a178str x2, [sp+80]
0057a17cstr x3, [sp+88]
0057a180ldr x3, [sp+328]
0057a184ldr x4, [sp+336]
0057a188str x3, [sp+56]
0057a18cstr x4, [sp+64]
0057a190ldr x0, [sp+72]
0057a194ldr x1, [sp+80]
0057a198ldr x2, [sp+88]
0057a19cldp x29, x30, [sp-8]
0057a1a0add sp, sp, 400
0057a1a4ret x30
0057a1a8
0057a1a8loc_57a1a8:
0057a1a8b 0x57a1ac
0057a1ac
0057a1acloc_57a1ac:
0057a1acadrp x0, 0x143000
0057a1b0add x0, x0, 1672
0057a1b4orr x1, xzr, 30
0057a1b8bl errors.New
0057a1bcstr x0, [sp+312]
0057a1c0str x1, [sp+320]
0057a1c4str xzr, [sp+72]
0057a1c8stp xzr, xzr, [sp+80]
0057a1ccldr x3, [sp+312]
0057a1d0ldr x4, [sp+320]
0057a1d4str x3, [sp+56]
0057a1d8str x4, [sp+64]
0057a1dcldr x0, [sp+72]
0057a1e0ldr x1, [sp+80]
0057a1e4ldr x2, [sp+88]
0057a1e8ldp x29, x30, [sp-8]
0057a1ecadd sp, sp, 400
0057a1f0ret x30
0057a1f4
0057a1f4loc_57a1f4:
0057a1f4b 0x57a1f8
0057a1f8
0057a1f8loc_57a1f8:
0057a1f8adrp x0, 0x143000
0057a1fcadd x0, x0, 1672
0057a200orr x1, xzr, 30
0057a204bl errors.New
0057a208str x0, [sp+312]
0057a20cstr x1, [sp+320]
0057a210str xzr, [sp+72]
0057a214stp xzr, xzr, [sp+80]
0057a218ldr x3, [sp+312]
0057a21cldr x4, [sp+320]
0057a220str x3, [sp+56]
0057a224str x4, [sp+64]
0057a228ldr x0, [sp+72]
0057a22cldr x1, [sp+80]
0057a230ldr x2, [sp+88]
0057a234ldp x29, x30, [sp-8]
0057a238add sp, sp, 400
0057a23cret x30
0057a240
0057a240loc_57a240:
0057a240stp x0, x1, [sp+8]
0057a244stp x2, x3, [sp+24]
0057a248mov x3, x30
0057a24cbl runtime.morestack_noctxt.abi0
0057a250ldp x0, x1, [sp+8]
0057a254ldp x2, x3, [sp+24]
0057a258b 0x579e40
0057a25cudf 0
00579e40
00579e40crypto/internal/fips140/ecdh.ecdh[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdh.ecdh[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[5] * dict, crypto/internal/fips140/ecdh.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, crypto/internal/fips140/ecdh.PrivateKey * k, crypto/internal/fips140/ecdh.PublicKey * peer)
00579e40ldr x16, [x28+16]
00579e44sub x17, sp, 272
00579e48subs xzr, x17, x16
00579e4cb.ls 0x57a240
00579e50sub x20, sp, 400
00579e54stp x29, x30, [x20-8]
00579e58add sp, x20, 0
00579e5csub x29, sp, 8
00579e60str x0, [sp+408]
00579e64str x1, [sp+416]
00579e68str x2, [sp+424]
00579e6cstr x3, [sp+432]
00579e70str xzr, [sp+72]
00579e74stp xzr, xzr, [sp+80]
00579e78stp xzr, xzr, [sp+56]
00579e7cldr x3, [sp+416]
00579e80ldrsb x27, [x3]
00579e84ldr x4, [x3]
00579e88ldr x3, [x3+8]
00579e8cstr x4, [sp+256]
00579e90str x3, [sp+264]
00579e94ldr x3, [sp+424]
00579e98ldrsb x27, [x3]
00579e9cldr x1, [x3]
00579ea0ldr x3, [x3+8]
00579ea4str x1, [sp+240]
00579ea8str x3, [sp+248]
00579eacldr x4, [sp+264]
00579eb0subs xzr, x4, x3
00579eb4b.ne 0x579ebc
00579eb8b 0x579ec0
00579ebc
00579ebcloc_579ebc:
00579ebcb 0x57a1f8
00579ec0
00579ec0loc_579ec0:
00579ec0ldr x2, [sp+264]
00579ec4ldr x0, [sp+256]
00579ec8bl runtime.memequal
00579ecctbnz w0, 0, 0x579ed4
00579ed0b 0x57a1f4
00579ed4
00579ed4loc_579ed4:
00579ed4ldr x3, [sp+424]
00579ed8ldrsb x27, [x3]
00579edcldr x4, [x3]
00579ee0ldr x3, [x3+8]
00579ee4str x4, [sp+224]
00579ee8str x3, [sp+232]
00579eecldr x3, [sp+432]
00579ef0ldrsb x27, [x3]
00579ef4ldr x1, [x3]
00579ef8ldr x3, [x3+8]
00579efcstr x1, [sp+208]
00579f00str x3, [sp+216]
00579f04ldr x4, [sp+232]
00579f08subs xzr, x4, x3
00579f0cb.ne 0x579f14
00579f10b 0x579f18
00579f14
00579f14loc_579f14:
00579f14b 0x57a1ac
00579f18
00579f18loc_579f18:
00579f18ldr x0, [sp+224]
00579f1cldr x2, [sp+232]
00579f20bl runtime.memequal
00579f24tbnz w0, 0, 0x579f2c
00579f28b 0x57a1a8
00579f2c
00579f2cloc_579f2c:
00579f2cldr x2, [sp+424]
00579f30ldrsb x27, [x2]
00579f34ldr x2, [x2+24]
00579f38str x2, [sp+48]
00579f3csubs xzr, x2, 1
00579f40b.eq 0x579f48
00579f44b 0x579f90
00579f48
00579f48loc_579f48:
00579f48adrp x0, 0x14f000
00579f4cadd x0, x0, 324
00579f50movz x1, 47
00579f54bl errors.New
00579f58str x0, [sp+312]
00579f5cstr x1, [sp+320]
00579f60str xzr, [sp+72]
00579f64stp xzr, xzr, [sp+80]
00579f68ldr x3, [sp+312]
00579f6cldr x4, [sp+320]
00579f70str x3, [sp+56]
00579f74str x4, [sp+64]
00579f78ldr x0, [sp+72]
00579f7cldr x1, [sp+80]
00579f80ldr x2, [sp+88]
00579f84ldp x29, x30, [sp-8]
00579f88add sp, sp, 400
00579f8cret x30
00579f90
00579f90loc_579f90:
00579f90ldr x0, [sp+416]
00579f94ldrsb x27, [x0]
00579f98ldr x26, [x0+16]
00579f9cldr x0, [x26]
00579fa0blr x0
00579fa4str x0, [sp+304]
00579fa8str xzr, [sp+296]
00579facstp xzr, xzr, [sp+312]
00579fb0ldr x0, [sp+432]
00579fb4ldrsb x27, [x0]
00579fb8ldr x1, [x0+16]
00579fbcldr x2, [x0+24]
00579fc0ldr x3, [x0+32]
00579fc4str x1, [sp+184]
00579fc8str x2, [sp+192]
00579fccstr x3, [sp+200]
00579fd0ldr x26, [sp+408]
00579fd4ldrsb x27, [x26]
00579fd8ldr x0, [x26]
00579fdcldr x4, [sp+304]
00579fe0mov x5, x0
00579fe4mov x0, x4
00579fe8blr x5
00579fecstr x0, [sp+296]
00579ff0str x1, [sp+312]
00579ff4str x2, [sp+320]
00579ff8ldr x0, [sp+296]
00579ffcstr x0, [sp+152]
0057a000ldr x0, [sp+312]
0057a004ldr x1, [sp+320]
0057a008str x0, [sp+136]
0057a00cstr x1, [sp+144]
0057a010ldr x0, [sp+152]
0057a014str x0, [sp+96]
0057a018ldr x0, [sp+144]
0057a01cldr x1, [sp+136]
0057a020str x1, [sp+120]
0057a024str x0, [sp+128]
0057a028cbnz x1, 0x57a030
0057a02cb 0x57a060
0057a030
0057a030loc_57a030:
0057a030str xzr, [sp+72]
0057a034stp xzr, xzr, [sp+80]
0057a038ldr x3, [sp+120]
0057a03cldr x4, [sp+128]
0057a040str x3, [sp+56]
0057a044str x4, [sp+64]
0057a048ldr x0, [sp+72]
0057a04cldr x1, [sp+80]
0057a050ldr x2, [sp+88]
0057a054ldp x29, x30, [sp-8]
0057a058add sp, sp, 400
0057a05cret x30
0057a060
0057a060loc_57a060:
0057a060str xzr, [sp+296]
0057a064stp xzr, xzr, [sp+312]
0057a068ldr x5, [sp+424]
0057a06cldrsb x27, [x5]
0057a070ldr x2, [x5+40]
0057a074ldr x3, [x5+48]
0057a078ldr x4, [x5+56]
0057a07cstr x2, [sp+160]
0057a080str x3, [sp+168]
0057a084str x4, [sp+176]
0057a088ldr x5, [sp+408]
0057a08cldrsb x27, [x5]
0057a090add x26, x5, 8
0057a094ldr x0, [sp+96]
0057a098ldr x1, [sp+96]
0057a09cldr x5, [x5+8]
0057a0a0blr x5
0057a0a4str x0, [sp+296]
0057a0a8str x1, [sp+312]
0057a0acstr x2, [sp+320]
0057a0b0ldr x5, [sp+296]
0057a0b4str x5, [sp+384]
0057a0b8ldr x5, [sp+320]
0057a0bcldr x6, [sp+312]
0057a0c0str x6, [sp+368]
0057a0c4str x5, [sp+376]
0057a0c8str x6, [sp+104]
0057a0ccstr x5, [sp+112]
0057a0d0cbnz x6, 0x57a0d8
0057a0d4b 0x57a108
0057a0d8
0057a0d8loc_57a0d8:
0057a0d8str xzr, [sp+72]
0057a0dcstp xzr, xzr, [sp+80]
0057a0e0ldr x3, [sp+104]
0057a0e4ldr x4, [sp+112]
0057a0e8str x3, [sp+56]
0057a0ecstr x4, [sp+64]
0057a0f0ldr x0, [sp+72]
0057a0f4ldr x1, [sp+80]
0057a0f8ldr x2, [sp+88]
0057a0fcldp x29, x30, [sp-8]
0057a100add sp, sp, 400
0057a104ret x30
0057a108
0057a108loc_57a108:
0057a108str xzr, [sp+272]
0057a10cstp xzr, xzr, [sp+280]
0057a110stp xzr, xzr, [sp+312]
0057a114ldr x1, [sp+408]
0057a118ldrsb x27, [x1]
0057a11cadd x26, x1, 16
0057a120ldr x0, [sp+96]
0057a124ldr x1, [x1+16]
0057a128blr x1
0057a12cstr x0, [sp+272]
0057a130str x1, [sp+280]
0057a134str x2, [sp+288]
0057a138str x3, [sp+312]
0057a13cstr x4, [sp+320]
0057a140ldr x1, [sp+272]
0057a144ldr x2, [sp+280]
0057a148ldr x3, [sp+288]
0057a14cstr x1, [sp+344]
0057a150str x2, [sp+352]
0057a154str x3, [sp+360]
0057a158ldr x1, [sp+312]
0057a15cldr x2, [sp+320]
0057a160str x1, [sp+328]
0057a164str x2, [sp+336]
0057a168ldr x1, [sp+344]
0057a16cldr x2, [sp+352]
0057a170ldr x3, [sp+360]
0057a174str x1, [sp+72]
0057a178str x2, [sp+80]
0057a17cstr x3, [sp+88]
0057a180ldr x3, [sp+328]
0057a184ldr x4, [sp+336]
0057a188str x3, [sp+56]
0057a18cstr x4, [sp+64]
0057a190ldr x0, [sp+72]
0057a194ldr x1, [sp+80]
0057a198ldr x2, [sp+88]
0057a19cldp x29, x30, [sp-8]
0057a1a0add sp, sp, 400
0057a1a4ret x30
0057a1a8
0057a1a8loc_57a1a8:
0057a1a8b 0x57a1ac
0057a1ac
0057a1acloc_57a1ac:
0057a1acadrp x0, 0x143000
0057a1b0add x0, x0, 1672
0057a1b4orr x1, xzr, 30
0057a1b8bl errors.New
0057a1bcstr x0, [sp+312]
0057a1c0str x1, [sp+320]
0057a1c4str xzr, [sp+72]
0057a1c8stp xzr, xzr, [sp+80]
0057a1ccldr x3, [sp+312]
0057a1d0ldr x4, [sp+320]
0057a1d4str x3, [sp+56]
0057a1d8str x4, [sp+64]
0057a1dcldr x0, [sp+72]
0057a1e0ldr x1, [sp+80]
0057a1e4ldr x2, [sp+88]
0057a1e8ldp x29, x30, [sp-8]
0057a1ecadd sp, sp, 400
0057a1f0ret x30
0057a1f4
0057a1f4loc_57a1f4:
0057a1f4b 0x57a1f8
0057a1f8
0057a1f8loc_57a1f8:
0057a1f8adrp x0, 0x143000
0057a1fcadd x0, x0, 1672
0057a200orr x1, xzr, 30
0057a204bl errors.New
0057a208str x0, [sp+312]
0057a20cstr x1, [sp+320]
0057a210str xzr, [sp+72]
0057a214stp xzr, xzr, [sp+80]
0057a218ldr x3, [sp+312]
0057a21cldr x4, [sp+320]
0057a220str x3, [sp+56]
0057a224str x4, [sp+64]
0057a228ldr x0, [sp+72]
0057a22cldr x1, [sp+80]
0057a230ldr x2, [sp+88]
0057a234ldp x29, x30, [sp-8]
0057a238add sp, sp, 400
0057a23cret x30
0057a240
0057a240loc_57a240:
0057a240stp x0, x1, [sp+8]
0057a244stp x2, x3, [sp+24]
0057a248mov x3, x30
0057a24cbl runtime.morestack_noctxt.abi0
0057a250ldp x0, x1, [sp+8]
0057a254ldp x2, x3, [sp+24]
0057a258b 0x579e40
0057a25cudf 0
00579e40
Loading..