File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    002be720
    002be720crypto/ecdsa.generateFIPS[go.shape.*crypto/internal/fips140/nistec.P384Point]: ; void crypto/ecdsa.generateFIPS[go.shape.*crypto/internal/fips140/nistec.P384Point](uintptr[2] * dict, crypto/elliptic.Curve curve, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P384Point] * c, io.Reader rand)
    002be720ldr x16, [x28+16]
    002be724sub x17, sp, 64
    002be728subs xzr, x17, x16
    002be72cb.ls 0x2be8cc
    002be730str x30, [sp-192]!
    002be734stur x29, [sp-8]
    002be738sub x29, sp, 8
    002be73cstr x0, [sp+200]
    002be740str x1, [sp+208]
    002be744str x2, [sp+216]
    002be748str x3, [sp+224]
    002be74cstr x4, [sp+232]
    002be750str x5, [sp+240]
    002be754str xzr, [sp+64]
    002be758stp xzr, xzr, [sp+48]
    002be75cadrp x27, 0x78d000
    002be760ldrb w4, [x27+1551]
    002be764strb w4, [sp+47]
    002be768tbnz w4, 0, 0x2be770
    002be76cb 0x2be78c
    002be770
    002be770loc_2be770:
    002be770ldr x0, [sp+232]
    002be774ldr x1, [sp+240]
    002be778bl crypto/internal/fips140only.ApprovedRandomReader
    002be77cstrb w0, [sp+46]
    002be780eor x2, x0, 1
    002be784strb w2, [sp+47]
    002be788b 0x2be790
    002be78c
    002be78cloc_2be78c:
    002be78cb 0x2be790
    002be790
    002be790loc_2be790:
    002be790ldrb w4, [sp+47]
    002be794tbnz w4, 0, 0x2be79c
    002be798b 0x2be7d8
    002be79c
    002be79cloc_2be79c:
    002be79cadrp x0, 0x410000
    002be7a0add x0, x0, 2093
    002be7a4movz x1, 70
    002be7a8bl errors.New
    002be7acstr x0, [sp+144]
    002be7b0str x1, [sp+152]
    002be7b4str xzr, [sp+64]
    002be7b8ldr x1, [sp+144]
    002be7bcldr x2, [sp+152]
    002be7c0str x1, [sp+48]
    002be7c4str x2, [sp+56]
    002be7c8ldr x0, [sp+64]
    002be7ccldur x29, [sp-8]
    002be7d0ldr x30, [sp], 192
    002be7d4ret x30
    002be7d8
    002be7d8loc_2be7d8:
    002be7d8str xzr, [sp+136]
    002be7dcstp xzr, xzr, [sp+144]
    002be7e0ldr x4, [sp+200]
    002be7e4ldrsb x27, [x4]
    002be7e8ldr x0, [x4]
    002be7ecstr x0, [sp+120]
    002be7f0ldr x2, [sp+232]
    002be7f4ldr x1, [sp+224]
    002be7f8ldr x3, [sp+240]
    002be7fcbl crypto/internal/fips140/ecdsa.GenerateKey[go.shape.*crypto/internal/fips140/nistec.P384Point]
    002be800str x0, [sp+136]
    002be804str x1, [sp+144]
    002be808str x2, [sp+152]
    002be80cldr x4, [sp+136]
    002be810str x4, [sp+112]
    002be814ldr x4, [sp+144]
    002be818ldr x5, [sp+152]
    002be81cstr x4, [sp+96]
    002be820str x5, [sp+104]
    002be824ldr x4, [sp+112]
    002be828str x4, [sp+72]
    002be82cldr x4, [sp+104]
    002be830ldr x5, [sp+96]
    002be834str x5, [sp+80]
    002be838str x4, [sp+88]
    002be83ccbnz x5, 0x2be844
    002be840b 0x2be868
    002be844
    002be844loc_2be844:
    002be844str xzr, [sp+64]
    002be848ldr x1, [sp+80]
    002be84cldr x2, [sp+88]
    002be850str x1, [sp+48]
    002be854str x2, [sp+56]
    002be858ldr x0, [sp+64]
    002be85cldur x29, [sp-8]
    002be860ldr x30, [sp], 192
    002be864ret x30
    002be868
    002be868loc_2be868:
    002be868str xzr, [sp+128]
    002be86cstp xzr, xzr, [sp+144]
    002be870ldr x0, [sp+208]
    002be874ldr x2, [sp+72]
    002be878ldr x1, [sp+216]
    002be87cbl crypto/ecdsa.privateKeyFromFIPS
    002be880str x0, [sp+128]
    002be884str x1, [sp+144]
    002be888str x2, [sp+152]
    002be88cldr x3, [sp+128]
    002be890str x3, [sp+176]
    002be894ldr x3, [sp+152]
    002be898ldr x4, [sp+144]
    002be89cstr x4, [sp+160]
    002be8a0str x3, [sp+168]
    002be8a4ldr x3, [sp+176]
    002be8a8str x3, [sp+64]
    002be8acldr x1, [sp+160]
    002be8b0ldr x2, [sp+168]
    002be8b4str x1, [sp+48]
    002be8b8str x2, [sp+56]
    002be8bcldr x0, [sp+64]
    002be8c0ldur x29, [sp-8]
    002be8c4ldr x30, [sp], 192
    002be8c8ret x30
    002be8cc
    002be8ccloc_2be8cc:
    002be8ccstp x0, x1, [sp+8]
    002be8d0stp x2, x3, [sp+24]
    002be8d4stp x4, x5, [sp+40]
    002be8d8mov x3, x30
    002be8dcbl runtime.morestack_noctxt.abi0
    002be8e0ldp x0, x1, [sp+8]
    002be8e4ldp x2, x3, [sp+24]
    002be8e8ldp x4, x5, [sp+40]
    002be8ecb 0x2be720
    002be720
    002be8f0
    002be8f0crypto/ecdsa.generateFIPS[go.shape.*crypto/internal/fips140/nistec.P256Point]: ; void crypto/ecdsa.generateFIPS[go.shape.*crypto/internal/fips140/nistec.P256Point](uintptr[2] * dict, crypto/elliptic.Curve curve, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P256Point] * c, io.Reader rand)
    002be8f0ldr x16, [x28+16]
    002be8f4sub x17, sp, 64
    002be8f8subs xzr, x17, x16
    002be8fcb.ls 0x2bea9c
    002be900str x30, [sp-192]!
    002be904stur x29, [sp-8]
    002be908sub x29, sp, 8
    002be90cstr x0, [sp+200]
    002be910str x1, [sp+208]
    002be914str x2, [sp+216]
    002be918str x3, [sp+224]
    002be91cstr x4, [sp+232]
    002be920str x5, [sp+240]
    002be924str xzr, [sp+64]
    002be928stp xzr, xzr, [sp+48]
    002be92cadrp x27, 0x78d000
    002be930ldrb w4, [x27+1551]
    002be934strb w4, [sp+47]
    002be938tbnz w4, 0, 0x2be940
    002be93cb 0x2be95c
    002be940
    002be940loc_2be940:
    002be940ldr x0, [sp+232]
    002be944ldr x1, [sp+240]
    002be948bl crypto/internal/fips140only.ApprovedRandomReader
    002be94cstrb w0, [sp+46]
    002be950eor x2, x0, 1
    002be954strb w2, [sp+47]
    002be958b 0x2be960
    002be95c
    002be95cloc_2be95c:
    002be95cb 0x2be960
    002be960
    002be960loc_2be960:
    002be960ldrb w4, [sp+47]
    002be964tbnz w4, 0, 0x2be96c
    002be968b 0x2be9a8
    002be96c
    002be96cloc_2be96c:
    002be96cadrp x0, 0x410000
    002be970add x0, x0, 2093
    002be974movz x1, 70
    002be978bl errors.New
    002be97cstr x0, [sp+144]
    002be980str x1, [sp+152]
    002be984str xzr, [sp+64]
    002be988ldr x1, [sp+144]
    002be98cldr x2, [sp+152]
    002be990str x1, [sp+48]
    002be994str x2, [sp+56]
    002be998ldr x0, [sp+64]
    002be99cldur x29, [sp-8]
    002be9a0ldr x30, [sp], 192
    002be9a4ret x30
    002be9a8
    002be9a8loc_2be9a8:
    002be9a8str xzr, [sp+136]
    002be9acstp xzr, xzr, [sp+144]
    002be9b0ldr x4, [sp+200]
    002be9b4ldrsb x27, [x4]
    002be9b8ldr x0, [x4]
    002be9bcstr x0, [sp+120]
    002be9c0ldr x2, [sp+232]
    002be9c4ldr x1, [sp+224]
    002be9c8ldr x3, [sp+240]
    002be9ccbl crypto/internal/fips140/ecdsa.GenerateKey[go.shape.*crypto/internal/fips140/nistec.P256Point]
    002be9d0str x0, [sp+136]
    002be9d4str x1, [sp+144]
    002be9d8str x2, [sp+152]
    002be9dcldr x4, [sp+136]
    002be9e0str x4, [sp+112]
    002be9e4ldr x4, [sp+144]
    002be9e8ldr x5, [sp+152]
    002be9ecstr x4, [sp+96]
    002be9f0str x5, [sp+104]
    002be9f4ldr x4, [sp+112]
    002be9f8str x4, [sp+72]
    002be9fcldr x4, [sp+104]
    002bea00ldr x5, [sp+96]
    002bea04str x5, [sp+80]
    002bea08str x4, [sp+88]
    002bea0ccbnz x5, 0x2bea14
    002bea10b 0x2bea38
    002bea14
    002bea14loc_2bea14:
    002bea14str xzr, [sp+64]
    002bea18ldr x1, [sp+80]
    002bea1cldr x2, [sp+88]
    002bea20str x1, [sp+48]
    002bea24str x2, [sp+56]
    002bea28ldr x0, [sp+64]
    002bea2cldur x29, [sp-8]
    002bea30ldr x30, [sp], 192
    002bea34ret x30
    002bea38
    002bea38loc_2bea38:
    002bea38str xzr, [sp+128]
    002bea3cstp xzr, xzr, [sp+144]
    002bea40ldr x0, [sp+208]
    002bea44ldr x2, [sp+72]
    002bea48ldr x1, [sp+216]
    002bea4cbl crypto/ecdsa.privateKeyFromFIPS
    002bea50str x0, [sp+128]
    002bea54str x1, [sp+144]
    002bea58str x2, [sp+152]
    002bea5cldr x3, [sp+128]
    002bea60str x3, [sp+176]
    002bea64ldr x3, [sp+152]
    002bea68ldr x4, [sp+144]
    002bea6cstr x4, [sp+160]
    002bea70str x3, [sp+168]
    002bea74ldr x3, [sp+176]
    002bea78str x3, [sp+64]
    002bea7cldr x1, [sp+160]
    002bea80ldr x2, [sp+168]
    002bea84str x1, [sp+48]
    002bea88str x2, [sp+56]
    002bea8cldr x0, [sp+64]
    002bea90ldur x29, [sp-8]
    002bea94ldr x30, [sp], 192
    002bea98ret x30
    002bea9c
    002bea9cloc_2bea9c:
    002bea9cstp x0, x1, [sp+8]
    002beaa0stp x2, x3, [sp+24]
    002beaa4stp x4, x5, [sp+40]
    002beaa8mov x3, x30
    002beaacbl runtime.morestack_noctxt.abi0
    002beab0ldp x0, x1, [sp+8]
    002beab4ldp x2, x3, [sp+24]
    002beab8ldp x4, x5, [sp+40]
    002beabcb 0x2be8f0
    002be8f0
    002beac0
    002beac0crypto/ecdsa.generateFIPS[go.shape.*crypto/internal/fips140/nistec.P224Point]: ; void crypto/ecdsa.generateFIPS[go.shape.*crypto/internal/fips140/nistec.P224Point](uintptr[2] * dict, crypto/elliptic.Curve curve, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P224Point] * c, io.Reader rand)
    002beac0ldr x16, [x28+16]
    002beac4sub x17, sp, 64
    002beac8subs xzr, x17, x16
    002beaccb.ls 0x2bec6c
    002bead0str x30, [sp-192]!
    002bead4stur x29, [sp-8]
    002bead8sub x29, sp, 8
    002beadcstr x0, [sp+200]
    002beae0str x1, [sp+208]
    002beae4str x2, [sp+216]
    002beae8str x3, [sp+224]
    002beaecstr x4, [sp+232]
    002beaf0str x5, [sp+240]
    002beaf4str xzr, [sp+64]
    002beaf8stp xzr, xzr, [sp+48]
    002beafcadrp x27, 0x78d000
    002beb00ldrb w4, [x27+1551]
    002beb04strb w4, [sp+47]
    002beb08tbnz w4, 0, 0x2beb10
    002beb0cb 0x2beb2c
    002beb10
    002beb10loc_2beb10:
    002beb10ldr x0, [sp+232]
    002beb14ldr x1, [sp+240]
    002beb18bl crypto/internal/fips140only.ApprovedRandomReader
    002beb1cstrb w0, [sp+46]
    002beb20eor x2, x0, 1
    002beb24strb w2, [sp+47]
    002beb28b 0x2beb30
    002beb2c
    002beb2cloc_2beb2c:
    002beb2cb 0x2beb30
    002beb30
    002beb30loc_2beb30:
    002beb30ldrb w4, [sp+47]
    002beb34tbnz w4, 0, 0x2beb3c
    002beb38b 0x2beb78
    002beb3c
    002beb3cloc_2beb3c:
    002beb3cadrp x0, 0x410000
    002beb40add x0, x0, 2093
    002beb44movz x1, 70
    002beb48bl errors.New
    002beb4cstr x0, [sp+144]
    002beb50str x1, [sp+152]
    002beb54str xzr, [sp+64]
    002beb58ldr x1, [sp+144]
    002beb5cldr x2, [sp+152]
    002beb60str x1, [sp+48]
    002beb64str x2, [sp+56]
    002beb68ldr x0, [sp+64]
    002beb6cldur x29, [sp-8]
    002beb70ldr x30, [sp], 192
    002beb74ret x30
    002beb78
    002beb78loc_2beb78:
    002beb78str xzr, [sp+136]
    002beb7cstp xzr, xzr, [sp+144]
    002beb80ldr x4, [sp+200]
    002beb84ldrsb x27, [x4]
    002beb88ldr x0, [x4]
    002beb8cstr x0, [sp+120]
    002beb90ldr x2, [sp+232]
    002beb94ldr x1, [sp+224]
    002beb98ldr x3, [sp+240]
    002beb9cbl crypto/internal/fips140/ecdsa.GenerateKey[go.shape.*crypto/internal/fips140/nistec.P224Point]
    002beba0str x0, [sp+136]
    002beba4str x1, [sp+144]
    002beba8str x2, [sp+152]
    002bebacldr x4, [sp+136]
    002bebb0str x4, [sp+112]
    002bebb4ldr x4, [sp+144]
    002bebb8ldr x5, [sp+152]
    002bebbcstr x4, [sp+96]
    002bebc0str x5, [sp+104]
    002bebc4ldr x4, [sp+112]
    002bebc8str x4, [sp+72]
    002bebccldr x4, [sp+104]
    002bebd0ldr x5, [sp+96]
    002bebd4str x5, [sp+80]
    002bebd8str x4, [sp+88]
    002bebdccbnz x5, 0x2bebe4
    002bebe0b 0x2bec08
    002bebe4
    002bebe4loc_2bebe4:
    002bebe4str xzr, [sp+64]
    002bebe8ldr x1, [sp+80]
    002bebecldr x2, [sp+88]
    002bebf0str x1, [sp+48]
    002bebf4str x2, [sp+56]
    002bebf8ldr x0, [sp+64]
    002bebfcldur x29, [sp-8]
    002bec00ldr x30, [sp], 192
    002bec04ret x30
    002bec08
    002bec08loc_2bec08:
    002bec08str xzr, [sp+128]
    002bec0cstp xzr, xzr, [sp+144]
    002bec10ldr x0, [sp+208]
    002bec14ldr x2, [sp+72]
    002bec18ldr x1, [sp+216]
    002bec1cbl crypto/ecdsa.privateKeyFromFIPS
    002bec20str x0, [sp+128]
    002bec24str x1, [sp+144]
    002bec28str x2, [sp+152]
    002bec2cldr x3, [sp+128]
    002bec30str x3, [sp+176]
    002bec34ldr x3, [sp+152]
    002bec38ldr x4, [sp+144]
    002bec3cstr x4, [sp+160]
    002bec40str x3, [sp+168]
    002bec44ldr x3, [sp+176]
    002bec48str x3, [sp+64]
    002bec4cldr x1, [sp+160]
    002bec50ldr x2, [sp+168]
    002bec54str x1, [sp+48]
    002bec58str x2, [sp+56]
    002bec5cldr x0, [sp+64]
    002bec60ldur x29, [sp-8]
    002bec64ldr x30, [sp], 192
    002bec68ret x30
    002bec6c
    002bec6cloc_2bec6c:
    002bec6cstp x0, x1, [sp+8]
    002bec70stp x2, x3, [sp+24]
    002bec74stp x4, x5, [sp+40]
    002bec78mov x3, x30
    002bec7cbl runtime.morestack_noctxt.abi0
    002bec80ldp x0, x1, [sp+8]
    002bec84ldp x2, x3, [sp+24]
    002bec88ldp x4, x5, [sp+40]
    002bec8cb 0x2beac0
    002beac0
    002bec90
    002bec90crypto/ecdsa.PublicKey.Add: ; void crypto/ecdsa.PublicKey.Add(crypto/ecdsa.PublicKey p0, math/big.Int * x1, math/big.Int * y1, math/big.Int * x2, math/big.Int * y2)
    002bec90ldr x16, [x28+16]
    002bec94subs xzr, sp, x16
    002bec98b.ls 0x2bed3c
    002bec9cstr x30, [sp-112]!
    002beca0stur x29, [sp-8]
    002beca4sub x29, sp, 8
    002beca8ldr x16, [x28+32]
    002becaccbnz x16, 0x2bed68
    002becb0
    002becb0loc_2becb0:
    002becb0str x0, [sp+120]
    002becb4str x1, [sp+128]
    002becb8str x2, [sp+136]
    002becbcstr x3, [sp+144]
    002becc0str x4, [sp+152]
    002becc4str x5, [sp+160]
    002becc8str x6, [sp+168]
    002becccstr x7, [sp+176]
    002becd0str xzr, [sp+64]
    002becd4str xzr, [sp+56]
    002becd8str xzr, [sp+72]
    002becdcstr xzr, [sp+96]
    002bece0ldr x5, [sp+120]
    002bece4ldrsb x27, [x5]
    002bece8ldr x1, [sp+152]
    002bececldr x2, [sp+160]
    002becf0ldr x3, [sp+168]
    002becf4ldr x4, [sp+176]
    002becf8ldr x0, [sp+128]
    002becfcldr x5, [x5+24]
    002bed00blr x5
    002bed04str x0, [sp+72]
    002bed08str x1, [sp+96]
    002bed0cldr x5, [sp+72]
    002bed10str x5, [sp+88]
    002bed14ldr x5, [sp+96]
    002bed18str x5, [sp+80]
    002bed1cldr x5, [sp+88]
    002bed20str x5, [sp+64]
    002bed24ldr x1, [sp+80]
    002bed28str x1, [sp+56]
    002bed2cldr x0, [sp+64]
    002bed30ldur x29, [sp-8]
    002bed34ldr x30, [sp], 112
    002bed38ret x30
    002bed3c
    002bed3cloc_2bed3c:
    002bed3cstp x0, x1, [sp+8]
    002bed40stp x2, x3, [sp+24]
    002bed44stp x4, x5, [sp+40]
    002bed48stp x6, x7, [sp+56]
    002bed4cmov x3, x30
    002bed50bl runtime.morestack_noctxt.abi0
    002bed54ldp x0, x1, [sp+8]
    002bed58ldp x2, x3, [sp+24]
    002bed5cldp x4, x5, [sp+40]
    002bed60ldp x6, x7, [sp+56]
    002bed64b 0x2bec90
    002bed68
    002bed68loc_2bed68:
    002bed68ldr x17, [x16]
    002bed6cadd x20, sp, 120
    002bed70subs xzr, x20, x17
    002bed74b.ne 0x2becb0
    002bed78add x20, sp, 8
    002bed7cstr x20, [x16]
    002bed80b 0x2becb0
    002bed84udf 0
    002bed88udf 0
    002bed8cudf 0
    002bec90
    002bed90
    002bed90crypto/ecdsa.(*PublicKey).Add: ; void crypto/ecdsa.(*PublicKey).Add(crypto/ecdsa.PublicKey * p0, math/big.Int * x1, math/big.Int * y1, math/big.Int * x2, math/big.Int * y2)
    002bed90ldr x16, [x28+16]
    002bed94subs xzr, sp, x16
    002bed98b.ls 0x2bee38
    002bed9cstr x30, [sp-112]!
    002beda0stur x29, [sp-8]
    002beda4sub x29, sp, 8
    002beda8ldr x16, [x28+32]
    002bedaccbnz x16, 0x2bee5c
    002bedb0
    002bedb0loc_2bedb0:
    002bedb0str x0, [sp+120]
    002bedb4str x1, [sp+128]
    002bedb8str x2, [sp+136]
    002bedbcstr x3, [sp+144]
    002bedc0str x4, [sp+152]
    002bedc4str xzr, [sp+64]
    002bedc8str xzr, [sp+56]
    002bedccstr xzr, [sp+72]
    002bedd0str xzr, [sp+96]
    002bedd4ldr x1, [sp+128]
    002bedd8ldr x2, [sp+136]
    002beddcldr x3, [sp+144]
    002bede0ldr x4, [sp+152]
    002bede4ldr x5, [sp+120]
    002bede8ldrsb x27, [x5]
    002bedecldr x6, [x5]
    002bedf0ldrsb x27, [x6]
    002bedf4ldr x0, [x5+8]
    002bedf8ldr x5, [x6+24]
    002bedfcblr x5
    002bee00str x0, [sp+72]
    002bee04str x1, [sp+96]
    002bee08ldr x5, [sp+72]
    002bee0cstr x5, [sp+88]
    002bee10ldr x5, [sp+96]
    002bee14str x5, [sp+80]
    002bee18ldr x5, [sp+88]
    002bee1cstr x5, [sp+64]
    002bee20ldr x1, [sp+80]
    002bee24str x1, [sp+56]
    002bee28ldr x0, [sp+64]
    002bee2cldur x29, [sp-8]
    002bee30ldr x30, [sp], 112
    002bee34ret x30
    002bee38
    002bee38loc_2bee38:
    002bee38stp x0, x1, [sp+8]
    002bee3cstp x2, x3, [sp+24]
    002bee40str x4, [sp+40]
    002bee44mov x3, x30
    002bee48bl runtime.morestack_noctxt.abi0
    002bee4cldp x0, x1, [sp+8]
    002bee50ldp x2, x3, [sp+24]
    002bee54ldr x4, [sp+40]
    002bee58b 0x2bed90
    002bee5c
    002bee5cloc_2bee5c:
    002bee5cldr x17, [x16]
    002bee60add x20, sp, 120
    002bee64subs xzr, x20, x17
    002bee68b.ne 0x2bedb0
    002bee6cadd x20, sp, 8
    002bee70str x20, [x16]
    002bee74b 0x2bedb0
    002bee78udf 0
    002bee7cudf 0
    002bed90
    002bee80
    002bee80crypto/ecdsa.PublicKey.IsOnCurve: ; void crypto/ecdsa.PublicKey.IsOnCurve(crypto/ecdsa.PublicKey p0, math/big.Int * x, math/big.Int * y)
    002bee80ldr x16, [x28+16]
    002bee84subs xzr, sp, x16
    002bee88b.ls 0x2beeec
    002bee8cstr x30, [sp-48]!
    002bee90stur x29, [sp-8]
    002bee94sub x29, sp, 8
    002bee98ldr x16, [x28+32]
    002bee9ccbnz x16, 0x2bef10
    002beea0
    002beea0loc_2beea0:
    002beea0str x0, [sp+56]
    002beea4str x1, [sp+64]
    002beea8str x2, [sp+72]
    002beeacstr x3, [sp+80]
    002beeb0str x4, [sp+88]
    002beeb4str x5, [sp+96]
    002beeb8strb wzr, [sp+38]
    002beebcldr x3, [sp+56]
    002beec0ldrsb x27, [x3]
    002beec4ldr x1, [sp+88]
    002beec8ldr x2, [sp+96]
    002beeccldr x0, [sp+64]
    002beed0ldr x3, [x3+40]
    002beed4blr x3
    002beed8strb w0, [sp+39]
    002beedcstrb w0, [sp+38]
    002beee0ldur x29, [sp-8]
    002beee4ldr x30, [sp], 48
    002beee8ret x30
    002beeec
    002beeecloc_2beeec:
    002beeecstp x0, x1, [sp+8]
    002beef0stp x2, x3, [sp+24]
    002beef4stp x4, x5, [sp+40]
    002beef8mov x3, x30
    002beefcbl runtime.morestack_noctxt.abi0
    002bef00ldp x0, x1, [sp+8]
    002bef04ldp x2, x3, [sp+24]
    002bef08ldp x4, x5, [sp+40]
    002bef0cb 0x2bee80
    002bef10
    002bef10loc_2bef10:
    002bef10ldr x17, [x16]
    002bef14add x20, sp, 56
    002bef18subs xzr, x20, x17
    002bef1cb.ne 0x2beea0
    002bef20add x20, sp, 8
    002bef24str x20, [x16]
    002bef28b 0x2beea0
    002bef2cudf 0
    002bee80
    002bef30
    002bef30crypto/ecdsa.(*PublicKey).IsOnCurve: ; void crypto/ecdsa.(*PublicKey).IsOnCurve(crypto/ecdsa.PublicKey * p0, math/big.Int * x, math/big.Int * y)
    002bef30ldr x16, [x28+16]
    002bef34subs xzr, sp, x16
    002bef38b.ls 0x2bef98
    002bef3cstr x30, [sp-48]!
    002bef40stur x29, [sp-8]
    002bef44sub x29, sp, 8
    002bef48ldr x16, [x28+32]
    002bef4ccbnz x16, 0x2befb4
    002bef50
    002bef50loc_2bef50:
    002bef50str x0, [sp+56]
    002bef54str x1, [sp+64]
    002bef58str x2, [sp+72]
    002bef5cstrb wzr, [sp+38]
    002bef60ldr x1, [sp+64]
    002bef64ldr x2, [sp+72]
    002bef68ldr x3, [sp+56]
    002bef6cldrsb x27, [x3]
    002bef70ldr x4, [x3]
    002bef74ldrsb x27, [x4]
    002bef78ldr x0, [x3+8]
    002bef7cldr x3, [x4+40]
    002bef80blr x3
    002bef84strb w0, [sp+39]
    002bef88strb w0, [sp+38]
    002bef8cldur x29, [sp-8]
    002bef90ldr x30, [sp], 48
    002bef94ret x30
    002bef98
    002bef98loc_2bef98:
    002bef98stp x0, x1, [sp+8]
    002bef9cstr x2, [sp+24]
    002befa0mov x3, x30
    002befa4bl runtime.morestack_noctxt.abi0
    002befa8ldp x0, x1, [sp+8]
    002befacldr x2, [sp+24]
    002befb0b 0x2bef30
    002befb4
    002befb4loc_2befb4:
    002befb4ldr x17, [x16]
    002befb8add x20, sp, 56
    002befbcsubs xzr, x20, x17
    002befc0b.ne 0x2bef50
    002befc4add x20, sp, 8
    002befc8str x20, [x16]
    002befccb 0x2bef50
    002bef30
    002befd0
    002befd0crypto/ecdsa.PublicKey.Params: ; void crypto/ecdsa.PublicKey.Params(crypto/ecdsa.PublicKey p0)
    002befd0ldr x16, [x28+16]
    002befd4subs xzr, sp, x16
    002befd8b.ls 0x2bf02c
    002befdcstr x30, [sp-48]!
    002befe0stur x29, [sp-8]
    002befe4sub x29, sp, 8
    002befe8ldr x16, [x28+32]
    002befeccbnz x16, 0x2bf048
    002beff0
    002beff0loc_2beff0:
    002beff0str x0, [sp+56]
    002beff4str x1, [sp+64]
    002beff8str x2, [sp+72]
    002beffcstr x3, [sp+80]
    002bf000str xzr, [sp+24]
    002bf004ldr x1, [sp+56]
    002bf008ldrsb x27, [x1]
    002bf00cldr x0, [sp+64]
    002bf010ldr x1, [x1+48]
    002bf014blr x1
    002bf018str x0, [sp+32]
    002bf01cstr x0, [sp+24]
    002bf020ldur x29, [sp-8]
    002bf024ldr x30, [sp], 48
    002bf028ret x30
    002bf02c
    002bf02cloc_2bf02c:
    002bf02cstp x0, x1, [sp+8]
    002bf030stp x2, x3, [sp+24]
    002bf034mov x3, x30
    002bf038bl runtime.morestack_noctxt.abi0
    002bf03cldp x0, x1, [sp+8]
    002bf040ldp x2, x3, [sp+24]
    002bf044b 0x2befd0
    002bf048
    002bf048loc_2bf048:
    002bf048ldr x17, [x16]
    002bf04cadd x20, sp, 56
    002bf050subs xzr, x20, x17
    002bf054b.ne 0x2beff0
    002bf058add x20, sp, 8
    002bf05cstr x20, [x16]
    002bf060b 0x2beff0
    002bf064udf 0
    002bf068udf 0
    002bf06cudf 0
    002befd0
    002bf070
    002bf070crypto/ecdsa.(*PublicKey).Params: ; void crypto/ecdsa.(*PublicKey).Params(crypto/ecdsa.PublicKey * p0)
    002bf070ldr x16, [x28+16]
    002bf074subs xzr, sp, x16
    002bf078b.ls 0x2bf0c8
    002bf07cstr x30, [sp-48]!
    002bf080stur x29, [sp-8]
    002bf084sub x29, sp, 8
    002bf088ldr x16, [x28+32]
    002bf08ccbnz x16, 0x2bf0dc
    002bf090
    002bf090loc_2bf090:
    002bf090str x0, [sp+56]
    002bf094str xzr, [sp+24]
    002bf098ldr x1, [sp+56]
    002bf09cldrsb x27, [x1]
    002bf0a0ldr x2, [x1]
    002bf0a4ldrsb x27, [x2]
    002bf0a8ldr x0, [x1+8]
    002bf0acldr x1, [x2+48]
    002bf0b0blr x1
    002bf0b4str x0, [sp+32]
    002bf0b8str x0, [sp+24]
    002bf0bcldur x29, [sp-8]
    002bf0c0ldr x30, [sp], 48
    002bf0c4ret x30
    002bf0c8
    002bf0c8loc_2bf0c8:
    002bf0c8str x0, [sp+8]
    002bf0ccmov x3, x30
    002bf0d0bl runtime.morestack_noctxt.abi0
    002bf0d4ldr x0, [sp+8]
    002bf0d8b 0x2bf070
    002bf0dc
    002bf0dcloc_2bf0dc:
    002bf0dcldr x17, [x16]
    002bf0e0add x20, sp, 56
    002bf0e4subs xzr, x20, x17
    002bf0e8b.ne 0x2bf090
    002bf0ecadd x20, sp, 8
    002bf0f0str x20, [x16]
    002bf0f4b 0x2bf090
    002bf0f8udf 0
    002bf0fcudf 0
    002bf070
    002bf100
    002bf100crypto/ecdsa.PublicKey.ScalarBaseMult: ; void crypto/ecdsa.PublicKey.ScalarBaseMult(crypto/ecdsa.PublicKey p0, struct []uint8 k)
    002bf100ldr x16, [x28+16]
    002bf104subs xzr, sp, x16
    002bf108b.ls 0x2bf1a4
    002bf10cstr x30, [sp-96]!
    002bf110stur x29, [sp-8]
    002bf114sub x29, sp, 8
    002bf118ldr x16, [x28+32]
    002bf11ccbnz x16, 0x2bf1d0
    002bf120
    002bf120loc_2bf120:
    002bf120str x0, [sp+104]
    002bf124str x1, [sp+112]
    002bf128str x2, [sp+120]
    002bf12cstr x3, [sp+128]
    002bf130str x4, [sp+136]
    002bf134str x5, [sp+144]
    002bf138str x6, [sp+152]
    002bf13cstr xzr, [sp+48]
    002bf140str xzr, [sp+40]
    002bf144str xzr, [sp+64]
    002bf148str xzr, [sp+56]
    002bf14cldr x4, [sp+104]
    002bf150ldrsb x27, [x4]
    002bf154ldr x1, [sp+136]
    002bf158ldr x2, [sp+144]
    002bf15cldr x0, [sp+112]
    002bf160ldr x3, [sp+152]
    002bf164ldr x4, [x4+56]
    002bf168blr x4
    002bf16cstr x0, [sp+64]
    002bf170str x1, [sp+56]
    002bf174ldr x4, [sp+64]
    002bf178str x4, [sp+80]
    002bf17cldr x4, [sp+56]
    002bf180str x4, [sp+72]
    002bf184ldr x4, [sp+80]
    002bf188str x4, [sp+48]
    002bf18cldr x1, [sp+72]
    002bf190str x1, [sp+40]
    002bf194ldr x0, [sp+48]
    002bf198ldur x29, [sp-8]
    002bf19cldr x30, [sp], 96
    002bf1a0ret x30
    002bf1a4
    002bf1a4loc_2bf1a4:
    002bf1a4stp x0, x1, [sp+8]
    002bf1a8stp x2, x3, [sp+24]
    002bf1acstp x4, x5, [sp+40]
    002bf1b0str x6, [sp+56]
    002bf1b4mov x3, x30
    002bf1b8bl runtime.morestack_noctxt.abi0
    002bf1bcldp x0, x1, [sp+8]
    002bf1c0ldp x2, x3, [sp+24]
    002bf1c4ldp x4, x5, [sp+40]
    002bf1c8ldr x6, [sp+56]
    002bf1ccb 0x2bf100
    002bf1d0
    002bf1d0loc_2bf1d0:
    002bf1d0ldr x17, [x16]
    002bf1d4add x20, sp, 104
    002bf1d8subs xzr, x20, x17
    002bf1dcb.ne 0x2bf120
    002bf1e0add x20, sp, 8
    002bf1e4str x20, [x16]
    002bf1e8b 0x2bf120
    002bf1ecudf 0
    002bf100
    002bf1f0
    002bf1f0crypto/ecdsa.(*PublicKey).ScalarBaseMult: ; void crypto/ecdsa.(*PublicKey).ScalarBaseMult(crypto/ecdsa.PublicKey * p0, struct []uint8 k)
    002bf1f0ldr x16, [x28+16]
    002bf1f4subs xzr, sp, x16
    002bf1f8b.ls 0x2bf290
    002bf1fcstr x30, [sp-96]!
    002bf200stur x29, [sp-8]
    002bf204sub x29, sp, 8
    002bf208ldr x16, [x28+32]
    002bf20ccbnz x16, 0x2bf2ac
    002bf210
    002bf210loc_2bf210:
    002bf210str x0, [sp+104]
    002bf214str x1, [sp+112]
    002bf218str x2, [sp+120]
    002bf21cstr x3, [sp+128]
    002bf220str xzr, [sp+48]
    002bf224str xzr, [sp+40]
    002bf228str xzr, [sp+64]
    002bf22cstr xzr, [sp+56]
    002bf230ldr x1, [sp+112]
    002bf234ldr x4, [sp+104]
    002bf238ldrsb x27, [x4]
    002bf23cldr x5, [x4]
    002bf240ldrsb x27, [x5]
    002bf244ldr x2, [sp+120]
    002bf248ldr x0, [x4+8]
    002bf24cldr x3, [sp+128]
    002bf250ldr x4, [x5+56]
    002bf254blr x4
    002bf258str x0, [sp+64]
    002bf25cstr x1, [sp+56]
    002bf260ldr x4, [sp+64]
    002bf264str x4, [sp+80]
    002bf268ldr x4, [sp+56]
    002bf26cstr x4, [sp+72]
    002bf270ldr x4, [sp+80]
    002bf274str x4, [sp+48]
    002bf278ldr x1, [sp+72]
    002bf27cstr x1, [sp+40]
    002bf280ldr x0, [sp+48]
    002bf284ldur x29, [sp-8]
    002bf288ldr x30, [sp], 96
    002bf28cret x30
    002bf290
    002bf290loc_2bf290:
    002bf290stp x0, x1, [sp+8]
    002bf294stp x2, x3, [sp+24]
    002bf298mov x3, x30
    002bf29cbl runtime.morestack_noctxt.abi0
    002bf2a0ldp x0, x1, [sp+8]
    002bf2a4ldp x2, x3, [sp+24]
    002bf2a8b 0x2bf1f0
    002bf2ac
    002bf2acloc_2bf2ac:
    002bf2acldr x17, [x16]
    002bf2b0add x20, sp, 104
    002bf2b4subs xzr, x20, x17
    002bf2b8b.ne 0x2bf210
    002bf2bcadd x20, sp, 8
    002bf2c0str x20, [x16]
    002bf2c4b 0x2bf210
    002bf2c8udf 0
    002bf2ccudf 0
    002bf1f0
    002bf2d0
    002bf2d0crypto/ecdsa.PublicKey.ScalarMult: ; void crypto/ecdsa.PublicKey.ScalarMult(crypto/ecdsa.PublicKey p0, math/big.Int * x1, math/big.Int * y1, struct []uint8 k)
    002bf2d0ldr x16, [x28+16]
    002bf2d4subs xzr, sp, x16
    002bf2d8b.ls 0x2bf384
    002bf2dcstr x30, [sp-112]!
    002bf2e0stur x29, [sp-8]
    002bf2e4sub x29, sp, 8
    002bf2e8ldr x16, [x28+32]
    002bf2eccbnz x16, 0x2bf3b8
    002bf2f0
    002bf2f0loc_2bf2f0:
    002bf2f0str x0, [sp+120]
    002bf2f4str x1, [sp+128]
    002bf2f8str x2, [sp+136]
    002bf2fcstr x3, [sp+144]
    002bf300str x4, [sp+152]
    002bf304str x5, [sp+160]
    002bf308str x6, [sp+168]
    002bf30cstr x7, [sp+176]
    002bf310str x8, [sp+184]
    002bf314str xzr, [sp+64]
    002bf318str xzr, [sp+56]
    002bf31cstr xzr, [sp+80]
    002bf320str xzr, [sp+72]
    002bf324ldr x6, [sp+120]
    002bf328ldrsb x27, [x6]
    002bf32cldr x3, [sp+168]
    002bf330ldr x1, [sp+152]
    002bf334ldr x2, [sp+160]
    002bf338ldr x4, [sp+176]
    002bf33cldr x0, [sp+128]
    002bf340ldr x5, [sp+184]
    002bf344ldr x6, [x6+64]
    002bf348blr x6
    002bf34cstr x0, [sp+80]
    002bf350str x1, [sp+72]
    002bf354ldr x6, [sp+80]
    002bf358str x6, [sp+96]
    002bf35cldr x6, [sp+72]
    002bf360str x6, [sp+88]
    002bf364ldr x6, [sp+96]
    002bf368str x6, [sp+64]
    002bf36cldr x1, [sp+88]
    002bf370str x1, [sp+56]
    002bf374ldr x0, [sp+64]
    002bf378ldur x29, [sp-8]
    002bf37cldr x30, [sp], 112
    002bf380ret x30
    002bf384
    002bf384loc_2bf384:
    002bf384stp x0, x1, [sp+8]
    002bf388stp x2, x3, [sp+24]
    002bf38cstp x4, x5, [sp+40]
    002bf390stp x6, x7, [sp+56]
    002bf394str x8, [sp+72]
    002bf398mov x3, x30
    002bf39cbl runtime.morestack_noctxt.abi0
    002bf3a0ldp x0, x1, [sp+8]
    002bf3a4ldp x2, x3, [sp+24]
    002bf3a8ldp x4, x5, [sp+40]
    002bf3acldp x6, x7, [sp+56]
    002bf3b0ldr x8, [sp+72]
    002bf3b4b 0x2bf2d0
    002bf3b8
    002bf3b8loc_2bf3b8:
    002bf3b8ldr x17, [x16]
    002bf3bcadd x20, sp, 120
    002bf3c0subs xzr, x20, x17
    002bf3c4b.ne 0x2bf2f0
    002bf3c8add x20, sp, 8
    002bf3ccstr x20, [x16]
    002bf3d0b 0x2bf2f0
    002bf3d4udf 0
    002bf3d8udf 0
    002bf3dcudf 0
    002bf2d0
    002bf3e0
    002bf3e0crypto/ecdsa.(*PublicKey).ScalarMult: ; void crypto/ecdsa.(*PublicKey).ScalarMult(crypto/ecdsa.PublicKey * p0, math/big.Int * x1, math/big.Int * y1, struct []uint8 k)
    002bf3e0ldr x16, [x28+16]
    002bf3e4subs xzr, sp, x16
    002bf3e8b.ls 0x2bf490
    002bf3ecstr x30, [sp-112]!
    002bf3f0stur x29, [sp-8]
    002bf3f4sub x29, sp, 8
    002bf3f8ldr x16, [x28+32]
    002bf3fccbnz x16, 0x2bf4b4
    002bf400
    002bf400loc_2bf400:
    002bf400str x0, [sp+120]
    002bf404str x1, [sp+128]
    002bf408str x2, [sp+136]
    002bf40cstr x3, [sp+144]
    002bf410str x4, [sp+152]
    002bf414str x5, [sp+160]
    002bf418str xzr, [sp+64]
    002bf41cstr xzr, [sp+56]
    002bf420str xzr, [sp+80]
    002bf424str xzr, [sp+72]
    002bf428ldr x3, [sp+144]
    002bf42cldr x1, [sp+128]
    002bf430ldr x2, [sp+136]
    002bf434ldr x6, [sp+120]
    002bf438ldrsb x27, [x6]
    002bf43cldr x7, [x6]
    002bf440ldrsb x27, [x7]
    002bf444ldr x4, [sp+152]
    002bf448ldr x0, [x6+8]
    002bf44cldr x5, [sp+160]
    002bf450ldr x6, [x7+64]
    002bf454blr x6
    002bf458str x0, [sp+80]
    002bf45cstr x1, [sp+72]
    002bf460ldr x6, [sp+80]
    002bf464str x6, [sp+96]
    002bf468ldr x6, [sp+72]
    002bf46cstr x6, [sp+88]
    002bf470ldr x6, [sp+96]
    002bf474str x6, [sp+64]
    002bf478ldr x1, [sp+88]
    002bf47cstr x1, [sp+56]
    002bf480ldr x0, [sp+64]
    002bf484ldur x29, [sp-8]
    002bf488ldr x30, [sp], 112
    002bf48cret x30
    002bf490
    002bf490loc_2bf490:
    002bf490stp x0, x1, [sp+8]
    002bf494stp x2, x3, [sp+24]
    002bf498stp x4, x5, [sp+40]
    002bf49cmov x3, x30
    002bf4a0bl runtime.morestack_noctxt.abi0
    002bf4a4ldp x0, x1, [sp+8]
    002bf4a8ldp x2, x3, [sp+24]
    002bf4acldp x4, x5, [sp+40]
    002bf4b0b 0x2bf3e0
    002bf4b4
    002bf4b4loc_2bf4b4:
    002bf4b4ldr x17, [x16]
    002bf4b8add x20, sp, 120
    002bf4bcsubs xzr, x20, x17
    002bf4c0b.ne 0x2bf400
    002bf4c4add x20, sp, 8
    002bf4c8str x20, [x16]
    002bf4ccb 0x2bf400
    002bf3e0
    002bf4d0
    002bf4d0crypto/ecdsa.PrivateKey.Add: ; void crypto/ecdsa.PrivateKey.Add(crypto/ecdsa.PrivateKey p0, math/big.Int * x1, math/big.Int * y1, math/big.Int * x2, math/big.Int * y2)
    002bf4d0ldr x16, [x28+16]
    002bf4d4subs xzr, sp, x16
    002bf4d8b.ls 0x2bf580
    002bf4dcstr x30, [sp-112]!
    002bf4e0stur x29, [sp-8]
    002bf4e4sub x29, sp, 8
    002bf4e8ldr x16, [x28+32]
    002bf4eccbnz x16, 0x2bf5b4
    002bf4f0
    002bf4f0loc_2bf4f0:
    002bf4f0str x0, [sp+120]
    002bf4f4str x1, [sp+128]
    002bf4f8str x2, [sp+136]
    002bf4fcstr x3, [sp+144]
    002bf500str x4, [sp+152]
    002bf504str x5, [sp+160]
    002bf508str x6, [sp+168]
    002bf50cstr x7, [sp+176]
    002bf510str x8, [sp+184]
    002bf514str xzr, [sp+64]
    002bf518str xzr, [sp+56]
    002bf51cstr xzr, [sp+72]
    002bf520str xzr, [sp+96]
    002bf524ldr x5, [sp+120]
    002bf528ldrsb x27, [x5]
    002bf52cldr x1, [sp+160]
    002bf530ldr x2, [sp+168]
    002bf534ldr x3, [sp+176]
    002bf538ldr x4, [sp+184]
    002bf53cldr x0, [sp+128]
    002bf540ldr x5, [x5+24]
    002bf544blr x5
    002bf548str x0, [sp+72]
    002bf54cstr x1, [sp+96]
    002bf550ldr x5, [sp+72]
    002bf554str x5, [sp+88]
    002bf558ldr x5, [sp+96]
    002bf55cstr x5, [sp+80]
    002bf560ldr x5, [sp+88]
    002bf564str x5, [sp+64]
    002bf568ldr x1, [sp+80]
    002bf56cstr x1, [sp+56]
    002bf570ldr x0, [sp+64]
    002bf574ldur x29, [sp-8]
    002bf578ldr x30, [sp], 112
    002bf57cret x30
    002bf580
    002bf580loc_2bf580:
    002bf580stp x0, x1, [sp+8]
    002bf584stp x2, x3, [sp+24]
    002bf588stp x4, x5, [sp+40]
    002bf58cstp x6, x7, [sp+56]
    002bf590str x8, [sp+72]
    002bf594mov x3, x30
    002bf598bl runtime.morestack_noctxt.abi0
    002bf59cldp x0, x1, [sp+8]
    002bf5a0ldp x2, x3, [sp+24]
    002bf5a4ldp x4, x5, [sp+40]
    002bf5a8ldp x6, x7, [sp+56]
    002bf5acldr x8, [sp+72]
    002bf5b0b 0x2bf4d0
    002bf5b4
    002bf5b4loc_2bf5b4:
    002bf5b4ldr x17, [x16]
    002bf5b8add x20, sp, 120
    002bf5bcsubs xzr, x20, x17
    002bf5c0b.ne 0x2bf4f0
    002bf5c4add x20, sp, 8
    002bf5c8str x20, [x16]
    002bf5ccb 0x2bf4f0
    002bf4d0
    002bf5d0
    002bf5d0crypto/ecdsa.(*PrivateKey).Add: ; void crypto/ecdsa.(*PrivateKey).Add(crypto/ecdsa.PrivateKey * p0, math/big.Int * x1, math/big.Int * y1, math/big.Int * x2, math/big.Int * y2)
    002bf5d0ldr x16, [x28+16]
    002bf5d4subs xzr, sp, x16
    002bf5d8b.ls 0x2bf678
    002bf5dcstr x30, [sp-112]!
    002bf5e0stur x29, [sp-8]
    002bf5e4sub x29, sp, 8
    002bf5e8ldr x16, [x28+32]
    002bf5eccbnz x16, 0x2bf69c
    002bf5f0
    002bf5f0loc_2bf5f0:
    002bf5f0str x0, [sp+120]
    002bf5f4str x1, [sp+128]
    002bf5f8str x2, [sp+136]
    002bf5fcstr x3, [sp+144]
    002bf600str x4, [sp+152]
    002bf604str xzr, [sp+64]
    002bf608str xzr, [sp+56]
    002bf60cstr xzr, [sp+72]
    002bf610str xzr, [sp+96]
    002bf614ldr x1, [sp+128]
    002bf618ldr x2, [sp+136]
    002bf61cldr x3, [sp+144]
    002bf620ldr x4, [sp+152]
    002bf624ldr x5, [sp+120]
    002bf628ldrsb x27, [x5]
    002bf62cldr x6, [x5]
    002bf630ldrsb x27, [x6]
    002bf634ldr x0, [x5+8]
    002bf638ldr x5, [x6+24]
    002bf63cblr x5
    002bf640str x0, [sp+72]
    002bf644str x1, [sp+96]
    002bf648ldr x5, [sp+72]
    002bf64cstr x5, [sp+88]
    002bf650ldr x5, [sp+96]
    002bf654str x5, [sp+80]
    002bf658ldr x5, [sp+88]
    002bf65cstr x5, [sp+64]
    002bf660ldr x1, [sp+80]
    002bf664str x1, [sp+56]
    002bf668ldr x0, [sp+64]
    002bf66cldur x29, [sp-8]
    002bf670ldr x30, [sp], 112
    002bf674ret x30
    002bf678
    002bf678loc_2bf678:
    002bf678stp x0, x1, [sp+8]
    002bf67cstp x2, x3, [sp+24]
    002bf680str x4, [sp+40]
    002bf684mov x3, x30
    002bf688bl runtime.morestack_noctxt.abi0
    002bf68cldp x0, x1, [sp+8]
    002bf690ldp x2, x3, [sp+24]
    002bf694ldr x4, [sp+40]
    002bf698b 0x2bf5d0
    002bf69c
    002bf69cloc_2bf69c:
    002bf69cldr x17, [x16]
    002bf6a0add x20, sp, 120
    002bf6a4subs xzr, x20, x17
    002bf6a8b.ne 0x2bf5f0
    002bf6acadd x20, sp, 8
    002bf6b0str x20, [x16]
    002bf6b4b 0x2bf5f0
    002bf6b8udf 0
    002bf6bcudf 0
    002bf5d0
    002bf6c0
    002bf6c0crypto/ecdsa.PrivateKey.IsOnCurve: ; void crypto/ecdsa.PrivateKey.IsOnCurve(crypto/ecdsa.PrivateKey p0, math/big.Int * x, math/big.Int * y)
    002bf6c0ldr x16, [x28+16]
    002bf6c4subs xzr, sp, x16
    002bf6c8b.ls 0x2bf730
    002bf6ccstr x30, [sp-48]!
    002bf6d0stur x29, [sp-8]
    002bf6d4sub x29, sp, 8
    002bf6d8ldr x16, [x28+32]
    002bf6dccbnz x16, 0x2bf75c
    002bf6e0
    002bf6e0loc_2bf6e0:
    002bf6e0str x0, [sp+56]
    002bf6e4str x1, [sp+64]
    002bf6e8str x2, [sp+72]
    002bf6ecstr x3, [sp+80]
    002bf6f0str x4, [sp+88]
    002bf6f4str x5, [sp+96]
    002bf6f8str x6, [sp+104]
    002bf6fcstrb wzr, [sp+38]
    002bf700ldr x3, [sp+56]
    002bf704ldrsb x27, [x3]
    002bf708ldr x1, [sp+96]
    002bf70cldr x2, [sp+104]
    002bf710ldr x0, [sp+64]
    002bf714ldr x3, [x3+40]
    002bf718blr x3
    002bf71cstrb w0, [sp+39]
    002bf720strb w0, [sp+38]
    002bf724ldur x29, [sp-8]
    002bf728ldr x30, [sp], 48
    002bf72cret x30
    002bf730
    002bf730loc_2bf730:
    002bf730stp x0, x1, [sp+8]
    002bf734stp x2, x3, [sp+24]
    002bf738stp x4, x5, [sp+40]
    002bf73cstr x6, [sp+56]
    002bf740mov x3, x30
    002bf744bl runtime.morestack_noctxt.abi0
    002bf748ldp x0, x1, [sp+8]
    002bf74cldp x2, x3, [sp+24]
    002bf750ldp x4, x5, [sp+40]
    002bf754ldr x6, [sp+56]
    002bf758b 0x2bf6c0
    002bf75c
    002bf75cloc_2bf75c:
    002bf75cldr x17, [x16]
    002bf760add x20, sp, 56
    002bf764subs xzr, x20, x17
    002bf768b.ne 0x2bf6e0
    002bf76cadd x20, sp, 8
    002bf770str x20, [x16]
    002bf774b 0x2bf6e0
    002bf778udf 0
    002bf77cudf 0
    002bf6c0
    002bf780
    002bf780crypto/ecdsa.(*PrivateKey).IsOnCurve: ; void crypto/ecdsa.(*PrivateKey).IsOnCurve(crypto/ecdsa.PrivateKey * p0, math/big.Int * x, math/big.Int * y)
    002bf780ldr x16, [x28+16]
    002bf784subs xzr, sp, x16
    002bf788b.ls 0x2bf7e8
    002bf78cstr x30, [sp-48]!
    002bf790stur x29, [sp-8]
    002bf794sub x29, sp, 8
    002bf798ldr x16, [x28+32]
    002bf79ccbnz x16, 0x2bf804
    002bf7a0
    002bf7a0loc_2bf7a0:
    002bf7a0str x0, [sp+56]
    002bf7a4str x1, [sp+64]
    002bf7a8str x2, [sp+72]
    002bf7acstrb wzr, [sp+38]
    002bf7b0ldr x1, [sp+64]
    002bf7b4ldr x2, [sp+72]
    002bf7b8ldr x3, [sp+56]
    002bf7bcldrsb x27, [x3]
    002bf7c0ldr x4, [x3]
    002bf7c4ldrsb x27, [x4]
    002bf7c8ldr x0, [x3+8]
    002bf7ccldr x3, [x4+40]
    002bf7d0blr x3
    002bf7d4strb w0, [sp+39]
    002bf7d8strb w0, [sp+38]
    002bf7dcldur x29, [sp-8]
    002bf7e0ldr x30, [sp], 48
    002bf7e4ret x30
    002bf7e8
    002bf7e8loc_2bf7e8:
    002bf7e8stp x0, x1, [sp+8]
    002bf7ecstr x2, [sp+24]
    002bf7f0mov x3, x30
    002bf7f4bl runtime.morestack_noctxt.abi0
    002bf7f8ldp x0, x1, [sp+8]
    002bf7fcldr x2, [sp+24]
    002bf800b 0x2bf780
    002bf804
    002bf804loc_2bf804:
    002bf804ldr x17, [x16]
    002bf808add x20, sp, 56
    002bf80csubs xzr, x20, x17
    002bf810b.ne 0x2bf7a0
    002bf814add x20, sp, 8
    002bf818str x20, [x16]
    002bf81cb 0x2bf7a0
    002bf780
    002bf820
    002bf820crypto/ecdsa.PrivateKey.Params: ; void crypto/ecdsa.PrivateKey.Params(crypto/ecdsa.PrivateKey p0)
    002bf820ldr x16, [x28+16]
    002bf824subs xzr, sp, x16
    002bf828b.ls 0x2bf880
    002bf82cstr x30, [sp-48]!
    002bf830stur x29, [sp-8]
    002bf834sub x29, sp, 8
    002bf838ldr x16, [x28+32]
    002bf83ccbnz x16, 0x2bf8a4
    002bf840
    002bf840loc_2bf840:
    002bf840str x0, [sp+56]
    002bf844str x1, [sp+64]
    002bf848str x2, [sp+72]
    002bf84cstr x3, [sp+80]
    002bf850str x4, [sp+88]
    002bf854str xzr, [sp+24]
    002bf858ldr x1, [sp+56]
    002bf85cldrsb x27, [x1]
    002bf860ldr x0, [sp+64]
    002bf864ldr x1, [x1+48]
    002bf868blr x1
    002bf86cstr x0, [sp+32]
    002bf870str x0, [sp+24]
    002bf874ldur x29, [sp-8]
    002bf878ldr x30, [sp], 48
    002bf87cret x30
    002bf880
    002bf880loc_2bf880:
    002bf880stp x0, x1, [sp+8]
    002bf884stp x2, x3, [sp+24]
    002bf888str x4, [sp+40]
    002bf88cmov x3, x30
    002bf890bl runtime.morestack_noctxt.abi0
    002bf894ldp x0, x1, [sp+8]
    002bf898ldp x2, x3, [sp+24]
    002bf89cldr x4, [sp+40]
    002bf8a0b 0x2bf820
    002bf8a4
    002bf8a4loc_2bf8a4:
    002bf8a4ldr x17, [x16]
    002bf8a8add x20, sp, 56
    002bf8acsubs xzr, x20, x17
    002bf8b0b.ne 0x2bf840
    002bf8b4add x20, sp, 8
    002bf8b8str x20, [x16]
    002bf8bcb 0x2bf840
    002bf820
    002bf8c0
    002bf8c0crypto/ecdsa.(*PrivateKey).Params: ; void crypto/ecdsa.(*PrivateKey).Params(crypto/ecdsa.PrivateKey * p0)
    002bf8c0ldr x16, [x28+16]
    002bf8c4subs xzr, sp, x16
    002bf8c8b.ls 0x2bf918
    002bf8ccstr x30, [sp-48]!
    002bf8d0stur x29, [sp-8]
    002bf8d4sub x29, sp, 8
    002bf8d8ldr x16, [x28+32]
    002bf8dccbnz x16, 0x2bf92c
    002bf8e0
    002bf8e0loc_2bf8e0:
    002bf8e0str x0, [sp+56]
    002bf8e4str xzr, [sp+24]
    002bf8e8ldr x1, [sp+56]
    002bf8ecldrsb x27, [x1]
    002bf8f0ldr x2, [x1]
    002bf8f4ldrsb x27, [x2]
    002bf8f8ldr x0, [x1+8]
    002bf8fcldr x1, [x2+48]
    002bf900blr x1
    002bf904str x0, [sp+32]
    002bf908str x0, [sp+24]
    002bf90cldur x29, [sp-8]
    002bf910ldr x30, [sp], 48
    002bf914ret x30
    002bf918
    002bf918loc_2bf918:
    002bf918str x0, [sp+8]
    002bf91cmov x3, x30
    002bf920bl runtime.morestack_noctxt.abi0
    002bf924ldr x0, [sp+8]
    002bf928b 0x2bf8c0
    002bf92c
    002bf92cloc_2bf92c:
    002bf92cldr x17, [x16]
    002bf930add x20, sp, 56
    002bf934subs xzr, x20, x17
    002bf938b.ne 0x2bf8e0
    002bf93cadd x20, sp, 8
    002bf940str x20, [x16]
    002bf944b 0x2bf8e0
    002bf948udf 0
    002bf94cudf 0
    002bf8c0
    002bf950
    002bf950crypto/ecdsa.PrivateKey.ScalarBaseMult: ; void crypto/ecdsa.PrivateKey.ScalarBaseMult(crypto/ecdsa.PrivateKey p0, struct []uint8 k)
    002bf950ldr x16, [x28+16]
    002bf954subs xzr, sp, x16
    002bf958b.ls 0x2bf9f8
    002bf95cstr x30, [sp-96]!
    002bf960stur x29, [sp-8]
    002bf964sub x29, sp, 8
    002bf968ldr x16, [x28+32]
    002bf96ccbnz x16, 0x2bfa24
    002bf970
    002bf970loc_2bf970:
    002bf970str x0, [sp+104]
    002bf974str x1, [sp+112]
    002bf978str x2, [sp+120]
    002bf97cstr x3, [sp+128]
    002bf980str x4, [sp+136]
    002bf984str x5, [sp+144]
    002bf988str x6, [sp+152]
    002bf98cstr x7, [sp+160]
    002bf990str xzr, [sp+48]
    002bf994str xzr, [sp+40]
    002bf998str xzr, [sp+64]
    002bf99cstr xzr, [sp+56]
    002bf9a0ldr x4, [sp+104]
    002bf9a4ldrsb x27, [x4]
    002bf9a8ldr x1, [sp+144]
    002bf9acldr x2, [sp+152]
    002bf9b0ldr x0, [sp+112]
    002bf9b4ldr x3, [sp+160]
    002bf9b8ldr x4, [x4+56]
    002bf9bcblr x4
    002bf9c0str x0, [sp+64]
    002bf9c4str x1, [sp+56]
    002bf9c8ldr x4, [sp+64]
    002bf9ccstr x4, [sp+80]
    002bf9d0ldr x4, [sp+56]
    002bf9d4str x4, [sp+72]
    002bf9d8ldr x4, [sp+80]
    002bf9dcstr x4, [sp+48]
    002bf9e0ldr x1, [sp+72]
    002bf9e4str x1, [sp+40]
    002bf9e8ldr x0, [sp+48]
    002bf9ecldur x29, [sp-8]
    002bf9f0ldr x30, [sp], 96
    002bf9f4ret x30
    002bf9f8
    002bf9f8loc_2bf9f8:
    002bf9f8stp x0, x1, [sp+8]
    002bf9fcstp x2, x3, [sp+24]
    002bfa00stp x4, x5, [sp+40]
    002bfa04stp x6, x7, [sp+56]
    002bfa08mov x3, x30
    002bfa0cbl runtime.morestack_noctxt.abi0
    002bfa10ldp x0, x1, [sp+8]
    002bfa14ldp x2, x3, [sp+24]
    002bfa18ldp x4, x5, [sp+40]
    002bfa1cldp x6, x7, [sp+56]
    002bfa20b 0x2bf950
    002bfa24
    002bfa24loc_2bfa24:
    002bfa24ldr x17, [x16]
    002bfa28add x20, sp, 104
    002bfa2csubs xzr, x20, x17
    002bfa30b.ne 0x2bf970
    002bfa34add x20, sp, 8
    002bfa38str x20, [x16]
    002bfa3cb 0x2bf970
    002bf950
    002bfa40
    002bfa40crypto/ecdsa.(*PrivateKey).ScalarBaseMult: ; void crypto/ecdsa.(*PrivateKey).ScalarBaseMult(crypto/ecdsa.PrivateKey * p0, struct []uint8 k)
    002bfa40ldr x16, [x28+16]
    002bfa44subs xzr, sp, x16
    002bfa48b.ls 0x2bfae0
    002bfa4cstr x30, [sp-96]!
    002bfa50stur x29, [sp-8]
    002bfa54sub x29, sp, 8
    002bfa58ldr x16, [x28+32]
    002bfa5ccbnz x16, 0x2bfafc
    002bfa60
    002bfa60loc_2bfa60:
    002bfa60str x0, [sp+104]
    002bfa64str x1, [sp+112]
    002bfa68str x2, [sp+120]
    002bfa6cstr x3, [sp+128]
    002bfa70str xzr, [sp+48]
    002bfa74str xzr, [sp+40]
    002bfa78str xzr, [sp+64]
    002bfa7cstr xzr, [sp+56]
    002bfa80ldr x1, [sp+112]
    002bfa84ldr x4, [sp+104]
    002bfa88ldrsb x27, [x4]
    002bfa8cldr x5, [x4]
    002bfa90ldrsb x27, [x5]
    002bfa94ldr x2, [sp+120]
    002bfa98ldr x0, [x4+8]
    002bfa9cldr x3, [sp+128]
    002bfaa0ldr x4, [x5+56]
    002bfaa4blr x4
    002bfaa8str x0, [sp+64]
    002bfaacstr x1, [sp+56]
    002bfab0ldr x4, [sp+64]
    002bfab4str x4, [sp+80]
    002bfab8ldr x4, [sp+56]
    002bfabcstr x4, [sp+72]
    002bfac0ldr x4, [sp+80]
    002bfac4str x4, [sp+48]
    002bfac8ldr x1, [sp+72]
    002bfaccstr x1, [sp+40]
    002bfad0ldr x0, [sp+48]
    002bfad4ldur x29, [sp-8]
    002bfad8ldr x30, [sp], 96
    002bfadcret x30
    002bfae0
    002bfae0loc_2bfae0:
    002bfae0stp x0, x1, [sp+8]
    002bfae4stp x2, x3, [sp+24]
    002bfae8mov x3, x30
    002bfaecbl runtime.morestack_noctxt.abi0
    002bfaf0ldp x0, x1, [sp+8]
    002bfaf4ldp x2, x3, [sp+24]
    002bfaf8b 0x2bfa40
    002bfafc
    002bfafcloc_2bfafc:
    002bfafcldr x17, [x16]
    002bfb00add x20, sp, 104
    002bfb04subs xzr, x20, x17
    002bfb08b.ne 0x2bfa60
    002bfb0cadd x20, sp, 8
    002bfb10str x20, [x16]
    002bfb14b 0x2bfa60
    002bfb18udf 0
    002bfb1cudf 0
    002bfa40
    002bfb20
    002bfb20crypto/ecdsa.PrivateKey.ScalarMult: ; void crypto/ecdsa.PrivateKey.ScalarMult(crypto/ecdsa.PrivateKey p0, math/big.Int * x1, math/big.Int * y1, struct []uint8 k)
    002bfb20ldr x16, [x28+16]
    002bfb24subs xzr, sp, x16
    002bfb28b.ls 0x2bfbd8
    002bfb2cstr x30, [sp-112]!
    002bfb30stur x29, [sp-8]
    002bfb34sub x29, sp, 8
    002bfb38ldr x16, [x28+32]
    002bfb3ccbnz x16, 0x2bfc0c
    002bfb40
    002bfb40loc_2bfb40:
    002bfb40str x0, [sp+120]
    002bfb44str x1, [sp+128]
    002bfb48str x2, [sp+136]
    002bfb4cstr x3, [sp+144]
    002bfb50str x4, [sp+152]
    002bfb54str x5, [sp+160]
    002bfb58str x6, [sp+168]
    002bfb5cstr x7, [sp+176]
    002bfb60str x8, [sp+184]
    002bfb64str x9, [sp+192]
    002bfb68str xzr, [sp+64]
    002bfb6cstr xzr, [sp+56]
    002bfb70str xzr, [sp+80]
    002bfb74str xzr, [sp+72]
    002bfb78ldr x6, [sp+120]
    002bfb7cldrsb x27, [x6]
    002bfb80ldr x3, [sp+176]
    002bfb84ldr x1, [sp+160]
    002bfb88ldr x2, [sp+168]
    002bfb8cldr x4, [sp+184]
    002bfb90ldr x0, [sp+128]
    002bfb94ldr x5, [sp+192]
    002bfb98ldr x6, [x6+64]
    002bfb9cblr x6
    002bfba0str x0, [sp+80]
    002bfba4str x1, [sp+72]
    002bfba8ldr x6, [sp+80]
    002bfbacstr x6, [sp+96]
    002bfbb0ldr x6, [sp+72]
    002bfbb4str x6, [sp+88]
    002bfbb8ldr x6, [sp+96]
    002bfbbcstr x6, [sp+64]
    002bfbc0ldr x1, [sp+88]
    002bfbc4str x1, [sp+56]
    002bfbc8ldr x0, [sp+64]
    002bfbccldur x29, [sp-8]
    002bfbd0ldr x30, [sp], 112
    002bfbd4ret x30
    002bfbd8
    002bfbd8loc_2bfbd8:
    002bfbd8stp x0, x1, [sp+8]
    002bfbdcstp x2, x3, [sp+24]
    002bfbe0stp x4, x5, [sp+40]
    002bfbe4stp x6, x7, [sp+56]
    002bfbe8stp x8, x9, [sp+72]
    002bfbecmov x3, x30
    002bfbf0bl runtime.morestack_noctxt.abi0
    002bfbf4ldp x0, x1, [sp+8]
    002bfbf8ldp x2, x3, [sp+24]
    002bfbfcldp x4, x5, [sp+40]
    002bfc00ldp x6, x7, [sp+56]
    002bfc04ldp x8, x9, [sp+72]
    002bfc08b 0x2bfb20
    002bfc0c
    002bfc0cloc_2bfc0c:
    002bfc0cldr x17, [x16]
    002bfc10add x20, sp, 120
    002bfc14subs xzr, x20, x17
    002bfc18b.ne 0x2bfb40
    002bfc1cadd x20, sp, 8
    002bfc20str x20, [x16]
    002bfc24b 0x2bfb40
    002bfc28udf 0
    002bfc2cudf 0
    002bfb20
    002bfc30
    002bfc30crypto/ecdsa.(*PrivateKey).ScalarMult: ; void crypto/ecdsa.(*PrivateKey).ScalarMult(crypto/ecdsa.PrivateKey * p0, math/big.Int * x1, math/big.Int * y1, struct []uint8 k)
    002bfc30ldr x16, [x28+16]
    002bfc34subs xzr, sp, x16
    002bfc38b.ls 0x2bfce0
    002bfc3cstr x30, [sp-112]!
    002bfc40stur x29, [sp-8]
    002bfc44sub x29, sp, 8
    002bfc48ldr x16, [x28+32]
    002bfc4ccbnz x16, 0x2bfd04
    002bfc50
    002bfc50loc_2bfc50:
    002bfc50str x0, [sp+120]
    002bfc54str x1, [sp+128]
    002bfc58str x2, [sp+136]
    002bfc5cstr x3, [sp+144]
    002bfc60str x4, [sp+152]
    002bfc64str x5, [sp+160]
    002bfc68str xzr, [sp+64]
    002bfc6cstr xzr, [sp+56]
    002bfc70str xzr, [sp+80]
    002bfc74str xzr, [sp+72]
    002bfc78ldr x3, [sp+144]
    002bfc7cldr x1, [sp+128]
    002bfc80ldr x2, [sp+136]
    002bfc84ldr x6, [sp+120]
    002bfc88ldrsb x27, [x6]
    002bfc8cldr x7, [x6]
    002bfc90ldrsb x27, [x7]
    002bfc94ldr x4, [sp+152]
    002bfc98ldr x0, [x6+8]
    002bfc9cldr x5, [sp+160]
    002bfca0ldr x6, [x7+64]
    002bfca4blr x6
    002bfca8str x0, [sp+80]
    002bfcacstr x1, [sp+72]
    002bfcb0ldr x6, [sp+80]
    002bfcb4str x6, [sp+96]
    002bfcb8ldr x6, [sp+72]
    002bfcbcstr x6, [sp+88]
    002bfcc0ldr x6, [sp+96]
    002bfcc4str x6, [sp+64]
    002bfcc8ldr x1, [sp+88]
    002bfcccstr x1, [sp+56]
    002bfcd0ldr x0, [sp+64]
    002bfcd4ldur x29, [sp-8]
    002bfcd8ldr x30, [sp], 112
    002bfcdcret x30
    002bfce0
    002bfce0loc_2bfce0:
    002bfce0stp x0, x1, [sp+8]
    002bfce4stp x2, x3, [sp+24]
    002bfce8stp x4, x5, [sp+40]
    002bfcecmov x3, x30
    002bfcf0bl runtime.morestack_noctxt.abi0
    002bfcf4ldp x0, x1, [sp+8]
    002bfcf8ldp x2, x3, [sp+24]
    002bfcfcldp x4, x5, [sp+40]
    002bfd00b 0x2bfc30
    002bfd04
    002bfd04loc_2bfd04:
    002bfd04ldr x17, [x16]
    002bfd08add x20, sp, 120
    002bfd0csubs xzr, x20, x17
    002bfd10b.ne 0x2bfc50
    002bfd14add x20, sp, 8
    002bfd18str x20, [x16]
    002bfd1cb 0x2bfc50
    002bfc30
    002bfd20
    002bfd20crypto.Hash.New-fm: ; void crypto.Hash.New-fm(void)
    002bfd20ldr x16, [x28+16]
    002bfd24subs xzr, sp, x16
    002bfd28b.ls 0x2bfd70
    002bfd2cstr x30, [sp-64]!
    002bfd30stur x29, [sp-8]
    002bfd34sub x29, sp, 8
    002bfd38ldr x16, [x28+32]
    002bfd3ccbnz x16, 0x2bfd7c
    002bfd40
    002bfd40loc_2bfd40:
    002bfd40ldr x1, [x26+8]
    002bfd44str x1, [sp+16]
    002bfd48stp xzr, xzr, [sp+24]
    002bfd4cldr x0, [sp+16]
    002bfd50bl crypto.Hash.New
    002bfd54str x0, [sp+40]
    002bfd58str x1, [sp+48]
    002bfd5cstr x0, [sp+24]
    002bfd60str x1, [sp+32]
    002bfd64ldur x29, [sp-8]
    002bfd68ldr x30, [sp], 64
    002bfd6cret x30
    002bfd70
    002bfd70loc_2bfd70:
    002bfd70mov x3, x30
    002bfd74bl runtime.morestack.abi0
    002bfd78b 0x2bfd20
    002bfd7c
    002bfd7cloc_2bfd7c:
    002bfd7cldr x17, [x16]
    002bfd80add x20, sp, 72
    002bfd84subs xzr, x20, x17
    002bfd88b.ne 0x2bfd40
    002bfd8cadd x20, sp, 8
    002bfd90str x20, [x16]
    002bfd94b 0x2bfd40
    002bfd98udf 0
    002bfd9cudf 0
    002bfd20
    002bfda0
    002bfda0type:.eq.crypto/ecdsa.PrivateKey: ; void type:.eq.crypto/ecdsa.PrivateKey(crypto/ecdsa.PrivateKey * p, crypto/ecdsa.PrivateKey * q)
    002bfda0ldr x16, [x28+16]
    002bfda4subs xzr, sp, x16
    002bfda8b.ls 0x2bfe94
    002bfdacstr x30, [sp-80]!
    002bfdb0stur x29, [sp-8]
    002bfdb4sub x29, sp, 8
    002bfdb8str x0, [sp+88]
    002bfdbcstr x1, [sp+96]
    002bfdc0strb wzr, [sp+39]
    002bfdc4ldr x3, [sp+96]
    002bfdc8ldr x4, [x3]
    002bfdccldr x3, [x3+8]
    002bfdd0str x4, [sp+56]
    002bfdd4str x3, [sp+64]
    002bfdd8ldr x3, [sp+88]
    002bfddcldr x0, [x3]
    002bfde0ldr x1, [x3+8]
    002bfde4str x0, [sp+40]
    002bfde8str x1, [sp+48]
    002bfdecldr x3, [sp+56]
    002bfdf0subs xzr, x0, x3
    002bfdf4b.eq 0x2bfdfc
    002bfdf8b 0x2bfe74
    002bfdfc
    002bfdfcloc_2bfdfc:
    002bfdfcldr x2, [sp+64]
    002bfe00bl runtime.ifaceeq
    002bfe04tbnz w0, 0, 0x2bfe0c
    002bfe08b 0x2bfe6c
    002bfe0c
    002bfe0cloc_2bfe0c:
    002bfe0cldr x1, [sp+88]
    002bfe10ldr x2, [sp+96]
    002bfe14ldr x1, [x1+16]
    002bfe18ldr x2, [x2+16]
    002bfe1csubs xzr, x2, x1
    002bfe20b.eq 0x2bfe28
    002bfe24b 0x2bfe68
    002bfe28
    002bfe28loc_2bfe28:
    002bfe28ldr x1, [sp+88]
    002bfe2cldr x2, [sp+96]
    002bfe30ldr x1, [x1+24]
    002bfe34ldr x2, [x2+24]
    002bfe38subs xzr, x2, x1
    002bfe3cb.eq 0x2bfe44
    002bfe40b 0x2bfe64
    002bfe44
    002bfe44loc_2bfe44:
    002bfe44ldr x1, [sp+88]
    002bfe48ldr x2, [sp+96]
    002bfe4cldr x1, [x1+32]
    002bfe50ldr x2, [x2+32]
    002bfe54subs xzr, x2, x1
    002bfe58cset x1, eq
    002bfe5cstrb w1, [sp+39]
    002bfe60b 0x2bfe84
    002bfe64
    002bfe64loc_2bfe64:
    002bfe64b 0x2bfe70
    002bfe68
    002bfe68loc_2bfe68:
    002bfe68b 0x2bfe70
    002bfe6c
    002bfe6cloc_2bfe6c:
    002bfe6cb 0x2bfe70
    002bfe70
    002bfe70loc_2bfe70:
    002bfe70b 0x2bfe78
    002bfe74
    002bfe74loc_2bfe74:
    002bfe74b 0x2bfe78
    002bfe78
    002bfe78loc_2bfe78:
    002bfe78b 0x2bfe7c
    002bfe7c
    002bfe7cloc_2bfe7c:
    002bfe7cstrb wzr, [sp+39]
    002bfe80b 0x2bfe84
    002bfe84
    002bfe84loc_2bfe84:
    002bfe84ldrb w0, [sp+39]
    002bfe88ldur x29, [sp-8]
    002bfe8cldr x30, [sp], 80
    002bfe90ret x30
    002bfe94
    002bfe94loc_2bfe94:
    002bfe94stp x0, x1, [sp+8]
    002bfe98mov x3, x30
    002bfe9cbl runtime.morestack_noctxt.abi0
    002bfea0ldp x0, x1, [sp+8]
    002bfea4b 0x2bfda0
    002bfea8udf 0
    002bfeacudf 0
    002bfda0
    002bfeb0
    002bfeb0type:.eq.crypto/ecdsa.PublicKey: ; void type:.eq.crypto/ecdsa.PublicKey(crypto/ecdsa.PublicKey * p, crypto/ecdsa.PublicKey * q)
    002bfeb0ldr x16, [x28+16]
    002bfeb4subs xzr, sp, x16
    002bfeb8b.ls 0x2bff80
    002bfebcstr x30, [sp-80]!
    002bfec0stur x29, [sp-8]
    002bfec4sub x29, sp, 8
    002bfec8str x0, [sp+88]
    002bfeccstr x1, [sp+96]
    002bfed0strb wzr, [sp+39]
    002bfed4ldr x3, [sp+96]
    002bfed8ldr x4, [x3]
    002bfedcldr x3, [x3+8]
    002bfee0str x4, [sp+56]
    002bfee4str x3, [sp+64]
    002bfee8ldr x3, [sp+88]
    002bfeecldr x0, [x3]
    002bfef0ldr x1, [x3+8]
    002bfef4str x0, [sp+40]
    002bfef8str x1, [sp+48]
    002bfefcldr x3, [sp+56]
    002bff00subs xzr, x3, x0
    002bff04b.eq 0x2bff0c
    002bff08b 0x2bff60
    002bff0c
    002bff0cloc_2bff0c:
    002bff0cldr x2, [sp+64]
    002bff10bl runtime.ifaceeq
    002bff14tbnz w0, 0, 0x2bff1c
    002bff18b 0x2bff5c
    002bff1c
    002bff1cloc_2bff1c:
    002bff1cldr x1, [sp+88]
    002bff20ldr x2, [sp+96]
    002bff24ldr x1, [x1+16]
    002bff28ldr x2, [x2+16]
    002bff2csubs xzr, x2, x1
    002bff30b.eq 0x2bff38
    002bff34b 0x2bff58
    002bff38
    002bff38loc_2bff38:
    002bff38ldr x1, [sp+88]
    002bff3cldr x2, [sp+96]
    002bff40ldr x1, [x1+24]
    002bff44ldr x2, [x2+24]
    002bff48subs xzr, x2, x1
    002bff4ccset x1, eq
    002bff50strb w1, [sp+39]
    002bff54b 0x2bff70
    002bff58
    002bff58loc_2bff58:
    002bff58b 0x2bff68
    002bff5c
    002bff5cloc_2bff5c:
    002bff5cb 0x2bff64
    002bff60
    002bff60loc_2bff60:
    002bff60b 0x2bff64
    002bff64
    002bff64loc_2bff64:
    002bff64b 0x2bff68
    002bff68
    002bff68loc_2bff68:
    002bff68strb wzr, [sp+39]
    002bff6cb 0x2bff70
    002bff70
    002bff70loc_2bff70:
    002bff70ldrb w0, [sp+39]
    002bff74ldur x29, [sp-8]
    002bff78ldr x30, [sp], 80
    002bff7cret x30
    002bff80
    002bff80loc_2bff80:
    002bff80stp x0, x1, [sp+8]
    002bff84mov x3, x30
    002bff88bl runtime.morestack_noctxt.abi0
    002bff8cldp x0, x1, [sp+8]
    002bff90b 0x2bfeb0
    002bff94udf 0
    002bff98udf 0
    002bff9cudf 0
    002bfeb0
    002bffa0
    002bffa0crypto/rand.init.0: ; void crypto/rand.init.0(void)
    002bffa0ldr x16, [x28+16]
    002bffa4subs xzr, sp, x16
    002bffa8b.ls 0x2c004c
    002bffacstr x30, [sp-64]!
    002bffb0stur x29, [sp-8]
    002bffb4sub x29, sp, 8
    002bffb8adrp x0, 0x37c000
    002bffbcadd x0, x0, 2208
    002bffc0bl runtime.newobject
    002bffc4str x0, [sp+40]
    002bffc8str xzr, [x0]
    002bffccadrp x27, 0x78c000
    002bffd0ldr w1, [x27+3056]
    002bffd4cbz w1, 0x2bffdc
    002bffd8b 0x2bffe0
    002bffdc
    002bffdcloc_2bffdc:
    002bffdcb 0x2bfff0
    002bffe0
    002bffe0loc_2bffe0:
    002bffe0ldr x1, [x0+8]
    002bffe4bl runtime.gcWriteBarrier1
    002bffe8str x1, [x25]
    002bffecb 0x2bfff0
    002bfff0
    002bfff0loc_2bfff0:
    002bfff0str xzr, [x0+8]
    002bfff4ldr x0, [sp+40]
    002bfff8str x0, [sp+48]
    002bfffcadrp x1, 0x456000
    002c0000add x1, x1, 2688
    002c0004adrp x27, 0x761000
    002c0008str x1, [x27+2672]
    002c000cadrp x27, 0x78b000
    002c0010ldr w1, [x27+3056]
    002c0014cbz w1, 0x2c001c
    002c0018b 0x2c0020
    002c001c
    002c001cloc_2c001c:
    002c001cb 0x2c0038
    002c0020
    002c0020loc_2c0020:
    002c0020bl runtime.gcWriteBarrier2
    002c0024str x0, [x25]
    002c0028adrp x27, 0x761000
    002c002cldr x1, [x27+2680]
    002c0030str x1, [x25+8]
    002c0034b 0x2c0038
    002c0038
    002c0038loc_2c0038:
    002c0038adrp x27, 0x761000
    002c003cstr x0, [x27+2680]
    002c0040ldur x29, [sp-8]
    002c0044ldr x30, [sp], 64
    002c0048ret x30
    002c004c
    002c004cloc_2c004c:
    002c004cmov x3, x30
    002c0050bl runtime.morestack_noctxt.abi0
    002c0054b 0x2bffa0
    002c0058udf 0
    002c005cudf 0
    002bffa0
    002c0060
    002c0060crypto/rand.(*reader).Read: ; void crypto/rand.(*reader).Read(crypto/rand.reader * r, struct []uint8 b)
    002c0060ldr x16, [x28+16]
    002c0064subs xzr, sp, x16
    002c0068b.ls 0x2c00f4
    002c006cstr x30, [sp-80]!
    002c0070stur x29, [sp-8]
    002c0074sub x29, sp, 8
    002c0078str x0, [sp+88]
    002c007cstr x1, [sp+96]
    002c0080str x2, [sp+104]
    002c0084str x3, [sp+112]
    002c0088str xzr, [sp+40]
    002c008cstp xzr, xzr, [sp+56]
    002c0090bl crypto/internal/boring.Unreachable
    002c0094adrp x27, 0x78b000
    002c0098ldrb w0, [x27+1548]
    002c009ctbnz w0, 0, 0x2c00a4
    002c00a0b 0x2c00b8
    002c00a4
    002c00a4loc_2c00a4:
    002c00a4ldr x0, [sp+96]
    002c00a8ldr x1, [sp+104]
    002c00acldr x2, [sp+112]
    002c00b0bl crypto/internal/fips140/drbg.Read
    002c00b4b 0x2c00cc
    002c00b8
    002c00b8loc_2c00b8:
    002c00b8ldr x0, [sp+96]
    002c00bcldr x1, [sp+104]
    002c00c0ldr x2, [sp+112]
    002c00c4bl crypto/internal/sysrand.Read
    002c00c8b 0x2c00cc
    002c00cc
    002c00ccloc_2c00cc:
    002c00ccldr x3, [sp+104]
    002c00d0str x3, [sp+48]
    002c00d4str x3, [sp+40]
    002c00d8stp xzr, xzr, [sp+56]
    002c00dcldr x0, [sp+40]
    002c00e0mov x1, xzr
    002c00e4mov x2, xzr
    002c00e8ldur x29, [sp-8]
    002c00ecldr x30, [sp], 80
    002c00f0ret x30
    002c00f4
    002c00f4loc_2c00f4:
    002c00f4stp x0, x1, [sp+8]
    002c00f8stp x2, x3, [sp+24]
    002c00fcmov x3, x30
    002c0100bl runtime.morestack_noctxt.abi0
    002c0104ldp x0, x1, [sp+8]
    002c0108ldp x2, x3, [sp+24]
    002c010cb 0x2c0060
    002c0060
    002c0110
    002c0110crypto/rand.Read: ; void crypto/rand.Read(struct []uint8 b)
    002c0110ldr x16, [x28+16]
    002c0114sub x17, sp, 176
    002c0118subs xzr, x17, x16
    002c011cb.ls 0x2c037c
    002c0120sub x20, sp, 304
    002c0124stp x29, x30, [x20-8]
    002c0128add sp, x20, 0
    002c012csub x29, sp, 8
    002c0130str x0, [sp+312]
    002c0134str x1, [sp+320]
    002c0138str x2, [sp+328]
    002c013cstr xzr, [sp+56]
    002c0140stp xzr, xzr, [sp+112]
    002c0144str xzr, [sp+272]
    002c0148adrp x27, 0x761000
    002c014cldr x4, [x27+2672]
    002c0150adrp x27, 0x761000
    002c0154ldr x5, [x27+2680]
    002c0158adrp x6, 0x455000
    002c015cadd x6, x6, 2688
    002c0160subs xzr, x4, x6
    002c0164b.eq 0x2c016c
    002c0168b 0x2c0174
    002c016c
    002c016cloc_2c016c:
    002c016corr x0, xzr, 1
    002c0170b 0x2c0180
    002c0174
    002c0174loc_2c0174:
    002c0174mov x0, xzr
    002c0178mov x5, xzr
    002c017cb 0x2c0180
    002c0180
    002c0180loc_2c0180:
    002c0180str x5, [sp+272]
    002c0184strb w0, [sp+55]
    002c0188ldr x4, [sp+272]
    002c018cstr x4, [sp+168]
    002c0190ldrb w4, [sp+55]
    002c0194strb w4, [sp+54]
    002c0198ldr x4, [sp+168]
    002c019cstr x4, [sp+104]
    002c01a0ldrb w4, [sp+54]
    002c01a4strb w4, [sp+53]
    002c01a8tbnz w4, 0, 0x2c01b0
    002c01acb 0x2c01f0
    002c01b0
    002c01b0loc_2c01b0:
    002c01b0stp xzr, xzr, [sp+256]
    002c01b4ldr x1, [sp+312]
    002c01b8ldr x2, [sp+320]
    002c01bcldr x3, [sp+328]
    002c01c0ldr x0, [sp+104]
    002c01c4bl crypto/rand.(*reader).Read
    002c01c8str x0, [sp+88]
    002c01ccstr x1, [sp+256]
    002c01d0str x2, [sp+264]
    002c01d4ldr x4, [sp+88]
    002c01d8str x4, [sp+64]
    002c01dcstr x1, [sp+152]
    002c01e0str x2, [sp+160]
    002c01e4str x1, [sp+112]
    002c01e8str x2, [sp+120]
    002c01ecb 0x2c02ec
    002c01f0
    002c01f0loc_2c01f0:
    002c01f0ldr x2, [sp+320]
    002c01f4str x2, [sp+88]
    002c01f8adrp x0, 0x335000
    002c01fcadd x0, x0, 3072
    002c0200mov x1, x2
    002c0204bl runtime.makeslice
    002c0208ldr x3, [sp+88]
    002c020cldr x4, [sp+88]
    002c0210str x0, [sp+128]
    002c0214str x3, [sp+136]
    002c0218str x4, [sp+144]
    002c021cstp xzr, xzr, [sp+256]
    002c0220adrp x27, 0x761000
    002c0224ldr x0, [x27+2672]
    002c0228ldr x2, [sp+128]
    002c022cldr x3, [sp+136]
    002c0230adrp x27, 0x761000
    002c0234ldr x1, [x27+2680]
    002c0238ldr x4, [sp+144]
    002c023cbl io.ReadFull
    002c0240str x0, [sp+88]
    002c0244str x1, [sp+256]
    002c0248str x2, [sp+264]
    002c024cldr x3, [sp+88]
    002c0250str x3, [sp+96]
    002c0254str x1, [sp+280]
    002c0258str x2, [sp+288]
    002c025cstr x1, [sp+112]
    002c0260str x2, [sp+120]
    002c0264ldr x3, [sp+312]
    002c0268ldr x4, [sp+320]
    002c026cldr x5, [sp+328]
    002c0270str x3, [sp+216]
    002c0274str x4, [sp+224]
    002c0278str x5, [sp+232]
    002c027cldr x3, [sp+136]
    002c0280ldr x4, [sp+128]
    002c0284ldr x5, [sp+144]
    002c0288str x4, [sp+192]
    002c028cstr x3, [sp+200]
    002c0290str x5, [sp+208]
    002c0294ldr x4, [sp+224]
    002c0298str x4, [sp+80]
    002c029csubs xzr, x4, x3
    002c02a0b.gt 0x2c02a8
    002c02a4b 0x2c02b0
    002c02a8
    002c02a8loc_2c02a8:
    002c02a8str x3, [sp+80]
    002c02acb 0x2c02b4
    002c02b0
    002c02b0loc_2c02b0:
    002c02b0b 0x2c02b4
    002c02b4
    002c02b4loc_2c02b4:
    002c02b4ldr x3, [sp+192]
    002c02b8ldr x4, [sp+216]
    002c02bcsubs xzr, x3, x4
    002c02c0b.ne 0x2c02c8
    002c02c4b 0x2c02e4
    002c02c8
    002c02c8loc_2c02c8:
    002c02c8ldr x3, [sp+80]
    002c02ccstr x3, [sp+72]
    002c02d0ldr x2, [sp+72]
    002c02d4ldr x1, [sp+192]
    002c02d8ldr x0, [sp+216]
    002c02dcbl runtime.memmove
    002c02e0b 0x2c02e8
    002c02e4
    002c02e4loc_2c02e4:
    002c02e4b 0x2c02e8
    002c02e8
    002c02e8loc_2c02e8:
    002c02e8b 0x2c02ec
    002c02ec
    002c02ecloc_2c02ec:
    002c02ecldr x3, [sp+112]
    002c02f0cbnz x3, 0x2c0320
    002c02f4b 0x2c02f8
    002c02f8
    002c02f8loc_2c02f8:
    002c02f8ldr x3, [sp+320]
    002c02fcstr x3, [sp+88]
    002c0300str x3, [sp+56]
    002c0304stp xzr, xzr, [sp+112]
    002c0308ldr x0, [sp+56]
    002c030cmov x1, xzr
    002c0310mov x2, xzr
    002c0314ldp x29, x30, [sp-8]
    002c0318add sp, sp, 304
    002c031cret x30
    002c0320
    002c0320loc_2c0320:
    002c0320ldr x1, [sp+112]
    002c0324ldrsb x27, [x1]
    002c0328ldr x1, [x1+24]
    002c032cldr x0, [sp+120]
    002c0330blr x1
    002c0334str x0, [sp+240]
    002c0338str x1, [sp+248]
    002c033cmovz x2, 74
    002c0340mov x3, x0
    002c0344mov x4, x1
    002c0348mov x0, xzr
    002c034cadrp x1, 0x40e000
    002c0350add x1, x1, 3672
    002c0354bl runtime.concatstring2
    002c0358str x0, [sp+176]
    002c035cstr x1, [sp+184]
    002c0360bl crypto/rand.fatal
    002c0364adrp x0, 0x335000
    002c0368add x0, x0, 2944
    002c036cadrp x1, 0x451000
    002c0370add x1, x1, 8
    002c0374bl runtime.gopanic
    002c0378hint
    002c037c
    002c037cloc_2c037c:
    002c037cstp x0, x1, [sp+8]
    002c0380str x2, [sp+24]
    002c0384mov x3, x30
    002c0388bl runtime.morestack_noctxt.abi0
    002c038cldp x0, x1, [sp+8]
    002c0390ldr x2, [sp+24]
    002c0394b 0x2c0110
    002c0398udf 0
    002c039cudf 0
    002c0110
    002c03a0
    002c03a0crypto/rand.Int: ; void crypto/rand.Int(io.Reader rand, math/big.Int * max)
    002c03a0ldr x16, [x28+16]
    002c03a4sub x17, sp, 64
    002c03a8subs xzr, x17, x16
    002c03acb.ls 0x2c05e8
    002c03b0str x30, [sp-192]!
    002c03b4stur x29, [sp-8]
    002c03b8sub x29, sp, 8
    002c03bcstr x0, [sp+200]
    002c03c0str x1, [sp+208]
    002c03c4str x2, [sp+216]
    002c03c8str xzr, [sp+96]
    002c03ccstp xzr, xzr, [sp+104]
    002c03d0ldr x0, [sp+216]
    002c03d4bl math/big.(*Int).Sign
    002c03d8str x0, [sp+88]
    002c03dcsubs xzr, x0, 0
    002c03e0b.le 0x2c05d0
    002c03e4b 0x2c03e8
    002c03e8
    002c03e8loc_2c03e8:
    002c03e8adrp x0, 0x385000
    002c03ecadd x0, x0, 1024
    002c03f0bl runtime.newobject
    002c03f4str x0, [sp+96]
    002c03f8orr x1, xzr, 1
    002c03fcbl math/big.(*Int).SetUint64
    002c0400str x0, [sp+176]
    002c0404ldr x1, [sp+96]
    002c0408ldr x2, [sp+216]
    002c040cmov x3, x0
    002c0410mov x0, x1
    002c0414mov x1, x2
    002c0418mov x2, x3
    002c041cbl math/big.(*Int).Sub
    002c0420ldr x0, [sp+96]
    002c0424bl math/big.(*Int).BitLen
    002c0428str x0, [sp+64]
    002c042ccbz x0, 0x2c0434
    002c0430b 0x2c044c
    002c0434
    002c0434loc_2c0434:
    002c0434ldr x1, [sp+104]
    002c0438ldr x2, [sp+112]
    002c043cldr x0, [sp+96]
    002c0440ldur x29, [sp-8]
    002c0444ldr x30, [sp], 192
    002c0448ret x30
    002c044c
    002c044cloc_2c044c:
    002c044cadd x3, x0, 7
    002c0450sbfm x3, x3, 63, 63
    002c0454add x3, x0, x3, lsr #61
    002c0458add x3, x3, 7
    002c045csbfm x3, x3, 3, 63
    002c0460str x3, [sp+56]
    002c0464sbfm x3, x0, 63, 63
    002c0468add x3, x0, x3, lsr #61
    002c046cand x3, x3, -8
    002c0470sub x3, x0, x3
    002c0474str x3, [sp+72]
    002c0478ldr x3, [sp+72]
    002c047ccbz x3, 0x2c0484
    002c0480b 0x2c0490
    002c0484
    002c0484loc_2c0484:
    002c0484orr x3, xzr, 8
    002c0488str x3, [sp+72]
    002c048cb 0x2c0494
    002c0490
    002c0490loc_2c0490:
    002c0490b 0x2c0494
    002c0494
    002c0494loc_2c0494:
    002c0494ldr x2, [sp+56]
    002c0498ldr x1, [sp+56]
    002c049cadrp x0, 0x335000
    002c04a0add x0, x0, 3072
    002c04a4bl runtime.makeslice
    002c04a8ldr x3, [sp+56]
    002c04acldr x4, [sp+56]
    002c04b0str x0, [sp+120]
    002c04b4str x3, [sp+128]
    002c04b8str x4, [sp+136]
    002c04bcb 0x2c04c0
    002c04c0
    002c04c0loc_2c04c0:
    002c04c0b 0x2c04c4
    002c04c4
    002c04c4loc_2c04c4:
    002c04c4stp xzr, xzr, [sp+160]
    002c04c8ldr x0, [sp+200]
    002c04ccldr x2, [sp+120]
    002c04d0ldr x3, [sp+128]
    002c04d4ldr x1, [sp+208]
    002c04d8ldr x4, [sp+136]
    002c04dcbl io.ReadFull
    002c04e0str x0, [sp+88]
    002c04e4str x1, [sp+160]
    002c04e8str x2, [sp+168]
    002c04ecldr x5, [sp+88]
    002c04f0str x5, [sp+80]
    002c04f4str x1, [sp+144]
    002c04f8str x2, [sp+152]
    002c04fcstr x1, [sp+104]
    002c0500str x2, [sp+112]
    002c0504cbnz x1, 0x2c050c
    002c0508b 0x2c0528
    002c050c
    002c050cloc_2c050c:
    002c050cstr xzr, [sp+96]
    002c0510ldr x1, [sp+104]
    002c0514ldr x2, [sp+112]
    002c0518mov x0, xzr
    002c051cldur x29, [sp-8]
    002c0520ldr x30, [sp], 192
    002c0524ret x30
    002c0528
    002c0528loc_2c0528:
    002c0528ldr x1, [sp+128]
    002c052cldr x4, [sp+120]
    002c0530subs xzr, x1, 0
    002c0534b.hi 0x2c053c
    002c0538b 0x2c05c8
    002c053c
    002c053cloc_2c053c:
    002c053cldr x1, [sp+128]
    002c0540ldrb w4, [x4]
    002c0544ldr x5, [sp+120]
    002c0548ldr x6, [sp+72]
    002c054corr x7, xzr, 1
    002c0550lslv x8, x7, x6
    002c0554subs xzr, x6, 64
    002c0558csel x6, x8, xzr, lo
    002c055csub x6, x6, 1
    002c0560and x4, x4, x6
    002c0564subs xzr, x1, 0
    002c0568b.hi 0x2c0570
    002c056cb 0x2c05c0
    002c0570
    002c0570loc_2c0570:
    002c0570strb w4, [x5]
    002c0574ldr x1, [sp+120]
    002c0578ldr x2, [sp+128]
    002c057cldr x3, [sp+136]
    002c0580ldr x0, [sp+96]
    002c0584bl math/big.(*Int).SetBytes
    002c0588ldr x1, [sp+216]
    002c058cldr x0, [sp+96]
    002c0590bl math/big.(*Int).Cmp
    002c0594str x0, [sp+88]
    002c0598tbnz x0, 63, 0x2c05a0
    002c059cb 0x2c05b8
    002c05a0
    002c05a0loc_2c05a0:
    002c05a0ldr x1, [sp+104]
    002c05a4ldr x2, [sp+112]
    002c05a8ldr x0, [sp+96]
    002c05acldur x29, [sp-8]
    002c05b0ldr x30, [sp], 192
    002c05b4ret x30
    002c05b8
    002c05b8loc_2c05b8:
    002c05b8b 0x2c05bc
    002c05bc
    002c05bcloc_2c05bc:
    002c05bcb 0x2c04c0
    002c05c0
    002c05c0loc_2c05c0:
    002c05c0mov x0, xzr
    002c05c4bl runtime.panicIndex
    002c05c8
    002c05c8loc_2c05c8:
    002c05c8mov x0, xzr
    002c05ccbl runtime.panicIndex
    002c05d0
    002c05d0loc_2c05d0:
    002c05d0adrp x0, 0x335000
    002c05d4add x0, x0, 2944
    002c05d8adrp x1, 0x451000
    002c05dcadd x1, x1, 4064
    002c05e0bl runtime.gopanic
    002c05e4hint
    002c05e8
    002c05e8loc_2c05e8:
    002c05e8stp x0, x1, [sp+8]
    002c05ecstr x2, [sp+24]
    002c05f0mov x3, x30
    002c05f4bl runtime.morestack_noctxt.abi0
    002c05f8ldp x0, x1, [sp+8]
    002c05fcldr x2, [sp+24]
    002c0600b 0x2c03a0
    002c0604udf 0
    002c0608udf 0
    002c060cudf 0
    002c03a0
    002c0610
    002c0610crypto/ed25519.PublicKey.Equal: ; void crypto/ed25519.PublicKey.Equal(crypto/ed25519.PublicKey pub, crypto.PublicKey x)
    002c0610ldr x16, [x28+16]
    002c0614sub x17, sp, 32
    002c0618subs xzr, x17, x16
    002c061cb.ls 0x2c0734
    002c0620str x30, [sp-160]!
    002c0624stur x29, [sp-8]
    002c0628sub x29, sp, 8
    002c062cstr x0, [sp+168]
    002c0630str x1, [sp+176]
    002c0634str x2, [sp+184]
    002c0638str x3, [sp+192]
    002c063cstr x4, [sp+200]
    002c0640strb wzr, [sp+68]
    002c0644str xzr, [sp+104]
    002c0648stp xzr, xzr, [sp+112]
    002c064cldr x6, [sp+200]
    002c0650ldr x7, [sp+192]
    002c0654adrp x8, 0x352000
    002c0658add x8, x8, 2560
    002c065csubs xzr, x7, x8
    002c0660b.eq 0x2c0668
    002c0664b 0x2c067c
    002c0668
    002c0668loc_2c0668:
    002c0668ldr x7, [x6]
    002c066cldr x8, [x6+8]
    002c0670ldr x6, [x6+16]
    002c0674orr x0, xzr, 1
    002c0678b 0x2c0690
    002c067c
    002c067cloc_2c067c:
    002c067cmov x8, xzr
    002c0680mov x6, xzr
    002c0684mov x0, xzr
    002c0688mov x7, xzr
    002c068cb 0x2c0690
    002c0690
    002c0690loc_2c0690:
    002c0690str x7, [sp+104]
    002c0694str x8, [sp+112]
    002c0698str x6, [sp+120]
    002c069cstrb w0, [sp+70]
    002c06a0ldr x6, [sp+104]
    002c06a4ldr x7, [sp+112]
    002c06a8ldr x8, [sp+120]
    002c06acstr x6, [sp+128]
    002c06b0str x7, [sp+136]
    002c06b4str x8, [sp+144]
    002c06b8ldrb w6, [sp+70]
    002c06bcstrb w6, [sp+71]
    002c06c0ldr x6, [sp+128]
    002c06c4ldr x7, [sp+136]
    002c06c8ldr x8, [sp+144]
    002c06ccstr x6, [sp+80]
    002c06d0str x7, [sp+88]
    002c06d4str x8, [sp+96]
    002c06d8ldrb w6, [sp+71]
    002c06dcstrb w6, [sp+69]
    002c06e0tbnz w6, 0, 0x2c06e8
    002c06e4b 0x2c0720
    002c06e8
    002c06e8loc_2c06e8:
    002c06e8ldr x0, [sp+168]
    002c06ecldr x1, [sp+176]
    002c06f0ldr x2, [sp+184]
    002c06f4ldr x3, [sp+80]
    002c06f8ldr x4, [sp+88]
    002c06fcldr x5, [sp+96]
    002c0700bl crypto/subtle.ConstantTimeCompare
    002c0704str x0, [sp+72]
    002c0708subs xzr, x0, 1
    002c070ccset x0, eq
    002c0710strb w0, [sp+68]
    002c0714ldur x29, [sp-8]
    002c0718ldr x30, [sp], 160
    002c071cret x30
    002c0720
    002c0720loc_2c0720:
    002c0720strb wzr, [sp+68]
    002c0724mov x0, xzr
    002c0728ldur x29, [sp-8]
    002c072cldr x30, [sp], 160
    002c0730ret x30
    002c0734
    002c0734loc_2c0734:
    002c0734stp x0, x1, [sp+8]
    002c0738stp x2, x3, [sp+24]
    002c073cstr x4, [sp+40]
    002c0740mov x3, x30
    002c0744bl runtime.morestack_noctxt.abi0
    002c0748ldp x0, x1, [sp+8]
    002c074cldp x2, x3, [sp+24]
    002c0750ldr x4, [sp+40]
    002c0754b 0x2c0610
    002c0758udf 0
    002c075cudf 0
    002c0610
    002c0760
    002c0760crypto/ed25519.PrivateKey.Public: ; void crypto/ed25519.PrivateKey.Public(crypto/ed25519.PrivateKey priv)
    002c0760ldr x16, [x28+16]
    002c0764sub x17, sp, 48
    002c0768subs xzr, x17, x16
    002c076cb.ls 0x2c08b4
    002c0770str x30, [sp-176]!
    002c0774stur x29, [sp-8]
    002c0778sub x29, sp, 8
    002c077cstr x0, [sp+184]
    002c0780str x1, [sp+192]
    002c0784str x2, [sp+200]
    002c0788stp xzr, xzr, [sp+48]
    002c078cadrp x0, 0x335000
    002c0790add x0, x0, 3072
    002c0794orr x1, xzr, 32
    002c0798mov x2, x1
    002c079cbl runtime.makeslice
    002c07a0str x0, [sp+64]
    002c07a4orr x0, xzr, 32
    002c07a8str x0, [sp+72]
    002c07acstr x0, [sp+80]
    002c07b0ldr x1, [sp+192]
    002c07b4ldr x3, [sp+184]
    002c07b8ldr x4, [sp+200]
    002c07bcb 0x2c07c0
    002c07c0
    002c07c0loc_2c07c0:
    002c07c0subs xzr, x1, 32
    002c07c4b.hs 0x2c07cc
    002c07c8b 0x2c08ac
    002c07cc
    002c07ccloc_2c07cc:
    002c07ccsub x4, x4, 32
    002c07d0sub x5, xzr, x4
    002c07d4sub x6, x1, 32
    002c07d8sbfm x5, x5, 63, 63
    002c07dcand x5, x5, 32
    002c07e0add x3, x3, x5
    002c07e4str x3, [sp+144]
    002c07e8str x6, [sp+152]
    002c07ecstr x4, [sp+160]
    002c07f0ldr x3, [sp+64]
    002c07f4ldr x4, [sp+72]
    002c07f8ldr x5, [sp+80]
    002c07fcstr x3, [sp+120]
    002c0800str x4, [sp+128]
    002c0804str x5, [sp+136]
    002c0808ldr x3, [sp+152]
    002c080cldr x4, [sp+144]
    002c0810ldr x5, [sp+160]
    002c0814str x4, [sp+96]
    002c0818str x3, [sp+104]
    002c081cstr x5, [sp+112]
    002c0820ldr x4, [sp+128]
    002c0824str x4, [sp+40]
    002c0828subs xzr, x4, x3
    002c082cb.gt 0x2c0834
    002c0830b 0x2c083c
    002c0834
    002c0834loc_2c0834:
    002c0834str x3, [sp+40]
    002c0838b 0x2c0840
    002c083c
    002c083cloc_2c083c:
    002c083cb 0x2c0840
    002c0840
    002c0840loc_2c0840:
    002c0840ldr x3, [sp+96]
    002c0844ldr x4, [sp+120]
    002c0848subs xzr, x3, x4
    002c084cb.ne 0x2c0854
    002c0850b 0x2c0870
    002c0854
    002c0854loc_2c0854:
    002c0854ldr x3, [sp+40]
    002c0858str x3, [sp+32]
    002c085cldr x2, [sp+32]
    002c0860ldr x1, [sp+96]
    002c0864ldr x0, [sp+120]
    002c0868bl runtime.memmove
    002c086cb 0x2c0874
    002c0870
    002c0870loc_2c0870:
    002c0870b 0x2c0874
    002c0874
    002c0874loc_2c0874:
    002c0874ldr x0, [sp+64]
    002c0878ldr x1, [sp+72]
    002c087cldr x2, [sp+80]
    002c0880bl runtime.convTslice
    002c0884str x0, [sp+88]
    002c0888adrp x3, 0x352000
    002c088cadd x3, x3, 2560
    002c0890str x3, [sp+48]
    002c0894str x0, [sp+56]
    002c0898ldr x0, [sp+48]
    002c089cldr x1, [sp+56]
    002c08a0ldur x29, [sp-8]
    002c08a4ldr x30, [sp], 176
    002c08a8ret x30
    002c08ac
    002c08acloc_2c08ac:
    002c08acbl runtime.panicSliceB
    002c08b0hint
    002c08b4
    002c08b4loc_2c08b4:
    002c08b4stp x0, x1, [sp+8]
    002c08b8str x2, [sp+24]
    002c08bcmov x3, x30
    002c08c0bl runtime.morestack_noctxt.abi0
    002c08c4ldp x0, x1, [sp+8]
    002c08c8ldr x2, [sp+24]
    002c08ccb 0x2c0760
    002c0760