File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    00591870
    00591870crypto/internal/fips140/ecdsa.GenerateKey[go.shape.*crypto/internal/fips140/nistec.P384Point]: ; void crypto/internal/fips140/ecdsa.GenerateKey[go.shape.*crypto/internal/fips140/nistec.P384Point](uintptr[5] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P384Point] * c, io.Reader rand)
    00591870ldr x16, [x28+16]
    00591874sub x17, sp, 208
    00591878subs xzr, x17, x16
    0059187cb.ls 0x591b94
    00591880sub x20, sp, 336
    00591884stp x29, x30, [x20-8]
    00591888add sp, x20, 0
    0059188csub x29, sp, 8
    00591890str x0, [sp+344]
    00591894str x1, [sp+352]
    00591898str x2, [sp+360]
    0059189cstr x3, [sp+368]
    005918a0str xzr, [sp+56]
    005918a4stp xzr, xzr, [sp+40]
    005918a8bl crypto/internal/fips140.RecordApproved
    005918acstr xzr, [sp+272]
    005918b0str xzr, [sp+264]
    005918b4stp xzr, xzr, [sp+248]
    005918b8stp xzr, xzr, [sp+280]
    005918bcstp xzr, xzr, [sp+296]
    005918c0add x0, sp, 280
    005918c4str x0, [sp+192]
    005918c8ldrsb x27, [x0]
    005918ccadrp x1, 0
    005918d0add x1, x1, 2992
    005918d4str x1, [x0]
    005918d8ldrsb x27, [x0]
    005918dcldr x1, [sp+368]
    005918e0ldr x2, [sp+360]
    005918e4str x2, [x0+8]
    005918e8adrp x27, 0x4ba000
    005918ecldr w2, [x27+3056]
    005918f0cbz w2, 0x5918f8
    005918f4b 0x5918fc
    005918f8
    005918f8loc_5918f8:
    005918f8b 0x591910
    005918fc
    005918fcloc_5918fc:
    005918fcbl runtime.gcWriteBarrier2
    00591900str x1, [x25]
    00591904ldr x3, [x0+16]
    00591908str x3, [x25+8]
    0059190cb 0x591910
    00591910
    00591910loc_591910:
    00591910str x1, [x0+16]
    00591914ldrsb x27, [x0]
    00591918ldr x3, [sp+344]
    0059191cadrp x27, 0x4ba000
    00591920ldr w4, [x27+3056]
    00591924cbz w4, 0x59192c
    00591928b 0x591930
    0059192c
    0059192cloc_59192c:
    0059192cb 0x591944
    00591930
    00591930loc_591930:
    00591930bl runtime.gcWriteBarrier2
    00591934str x3, [x25]
    00591938ldr x4, [x0+24]
    0059193cstr x4, [x25+8]
    00591940b 0x591944
    00591944
    00591944loc_591944:
    00591944str x3, [x0+24]
    00591948ldr x3, [sp+344]
    0059194cldrsb x27, [x3]
    00591950ldr x0, [x3+8]
    00591954str x0, [sp+184]
    00591958ldr x1, [sp+352]
    0059195cldr x2, [sp+192]
    00591960bl crypto/internal/fips140/ecdsa.randomPoint[go.shape.*crypto/internal/fips140/nistec.P384Point]
    00591964str x0, [sp+272]
    00591968str x1, [sp+264]
    0059196cstr x2, [sp+248]
    00591970str x3, [sp+256]
    00591974ldr x3, [sp+272]
    00591978str x3, [sp+128]
    0059197cldr x3, [sp+264]
    00591980str x3, [sp+120]
    00591984ldr x3, [sp+248]
    00591988ldr x4, [sp+256]
    0059198cstr x3, [sp+312]
    00591990str x4, [sp+320]
    00591994ldr x3, [sp+128]
    00591998str x3, [sp+72]
    0059199cldr x3, [sp+120]
    005919a0str x3, [sp+112]
    005919a4ldr x3, [sp+320]
    005919a8ldr x4, [sp+312]
    005919acstr x4, [sp+96]
    005919b0str x3, [sp+104]
    005919b4cbnz x4, 0x5919bc
    005919b8b 0x5919e0
    005919bc
    005919bcloc_5919bc:
    005919bcstr xzr, [sp+56]
    005919c0ldr x1, [sp+96]
    005919c4ldr x2, [sp+104]
    005919c8str x1, [sp+40]
    005919ccstr x2, [sp+48]
    005919d0ldr x0, [sp+56]
    005919d4ldp x29, x30, [sp-8]
    005919d8add sp, sp, 336
    005919dcret x30
    005919e0
    005919e0loc_5919e0:
    005919e0ldr x26, [sp+344]
    005919e4ldrsb x27, [x26]
    005919e8ldr x1, [x26]
    005919ecldr x0, [sp+112]
    005919f0blr x1
    005919f4str x0, [sp+224]
    005919f8str x1, [sp+232]
    005919fcstr x2, [sp+240]
    00591a00ldr x1, [sp+352]
    00591a04ldrsb x27, [x1]
    00591a08ldr x1, [x1+32]
    00591a0cstr x1, [sp+176]
    00591a10ldr x0, [sp+72]
    00591a14bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    00591a18str x0, [sp+200]
    00591a1cstr x1, [sp+208]
    00591a20str x2, [sp+216]
    00591a24adrp x0, 0xb6000
    00591a28add x0, x0, 4032
    00591a2cbl runtime.newobject
    00591a30str x0, [sp+168]
    00591a34ldr x1, [sp+352]
    00591a38ldrsb x27, [x1]
    00591a3cldr x2, [x1]
    00591a40ldr x1, [x1+8]
    00591a44str x1, [x0+8]
    00591a48adrp x27, 0x4ba000
    00591a4cldr w1, [x27+3056]
    00591a50cbz w1, 0x591a58
    00591a54b 0x591a5c
    00591a58
    00591a58loc_591a58:
    00591a58b 0x591a70
    00591a5c
    00591a5cloc_591a5c:
    00591a5cbl runtime.gcWriteBarrier2
    00591a60str x2, [x25]
    00591a64ldr x3, [x0]
    00591a68str x3, [x25+8]
    00591a6cb 0x591a70
    00591a70
    00591a70loc_591a70:
    00591a70str x2, [x0]
    00591a74ldr x3, [sp+168]
    00591a78ldrsb x27, [x3]
    00591a7cldr x4, [sp+224]
    00591a80ldr x5, [sp+232]
    00591a84ldr x6, [sp+240]
    00591a88str x5, [x3+24]
    00591a8cstr x6, [x3+32]
    00591a90adrp x27, 0x4ba000
    00591a94ldr w5, [x27+3056]
    00591a98cbz w5, 0x591aa0
    00591a9cb 0x591aa4
    00591aa0
    00591aa0loc_591aa0:
    00591aa0b 0x591ab8
    00591aa4
    00591aa4loc_591aa4:
    00591aa4bl runtime.gcWriteBarrier2
    00591aa8str x4, [x25]
    00591aacldr x5, [x3+16]
    00591ab0str x5, [x25+8]
    00591ab4b 0x591ab8
    00591ab8
    00591ab8loc_591ab8:
    00591ab8str x4, [x3+16]
    00591abcldr x3, [sp+168]
    00591ac0ldrsb x27, [x3]
    00591ac4ldr x4, [sp+200]
    00591ac8ldr x5, [sp+208]
    00591accldr x6, [sp+216]
    00591ad0str x5, [x3+48]
    00591ad4str x6, [x3+56]
    00591ad8adrp x27, 0x4ba000
    00591adcldr w5, [x27+3056]
    00591ae0cbz w5, 0x591ae8
    00591ae4b 0x591aec
    00591ae8
    00591ae8loc_591ae8:
    00591ae8b 0x591b00
    00591aec
    00591aecloc_591aec:
    00591aecbl runtime.gcWriteBarrier2
    00591af0str x4, [x25]
    00591af4ldr x5, [x3+40]
    00591af8str x5, [x25+8]
    00591afcb 0x591b00
    00591b00
    00591b00loc_591b00:
    00591b00str x4, [x3+40]
    00591b04ldr x3, [sp+168]
    00591b08str x3, [sp+64]
    00591b0cldr x3, [sp+344]
    00591b10ldrsb x27, [x3]
    00591b14ldr x0, [x3+16]
    00591b18str x0, [sp+160]
    00591b1cldr x2, [sp+64]
    00591b20ldr x1, [sp+352]
    00591b24bl crypto/internal/fips140/ecdsa.fipsPCT[go.shape.*crypto/internal/fips140/nistec.P384Point]
    00591b28str x0, [sp+80]
    00591b2cstr x1, [sp+88]
    00591b30cbnz x0, 0x591b5c
    00591b34b 0x591b38
    00591b38
    00591b38loc_591b38:
    00591b38ldr x3, [sp+64]
    00591b3cstr x3, [sp+56]
    00591b40stp xzr, xzr, [sp+40]
    00591b44ldr x0, [sp+56]
    00591b48mov x1, xzr
    00591b4cmov x2, xzr
    00591b50ldp x29, x30, [sp-8]
    00591b54add sp, sp, 336
    00591b58ret x30
    00591b5c
    00591b5cloc_591b5c:
    00591b5cstr x0, [sp+144]
    00591b60str x1, [sp+152]
    00591b64str x0, [sp+136]
    00591b68ldr x2, [sp+136]
    00591b6ccbnz x2, 0x591b74
    00591b70b 0x591b90
    00591b74
    00591b74loc_591b74:
    00591b74ldr x2, [sp+136]
    00591b78ldr x2, [x2+8]
    00591b7cstr x2, [sp+136]
    00591b80b 0x591b84
    00591b84
    00591b84loc_591b84:
    00591b84ldr x0, [sp+136]
    00591b88ldr x1, [sp+152]
    00591b8cbl runtime.gopanic
    00591b90
    00591b90loc_591b90:
    00591b90b 0x591b84
    00591b94
    00591b94loc_591b94:
    00591b94stp x0, x1, [sp+8]
    00591b98stp x2, x3, [sp+24]
    00591b9cmov x3, x30
    00591ba0bl runtime.morestack_noctxt.abi0
    00591ba4ldp x0, x1, [sp+8]
    00591ba8ldp x2, x3, [sp+24]
    00591bacb 0x591870
    00591870
    00591bb0
    00591bb0crypto/internal/fips140/ecdsa.GenerateKey[go.shape.*crypto/internal/fips140/nistec.P384Point].func1: ; void crypto/internal/fips140/ecdsa.GenerateKey[go.shape.*crypto/internal/fips140/nistec.P384Point].func1(struct []uint8 b)
    00591bb0ldr x16, [x28+16]
    00591bb4subs xzr, sp, x16
    00591bb8b.ls 0x591c24
    00591bbcstr x30, [sp-112]!
    00591bc0stur x29, [sp-8]
    00591bc4sub x29, sp, 8
    00591bc8str x0, [sp+120]
    00591bccstr x1, [sp+128]
    00591bd0str x2, [sp+136]
    00591bd4ldr x5, [x26+8]
    00591bd8ldr x6, [x26+16]
    00591bdcstr x5, [sp+64]
    00591be0str x6, [sp+72]
    00591be4ldr x5, [x26+24]
    00591be8str x5, [sp+80]
    00591becstp xzr, xzr, [sp+48]
    00591bf0ldr x0, [sp+64]
    00591bf4ldr x2, [sp+120]
    00591bf8ldr x3, [sp+128]
    00591bfcldr x1, [sp+72]
    00591c00ldr x4, [sp+136]
    00591c04bl crypto/internal/fips140/drbg.ReadWithReader
    00591c08str x0, [sp+88]
    00591c0cstr x1, [sp+96]
    00591c10str x0, [sp+48]
    00591c14str x1, [sp+56]
    00591c18ldur x29, [sp-8]
    00591c1cldr x30, [sp], 112
    00591c20ret x30
    00591c24
    00591c24loc_591c24:
    00591c24stp x0, x1, [sp+8]
    00591c28str x2, [sp+24]
    00591c2cmov x3, x30
    00591c30bl runtime.morestack.abi0
    00591c34ldp x0, x1, [sp+8]
    00591c38ldr x2, [sp+24]
    00591c3cb 0x591bb0
    00591bb0
    00591c40
    00591c40crypto/internal/fips140/ecdsa.GenerateKey[go.shape.*crypto/internal/fips140/nistec.P256Point]: ; void crypto/internal/fips140/ecdsa.GenerateKey[go.shape.*crypto/internal/fips140/nistec.P256Point](uintptr[5] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P256Point] * c, io.Reader rand)
    00591c40ldr x16, [x28+16]
    00591c44sub x17, sp, 208
    00591c48subs xzr, x17, x16
    00591c4cb.ls 0x591f64
    00591c50sub x20, sp, 336
    00591c54stp x29, x30, [x20-8]
    00591c58add sp, x20, 0
    00591c5csub x29, sp, 8
    00591c60str x0, [sp+344]
    00591c64str x1, [sp+352]
    00591c68str x2, [sp+360]
    00591c6cstr x3, [sp+368]
    00591c70str xzr, [sp+56]
    00591c74stp xzr, xzr, [sp+40]
    00591c78bl crypto/internal/fips140.RecordApproved
    00591c7cstr xzr, [sp+272]
    00591c80str xzr, [sp+264]
    00591c84stp xzr, xzr, [sp+248]
    00591c88stp xzr, xzr, [sp+280]
    00591c8cstp xzr, xzr, [sp+296]
    00591c90add x0, sp, 280
    00591c94str x0, [sp+192]
    00591c98ldrsb x27, [x0]
    00591c9cadrp x1, 0
    00591ca0add x1, x1, 3968
    00591ca4str x1, [x0]
    00591ca8ldrsb x27, [x0]
    00591cacldr x1, [sp+368]
    00591cb0ldr x2, [sp+360]
    00591cb4str x2, [x0+8]
    00591cb8adrp x27, 0x4ba000
    00591cbcldr w2, [x27+3056]
    00591cc0cbz w2, 0x591cc8
    00591cc4b 0x591ccc
    00591cc8
    00591cc8loc_591cc8:
    00591cc8b 0x591ce0
    00591ccc
    00591cccloc_591ccc:
    00591cccbl runtime.gcWriteBarrier2
    00591cd0str x1, [x25]
    00591cd4ldr x3, [x0+16]
    00591cd8str x3, [x25+8]
    00591cdcb 0x591ce0
    00591ce0
    00591ce0loc_591ce0:
    00591ce0str x1, [x0+16]
    00591ce4ldrsb x27, [x0]
    00591ce8ldr x3, [sp+344]
    00591cecadrp x27, 0x4ba000
    00591cf0ldr w4, [x27+3056]
    00591cf4cbz w4, 0x591cfc
    00591cf8b 0x591d00
    00591cfc
    00591cfcloc_591cfc:
    00591cfcb 0x591d14
    00591d00
    00591d00loc_591d00:
    00591d00bl runtime.gcWriteBarrier2
    00591d04str x3, [x25]
    00591d08ldr x4, [x0+24]
    00591d0cstr x4, [x25+8]
    00591d10b 0x591d14
    00591d14
    00591d14loc_591d14:
    00591d14str x3, [x0+24]
    00591d18ldr x3, [sp+344]
    00591d1cldrsb x27, [x3]
    00591d20ldr x0, [x3+8]
    00591d24str x0, [sp+184]
    00591d28ldr x1, [sp+352]
    00591d2cldr x2, [sp+192]
    00591d30bl crypto/internal/fips140/ecdsa.randomPoint[go.shape.*crypto/internal/fips140/nistec.P256Point]
    00591d34str x0, [sp+272]
    00591d38str x1, [sp+264]
    00591d3cstr x2, [sp+248]
    00591d40str x3, [sp+256]
    00591d44ldr x3, [sp+272]
    00591d48str x3, [sp+128]
    00591d4cldr x3, [sp+264]
    00591d50str x3, [sp+120]
    00591d54ldr x3, [sp+248]
    00591d58ldr x4, [sp+256]
    00591d5cstr x3, [sp+312]
    00591d60str x4, [sp+320]
    00591d64ldr x3, [sp+128]
    00591d68str x3, [sp+72]
    00591d6cldr x3, [sp+120]
    00591d70str x3, [sp+112]
    00591d74ldr x3, [sp+320]
    00591d78ldr x4, [sp+312]
    00591d7cstr x4, [sp+96]
    00591d80str x3, [sp+104]
    00591d84cbnz x4, 0x591d8c
    00591d88b 0x591db0
    00591d8c
    00591d8cloc_591d8c:
    00591d8cstr xzr, [sp+56]
    00591d90ldr x1, [sp+96]
    00591d94ldr x2, [sp+104]
    00591d98str x1, [sp+40]
    00591d9cstr x2, [sp+48]
    00591da0ldr x0, [sp+56]
    00591da4ldp x29, x30, [sp-8]
    00591da8add sp, sp, 336
    00591dacret x30
    00591db0
    00591db0loc_591db0:
    00591db0ldr x26, [sp+344]
    00591db4ldrsb x27, [x26]
    00591db8ldr x1, [x26]
    00591dbcldr x0, [sp+112]
    00591dc0blr x1
    00591dc4str x0, [sp+224]
    00591dc8str x1, [sp+232]
    00591dccstr x2, [sp+240]
    00591dd0ldr x1, [sp+352]
    00591dd4ldrsb x27, [x1]
    00591dd8ldr x1, [x1+32]
    00591ddcstr x1, [sp+176]
    00591de0ldr x0, [sp+72]
    00591de4bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    00591de8str x0, [sp+200]
    00591decstr x1, [sp+208]
    00591df0str x2, [sp+216]
    00591df4adrp x0, 0xb6000
    00591df8add x0, x0, 4032
    00591dfcbl runtime.newobject
    00591e00str x0, [sp+168]
    00591e04ldr x1, [sp+352]
    00591e08ldrsb x27, [x1]
    00591e0cldr x2, [x1]
    00591e10ldr x1, [x1+8]
    00591e14str x1, [x0+8]
    00591e18adrp x27, 0x4ba000
    00591e1cldr w1, [x27+3056]
    00591e20cbz w1, 0x591e28
    00591e24b 0x591e2c
    00591e28
    00591e28loc_591e28:
    00591e28b 0x591e40
    00591e2c
    00591e2cloc_591e2c:
    00591e2cbl runtime.gcWriteBarrier2
    00591e30str x2, [x25]
    00591e34ldr x3, [x0]
    00591e38str x3, [x25+8]
    00591e3cb 0x591e40
    00591e40
    00591e40loc_591e40:
    00591e40str x2, [x0]
    00591e44ldr x3, [sp+168]
    00591e48ldrsb x27, [x3]
    00591e4cldr x4, [sp+224]
    00591e50ldr x5, [sp+232]
    00591e54ldr x6, [sp+240]
    00591e58str x5, [x3+24]
    00591e5cstr x6, [x3+32]
    00591e60adrp x27, 0x4ba000
    00591e64ldr w5, [x27+3056]
    00591e68cbz w5, 0x591e70
    00591e6cb 0x591e74
    00591e70
    00591e70loc_591e70:
    00591e70b 0x591e88
    00591e74
    00591e74loc_591e74:
    00591e74bl runtime.gcWriteBarrier2
    00591e78str x4, [x25]
    00591e7cldr x5, [x3+16]
    00591e80str x5, [x25+8]
    00591e84b 0x591e88
    00591e88
    00591e88loc_591e88:
    00591e88str x4, [x3+16]
    00591e8cldr x3, [sp+168]
    00591e90ldrsb x27, [x3]
    00591e94ldr x4, [sp+200]
    00591e98ldr x5, [sp+208]
    00591e9cldr x6, [sp+216]
    00591ea0str x5, [x3+48]
    00591ea4str x6, [x3+56]
    00591ea8adrp x27, 0x4ba000
    00591eacldr w5, [x27+3056]
    00591eb0cbz w5, 0x591eb8
    00591eb4b 0x591ebc
    00591eb8
    00591eb8loc_591eb8:
    00591eb8b 0x591ed0
    00591ebc
    00591ebcloc_591ebc:
    00591ebcbl runtime.gcWriteBarrier2
    00591ec0str x4, [x25]
    00591ec4ldr x5, [x3+40]
    00591ec8str x5, [x25+8]
    00591eccb 0x591ed0
    00591ed0
    00591ed0loc_591ed0:
    00591ed0str x4, [x3+40]
    00591ed4ldr x3, [sp+168]
    00591ed8str x3, [sp+64]
    00591edcldr x3, [sp+344]
    00591ee0ldrsb x27, [x3]
    00591ee4ldr x0, [x3+16]
    00591ee8str x0, [sp+160]
    00591eecldr x2, [sp+64]
    00591ef0ldr x1, [sp+352]
    00591ef4bl crypto/internal/fips140/ecdsa.fipsPCT[go.shape.*crypto/internal/fips140/nistec.P256Point]
    00591ef8str x0, [sp+80]
    00591efcstr x1, [sp+88]
    00591f00cbnz x0, 0x591f2c
    00591f04b 0x591f08
    00591f08
    00591f08loc_591f08:
    00591f08ldr x3, [sp+64]
    00591f0cstr x3, [sp+56]
    00591f10stp xzr, xzr, [sp+40]
    00591f14ldr x0, [sp+56]
    00591f18mov x1, xzr
    00591f1cmov x2, xzr
    00591f20ldp x29, x30, [sp-8]
    00591f24add sp, sp, 336
    00591f28ret x30
    00591f2c
    00591f2cloc_591f2c:
    00591f2cstr x0, [sp+144]
    00591f30str x1, [sp+152]
    00591f34str x0, [sp+136]
    00591f38ldr x2, [sp+136]
    00591f3ccbnz x2, 0x591f44
    00591f40b 0x591f60
    00591f44
    00591f44loc_591f44:
    00591f44ldr x2, [sp+136]
    00591f48ldr x2, [x2+8]
    00591f4cstr x2, [sp+136]
    00591f50b 0x591f54
    00591f54
    00591f54loc_591f54:
    00591f54ldr x0, [sp+136]
    00591f58ldr x1, [sp+152]
    00591f5cbl runtime.gopanic
    00591f60
    00591f60loc_591f60:
    00591f60b 0x591f54
    00591f64
    00591f64loc_591f64:
    00591f64stp x0, x1, [sp+8]
    00591f68stp x2, x3, [sp+24]
    00591f6cmov x3, x30
    00591f70bl runtime.morestack_noctxt.abi0
    00591f74ldp x0, x1, [sp+8]
    00591f78ldp x2, x3, [sp+24]
    00591f7cb 0x591c40
    00591c40
    00591f80
    00591f80crypto/internal/fips140/ecdsa.GenerateKey[go.shape.*crypto/internal/fips140/nistec.P256Point].func1: ; void crypto/internal/fips140/ecdsa.GenerateKey[go.shape.*crypto/internal/fips140/nistec.P256Point].func1(struct []uint8 b)
    00591f80ldr x16, [x28+16]
    00591f84subs xzr, sp, x16
    00591f88b.ls 0x591ff4
    00591f8cstr x30, [sp-112]!
    00591f90stur x29, [sp-8]
    00591f94sub x29, sp, 8
    00591f98str x0, [sp+120]
    00591f9cstr x1, [sp+128]
    00591fa0str x2, [sp+136]
    00591fa4ldr x5, [x26+8]
    00591fa8ldr x6, [x26+16]
    00591facstr x5, [sp+64]
    00591fb0str x6, [sp+72]
    00591fb4ldr x5, [x26+24]
    00591fb8str x5, [sp+80]
    00591fbcstp xzr, xzr, [sp+48]
    00591fc0ldr x0, [sp+64]
    00591fc4ldr x2, [sp+120]
    00591fc8ldr x3, [sp+128]
    00591fccldr x1, [sp+72]
    00591fd0ldr x4, [sp+136]
    00591fd4bl crypto/internal/fips140/drbg.ReadWithReader
    00591fd8str x0, [sp+88]
    00591fdcstr x1, [sp+96]
    00591fe0str x0, [sp+48]
    00591fe4str x1, [sp+56]
    00591fe8ldur x29, [sp-8]
    00591fecldr x30, [sp], 112
    00591ff0ret x30
    00591ff4
    00591ff4loc_591ff4:
    00591ff4stp x0, x1, [sp+8]
    00591ff8str x2, [sp+24]
    00591ffcmov x3, x30
    00592000bl runtime.morestack.abi0
    00592004ldp x0, x1, [sp+8]
    00592008ldr x2, [sp+24]
    0059200cb 0x591f80
    00591f80
    00592010
    00592010crypto/internal/fips140/ecdsa.GenerateKey[go.shape.*crypto/internal/fips140/nistec.P224Point]: ; void crypto/internal/fips140/ecdsa.GenerateKey[go.shape.*crypto/internal/fips140/nistec.P224Point](uintptr[5] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P224Point] * c, io.Reader rand)
    00592010ldr x16, [x28+16]
    00592014sub x17, sp, 208
    00592018subs xzr, x17, x16
    0059201cb.ls 0x592334
    00592020sub x20, sp, 336
    00592024stp x29, x30, [x20-8]
    00592028add sp, x20, 0
    0059202csub x29, sp, 8
    00592030str x0, [sp+344]
    00592034str x1, [sp+352]
    00592038str x2, [sp+360]
    0059203cstr x3, [sp+368]
    00592040str xzr, [sp+56]
    00592044stp xzr, xzr, [sp+40]
    00592048bl crypto/internal/fips140.RecordApproved
    0059204cstr xzr, [sp+272]
    00592050str xzr, [sp+264]
    00592054stp xzr, xzr, [sp+248]
    00592058stp xzr, xzr, [sp+280]
    0059205cstp xzr, xzr, [sp+296]
    00592060add x0, sp, 280
    00592064str x0, [sp+192]
    00592068ldrsb x27, [x0]
    0059206cadrp x1, 0
    00592070add x1, x1, 848
    00592074str x1, [x0]
    00592078ldrsb x27, [x0]
    0059207cldr x1, [sp+368]
    00592080ldr x2, [sp+360]
    00592084str x2, [x0+8]
    00592088adrp x27, 0x4b9000
    0059208cldr w2, [x27+3056]
    00592090cbz w2, 0x592098
    00592094b 0x59209c
    00592098
    00592098loc_592098:
    00592098b 0x5920b0
    0059209c
    0059209cloc_59209c:
    0059209cbl runtime.gcWriteBarrier2
    005920a0str x1, [x25]
    005920a4ldr x3, [x0+16]
    005920a8str x3, [x25+8]
    005920acb 0x5920b0
    005920b0
    005920b0loc_5920b0:
    005920b0str x1, [x0+16]
    005920b4ldrsb x27, [x0]
    005920b8ldr x3, [sp+344]
    005920bcadrp x27, 0x4b9000
    005920c0ldr w4, [x27+3056]
    005920c4cbz w4, 0x5920cc
    005920c8b 0x5920d0
    005920cc
    005920ccloc_5920cc:
    005920ccb 0x5920e4
    005920d0
    005920d0loc_5920d0:
    005920d0bl runtime.gcWriteBarrier2
    005920d4str x3, [x25]
    005920d8ldr x4, [x0+24]
    005920dcstr x4, [x25+8]
    005920e0b 0x5920e4
    005920e4
    005920e4loc_5920e4:
    005920e4str x3, [x0+24]
    005920e8ldr x3, [sp+344]
    005920ecldrsb x27, [x3]
    005920f0ldr x0, [x3+8]
    005920f4str x0, [sp+184]
    005920f8ldr x1, [sp+352]
    005920fcldr x2, [sp+192]
    00592100bl crypto/internal/fips140/ecdsa.randomPoint[go.shape.*crypto/internal/fips140/nistec.P224Point]
    00592104str x0, [sp+272]
    00592108str x1, [sp+264]
    0059210cstr x2, [sp+248]
    00592110str x3, [sp+256]
    00592114ldr x3, [sp+272]
    00592118str x3, [sp+128]
    0059211cldr x3, [sp+264]
    00592120str x3, [sp+120]
    00592124ldr x3, [sp+248]
    00592128ldr x4, [sp+256]
    0059212cstr x3, [sp+312]
    00592130str x4, [sp+320]
    00592134ldr x3, [sp+128]
    00592138str x3, [sp+72]
    0059213cldr x3, [sp+120]
    00592140str x3, [sp+112]
    00592144ldr x3, [sp+320]
    00592148ldr x4, [sp+312]
    0059214cstr x4, [sp+96]
    00592150str x3, [sp+104]
    00592154cbnz x4, 0x59215c
    00592158b 0x592180
    0059215c
    0059215cloc_59215c:
    0059215cstr xzr, [sp+56]
    00592160ldr x1, [sp+96]
    00592164ldr x2, [sp+104]
    00592168str x1, [sp+40]
    0059216cstr x2, [sp+48]
    00592170ldr x0, [sp+56]
    00592174ldp x29, x30, [sp-8]
    00592178add sp, sp, 336
    0059217cret x30
    00592180
    00592180loc_592180:
    00592180ldr x26, [sp+344]
    00592184ldrsb x27, [x26]
    00592188ldr x1, [x26]
    0059218cldr x0, [sp+112]
    00592190blr x1
    00592194str x0, [sp+224]
    00592198str x1, [sp+232]
    0059219cstr x2, [sp+240]
    005921a0ldr x1, [sp+352]
    005921a4ldrsb x27, [x1]
    005921a8ldr x1, [x1+32]
    005921acstr x1, [sp+176]
    005921b0ldr x0, [sp+72]
    005921b4bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    005921b8str x0, [sp+200]
    005921bcstr x1, [sp+208]
    005921c0str x2, [sp+216]
    005921c4adrp x0, 0xb5000
    005921c8add x0, x0, 4032
    005921ccbl runtime.newobject
    005921d0str x0, [sp+168]
    005921d4ldr x1, [sp+352]
    005921d8ldrsb x27, [x1]
    005921dcldr x2, [x1]
    005921e0ldr x1, [x1+8]
    005921e4str x1, [x0+8]
    005921e8adrp x27, 0x4b9000
    005921ecldr w1, [x27+3056]
    005921f0cbz w1, 0x5921f8
    005921f4b 0x5921fc
    005921f8
    005921f8loc_5921f8:
    005921f8b 0x592210
    005921fc
    005921fcloc_5921fc:
    005921fcbl runtime.gcWriteBarrier2
    00592200str x2, [x25]
    00592204ldr x3, [x0]
    00592208str x3, [x25+8]
    0059220cb 0x592210
    00592210
    00592210loc_592210:
    00592210str x2, [x0]
    00592214ldr x3, [sp+168]
    00592218ldrsb x27, [x3]
    0059221cldr x4, [sp+224]
    00592220ldr x5, [sp+232]
    00592224ldr x6, [sp+240]
    00592228str x5, [x3+24]
    0059222cstr x6, [x3+32]
    00592230adrp x27, 0x4b9000
    00592234ldr w5, [x27+3056]
    00592238cbz w5, 0x592240
    0059223cb 0x592244
    00592240
    00592240loc_592240:
    00592240b 0x592258
    00592244
    00592244loc_592244:
    00592244bl runtime.gcWriteBarrier2
    00592248str x4, [x25]
    0059224cldr x5, [x3+16]
    00592250str x5, [x25+8]
    00592254b 0x592258
    00592258
    00592258loc_592258:
    00592258str x4, [x3+16]
    0059225cldr x3, [sp+168]
    00592260ldrsb x27, [x3]
    00592264ldr x4, [sp+200]
    00592268ldr x5, [sp+208]
    0059226cldr x6, [sp+216]
    00592270str x5, [x3+48]
    00592274str x6, [x3+56]
    00592278adrp x27, 0x4b9000
    0059227cldr w5, [x27+3056]
    00592280cbz w5, 0x592288
    00592284b 0x59228c
    00592288
    00592288loc_592288:
    00592288b 0x5922a0
    0059228c
    0059228cloc_59228c:
    0059228cbl runtime.gcWriteBarrier2
    00592290str x4, [x25]
    00592294ldr x5, [x3+40]
    00592298str x5, [x25+8]
    0059229cb 0x5922a0
    005922a0
    005922a0loc_5922a0:
    005922a0str x4, [x3+40]
    005922a4ldr x3, [sp+168]
    005922a8str x3, [sp+64]
    005922acldr x3, [sp+344]
    005922b0ldrsb x27, [x3]
    005922b4ldr x0, [x3+16]
    005922b8str x0, [sp+160]
    005922bcldr x2, [sp+64]
    005922c0ldr x1, [sp+352]
    005922c4bl crypto/internal/fips140/ecdsa.fipsPCT[go.shape.*crypto/internal/fips140/nistec.P224Point]
    005922c8str x0, [sp+80]
    005922ccstr x1, [sp+88]
    005922d0cbnz x0, 0x5922fc
    005922d4b 0x5922d8
    005922d8
    005922d8loc_5922d8:
    005922d8ldr x3, [sp+64]
    005922dcstr x3, [sp+56]
    005922e0stp xzr, xzr, [sp+40]
    005922e4ldr x0, [sp+56]
    005922e8mov x1, xzr
    005922ecmov x2, xzr
    005922f0ldp x29, x30, [sp-8]
    005922f4add sp, sp, 336
    005922f8ret x30
    005922fc
    005922fcloc_5922fc:
    005922fcstr x0, [sp+144]
    00592300str x1, [sp+152]
    00592304str x0, [sp+136]
    00592308ldr x2, [sp+136]
    0059230ccbnz x2, 0x592314
    00592310b 0x592330
    00592314
    00592314loc_592314:
    00592314ldr x2, [sp+136]
    00592318ldr x2, [x2+8]
    0059231cstr x2, [sp+136]
    00592320b 0x592324
    00592324
    00592324loc_592324:
    00592324ldr x0, [sp+136]
    00592328ldr x1, [sp+152]
    0059232cbl runtime.gopanic
    00592330
    00592330loc_592330:
    00592330b 0x592324
    00592334
    00592334loc_592334:
    00592334stp x0, x1, [sp+8]
    00592338stp x2, x3, [sp+24]
    0059233cmov x3, x30
    00592340bl runtime.morestack_noctxt.abi0
    00592344ldp x0, x1, [sp+8]
    00592348ldp x2, x3, [sp+24]
    0059234cb 0x592010
    00592010
    00592350
    00592350crypto/internal/fips140/ecdsa.GenerateKey[go.shape.*crypto/internal/fips140/nistec.P224Point].func1: ; void crypto/internal/fips140/ecdsa.GenerateKey[go.shape.*crypto/internal/fips140/nistec.P224Point].func1(struct []uint8 b)
    00592350ldr x16, [x28+16]
    00592354subs xzr, sp, x16
    00592358b.ls 0x5923c4
    0059235cstr x30, [sp-112]!
    00592360stur x29, [sp-8]
    00592364sub x29, sp, 8
    00592368str x0, [sp+120]
    0059236cstr x1, [sp+128]
    00592370str x2, [sp+136]
    00592374ldr x5, [x26+8]
    00592378ldr x6, [x26+16]
    0059237cstr x5, [sp+64]
    00592380str x6, [sp+72]
    00592384ldr x5, [x26+24]
    00592388str x5, [sp+80]
    0059238cstp xzr, xzr, [sp+48]
    00592390ldr x0, [sp+64]
    00592394ldr x2, [sp+120]
    00592398ldr x3, [sp+128]
    0059239cldr x1, [sp+72]
    005923a0ldr x4, [sp+136]
    005923a4bl crypto/internal/fips140/drbg.ReadWithReader
    005923a8str x0, [sp+88]
    005923acstr x1, [sp+96]
    005923b0str x0, [sp+48]
    005923b4str x1, [sp+56]
    005923b8ldur x29, [sp-8]
    005923bcldr x30, [sp], 112
    005923c0ret x30
    005923c4
    005923c4loc_5923c4:
    005923c4stp x0, x1, [sp+8]
    005923c8str x2, [sp+24]
    005923ccmov x3, x30
    005923d0bl runtime.morestack.abi0
    005923d4ldp x0, x1, [sp+8]
    005923d8ldr x2, [sp+24]
    005923dcb 0x592350
    00592350
    005923e0
    005923e0crypto/internal/fips140/edwards25519.init: ; void crypto/internal/fips140/edwards25519.init(void)
    005923e0ldr x16, [x28+16]
    005923e4sub x17, sp, 96
    005923e8subs xzr, x17, x16
    005923ecb.ls 0x592bf4
    005923f0str x30, [sp-224]!
    005923f4stur x29, [sp-8]
    005923f8sub x29, sp, 8
    005923fcadrp x0, 0xe5000
    00592400add x0, x0, 3648
    00592404bl runtime.newobject
    00592408str x0, [sp+208]
    0059240cbl crypto/internal/fips140/edwards25519/field.(*Element).One
    00592410adrp x27, 0x4b9000
    00592414ldr w1, [x27+3056]
    00592418cbz w1, 0x592420
    0059241cb 0x592424
    00592420
    00592420loc_592420:
    00592420b 0x59243c
    00592424
    00592424loc_592424:
    00592424bl runtime.gcWriteBarrier2
    00592428str x0, [x25]
    0059242cadrp x27, 0x48f000
    00592430ldr x1, [x27+712]
    00592434str x1, [x25+8]
    00592438b 0x59243c
    0059243c
    0059243cloc_59243c:
    0059243cadrp x27, 0x48f000
    00592440str x0, [x27+712]
    00592444adrp x0, 0xe5000
    00592448add x0, x0, 3648
    0059244cbl runtime.newobject
    00592450str x0, [sp+208]
    00592454str xzr, [sp+176]
    00592458stp xzr, xzr, [sp+40]
    0059245cstp xzr, xzr, [sp+56]
    00592460add x1, sp, 40
    00592464str x1, [sp+128]
    00592468ldrsb x27, [x1]
    0059246cmovn x2, 92
    00592470strb w2, [x1]
    00592474ldr x1, [sp+128]
    00592478ldrsb x27, [x1]
    0059247corr x2, xzr, 120
    00592480strb w2, [x1+1]
    00592484ldr x1, [sp+128]
    00592488ldrsb x27, [x1]
    0059248cmovz x2, 89
    00592490strb w2, [x1+2]
    00592494ldr x1, [sp+128]
    00592498ldrsb x27, [x1]
    0059249cmovz x2, 19
    005924a0strb w2, [x1+3]
    005924a4ldr x1, [sp+128]
    005924a8ldrsb x27, [x1]
    005924acmovn x2, 53
    005924b0strb w2, [x1+4]
    005924b4ldr x1, [sp+128]
    005924b8ldrsb x27, [x1]
    005924bcmovz x2, 77
    005924c0strb w2, [x1+5]
    005924c4ldr x1, [sp+128]
    005924c8ldrsb x27, [x1]
    005924ccmovn x3, 20
    005924d0strb w3, [x1+6]
    005924d4ldr x1, [sp+128]
    005924d8ldrsb x27, [x1]
    005924dcmovz x3, 117
    005924e0strb w3, [x1+7]
    005924e4ldr x1, [sp+128]
    005924e8ldrsb x27, [x1]
    005924ecmovn x3, 84
    005924f0strb w3, [x1+8]
    005924f4ldr x1, [sp+128]
    005924f8ldrsb x27, [x1]
    005924fcmovn x3, 39
    00592500strb w3, [x1+9]
    00592504ldr x1, [sp+128]
    00592508ldrsb x27, [x1]
    0059250cmovz x3, 65
    00592510strb w3, [x1+10]
    00592514ldr x1, [sp+128]
    00592518ldrsb x27, [x1]
    0059251cstrb w3, [x1+11]
    00592520ldr x1, [sp+128]
    00592524ldrsb x27, [x1]
    00592528strb w2, [x1+12]
    0059252cldr x1, [sp+128]
    00592530ldrsb x27, [x1]
    00592534movz x2, 10
    00592538strb w2, [x1+13]
    0059253cldr x1, [sp+128]
    00592540ldrsb x27, [x1]
    00592544orr x2, xzr, 112
    00592548strb w2, [x1+14]
    0059254cldr x1, [sp+128]
    00592550ldrsb x27, [x1]
    00592554strb wzr, [x1+15]
    00592558ldr x1, [sp+128]
    0059255cldrsb x27, [x1]
    00592560movn x2, 103
    00592564strb w2, [x1+16]
    00592568ldr x1, [sp+128]
    0059256cldrsb x27, [x1]
    00592570movn x2, 23
    00592574strb w2, [x1+17]
    00592578ldr x1, [sp+128]
    0059257cldrsb x27, [x1]
    00592580movz x2, 121
    00592584strb w2, [x1+18]
    00592588ldr x1, [sp+128]
    0059258cldrsb x27, [x1]
    00592590movz x3, 119
    00592594strb w3, [x1+19]
    00592598ldr x1, [sp+128]
    0059259cldrsb x27, [x1]
    005925a0strb w2, [x1+20]
    005925a4ldr x1, [sp+128]
    005925a8ldrsb x27, [x1]
    005925acorr x2, xzr, 64
    005925b0strb w2, [x1+21]
    005925b4ldr x1, [sp+128]
    005925b8ldrsb x27, [x1]
    005925bcmovn x2, 56
    005925c0strb w2, [x1+22]
    005925c4ldr x1, [sp+128]
    005925c8ldrsb x27, [x1]
    005925ccmovn x2, 115
    005925d0strb w2, [x1+23]
    005925d4ldr x1, [sp+128]
    005925d8ldrsb x27, [x1]
    005925dcmovz x2, 115
    005925e0strb w2, [x1+24]
    005925e4ldr x1, [sp+128]
    005925e8ldrsb x27, [x1]
    005925ecmovn x2, 1
    005925f0strb w2, [x1+25]
    005925f4ldr x1, [sp+128]
    005925f8ldrsb x27, [x1]
    005925fcmovz x2, 111
    00592600strb w2, [x1+26]
    00592604ldr x1, [sp+128]
    00592608ldrsb x27, [x1]
    0059260cmovz x2, 43
    00592610strb w2, [x1+27]
    00592614ldr x1, [sp+128]
    00592618ldrsb x27, [x1]
    0059261cmovn x2, 17
    00592620strb w2, [x1+28]
    00592624ldr x1, [sp+128]
    00592628ldrsb x27, [x1]
    0059262cmovz x2, 108
    00592630strb w2, [x1+29]
    00592634ldr x1, [sp+128]
    00592638ldrsb x27, [x1]
    0059263corr x2, xzr, 3
    00592640strb w2, [x1+30]
    00592644ldr x1, [sp+128]
    00592648ldrsb x27, [x1]
    0059264cmovz x2, 82
    00592650strb w2, [x1+31]
    00592654ldr x1, [sp+128]
    00592658ldrsb x27, [x1]
    0059265cb 0x592660
    00592660
    00592660loc_592660:
    00592660str x1, [sp+136]
    00592664orr x3, xzr, 32
    00592668str x3, [sp+144]
    0059266cstr x3, [sp+152]
    00592670ldr x0, [sp+208]
    00592674mov x2, x3
    00592678bl crypto/internal/fips140/edwards25519/field.(*Element).SetBytes
    0059267cstr x0, [sp+176]
    00592680adrp x27, 0x4b9000
    00592684ldr w4, [x27+3056]
    00592688cbz w4, 0x592690
    0059268cb 0x592694
    00592690
    00592690loc_592690:
    00592690b 0x5926ac
    00592694
    00592694loc_592694:
    00592694bl runtime.gcWriteBarrier2
    00592698str x0, [x25]
    0059269cadrp x27, 0x48f000
    005926a0ldr x1, [x27+720]
    005926a4str x1, [x25+8]
    005926a8b 0x5926ac
    005926ac
    005926acloc_5926ac:
    005926acadrp x27, 0x48f000
    005926b0str x0, [x27+720]
    005926b4adrp x0, 0xe6000
    005926b8add x0, x0, 448
    005926bcbl runtime.newobject
    005926c0str x0, [sp+168]
    005926c4str xzr, [sp+160]
    005926c8stp xzr, xzr, [sp+40]
    005926ccstp xzr, xzr, [sp+56]
    005926d0add x1, sp, 40
    005926d4str x1, [sp+96]
    005926d8ldrsb x27, [x1]
    005926dcorr x2, xzr, 1
    005926e0strb w2, [x1]
    005926e4ldr x1, [sp+96]
    005926e8ldrsb x27, [x1]
    005926ecstrb wzr, [x1+1]
    005926f0ldr x1, [sp+96]
    005926f4ldrsb x27, [x1]
    005926f8strb wzr, [x1+2]
    005926fcldr x1, [sp+96]
    00592700ldrsb x27, [x1]
    00592704strb wzr, [x1+3]
    00592708ldr x1, [sp+96]
    0059270cldrsb x27, [x1]
    00592710strb wzr, [x1+4]
    00592714ldr x1, [sp+96]
    00592718ldrsb x27, [x1]
    0059271cstrb wzr, [x1+5]
    00592720ldr x1, [sp+96]
    00592724ldrsb x27, [x1]
    00592728strb wzr, [x1+6]
    0059272cldr x1, [sp+96]
    00592730ldrsb x27, [x1]
    00592734strb wzr, [x1+7]
    00592738ldr x1, [sp+96]
    0059273cldrsb x27, [x1]
    00592740strb wzr, [x1+8]
    00592744ldr x1, [sp+96]
    00592748ldrsb x27, [x1]
    0059274cstrb wzr, [x1+9]
    00592750ldr x1, [sp+96]
    00592754ldrsb x27, [x1]
    00592758strb wzr, [x1+10]
    0059275cldr x1, [sp+96]
    00592760ldrsb x27, [x1]
    00592764strb wzr, [x1+11]
    00592768ldr x1, [sp+96]
    0059276cldrsb x27, [x1]
    00592770strb wzr, [x1+12]
    00592774ldr x1, [sp+96]
    00592778ldrsb x27, [x1]
    0059277cstrb wzr, [x1+13]
    00592780ldr x1, [sp+96]
    00592784ldrsb x27, [x1]
    00592788strb wzr, [x1+14]
    0059278cldr x1, [sp+96]
    00592790ldrsb x27, [x1]
    00592794strb wzr, [x1+15]
    00592798ldr x1, [sp+96]
    0059279cldrsb x27, [x1]
    005927a0strb wzr, [x1+16]
    005927a4ldr x1, [sp+96]
    005927a8ldrsb x27, [x1]
    005927acstrb wzr, [x1+17]
    005927b0ldr x1, [sp+96]
    005927b4ldrsb x27, [x1]
    005927b8strb wzr, [x1+18]
    005927bcldr x1, [sp+96]
    005927c0ldrsb x27, [x1]
    005927c4strb wzr, [x1+19]
    005927c8ldr x1, [sp+96]
    005927ccldrsb x27, [x1]
    005927d0strb wzr, [x1+20]
    005927d4ldr x1, [sp+96]
    005927d8ldrsb x27, [x1]
    005927dcstrb wzr, [x1+21]
    005927e0ldr x1, [sp+96]
    005927e4ldrsb x27, [x1]
    005927e8strb wzr, [x1+22]
    005927ecldr x1, [sp+96]
    005927f0ldrsb x27, [x1]
    005927f4strb wzr, [x1+23]
    005927f8ldr x1, [sp+96]
    005927fcldrsb x27, [x1]
    00592800strb wzr, [x1+24]
    00592804ldr x1, [sp+96]
    00592808ldrsb x27, [x1]
    0059280cstrb wzr, [x1+25]
    00592810ldr x1, [sp+96]
    00592814ldrsb x27, [x1]
    00592818strb wzr, [x1+26]
    0059281cldr x1, [sp+96]
    00592820ldrsb x27, [x1]
    00592824strb wzr, [x1+27]
    00592828ldr x1, [sp+96]
    0059282cldrsb x27, [x1]
    00592830strb wzr, [x1+28]
    00592834ldr x1, [sp+96]
    00592838ldrsb x27, [x1]
    0059283cstrb wzr, [x1+29]
    00592840ldr x1, [sp+96]
    00592844ldrsb x27, [x1]
    00592848strb wzr, [x1+30]
    0059284cldr x1, [sp+96]
    00592850ldrsb x27, [x1]
    00592854strb wzr, [x1+31]
    00592858ldr x1, [sp+96]
    0059285cldrsb x27, [x1]
    00592860b 0x592864
    00592864
    00592864loc_592864:
    00592864str x1, [sp+104]
    00592868orr x3, xzr, 32
    0059286cstr x3, [sp+112]
    00592870str x3, [sp+120]
    00592874ldr x0, [sp+168]
    00592878mov x2, x3
    0059287cbl crypto/internal/fips140/edwards25519.(*Point).SetBytes
    00592880str x0, [sp+160]
    00592884adrp x27, 0x4b9000
    00592888ldr w4, [x27+3056]
    0059288ccbz w4, 0x592894
    00592890b 0x592898
    00592894
    00592894loc_592894:
    00592894b 0x5928b0
    00592898
    00592898loc_592898:
    00592898bl runtime.gcWriteBarrier2
    0059289cstr x0, [x25]
    005928a0adrp x27, 0x48f000
    005928a4ldr x1, [x27+696]
    005928a8str x1, [x25+8]
    005928acb 0x5928b0
    005928b0
    005928b0loc_5928b0:
    005928b0adrp x27, 0x48f000
    005928b4str x0, [x27+696]
    005928b8adrp x0, 0xe6000
    005928bcadd x0, x0, 448
    005928c0bl runtime.newobject
    005928c4str x0, [sp+160]
    005928c8str xzr, [sp+168]
    005928ccstp xzr, xzr, [sp+40]
    005928d0stp xzr, xzr, [sp+56]
    005928d4add x1, sp, 40
    005928d8str x1, [sp+200]
    005928dcldrsb x27, [x1]
    005928e0movz x2, 88
    005928e4strb w2, [x1]
    005928e8ldr x1, [sp+200]
    005928ecldrsb x27, [x1]
    005928f0movz x2, 102
    005928f4strb w2, [x1+1]
    005928f8ldr x1, [sp+200]
    005928fcldrsb x27, [x1]
    00592900strb w2, [x1+2]
    00592904ldr x1, [sp+200]
    00592908ldrsb x27, [x1]
    0059290cstrb w2, [x1+3]
    00592910ldr x1, [sp+200]
    00592914ldrsb x27, [x1]
    00592918strb w2, [x1+4]
    0059291cldr x1, [sp+200]
    00592920ldrsb x27, [x1]
    00592924strb w2, [x1+5]
    00592928ldr x1, [sp+200]
    0059292cldrsb x27, [x1]
    00592930strb w2, [x1+6]
    00592934ldr x1, [sp+200]
    00592938ldrsb x27, [x1]
    0059293cstrb w2, [x1+7]
    00592940ldr x1, [sp+200]
    00592944ldrsb x27, [x1]
    00592948strb w2, [x1+8]
    0059294cldr x1, [sp+200]
    00592950ldrsb x27, [x1]
    00592954strb w2, [x1+9]
    00592958ldr x1, [sp+200]
    0059295cldrsb x27, [x1]
    00592960strb w2, [x1+10]
    00592964ldr x1, [sp+200]
    00592968ldrsb x27, [x1]
    0059296cstrb w2, [x1+11]
    00592970ldr x1, [sp+200]
    00592974ldrsb x27, [x1]
    00592978strb w2, [x1+12]
    0059297cldr x1, [sp+200]
    00592980ldrsb x27, [x1]
    00592984strb w2, [x1+13]
    00592988ldr x1, [sp+200]
    0059298cldrsb x27, [x1]
    00592990strb w2, [x1+14]
    00592994ldr x1, [sp+200]
    00592998ldrsb x27, [x1]
    0059299cstrb w2, [x1+15]
    005929a0ldr x1, [sp+200]
    005929a4ldrsb x27, [x1]
    005929a8strb w2, [x1+16]
    005929acldr x1, [sp+200]
    005929b0ldrsb x27, [x1]
    005929b4strb w2, [x1+17]
    005929b8ldr x1, [sp+200]
    005929bcldrsb x27, [x1]
    005929c0strb w2, [x1+18]
    005929c4ldr x1, [sp+200]
    005929c8ldrsb x27, [x1]
    005929ccstrb w2, [x1+19]
    005929d0ldr x1, [sp+200]
    005929d4ldrsb x27, [x1]
    005929d8strb w2, [x1+20]
    005929dcldr x1, [sp+200]
    005929e0ldrsb x27, [x1]
    005929e4strb w2, [x1+21]
    005929e8ldr x1, [sp+200]
    005929ecldrsb x27, [x1]
    005929f0strb w2, [x1+22]
    005929f4ldr x1, [sp+200]
    005929f8ldrsb x27, [x1]
    005929fcstrb w2, [x1+23]
    00592a00ldr x1, [sp+200]
    00592a04ldrsb x27, [x1]
    00592a08strb w2, [x1+24]
    00592a0cldr x1, [sp+200]
    00592a10ldrsb x27, [x1]
    00592a14strb w2, [x1+25]
    00592a18ldr x1, [sp+200]
    00592a1cldrsb x27, [x1]
    00592a20strb w2, [x1+26]
    00592a24ldr x1, [sp+200]
    00592a28ldrsb x27, [x1]
    00592a2cstrb w2, [x1+27]
    00592a30ldr x1, [sp+200]
    00592a34ldrsb x27, [x1]
    00592a38strb w2, [x1+28]
    00592a3cldr x1, [sp+200]
    00592a40ldrsb x27, [x1]
    00592a44strb w2, [x1+29]
    00592a48ldr x1, [sp+200]
    00592a4cldrsb x27, [x1]
    00592a50strb w2, [x1+30]
    00592a54ldr x1, [sp+200]
    00592a58ldrsb x27, [x1]
    00592a5cstrb w2, [x1+31]
    00592a60ldr x1, [sp+200]
    00592a64ldrsb x27, [x1]
    00592a68b 0x592a6c
    00592a6c
    00592a6cloc_592a6c:
    00592a6cstr x1, [sp+72]
    00592a70orr x3, xzr, 32
    00592a74str x3, [sp+80]
    00592a78str x3, [sp+88]
    00592a7cldr x0, [sp+160]
    00592a80mov x2, x3
    00592a84bl crypto/internal/fips140/edwards25519.(*Point).SetBytes
    00592a88str x0, [sp+168]
    00592a8cadrp x27, 0x4b9000
    00592a90ldr w4, [x27+3056]
    00592a94cbz w4, 0x592a9c
    00592a98b 0x592aa0
    00592a9c
    00592a9cloc_592a9c:
    00592a9cb 0x592ab8
    00592aa0
    00592aa0loc_592aa0:
    00592aa0bl runtime.gcWriteBarrier2
    00592aa4str x0, [x25]
    00592aa8adrp x27, 0x48f000
    00592aacldr x1, [x27+704]
    00592ab0str x1, [x25+8]
    00592ab4b 0x592ab8
    00592ab8
    00592ab8loc_592ab8:
    00592ab8adrp x27, 0x48f000
    00592abcstr x0, [x27+704]
    00592ac0adrp x0, 0xe5000
    00592ac4add x0, x0, 3648
    00592ac8bl runtime.newobject
    00592accstr x0, [sp+176]
    00592ad0adrp x27, 0x48f000
    00592ad4ldr x1, [x27+720]
    00592ad8adrp x27, 0x48f000
    00592adcldr x2, [x27+720]
    00592ae0bl crypto/internal/fips140/edwards25519/field.(*Element).Add
    00592ae4adrp x27, 0x4b9000
    00592ae8ldr w1, [x27+3056]
    00592aeccbz w1, 0x592af4
    00592af0b 0x592af8
    00592af4
    00592af4loc_592af4:
    00592af4b 0x592b10
    00592af8
    00592af8loc_592af8:
    00592af8bl runtime.gcWriteBarrier2
    00592afcstr x0, [x25]
    00592b00adrp x27, 0x48f000
    00592b04ldr x1, [x27+728]
    00592b08str x1, [x25+8]
    00592b0cb 0x592b10
    00592b10
    00592b10loc_592b10:
    00592b10adrp x27, 0x48f000
    00592b14str x0, [x27+728]
    00592b18adrp x0, 0x9c000
    00592b1cadd x0, x0, 2400
    00592b20bl runtime.newobject
    00592b24str x0, [sp+192]
    00592b28adrp x27, 0x197000
    00592b2cadd x27, x27, 3168
    00592b30ldp x1, x2, [x27]
    00592b34adrp x27, 0x197000
    00592b38add x27, x27, 3184
    00592b3cldp x3, x4, [x27]
    00592b40stp x1, x2, [x0]
    00592b44stp x3, x4, [x0+16]
    00592b48ldr x1, [sp+192]
    00592b4cadrp x27, 0x4b9000
    00592b50ldr w2, [x27+3056]
    00592b54cbz w2, 0x592b5c
    00592b58b 0x592b60
    00592b5c
    00592b5cloc_592b5c:
    00592b5cb 0x592b78
    00592b60
    00592b60loc_592b60:
    00592b60bl runtime.gcWriteBarrier2
    00592b64str x1, [x25]
    00592b68adrp x27, 0x48f000
    00592b6cldr x2, [x27+736]
    00592b70str x2, [x25+8]
    00592b74b 0x592b78
    00592b78
    00592b78loc_592b78:
    00592b78adrp x27, 0x48f000
    00592b7cstr x1, [x27+736]
    00592b80adrp x0, 0x9c000
    00592b84add x0, x0, 2400
    00592b88bl runtime.newobject
    00592b8cstr x0, [sp+184]
    00592b90adrp x27, 0x197000
    00592b94add x27, x27, 3200
    00592b98ldp x1, x2, [x27]
    00592b9cadrp x27, 0x197000
    00592ba0add x27, x27, 3216
    00592ba4ldp x3, x4, [x27]
    00592ba8stp x1, x2, [x0]
    00592bacstp x3, x4, [x0+16]
    00592bb0ldr x1, [sp+184]
    00592bb4adrp x27, 0x4b9000
    00592bb8ldr w2, [x27+3056]
    00592bbccbz w2, 0x592bc4
    00592bc0b 0x592bc8
    00592bc4
    00592bc4loc_592bc4:
    00592bc4b 0x592be0
    00592bc8
    00592bc8loc_592bc8:
    00592bc8bl runtime.gcWriteBarrier2
    00592bccstr x1, [x25]
    00592bd0adrp x27, 0x48f000
    00592bd4ldr x0, [x27+744]
    00592bd8str x0, [x25+8]
    00592bdcb 0x592be0
    00592be0
    00592be0loc_592be0:
    00592be0adrp x27, 0x48f000
    00592be4str x1, [x27+744]
    00592be8ldur x29, [sp-8]
    00592becldr x30, [sp], 224
    00592bf0ret x30
    00592bf4
    00592bf4loc_592bf4:
    00592bf4mov x3, x30
    00592bf8bl runtime.morestack_noctxt.abi0
    00592bfcb 0x5923e0
    005923e0
    00592c00
    00592c00crypto/internal/fips140/edwards25519.checkInitialized: ; void crypto/internal/fips140/edwards25519.checkInitialized(struct []*crypto/internal/fips140/edwards25519.Point points)
    00592c00ldr x16, [x28+16]
    00592c04sub x17, sp, 96
    00592c08subs xzr, x17, x16
    00592c0cb.ls 0x592d24
    00592c10str x30, [sp-224]!
    00592c14stur x29, [sp-8]
    00592c18sub x29, sp, 8
    00592c1cstr x0, [sp+232]
    00592c20str x1, [sp+240]
    00592c24str x2, [sp+248]
    00592c28str x0, [sp+176]
    00592c2cstr x1, [sp+184]
    00592c30str x2, [sp+192]
    00592c34str xzr, [sp+56]
    00592c38str x1, [sp+48]
    00592c3cb 0x592c40
    00592c40
    00592c40loc_592c40:
    00592c40ldr x3, [sp+48]
    00592c44ldr x4, [sp+56]
    00592c48subs xzr, x3, x4
    00592c4cb.gt 0x592c54
    00592c50b 0x592ce8
    00592c54
    00592c54loc_592c54:
    00592c54ldr x3, [sp+56]
    00592c58ldr x4, [sp+176]
    00592c5cldr x3, [x4+3*x3]
    00592c60str x3, [sp+144]
    00592c64stp xzr, xzr, [sp+104]
    00592c68stp xzr, xzr, [sp+120]
    00592c6cstr xzr, [sp+136]
    00592c70ldr x0, [sp+144]
    00592c74ldrsb x27, [x0]
    00592c78str x0, [sp+152]
    00592c7cadd x1, sp, 104
    00592c80movz x2, 40
    00592c84bl runtime.memequal
    00592c88strb w0, [sp+47]
    00592c8ctbnz w0, 0, 0x592c94
    00592c90b 0x592cc4
    00592c94
    00592c94loc_592c94:
    00592c94stp xzr, xzr, [sp+64]
    00592c98stp xzr, xzr, [sp+80]
    00592c9cstr xzr, [sp+96]
    00592ca0ldr x3, [sp+144]
    00592ca4ldrsb x27, [x3]
    00592ca8add x0, x3, 40
    00592cacstr x0, [sp+208]
    00592cb0add x1, sp, 64
    00592cb4movz x2, 40
    00592cb8bl runtime.memequal
    00592cbcstrb w0, [sp+47]
    00592cc0b 0x592cc8
    00592cc4
    00592cc4loc_592cc4:
    00592cc4b 0x592cc8
    00592cc8
    00592cc8loc_592cc8:
    00592cc8ldrb w3, [sp+47]
    00592ccctbnz w3, 0, 0x592cf4
    00592cd0b 0x592cd4
    00592cd4
    00592cd4loc_592cd4:
    00592cd4b 0x592cd8
    00592cd8
    00592cd8loc_592cd8:
    00592cd8ldr x3, [sp+56]
    00592cdcadd x3, x3, 1
    00592ce0str x3, [sp+56]
    00592ce4b 0x592c40
    00592ce8
    00592ce8loc_592ce8:
    00592ce8ldur x29, [sp-8]
    00592cecldr x30, [sp], 224
    00592cf0ret x30
    00592cf4
    00592cf4loc_592cf4:
    00592cf4adrp x0, 0x132000
    00592cf8add x0, x0, 2579
    00592cfcstr x0, [sp+160]
    00592d00movz x1, 40
    00592d04str x1, [sp+168]
    00592d08bl runtime.convTstring
    00592d0cstr x0, [sp+200]
    00592d10mov x1, x0
    00592d14adrp x0, 0x63000
    00592d18add x0, x0, 2944
    00592d1cbl runtime.gopanic
    00592d20hint
    00592d24
    00592d24loc_592d24:
    00592d24stp x0, x1, [sp+8]
    00592d28str x2, [sp+24]
    00592d2cmov x3, x30
    00592d30bl runtime.morestack_noctxt.abi0
    00592d34ldp x0, x1, [sp+8]
    00592d38ldr x2, [sp+24]
    00592d3cb 0x592c00
    00592c00
    00592d40
    00592d40crypto/internal/fips140/edwards25519.(*projP2).Zero: ; void crypto/internal/fips140/edwards25519.(*projP2).Zero(crypto/internal/fips140/edwards25519.projP2 * v)
    00592d40ldr x16, [x28+16]
    00592d44subs xzr, sp, x16
    00592d48b.ls 0x592dac
    00592d4cstr x30, [sp-64]!
    00592d50stur x29, [sp-8]
    00592d54sub x29, sp, 8
    00592d58str x0, [sp+72]
    00592d5cstr xzr, [sp+24]
    00592d60ldr x0, [sp+72]
    00592d64ldrsb x27, [x0]
    00592d68str x0, [sp+48]
    00592d6cbl crypto/internal/fips140/edwards25519/field.(*Element).Zero
    00592d70ldr x1, [sp+72]
    00592d74ldrsb x27, [x1]
    00592d78add x0, x1, 40
    00592d7cstr x0, [sp+40]
    00592d80bl crypto/internal/fips140/edwards25519/field.(*Element).One
    00592d84ldr x1, [sp+72]
    00592d88ldrsb x27, [x1]
    00592d8cadd x0, x1, 80
    00592d90str x0, [sp+32]
    00592d94bl crypto/internal/fips140/edwards25519/field.(*Element).One
    00592d98ldr x0, [sp+72]
    00592d9cstr x0, [sp+24]
    00592da0ldur x29, [sp-8]
    00592da4ldr x30, [sp], 64
    00592da8ret x30
    00592dac
    00592dacloc_592dac:
    00592dacstr x0, [sp+8]
    00592db0mov x3, x30
    00592db4bl runtime.morestack_noctxt.abi0
    00592db8ldr x0, [sp+8]
    00592dbcb 0x592d40
    00592d40
    00592dc0
    00592dc0crypto/internal/fips140/edwards25519.NewIdentityPoint: ; void crypto/internal/fips140/edwards25519.NewIdentityPoint(void)
    00592dc0ldr x16, [x28+16]
    00592dc4subs xzr, sp, x16
    00592dc8b.ls 0x592e0c
    00592dccstr x30, [sp-64]!
    00592dd0stur x29, [sp-8]
    00592dd4sub x29, sp, 8
    00592dd8str xzr, [sp+32]
    00592ddcadrp x0, 0xe6000
    00592de0add x0, x0, 448
    00592de4bl runtime.newobject
    00592de8str x0, [sp+48]
    00592decadrp x27, 0x48f000
    00592df0ldr x1, [x27+696]
    00592df4bl crypto/internal/fips140/edwards25519.(*Point).Set
    00592df8str x0, [sp+40]
    00592dfcstr x0, [sp+32]
    00592e00ldur x29, [sp-8]
    00592e04ldr x30, [sp], 64
    00592e08ret x30
    00592e0c
    00592e0cloc_592e0c:
    00592e0cmov x3, x30
    00592e10bl runtime.morestack_noctxt.abi0
    00592e14b 0x592dc0
    00592e18udf 0
    00592e1cudf 0
    00592dc0
    00592e20
    00592e20crypto/internal/fips140/edwards25519.NewGeneratorPoint: ; void crypto/internal/fips140/edwards25519.NewGeneratorPoint(void)
    00592e20ldr x16, [x28+16]
    00592e24subs xzr, sp, x16
    00592e28b.ls 0x592e6c
    00592e2cstr x30, [sp-64]!
    00592e30stur x29, [sp-8]
    00592e34sub x29, sp, 8
    00592e38str xzr, [sp+32]
    00592e3cadrp x0, 0xe6000
    00592e40add x0, x0, 448
    00592e44bl runtime.newobject
    00592e48str x0, [sp+48]
    00592e4cadrp x27, 0x48f000
    00592e50ldr x1, [x27+704]
    00592e54bl crypto/internal/fips140/edwards25519.(*Point).Set
    00592e58str x0, [sp+40]
    00592e5cstr x0, [sp+32]
    00592e60ldur x29, [sp-8]
    00592e64ldr x30, [sp], 64
    00592e68ret x30
    00592e6c
    00592e6cloc_592e6c:
    00592e6cmov x3, x30
    00592e70bl runtime.morestack_noctxt.abi0
    00592e74b 0x592e20
    00592e78udf 0
    00592e7cudf 0
    00592e20
    00592e80
    00592e80crypto/internal/fips140/edwards25519.(*affineCached).Zero: ; void crypto/internal/fips140/edwards25519.(*affineCached).Zero(crypto/internal/fips140/edwards25519.affineCached * v)
    00592e80ldr x16, [x28+16]
    00592e84subs xzr, sp, x16
    00592e88b.ls 0x592eec
    00592e8cstr x30, [sp-64]!
    00592e90stur x29, [sp-8]
    00592e94sub x29, sp, 8
    00592e98str x0, [sp+72]
    00592e9cstr xzr, [sp+24]
    00592ea0ldr x0, [sp+72]
    00592ea4ldrsb x27, [x0]
    00592ea8str x0, [sp+48]
    00592eacbl crypto/internal/fips140/edwards25519/field.(*Element).One
    00592eb0ldr x1, [sp+72]
    00592eb4ldrsb x27, [x1]
    00592eb8add x0, x1, 40
    00592ebcstr x0, [sp+40]
    00592ec0bl crypto/internal/fips140/edwards25519/field.(*Element).One
    00592ec4ldr x1, [sp+72]
    00592ec8ldrsb x27, [x1]
    00592eccadd x0, x1, 80
    00592ed0str x0, [sp+32]
    00592ed4bl crypto/internal/fips140/edwards25519/field.(*Element).Zero
    00592ed8ldr x0, [sp+72]
    00592edcstr x0, [sp+24]
    00592ee0ldur x29, [sp-8]
    00592ee4ldr x30, [sp], 64
    00592ee8ret x30
    00592eec
    00592eecloc_592eec:
    00592eecstr x0, [sp+8]
    00592ef0mov x3, x30
    00592ef4bl runtime.morestack_noctxt.abi0
    00592ef8ldr x0, [sp+8]
    00592efcb 0x592e80
    00592e80
    00592f00
    00592f00crypto/internal/fips140/edwards25519.(*Point).Set: ; void crypto/internal/fips140/edwards25519.(*Point).Set(crypto/internal/fips140/edwards25519.Point * v, crypto/internal/fips140/edwards25519.Point * u)
    00592f00ldr x16, [x28+16]
    00592f04subs xzr, sp, x16
    00592f08b.ls 0x592f5c
    00592f0cstr x30, [sp-32]!
    00592f10stur x29, [sp-8]
    00592f14sub x29, sp, 8
    00592f18str x0, [sp+40]
    00592f1cstr x1, [sp+48]
    00592f20str xzr, [sp+16]
    00592f24ldr x21, [sp+40]
    00592f28ldrsb x27, [x21]
    00592f2cldr x20, [sp+48]
    00592f30ldrsb x27, [x20]
    00592f34adr x27, 16
    00592f38stp x29, x27, [sp-24]
    00592f3csub x29, sp, 24
    00592f40bl fn_87ed0
    00592f44sub x29, sp, 8
    00592f48ldr x0, [sp+40]
    00592f4cstr x0, [sp+16]
    00592f50ldur x29, [sp-8]
    00592f54ldr x30, [sp], 32
    00592f58ret x30
    00592f5c
    00592f5cloc_592f5c:
    00592f5cstp x0, x1, [sp+8]
    00592f60mov x3, x30
    00592f64bl runtime.morestack_noctxt.abi0
    00592f68ldp x0, x1, [sp+8]
    00592f6cb 0x592f00
    00592f00
    00592f70
    00592f70crypto/internal/fips140/edwards25519.(*Point).Bytes: ; void crypto/internal/fips140/edwards25519.(*Point).Bytes(crypto/internal/fips140/edwards25519.Point * v)
    00592f70ldr x16, [x28+16]
    00592f74subs xzr, sp, x16
    00592f78b.ls 0x592fdc
    00592f7cstr x30, [sp-96]!
    00592f80stur x29, [sp-8]
    00592f84sub x29, sp, 8
    00592f88str x0, [sp+104]
    00592f8cstr xzr, [sp+32]
    00592f90stp xzr, xzr, [sp+40]
    00592f94adrp x0, 0x6b000
    00592f98add x0, x0, 2240
    00592f9cbl runtime.newobject
    00592fa0str x0, [sp+80]
    00592fa4stp xzr, xzr, [x0]
    00592fa8stp xzr, xzr, [x0+16]
    00592facldr x0, [sp+104]
    00592fb0ldr x1, [sp+80]
    00592fb4bl crypto/internal/fips140/edwards25519.(*Point).bytes
    00592fb8str x0, [sp+56]
    00592fbcstr x1, [sp+64]
    00592fc0str x2, [sp+72]
    00592fc4str x0, [sp+32]
    00592fc8str x1, [sp+40]
    00592fccstr x2, [sp+48]
    00592fd0ldur x29, [sp-8]
    00592fd4ldr x30, [sp], 96
    00592fd8ret x30
    00592fdc
    00592fdcloc_592fdc:
    00592fdcstr x0, [sp+8]
    00592fe0mov x3, x30
    00592fe4bl runtime.morestack_noctxt.abi0
    00592fe8ldr x0, [sp+8]
    00592fecb 0x592f70
    00592f70
    00592ff0
    00592ff0crypto/internal/fips140/edwards25519.(*Point).bytes: ; void crypto/internal/fips140/edwards25519.(*Point).bytes(crypto/internal/fips140/edwards25519.Point * v, uint8[32] * buf)
    00592ff0ldr x16, [x28+16]
    00592ff4sub x17, sp, 160
    00592ff8subs xzr, x17, x16
    00592ffcb.ls 0x593180
    00593000sub x20, sp, 288
    00593004stp x29, x30, [x20-8]
    00593008add sp, x20, 0
    0059300csub x29, sp, 8
    00593010str x0, [sp+296]
    00593014str x1, [sp+304]
    00593018stp xzr, xzr, [sp+168]
    0059301cstr xzr, [sp+184]
    00593020str xzr, [sp+240]
    00593024add x0, sp, 240
    00593028str x0, [sp+272]
    0059302cldrsb x27, [x0]
    00593030ldr x3, [sp+296]
    00593034adrp x27, 0x4b8000
    00593038ldr w4, [x27+3056]
    0059303ccbz w4, 0x593044
    00593040b 0x593048
    00593044
    00593044loc_593044:
    00593044b 0x59305c
    00593048
    00593048loc_593048:
    00593048bl runtime.gcWriteBarrier2
    0059304cstr x3, [x25]
    00593050ldr x4, [x0]
    00593054str x4, [x25+8]
    00593058b 0x59305c
    0059305c
    0059305cloc_59305c:
    0059305cstr x3, [x0]
    00593060ldrsb x27, [x0]
    00593064b 0x593068
    00593068
    00593068loc_593068:
    00593068str x0, [sp+216]
    0059306corr x2, xzr, 1
    00593070str x2, [sp+224]
    00593074str x2, [sp+232]
    00593078mov x1, x2
    0059307cbl crypto/internal/fips140/edwards25519.checkInitialized
    00593080stp xzr, xzr, [sp+40]
    00593084stp xzr, xzr, [sp+56]
    00593088str xzr, [sp+72]
    0059308cstp xzr, xzr, [sp+120]
    00593090stp xzr, xzr, [sp+136]
    00593094str xzr, [sp+152]
    00593098stp xzr, xzr, [sp+80]
    0059309cstp xzr, xzr, [sp+96]
    005930a0str xzr, [sp+112]
    005930a4ldr x3, [sp+296]
    005930a8ldrsb x27, [x3]
    005930acadd x1, x3, 80
    005930b0str x1, [sp+264]
    005930b4add x0, sp, 40
    005930b8bl crypto/internal/fips140/edwards25519/field.(*Element).Invert
    005930bcldr x1, [sp+296]
    005930c0ldrsb x27, [x1]
    005930c4str x1, [sp+256]
    005930c8add x0, sp, 120
    005930ccadd x2, sp, 40
    005930d0bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    005930d4ldr x3, [sp+296]
    005930d8ldrsb x27, [x3]
    005930dcadd x1, x3, 40
    005930e0str x1, [sp+248]
    005930e4add x0, sp, 80
    005930e8add x2, sp, 40
    005930ecbl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    005930f0ldr x0, [sp+304]
    005930f4add x1, sp, 80
    005930f8bl crypto/internal/fips140/edwards25519.copyFieldElement
    005930fcstr x0, [sp+192]
    00593100str x1, [sp+200]
    00593104str x2, [sp+208]
    00593108add x0, sp, 120
    0059310cbl crypto/internal/fips140/edwards25519/field.(*Element).IsNegative
    00593110str x0, [sp+160]
    00593114ldr x1, [sp+200]
    00593118ldr x3, [sp+192]
    0059311csubs xzr, x1, 31
    00593120b.hi 0x593128
    00593124b 0x593174
    00593128
    00593128loc_593128:
    00593128ldr x1, [sp+200]
    0059312cldr x4, [sp+192]
    00593130ldrb w3, [x3+31]
    00593134orr x3, x3, x0, lsl #7
    00593138subs xzr, x1, 31
    0059313cb.hi 0x593144
    00593140b 0x59316c
    00593144
    00593144loc_593144:
    00593144strb w3, [x4+31]
    00593148ldr x0, [sp+192]
    0059314cldr x1, [sp+200]
    00593150ldr x2, [sp+208]
    00593154str x0, [sp+168]
    00593158str x1, [sp+176]
    0059315cstr x2, [sp+184]
    00593160ldp x29, x30, [sp-8]
    00593164add sp, sp, 288
    00593168ret x30
    0059316c
    0059316cloc_59316c:
    0059316corr x0, xzr, 31
    00593170bl runtime.panicIndex
    00593174
    00593174loc_593174:
    00593174orr x0, xzr, 31
    00593178bl runtime.panicIndex
    0059317chint
    00593180
    00593180loc_593180:
    00593180stp x0, x1, [sp+8]
    00593184mov x3, x30
    00593188bl runtime.morestack_noctxt.abi0
    0059318cldp x0, x1, [sp+8]
    00593190b 0x592ff0
    00593194udf 0
    00593198udf 0
    0059319cudf 0
    00592ff0
    005931a0
    005931a0crypto/internal/fips140/edwards25519.(*Point).SetBytes: ; void crypto/internal/fips140/edwards25519.(*Point).SetBytes(crypto/internal/fips140/edwards25519.Point * v, struct []uint8 x)
    005931a0ldr x16, [x28+16]
    005931a4sub x17, sp, 384
    005931a8subs xzr, x17, x16
    005931acb.ls 0x59347c
    005931b0sub x20, sp, 512
    005931b4stp x29, x30, [x20-8]
    005931b8add sp, x20, 0
    005931bcsub x29, sp, 8
    005931c0str x0, [sp+520]
    005931c4str x1, [sp+528]
    005931c8str x2, [sp+536]
    005931ccstr x3, [sp+544]
    005931d0str xzr, [sp+336]
    005931d4stp xzr, xzr, [sp+320]
    005931d8stp xzr, xzr, [sp+264]
    005931dcstp xzr, xzr, [sp+280]
    005931e0str xzr, [sp+296]
    005931e4add x4, sp, 264
    005931e8str x4, [sp+488]
    005931ecstr xzr, [sp+480]
    005931f0stp xzr, xzr, [sp+464]
    005931f4ldr x1, [sp+528]
    005931f8ldr x2, [sp+536]
    005931fcldr x3, [sp+544]
    00593200ldr x0, [sp+488]
    00593204bl crypto/internal/fips140/edwards25519/field.(*Element).SetBytes
    00593208str x0, [sp+480]
    0059320cstr x1, [sp+464]
    00593210str x2, [sp+472]
    00593214ldr x4, [sp+480]
    00593218str x4, [sp+424]
    0059321cldr x4, [sp+464]
    00593220ldr x5, [sp+472]
    00593224str x4, [sp+408]
    00593228str x5, [sp+416]
    0059322cldr x4, [sp+424]
    00593230str x4, [sp+352]
    00593234ldr x4, [sp+416]
    00593238ldr x5, [sp+408]
    0059323cstr x5, [sp+392]
    00593240str x4, [sp+400]
    00593244cbnz x5, 0x59324c
    00593248b 0x593288
    0059324c
    0059324cloc_59324c:
    0059324cadrp x0, 0x133000
    00593250add x0, x0, 763
    00593254movz x1, 43
    00593258bl errors.New
    0059325cstr x0, [sp+464]
    00593260str x1, [sp+472]
    00593264str xzr, [sp+336]
    00593268ldr x1, [sp+464]
    0059326cldr x2, [sp+472]
    00593270str x1, [sp+320]
    00593274str x2, [sp+328]
    00593278ldr x0, [sp+336]
    0059327cldp x29, x30, [sp-8]
    00593280add sp, sp, 512
    00593284ret x30
    00593288
    00593288loc_593288:
    00593288stp xzr, xzr, [sp+224]
    0059328cstp xzr, xzr, [sp+240]
    00593290str xzr, [sp+256]
    00593294add x0, sp, 224
    00593298str x0, [sp+480]
    0059329cldr x1, [sp+352]
    005932a0bl crypto/internal/fips140/edwards25519/field.(*Element).Square
    005932a4str x0, [sp+344]
    005932a8stp xzr, xzr, [sp+184]
    005932acstp xzr, xzr, [sp+200]
    005932b0str xzr, [sp+216]
    005932b4add x0, sp, 184
    005932b8str x0, [sp+480]
    005932bcldr x1, [sp+344]
    005932c0adrp x27, 0x48e000
    005932c4ldr x2, [x27+712]
    005932c8bl crypto/internal/fips140/edwards25519/field.(*Element).Subtract
    005932ccstr x0, [sp+384]
    005932d0stp xzr, xzr, [sp+144]
    005932d4stp xzr, xzr, [sp+160]
    005932d8str xzr, [sp+176]
    005932dcadd x0, sp, 144
    005932e0str x0, [sp+480]
    005932e4ldr x1, [sp+344]
    005932e8adrp x27, 0x48e000
    005932ecldr x2, [x27+720]
    005932f0bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    005932f4str x0, [sp+376]
    005932f8adrp x27, 0x48e000
    005932fcldr x2, [x27+712]
    00593300mov x1, x0
    00593304bl crypto/internal/fips140/edwards25519/field.(*Element).Add
    00593308str x0, [sp+376]
    0059330cstp xzr, xzr, [sp+104]
    00593310stp xzr, xzr, [sp+120]
    00593314str xzr, [sp+136]
    00593318add x2, sp, 104
    0059331cstr x2, [sp+480]
    00593320str xzr, [sp+488]
    00593324ldr x1, [sp+384]
    00593328ldr x2, [sp+376]
    0059332cldr x0, [sp+480]
    00593330bl crypto/internal/fips140/edwards25519/field.(*Element).SqrtRatio
    00593334str x0, [sp+488]
    00593338str x1, [sp+304]
    0059333cstr x0, [sp+496]
    00593340ldr x2, [sp+304]
    00593344str x2, [sp+312]
    00593348str x0, [sp+368]
    0059334cldr x2, [sp+312]
    00593350str x2, [sp+48]
    00593354cbz x2, 0x59335c
    00593358b 0x593398
    0059335c
    0059335cloc_59335c:
    0059335cadrp x0, 0x12e000
    00593360add x0, x0, 3901
    00593364movz x1, 36
    00593368bl errors.New
    0059336cstr x0, [sp+464]
    00593370str x1, [sp+472]
    00593374str xzr, [sp+336]
    00593378ldr x1, [sp+464]
    0059337cldr x2, [sp+472]
    00593380str x1, [sp+320]
    00593384str x2, [sp+328]
    00593388ldr x0, [sp+336]
    0059338cldp x29, x30, [sp-8]
    00593390add sp, sp, 512
    00593394ret x30
    00593398
    00593398loc_593398:
    00593398stp xzr, xzr, [sp+64]
    0059339cstp xzr, xzr, [sp+80]
    005933a0str xzr, [sp+96]
    005933a4add x0, sp, 64
    005933a8str x0, [sp+488]
    005933acldr x1, [sp+368]
    005933b0bl crypto/internal/fips140/edwards25519/field.(*Element).Negate
    005933b4str x0, [sp+360]
    005933b8ldr x1, [sp+536]
    005933bcldr x2, [sp+528]
    005933c0subs xzr, x1, 31
    005933c4b.hi 0x5933cc
    005933c8b 0x593470
    005933cc
    005933ccloc_5933cc:
    005933ccldrb w4, [x2+31]
    005933d0ubfm x3, x4, 7, 7
    005933d4str x3, [sp+56]
    005933d8ldr x4, [sp+368]
    005933dcldr x2, [sp+368]
    005933e0mov x1, x0
    005933e4mov x0, x4
    005933e8bl crypto/internal/fips140/edwards25519/field.(*Element).Select
    005933ecstr x0, [sp+368]
    005933f0ldr x0, [sp+520]
    005933f4ldrsb x27, [x0]
    005933f8str x0, [sp+456]
    005933fcldr x1, [sp+368]
    00593400bl crypto/internal/fips140/edwards25519/field.(*Element).Set
    00593404ldr x4, [sp+520]
    00593408ldrsb x27, [x4]
    0059340cadd x0, x4, 40
    00593410str x0, [sp+448]
    00593414ldr x1, [sp+352]
    00593418bl crypto/internal/fips140/edwards25519/field.(*Element).Set
    0059341cldr x4, [sp+520]
    00593420ldrsb x27, [x4]
    00593424add x0, x4, 80
    00593428str x0, [sp+440]
    0059342cbl crypto/internal/fips140/edwards25519/field.(*Element).One
    00593430ldr x4, [sp+520]
    00593434ldrsb x27, [x4]
    00593438add x0, x4, 120
    0059343cstr x0, [sp+432]
    00593440ldr x1, [sp+368]
    00593444ldr x2, [sp+352]
    00593448bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    0059344cldr x4, [sp+520]
    00593450str x4, [sp+336]
    00593454stp xzr, xzr, [sp+320]
    00593458ldr x0, [sp+336]
    0059345cmov x1, xzr
    00593460mov x2, xzr
    00593464ldp x29, x30, [sp-8]
    00593468add sp, sp, 512
    0059346cret x30
    00593470
    00593470loc_593470:
    00593470orr x0, xzr, 31
    00593474bl runtime.panicIndex
    00593478hint
    0059347c
    0059347cloc_59347c:
    0059347cstp x0, x1, [sp+8]
    00593480stp x2, x3, [sp+24]
    00593484mov x3, x30
    00593488bl runtime.morestack_noctxt.abi0
    0059348cldp x0, x1, [sp+8]
    00593490ldp x2, x3, [sp+24]
    00593494b 0x5931a0
    00593498udf 0
    0059349cudf 0
    005931a0
    005934a0
    005934a0crypto/internal/fips140/edwards25519.copyFieldElement: ; void crypto/internal/fips140/edwards25519.copyFieldElement(uint8[32] * buf, crypto/internal/fips140/edwards25519/field.Element * v)
    005934a0ldr x16, [x28+16]
    005934a4sub x17, sp, 48
    005934a8subs xzr, x17, x16
    005934acb.ls 0x5935bc
    005934b0str x30, [sp-176]!
    005934b4stur x29, [sp-8]
    005934b8sub x29, sp, 8
    005934bcstr x0, [sp+184]
    005934c0str x1, [sp+192]
    005934c4str xzr, [sp+48]
    005934c8stp xzr, xzr, [sp+56]
    005934ccldr x1, [sp+184]
    005934d0ldrsb x27, [x1]
    005934d4b 0x5934d8
    005934d8
    005934d8loc_5934d8:
    005934d8str x1, [sp+144]
    005934dcorr x1, xzr, 32
    005934e0str x1, [sp+152]
    005934e4str x1, [sp+160]
    005934e8ldr x0, [sp+192]
    005934ecbl crypto/internal/fips140/edwards25519/field.(*Element).Bytes
    005934f0str x0, [sp+120]
    005934f4str x1, [sp+128]
    005934f8str x2, [sp+136]
    005934fcldr x1, [sp+144]
    00593500ldr x2, [sp+152]
    00593504ldr x3, [sp+160]
    00593508str x1, [sp+96]
    0059350cstr x2, [sp+104]
    00593510str x3, [sp+112]
    00593514ldr x1, [sp+128]
    00593518ldr x2, [sp+120]
    0059351cldr x3, [sp+136]
    00593520str x2, [sp+72]
    00593524str x1, [sp+80]
    00593528str x3, [sp+88]
    0059352cldr x2, [sp+104]
    00593530str x2, [sp+40]
    00593534subs xzr, x2, x1
    00593538b.gt 0x593540
    0059353cb 0x593548
    00593540
    00593540loc_593540:
    00593540str x1, [sp+40]
    00593544b 0x59354c
    00593548
    00593548loc_593548:
    00593548b 0x59354c
    0059354c
    0059354cloc_59354c:
    0059354cldr x3, [sp+72]
    00593550ldr x4, [sp+96]
    00593554subs xzr, x3, x4
    00593558b.ne 0x593560
    0059355cb 0x59357c
    00593560
    00593560loc_593560:
    00593560ldr x3, [sp+40]
    00593564str x3, [sp+32]
    00593568ldr x2, [sp+32]
    0059356cldr x1, [sp+72]
    00593570ldr x0, [sp+96]
    00593574bl runtime.memmove
    00593578b 0x593580
    0059357c
    0059357cloc_59357c:
    0059357cb 0x593580
    00593580
    00593580loc_593580:
    00593580ldr x3, [sp+184]
    00593584ldrsb x27, [x3]
    00593588b 0x59358c
    0059358c
    0059358cloc_59358c:
    0059358cstr x3, [sp+120]
    00593590orr x2, xzr, 32
    00593594str x2, [sp+128]
    00593598str x2, [sp+136]
    0059359cstr x3, [sp+48]
    005935a0str x2, [sp+56]
    005935a4str x2, [sp+64]
    005935a8ldr x0, [sp+48]
    005935acmov x1, x2
    005935b0ldur x29, [sp-8]
    005935b4ldr x30, [sp], 176
    005935b8ret x30
    005935bc
    005935bcloc_5935bc:
    005935bcstp x0, x1, [sp+8]
    005935c0mov x3, x30
    005935c4bl runtime.morestack_noctxt.abi0
    005935c8ldp x0, x1, [sp+8]
    005935ccb 0x5934a0
    005934a0
    005935d0
    005935d0crypto/internal/fips140/edwards25519.(*projP2).FromP1xP1: ; void crypto/internal/fips140/edwards25519.(*projP2).FromP1xP1(crypto/internal/fips140/edwards25519.projP2 * v, crypto/internal/fips140/edwards25519.projP1xP1 * p)
    005935d0ldr x16, [x28+16]
    005935d4subs xzr, sp, x16
    005935d8b.ls 0x5936b4
    005935dcstr x30, [sp-128]!
    005935e0stur x29, [sp-8]
    005935e4sub x29, sp, 8
    005935e8str x0, [sp+136]
    005935ecstr x1, [sp+144]
    005935f0str xzr, [sp+40]
    005935f4ldr x3, [sp+136]
    005935f8ldrsb x27, [x3]
    005935fcstr x3, [sp+96]
    00593600ldr x3, [sp+144]
    00593604ldrsb x27, [x3]
    00593608str x3, [sp+88]
    0059360cldr x3, [sp+144]
    00593610ldrsb x27, [x3]
    00593614add x2, x3, 120
    00593618str x2, [sp+80]
    0059361cldr x1, [sp+88]
    00593620ldr x0, [sp+96]
    00593624bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00593628ldr x3, [sp+136]
    0059362cldrsb x27, [x3]
    00593630add x3, x3, 40
    00593634str x3, [sp+72]
    00593638ldr x3, [sp+144]
    0059363cldrsb x27, [x3]
    00593640add x3, x3, 40
    00593644str x3, [sp+64]
    00593648ldr x3, [sp+144]
    0059364cldrsb x27, [x3]
    00593650add x2, x3, 80
    00593654str x2, [sp+56]
    00593658ldr x1, [sp+64]
    0059365cldr x0, [sp+72]
    00593660bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00593664ldr x3, [sp+136]
    00593668ldrsb x27, [x3]
    0059366cadd x3, x3, 80
    00593670str x3, [sp+48]
    00593674ldr x3, [sp+144]
    00593678ldrsb x27, [x3]
    0059367cadd x3, x3, 80
    00593680str x3, [sp+112]
    00593684ldr x3, [sp+144]
    00593688ldrsb x27, [x3]
    0059368cadd x2, x3, 120
    00593690str x2, [sp+104]
    00593694ldr x0, [sp+48]
    00593698ldr x1, [sp+112]
    0059369cbl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    005936a0ldr x0, [sp+136]
    005936a4str x0, [sp+40]
    005936a8ldur x29, [sp-8]
    005936acldr x30, [sp], 128
    005936b0ret x30
    005936b4
    005936b4loc_5936b4:
    005936b4stp x0, x1, [sp+8]
    005936b8mov x3, x30
    005936bcbl runtime.morestack_noctxt.abi0
    005936c0ldp x0, x1, [sp+8]
    005936c4b 0x5935d0
    005936c8udf 0
    005936ccudf 0
    005935d0
    005936d0
    005936d0crypto/internal/fips140/edwards25519.(*projP2).FromP3: ; void crypto/internal/fips140/edwards25519.(*projP2).FromP3(crypto/internal/fips140/edwards25519.projP2 * v, crypto/internal/fips140/edwards25519.Point * p)
    005936d0ldr x16, [x28+16]
    005936d4subs xzr, sp, x16
    005936d8b.ls 0x593778
    005936dcstr x30, [sp-96]!
    005936e0stur x29, [sp-8]
    005936e4sub x29, sp, 8
    005936e8str x0, [sp+104]
    005936ecstr x1, [sp+112]
    005936f0str xzr, [sp+32]
    005936f4ldr x2, [sp+104]
    005936f8ldrsb x27, [x2]
    005936fcstr x2, [sp+80]
    00593700ldr x1, [sp+112]
    00593704ldrsb x27, [x1]
    00593708str x1, [sp+72]
    0059370cldr x0, [sp+80]
    00593710bl crypto/internal/fips140/edwards25519/field.(*Element).Set
    00593714ldr x2, [sp+104]
    00593718ldrsb x27, [x2]
    0059371cadd x2, x2, 40
    00593720str x2, [sp+64]
    00593724ldr x2, [sp+112]
    00593728ldrsb x27, [x2]
    0059372cadd x1, x2, 40
    00593730str x1, [sp+56]
    00593734ldr x0, [sp+64]
    00593738bl crypto/internal/fips140/edwards25519/field.(*Element).Set
    0059373cldr x2, [sp+104]
    00593740ldrsb x27, [x2]
    00593744add x2, x2, 80
    00593748str x2, [sp+48]
    0059374cldr x2, [sp+112]
    00593750ldrsb x27, [x2]
    00593754add x1, x2, 80
    00593758str x1, [sp+40]
    0059375cldr x0, [sp+48]
    00593760bl crypto/internal/fips140/edwards25519/field.(*Element).Set
    00593764ldr x0, [sp+104]
    00593768str x0, [sp+32]
    0059376cldur x29, [sp-8]
    00593770ldr x30, [sp], 96
    00593774ret x30
    00593778
    00593778loc_593778:
    00593778stp x0, x1, [sp+8]
    0059377cmov x3, x30
    00593780bl runtime.morestack_noctxt.abi0
    00593784ldp x0, x1, [sp+8]
    00593788b 0x5936d0
    0059378cudf 0
    005936d0
    00593790
    00593790crypto/internal/fips140/edwards25519.(*Point).fromP1xP1: ; void crypto/internal/fips140/edwards25519.(*Point).fromP1xP1(crypto/internal/fips140/edwards25519.Point * v, crypto/internal/fips140/edwards25519.projP1xP1 * p)
    00593790ldr x16, [x28+16]
    00593794sub x17, sp, 16
    00593798subs xzr, x17, x16
    0059379cb.ls 0x5938b0
    005937a0str x30, [sp-144]!
    005937a4stur x29, [sp-8]
    005937a8sub x29, sp, 8
    005937acstr x0, [sp+152]
    005937b0str x1, [sp+160]
    005937b4str xzr, [sp+32]
    005937b8ldr x3, [sp+152]
    005937bcldrsb x27, [x3]
    005937c0str x3, [sp+88]
    005937c4ldr x3, [sp+160]
    005937c8ldrsb x27, [x3]
    005937ccstr x3, [sp+80]
    005937d0ldr x3, [sp+160]
    005937d4ldrsb x27, [x3]
    005937d8add x2, x3, 120
    005937dcstr x2, [sp+72]
    005937e0ldr x1, [sp+80]
    005937e4ldr x0, [sp+88]
    005937e8bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    005937ecldr x3, [sp+152]
    005937f0ldrsb x27, [x3]
    005937f4add x3, x3, 40
    005937f8str x3, [sp+64]
    005937fcldr x3, [sp+160]
    00593800ldrsb x27, [x3]
    00593804add x3, x3, 40
    00593808str x3, [sp+56]
    0059380cldr x3, [sp+160]
    00593810ldrsb x27, [x3]
    00593814add x2, x3, 80
    00593818str x2, [sp+48]
    0059381cldr x1, [sp+56]
    00593820ldr x0, [sp+64]
    00593824bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00593828ldr x3, [sp+152]
    0059382cldrsb x27, [x3]
    00593830add x3, x3, 80
    00593834str x3, [sp+40]
    00593838ldr x3, [sp+160]
    0059383cldrsb x27, [x3]
    00593840add x3, x3, 80
    00593844str x3, [sp+128]
    00593848ldr x3, [sp+160]
    0059384cldrsb x27, [x3]
    00593850add x2, x3, 120
    00593854str x2, [sp+120]
    00593858ldr x0, [sp+40]
    0059385cldr x1, [sp+128]
    00593860bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00593864ldr x3, [sp+152]
    00593868ldrsb x27, [x3]
    0059386cadd x3, x3, 120
    00593870str x3, [sp+112]
    00593874ldr x3, [sp+160]
    00593878ldrsb x27, [x3]
    0059387cstr x3, [sp+104]
    00593880ldr x3, [sp+160]
    00593884ldrsb x27, [x3]
    00593888add x2, x3, 40
    0059388cstr x2, [sp+96]
    00593890ldr x0, [sp+112]
    00593894ldr x1, [sp+104]
    00593898bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    0059389cldr x0, [sp+152]
    005938a0str x0, [sp+32]
    005938a4ldur x29, [sp-8]
    005938a8ldr x30, [sp], 144
    005938acret x30
    005938b0
    005938b0loc_5938b0:
    005938b0stp x0, x1, [sp+8]
    005938b4mov x3, x30
    005938b8bl runtime.morestack_noctxt.abi0
    005938bcldp x0, x1, [sp+8]
    005938c0b 0x593790
    005938c4udf 0
    005938c8udf 0
    005938ccudf 0
    00593790
    005938d0
    005938d0crypto/internal/fips140/edwards25519.(*Point).fromP2: ; void crypto/internal/fips140/edwards25519.(*Point).fromP2(crypto/internal/fips140/edwards25519.Point * v, crypto/internal/fips140/edwards25519.projP2 * p)
    005938d0ldr x16, [x28+16]
    005938d4sub x17, sp, 16
    005938d8subs xzr, x17, x16
    005938dcb.ls 0x5939dc
    005938e0str x30, [sp-144]!
    005938e4stur x29, [sp-8]
    005938e8sub x29, sp, 8
    005938ecstr x0, [sp+152]
    005938f0str x1, [sp+160]
    005938f4str xzr, [sp+40]
    005938f8ldr x3, [sp+152]
    005938fcldrsb x27, [x3]
    00593900str x3, [sp+96]
    00593904ldr x3, [sp+160]
    00593908ldrsb x27, [x3]
    0059390cstr x3, [sp+88]
    00593910ldr x3, [sp+160]
    00593914ldrsb x27, [x3]
    00593918add x2, x3, 80
    0059391cstr x2, [sp+80]
    00593920ldr x1, [sp+88]
    00593924ldr x0, [sp+96]
    00593928bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    0059392cldr x3, [sp+152]
    00593930ldrsb x27, [x3]
    00593934add x3, x3, 40
    00593938str x3, [sp+72]
    0059393cldr x3, [sp+160]
    00593940ldrsb x27, [x3]
    00593944add x3, x3, 40
    00593948str x3, [sp+64]
    0059394cldr x3, [sp+160]
    00593950ldrsb x27, [x3]
    00593954add x2, x3, 80
    00593958str x2, [sp+56]
    0059395cldr x1, [sp+64]
    00593960ldr x0, [sp+72]
    00593964bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00593968ldr x3, [sp+152]
    0059396cldrsb x27, [x3]
    00593970add x3, x3, 80
    00593974str x3, [sp+48]
    00593978ldr x3, [sp+160]
    0059397cldrsb x27, [x3]
    00593980add x1, x3, 80
    00593984str x1, [sp+128]
    00593988ldr x0, [sp+48]
    0059398cbl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00593990ldr x3, [sp+152]
    00593994ldrsb x27, [x3]
    00593998add x3, x3, 120
    0059399cstr x3, [sp+120]
    005939a0ldr x3, [sp+160]
    005939a4ldrsb x27, [x3]
    005939a8str x3, [sp+112]
    005939acldr x3, [sp+160]
    005939b0ldrsb x27, [x3]
    005939b4add x2, x3, 40
    005939b8str x2, [sp+104]
    005939bcldr x0, [sp+120]
    005939c0ldr x1, [sp+112]
    005939c4bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    005939c8ldr x0, [sp+152]
    005939ccstr x0, [sp+40]
    005939d0ldur x29, [sp-8]
    005939d4ldr x30, [sp], 144
    005939d8ret x30
    005939dc
    005939dcloc_5939dc:
    005939dcstp x0, x1, [sp+8]
    005939e0mov x3, x30
    005939e4bl runtime.morestack_noctxt.abi0
    005939e8ldp x0, x1, [sp+8]
    005939ecb 0x5938d0
    005938d0
    005939f0
    005939f0crypto/internal/fips140/edwards25519.(*projCached).FromP3: ; void crypto/internal/fips140/edwards25519.(*projCached).FromP3(crypto/internal/fips140/edwards25519.projCached * v, crypto/internal/fips140/edwards25519.Point * p)
    005939f0ldr x16, [x28+16]
    005939f4subs xzr, sp, x16
    005939f8b.ls 0x593aec
    005939fcstr x30, [sp-128]!
    00593a00stur x29, [sp-8]
    00593a04sub x29, sp, 8
    00593a08str x0, [sp+136]
    00593a0cstr x1, [sp+144]
    00593a10str xzr, [sp+32]
    00593a14ldr x3, [sp+136]
    00593a18ldrsb x27, [x3]
    00593a1cstr x3, [sp+88]
    00593a20ldr x3, [sp+144]
    00593a24ldrsb x27, [x3]
    00593a28add x3, x3, 40
    00593a2cstr x3, [sp+80]
    00593a30ldr x2, [sp+144]
    00593a34ldrsb x27, [x2]
    00593a38str x2, [sp+72]
    00593a3cldr x1, [sp+80]
    00593a40ldr x0, [sp+88]
    00593a44bl crypto/internal/fips140/edwards25519/field.(*Element).Add
    00593a48ldr x3, [sp+136]
    00593a4cldrsb x27, [x3]
    00593a50add x3, x3, 40
    00593a54str x3, [sp+64]
    00593a58ldr x3, [sp+144]
    00593a5cldrsb x27, [x3]
    00593a60add x3, x3, 40
    00593a64str x3, [sp+56]
    00593a68ldr x2, [sp+144]
    00593a6cldrsb x27, [x2]
    00593a70str x2, [sp+48]
    00593a74ldr x1, [sp+56]
    00593a78ldr x0, [sp+64]
    00593a7cbl crypto/internal/fips140/edwards25519/field.(*Element).Subtract
    00593a80ldr x3, [sp+136]
    00593a84ldrsb x27, [x3]
    00593a88add x3, x3, 80
    00593a8cstr x3, [sp+40]
    00593a90ldr x3, [sp+144]
    00593a94ldrsb x27, [x3]
    00593a98add x1, x3, 80
    00593a9cstr x1, [sp+112]
    00593aa0ldr x0, [sp+40]
    00593aa4bl crypto/internal/fips140/edwards25519/field.(*Element).Set
    00593aa8ldr x3, [sp+136]
    00593aacldrsb x27, [x3]
    00593ab0add x3, x3, 120
    00593ab4str x3, [sp+104]
    00593ab8ldr x3, [sp+144]
    00593abcldrsb x27, [x3]
    00593ac0add x1, x3, 120
    00593ac4str x1, [sp+96]
    00593ac8adrp x27, 0x48e000
    00593accldr x2, [x27+728]
    00593ad0ldr x0, [sp+104]
    00593ad4bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00593ad8ldr x0, [sp+136]
    00593adcstr x0, [sp+32]
    00593ae0ldur x29, [sp-8]
    00593ae4ldr x30, [sp], 128
    00593ae8ret x30
    00593aec
    00593aecloc_593aec:
    00593aecstp x0, x1, [sp+8]
    00593af0mov x3, x30
    00593af4bl runtime.morestack_noctxt.abi0
    00593af8ldp x0, x1, [sp+8]
    00593afcb 0x5939f0
    005939f0
    00593b00
    00593b00crypto/internal/fips140/edwards25519.(*affineCached).FromP3: ; void crypto/internal/fips140/edwards25519.(*affineCached).FromP3(crypto/internal/fips140/edwards25519.affineCached * v, crypto/internal/fips140/edwards25519.Point * p)
    00593b00ldr x16, [x28+16]
    00593b04sub x17, sp, 80
    00593b08subs xzr, x17, x16
    00593b0cb.ls 0x593c78
    00593b10str x30, [sp-208]!
    00593b14stur x29, [sp-8]
    00593b18sub x29, sp, 8
    00593b1cstr x0, [sp+216]
    00593b20str x1, [sp+224]
    00593b24str xzr, [sp+72]
    00593b28ldr x3, [sp+216]
    00593b2cldrsb x27, [x3]
    00593b30str x3, [sp+120]
    00593b34ldr x3, [sp+224]
    00593b38ldrsb x27, [x3]
    00593b3cadd x3, x3, 40
    00593b40str x3, [sp+112]
    00593b44ldr x2, [sp+224]
    00593b48ldrsb x27, [x2]
    00593b4cstr x2, [sp+104]
    00593b50ldr x1, [sp+112]
    00593b54ldr x0, [sp+120]
    00593b58bl crypto/internal/fips140/edwards25519/field.(*Element).Add
    00593b5cldr x3, [sp+216]
    00593b60ldrsb x27, [x3]
    00593b64add x3, x3, 40
    00593b68str x3, [sp+96]
    00593b6cldr x3, [sp+224]
    00593b70ldrsb x27, [x3]
    00593b74add x3, x3, 40
    00593b78str x3, [sp+88]
    00593b7cldr x2, [sp+224]
    00593b80ldrsb x27, [x2]
    00593b84str x2, [sp+80]
    00593b88ldr x1, [sp+88]
    00593b8cldr x0, [sp+96]
    00593b90bl crypto/internal/fips140/edwards25519/field.(*Element).Subtract
    00593b94ldr x3, [sp+216]
    00593b98ldrsb x27, [x3]
    00593b9cadd x3, x3, 80
    00593ba0str x3, [sp+192]
    00593ba4ldr x3, [sp+224]
    00593ba8ldrsb x27, [x3]
    00593bacadd x1, x3, 120
    00593bb0str x1, [sp+184]
    00593bb4adrp x27, 0x48e000
    00593bb8ldr x2, [x27+728]
    00593bbcldr x0, [sp+192]
    00593bc0bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00593bc4stp xzr, xzr, [sp+32]
    00593bc8stp xzr, xzr, [sp+48]
    00593bccstr xzr, [sp+64]
    00593bd0ldr x3, [sp+224]
    00593bd4ldrsb x27, [x3]
    00593bd8add x1, x3, 80
    00593bdcstr x1, [sp+176]
    00593be0add x0, sp, 32
    00593be4bl crypto/internal/fips140/edwards25519/field.(*Element).Invert
    00593be8ldr x3, [sp+216]
    00593becldrsb x27, [x3]
    00593bf0str x3, [sp+168]
    00593bf4ldr x1, [sp+216]
    00593bf8ldrsb x27, [x1]
    00593bfcstr x1, [sp+160]
    00593c00ldr x0, [sp+168]
    00593c04add x2, sp, 32
    00593c08bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00593c0cldr x3, [sp+216]
    00593c10ldrsb x27, [x3]
    00593c14add x3, x3, 40
    00593c18str x3, [sp+152]
    00593c1cldr x3, [sp+216]
    00593c20ldrsb x27, [x3]
    00593c24add x1, x3, 40
    00593c28str x1, [sp+144]
    00593c2cldr x0, [sp+152]
    00593c30add x2, sp, 32
    00593c34bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00593c38ldr x3, [sp+216]
    00593c3cldrsb x27, [x3]
    00593c40add x3, x3, 80
    00593c44str x3, [sp+136]
    00593c48ldr x3, [sp+216]
    00593c4cldrsb x27, [x3]
    00593c50add x1, x3, 80
    00593c54str x1, [sp+128]
    00593c58ldr x0, [sp+136]
    00593c5cadd x2, sp, 32
    00593c60bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00593c64ldr x0, [sp+216]
    00593c68str x0, [sp+72]
    00593c6cldur x29, [sp-8]
    00593c70ldr x30, [sp], 208
    00593c74ret x30
    00593c78
    00593c78loc_593c78:
    00593c78stp x0, x1, [sp+8]
    00593c7cmov x3, x30
    00593c80bl runtime.morestack_noctxt.abi0
    00593c84ldp x0, x1, [sp+8]
    00593c88b 0x593b00
    00593c8cudf 0
    00593b00