File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
Loading..
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
0057a260
0057a260crypto/internal/fips140/ecdh.NewPublicKey[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdh.NewPublicKey[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[2] * dict, crypto/internal/fips140/ecdh.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, struct []uint8 key)
0057a260ldr x16, [x28+16]
0057a264sub x17, sp, 64
0057a268subs xzr, x17, x16
0057a26cb.ls 0x57a4ac
0057a270str x30, [sp-192]!
0057a274stur x29, [sp-8]
0057a278sub x29, sp, 8
0057a27cstr x0, [sp+200]
0057a280str x1, [sp+208]
0057a284str x2, [sp+216]
0057a288str x3, [sp+224]
0057a28cstr x4, [sp+232]
0057a290str xzr, [sp+72]
0057a294stp xzr, xzr, [sp+56]
0057a298ldr x2, [sp+224]
0057a29cstr x2, [sp+48]
0057a2a0subs xzr, x2, 0
0057a2a4cset x3, eq
0057a2a8strb w3, [sp+47]
0057a2accbz x2, 0x57a2b4
0057a2b0b 0x57a2b8
0057a2b4
0057a2b4loc_57a2b4:
0057a2b4b 0x57a2e0
0057a2b8
0057a2b8loc_57a2b8:
0057a2b8ldr x1, [sp+224]
0057a2bcldr x2, [sp+216]
0057a2c0subs xzr, x1, 0
0057a2c4b.hi 0x57a2cc
0057a2c8b 0x57a4a0
0057a2cc
0057a2ccloc_57a2cc:
0057a2ccldrb w2, [x2]
0057a2d0subs wzr, w2, 4
0057a2d4cset x2, ne
0057a2d8strb w2, [sp+47]
0057a2dcb 0x57a2e0
0057a2e0
0057a2e0loc_57a2e0:
0057a2e0ldrb w2, [sp+47]
0057a2e4tbnz w2, 0, 0x57a2ec
0057a2e8b 0x57a328
0057a2ec
0057a2ecloc_57a2ec:
0057a2ecadrp x0, 0x144000
0057a2f0add x0, x0, 444
0057a2f4orr x1, xzr, 31
0057a2f8bl errors.New
0057a2fcstr x0, [sp+168]
0057a300str x1, [sp+176]
0057a304str xzr, [sp+72]
0057a308ldr x1, [sp+168]
0057a30cldr x2, [sp+176]
0057a310str x1, [sp+56]
0057a314str x2, [sp+64]
0057a318ldr x0, [sp+72]
0057a31cldur x29, [sp-8]
0057a320ldr x30, [sp], 192
0057a324ret x30
0057a328
0057a328loc_57a328:
0057a328ldr x0, [sp+208]
0057a32cldrsb x27, [x0]
0057a330ldr x26, [x0+16]
0057a334ldr x0, [x26]
0057a338blr x0
0057a33cstr x0, [sp+160]
0057a340str xzr, [sp+152]
0057a344stp xzr, xzr, [sp+168]
0057a348ldr x26, [sp+200]
0057a34cldrsb x27, [x26]
0057a350ldr x0, [x26]
0057a354ldr x1, [sp+216]
0057a358ldr x2, [sp+224]
0057a35cldr x3, [sp+232]
0057a360ldr x4, [sp+160]
0057a364mov x5, x0
0057a368mov x0, x4
0057a36cblr x5
0057a370str x0, [sp+152]
0057a374str x1, [sp+168]
0057a378str x2, [sp+176]
0057a37cldr x0, [sp+152]
0057a380str x0, [sp+112]
0057a384ldr x0, [sp+176]
0057a388ldr x1, [sp+168]
0057a38cstr x1, [sp+96]
0057a390str x0, [sp+104]
0057a394str x1, [sp+80]
0057a398str x0, [sp+88]
0057a39ccbnz x1, 0x57a3a4
0057a3a0b 0x57a3c8
0057a3a4
0057a3a4loc_57a3a4:
0057a3a4str xzr, [sp+72]
0057a3a8ldr x1, [sp+80]
0057a3acldr x2, [sp+88]
0057a3b0str x1, [sp+56]
0057a3b4str x2, [sp+64]
0057a3b8ldr x0, [sp+72]
0057a3bcldur x29, [sp-8]
0057a3c0ldr x30, [sp], 192
0057a3c4ret x30
0057a3c8
0057a3c8loc_57a3c8:
0057a3c8ldr x0, [sp+216]
0057a3ccldr x1, [sp+224]
0057a3d0ldr x2, [sp+232]
0057a3d4bl bytes.Clone
0057a3d8str x0, [sp+128]
0057a3dcstr x1, [sp+136]
0057a3e0str x2, [sp+144]
0057a3e4adrp x0, 0xce000
0057a3e8add x0, x0, 736
0057a3ecbl runtime.newobject
0057a3f0str x0, [sp+120]
0057a3f4ldr x3, [sp+208]
0057a3f8ldrsb x27, [x3]
0057a3fcldr x4, [x3]
0057a400ldr x3, [x3+8]
0057a404str x3, [x0+8]
0057a408adrp x27, 0x4d1000
0057a40cldr w3, [x27+3056]
0057a410cbz w3, 0x57a418
0057a414b 0x57a41c
0057a418
0057a418loc_57a418:
0057a418b 0x57a430
0057a41c
0057a41cloc_57a41c:
0057a41cbl runtime.gcWriteBarrier2
0057a420str x4, [x25]
0057a424ldr x3, [x0]
0057a428str x3, [x25+8]
0057a42cb 0x57a430
0057a430
0057a430loc_57a430:
0057a430str x4, [x0]
0057a434ldr x3, [sp+120]
0057a438ldrsb x27, [x3]
0057a43cldr x4, [sp+128]
0057a440ldr x5, [sp+136]
0057a444ldr x6, [sp+144]
0057a448str x5, [x3+24]
0057a44cstr x6, [x3+32]
0057a450adrp x27, 0x4d1000
0057a454ldr w5, [x27+3056]
0057a458cbz w5, 0x57a460
0057a45cb 0x57a464
0057a460
0057a460loc_57a460:
0057a460b 0x57a478
0057a464
0057a464loc_57a464:
0057a464bl runtime.gcWriteBarrier2
0057a468str x4, [x25]
0057a46cldr x5, [x3+16]
0057a470str x5, [x25+8]
0057a474b 0x57a478
0057a478
0057a478loc_57a478:
0057a478str x4, [x3+16]
0057a47cldr x3, [sp+120]
0057a480str x3, [sp+72]
0057a484stp xzr, xzr, [sp+56]
0057a488ldr x0, [sp+72]
0057a48cmov x1, xzr
0057a490mov x2, xzr
0057a494ldur x29, [sp-8]
0057a498ldr x30, [sp], 192
0057a49cret x30
0057a4a0
0057a4a0loc_57a4a0:
0057a4a0mov x0, xzr
0057a4a4bl runtime.panicIndex
0057a4a8hint
0057a4ac
0057a4acloc_57a4ac:
0057a4acstp x0, x1, [sp+8]
0057a4b0stp x2, x3, [sp+24]
0057a4b4str x4, [sp+40]
0057a4b8mov x3, x30
0057a4bcbl runtime.morestack_noctxt.abi0
0057a4c0ldp x0, x1, [sp+8]
0057a4c4ldp x2, x3, [sp+24]
0057a4c8ldr x4, [sp+40]
0057a4ccb 0x57a260
0057a260
0057a260crypto/internal/fips140/ecdh.NewPublicKey[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdh.NewPublicKey[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[2] * dict, crypto/internal/fips140/ecdh.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, struct []uint8 key)
0057a260ldr x16, [x28+16]
0057a264sub x17, sp, 64
0057a268subs xzr, x17, x16
0057a26cb.ls 0x57a4ac
0057a270str x30, [sp-192]!
0057a274stur x29, [sp-8]
0057a278sub x29, sp, 8
0057a27cstr x0, [sp+200]
0057a280str x1, [sp+208]
0057a284str x2, [sp+216]
0057a288str x3, [sp+224]
0057a28cstr x4, [sp+232]
0057a290str xzr, [sp+72]
0057a294stp xzr, xzr, [sp+56]
0057a298ldr x2, [sp+224]
0057a29cstr x2, [sp+48]
0057a2a0subs xzr, x2, 0
0057a2a4cset x3, eq
0057a2a8strb w3, [sp+47]
0057a2accbz x2, 0x57a2b4
0057a2b0b 0x57a2b8
0057a2b4
0057a2b4loc_57a2b4:
0057a2b4b 0x57a2e0
0057a2b8
0057a2b8loc_57a2b8:
0057a2b8ldr x1, [sp+224]
0057a2bcldr x2, [sp+216]
0057a2c0subs xzr, x1, 0
0057a2c4b.hi 0x57a2cc
0057a2c8b 0x57a4a0
0057a2cc
0057a2ccloc_57a2cc:
0057a2ccldrb w2, [x2]
0057a2d0subs wzr, w2, 4
0057a2d4cset x2, ne
0057a2d8strb w2, [sp+47]
0057a2dcb 0x57a2e0
0057a2e0
0057a2e0loc_57a2e0:
0057a2e0ldrb w2, [sp+47]
0057a2e4tbnz w2, 0, 0x57a2ec
0057a2e8b 0x57a328
0057a2ec
0057a2ecloc_57a2ec:
0057a2ecadrp x0, 0x144000
0057a2f0add x0, x0, 444
0057a2f4orr x1, xzr, 31
0057a2f8bl errors.New
0057a2fcstr x0, [sp+168]
0057a300str x1, [sp+176]
0057a304str xzr, [sp+72]
0057a308ldr x1, [sp+168]
0057a30cldr x2, [sp+176]
0057a310str x1, [sp+56]
0057a314str x2, [sp+64]
0057a318ldr x0, [sp+72]
0057a31cldur x29, [sp-8]
0057a320ldr x30, [sp], 192
0057a324ret x30
0057a328
0057a328loc_57a328:
0057a328ldr x0, [sp+208]
0057a32cldrsb x27, [x0]
0057a330ldr x26, [x0+16]
0057a334ldr x0, [x26]
0057a338blr x0
0057a33cstr x0, [sp+160]
0057a340str xzr, [sp+152]
0057a344stp xzr, xzr, [sp+168]
0057a348ldr x26, [sp+200]
0057a34cldrsb x27, [x26]
0057a350ldr x0, [x26]
0057a354ldr x1, [sp+216]
0057a358ldr x2, [sp+224]
0057a35cldr x3, [sp+232]
0057a360ldr x4, [sp+160]
0057a364mov x5, x0
0057a368mov x0, x4
0057a36cblr x5
0057a370str x0, [sp+152]
0057a374str x1, [sp+168]
0057a378str x2, [sp+176]
0057a37cldr x0, [sp+152]
0057a380str x0, [sp+112]
0057a384ldr x0, [sp+176]
0057a388ldr x1, [sp+168]
0057a38cstr x1, [sp+96]
0057a390str x0, [sp+104]
0057a394str x1, [sp+80]
0057a398str x0, [sp+88]
0057a39ccbnz x1, 0x57a3a4
0057a3a0b 0x57a3c8
0057a3a4
0057a3a4loc_57a3a4:
0057a3a4str xzr, [sp+72]
0057a3a8ldr x1, [sp+80]
0057a3acldr x2, [sp+88]
0057a3b0str x1, [sp+56]
0057a3b4str x2, [sp+64]
0057a3b8ldr x0, [sp+72]
0057a3bcldur x29, [sp-8]
0057a3c0ldr x30, [sp], 192
0057a3c4ret x30
0057a3c8
0057a3c8loc_57a3c8:
0057a3c8ldr x0, [sp+216]
0057a3ccldr x1, [sp+224]
0057a3d0ldr x2, [sp+232]
0057a3d4bl bytes.Clone
0057a3d8str x0, [sp+128]
0057a3dcstr x1, [sp+136]
0057a3e0str x2, [sp+144]
0057a3e4adrp x0, 0xce000
0057a3e8add x0, x0, 736
0057a3ecbl runtime.newobject
0057a3f0str x0, [sp+120]
0057a3f4ldr x3, [sp+208]
0057a3f8ldrsb x27, [x3]
0057a3fcldr x4, [x3]
0057a400ldr x3, [x3+8]
0057a404str x3, [x0+8]
0057a408adrp x27, 0x4d1000
0057a40cldr w3, [x27+3056]
0057a410cbz w3, 0x57a418
0057a414b 0x57a41c
0057a418
0057a418loc_57a418:
0057a418b 0x57a430
0057a41c
0057a41cloc_57a41c:
0057a41cbl runtime.gcWriteBarrier2
0057a420str x4, [x25]
0057a424ldr x3, [x0]
0057a428str x3, [x25+8]
0057a42cb 0x57a430
0057a430
0057a430loc_57a430:
0057a430str x4, [x0]
0057a434ldr x3, [sp+120]
0057a438ldrsb x27, [x3]
0057a43cldr x4, [sp+128]
0057a440ldr x5, [sp+136]
0057a444ldr x6, [sp+144]
0057a448str x5, [x3+24]
0057a44cstr x6, [x3+32]
0057a450adrp x27, 0x4d1000
0057a454ldr w5, [x27+3056]
0057a458cbz w5, 0x57a460
0057a45cb 0x57a464
0057a460
0057a460loc_57a460:
0057a460b 0x57a478
0057a464
0057a464loc_57a464:
0057a464bl runtime.gcWriteBarrier2
0057a468str x4, [x25]
0057a46cldr x5, [x3+16]
0057a470str x5, [x25+8]
0057a474b 0x57a478
0057a478
0057a478loc_57a478:
0057a478str x4, [x3+16]
0057a47cldr x3, [sp+120]
0057a480str x3, [sp+72]
0057a484stp xzr, xzr, [sp+56]
0057a488ldr x0, [sp+72]
0057a48cmov x1, xzr
0057a490mov x2, xzr
0057a494ldur x29, [sp-8]
0057a498ldr x30, [sp], 192
0057a49cret x30
0057a4a0
0057a4a0loc_57a4a0:
0057a4a0mov x0, xzr
0057a4a4bl runtime.panicIndex
0057a4a8hint
0057a4ac
0057a4acloc_57a4ac:
0057a4acstp x0, x1, [sp+8]
0057a4b0stp x2, x3, [sp+24]
0057a4b4str x4, [sp+40]
0057a4b8mov x3, x30
0057a4bcbl runtime.morestack_noctxt.abi0
0057a4c0ldp x0, x1, [sp+8]
0057a4c4ldp x2, x3, [sp+24]
0057a4c8ldr x4, [sp+40]
0057a4ccb 0x57a260
0057a260
0057a4d0
0057a4d0crypto/internal/fips140/ecdh.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdh.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[4] * dict, crypto/internal/fips140/ecdh.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, struct []uint8 key)
0057a4d0ldr x16, [x28+16]
0057a4d4sub x17, sp, 272
0057a4d8subs xzr, x17, x16
0057a4dcb.ls 0x57a984
0057a4e0sub x20, sp, 400
0057a4e4stp x29, x30, [x20-8]
0057a4e8add sp, x20, 0
0057a4ecsub x29, sp, 8
0057a4f0str x0, [sp+408]
0057a4f4str x1, [sp+416]
0057a4f8str x2, [sp+424]
0057a4fcstr x3, [sp+432]
0057a500str x4, [sp+440]
0057a504str xzr, [sp+96]
0057a508stp xzr, xzr, [sp+80]
0057a50cldr x6, [sp+432]
0057a510str x6, [sp+72]
0057a514ldr x7, [sp+416]
0057a518ldrsb x27, [x7]
0057a51cldr x7, [x7+32]
0057a520str x7, [sp+64]
0057a524subs xzr, x6, x7
0057a528cset x6, ne
0057a52cstrb w6, [sp+62]
0057a530b.ne 0x57a538
0057a534b 0x57a53c
0057a538
0057a538loc_57a538:
0057a538b 0x57a558
0057a53c
0057a53cloc_57a53c:
0057a53cldr x0, [sp+424]
0057a540ldr x1, [sp+432]
0057a544ldr x2, [sp+440]
0057a548bl crypto/internal/fips140/ecdh.isZero
0057a54cstrb w0, [sp+61]
0057a550strb w0, [sp+62]
0057a554b 0x57a558
0057a558
0057a558loc_57a558:
0057a558ldrb w6, [sp+62]
0057a55cstrb w6, [sp+63]
0057a560tbnz w6, 0, 0x57a568
0057a564b 0x57a56c
0057a568
0057a568loc_57a568:
0057a568b 0x57a5ac
0057a56c
0057a56cloc_57a56c:
0057a56cldr x6, [sp+416]
0057a570ldrsb x27, [x6]
0057a574ldr x3, [x6+24]
0057a578ldr x4, [x6+32]
0057a57cldr x5, [x6+40]
0057a580str x3, [sp+240]
0057a584str x4, [sp+248]
0057a588str x5, [sp+256]
0057a58cldr x0, [sp+424]
0057a590ldr x1, [sp+432]
0057a594ldr x2, [sp+440]
0057a598bl crypto/internal/fips140/ecdh.isLess
0057a59cstrb w0, [sp+61]
0057a5a0eor x6, x0, 1
0057a5a4strb w6, [sp+63]
0057a5a8b 0x57a5ac
0057a5ac
0057a5acloc_57a5ac:
0057a5acldrb w2, [sp+63]
0057a5b0tbnz w2, 0, 0x57a5b8
0057a5b4b 0x57a5f4
0057a5b8
0057a5b8loc_57a5b8:
0057a5b8adrp x0, 0x144000
0057a5bcadd x0, x0, 3504
0057a5c0orr x1, xzr, 32
0057a5c4bl errors.New
0057a5c8str x0, [sp+376]
0057a5ccstr x1, [sp+384]
0057a5d0str xzr, [sp+96]
0057a5d4ldr x1, [sp+376]
0057a5d8ldr x2, [sp+384]
0057a5dcstr x1, [sp+80]
0057a5e0str x2, [sp+88]
0057a5e4ldr x0, [sp+96]
0057a5e8ldp x29, x30, [sp-8]
0057a5ecadd sp, sp, 400
0057a5f0ret x30
0057a5f4
0057a5f4loc_57a5f4:
0057a5f4ldr x0, [sp+416]
0057a5f8ldrsb x27, [x0]
0057a5fcldr x26, [x0+16]
0057a600ldr x0, [x26]
0057a604blr x0
0057a608str x0, [sp+368]
0057a60cstr xzr, [sp+360]
0057a610stp xzr, xzr, [sp+376]
0057a614ldr x26, [sp+408]
0057a618ldrsb x27, [x26]
0057a61cldr x0, [x26]
0057a620ldr x1, [sp+424]
0057a624ldr x2, [sp+432]
0057a628ldr x3, [sp+440]
0057a62cldr x4, [sp+368]
0057a630mov x5, x0
0057a634mov x0, x4
0057a638blr x5
0057a63cstr x0, [sp+360]
0057a640str x1, [sp+376]
0057a644str x2, [sp+384]
0057a648ldr x0, [sp+360]
0057a64cstr x0, [sp+192]
0057a650ldr x0, [sp+376]
0057a654ldr x1, [sp+384]
0057a658str x0, [sp+176]
0057a65cstr x1, [sp+184]
0057a660ldr x0, [sp+192]
0057a664str x0, [sp+128]
0057a668ldr x0, [sp+184]
0057a66cldr x1, [sp+176]
0057a670str x1, [sp+160]
0057a674str x0, [sp+168]
0057a678cbnz x1, 0x57a96c
0057a67cb 0x57a680
0057a680
0057a680loc_57a680:
0057a680ldr x1, [sp+408]
0057a684ldrsb x27, [x1]
0057a688add x26, x1, 8
0057a68cldr x0, [sp+128]
0057a690ldr x1, [x1+8]
0057a694blr x1
0057a698str x0, [sp+104]
0057a69cstr x1, [sp+112]
0057a6a0str x2, [sp+120]
0057a6a4str x1, [sp+64]
0057a6a8subs xzr, x1, 1
0057a6acb.eq 0x57a958
0057a6b0b 0x57a6b4
0057a6b4
0057a6b4loc_57a6b4:
0057a6b4stp xzr, xzr, [sp+288]
0057a6b8stp xzr, xzr, [sp+304]
0057a6bcstp xzr, xzr, [sp+320]
0057a6c0stp xzr, xzr, [sp+336]
0057a6c4str xzr, [sp+352]
0057a6c8add x3, sp, 288
0057a6ccstr x3, [sp+232]
0057a6d0ldrsb x27, [x3]
0057a6d4adrp x4, 0
0057a6d8add x4, x4, 2480
0057a6dcstr x4, [x3]
0057a6e0ldrsb x27, [x3]
0057a6e4ldr x4, [sp+416]
0057a6e8adrp x27, 0x4d1000
0057a6ecldr w5, [x27+3056]
0057a6f0cbz w5, 0x57a6f8
0057a6f4b 0x57a6fc
0057a6f8
0057a6f8loc_57a6f8:
0057a6f8b 0x57a710
0057a6fc
0057a6fcloc_57a6fc:
0057a6fcbl runtime.gcWriteBarrier2
0057a700str x4, [x25]
0057a704ldr x5, [x3+8]
0057a708str x5, [x25+8]
0057a70cb 0x57a710
0057a710
0057a710loc_57a710:
0057a710str x4, [x3+8]
0057a714ldrsb x27, [x3]
0057a718ldr x4, [sp+424]
0057a71cldr x5, [sp+432]
0057a720ldr x6, [sp+440]
0057a724str x5, [x3+24]
0057a728str x6, [x3+32]
0057a72cadrp x27, 0x4d1000
0057a730ldr w5, [x27+3056]
0057a734cbz w5, 0x57a73c
0057a738b 0x57a740
0057a73c
0057a73cloc_57a73c:
0057a73cb 0x57a754
0057a740
0057a740loc_57a740:
0057a740bl runtime.gcWriteBarrier2
0057a744str x4, [x25]
0057a748ldr x5, [x3+16]
0057a74cstr x5, [x25+8]
0057a750b 0x57a754
0057a754
0057a754loc_57a754:
0057a754str x4, [x3+16]
0057a758ldr x3, [sp+104]
0057a75cldr x4, [sp+112]
0057a760ldr x5, [sp+120]
0057a764ldr x6, [sp+232]
0057a768ldrsb x27, [x6]
0057a76cstr x4, [x6+48]
0057a770str x5, [x6+56]
0057a774adrp x27, 0x4d1000
0057a778ldr w4, [x27+3056]
0057a77ccbz w4, 0x57a784
0057a780b 0x57a788
0057a784
0057a784loc_57a784:
0057a784b 0x57a79c
0057a788
0057a788loc_57a788:
0057a788bl runtime.gcWriteBarrier2
0057a78cstr x3, [x25]
0057a790ldr x4, [x6+40]
0057a794str x4, [x25+8]
0057a798b 0x57a79c
0057a79c
0057a79cloc_57a79c:
0057a79cstr x3, [x6+40]
0057a7a0ldr x3, [sp+408]
0057a7a4ldr x4, [sp+232]
0057a7a8ldrsb x27, [x4]
0057a7acadrp x27, 0x4d1000
0057a7b0ldr w5, [x27+3056]
0057a7b4cbz w5, 0x57a7bc
0057a7b8b 0x57a7c0
0057a7bc
0057a7bcloc_57a7bc:
0057a7bcb 0x57a7d4
0057a7c0
0057a7c0loc_57a7c0:
0057a7c0bl runtime.gcWriteBarrier2
0057a7c4str x3, [x25]
0057a7c8ldr x5, [x4+64]
0057a7ccstr x5, [x25+8]
0057a7d0b 0x57a7d4
0057a7d4
0057a7d4loc_57a7d4:
0057a7d4str x3, [x4+64]
0057a7d8ldr x2, [sp+232]
0057a7dcadrp x0, 0x137000
0057a7e0add x0, x0, 2052
0057a7e4orr x1, xzr, 8
0057a7e8bl crypto/internal/fips140.PCT
0057a7ecstr x0, [sp+144]
0057a7f0str x1, [sp+152]
0057a7f4cbnz x0, 0x57a920
0057a7f8b 0x57a7fc
0057a7fc
0057a7fcloc_57a7fc:
0057a7fcldr x0, [sp+424]
0057a800ldr x1, [sp+432]
0057a804ldr x2, [sp+440]
0057a808bl bytes.Clone
0057a80cstr x0, [sp+264]
0057a810str x1, [sp+272]
0057a814str x2, [sp+280]
0057a818adrp x0, 0xce000
0057a81cadd x0, x0, 896
0057a820bl runtime.newobject
0057a824str x0, [sp+200]
0057a828ldr x3, [sp+264]
0057a82cldr x4, [sp+272]
0057a830ldr x5, [sp+280]
0057a834str x4, [x0+48]
0057a838str x5, [x0+56]
0057a83cadrp x27, 0x4d1000
0057a840ldr w4, [x27+3056]
0057a844cbz w4, 0x57a84c
0057a848b 0x57a850
0057a84c
0057a84cloc_57a84c:
0057a84cb 0x57a864
0057a850
0057a850loc_57a850:
0057a850bl runtime.gcWriteBarrier2
0057a854str x3, [x25]
0057a858ldr x4, [x0+40]
0057a85cstr x4, [x25+8]
0057a860b 0x57a864
0057a864
0057a864loc_57a864:
0057a864str x3, [x0+40]
0057a868ldr x3, [sp+200]
0057a86cldrsb x27, [x3]
0057a870ldr x4, [sp+416]
0057a874ldrsb x27, [x4]
0057a878ldr x5, [x4]
0057a87cldr x4, [x4+8]
0057a880str x4, [x3+8]
0057a884adrp x27, 0x4d1000
0057a888ldr w4, [x27+3056]
0057a88ccbz w4, 0x57a894
0057a890b 0x57a898
0057a894
0057a894loc_57a894:
0057a894b 0x57a8ac
0057a898
0057a898loc_57a898:
0057a898bl runtime.gcWriteBarrier2
0057a89cstr x5, [x25]
0057a8a0ldr x4, [x3]
0057a8a4str x4, [x25+8]
0057a8a8b 0x57a8ac
0057a8ac
0057a8acloc_57a8ac:
0057a8acstr x5, [x3]
0057a8b0ldr x3, [sp+200]
0057a8b4ldrsb x27, [x3]
0057a8b8ldr x4, [sp+104]
0057a8bcldr x5, [sp+112]
0057a8c0ldr x6, [sp+120]
0057a8c4str x5, [x3+24]
0057a8c8str x6, [x3+32]
0057a8ccadrp x27, 0x4d1000
0057a8d0ldr w5, [x27+3056]
0057a8d4cbz w5, 0x57a8dc
0057a8d8b 0x57a8e0
0057a8dc
0057a8dcloc_57a8dc:
0057a8dcb 0x57a8f4
0057a8e0
0057a8e0loc_57a8e0:
0057a8e0bl runtime.gcWriteBarrier2
0057a8e4str x4, [x25]
0057a8e8ldr x5, [x3+16]
0057a8ecstr x5, [x25+8]
0057a8f0b 0x57a8f4
0057a8f4
0057a8f4loc_57a8f4:
0057a8f4str x4, [x3+16]
0057a8f8ldr x3, [sp+200]
0057a8fcstr x3, [sp+136]
0057a900str x3, [sp+96]
0057a904stp xzr, xzr, [sp+80]
0057a908ldr x0, [sp+96]
0057a90cmov x1, xzr
0057a910mov x2, xzr
0057a914ldp x29, x30, [sp-8]
0057a918add sp, sp, 400
0057a91cret x30
0057a920
0057a920loc_57a920:
0057a920str x0, [sp+216]
0057a924str x1, [sp+224]
0057a928str x0, [sp+208]
0057a92cldr x2, [sp+208]
0057a930cbnz x2, 0x57a938
0057a934b 0x57a954
0057a938
0057a938loc_57a938:
0057a938ldr x2, [sp+208]
0057a93cldr x2, [x2+8]
0057a940str x2, [sp+208]
0057a944b 0x57a948
0057a948
0057a948loc_57a948:
0057a948ldr x0, [sp+208]
0057a94cldr x1, [sp+224]
0057a950bl runtime.gopanic
0057a954
0057a954loc_57a954:
0057a954b 0x57a948
0057a958
0057a958loc_57a958:
0057a958adrp x0, 0x7b000
0057a95cadd x0, x0, 2944
0057a960adrp x1, 0x198000
0057a964add x1, x1, 2720
0057a968bl runtime.gopanic
0057a96c
0057a96cloc_57a96c:
0057a96cadrp x0, 0x7b000
0057a970add x0, x0, 2944
0057a974adrp x1, 0x198000
0057a978add x1, x1, 2704
0057a97cbl runtime.gopanic
0057a980hint
0057a984
0057a984loc_57a984:
0057a984stp x0, x1, [sp+8]
0057a988stp x2, x3, [sp+24]
0057a98cstr x4, [sp+40]
0057a990mov x3, x30
0057a994bl runtime.morestack_noctxt.abi0
0057a998ldp x0, x1, [sp+8]
0057a99cldp x2, x3, [sp+24]
0057a9a0ldr x4, [sp+40]
0057a9a4b 0x57a4d0
0057a9a8udf 0
0057a9acudf 0
0057a4d0
0057a4d0crypto/internal/fips140/ecdh.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdh.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[4] * dict, crypto/internal/fips140/ecdh.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, struct []uint8 key)
0057a4d0ldr x16, [x28+16]
0057a4d4sub x17, sp, 272
0057a4d8subs xzr, x17, x16
0057a4dcb.ls 0x57a984
0057a4e0sub x20, sp, 400
0057a4e4stp x29, x30, [x20-8]
0057a4e8add sp, x20, 0
0057a4ecsub x29, sp, 8
0057a4f0str x0, [sp+408]
0057a4f4str x1, [sp+416]
0057a4f8str x2, [sp+424]
0057a4fcstr x3, [sp+432]
0057a500str x4, [sp+440]
0057a504str xzr, [sp+96]
0057a508stp xzr, xzr, [sp+80]
0057a50cldr x6, [sp+432]
0057a510str x6, [sp+72]
0057a514ldr x7, [sp+416]
0057a518ldrsb x27, [x7]
0057a51cldr x7, [x7+32]
0057a520str x7, [sp+64]
0057a524subs xzr, x6, x7
0057a528cset x6, ne
0057a52cstrb w6, [sp+62]
0057a530b.ne 0x57a538
0057a534b 0x57a53c
0057a538
0057a538loc_57a538:
0057a538b 0x57a558
0057a53c
0057a53cloc_57a53c:
0057a53cldr x0, [sp+424]
0057a540ldr x1, [sp+432]
0057a544ldr x2, [sp+440]
0057a548bl crypto/internal/fips140/ecdh.isZero
0057a54cstrb w0, [sp+61]
0057a550strb w0, [sp+62]
0057a554b 0x57a558
0057a558
0057a558loc_57a558:
0057a558ldrb w6, [sp+62]
0057a55cstrb w6, [sp+63]
0057a560tbnz w6, 0, 0x57a568
0057a564b 0x57a56c
0057a568
0057a568loc_57a568:
0057a568b 0x57a5ac
0057a56c
0057a56cloc_57a56c:
0057a56cldr x6, [sp+416]
0057a570ldrsb x27, [x6]
0057a574ldr x3, [x6+24]
0057a578ldr x4, [x6+32]
0057a57cldr x5, [x6+40]
0057a580str x3, [sp+240]
0057a584str x4, [sp+248]
0057a588str x5, [sp+256]
0057a58cldr x0, [sp+424]
0057a590ldr x1, [sp+432]
0057a594ldr x2, [sp+440]
0057a598bl crypto/internal/fips140/ecdh.isLess
0057a59cstrb w0, [sp+61]
0057a5a0eor x6, x0, 1
0057a5a4strb w6, [sp+63]
0057a5a8b 0x57a5ac
0057a5ac
0057a5acloc_57a5ac:
0057a5acldrb w2, [sp+63]
0057a5b0tbnz w2, 0, 0x57a5b8
0057a5b4b 0x57a5f4
0057a5b8
0057a5b8loc_57a5b8:
0057a5b8adrp x0, 0x144000
0057a5bcadd x0, x0, 3504
0057a5c0orr x1, xzr, 32
0057a5c4bl errors.New
0057a5c8str x0, [sp+376]
0057a5ccstr x1, [sp+384]
0057a5d0str xzr, [sp+96]
0057a5d4ldr x1, [sp+376]
0057a5d8ldr x2, [sp+384]
0057a5dcstr x1, [sp+80]
0057a5e0str x2, [sp+88]
0057a5e4ldr x0, [sp+96]
0057a5e8ldp x29, x30, [sp-8]
0057a5ecadd sp, sp, 400
0057a5f0ret x30
0057a5f4
0057a5f4loc_57a5f4:
0057a5f4ldr x0, [sp+416]
0057a5f8ldrsb x27, [x0]
0057a5fcldr x26, [x0+16]
0057a600ldr x0, [x26]
0057a604blr x0
0057a608str x0, [sp+368]
0057a60cstr xzr, [sp+360]
0057a610stp xzr, xzr, [sp+376]
0057a614ldr x26, [sp+408]
0057a618ldrsb x27, [x26]
0057a61cldr x0, [x26]
0057a620ldr x1, [sp+424]
0057a624ldr x2, [sp+432]
0057a628ldr x3, [sp+440]
0057a62cldr x4, [sp+368]
0057a630mov x5, x0
0057a634mov x0, x4
0057a638blr x5
0057a63cstr x0, [sp+360]
0057a640str x1, [sp+376]
0057a644str x2, [sp+384]
0057a648ldr x0, [sp+360]
0057a64cstr x0, [sp+192]
0057a650ldr x0, [sp+376]
0057a654ldr x1, [sp+384]
0057a658str x0, [sp+176]
0057a65cstr x1, [sp+184]
0057a660ldr x0, [sp+192]
0057a664str x0, [sp+128]
0057a668ldr x0, [sp+184]
0057a66cldr x1, [sp+176]
0057a670str x1, [sp+160]
0057a674str x0, [sp+168]
0057a678cbnz x1, 0x57a96c
0057a67cb 0x57a680
0057a680
0057a680loc_57a680:
0057a680ldr x1, [sp+408]
0057a684ldrsb x27, [x1]
0057a688add x26, x1, 8
0057a68cldr x0, [sp+128]
0057a690ldr x1, [x1+8]
0057a694blr x1
0057a698str x0, [sp+104]
0057a69cstr x1, [sp+112]
0057a6a0str x2, [sp+120]
0057a6a4str x1, [sp+64]
0057a6a8subs xzr, x1, 1
0057a6acb.eq 0x57a958
0057a6b0b 0x57a6b4
0057a6b4
0057a6b4loc_57a6b4:
0057a6b4stp xzr, xzr, [sp+288]
0057a6b8stp xzr, xzr, [sp+304]
0057a6bcstp xzr, xzr, [sp+320]
0057a6c0stp xzr, xzr, [sp+336]
0057a6c4str xzr, [sp+352]
0057a6c8add x3, sp, 288
0057a6ccstr x3, [sp+232]
0057a6d0ldrsb x27, [x3]
0057a6d4adrp x4, 0
0057a6d8add x4, x4, 2480
0057a6dcstr x4, [x3]
0057a6e0ldrsb x27, [x3]
0057a6e4ldr x4, [sp+416]
0057a6e8adrp x27, 0x4d1000
0057a6ecldr w5, [x27+3056]
0057a6f0cbz w5, 0x57a6f8
0057a6f4b 0x57a6fc
0057a6f8
0057a6f8loc_57a6f8:
0057a6f8b 0x57a710
0057a6fc
0057a6fcloc_57a6fc:
0057a6fcbl runtime.gcWriteBarrier2
0057a700str x4, [x25]
0057a704ldr x5, [x3+8]
0057a708str x5, [x25+8]
0057a70cb 0x57a710
0057a710
0057a710loc_57a710:
0057a710str x4, [x3+8]
0057a714ldrsb x27, [x3]
0057a718ldr x4, [sp+424]
0057a71cldr x5, [sp+432]
0057a720ldr x6, [sp+440]
0057a724str x5, [x3+24]
0057a728str x6, [x3+32]
0057a72cadrp x27, 0x4d1000
0057a730ldr w5, [x27+3056]
0057a734cbz w5, 0x57a73c
0057a738b 0x57a740
0057a73c
0057a73cloc_57a73c:
0057a73cb 0x57a754
0057a740
0057a740loc_57a740:
0057a740bl runtime.gcWriteBarrier2
0057a744str x4, [x25]
0057a748ldr x5, [x3+16]
0057a74cstr x5, [x25+8]
0057a750b 0x57a754
0057a754
0057a754loc_57a754:
0057a754str x4, [x3+16]
0057a758ldr x3, [sp+104]
0057a75cldr x4, [sp+112]
0057a760ldr x5, [sp+120]
0057a764ldr x6, [sp+232]
0057a768ldrsb x27, [x6]
0057a76cstr x4, [x6+48]
0057a770str x5, [x6+56]
0057a774adrp x27, 0x4d1000
0057a778ldr w4, [x27+3056]
0057a77ccbz w4, 0x57a784
0057a780b 0x57a788
0057a784
0057a784loc_57a784:
0057a784b 0x57a79c
0057a788
0057a788loc_57a788:
0057a788bl runtime.gcWriteBarrier2
0057a78cstr x3, [x25]
0057a790ldr x4, [x6+40]
0057a794str x4, [x25+8]
0057a798b 0x57a79c
0057a79c
0057a79cloc_57a79c:
0057a79cstr x3, [x6+40]
0057a7a0ldr x3, [sp+408]
0057a7a4ldr x4, [sp+232]
0057a7a8ldrsb x27, [x4]
0057a7acadrp x27, 0x4d1000
0057a7b0ldr w5, [x27+3056]
0057a7b4cbz w5, 0x57a7bc
0057a7b8b 0x57a7c0
0057a7bc
0057a7bcloc_57a7bc:
0057a7bcb 0x57a7d4
0057a7c0
0057a7c0loc_57a7c0:
0057a7c0bl runtime.gcWriteBarrier2
0057a7c4str x3, [x25]
0057a7c8ldr x5, [x4+64]
0057a7ccstr x5, [x25+8]
0057a7d0b 0x57a7d4
0057a7d4
0057a7d4loc_57a7d4:
0057a7d4str x3, [x4+64]
0057a7d8ldr x2, [sp+232]
0057a7dcadrp x0, 0x137000
0057a7e0add x0, x0, 2052
0057a7e4orr x1, xzr, 8
0057a7e8bl crypto/internal/fips140.PCT
0057a7ecstr x0, [sp+144]
0057a7f0str x1, [sp+152]
0057a7f4cbnz x0, 0x57a920
0057a7f8b 0x57a7fc
0057a7fc
0057a7fcloc_57a7fc:
0057a7fcldr x0, [sp+424]
0057a800ldr x1, [sp+432]
0057a804ldr x2, [sp+440]
0057a808bl bytes.Clone
0057a80cstr x0, [sp+264]
0057a810str x1, [sp+272]
0057a814str x2, [sp+280]
0057a818adrp x0, 0xce000
0057a81cadd x0, x0, 896
0057a820bl runtime.newobject
0057a824str x0, [sp+200]
0057a828ldr x3, [sp+264]
0057a82cldr x4, [sp+272]
0057a830ldr x5, [sp+280]
0057a834str x4, [x0+48]
0057a838str x5, [x0+56]
0057a83cadrp x27, 0x4d1000
0057a840ldr w4, [x27+3056]
0057a844cbz w4, 0x57a84c
0057a848b 0x57a850
0057a84c
0057a84cloc_57a84c:
0057a84cb 0x57a864
0057a850
0057a850loc_57a850:
0057a850bl runtime.gcWriteBarrier2
0057a854str x3, [x25]
0057a858ldr x4, [x0+40]
0057a85cstr x4, [x25+8]
0057a860b 0x57a864
0057a864
0057a864loc_57a864:
0057a864str x3, [x0+40]
0057a868ldr x3, [sp+200]
0057a86cldrsb x27, [x3]
0057a870ldr x4, [sp+416]
0057a874ldrsb x27, [x4]
0057a878ldr x5, [x4]
0057a87cldr x4, [x4+8]
0057a880str x4, [x3+8]
0057a884adrp x27, 0x4d1000
0057a888ldr w4, [x27+3056]
0057a88ccbz w4, 0x57a894
0057a890b 0x57a898
0057a894
0057a894loc_57a894:
0057a894b 0x57a8ac
0057a898
0057a898loc_57a898:
0057a898bl runtime.gcWriteBarrier2
0057a89cstr x5, [x25]
0057a8a0ldr x4, [x3]
0057a8a4str x4, [x25+8]
0057a8a8b 0x57a8ac
0057a8ac
0057a8acloc_57a8ac:
0057a8acstr x5, [x3]
0057a8b0ldr x3, [sp+200]
0057a8b4ldrsb x27, [x3]
0057a8b8ldr x4, [sp+104]
0057a8bcldr x5, [sp+112]
0057a8c0ldr x6, [sp+120]
0057a8c4str x5, [x3+24]
0057a8c8str x6, [x3+32]
0057a8ccadrp x27, 0x4d1000
0057a8d0ldr w5, [x27+3056]
0057a8d4cbz w5, 0x57a8dc
0057a8d8b 0x57a8e0
0057a8dc
0057a8dcloc_57a8dc:
0057a8dcb 0x57a8f4
0057a8e0
0057a8e0loc_57a8e0:
0057a8e0bl runtime.gcWriteBarrier2
0057a8e4str x4, [x25]
0057a8e8ldr x5, [x3+16]
0057a8ecstr x5, [x25+8]
0057a8f0b 0x57a8f4
0057a8f4
0057a8f4loc_57a8f4:
0057a8f4str x4, [x3+16]
0057a8f8ldr x3, [sp+200]
0057a8fcstr x3, [sp+136]
0057a900str x3, [sp+96]
0057a904stp xzr, xzr, [sp+80]
0057a908ldr x0, [sp+96]
0057a90cmov x1, xzr
0057a910mov x2, xzr
0057a914ldp x29, x30, [sp-8]
0057a918add sp, sp, 400
0057a91cret x30
0057a920
0057a920loc_57a920:
0057a920str x0, [sp+216]
0057a924str x1, [sp+224]
0057a928str x0, [sp+208]
0057a92cldr x2, [sp+208]
0057a930cbnz x2, 0x57a938
0057a934b 0x57a954
0057a938
0057a938loc_57a938:
0057a938ldr x2, [sp+208]
0057a93cldr x2, [x2+8]
0057a940str x2, [sp+208]
0057a944b 0x57a948
0057a948
0057a948loc_57a948:
0057a948ldr x0, [sp+208]
0057a94cldr x1, [sp+224]
0057a950bl runtime.gopanic
0057a954
0057a954loc_57a954:
0057a954b 0x57a948
0057a958
0057a958loc_57a958:
0057a958adrp x0, 0x7b000
0057a95cadd x0, x0, 2944
0057a960adrp x1, 0x198000
0057a964add x1, x1, 2720
0057a968bl runtime.gopanic
0057a96c
0057a96cloc_57a96c:
0057a96cadrp x0, 0x7b000
0057a970add x0, x0, 2944
0057a974adrp x1, 0x198000
0057a978add x1, x1, 2704
0057a97cbl runtime.gopanic
0057a980hint
0057a984
0057a984loc_57a984:
0057a984stp x0, x1, [sp+8]
0057a988stp x2, x3, [sp+24]
0057a98cstr x4, [sp+40]
0057a990mov x3, x30
0057a994bl runtime.morestack_noctxt.abi0
0057a998ldp x0, x1, [sp+8]
0057a99cldp x2, x3, [sp+24]
0057a9a0ldr x4, [sp+40]
0057a9a4b 0x57a4d0
0057a9a8udf 0
0057a9acudf 0
0057a4d0
0057a9b0
0057a9b0crypto/internal/fips140/ecdh.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P521Point].func1: ; void crypto/internal/fips140/ecdh.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P521Point].func1(void)
0057a9b0ldr x16, [x28+16]
0057a9b4sub x17, sp, 128
0057a9b8subs xzr, x17, x16
0057a9bcb.ls 0x57ab38
0057a9c0sub x20, sp, 256
0057a9c4stp x29, x30, [x20-8]
0057a9c8add sp, x20, 0
0057a9ccsub x29, sp, 8
0057a9d0ldr x0, [x26+8]
0057a9d4str x0, [sp+152]
0057a9d8ldr x0, [x26+16]
0057a9dcldr x1, [x26+24]
0057a9e0ldr x2, [x26+32]
0057a9e4str x0, [sp+112]
0057a9e8str x1, [sp+120]
0057a9ecstr x2, [sp+128]
0057a9f0ldr x0, [x26+40]
0057a9f4ldr x1, [x26+48]
0057a9f8ldr x2, [x26+56]
0057a9fcstr x0, [sp+80]
0057aa00str x1, [sp+88]
0057aa04str x2, [sp+96]
0057aa08ldr x0, [x26+64]
0057aa0cstr x0, [sp+160]
0057aa10stp xzr, xzr, [sp+64]
0057aa14ldr x0, [sp+152]
0057aa18ldrsb x27, [x0]
0057aa1cldr x26, [x0+16]
0057aa20ldr x0, [x26]
0057aa24blr x0
0057aa28str x0, [sp+216]
0057aa2cstr xzr, [sp+208]
0057aa30stp xzr, xzr, [sp+192]
0057aa34ldr x26, [sp+160]
0057aa38ldrsb x27, [x26]
0057aa3cldr x0, [x26]
0057aa40ldr x1, [sp+112]
0057aa44ldr x2, [sp+120]
0057aa48ldr x3, [sp+128]
0057aa4cldr x4, [sp+216]
0057aa50mov x5, x0
0057aa54mov x0, x4
0057aa58blr x5
0057aa5cstr x0, [sp+208]
0057aa60str x1, [sp+192]
0057aa64str x2, [sp+200]
0057aa68ldr x0, [sp+208]
0057aa6cstr x0, [sp+240]
0057aa70ldr x0, [sp+192]
0057aa74ldr x1, [sp+200]
0057aa78str x0, [sp+224]
0057aa7cstr x1, [sp+232]
0057aa80ldr x0, [sp+240]
0057aa84str x0, [sp+104]
0057aa88ldr x1, [sp+232]
0057aa8cldr x0, [sp+224]
0057aa90str x0, [sp+136]
0057aa94str x1, [sp+144]
0057aa98cbnz x0, 0x57aaa0
0057aa9cb 0x57aab4
0057aaa0
0057aaa0loc_57aaa0:
0057aaa0str x0, [sp+64]
0057aaa4str x1, [sp+72]
0057aaa8ldp x29, x30, [sp-8]
0057aaacadd sp, sp, 256
0057aab0ret x30
0057aab4
0057aab4loc_57aab4:
0057aab4ldr x1, [sp+160]
0057aab8ldrsb x27, [x1]
0057aabcadd x26, x1, 8
0057aac0ldr x0, [sp+104]
0057aac4ldr x1, [x1+8]
0057aac8blr x1
0057aaccstr x0, [sp+168]
0057aad0str x1, [sp+176]
0057aad4str x2, [sp+184]
0057aad8ldr x3, [sp+80]
0057aadcldr x4, [sp+88]
0057aae0ldr x5, [sp+96]
0057aae4bl bytes.Equal
0057aae8strb w0, [sp+63]
0057aaectbnz w0, 0, 0x57aaf4
0057aaf0b 0x57ab0c
0057aaf4
0057aaf4loc_57aaf4:
0057aaf4stp xzr, xzr, [sp+64]
0057aaf8mov x0, xzr
0057aafcmov x1, xzr
0057ab00ldp x29, x30, [sp-8]
0057ab04add sp, sp, 256
0057ab08ret x30
0057ab0c
0057ab0cloc_57ab0c:
0057ab0cadrp x0, 0x14f000
0057ab10add x0, x0, 1758
0057ab14movz x1, 50
0057ab18bl errors.New
0057ab1cstr x0, [sp+192]
0057ab20str x1, [sp+200]
0057ab24str x0, [sp+64]
0057ab28str x1, [sp+72]
0057ab2cldp x29, x30, [sp-8]
0057ab30add sp, sp, 256
0057ab34ret x30
0057ab38
0057ab38loc_57ab38:
0057ab38mov x3, x30
0057ab3cbl runtime.morestack.abi0
0057ab40b 0x57a9b0
0057ab44udf 0
0057ab48udf 0
0057ab4cudf 0
0057a9b0
0057a9b0crypto/internal/fips140/ecdh.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P521Point].func1: ; void crypto/internal/fips140/ecdh.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P521Point].func1(void)
0057a9b0ldr x16, [x28+16]
0057a9b4sub x17, sp, 128
0057a9b8subs xzr, x17, x16
0057a9bcb.ls 0x57ab38
0057a9c0sub x20, sp, 256
0057a9c4stp x29, x30, [x20-8]
0057a9c8add sp, x20, 0
0057a9ccsub x29, sp, 8
0057a9d0ldr x0, [x26+8]
0057a9d4str x0, [sp+152]
0057a9d8ldr x0, [x26+16]
0057a9dcldr x1, [x26+24]
0057a9e0ldr x2, [x26+32]
0057a9e4str x0, [sp+112]
0057a9e8str x1, [sp+120]
0057a9ecstr x2, [sp+128]
0057a9f0ldr x0, [x26+40]
0057a9f4ldr x1, [x26+48]
0057a9f8ldr x2, [x26+56]
0057a9fcstr x0, [sp+80]
0057aa00str x1, [sp+88]
0057aa04str x2, [sp+96]
0057aa08ldr x0, [x26+64]
0057aa0cstr x0, [sp+160]
0057aa10stp xzr, xzr, [sp+64]
0057aa14ldr x0, [sp+152]
0057aa18ldrsb x27, [x0]
0057aa1cldr x26, [x0+16]
0057aa20ldr x0, [x26]
0057aa24blr x0
0057aa28str x0, [sp+216]
0057aa2cstr xzr, [sp+208]
0057aa30stp xzr, xzr, [sp+192]
0057aa34ldr x26, [sp+160]
0057aa38ldrsb x27, [x26]
0057aa3cldr x0, [x26]
0057aa40ldr x1, [sp+112]
0057aa44ldr x2, [sp+120]
0057aa48ldr x3, [sp+128]
0057aa4cldr x4, [sp+216]
0057aa50mov x5, x0
0057aa54mov x0, x4
0057aa58blr x5
0057aa5cstr x0, [sp+208]
0057aa60str x1, [sp+192]
0057aa64str x2, [sp+200]
0057aa68ldr x0, [sp+208]
0057aa6cstr x0, [sp+240]
0057aa70ldr x0, [sp+192]
0057aa74ldr x1, [sp+200]
0057aa78str x0, [sp+224]
0057aa7cstr x1, [sp+232]
0057aa80ldr x0, [sp+240]
0057aa84str x0, [sp+104]
0057aa88ldr x1, [sp+232]
0057aa8cldr x0, [sp+224]
0057aa90str x0, [sp+136]
0057aa94str x1, [sp+144]
0057aa98cbnz x0, 0x57aaa0
0057aa9cb 0x57aab4
0057aaa0
0057aaa0loc_57aaa0:
0057aaa0str x0, [sp+64]
0057aaa4str x1, [sp+72]
0057aaa8ldp x29, x30, [sp-8]
0057aaacadd sp, sp, 256
0057aab0ret x30
0057aab4
0057aab4loc_57aab4:
0057aab4ldr x1, [sp+160]
0057aab8ldrsb x27, [x1]
0057aabcadd x26, x1, 8
0057aac0ldr x0, [sp+104]
0057aac4ldr x1, [x1+8]
0057aac8blr x1
0057aaccstr x0, [sp+168]
0057aad0str x1, [sp+176]
0057aad4str x2, [sp+184]
0057aad8ldr x3, [sp+80]
0057aadcldr x4, [sp+88]
0057aae0ldr x5, [sp+96]
0057aae4bl bytes.Equal
0057aae8strb w0, [sp+63]
0057aaectbnz w0, 0, 0x57aaf4
0057aaf0b 0x57ab0c
0057aaf4
0057aaf4loc_57aaf4:
0057aaf4stp xzr, xzr, [sp+64]
0057aaf8mov x0, xzr
0057aafcmov x1, xzr
0057ab00ldp x29, x30, [sp-8]
0057ab04add sp, sp, 256
0057ab08ret x30
0057ab0c
0057ab0cloc_57ab0c:
0057ab0cadrp x0, 0x14f000
0057ab10add x0, x0, 1758
0057ab14movz x1, 50
0057ab18bl errors.New
0057ab1cstr x0, [sp+192]
0057ab20str x1, [sp+200]
0057ab24str x0, [sp+64]
0057ab28str x1, [sp+72]
0057ab2cldp x29, x30, [sp-8]
0057ab30add sp, sp, 256
0057ab34ret x30
0057ab38
0057ab38loc_57ab38:
0057ab38mov x3, x30
0057ab3cbl runtime.morestack.abi0
0057ab40b 0x57a9b0
0057ab44udf 0
0057ab48udf 0
0057ab4cudf 0
0057a9b0
0057ab50
0057ab50crypto/internal/fips140/ecdh.GenerateKey[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdh.GenerateKey[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[2] * dict, crypto/internal/fips140/ecdh.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, io.Reader rand)
0057ab50ldr x16, [x28+16]
0057ab54sub x17, sp, 96
0057ab58subs xzr, x17, x16
0057ab5cb.ls 0x57aec0
0057ab60str x30, [sp-224]!
0057ab64stur x29, [sp-8]
0057ab68sub x29, sp, 8
0057ab6cstr x0, [sp+232]
0057ab70str x1, [sp+240]
0057ab74str x2, [sp+248]
0057ab78str x3, [sp+256]
0057ab7cstr xzr, [sp+88]
0057ab80stp xzr, xzr, [sp+72]
0057ab84bl crypto/internal/fips140.RecordApproved
0057ab88b 0x57ab8c
0057ab8c
0057ab8cloc_57ab8c:
0057ab8cb 0x57ab90
0057ab90
0057ab90loc_57ab90:
0057ab90ldr x3, [sp+240]
0057ab94ldrsb x27, [x3]
0057ab98ldr x2, [x3+32]
0057ab9cstr x2, [sp+64]
0057aba0adrp x0, 0x7b000
0057aba4add x0, x0, 3072
0057aba8mov x1, x2
0057abacbl runtime.makeslice
0057abb0ldr x3, [sp+64]
0057abb4ldr x4, [sp+64]
0057abb8str x0, [sp+104]
0057abbcstr x3, [sp+112]
0057abc0str x4, [sp+120]
0057abc4ldr x5, [sp+248]
0057abc8ldr x1, [sp+256]
0057abccmov x2, x0
0057abd0mov x0, x5
0057abd4bl crypto/internal/fips140/drbg.ReadWithReader
0057abd8str x0, [sp+144]
0057abdcstr x1, [sp+152]
0057abe0cbnz x0, 0x57abe8
0057abe4b 0x57ac0c
0057abe8
0057abe8loc_57abe8:
0057abe8str xzr, [sp+88]
0057abecldr x1, [sp+144]
0057abf0ldr x2, [sp+152]
0057abf4str x1, [sp+72]
0057abf8str x2, [sp+80]
0057abfcldr x0, [sp+88]
0057ac00ldur x29, [sp-8]
0057ac04ldr x30, [sp], 224
0057ac08ret x30
0057ac0c
0057ac0cloc_57ac0c:
0057ac0cldr x1, [sp+112]
0057ac10ldr x5, [sp+104]
0057ac14subs xzr, x1, 1
0057ac18b.hi 0x57ac20
0057ac1cb 0x57aeb4
0057ac20
0057ac20loc_57ac20:
0057ac20ldr x1, [sp+112]
0057ac24ldr x6, [sp+104]
0057ac28ldrb w5, [x5+1]
0057ac2cmovz x7, 66
0057ac30eor x5, x5, x7
0057ac34subs xzr, x1, 1
0057ac38b.hi 0x57ac40
0057ac3cb 0x57aeac
0057ac40
0057ac40loc_57ac40:
0057ac40strb w5, [x6+1]
0057ac44ldr x5, [sp+240]
0057ac48ldrsb x27, [x5]
0057ac4cldr x5, [x5+8]
0057ac50subs xzr, x5, 5
0057ac54cset x5, eq
0057ac58b.eq 0x57ac60
0057ac5cb 0x57ad0c
0057ac60
0057ac60loc_57ac60:
0057ac60ldr x5, [sp+240]
0057ac64ldrsb x27, [x5]
0057ac68ldr x1, [x5+8]
0057ac6cldr x5, [x5]
0057ac70subs xzr, x1, 0
0057ac74b.hi 0x57ac7c
0057ac78b 0x57aea4
0057ac7c
0057ac7cloc_57ac7c:
0057ac7cldr x6, [sp+240]
0057ac80ldrsb x27, [x6]
0057ac84ldr x1, [x6+8]
0057ac88ldr x6, [x6]
0057ac8cldrb w5, [x5]
0057ac90subs xzr, x1, 1
0057ac94b.hi 0x57ac9c
0057ac98b 0x57ae9c
0057ac9c
0057ac9cloc_57ac9c:
0057ac9cldr x7, [sp+240]
0057aca0ldrsb x27, [x7]
0057aca4ldr x1, [x7+8]
0057aca8ldr x7, [x7]
0057acacldrb w6, [x6+1]
0057acb0ubfm x6, x6, 56, 7
0057acb4orr x5, x5, x6
0057acb8subs xzr, x1, 2
0057acbcb.hi 0x57acc4
0057acc0b 0x57ae94
0057acc4
0057acc4loc_57acc4:
0057acc4ldr x6, [sp+240]
0057acc8ldrsb x27, [x6]
0057acccldr x1, [x6+8]
0057acd0ldr x6, [x6]
0057acd4ldrb w7, [x7+2]
0057acd8ubfm x7, x7, 48, 7
0057acdcorr x5, x5, x7
0057ace0subs xzr, x1, 3
0057ace4b.hi 0x57acec
0057ace8b 0x57ae8c
0057acec
0057acecloc_57acec:
0057acecldrb w6, [x6+3]
0057acf0ubfm x6, x6, 40, 7
0057acf4orr x6, x5, x6
0057acf8movz x7, 11600
0057acfcmovk x7, 0x32350000
0057ad00subs wzr, w6, w7
0057ad04cset x5, eq
0057ad08b 0x57ad10
0057ad0c
0057ad0cloc_57ad0c:
0057ad0cb 0x57ad10
0057ad10
0057ad10loc_57ad10:
0057ad10tbnz w5, 0, 0x57ad18
0057ad14b 0x57ad44
0057ad18
0057ad18loc_57ad18:
0057ad18ldr x5, [sp+240]
0057ad1cldrsb x27, [x5]
0057ad20ldr x1, [x5+8]
0057ad24ldr x5, [x5]
0057ad28subs xzr, x1, 4
0057ad2cb.hi 0x57ad34
0057ad30b 0x57ae84
0057ad34
0057ad34loc_57ad34:
0057ad34ldrb w6, [x5+4]
0057ad38subs wzr, w6, 49
0057ad3ccset x5, eq
0057ad40b 0x57ad48
0057ad44
0057ad44loc_57ad44:
0057ad44b 0x57ad48
0057ad48
0057ad48loc_57ad48:
0057ad48strb w5, [sp+63]
0057ad4ctbnz w5, 0, 0x57ad54
0057ad50b 0x57ad84
0057ad54
0057ad54loc_57ad54:
0057ad54ldr x5, [sp+240]
0057ad58ldrsb x27, [x5]
0057ad5cldr x1, [x5+32]
0057ad60ldr x5, [x5+24]
0057ad64subs xzr, x1, 0
0057ad68b.hi 0x57ad70
0057ad6cb 0x57ae7c
0057ad70
0057ad70loc_57ad70:
0057ad70ldrb w5, [x5]
0057ad74ands wzr, w5, 254
0057ad78cset x5, eq
0057ad7cstrb w5, [sp+63]
0057ad80b 0x57ad88
0057ad84
0057ad84loc_57ad84:
0057ad84b 0x57ad88
0057ad88
0057ad88loc_57ad88:
0057ad88ldrb w5, [sp+63]
0057ad8ctbnz w5, 0, 0x57ad94
0057ad90b 0x57adcc
0057ad94
0057ad94loc_57ad94:
0057ad94ldr x1, [sp+112]
0057ad98ldr x5, [sp+104]
0057ad9csubs xzr, x1, 0
0057ada0b.hi 0x57ada8
0057ada4b 0x57ae74
0057ada8
0057ada8loc_57ada8:
0057ada8ldr x1, [sp+112]
0057adacldrb w5, [x5]
0057adb0ldr x6, [sp+104]
0057adb4and x5, x5, 1
0057adb8subs xzr, x1, 0
0057adbcb.hi 0x57adc4
0057adc0b 0x57ae6c
0057adc4
0057adc4loc_57adc4:
0057adc4strb w5, [x6]
0057adc8b 0x57add0
0057adcc
0057adccloc_57adcc:
0057adccb 0x57add0
0057add0
0057add0loc_57add0:
0057add0str xzr, [sp+192]
0057add4stp xzr, xzr, [sp+176]
0057add8ldr x5, [sp+232]
0057addcldrsb x27, [x5]
0057ade0ldr x0, [x5]
0057ade4str x0, [sp+168]
0057ade8ldr x2, [sp+104]
0057adecldr x1, [sp+240]
0057adf0ldr x3, [sp+112]
0057adf4ldr x4, [sp+120]
0057adf8bl crypto/internal/fips140/ecdh.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P521Point]
0057adfcstr x0, [sp+192]
0057ae00str x1, [sp+176]
0057ae04str x2, [sp+184]
0057ae08ldr x5, [sp+192]
0057ae0cstr x5, [sp+160]
0057ae10ldr x5, [sp+176]
0057ae14ldr x6, [sp+184]
0057ae18str x5, [sp+200]
0057ae1cstr x6, [sp+208]
0057ae20ldr x5, [sp+160]
0057ae24str x5, [sp+96]
0057ae28ldr x5, [sp+208]
0057ae2cldr x6, [sp+200]
0057ae30str x6, [sp+128]
0057ae34str x5, [sp+136]
0057ae38cbnz x6, 0x57ae40
0057ae3cb 0x57ae48
0057ae40
0057ae40loc_57ae40:
0057ae40b 0x57ae44
0057ae44
0057ae44loc_57ae44:
0057ae44b 0x57ab8c
0057ae48
0057ae48loc_57ae48:
0057ae48ldr x3, [sp+96]
0057ae4cstr x3, [sp+88]
0057ae50stp xzr, xzr, [sp+72]
0057ae54ldr x0, [sp+88]
0057ae58mov x1, xzr
0057ae5cmov x2, xzr
0057ae60ldur x29, [sp-8]
0057ae64ldr x30, [sp], 224
0057ae68ret x30
0057ae6c
0057ae6cloc_57ae6c:
0057ae6cmov x0, xzr
0057ae70bl runtime.panicIndex
0057ae74
0057ae74loc_57ae74:
0057ae74mov x0, xzr
0057ae78bl runtime.panicIndex
0057ae7c
0057ae7cloc_57ae7c:
0057ae7cmov x0, xzr
0057ae80bl runtime.panicIndex
0057ae84
0057ae84loc_57ae84:
0057ae84orr x0, xzr, 4
0057ae88bl runtime.panicIndex
0057ae8c
0057ae8cloc_57ae8c:
0057ae8corr x0, xzr, 3
0057ae90bl runtime.panicIndex
0057ae94
0057ae94loc_57ae94:
0057ae94orr x0, xzr, 2
0057ae98bl runtime.panicIndex
0057ae9c
0057ae9cloc_57ae9c:
0057ae9corr x0, xzr, 1
0057aea0bl runtime.panicIndex
0057aea4
0057aea4loc_57aea4:
0057aea4mov x0, xzr
0057aea8bl runtime.panicIndex
0057aeac
0057aeacloc_57aeac:
0057aeacorr x0, xzr, 1
0057aeb0bl runtime.panicIndex
0057aeb4
0057aeb4loc_57aeb4:
0057aeb4orr x0, xzr, 1
0057aeb8bl runtime.panicIndex
0057aebchint
0057aec0
0057aec0loc_57aec0:
0057aec0stp x0, x1, [sp+8]
0057aec4stp x2, x3, [sp+24]
0057aec8mov x3, x30
0057aeccbl runtime.morestack_noctxt.abi0
0057aed0ldp x0, x1, [sp+8]
0057aed4ldp x2, x3, [sp+24]
0057aed8b 0x57ab50
0057aedcudf 0
0057ab50
0057ab50crypto/internal/fips140/ecdh.GenerateKey[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdh.GenerateKey[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[2] * dict, crypto/internal/fips140/ecdh.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, io.Reader rand)
0057ab50ldr x16, [x28+16]
0057ab54sub x17, sp, 96
0057ab58subs xzr, x17, x16
0057ab5cb.ls 0x57aec0
0057ab60str x30, [sp-224]!
0057ab64stur x29, [sp-8]
0057ab68sub x29, sp, 8
0057ab6cstr x0, [sp+232]
0057ab70str x1, [sp+240]
0057ab74str x2, [sp+248]
0057ab78str x3, [sp+256]
0057ab7cstr xzr, [sp+88]
0057ab80stp xzr, xzr, [sp+72]
0057ab84bl crypto/internal/fips140.RecordApproved
0057ab88b 0x57ab8c
0057ab8c
0057ab8cloc_57ab8c:
0057ab8cb 0x57ab90
0057ab90
0057ab90loc_57ab90:
0057ab90ldr x3, [sp+240]
0057ab94ldrsb x27, [x3]
0057ab98ldr x2, [x3+32]
0057ab9cstr x2, [sp+64]
0057aba0adrp x0, 0x7b000
0057aba4add x0, x0, 3072
0057aba8mov x1, x2
0057abacbl runtime.makeslice
0057abb0ldr x3, [sp+64]
0057abb4ldr x4, [sp+64]
0057abb8str x0, [sp+104]
0057abbcstr x3, [sp+112]
0057abc0str x4, [sp+120]
0057abc4ldr x5, [sp+248]
0057abc8ldr x1, [sp+256]
0057abccmov x2, x0
0057abd0mov x0, x5
0057abd4bl crypto/internal/fips140/drbg.ReadWithReader
0057abd8str x0, [sp+144]
0057abdcstr x1, [sp+152]
0057abe0cbnz x0, 0x57abe8
0057abe4b 0x57ac0c
0057abe8
0057abe8loc_57abe8:
0057abe8str xzr, [sp+88]
0057abecldr x1, [sp+144]
0057abf0ldr x2, [sp+152]
0057abf4str x1, [sp+72]
0057abf8str x2, [sp+80]
0057abfcldr x0, [sp+88]
0057ac00ldur x29, [sp-8]
0057ac04ldr x30, [sp], 224
0057ac08ret x30
0057ac0c
0057ac0cloc_57ac0c:
0057ac0cldr x1, [sp+112]
0057ac10ldr x5, [sp+104]
0057ac14subs xzr, x1, 1
0057ac18b.hi 0x57ac20
0057ac1cb 0x57aeb4
0057ac20
0057ac20loc_57ac20:
0057ac20ldr x1, [sp+112]
0057ac24ldr x6, [sp+104]
0057ac28ldrb w5, [x5+1]
0057ac2cmovz x7, 66
0057ac30eor x5, x5, x7
0057ac34subs xzr, x1, 1
0057ac38b.hi 0x57ac40
0057ac3cb 0x57aeac
0057ac40
0057ac40loc_57ac40:
0057ac40strb w5, [x6+1]
0057ac44ldr x5, [sp+240]
0057ac48ldrsb x27, [x5]
0057ac4cldr x5, [x5+8]
0057ac50subs xzr, x5, 5
0057ac54cset x5, eq
0057ac58b.eq 0x57ac60
0057ac5cb 0x57ad0c
0057ac60
0057ac60loc_57ac60:
0057ac60ldr x5, [sp+240]
0057ac64ldrsb x27, [x5]
0057ac68ldr x1, [x5+8]
0057ac6cldr x5, [x5]
0057ac70subs xzr, x1, 0
0057ac74b.hi 0x57ac7c
0057ac78b 0x57aea4
0057ac7c
0057ac7cloc_57ac7c:
0057ac7cldr x6, [sp+240]
0057ac80ldrsb x27, [x6]
0057ac84ldr x1, [x6+8]
0057ac88ldr x6, [x6]
0057ac8cldrb w5, [x5]
0057ac90subs xzr, x1, 1
0057ac94b.hi 0x57ac9c
0057ac98b 0x57ae9c
0057ac9c
0057ac9cloc_57ac9c:
0057ac9cldr x7, [sp+240]
0057aca0ldrsb x27, [x7]
0057aca4ldr x1, [x7+8]
0057aca8ldr x7, [x7]
0057acacldrb w6, [x6+1]
0057acb0ubfm x6, x6, 56, 7
0057acb4orr x5, x5, x6
0057acb8subs xzr, x1, 2
0057acbcb.hi 0x57acc4
0057acc0b 0x57ae94
0057acc4
0057acc4loc_57acc4:
0057acc4ldr x6, [sp+240]
0057acc8ldrsb x27, [x6]
0057acccldr x1, [x6+8]
0057acd0ldr x6, [x6]
0057acd4ldrb w7, [x7+2]
0057acd8ubfm x7, x7, 48, 7
0057acdcorr x5, x5, x7
0057ace0subs xzr, x1, 3
0057ace4b.hi 0x57acec
0057ace8b 0x57ae8c
0057acec
0057acecloc_57acec:
0057acecldrb w6, [x6+3]
0057acf0ubfm x6, x6, 40, 7
0057acf4orr x6, x5, x6
0057acf8movz x7, 11600
0057acfcmovk x7, 0x32350000
0057ad00subs wzr, w6, w7
0057ad04cset x5, eq
0057ad08b 0x57ad10
0057ad0c
0057ad0cloc_57ad0c:
0057ad0cb 0x57ad10
0057ad10
0057ad10loc_57ad10:
0057ad10tbnz w5, 0, 0x57ad18
0057ad14b 0x57ad44
0057ad18
0057ad18loc_57ad18:
0057ad18ldr x5, [sp+240]
0057ad1cldrsb x27, [x5]
0057ad20ldr x1, [x5+8]
0057ad24ldr x5, [x5]
0057ad28subs xzr, x1, 4
0057ad2cb.hi 0x57ad34
0057ad30b 0x57ae84
0057ad34
0057ad34loc_57ad34:
0057ad34ldrb w6, [x5+4]
0057ad38subs wzr, w6, 49
0057ad3ccset x5, eq
0057ad40b 0x57ad48
0057ad44
0057ad44loc_57ad44:
0057ad44b 0x57ad48
0057ad48
0057ad48loc_57ad48:
0057ad48strb w5, [sp+63]
0057ad4ctbnz w5, 0, 0x57ad54
0057ad50b 0x57ad84
0057ad54
0057ad54loc_57ad54:
0057ad54ldr x5, [sp+240]
0057ad58ldrsb x27, [x5]
0057ad5cldr x1, [x5+32]
0057ad60ldr x5, [x5+24]
0057ad64subs xzr, x1, 0
0057ad68b.hi 0x57ad70
0057ad6cb 0x57ae7c
0057ad70
0057ad70loc_57ad70:
0057ad70ldrb w5, [x5]
0057ad74ands wzr, w5, 254
0057ad78cset x5, eq
0057ad7cstrb w5, [sp+63]
0057ad80b 0x57ad88
0057ad84
0057ad84loc_57ad84:
0057ad84b 0x57ad88
0057ad88
0057ad88loc_57ad88:
0057ad88ldrb w5, [sp+63]
0057ad8ctbnz w5, 0, 0x57ad94
0057ad90b 0x57adcc
0057ad94
0057ad94loc_57ad94:
0057ad94ldr x1, [sp+112]
0057ad98ldr x5, [sp+104]
0057ad9csubs xzr, x1, 0
0057ada0b.hi 0x57ada8
0057ada4b 0x57ae74
0057ada8
0057ada8loc_57ada8:
0057ada8ldr x1, [sp+112]
0057adacldrb w5, [x5]
0057adb0ldr x6, [sp+104]
0057adb4and x5, x5, 1
0057adb8subs xzr, x1, 0
0057adbcb.hi 0x57adc4
0057adc0b 0x57ae6c
0057adc4
0057adc4loc_57adc4:
0057adc4strb w5, [x6]
0057adc8b 0x57add0
0057adcc
0057adccloc_57adcc:
0057adccb 0x57add0
0057add0
0057add0loc_57add0:
0057add0str xzr, [sp+192]
0057add4stp xzr, xzr, [sp+176]
0057add8ldr x5, [sp+232]
0057addcldrsb x27, [x5]
0057ade0ldr x0, [x5]
0057ade4str x0, [sp+168]
0057ade8ldr x2, [sp+104]
0057adecldr x1, [sp+240]
0057adf0ldr x3, [sp+112]
0057adf4ldr x4, [sp+120]
0057adf8bl crypto/internal/fips140/ecdh.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P521Point]
0057adfcstr x0, [sp+192]
0057ae00str x1, [sp+176]
0057ae04str x2, [sp+184]
0057ae08ldr x5, [sp+192]
0057ae0cstr x5, [sp+160]
0057ae10ldr x5, [sp+176]
0057ae14ldr x6, [sp+184]
0057ae18str x5, [sp+200]
0057ae1cstr x6, [sp+208]
0057ae20ldr x5, [sp+160]
0057ae24str x5, [sp+96]
0057ae28ldr x5, [sp+208]
0057ae2cldr x6, [sp+200]
0057ae30str x6, [sp+128]
0057ae34str x5, [sp+136]
0057ae38cbnz x6, 0x57ae40
0057ae3cb 0x57ae48
0057ae40
0057ae40loc_57ae40:
0057ae40b 0x57ae44
0057ae44
0057ae44loc_57ae44:
0057ae44b 0x57ab8c
0057ae48
0057ae48loc_57ae48:
0057ae48ldr x3, [sp+96]
0057ae4cstr x3, [sp+88]
0057ae50stp xzr, xzr, [sp+72]
0057ae54ldr x0, [sp+88]
0057ae58mov x1, xzr
0057ae5cmov x2, xzr
0057ae60ldur x29, [sp-8]
0057ae64ldr x30, [sp], 224
0057ae68ret x30
0057ae6c
0057ae6cloc_57ae6c:
0057ae6cmov x0, xzr
0057ae70bl runtime.panicIndex
0057ae74
0057ae74loc_57ae74:
0057ae74mov x0, xzr
0057ae78bl runtime.panicIndex
0057ae7c
0057ae7cloc_57ae7c:
0057ae7cmov x0, xzr
0057ae80bl runtime.panicIndex
0057ae84
0057ae84loc_57ae84:
0057ae84orr x0, xzr, 4
0057ae88bl runtime.panicIndex
0057ae8c
0057ae8cloc_57ae8c:
0057ae8corr x0, xzr, 3
0057ae90bl runtime.panicIndex
0057ae94
0057ae94loc_57ae94:
0057ae94orr x0, xzr, 2
0057ae98bl runtime.panicIndex
0057ae9c
0057ae9cloc_57ae9c:
0057ae9corr x0, xzr, 1
0057aea0bl runtime.panicIndex
0057aea4
0057aea4loc_57aea4:
0057aea4mov x0, xzr
0057aea8bl runtime.panicIndex
0057aeac
0057aeacloc_57aeac:
0057aeacorr x0, xzr, 1
0057aeb0bl runtime.panicIndex
0057aeb4
0057aeb4loc_57aeb4:
0057aeb4orr x0, xzr, 1
0057aeb8bl runtime.panicIndex
0057aebchint
0057aec0
0057aec0loc_57aec0:
0057aec0stp x0, x1, [sp+8]
0057aec4stp x2, x3, [sp+24]
0057aec8mov x3, x30
0057aeccbl runtime.morestack_noctxt.abi0
0057aed0ldp x0, x1, [sp+8]
0057aed4ldp x2, x3, [sp+24]
0057aed8b 0x57ab50
0057aedcudf 0
0057ab50
0057aee0
0057aee0crypto/internal/fips140/ecdh.ECDH[go.shape.*crypto/internal/fips140/nistec.P384Point]: ; void crypto/internal/fips140/ecdh.ECDH[go.shape.*crypto/internal/fips140/nistec.P384Point](uintptr[2] * dict, crypto/internal/fips140/ecdh.Curve[go.shape.*crypto/internal/fips140/nistec.P384Point] * c, crypto/internal/fips140/ecdh.PrivateKey * k, crypto/internal/fips140/ecdh.PublicKey * peer)
0057aee0ldr x16, [x28+16]
0057aee4sub x17, sp, 48
0057aee8subs xzr, x17, x16
0057aeecb.ls 0x57afd4
0057aef0str x30, [sp-176]!
0057aef4stur x29, [sp-8]
0057aef8sub x29, sp, 8
0057aefcstr x0, [sp+184]
0057af00str x1, [sp+192]
0057af04str x2, [sp+200]
0057af08str x3, [sp+208]
0057af0cstr xzr, [sp+56]
0057af10stp xzr, xzr, [sp+64]
0057af14stp xzr, xzr, [sp+40]
0057af18adrp x27, 0x4a7000
0057af1cldr x26, [x27+472]
0057af20ldr x0, [x26]
0057af24blr x0
0057af28bl crypto/internal/fips140.RecordApproved
0057af2cstr xzr, [sp+96]
0057af30stp xzr, xzr, [sp+104]
0057af34stp xzr, xzr, [sp+80]
0057af38ldr x0, [sp+184]
0057af3cldrsb x27, [x0]
0057af40ldr x0, [x0]
0057af44str x0, [sp+160]
0057af48ldr x3, [sp+208]
0057af4cldr x2, [sp+200]
0057af50ldr x1, [sp+192]
0057af54bl crypto/internal/fips140/ecdh.ecdh[go.shape.*crypto/internal/fips140/nistec.P384Point]
0057af58str x0, [sp+96]
0057af5cstr x1, [sp+104]
0057af60str x2, [sp+112]
0057af64str x3, [sp+80]
0057af68str x4, [sp+88]
0057af6cldr x0, [sp+96]
0057af70ldr x1, [sp+104]
0057af74ldr x2, [sp+112]
0057af78str x0, [sp+136]
0057af7cstr x1, [sp+144]
0057af80str x2, [sp+152]
0057af84ldr x0, [sp+80]
0057af88ldr x1, [sp+88]
0057af8cstr x0, [sp+120]
0057af90str x1, [sp+128]
0057af94ldr x0, [sp+136]
0057af98ldr x1, [sp+144]
0057af9cldr x2, [sp+152]
0057afa0str x0, [sp+56]
0057afa4str x1, [sp+64]
0057afa8str x2, [sp+72]
0057afacldr x3, [sp+120]
0057afb0ldr x4, [sp+128]
0057afb4str x3, [sp+40]
0057afb8str x4, [sp+48]
0057afbcldr x0, [sp+56]
0057afc0ldr x1, [sp+64]
0057afc4ldr x2, [sp+72]
0057afc8ldur x29, [sp-8]
0057afccldr x30, [sp], 176
0057afd0ret x30
0057afd4
0057afd4loc_57afd4:
0057afd4stp x0, x1, [sp+8]
0057afd8stp x2, x3, [sp+24]
0057afdcmov x3, x30
0057afe0bl runtime.morestack_noctxt.abi0
0057afe4ldp x0, x1, [sp+8]
0057afe8ldp x2, x3, [sp+24]
0057afecb 0x57aee0
0057aee0
0057aee0crypto/internal/fips140/ecdh.ECDH[go.shape.*crypto/internal/fips140/nistec.P384Point]: ; void crypto/internal/fips140/ecdh.ECDH[go.shape.*crypto/internal/fips140/nistec.P384Point](uintptr[2] * dict, crypto/internal/fips140/ecdh.Curve[go.shape.*crypto/internal/fips140/nistec.P384Point] * c, crypto/internal/fips140/ecdh.PrivateKey * k, crypto/internal/fips140/ecdh.PublicKey * peer)
0057aee0ldr x16, [x28+16]
0057aee4sub x17, sp, 48
0057aee8subs xzr, x17, x16
0057aeecb.ls 0x57afd4
0057aef0str x30, [sp-176]!
0057aef4stur x29, [sp-8]
0057aef8sub x29, sp, 8
0057aefcstr x0, [sp+184]
0057af00str x1, [sp+192]
0057af04str x2, [sp+200]
0057af08str x3, [sp+208]
0057af0cstr xzr, [sp+56]
0057af10stp xzr, xzr, [sp+64]
0057af14stp xzr, xzr, [sp+40]
0057af18adrp x27, 0x4a7000
0057af1cldr x26, [x27+472]
0057af20ldr x0, [x26]
0057af24blr x0
0057af28bl crypto/internal/fips140.RecordApproved
0057af2cstr xzr, [sp+96]
0057af30stp xzr, xzr, [sp+104]
0057af34stp xzr, xzr, [sp+80]
0057af38ldr x0, [sp+184]
0057af3cldrsb x27, [x0]
0057af40ldr x0, [x0]
0057af44str x0, [sp+160]
0057af48ldr x3, [sp+208]
0057af4cldr x2, [sp+200]
0057af50ldr x1, [sp+192]
0057af54bl crypto/internal/fips140/ecdh.ecdh[go.shape.*crypto/internal/fips140/nistec.P384Point]
0057af58str x0, [sp+96]
0057af5cstr x1, [sp+104]
0057af60str x2, [sp+112]
0057af64str x3, [sp+80]
0057af68str x4, [sp+88]
0057af6cldr x0, [sp+96]
0057af70ldr x1, [sp+104]
0057af74ldr x2, [sp+112]
0057af78str x0, [sp+136]
0057af7cstr x1, [sp+144]
0057af80str x2, [sp+152]
0057af84ldr x0, [sp+80]
0057af88ldr x1, [sp+88]
0057af8cstr x0, [sp+120]
0057af90str x1, [sp+128]
0057af94ldr x0, [sp+136]
0057af98ldr x1, [sp+144]
0057af9cldr x2, [sp+152]
0057afa0str x0, [sp+56]
0057afa4str x1, [sp+64]
0057afa8str x2, [sp+72]
0057afacldr x3, [sp+120]
0057afb0ldr x4, [sp+128]
0057afb4str x3, [sp+40]
0057afb8str x4, [sp+48]
0057afbcldr x0, [sp+56]
0057afc0ldr x1, [sp+64]
0057afc4ldr x2, [sp+72]
0057afc8ldur x29, [sp-8]
0057afccldr x30, [sp], 176
0057afd0ret x30
0057afd4
0057afd4loc_57afd4:
0057afd4stp x0, x1, [sp+8]
0057afd8stp x2, x3, [sp+24]
0057afdcmov x3, x30
0057afe0bl runtime.morestack_noctxt.abi0
0057afe4ldp x0, x1, [sp+8]
0057afe8ldp x2, x3, [sp+24]
0057afecb 0x57aee0
0057aee0
Loading..