File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    002b88c0
    002b88c0crypto/ecdsa.encodeSignature: ; void crypto/ecdsa.encodeSignature(struct []uint8 r, struct []uint8 s)
    002b88c0ldr x16, [x28+16]
    002b88c4sub x17, sp, 192
    002b88c8subs xzr, x17, x16
    002b88ccb.ls 0x2b8a74
    002b88d0sub x20, sp, 320
    002b88d4stp x29, x30, [x20-8]
    002b88d8add sp, x20, 0
    002b88dcsub x29, sp, 8
    002b88e0str x0, [sp+328]
    002b88e4str x1, [sp+336]
    002b88e8str x2, [sp+344]
    002b88ecstr x3, [sp+352]
    002b88f0str x4, [sp+360]
    002b88f4str x5, [sp+368]
    002b88f8stp xzr, xzr, [sp+56]
    002b88fcstr xzr, [sp+72]
    002b8900stp xzr, xzr, [sp+40]
    002b8904add x20, sp, 80
    002b8908adr x27, 16
    002b890cstp x29, x27, [sp-24]
    002b8910sub x29, sp, 24
    002b8914bl fn_87cfc
    002b8918sub x29, sp, 8
    002b891cstr xzr, [sp+160]
    002b8920stp xzr, xzr, [sp+208]
    002b8924stp xzr, xzr, [sp+224]
    002b8928stp xzr, xzr, [sp+240]
    002b892cstr xzr, [sp+256]
    002b8930add x3, sp, 208
    002b8934str x3, [sp+304]
    002b8938ldrsb x27, [x3]
    002b893cadrp x4, 0
    002b8940add x4, x4, 2720
    002b8944str x4, [x3]
    002b8948ldrsb x27, [x3]
    002b894cldr x4, [sp+328]
    002b8950ldr x5, [sp+336]
    002b8954ldr x6, [sp+344]
    002b8958str x5, [x3+16]
    002b895cstr x6, [x3+24]
    002b8960adrp x27, 0x793000
    002b8964ldr w5, [x27+3056]
    002b8968cbz w5, 0x2b8970
    002b896cb 0x2b8974
    002b8970
    002b8970loc_2b8970:
    002b8970b 0x2b8988
    002b8974
    002b8974loc_2b8974:
    002b8974bl runtime.gcWriteBarrier2
    002b8978str x4, [x25]
    002b897cldr x5, [x3+8]
    002b8980str x5, [x25+8]
    002b8984b 0x2b8988
    002b8988
    002b8988loc_2b8988:
    002b8988str x4, [x3+8]
    002b898cldr x3, [sp+352]
    002b8990ldr x4, [sp+360]
    002b8994ldr x5, [sp+368]
    002b8998ldr x6, [sp+304]
    002b899cldrsb x27, [x6]
    002b89a0str x4, [x6+40]
    002b89a4str x5, [x6+48]
    002b89a8adrp x27, 0x793000
    002b89acldr w4, [x27+3056]
    002b89b0cbz w4, 0x2b89b8
    002b89b4b 0x2b89bc
    002b89b8
    002b89b8loc_2b89b8:
    002b89b8b 0x2b89d0
    002b89bc
    002b89bcloc_2b89bc:
    002b89bcbl runtime.gcWriteBarrier2
    002b89c0str x3, [x25]
    002b89c4ldr x4, [x6+32]
    002b89c8str x4, [x25+8]
    002b89ccb 0x2b89d0
    002b89d0
    002b89d0loc_2b89d0:
    002b89d0str x3, [x6+32]
    002b89d4ldr x2, [sp+304]
    002b89d8add x0, sp, 80
    002b89dcorr x1, xzr, 48
    002b89e0bl vendor/golang.org/x/crypto/cryptobyte.(*Builder).AddASN1
    002b89e4stp xzr, xzr, [sp+184]
    002b89e8str xzr, [sp+200]
    002b89ecstp xzr, xzr, [sp+168]
    002b89f0add x0, sp, 80
    002b89f4bl vendor/golang.org/x/crypto/cryptobyte.(*Builder).Bytes
    002b89f8str x0, [sp+184]
    002b89fcstr x1, [sp+192]
    002b8a00str x2, [sp+200]
    002b8a04str x3, [sp+168]
    002b8a08str x4, [sp+176]
    002b8a0cldr x3, [sp+184]
    002b8a10ldr x4, [sp+192]
    002b8a14ldr x5, [sp+200]
    002b8a18str x3, [sp+280]
    002b8a1cstr x4, [sp+288]
    002b8a20str x5, [sp+296]
    002b8a24ldr x3, [sp+168]
    002b8a28ldr x4, [sp+176]
    002b8a2cstr x3, [sp+264]
    002b8a30str x4, [sp+272]
    002b8a34ldr x3, [sp+280]
    002b8a38ldr x4, [sp+288]
    002b8a3cldr x5, [sp+296]
    002b8a40str x3, [sp+56]
    002b8a44str x4, [sp+64]
    002b8a48str x5, [sp+72]
    002b8a4cldr x3, [sp+264]
    002b8a50ldr x4, [sp+272]
    002b8a54str x3, [sp+40]
    002b8a58str x4, [sp+48]
    002b8a5cldr x0, [sp+56]
    002b8a60ldr x1, [sp+64]
    002b8a64ldr x2, [sp+72]
    002b8a68ldp x29, x30, [sp-8]
    002b8a6cadd sp, sp, 320
    002b8a70ret x30
    002b8a74
    002b8a74loc_2b8a74:
    002b8a74stp x0, x1, [sp+8]
    002b8a78stp x2, x3, [sp+24]
    002b8a7cstp x4, x5, [sp+40]
    002b8a80mov x3, x30
    002b8a84bl runtime.morestack_noctxt.abi0
    002b8a88ldp x0, x1, [sp+8]
    002b8a8cldp x2, x3, [sp+24]
    002b8a90ldp x4, x5, [sp+40]
    002b8a94b 0x2b88c0
    002b8a98udf 0
    002b8a9cudf 0
    002b88c0
    002b8aa0
    002b8aa0crypto/ecdsa.encodeSignature.func1: ; void crypto/ecdsa.encodeSignature.func1(vendor/golang.org/x/crypto/cryptobyte.Builder * b)
    002b8aa0ldr x16, [x28+16]
    002b8aa4subs xzr, sp, x16
    002b8aa8b.ls 0x2b8b20
    002b8aacstr x30, [sp-96]!
    002b8ab0stur x29, [sp-8]
    002b8ab4sub x29, sp, 8
    002b8ab8str x0, [sp+104]
    002b8abcldr x4, [x26+8]
    002b8ac0ldr x5, [x26+16]
    002b8ac4ldr x6, [x26+24]
    002b8ac8str x4, [sp+64]
    002b8accstr x5, [sp+72]
    002b8ad0str x6, [sp+80]
    002b8ad4ldr x4, [x26+32]
    002b8ad8ldr x5, [x26+40]
    002b8adcldr x6, [x26+48]
    002b8ae0str x4, [sp+40]
    002b8ae4str x5, [sp+48]
    002b8ae8str x6, [sp+56]
    002b8aecldr x1, [sp+64]
    002b8af0ldr x2, [sp+72]
    002b8af4ldr x3, [sp+80]
    002b8af8ldr x0, [sp+104]
    002b8afcbl crypto/ecdsa.addASN1IntBytes
    002b8b00ldr x1, [sp+40]
    002b8b04ldr x2, [sp+48]
    002b8b08ldr x3, [sp+56]
    002b8b0cldr x0, [sp+104]
    002b8b10bl crypto/ecdsa.addASN1IntBytes
    002b8b14ldur x29, [sp-8]
    002b8b18ldr x30, [sp], 96
    002b8b1cret x30
    002b8b20
    002b8b20loc_2b8b20:
    002b8b20str x0, [sp+8]
    002b8b24mov x3, x30
    002b8b28bl runtime.morestack.abi0
    002b8b2cldr x0, [sp+8]
    002b8b30b 0x2b8aa0
    002b8b34udf 0
    002b8b38udf 0
    002b8b3cudf 0
    002b8aa0
    002b8b40
    002b8b40crypto/ecdsa.addASN1IntBytes: ; void crypto/ecdsa.addASN1IntBytes(vendor/golang.org/x/crypto/cryptobyte.Builder * b, struct []uint8 bytes)
    002b8b40ldr x16, [x28+16]
    002b8b44subs xzr, sp, x16
    002b8b48b.ls 0x2b8cec
    002b8b4cstr x30, [sp-112]!
    002b8b50stur x29, [sp-8]
    002b8b54sub x29, sp, 8
    002b8b58str x0, [sp+120]
    002b8b5cstr x1, [sp+128]
    002b8b60str x2, [sp+136]
    002b8b64str x3, [sp+144]
    002b8b68b 0x2b8b6c
    002b8b6c
    002b8b6cloc_2b8b6c:
    002b8b6cldr x3, [sp+136]
    002b8b70str x3, [sp+40]
    002b8b74subs xzr, x3, 0
    002b8b78cset x4, ne
    002b8b7cstrb w4, [sp+39]
    002b8b80cbnz x3, 0x2b8b88
    002b8b84b 0x2b8bb0
    002b8b88
    002b8b88loc_2b8b88:
    002b8b88ldr x1, [sp+136]
    002b8b8cldr x3, [sp+128]
    002b8b90subs xzr, x1, 0
    002b8b94b.hi 0x2b8b9c
    002b8b98b 0x2b8ce0
    002b8b9c
    002b8b9cloc_2b8b9c:
    002b8b9cldrb w3, [x3]
    002b8ba0subs wzr, w3, 0
    002b8ba4cset x3, eq
    002b8ba8strb w3, [sp+39]
    002b8bacb 0x2b8bb4
    002b8bb0
    002b8bb0loc_2b8bb0:
    002b8bb0b 0x2b8bb4
    002b8bb4
    002b8bb4loc_2b8bb4:
    002b8bb4ldrb w3, [sp+39]
    002b8bb8tbnz w3, 0, 0x2b8bc0
    002b8bbcb 0x2b8c08
    002b8bc0
    002b8bc0loc_2b8bc0:
    002b8bc0ldr x1, [sp+136]
    002b8bc4ldr x3, [sp+128]
    002b8bc8ldr x4, [sp+144]
    002b8bccb 0x2b8bd0
    002b8bd0
    002b8bd0loc_2b8bd0:
    002b8bd0subs xzr, x1, 1
    002b8bd4b.hs 0x2b8bdc
    002b8bd8b 0x2b8cd8
    002b8bdc
    002b8bdcloc_2b8bdc:
    002b8bdcsub x4, x4, 1
    002b8be0sub x5, xzr, x4
    002b8be4sub x6, x1, 1
    002b8be8sbfm x5, x5, 63, 63
    002b8becand x5, x5, 1
    002b8bf0add x3, x3, x5
    002b8bf4str x3, [sp+128]
    002b8bf8str x6, [sp+136]
    002b8bfcstr x4, [sp+144]
    002b8c00b 0x2b8c04
    002b8c04
    002b8c04loc_2b8c04:
    002b8c04b 0x2b8b6c
    002b8c08
    002b8c08loc_2b8c08:
    002b8c08ldr x3, [sp+136]
    002b8c0cstr x3, [sp+40]
    002b8c10cbz x3, 0x2b8c18
    002b8c14b 0x2b8c58
    002b8c18
    002b8c18loc_2b8c18:
    002b8c18adrp x0, 0x3fc000
    002b8c1cadd x0, x0, 1692
    002b8c20orr x1, xzr, 15
    002b8c24bl errors.New
    002b8c28str x0, [sp+88]
    002b8c2cstr x1, [sp+96]
    002b8c30ldr x2, [sp+120]
    002b8c34mov x3, x0
    002b8c38mov x0, x2
    002b8c3cmov x4, x1
    002b8c40mov x1, x3
    002b8c44mov x2, x4
    002b8c48bl vendor/golang.org/x/crypto/cryptobyte.(*Builder).SetError
    002b8c4cldur x29, [sp-8]
    002b8c50ldr x30, [sp], 112
    002b8c54ret x30
    002b8c58
    002b8c58loc_2b8c58:
    002b8c58stp xzr, xzr, [sp+56]
    002b8c5cstp xzr, xzr, [sp+72]
    002b8c60add x3, sp, 56
    002b8c64str x3, [sp+48]
    002b8c68ldrsb x27, [x3]
    002b8c6cadrp x4, 0
    002b8c70add x4, x4, 3344
    002b8c74str x4, [x3]
    002b8c78ldrsb x27, [x3]
    002b8c7cldr x4, [sp+128]
    002b8c80ldr x5, [sp+136]
    002b8c84ldr x6, [sp+144]
    002b8c88str x5, [x3+16]
    002b8c8cstr x6, [x3+24]
    002b8c90adrp x27, 0x793000
    002b8c94ldr w5, [x27+3056]
    002b8c98cbz w5, 0x2b8ca0
    002b8c9cb 0x2b8ca4
    002b8ca0
    002b8ca0loc_2b8ca0:
    002b8ca0b 0x2b8cb8
    002b8ca4
    002b8ca4loc_2b8ca4:
    002b8ca4bl runtime.gcWriteBarrier2
    002b8ca8str x4, [x25]
    002b8cacldr x5, [x3+8]
    002b8cb0str x5, [x25+8]
    002b8cb4b 0x2b8cb8
    002b8cb8
    002b8cb8loc_2b8cb8:
    002b8cb8str x4, [x3+8]
    002b8cbcldr x0, [sp+120]
    002b8cc0ldr x2, [sp+48]
    002b8cc4orr x1, xzr, 2
    002b8cc8bl vendor/golang.org/x/crypto/cryptobyte.(*Builder).AddASN1
    002b8cccldur x29, [sp-8]
    002b8cd0ldr x30, [sp], 112
    002b8cd4ret x30
    002b8cd8
    002b8cd8loc_2b8cd8:
    002b8cd8orr x0, xzr, 1
    002b8cdcbl runtime.panicSliceB
    002b8ce0
    002b8ce0loc_2b8ce0:
    002b8ce0mov x0, xzr
    002b8ce4bl runtime.panicIndex
    002b8ce8hint
    002b8cec
    002b8cecloc_2b8cec:
    002b8cecstp x0, x1, [sp+8]
    002b8cf0stp x2, x3, [sp+24]
    002b8cf4mov x3, x30
    002b8cf8bl runtime.morestack_noctxt.abi0
    002b8cfcldp x0, x1, [sp+8]
    002b8d00ldp x2, x3, [sp+24]
    002b8d04b 0x2b8b40
    002b8d08udf 0
    002b8d0cudf 0
    002b8b40
    002b8d10
    002b8d10crypto/ecdsa.addASN1IntBytes.func1: ; void crypto/ecdsa.addASN1IntBytes.func1(vendor/golang.org/x/crypto/cryptobyte.Builder * c)
    002b8d10ldr x16, [x28+16]
    002b8d14subs xzr, sp, x16
    002b8d18b.ls 0x2b8d9c
    002b8d1cstr x30, [sp-80]!
    002b8d20stur x29, [sp-8]
    002b8d24sub x29, sp, 8
    002b8d28str x0, [sp+88]
    002b8d2cldr x1, [x26+16]
    002b8d30ldr x4, [x26+8]
    002b8d34ldr x5, [x26+24]
    002b8d38str x4, [sp+48]
    002b8d3cstr x1, [sp+56]
    002b8d40str x5, [sp+64]
    002b8d44subs xzr, x1, 0
    002b8d48b.hi 0x2b8d50
    002b8d4cb 0x2b8d90
    002b8d50
    002b8d50loc_2b8d50:
    002b8d50ldrb w4, [x4]
    002b8d54tbnz w4, 7, 0x2b8d5c
    002b8d58b 0x2b8d6c
    002b8d5c
    002b8d5cloc_2b8d5c:
    002b8d5cldr x0, [sp+88]
    002b8d60mov x1, xzr
    002b8d64bl vendor/golang.org/x/crypto/cryptobyte.(*Builder).AddUint8
    002b8d68b 0x2b8d70
    002b8d6c
    002b8d6cloc_2b8d6c:
    002b8d6cb 0x2b8d70
    002b8d70
    002b8d70loc_2b8d70:
    002b8d70ldr x1, [sp+48]
    002b8d74ldr x2, [sp+56]
    002b8d78ldr x3, [sp+64]
    002b8d7cldr x0, [sp+88]
    002b8d80bl vendor/golang.org/x/crypto/cryptobyte.(*Builder).AddBytes
    002b8d84ldur x29, [sp-8]
    002b8d88ldr x30, [sp], 80
    002b8d8cret x30
    002b8d90
    002b8d90loc_2b8d90:
    002b8d90mov x0, xzr
    002b8d94bl runtime.panicIndex
    002b8d98hint
    002b8d9c
    002b8d9cloc_2b8d9c:
    002b8d9cstr x0, [sp+8]
    002b8da0mov x3, x30
    002b8da4bl runtime.morestack.abi0
    002b8da8ldr x0, [sp+8]
    002b8dacb 0x2b8d10
    002b8d10
    002b8db0
    002b8db0crypto/ecdsa.VerifyASN1: ; void crypto/ecdsa.VerifyASN1(crypto/ecdsa.PublicKey * pub, struct []uint8 hash, struct []uint8 sig)
    002b8db0ldr x16, [x28+16]
    002b8db4sub x17, sp, 112
    002b8db8subs xzr, x17, x16
    002b8dbcb.ls 0x2b904c
    002b8dc0str x30, [sp-240]!
    002b8dc4stur x29, [sp-8]
    002b8dc8sub x29, sp, 8
    002b8dccstr x0, [sp+248]
    002b8dd0str x1, [sp+256]
    002b8dd4str x2, [sp+264]
    002b8dd8str x3, [sp+272]
    002b8ddcstr x4, [sp+280]
    002b8de0str x5, [sp+288]
    002b8de4str x6, [sp+296]
    002b8de8strb wzr, [sp+86]
    002b8decbl crypto/internal/boring.UnreachableExceptTests
    002b8df0ldr x0, [sp+248]
    002b8df4ldrsb x27, [x0]
    002b8df8ldr x1, [x0]
    002b8dfcldrsb x27, [x1]
    002b8e00ldr x0, [x0+8]
    002b8e04ldr x1, [x1+48]
    002b8e08blr x1
    002b8e0cstr x0, [sp+96]
    002b8e10str x0, [sp+168]
    002b8e14bl crypto/elliptic.P224
    002b8e18str x0, [sp+152]
    002b8e1cstr x1, [sp+160]
    002b8e20ldrsb x27, [x0]
    002b8e24ldr x0, [x0+48]
    002b8e28mov x2, x0
    002b8e2cmov x0, x1
    002b8e30blr x2
    002b8e34str x0, [sp+88]
    002b8e38ldr x1, [sp+168]
    002b8e3csubs xzr, x0, x1
    002b8e40b.eq 0x2b8e48
    002b8e44b 0x2b8e94
    002b8e48
    002b8e48loc_2b8e48:
    002b8e48b 0x2b8e4c
    002b8e4c
    002b8e4cloc_2b8e4c:
    002b8e4cbl crypto/internal/fips140/ecdsa.P224
    002b8e50str x0, [sp+224]
    002b8e54ldr x3, [sp+256]
    002b8e58ldr x6, [sp+280]
    002b8e5cldr x2, [sp+248]
    002b8e60ldr x4, [sp+264]
    002b8e64ldr x7, [sp+288]
    002b8e68ldr x5, [sp+272]
    002b8e6cldr x8, [sp+296]
    002b8e70mov x1, x0
    002b8e74adrp x0, 0x45b000
    002b8e78add x0, x0, 800
    002b8e7cbl crypto/ecdsa.verifyFIPS[go.shape.*crypto/internal/fips140/nistec.P224Point]
    002b8e80strb w0, [sp+87]
    002b8e84strb w0, [sp+86]
    002b8e88ldur x29, [sp-8]
    002b8e8cldr x30, [sp], 240
    002b8e90ret x30
    002b8e94
    002b8e94loc_2b8e94:
    002b8e94bl crypto/elliptic.P256
    002b8e98str x0, [sp+136]
    002b8e9cstr x1, [sp+144]
    002b8ea0ldrsb x27, [x0]
    002b8ea4ldr x0, [x0+48]
    002b8ea8mov x2, x0
    002b8eacmov x0, x1
    002b8eb0blr x2
    002b8eb4str x0, [sp+216]
    002b8eb8ldr x1, [sp+168]
    002b8ebcsubs xzr, x0, x1
    002b8ec0b.eq 0x2b8ec8
    002b8ec4b 0x2b8f14
    002b8ec8
    002b8ec8loc_2b8ec8:
    002b8ec8b 0x2b8ecc
    002b8ecc
    002b8eccloc_2b8ecc:
    002b8eccbl crypto/internal/fips140/ecdsa.P256
    002b8ed0str x0, [sp+208]
    002b8ed4ldr x3, [sp+256]
    002b8ed8ldr x6, [sp+280]
    002b8edcldr x2, [sp+248]
    002b8ee0ldr x4, [sp+264]
    002b8ee4ldr x7, [sp+288]
    002b8ee8ldr x5, [sp+272]
    002b8eecldr x8, [sp+296]
    002b8ef0mov x1, x0
    002b8ef4adrp x0, 0x45b000
    002b8ef8add x0, x0, 832
    002b8efcbl crypto/ecdsa.verifyFIPS[go.shape.*crypto/internal/fips140/nistec.P256Point]
    002b8f00strb w0, [sp+87]
    002b8f04strb w0, [sp+86]
    002b8f08ldur x29, [sp-8]
    002b8f0cldr x30, [sp], 240
    002b8f10ret x30
    002b8f14
    002b8f14loc_2b8f14:
    002b8f14bl crypto/elliptic.P384
    002b8f18str x0, [sp+120]
    002b8f1cstr x1, [sp+128]
    002b8f20ldrsb x27, [x0]
    002b8f24ldr x0, [x0+48]
    002b8f28mov x2, x0
    002b8f2cmov x0, x1
    002b8f30blr x2
    002b8f34str x0, [sp+200]
    002b8f38ldr x1, [sp+168]
    002b8f3csubs xzr, x0, x1
    002b8f40b.eq 0x2b8f48
    002b8f44b 0x2b8f94
    002b8f48
    002b8f48loc_2b8f48:
    002b8f48b 0x2b8f4c
    002b8f4c
    002b8f4cloc_2b8f4c:
    002b8f4cbl crypto/internal/fips140/ecdsa.P384
    002b8f50str x0, [sp+192]
    002b8f54ldr x3, [sp+256]
    002b8f58ldr x6, [sp+280]
    002b8f5cldr x2, [sp+248]
    002b8f60ldr x4, [sp+264]
    002b8f64ldr x7, [sp+288]
    002b8f68ldr x5, [sp+272]
    002b8f6cldr x8, [sp+296]
    002b8f70mov x1, x0
    002b8f74adrp x0, 0x45b000
    002b8f78add x0, x0, 864
    002b8f7cbl crypto/ecdsa.verifyFIPS[go.shape.*crypto/internal/fips140/nistec.P384Point]
    002b8f80strb w0, [sp+87]
    002b8f84strb w0, [sp+86]
    002b8f88ldur x29, [sp-8]
    002b8f8cldr x30, [sp], 240
    002b8f90ret x30
    002b8f94
    002b8f94loc_2b8f94:
    002b8f94bl crypto/elliptic.P521
    002b8f98str x0, [sp+104]
    002b8f9cstr x1, [sp+112]
    002b8fa0ldrsb x27, [x0]
    002b8fa4ldr x0, [x0+48]
    002b8fa8mov x2, x0
    002b8facmov x0, x1
    002b8fb0blr x2
    002b8fb4str x0, [sp+184]
    002b8fb8ldr x1, [sp+168]
    002b8fbcsubs xzr, x0, x1
    002b8fc0b.eq 0x2b8fc8
    002b8fc4b 0x2b9014
    002b8fc8
    002b8fc8loc_2b8fc8:
    002b8fc8b 0x2b8fcc
    002b8fcc
    002b8fccloc_2b8fcc:
    002b8fccbl crypto/internal/fips140/ecdsa.P521
    002b8fd0str x0, [sp+176]
    002b8fd4ldr x3, [sp+256]
    002b8fd8ldr x6, [sp+280]
    002b8fdcldr x2, [sp+248]
    002b8fe0ldr x4, [sp+264]
    002b8fe4ldr x7, [sp+288]
    002b8fe8ldr x5, [sp+272]
    002b8fecldr x8, [sp+296]
    002b8ff0mov x1, x0
    002b8ff4adrp x0, 0x45b000
    002b8ff8add x0, x0, 896
    002b8ffcbl crypto/ecdsa.verifyFIPS[go.shape.*crypto/internal/fips140/nistec.P521Point]
    002b9000strb w0, [sp+87]
    002b9004strb w0, [sp+86]
    002b9008ldur x29, [sp-8]
    002b900cldr x30, [sp], 240
    002b9010ret x30
    002b9014
    002b9014loc_2b9014:
    002b9014b 0x2b9018
    002b9018
    002b9018loc_2b9018:
    002b9018ldr x1, [sp+256]
    002b901cldr x4, [sp+280]
    002b9020ldr x2, [sp+264]
    002b9024ldr x5, [sp+288]
    002b9028ldr x3, [sp+272]
    002b902cldr x6, [sp+296]
    002b9030ldr x0, [sp+248]
    002b9034bl crypto/ecdsa.verifyLegacy
    002b9038strb w0, [sp+87]
    002b903cstrb w0, [sp+86]
    002b9040ldur x29, [sp-8]
    002b9044ldr x30, [sp], 240
    002b9048ret x30
    002b904c
    002b904cloc_2b904c:
    002b904cstp x0, x1, [sp+8]
    002b9050stp x2, x3, [sp+24]
    002b9054stp x4, x5, [sp+40]
    002b9058str x6, [sp+56]
    002b905cmov x3, x30
    002b9060bl runtime.morestack_noctxt.abi0
    002b9064ldp x0, x1, [sp+8]
    002b9068ldp x2, x3, [sp+24]
    002b906cldp x4, x5, [sp+40]
    002b9070ldr x6, [sp+56]
    002b9074b 0x2b8db0
    002b9078udf 0
    002b907cudf 0
    002b8db0
    002b9080
    002b9080crypto/ecdsa.parseSignature: ; void crypto/ecdsa.parseSignature(struct []uint8 sig)
    002b9080ldr x16, [x28+16]
    002b9084sub x17, sp, 64
    002b9088subs xzr, x17, x16
    002b908cb.ls 0x2b9268
    002b9090str x30, [sp-192]!
    002b9094stur x29, [sp-8]
    002b9098sub x29, sp, 8
    002b909cstr x0, [sp+200]
    002b90a0str x1, [sp+208]
    002b90a4str x2, [sp+216]
    002b90a8str xzr, [sp+72]
    002b90acstp xzr, xzr, [sp+80]
    002b90b0str xzr, [sp+48]
    002b90b4stp xzr, xzr, [sp+56]
    002b90b8stp xzr, xzr, [sp+144]
    002b90bcstr xzr, [sp+120]
    002b90c0stp xzr, xzr, [sp+128]
    002b90c4ldr x3, [sp+200]
    002b90c8ldr x4, [sp+208]
    002b90ccldr x5, [sp+216]
    002b90d0str x3, [sp+96]
    002b90d4str x4, [sp+104]
    002b90d8str x5, [sp+112]
    002b90dcadd x0, sp, 96
    002b90e0add x1, sp, 120
    002b90e4orr x2, xzr, 48
    002b90e8bl vendor/golang.org/x/crypto/cryptobyte.(*String).ReadASN1
    002b90ecstrb w0, [sp+47]
    002b90f0eor x3, x0, 1
    002b90f4strb w3, [sp+42]
    002b90f8tbnz w0, 0, 0x2b9100
    002b90fcb 0x2b9120
    002b9100
    002b9100loc_2b9100:
    002b9100ldr x0, [sp+96]
    002b9104ldr x1, [sp+104]
    002b9108ldr x2, [sp+112]
    002b910cbl vendor/golang.org/x/crypto/cryptobyte.String.Empty
    002b9110strb w0, [sp+46]
    002b9114eor x3, x0, 1
    002b9118strb w3, [sp+42]
    002b911cb 0x2b9124
    002b9120
    002b9120loc_2b9120:
    002b9120b 0x2b9124
    002b9124
    002b9124loc_2b9124:
    002b9124ldrb w8, [sp+42]
    002b9128strb w8, [sp+43]
    002b912ctbnz w8, 0, 0x2b9134
    002b9130b 0x2b9138
    002b9134
    002b9134loc_2b9134:
    002b9134b 0x2b9160
    002b9138
    002b9138loc_2b9138:
    002b9138add x2, sp, 72
    002b913cstr x2, [sp+176]
    002b9140add x0, sp, 120
    002b9144adrp x1, 0x334000
    002b9148add x1, x1, 0
    002b914cbl vendor/golang.org/x/crypto/cryptobyte.(*String).ReadASN1Integer
    002b9150strb w0, [sp+46]
    002b9154eor x3, x0, 1
    002b9158strb w3, [sp+43]
    002b915cb 0x2b9160
    002b9160
    002b9160loc_2b9160:
    002b9160ldrb w8, [sp+43]
    002b9164strb w8, [sp+44]
    002b9168tbnz w8, 0, 0x2b9170
    002b916cb 0x2b9174
    002b9170
    002b9170loc_2b9170:
    002b9170b 0x2b919c
    002b9174
    002b9174loc_2b9174:
    002b9174add x2, sp, 48
    002b9178str x2, [sp+176]
    002b917cadd x0, sp, 120
    002b9180adrp x1, 0x334000
    002b9184add x1, x1, 0
    002b9188bl vendor/golang.org/x/crypto/cryptobyte.(*String).ReadASN1Integer
    002b918cstrb w0, [sp+46]
    002b9190eor x3, x0, 1
    002b9194strb w3, [sp+44]
    002b9198b 0x2b919c
    002b919c
    002b919cloc_2b919c:
    002b919cldrb w8, [sp+44]
    002b91a0strb w8, [sp+45]
    002b91a4tbnz w8, 0, 0x2b91ac
    002b91a8b 0x2b91b0
    002b91ac
    002b91acloc_2b91ac:
    002b91acb 0x2b91d0
    002b91b0
    002b91b0loc_2b91b0:
    002b91b0ldr x0, [sp+120]
    002b91b4ldr x1, [sp+128]
    002b91b8ldr x2, [sp+136]
    002b91bcbl vendor/golang.org/x/crypto/cryptobyte.String.Empty
    002b91c0strb w0, [sp+46]
    002b91c4eor x3, x0, 1
    002b91c8strb w3, [sp+45]
    002b91ccb 0x2b91d0
    002b91d0
    002b91d0loc_2b91d0:
    002b91d0ldrb w8, [sp+45]
    002b91d4tbnz w8, 0, 0x2b91dc
    002b91d8b 0x2b9238
    002b91dc
    002b91dcloc_2b91dc:
    002b91dcadrp x0, 0x3fa000
    002b91e0add x0, x0, 2668
    002b91e4movz x1, 13
    002b91e8bl errors.New
    002b91ecstr x0, [sp+160]
    002b91f0str x1, [sp+168]
    002b91f4str xzr, [sp+72]
    002b91f8stp xzr, xzr, [sp+80]
    002b91fcstr xzr, [sp+48]
    002b9200stp xzr, xzr, [sp+56]
    002b9204ldr x6, [sp+160]
    002b9208ldr x7, [sp+168]
    002b920cstr x6, [sp+144]
    002b9210str x7, [sp+152]
    002b9214ldr x0, [sp+72]
    002b9218ldr x3, [sp+48]
    002b921cldr x1, [sp+80]
    002b9220ldr x4, [sp+56]
    002b9224ldr x2, [sp+88]
    002b9228ldr x5, [sp+64]
    002b922cldur x29, [sp-8]
    002b9230ldr x30, [sp], 192
    002b9234ret x30
    002b9238
    002b9238loc_2b9238:
    002b9238stp xzr, xzr, [sp+144]
    002b923cldr x3, [sp+48]
    002b9240ldr x1, [sp+80]
    002b9244ldr x4, [sp+56]
    002b9248ldr x2, [sp+88]
    002b924cldr x5, [sp+64]
    002b9250ldr x0, [sp+72]
    002b9254mov x6, xzr
    002b9258mov x7, xzr
    002b925cldur x29, [sp-8]
    002b9260ldr x30, [sp], 192
    002b9264ret x30
    002b9268
    002b9268loc_2b9268:
    002b9268stp x0, x1, [sp+8]
    002b926cstr x2, [sp+24]
    002b9270mov x3, x30
    002b9274bl runtime.morestack_noctxt.abi0
    002b9278ldp x0, x1, [sp+8]
    002b927cldr x2, [sp+24]
    002b9280b 0x2b9080
    002b9284udf 0
    002b9288udf 0
    002b928cudf 0
    002b9080
    002b9290
    002b9290crypto/ecdsa.publicKeyFromFIPS: ; void crypto/ecdsa.publicKeyFromFIPS(crypto/elliptic.Curve curve, crypto/internal/fips140/ecdsa.PublicKey * pub)
    002b9290ldr x16, [x28+16]
    002b9294sub x17, sp, 80
    002b9298subs xzr, x17, x16
    002b929cb.ls 0x2b9450
    002b92a0str x30, [sp-208]!
    002b92a4stur x29, [sp-8]
    002b92a8sub x29, sp, 8
    002b92acstr x0, [sp+216]
    002b92b0str x1, [sp+224]
    002b92b4str x2, [sp+232]
    002b92b8str xzr, [sp+64]
    002b92bcstp xzr, xzr, [sp+48]
    002b92c0ldr x0, [sp+232]
    002b92c4bl crypto/internal/fips140/ecdsa.(*PublicKey).Bytes
    002b92c8str x0, [sp+176]
    002b92ccstr x1, [sp+184]
    002b92d0str x2, [sp+192]
    002b92d4str xzr, [sp+168]
    002b92d8str xzr, [sp+160]
    002b92dcstp xzr, xzr, [sp+144]
    002b92e0ldr x0, [sp+216]
    002b92e4ldr x1, [sp+224]
    002b92e8ldr x2, [sp+176]
    002b92ecldr x3, [sp+184]
    002b92f0ldr x4, [sp+192]
    002b92f4bl crypto/ecdsa.pointToAffine
    002b92f8str x0, [sp+168]
    002b92fcstr x1, [sp+160]
    002b9300str x2, [sp+144]
    002b9304str x3, [sp+152]
    002b9308ldr x1, [sp+168]
    002b930cstr x1, [sp+128]
    002b9310ldr x1, [sp+160]
    002b9314str x1, [sp+120]
    002b9318ldr x1, [sp+144]
    002b931cldr x2, [sp+152]
    002b9320str x1, [sp+104]
    002b9324str x2, [sp+112]
    002b9328ldr x1, [sp+128]
    002b932cstr x1, [sp+80]
    002b9330ldr x1, [sp+120]
    002b9334str x1, [sp+72]
    002b9338ldr x1, [sp+112]
    002b933cldr x2, [sp+104]
    002b9340str x2, [sp+88]
    002b9344str x1, [sp+96]
    002b9348cbnz x2, 0x2b9350
    002b934cb 0x2b9374
    002b9350
    002b9350loc_2b9350:
    002b9350str xzr, [sp+64]
    002b9354ldr x1, [sp+88]
    002b9358ldr x2, [sp+96]
    002b935cstr x1, [sp+48]
    002b9360str x2, [sp+56]
    002b9364ldr x0, [sp+64]
    002b9368ldur x29, [sp-8]
    002b936cldr x30, [sp], 208
    002b9370ret x30
    002b9374
    002b9374loc_2b9374:
    002b9374adrp x0, 0x3cd000
    002b9378add x0, x0, 3008
    002b937cbl runtime.newobject
    002b9380str x0, [sp+136]
    002b9384ldr x1, [sp+224]
    002b9388ldr x2, [sp+216]
    002b938cstr x2, [x0]
    002b9390adrp x27, 0x792000
    002b9394ldr w2, [x27+3056]
    002b9398cbz w2, 0x2b93a0
    002b939cb 0x2b93a4
    002b93a0
    002b93a0loc_2b93a0:
    002b93a0b 0x2b93b8
    002b93a4
    002b93a4loc_2b93a4:
    002b93a4bl runtime.gcWriteBarrier2
    002b93a8str x1, [x25]
    002b93acldr x3, [x0+8]
    002b93b0str x3, [x25+8]
    002b93b4b 0x2b93b8
    002b93b8
    002b93b8loc_2b93b8:
    002b93b8str x1, [x0+8]
    002b93bcldr x3, [sp+136]
    002b93c0ldrsb x27, [x3]
    002b93c4ldr x4, [sp+80]
    002b93c8adrp x27, 0x792000
    002b93ccldr w5, [x27+3056]
    002b93d0cbz w5, 0x2b93d8
    002b93d4b 0x2b93dc
    002b93d8
    002b93d8loc_2b93d8:
    002b93d8b 0x2b93f0
    002b93dc
    002b93dcloc_2b93dc:
    002b93dcbl runtime.gcWriteBarrier2
    002b93e0str x4, [x25]
    002b93e4ldr x5, [x3+16]
    002b93e8str x5, [x25+8]
    002b93ecb 0x2b93f0
    002b93f0
    002b93f0loc_2b93f0:
    002b93f0str x4, [x3+16]
    002b93f4ldr x3, [sp+136]
    002b93f8ldrsb x27, [x3]
    002b93fcldr x4, [sp+72]
    002b9400adrp x27, 0x792000
    002b9404ldr w5, [x27+3056]
    002b9408cbz w5, 0x2b9410
    002b940cb 0x2b9414
    002b9410
    002b9410loc_2b9410:
    002b9410b 0x2b9428
    002b9414
    002b9414loc_2b9414:
    002b9414bl runtime.gcWriteBarrier2
    002b9418str x4, [x25]
    002b941cldr x5, [x3+24]
    002b9420str x5, [x25+8]
    002b9424b 0x2b9428
    002b9428
    002b9428loc_2b9428:
    002b9428str x4, [x3+24]
    002b942cldr x3, [sp+136]
    002b9430str x3, [sp+64]
    002b9434stp xzr, xzr, [sp+48]
    002b9438ldr x0, [sp+64]
    002b943cmov x1, xzr
    002b9440mov x2, xzr
    002b9444ldur x29, [sp-8]
    002b9448ldr x30, [sp], 208
    002b944cret x30
    002b9450
    002b9450loc_2b9450:
    002b9450stp x0, x1, [sp+8]
    002b9454str x2, [sp+24]
    002b9458mov x3, x30
    002b945cbl runtime.morestack_noctxt.abi0
    002b9460ldp x0, x1, [sp+8]
    002b9464ldr x2, [sp+24]
    002b9468b 0x2b9290
    002b946cudf 0
    002b9290
    002b9470
    002b9470crypto/ecdsa.privateKeyFromFIPS: ; void crypto/ecdsa.privateKeyFromFIPS(crypto/elliptic.Curve curve, crypto/internal/fips140/ecdsa.PrivateKey * priv)
    002b9470ldr x16, [x28+16]
    002b9474sub x17, sp, 80
    002b9478subs xzr, x17, x16
    002b947cb.ls 0x2b964c
    002b9480str x30, [sp-208]!
    002b9484stur x29, [sp-8]
    002b9488sub x29, sp, 8
    002b948cstr x0, [sp+216]
    002b9490str x1, [sp+224]
    002b9494str x2, [sp+232]
    002b9498str xzr, [sp+64]
    002b949cstp xzr, xzr, [sp+48]
    002b94a0ldr x0, [sp+232]
    002b94a4bl crypto/internal/fips140/ecdsa.(*PrivateKey).PublicKey
    002b94a8str x0, [sp+104]
    002b94acstr xzr, [sp+96]
    002b94b0stp xzr, xzr, [sp+184]
    002b94b4ldr x0, [sp+216]
    002b94b8ldr x1, [sp+224]
    002b94bcldr x2, [sp+104]
    002b94c0bl crypto/ecdsa.publicKeyFromFIPS
    002b94c4str x0, [sp+96]
    002b94c8str x1, [sp+184]
    002b94ccstr x2, [sp+192]
    002b94d0ldr x1, [sp+96]
    002b94d4str x1, [sp+128]
    002b94d8ldr x1, [sp+184]
    002b94dcldr x2, [sp+192]
    002b94e0str x1, [sp+112]
    002b94e4str x2, [sp+120]
    002b94e8ldr x1, [sp+128]
    002b94ecstr x1, [sp+72]
    002b94f0ldr x1, [sp+120]
    002b94f4ldr x2, [sp+112]
    002b94f8str x2, [sp+80]
    002b94fcstr x1, [sp+88]
    002b9500cbnz x2, 0x2b9508
    002b9504b 0x2b952c
    002b9508
    002b9508loc_2b9508:
    002b9508str xzr, [sp+64]
    002b950cldr x1, [sp+80]
    002b9510ldr x2, [sp+88]
    002b9514str x1, [sp+48]
    002b9518str x2, [sp+56]
    002b951cldr x0, [sp+64]
    002b9520ldur x29, [sp-8]
    002b9524ldr x30, [sp], 208
    002b9528ret x30
    002b952c
    002b952cloc_2b952c:
    002b952cadrp x0, 0x38c000
    002b9530add x0, x0, 1024
    002b9534bl runtime.newobject
    002b9538str x0, [sp+176]
    002b953cldr x0, [sp+232]
    002b9540bl crypto/internal/fips140/ecdsa.(*PrivateKey).Bytes
    002b9544str x0, [sp+152]
    002b9548str x1, [sp+160]
    002b954cstr x2, [sp+168]
    002b9550ldr x3, [sp+176]
    002b9554mov x4, x0
    002b9558mov x0, x3
    002b955cmov x5, x1
    002b9560mov x1, x4
    002b9564mov x6, x2
    002b9568mov x2, x5
    002b956cmov x3, x6
    002b9570bl math/big.(*Int).SetBytes
    002b9574str x0, [sp+144]
    002b9578adrp x0, 0x3c6000
    002b957cadd x0, x0, 1056
    002b9580bl runtime.newobject
    002b9584str x0, [sp+136]
    002b9588ldr x1, [sp+72]
    002b958cldrsb x27, [x1]
    002b9590ldr x2, [x1+8]
    002b9594ldr x3, [x1]
    002b9598ldr x4, [x1+16]
    002b959cldr x1, [x1+24]
    002b95a0str x3, [x0]
    002b95a4adrp x27, 0x792000
    002b95a8ldr w3, [x27+3056]
    002b95accbz w3, 0x2b95b4
    002b95b0b 0x2b95b8
    002b95b4
    002b95b4loc_2b95b4:
    002b95b4b 0x2b95e4
    002b95b8
    002b95b8loc_2b95b8:
    002b95b8bl runtime.gcWriteBarrier6
    002b95bcstr x2, [x25]
    002b95c0ldr x3, [x0+8]
    002b95c4str x3, [x25+8]
    002b95c8str x4, [x25+16]
    002b95ccldr x3, [x0+16]
    002b95d0str x3, [x25+24]
    002b95d4str x1, [x25+32]
    002b95d8ldr x3, [x0+24]
    002b95dcstr x3, [x25+40]
    002b95e0b 0x2b95e4
    002b95e4
    002b95e4loc_2b95e4:
    002b95e4str x2, [x0+8]
    002b95e8str x4, [x0+16]
    002b95ecstr x1, [x0+24]
    002b95f0ldr x3, [sp+136]
    002b95f4ldrsb x27, [x3]
    002b95f8ldr x4, [sp+144]
    002b95fcadrp x27, 0x792000
    002b9600ldr w5, [x27+3056]
    002b9604cbz w5, 0x2b960c
    002b9608b 0x2b9610
    002b960c
    002b960cloc_2b960c:
    002b960cb 0x2b9624
    002b9610
    002b9610loc_2b9610:
    002b9610bl runtime.gcWriteBarrier2
    002b9614str x4, [x25]
    002b9618ldr x5, [x3+32]
    002b961cstr x5, [x25+8]
    002b9620b 0x2b9624
    002b9624
    002b9624loc_2b9624:
    002b9624str x4, [x3+32]
    002b9628ldr x3, [sp+136]
    002b962cstr x3, [sp+64]
    002b9630stp xzr, xzr, [sp+48]
    002b9634ldr x0, [sp+64]
    002b9638mov x1, xzr
    002b963cmov x2, xzr
    002b9640ldur x29, [sp-8]
    002b9644ldr x30, [sp], 208
    002b9648ret x30
    002b964c
    002b964cloc_2b964c:
    002b964cstp x0, x1, [sp+8]
    002b9650str x2, [sp+24]
    002b9654mov x3, x30
    002b9658bl runtime.morestack_noctxt.abi0
    002b965cldp x0, x1, [sp+8]
    002b9660ldr x2, [sp+24]
    002b9664b 0x2b9470
    002b9668udf 0
    002b966cudf 0
    002b9470
    002b9670
    002b9670crypto/ecdsa.pointFromAffine: ; void crypto/ecdsa.pointFromAffine(crypto/elliptic.Curve curve, math/big.Int * x, math/big.Int * y)
    002b9670ldr x16, [x28+16]
    002b9674sub x17, sp, 80
    002b9678subs xzr, x17, x16
    002b967cb.ls 0x2b997c
    002b9680str x30, [sp-208]!
    002b9684stur x29, [sp-8]
    002b9688sub x29, sp, 8
    002b968cstr x0, [sp+216]
    002b9690str x1, [sp+224]
    002b9694str x2, [sp+232]
    002b9698str x3, [sp+240]
    002b969cstr xzr, [sp+104]
    002b96a0stp xzr, xzr, [sp+112]
    002b96a4stp xzr, xzr, [sp+88]
    002b96a8ldr x1, [sp+216]
    002b96acldrsb x27, [x1]
    002b96b0ldr x1, [x1+48]
    002b96b4ldr x0, [sp+224]
    002b96b8blr x1
    002b96bcstr x0, [sp+152]
    002b96c0ldrsb x27, [x0]
    002b96c4ldr x1, [x0+40]
    002b96c8str x1, [sp+56]
    002b96ccldr x0, [sp+232]
    002b96d0bl math/big.(*Int).Sign
    002b96d4str x0, [sp+80]
    002b96d8subs xzr, x0, 0
    002b96dccset x1, lt
    002b96e0strb w1, [sp+47]
    002b96e4tbnz x0, 63, 0x2b96ec
    002b96e8b 0x2b96f0
    002b96ec
    002b96ecloc_2b96ec:
    002b96ecb 0x2b970c
    002b96f0
    002b96f0loc_2b96f0:
    002b96f0ldr x0, [sp+240]
    002b96f4bl math/big.(*Int).Sign
    002b96f8str x0, [sp+72]
    002b96fcsubs xzr, x0, 0
    002b9700cset x1, lt
    002b9704strb w1, [sp+47]
    002b9708b 0x2b970c
    002b970c
    002b970cloc_2b970c:
    002b970cldrb w2, [sp+47]
    002b9710tbnz w2, 0, 0x2b9718
    002b9714b 0x2b9760
    002b9718
    002b9718loc_2b9718:
    002b9718adrp x0, 0x3fd000
    002b971cadd x0, x0, 1669
    002b9720movz x1, 19
    002b9724bl errors.New
    002b9728str x0, [sp+184]
    002b972cstr x1, [sp+192]
    002b9730str xzr, [sp+104]
    002b9734stp xzr, xzr, [sp+112]
    002b9738ldr x3, [sp+184]
    002b973cldr x4, [sp+192]
    002b9740str x3, [sp+88]
    002b9744str x4, [sp+96]
    002b9748ldr x0, [sp+104]
    002b974cldr x1, [sp+112]
    002b9750ldr x2, [sp+120]
    002b9754ldur x29, [sp-8]
    002b9758ldr x30, [sp], 208
    002b975cret x30
    002b9760
    002b9760loc_2b9760:
    002b9760ldr x0, [sp+232]
    002b9764bl math/big.(*Int).BitLen
    002b9768str x0, [sp+80]
    002b976cldr x1, [sp+56]
    002b9770subs xzr, x0, x1
    002b9774cset x1, gt
    002b9778strb w1, [sp+47]
    002b977cb.gt 0x2b9784
    002b9780b 0x2b9788
    002b9784
    002b9784loc_2b9784:
    002b9784b 0x2b97a8
    002b9788
    002b9788loc_2b9788:
    002b9788ldr x0, [sp+240]
    002b978cbl math/big.(*Int).BitLen
    002b9790str x0, [sp+72]
    002b9794ldr x1, [sp+56]
    002b9798subs xzr, x0, x1
    002b979ccset x1, gt
    002b97a0strb w1, [sp+47]
    002b97a4b 0x2b97a8
    002b97a8
    002b97a8loc_2b97a8:
    002b97a8ldrb w3, [sp+47]
    002b97actbnz w3, 0, 0x2b97b4
    002b97b0b 0x2b97fc
    002b97b4
    002b97b4loc_2b97b4:
    002b97b4adrp x0, 0x3ff000
    002b97b8add x0, x0, 132
    002b97bcmovz x1, 22
    002b97c0bl errors.New
    002b97c4str x0, [sp+184]
    002b97c8str x1, [sp+192]
    002b97ccstr xzr, [sp+104]
    002b97d0stp xzr, xzr, [sp+112]
    002b97d4ldr x3, [sp+184]
    002b97d8ldr x4, [sp+192]
    002b97dcstr x3, [sp+88]
    002b97e0str x4, [sp+96]
    002b97e4ldr x0, [sp+104]
    002b97e8ldr x1, [sp+112]
    002b97ecldr x2, [sp+120]
    002b97f0ldur x29, [sp-8]
    002b97f4ldr x30, [sp], 208
    002b97f8ret x30
    002b97fc
    002b97fcloc_2b97fc:
    002b97fcldr x3, [sp+56]
    002b9800add x4, x3, 7
    002b9804sbfm x4, x4, 63, 63
    002b9808add x3, x3, x4, lsr #61
    002b980cadd x3, x3, 7
    002b9810sbfm x3, x3, 3, 63
    002b9814str x3, [sp+48]
    002b9818ubfm x3, x3, 63, 62
    002b981cadd x2, x3, 1
    002b9820str x2, [sp+64]
    002b9824adrp x0, 0x33c000
    002b9828add x0, x0, 3072
    002b982cmov x1, x2
    002b9830bl runtime.makeslice
    002b9834ldr x1, [sp+64]
    002b9838ldr x3, [sp+64]
    002b983cstr x0, [sp+128]
    002b9840str x1, [sp+136]
    002b9844str x3, [sp+144]
    002b9848subs xzr, x1, 0
    002b984cb.hi 0x2b9854
    002b9850b 0x2b9970
    002b9854
    002b9854loc_2b9854:
    002b9854orr x4, xzr, 4
    002b9858strb w4, [x0]
    002b985cldr x2, [sp+48]
    002b9860add x1, x2, 1
    002b9864str x1, [sp+80]
    002b9868ldr x4, [sp+144]
    002b986cldr x5, [sp+128]
    002b9870subs xzr, x4, x1
    002b9874b.hs 0x2b987c
    002b9878b 0x2b9968
    002b987c
    002b987cloc_2b987c:
    002b987csubs xzr, x1, 1
    002b9880b.hs 0x2b9888
    002b9884b 0x2b9960
    002b9888
    002b9888loc_2b9888:
    002b9888sub x3, x4, 1
    002b988csub x4, xzr, x3
    002b9890sbfm x4, x4, 63, 63
    002b9894and x4, x4, 1
    002b9898add x1, x5, x4
    002b989cstr x1, [sp+160]
    002b98a0str x2, [sp+168]
    002b98a4str x3, [sp+176]
    002b98a8ldr x0, [sp+232]
    002b98acbl math/big.(*Int).FillBytes
    002b98b0ldr x4, [sp+48]
    002b98b4add x0, x4, 1
    002b98b8str x0, [sp+80]
    002b98bcldr x5, [sp+48]
    002b98c0ubfm x5, x5, 63, 62
    002b98c4add x1, x5, 1
    002b98c8str x1, [sp+72]
    002b98ccldr x2, [sp+144]
    002b98d0ldr x6, [sp+128]
    002b98d4subs xzr, x2, x1
    002b98d8b.hs 0x2b98e0
    002b98dcb 0x2b995c
    002b98e0
    002b98e0loc_2b98e0:
    002b98e0subs xzr, x1, x0
    002b98e4b.hs 0x2b98ec
    002b98e8b 0x2b9958
    002b98ec
    002b98ecloc_2b98ec:
    002b98ecsub x5, x5, x4
    002b98f0sub x4, x2, x4
    002b98f4sub x3, x4, 1
    002b98f8sub x4, xzr, x3
    002b98fcand x4, x0, x4, asr #63
    002b9900add x1, x6, x4
    002b9904str x1, [sp+160]
    002b9908str x5, [sp+168]
    002b990cstr x3, [sp+176]
    002b9910ldr x0, [sp+240]
    002b9914mov x2, x5
    002b9918bl math/big.(*Int).FillBytes
    002b991cldr x4, [sp+128]
    002b9920ldr x5, [sp+136]
    002b9924ldr x6, [sp+144]
    002b9928str x4, [sp+104]
    002b992cstr x5, [sp+112]
    002b9930str x6, [sp+120]
    002b9934stp xzr, xzr, [sp+88]
    002b9938ldr x0, [sp+104]
    002b993cldr x1, [sp+112]
    002b9940ldr x2, [sp+120]
    002b9944mov x3, xzr
    002b9948mov x4, xzr
    002b994cldur x29, [sp-8]
    002b9950ldr x30, [sp], 208
    002b9954ret x30
    002b9958
    002b9958loc_2b9958:
    002b9958bl runtime.panicSliceB
    002b995c
    002b995cloc_2b995c:
    002b995cbl runtime.panicSliceAcap
    002b9960
    002b9960loc_2b9960:
    002b9960orr x0, xzr, 1
    002b9964bl runtime.panicSliceB
    002b9968
    002b9968loc_2b9968:
    002b9968mov x2, x4
    002b996cbl runtime.panicSliceAcap
    002b9970
    002b9970loc_2b9970:
    002b9970mov x0, xzr
    002b9974bl runtime.panicIndex
    002b9978hint
    002b997c
    002b997cloc_2b997c:
    002b997cstp x0, x1, [sp+8]
    002b9980stp x2, x3, [sp+24]
    002b9984mov x3, x30
    002b9988bl runtime.morestack_noctxt.abi0
    002b998cldp x0, x1, [sp+8]
    002b9990ldp x2, x3, [sp+24]
    002b9994b 0x2b9670
    002b9998udf 0
    002b999cudf 0
    002b9670
    002b99a0
    002b99a0crypto/ecdsa.pointToAffine: ; void crypto/ecdsa.pointToAffine(crypto/elliptic.Curve curve, struct []uint8 p)
    002b99a0ldr x16, [x28+16]
    002b99a4sub x17, sp, 32
    002b99a8subs xzr, x17, x16
    002b99acb.ls 0x2b9bc0
    002b99b0str x30, [sp-160]!
    002b99b4stur x29, [sp-8]
    002b99b8sub x29, sp, 8
    002b99bcstr x0, [sp+168]
    002b99c0str x1, [sp+176]
    002b99c4str x2, [sp+184]
    002b99c8str x3, [sp+192]
    002b99ccstr x4, [sp+200]
    002b99d0str xzr, [sp+72]
    002b99d4str xzr, [sp+64]
    002b99d8stp xzr, xzr, [sp+80]
    002b99dcldr x2, [sp+192]
    002b99e0str x2, [sp+56]
    002b99e4subs xzr, x2, 1
    002b99e8cset x2, eq
    002b99ecstrb w2, [sp+47]
    002b99f0b.eq 0x2b99f8
    002b99f4b 0x2b9a20
    002b99f8
    002b99f8loc_2b99f8:
    002b99f8ldr x1, [sp+192]
    002b99fcldr x2, [sp+184]
    002b9a00subs xzr, x1, 0
    002b9a04b.hi 0x2b9a0c
    002b9a08b 0x2b9bb4
    002b9a0c
    002b9a0cloc_2b9a0c:
    002b9a0cldrb w2, [x2]
    002b9a10subs wzr, w2, 0
    002b9a14cset x2, eq
    002b9a18strb w2, [sp+47]
    002b9a1cb 0x2b9a24
    002b9a20
    002b9a20loc_2b9a20:
    002b9a20b 0x2b9a24
    002b9a24
    002b9a24loc_2b9a24:
    002b9a24ldrb w2, [sp+47]
    002b9a28tbnz w2, 0, 0x2b9a30
    002b9a2cb 0x2b9a74
    002b9a30
    002b9a30loc_2b9a30:
    002b9a30adrp x0, 0x40a000
    002b9a34add x0, x0, 3172
    002b9a38movz x1, 39
    002b9a3cbl errors.New
    002b9a40str x0, [sp+104]
    002b9a44str x1, [sp+112]
    002b9a48str xzr, [sp+72]
    002b9a4cstr xzr, [sp+64]
    002b9a50ldr x2, [sp+104]
    002b9a54ldr x3, [sp+112]
    002b9a58str x2, [sp+80]
    002b9a5cstr x3, [sp+88]
    002b9a60ldr x0, [sp+72]
    002b9a64ldr x1, [sp+64]
    002b9a68ldur x29, [sp-8]
    002b9a6cldr x30, [sp], 160
    002b9a70ret x30
    002b9a74
    002b9a74loc_2b9a74:
    002b9a74ldr x1, [sp+168]
    002b9a78ldrsb x27, [x1]
    002b9a7cldr x1, [x1+48]
    002b9a80ldr x0, [sp+176]
    002b9a84blr x1
    002b9a88str x0, [sp+96]
    002b9a8cldrsb x27, [x0]
    002b9a90ldr x1, [x0+40]
    002b9a94add x2, x1, 7
    002b9a98sbfm x2, x2, 63, 63
    002b9a9cadd x1, x1, x2, lsr #61
    002b9aa0add x1, x1, 7
    002b9aa4sbfm x1, x1, 3, 63
    002b9aa8str x1, [sp+48]
    002b9aacadrp x0, 0x38c000
    002b9ab0add x0, x0, 1024
    002b9ab4bl runtime.newobject
    002b9ab8str x0, [sp+144]
    002b9abcldr x2, [sp+48]
    002b9ac0add x1, x2, 1
    002b9ac4str x1, [sp+56]
    002b9ac8ldr x3, [sp+200]
    002b9accldr x4, [sp+184]
    002b9ad0subs xzr, x3, x1
    002b9ad4b.hs 0x2b9adc
    002b9ad8b 0x2b9bac
    002b9adc
    002b9adcloc_2b9adc:
    002b9adcsubs xzr, x1, 1
    002b9ae0b.hs 0x2b9ae8
    002b9ae4b 0x2b9ba4
    002b9ae8
    002b9ae8loc_2b9ae8:
    002b9ae8sub x3, x3, 1
    002b9aecsub x5, xzr, x3
    002b9af0sbfm x5, x5, 63, 63
    002b9af4and x5, x5, 1
    002b9af8add x1, x4, x5
    002b9afcstr x1, [sp+120]
    002b9b00str x2, [sp+128]
    002b9b04str x3, [sp+136]
    002b9b08ldr x0, [sp+144]
    002b9b0cbl math/big.(*Int).SetBytes
    002b9b10str x0, [sp+72]
    002b9b14adrp x0, 0x38c000
    002b9b18add x0, x0, 1024
    002b9b1cbl runtime.newobject
    002b9b20str x0, [sp+144]
    002b9b24ldr x4, [sp+48]
    002b9b28add x0, x4, 1
    002b9b2cstr x0, [sp+56]
    002b9b30ldr x1, [sp+192]
    002b9b34ldr x5, [sp+184]
    002b9b38ldr x6, [sp+200]
    002b9b3cb 0x2b9b40
    002b9b40
    002b9b40loc_2b9b40:
    002b9b40subs xzr, x1, x0
    002b9b44b.hs 0x2b9b4c
    002b9b48b 0x2b9ba0
    002b9b4c
    002b9b4cloc_2b9b4c:
    002b9b4csub x7, x1, x4
    002b9b50sub x4, x6, x4
    002b9b54sub x3, x4, 1
    002b9b58sub x2, x7, 1
    002b9b5csub x4, xzr, x3
    002b9b60and x4, x0, x4, asr #63
    002b9b64add x1, x5, x4
    002b9b68str x1, [sp+120]
    002b9b6cstr x2, [sp+128]
    002b9b70str x3, [sp+136]
    002b9b74ldr x0, [sp+144]
    002b9b78bl math/big.(*Int).SetBytes
    002b9b7cstr x0, [sp+64]
    002b9b80stp xzr, xzr, [sp+80]
    002b9b84ldr x0, [sp+72]
    002b9b88ldr x1, [sp+64]
    002b9b8cmov x2, xzr
    002b9b90mov x3, xzr
    002b9b94ldur x29, [sp-8]
    002b9b98ldr x30, [sp], 160
    002b9b9cret x30
    002b9ba0
    002b9ba0loc_2b9ba0:
    002b9ba0bl runtime.panicSliceB
    002b9ba4
    002b9ba4loc_2b9ba4:
    002b9ba4orr x0, xzr, 1
    002b9ba8bl runtime.panicSliceB
    002b9bac
    002b9bacloc_2b9bac:
    002b9bacmov x2, x3
    002b9bb0bl runtime.panicSliceAcap
    002b9bb4
    002b9bb4loc_2b9bb4:
    002b9bb4mov x0, xzr
    002b9bb8bl runtime.panicIndex
    002b9bbchint
    002b9bc0
    002b9bc0loc_2b9bc0:
    002b9bc0stp x0, x1, [sp+8]
    002b9bc4stp x2, x3, [sp+24]
    002b9bc8str x4, [sp+40]
    002b9bccmov x3, x30
    002b9bd0bl runtime.morestack_noctxt.abi0
    002b9bd4ldp x0, x1, [sp+8]
    002b9bd8ldp x2, x3, [sp+24]
    002b9bdcldr x4, [sp+40]
    002b9be0b 0x2b99a0
    002b9be4udf 0
    002b9be8udf 0
    002b9becudf 0
    002b99a0
    002b9bf0
    002b9bf0crypto/ecdsa.generateLegacy: ; void crypto/ecdsa.generateLegacy(crypto/elliptic.Curve c, io.Reader rand)
    002b9bf0ldr x16, [x28+16]
    002b9bf4sub x17, sp, 80
    002b9bf8subs xzr, x17, x16
    002b9bfcb.ls 0x2b9e6c
    002b9c00str x30, [sp-208]!
    002b9c04stur x29, [sp-8]
    002b9c08sub x29, sp, 8
    002b9c0cstr x0, [sp+216]
    002b9c10str x1, [sp+224]
    002b9c14str x2, [sp+232]
    002b9c18str x3, [sp+240]
    002b9c1cstr xzr, [sp+64]
    002b9c20stp xzr, xzr, [sp+48]
    002b9c24adrp x27, 0x792000
    002b9c28ldrb w4, [x27+1551]
    002b9c2ctbnz w4, 0, 0x2b9c34
    002b9c30b 0x2b9c70
    002b9c34
    002b9c34loc_2b9c34:
    002b9c34adrp x0, 0x415000
    002b9c38add x0, x0, 2659
    002b9c3cmovz x1, 71
    002b9c40bl errors.New
    002b9c44str x0, [sp+176]
    002b9c48str x1, [sp+184]
    002b9c4cstr xzr, [sp+64]
    002b9c50ldr x1, [sp+176]
    002b9c54ldr x2, [sp+184]
    002b9c58str x1, [sp+48]
    002b9c5cstr x2, [sp+56]
    002b9c60ldr x0, [sp+64]
    002b9c64ldur x29, [sp-8]
    002b9c68ldr x30, [sp], 208
    002b9c6cret x30
    002b9c70
    002b9c70loc_2b9c70:
    002b9c70str xzr, [sp+168]
    002b9c74stp xzr, xzr, [sp+176]
    002b9c78ldr x0, [sp+216]
    002b9c7cldr x2, [sp+232]
    002b9c80ldr x1, [sp+224]
    002b9c84ldr x3, [sp+240]
    002b9c88bl crypto/ecdsa.randFieldElement
    002b9c8cstr x0, [sp+168]
    002b9c90str x1, [sp+176]
    002b9c94str x2, [sp+184]
    002b9c98ldr x4, [sp+168]
    002b9c9cstr x4, [sp+128]
    002b9ca0ldr x4, [sp+184]
    002b9ca4ldr x5, [sp+176]
    002b9ca8str x5, [sp+112]
    002b9cacstr x4, [sp+120]
    002b9cb0ldr x4, [sp+128]
    002b9cb4str x4, [sp+80]
    002b9cb8ldr x4, [sp+120]
    002b9cbcldr x5, [sp+112]
    002b9cc0str x5, [sp+88]
    002b9cc4str x4, [sp+96]
    002b9cc8cbnz x5, 0x2b9cd0
    002b9cccb 0x2b9cf4
    002b9cd0
    002b9cd0loc_2b9cd0:
    002b9cd0str xzr, [sp+64]
    002b9cd4ldr x1, [sp+88]
    002b9cd8ldr x2, [sp+96]
    002b9cdcstr x1, [sp+48]
    002b9ce0str x2, [sp+56]
    002b9ce4ldr x0, [sp+64]
    002b9ce8ldur x29, [sp-8]
    002b9cecldr x30, [sp], 208
    002b9cf0ret x30
    002b9cf4
    002b9cf4loc_2b9cf4:
    002b9cf4adrp x0, 0x3c6000
    002b9cf8add x0, x0, 1056
    002b9cfcbl runtime.newobject
    002b9d00str x0, [sp+72]
    002b9d04ldr x1, [sp+224]
    002b9d08ldr x2, [sp+216]
    002b9d0cstr x2, [x0]
    002b9d10adrp x27, 0x792000
    002b9d14ldr w2, [x27+3056]
    002b9d18cbz w2, 0x2b9d20
    002b9d1cb 0x2b9d24
    002b9d20
    002b9d20loc_2b9d20:
    002b9d20b 0x2b9d38
    002b9d24
    002b9d24loc_2b9d24:
    002b9d24bl runtime.gcWriteBarrier2
    002b9d28str x1, [x25]
    002b9d2cldr x2, [x0+8]
    002b9d30str x2, [x25+8]
    002b9d34b 0x2b9d38
    002b9d38
    002b9d38loc_2b9d38:
    002b9d38str x1, [x0+8]
    002b9d3cldr x1, [sp+72]
    002b9d40ldrsb x27, [x1]
    002b9d44ldr x2, [sp+80]
    002b9d48adrp x27, 0x792000
    002b9d4cldr w3, [x27+3056]
    002b9d50cbz w3, 0x2b9d58
    002b9d54b 0x2b9d5c
    002b9d58
    002b9d58loc_2b9d58:
    002b9d58b 0x2b9d70
    002b9d5c
    002b9d5cloc_2b9d5c:
    002b9d5cbl runtime.gcWriteBarrier2
    002b9d60str x2, [x25]
    002b9d64ldr x3, [x1+32]
    002b9d68str x3, [x25+8]
    002b9d6cb 0x2b9d70
    002b9d70
    002b9d70loc_2b9d70:
    002b9d70str x2, [x1+32]
    002b9d74ldr x0, [sp+80]
    002b9d78bl math/big.(*Int).Bytes
    002b9d7cstr x0, [sp+144]
    002b9d80str x1, [sp+152]
    002b9d84str x2, [sp+160]
    002b9d88str xzr, [sp+168]
    002b9d8cstr xzr, [sp+136]
    002b9d90ldr x1, [sp+216]
    002b9d94ldrsb x27, [x1]
    002b9d98ldr x0, [sp+224]
    002b9d9cldr x1, [x1+56]
    002b9da0ldr x2, [sp+144]
    002b9da4ldr x3, [sp+152]
    002b9da8ldr x4, [sp+160]
    002b9dacmov x5, x1
    002b9db0mov x1, x2
    002b9db4mov x2, x3
    002b9db8mov x3, x4
    002b9dbcblr x5
    002b9dc0str x0, [sp+168]
    002b9dc4str x1, [sp+136]
    002b9dc8ldr x1, [sp+168]
    002b9dccstr x1, [sp+104]
    002b9dd0ldr x1, [sp+136]
    002b9dd4str x1, [sp+192]
    002b9dd8ldr x1, [sp+72]
    002b9ddcldrsb x27, [x1]
    002b9de0ldr x2, [sp+104]
    002b9de4adrp x27, 0x792000
    002b9de8ldr w3, [x27+3056]
    002b9deccbz w3, 0x2b9df4
    002b9df0b 0x2b9df8
    002b9df4
    002b9df4loc_2b9df4:
    002b9df4b 0x2b9e0c
    002b9df8
    002b9df8loc_2b9df8:
    002b9df8bl runtime.gcWriteBarrier2
    002b9dfcstr x2, [x25]
    002b9e00ldr x3, [x1+16]
    002b9e04str x3, [x25+8]
    002b9e08b 0x2b9e0c
    002b9e0c
    002b9e0cloc_2b9e0c:
    002b9e0cstr x2, [x1+16]
    002b9e10ldr x3, [sp+72]
    002b9e14ldrsb x27, [x3]
    002b9e18ldr x4, [sp+192]
    002b9e1cadrp x27, 0x792000
    002b9e20ldr w5, [x27+3056]
    002b9e24cbz w5, 0x2b9e2c
    002b9e28b 0x2b9e30
    002b9e2c
    002b9e2cloc_2b9e2c:
    002b9e2cb 0x2b9e44
    002b9e30
    002b9e30loc_2b9e30:
    002b9e30bl runtime.gcWriteBarrier2
    002b9e34str x4, [x25]
    002b9e38ldr x5, [x3+24]
    002b9e3cstr x5, [x25+8]
    002b9e40b 0x2b9e44
    002b9e44
    002b9e44loc_2b9e44:
    002b9e44str x4, [x3+24]
    002b9e48ldr x3, [sp+72]
    002b9e4cstr x3, [sp+64]
    002b9e50stp xzr, xzr, [sp+48]
    002b9e54ldr x0, [sp+64]
    002b9e58mov x1, xzr
    002b9e5cmov x2, xzr
    002b9e60ldur x29, [sp-8]
    002b9e64ldr x30, [sp], 208
    002b9e68ret x30
    002b9e6c
    002b9e6cloc_2b9e6c:
    002b9e6cstp x0, x1, [sp+8]
    002b9e70stp x2, x3, [sp+24]
    002b9e74mov x3, x30
    002b9e78bl runtime.morestack_noctxt.abi0
    002b9e7cldp x0, x1, [sp+8]
    002b9e80ldp x2, x3, [sp+24]
    002b9e84b 0x2b9bf0
    002b9e88udf 0
    002b9e8cudf 0
    002b9bf0
    002b9e90
    002b9e90crypto/ecdsa.hashToInt: ; void crypto/ecdsa.hashToInt(struct []uint8 hash, crypto/elliptic.Curve c)
    002b9e90ldr x16, [x28+16]
    002b9e94subs xzr, sp, x16
    002b9e98b.ls 0x2b9fb4
    002b9e9cstr x30, [sp-128]!
    002b9ea0stur x29, [sp-8]
    002b9ea4sub x29, sp, 8
    002b9ea8str x0, [sp+136]
    002b9eacstr x1, [sp+144]
    002b9eb0str x2, [sp+152]
    002b9eb4str x3, [sp+160]
    002b9eb8str x4, [sp+168]
    002b9ebcstr xzr, [sp+80]
    002b9ec0ldr x1, [sp+160]
    002b9ec4ldrsb x27, [x1]
    002b9ec8ldr x1, [x1+48]
    002b9eccldr x0, [sp+168]
    002b9ed0blr x1
    002b9ed4str x0, [sp+104]
    002b9ed8ldrsb x27, [x0]
    002b9edcldr x0, [x0+8]
    002b9ee0str x0, [sp+112]
    002b9ee4bl math/big.(*Int).BitLen
    002b9ee8str x0, [sp+56]
    002b9eecadd x1, x0, 7
    002b9ef0sbfm x1, x1, 63, 63
    002b9ef4add x1, x0, x1, lsr #61
    002b9ef8add x1, x1, 7
    002b9efcsbfm x2, x1, 3, 63
    002b9f00str x2, [sp+48]
    002b9f04ldr x3, [sp+144]
    002b9f08str x3, [sp+72]
    002b9f0csubs xzr, x3, x1, asr #3
    002b9f10b.gt 0x2b9f18
    002b9f14b 0x2b9f34
    002b9f18
    002b9f18loc_2b9f18:
    002b9f18ldr x3, [sp+152]
    002b9f1csubs xzr, x3, x1, asr #3
    002b9f20b.hs 0x2b9f28
    002b9f24b 0x2b9fa4
    002b9f28
    002b9f28loc_2b9f28:
    002b9f28b 0x2b9f2c
    002b9f2c
    002b9f2cloc_2b9f2c:
    002b9f2cstr x2, [sp+144]
    002b9f30b 0x2b9f38
    002b9f34
    002b9f34loc_2b9f34:
    002b9f34b 0x2b9f38
    002b9f38
    002b9f38loc_2b9f38:
    002b9f38adrp x0, 0x38c000
    002b9f3cadd x0, x0, 1024
    002b9f40bl runtime.newobject
    002b9f44str x0, [sp+96]
    002b9f48ldr x1, [sp+136]
    002b9f4cldr x2, [sp+144]
    002b9f50ldr x3, [sp+152]
    002b9f54bl math/big.(*Int).SetBytes
    002b9f58str x0, [sp+88]
    002b9f5cldr x1, [sp+144]
    002b9f60str x1, [sp+72]
    002b9f64ubfm x1, x1, 61, 60
    002b9f68ldr x2, [sp+56]
    002b9f6csub x2, x1, x2
    002b9f70str x2, [sp+64]
    002b9f74subs xzr, x2, 0
    002b9f78b.gt 0x2b9f80
    002b9f7cb 0x2b9f8c
    002b9f80
    002b9f80loc_2b9f80:
    002b9f80mov x1, x0
    002b9f84bl math/big.(*Int).Rsh
    002b9f88b 0x2b9f90
    002b9f8c
    002b9f8cloc_2b9f8c:
    002b9f8cb 0x2b9f90
    002b9f90
    002b9f90loc_2b9f90:
    002b9f90ldr x0, [sp+88]
    002b9f94str x0, [sp+80]
    002b9f98ldur x29, [sp-8]
    002b9f9cldr x30, [sp], 128
    002b9fa0ret x30
    002b9fa4
    002b9fa4loc_2b9fa4:
    002b9fa4mov x1, x2
    002b9fa8mov x2, x3
    002b9facbl runtime.panicSliceAcap
    002b9fb0hint
    002b9fb4
    002b9fb4loc_2b9fb4:
    002b9fb4stp x0, x1, [sp+8]
    002b9fb8stp x2, x3, [sp+24]
    002b9fbcstr x4, [sp+40]
    002b9fc0mov x3, x30
    002b9fc4bl runtime.morestack_noctxt.abi0
    002b9fc8ldp x0, x1, [sp+8]
    002b9fccldp x2, x3, [sp+24]
    002b9fd0ldr x4, [sp+40]
    002b9fd4b 0x2b9e90
    002b9fd8udf 0
    002b9fdcudf 0
    002b9e90
    002b9fe0
    002b9fe0crypto/ecdsa.signLegacy: ; void crypto/ecdsa.signLegacy(crypto/ecdsa.PrivateKey * priv, io.Reader csprng, struct []uint8 hash)
    002b9fe0ldr x16, [x28+16]
    002b9fe4sub x17, sp, 400
    002b9fe8subs xzr, x17, x16
    002b9fecb.ls 0x2ba638
    002b9ff0sub x20, sp, 528
    002b9ff4stp x29, x30, [x20-8]
    002b9ff8add sp, x20, 0
    002b9ffcsub x29, sp, 8
    002ba000str x0, [sp+536]
    002ba004str x1, [sp+544]
    002ba008str x2, [sp+552]
    002ba00cstr x3, [sp+560]
    002ba010str x4, [sp+568]
    002ba014str x5, [sp+576]
    002ba018str xzr, [sp+152]
    002ba01cstp xzr, xzr, [sp+160]
    002ba020stp xzr, xzr, [sp+224]
    002ba024adrp x27, 0x791000
    002ba028ldrb w2, [x27+1551]
    002ba02ctbnz w2, 0, 0x2ba034
    002ba030b 0x2ba07c
    002ba034
    002ba034loc_2ba034:
    002ba034adrp x0, 0x414000
    002ba038add x0, x0, 2659
    002ba03cmovz x1, 71
    002ba040bl errors.New
    002ba044str x0, [sp+416]
    002ba048str x1, [sp+424]
    002ba04cstr xzr, [sp+152]
    002ba050stp xzr, xzr, [sp+160]
    002ba054ldr x3, [sp+416]
    002ba058ldr x4, [sp+424]
    002ba05cstr x3, [sp+224]
    002ba060str x4, [sp+232]
    002ba064ldr x0, [sp+152]
    002ba068ldr x1, [sp+160]
    002ba06cldr x2, [sp+168]
    002ba070ldp x29, x30, [sp-8]
    002ba074add sp, sp, 528
    002ba078ret x30
    002ba07c
    002ba07cloc_2ba07c:
    002ba07cldr x1, [sp+536]
    002ba080ldrsb x27, [x1]
    002ba084ldr x2, [x1]
    002ba088ldr x1, [x1+8]
    002ba08cstr x2, [sp+248]
    002ba090str x1, [sp+256]
    002ba094adrp x0, 0x343000
    002ba098add x0, x0, 2240
    002ba09cbl runtime.newobject
    002ba0a0str x0, [sp+512]
    002ba0a4stp xzr, xzr, [x0]
    002ba0a8stp xzr, xzr, [x0+16]
    002ba0acldr x1, [sp+512]
    002ba0b0ldrsb x27, [x1]
    002ba0b4b 0x2ba0b8
    002ba0b8
    002ba0b8loc_2ba0b8:
    002ba0b8str x1, [sp+392]
    002ba0bcorr x5, xzr, 32
    002ba0c0str x5, [sp+400]
    002ba0c4str x5, [sp+408]
    002ba0c8stp xzr, xzr, [sp+416]
    002ba0ccldr x0, [sp+544]
    002ba0d0ldr x1, [sp+552]
    002ba0d4ldr x2, [sp+392]
    002ba0d8ldr x3, [sp+400]
    002ba0dcldr x4, [sp+408]
    002ba0e0bl io.ReadFull
    002ba0e4str x0, [sp+144]
    002ba0e8str x1, [sp+416]
    002ba0ecstr x2, [sp+424]
    002ba0f0ldr x5, [sp+144]
    002ba0f4str x5, [sp+88]
    002ba0f8str x1, [sp+272]
    002ba0fcstr x2, [sp+280]
    002ba100str x1, [sp+208]
    002ba104str x2, [sp+216]
    002ba108cbnz x1, 0x2ba110
    002ba10cb 0x2ba140
    002ba110
    002ba110loc_2ba110:
    002ba110str xzr, [sp+152]
    002ba114stp xzr, xzr, [sp+160]
    002ba118ldr x3, [sp+208]
    002ba11cldr x4, [sp+216]
    002ba120str x3, [sp+224]
    002ba124str x4, [sp+232]
    002ba128ldr x0, [sp+152]
    002ba12cldr x1, [sp+160]
    002ba130ldr x2, [sp+168]
    002ba134ldp x29, x30, [sp-8]
    002ba138add sp, sp, 528
    002ba13cret x30
    002ba140
    002ba140loc_2ba140:
    002ba140ldr x1, [sp+536]
    002ba144ldrsb x27, [x1]
    002ba148ldr x0, [x1+32]
    002ba14cstr x0, [sp+296]
    002ba150bl math/big.(*Int).Bytes
    002ba154str x0, [sp+392]
    002ba158str x1, [sp+400]
    002ba15cstr x2, [sp+408]
    002ba160str x0, [sp+368]
    002ba164str x1, [sp+376]
    002ba168str x2, [sp+384]
    002ba16cstr xzr, [sp+136]
    002ba170str x1, [sp+128]
    002ba174b 0x2ba178
    002ba178
    002ba178loc_2ba178:
    002ba178ldr x2, [sp+128]
    002ba17cldr x3, [sp+136]
    002ba180subs xzr, x2, x3
    002ba184b.gt 0x2ba18c
    002ba188b 0x2ba200
    002ba18c
    002ba18cloc_2ba18c:
    002ba18cldr x2, [sp+136]
    002ba190str x2, [sp+80]
    002ba194ldr x2, [sp+136]
    002ba198ldr x3, [sp+368]
    002ba19cldrb w2, [x3+x2]
    002ba1a0strb w2, [sp+71]
    002ba1a4ldr x2, [sp+80]
    002ba1a8sbfm x3, x2, 63, 63
    002ba1acadd x3, x2, x3, lsr #59
    002ba1b0and x3, x3, -32
    002ba1b4sub x0, x2, x3
    002ba1b8str x0, [sp+120]
    002ba1bcldr x2, [sp+512]
    002ba1c0subs xzr, x0, 32
    002ba1c4b.lo 0x2ba1cc
    002ba1c8b 0x2ba62c
    002ba1cc
    002ba1ccloc_2ba1cc:
    002ba1ccldrb w2, [x2+x0]
    002ba1d0ldr x3, [sp+512]
    002ba1d4ldrb w4, [sp+71]
    002ba1d8eor x2, x2, x4
    002ba1dcsubs xzr, x0, 32
    002ba1e0b.lo 0x2ba1e8
    002ba1e4b 0x2ba624
    002ba1e8
    002ba1e8loc_2ba1e8:
    002ba1e8strb w2, [x3+x0]
    002ba1ecb 0x2ba1f0
    002ba1f0
    002ba1f0loc_2ba1f0:
    002ba1f0ldr x2, [sp+136]
    002ba1f4add x2, x2, 1
    002ba1f8str x2, [sp+136]
    002ba1fcb 0x2ba178
    002ba200
    002ba200loc_2ba200:
    002ba200ldr x2, [sp+568]
    002ba204ldr x3, [sp+560]
    002ba208ldr x4, [sp+576]
    002ba20cstr x3, [sp+368]
    002ba210str x2, [sp+376]
    002ba214str x4, [sp+384]
    002ba218str xzr, [sp+112]
    002ba21cstr x2, [sp+104]
    002ba220b 0x2ba224
    002ba224
    002ba224loc_2ba224:
    002ba224ldr x2, [sp+104]
    002ba228ldr x3, [sp+112]
    002ba22csubs xzr, x2, x3
    002ba230b.gt 0x2ba238
    002ba234b 0x2ba2ac
    002ba238
    002ba238loc_2ba238:
    002ba238ldr x2, [sp+112]
    002ba23cstr x2, [sp+72]
    002ba240ldr x2, [sp+112]
    002ba244ldr x3, [sp+368]
    002ba248ldrb w2, [x3+x2]
    002ba24cstrb w2, [sp+70]
    002ba250ldr x2, [sp+72]
    002ba254sbfm x3, x2, 63, 63
    002ba258add x3, x2, x3, lsr #59
    002ba25cand x3, x3, -32
    002ba260sub x0, x2, x3
    002ba264str x0, [sp+96]
    002ba268ldr x2, [sp+512]
    002ba26csubs xzr, x0, 32
    002ba270b.lo 0x2ba278
    002ba274b 0x2ba61c
    002ba278
    002ba278loc_2ba278:
    002ba278ldrb w2, [x2+x0]
    002ba27cldr x3, [sp+512]
    002ba280ldrb w4, [sp+70]
    002ba284eor x2, x2, x4
    002ba288subs xzr, x0, 32
    002ba28cb.lo 0x2ba294
    002ba290b 0x2ba614
    002ba294
    002ba294loc_2ba294:
    002ba294strb w2, [x3+x0]
    002ba298b 0x2ba29c
    002ba29c
    002ba29cloc_2ba29c:
    002ba29cldr x2, [sp+112]
    002ba2a0add x2, x2, 1
    002ba2a4str x2, [sp+112]
    002ba2a8b 0x2ba224
    002ba2ac
    002ba2acloc_2ba2ac:
    002ba2acldr x0, [sp+512]
    002ba2b0ldp x1, x2, [x0]
    002ba2b4ldp x0, x3, [x0+16]
    002ba2b8stp x1, x2, [sp+8]
    002ba2bcstp x0, x3, [sp+24]
    002ba2c0bl math/rand/v2.NewChaCha8
    002ba2c4str x0, [sp+360]
    002ba2c8str x0, [sp+352]
    002ba2ccadrp x1, 0x45c000
    002ba2d0add x1, x1, 736
    002ba2d4str x1, [sp+544]
    002ba2d8str x0, [sp+552]
    002ba2dcldr x0, [sp+248]
    002ba2e0ldrsb x27, [x0]
    002ba2e4ldr x0, [x0+48]
    002ba2e8ldr x1, [sp+256]
    002ba2ecmov x2, x0
    002ba2f0mov x0, x1
    002ba2f4blr x2
    002ba2f8str x0, [sp+344]
    002ba2fcldrsb x27, [x0]
    002ba300ldr x0, [x0+8]
    002ba304str x0, [sp+264]
    002ba308bl math/big.(*Int).Sign
    002ba30cstr x0, [sp+144]
    002ba310cbz x0, 0x2ba318
    002ba314b 0x2ba350
    002ba318
    002ba318loc_2ba318:
    002ba318str xzr, [sp+152]
    002ba31cstp xzr, xzr, [sp+160]
    002ba320adrp x27, 0x767000
    002ba324ldr x3, [x27+3984]
    002ba328adrp x27, 0x767000
    002ba32cldr x4, [x27+3992]
    002ba330str x3, [sp+224]
    002ba334str x4, [sp+232]
    002ba338ldr x0, [sp+152]
    002ba33cldr x1, [sp+160]
    002ba340ldr x2, [sp+168]
    002ba344ldp x29, x30, [sp-8]
    002ba348add sp, sp, 528
    002ba34cret x30
    002ba350
    002ba350loc_2ba350:
    002ba350str xzr, [sp+200]
    002ba354str xzr, [sp+192]
    002ba358str xzr, [sp+184]
    002ba35cstr xzr, [sp+176]
    002ba360b 0x2ba364
    002ba364
    002ba364loc_2ba364:
    002ba364b 0x2ba368
    002ba368
    002ba368loc_2ba368:
    002ba368b 0x2ba36c
    002ba36c
    002ba36cloc_2ba36c:
    002ba36cb 0x2ba370
    002ba370
    002ba370loc_2ba370:
    002ba370str xzr, [sp+336]
    002ba374stp xzr, xzr, [sp+416]
    002ba378ldr x0, [sp+248]
    002ba37cldr x2, [sp+544]
    002ba380ldr x1, [sp+256]
    002ba384ldr x3, [sp+552]
    002ba388bl crypto/ecdsa.randFieldElement
    002ba38cstr x0, [sp+336]
    002ba390str x1, [sp+416]
    002ba394str x2, [sp+424]
    002ba398ldr x4, [sp+336]
    002ba39cstr x4, [sp+504]
    002ba3a0ldr x4, [sp+424]
    002ba3a4ldr x5, [sp+416]
    002ba3a8str x5, [sp+488]
    002ba3acstr x4, [sp+496]
    002ba3b0ldr x4, [sp+504]
    002ba3b4str x4, [sp+200]
    002ba3b8ldr x4, [sp+496]
    002ba3bcldr x5, [sp+488]
    002ba3c0str x5, [sp+224]
    002ba3c4str x4, [sp+232]
    002ba3c8cbnz x5, 0x2ba3d0
    002ba3ccb 0x2ba3f8
    002ba3d0
    002ba3d0loc_2ba3d0:
    002ba3d0str xzr, [sp+152]
    002ba3d4stp xzr, xzr, [sp+160]
    002ba3d8ldr x3, [sp+224]
    002ba3dcldr x4, [sp+232]
    002ba3e0mov x0, xzr
    002ba3e4mov x1, xzr
    002ba3e8mov x2, x1
    002ba3ecldp x29, x30, [sp-8]
    002ba3f0add sp, sp, 528
    002ba3f4ret x30
    002ba3f8
    002ba3f8loc_2ba3f8:
    002ba3f8adrp x0, 0x38b000
    002ba3fcadd x0, x0, 1024
    002ba400bl runtime.newobject
    002ba404str x0, [sp+336]
    002ba408ldr x1, [sp+200]
    002ba40cldr x2, [sp+264]
    002ba410bl math/big.(*Int).ModInverse
    002ba414str x0, [sp+192]
    002ba418ldr x0, [sp+200]
    002ba41cbl math/big.(*Int).Bytes
    002ba420str x0, [sp+368]
    002ba424str x1, [sp+376]
    002ba428str x2, [sp+384]
    002ba42cstr xzr, [sp+336]
    002ba430str xzr, [sp+328]
    002ba434ldr x1, [sp+248]
    002ba438ldrsb x27, [x1]
    002ba43cldr x0, [sp+256]
    002ba440ldr x1, [x1+56]
    002ba444ldr x2, [sp+368]
    002ba448ldr x3, [sp+376]
    002ba44cldr x4, [sp+384]
    002ba450mov x5, x1
    002ba454mov x1, x2
    002ba458mov x2, x3
    002ba45cmov x3, x4
    002ba460blr x5
    002ba464str x0, [sp+336]
    002ba468str x1, [sp+328]
    002ba46cldr x1, [sp+336]
    002ba470str x1, [sp+480]
    002ba474ldr x1, [sp+328]
    002ba478str x1, [sp+472]
    002ba47cldr x1, [sp+480]
    002ba480str x1, [sp+184]
    002ba484ldr x2, [sp+264]
    002ba488mov x0, x1
    002ba48cbl math/big.(*Int).Mod
    002ba490ldr x0, [sp+184]
    002ba494bl math/big.(*Int).Sign
    002ba498str x0, [sp+144]
    002ba49ccbnz x0, 0x2ba4a4
    002ba4a0b 0x2ba60c
    002ba4a4
    002ba4a4loc_2ba4a4:
    002ba4a4b 0x2ba4a8
    002ba4a8
    002ba4a8loc_2ba4a8:
    002ba4a8ldr x3, [sp+248]
    002ba4acldr x0, [sp+560]
    002ba4b0ldr x1, [sp+568]
    002ba4b4ldr x4, [sp+256]
    002ba4b8ldr x2, [sp+576]
    002ba4bcbl crypto/ecdsa.hashToInt
    002ba4c0str x0, [sp+240]
    002ba4c4adrp x0, 0x38b000
    002ba4c8add x0, x0, 1024
    002ba4ccbl runtime.newobject
    002ba4d0str x0, [sp+328]
    002ba4d4ldr x5, [sp+536]
    002ba4d8ldrsb x27, [x5]
    002ba4dcldr x1, [x5+32]
    002ba4e0str x1, [sp+288]
    002ba4e4ldr x2, [sp+184]
    002ba4e8ldr x0, [sp+328]
    002ba4ecbl math/big.(*Int).Mul
    002ba4f0str x0, [sp+176]
    002ba4f4ldr x2, [sp+240]
    002ba4f8mov x1, x0
    002ba4fcbl math/big.(*Int).Add
    002ba500ldr x1, [sp+176]
    002ba504ldr x2, [sp+192]
    002ba508ldr x0, [sp+176]
    002ba50cbl math/big.(*Int).Mul
    002ba510ldr x1, [sp+176]
    002ba514ldr x2, [sp+264]
    002ba518ldr x0, [sp+176]
    002ba51cbl math/big.(*Int).Mod
    002ba520ldr x0, [sp+176]
    002ba524bl math/big.(*Int).Sign
    002ba528str x0, [sp+144]
    002ba52ccbnz x0, 0x2ba534
    002ba530b 0x2ba604
    002ba534
    002ba534loc_2ba534:
    002ba534b 0x2ba538
    002ba538
    002ba538loc_2ba538:
    002ba538ldr x0, [sp+184]
    002ba53cbl math/big.(*Int).Bytes
    002ba540str x0, [sp+368]
    002ba544str x1, [sp+376]
    002ba548str x2, [sp+384]
    002ba54cldr x0, [sp+176]
    002ba550bl math/big.(*Int).Bytes
    002ba554str x0, [sp+392]
    002ba558str x1, [sp+400]
    002ba55cstr x2, [sp+408]
    002ba560str xzr, [sp+304]
    002ba564stp xzr, xzr, [sp+312]
    002ba568stp xzr, xzr, [sp+416]
    002ba56cldr x3, [sp+392]
    002ba570ldr x4, [sp+400]
    002ba574ldr x5, [sp+408]
    002ba578ldr x0, [sp+368]
    002ba57cldr x1, [sp+376]
    002ba580ldr x2, [sp+384]
    002ba584bl crypto/ecdsa.encodeSignature
    002ba588str x0, [sp+304]
    002ba58cstr x1, [sp+312]
    002ba590str x2, [sp+320]
    002ba594str x3, [sp+416]
    002ba598str x4, [sp+424]
    002ba59cldr x1, [sp+304]
    002ba5a0ldr x2, [sp+312]
    002ba5a4ldr x3, [sp+320]
    002ba5a8str x1, [sp+448]
    002ba5acstr x2, [sp+456]
    002ba5b0str x3, [sp+464]
    002ba5b4ldr x1, [sp+416]
    002ba5b8ldr x2, [sp+424]
    002ba5bcstr x1, [sp+432]
    002ba5c0str x2, [sp+440]
    002ba5c4ldr x1, [sp+448]
    002ba5c8ldr x2, [sp+456]
    002ba5ccldr x3, [sp+464]
    002ba5d0str x1, [sp+152]
    002ba5d4str x2, [sp+160]
    002ba5d8str x3, [sp+168]
    002ba5dcldr x3, [sp+432]
    002ba5e0ldr x4, [sp+440]
    002ba5e4str x3, [sp+224]
    002ba5e8str x4, [sp+232]
    002ba5ecldr x0, [sp+152]
    002ba5f0ldr x1, [sp+160]
    002ba5f4ldr x2, [sp+168]
    002ba5f8ldp x29, x30, [sp-8]
    002ba5fcadd sp, sp, 528
    002ba600ret x30
    002ba604
    002ba604loc_2ba604:
    002ba604b 0x2ba608
    002ba608
    002ba608loc_2ba608:
    002ba608b 0x2ba364
    002ba60c
    002ba60cloc_2ba60c:
    002ba60cb 0x2ba610
    002ba610
    002ba610loc_2ba610:
    002ba610b 0x2ba36c
    002ba614
    002ba614loc_2ba614:
    002ba614orr x1, xzr, 32
    002ba618bl runtime.panicIndex
    002ba61c
    002ba61cloc_2ba61c:
    002ba61corr x1, xzr, 32
    002ba620bl runtime.panicIndex
    002ba624
    002ba624loc_2ba624:
    002ba624orr x1, xzr, 32
    002ba628bl runtime.panicIndex
    002ba62c
    002ba62cloc_2ba62c:
    002ba62corr x1, xzr, 32
    002ba630bl runtime.panicIndex
    002ba634hint
    002ba638
    002ba638loc_2ba638:
    002ba638stp x0, x1, [sp+8]
    002ba63cstp x2, x3, [sp+24]
    002ba640stp x4, x5, [sp+40]
    002ba644mov x3, x30
    002ba648bl runtime.morestack_noctxt.abi0
    002ba64cldp x0, x1, [sp+8]
    002ba650ldp x2, x3, [sp+24]
    002ba654ldp x4, x5, [sp+40]
    002ba658b 0x2b9fe0
    002ba65cudf 0
    002b9fe0
    002ba660
    002ba660crypto/ecdsa.Verify: ; void crypto/ecdsa.Verify(crypto/ecdsa.PublicKey * pub, struct []uint8 hash, math/big.Int * r, math/big.Int * s)
    002ba660ldr x16, [x28+16]
    002ba664sub x17, sp, 144
    002ba668subs xzr, x17, x16
    002ba66cb.ls 0x2ba800
    002ba670sub x20, sp, 272
    002ba674stp x29, x30, [x20-8]
    002ba678add sp, x20, 0
    002ba67csub x29, sp, 8
    002ba680str x0, [sp+280]
    002ba684str x1, [sp+288]
    002ba688str x2, [sp+296]
    002ba68cstr x3, [sp+304]
    002ba690str x4, [sp+312]
    002ba694str x5, [sp+320]
    002ba698strb wzr, [sp+78]
    002ba69cldr x0, [sp+312]
    002ba6a0bl math/big.(*Int).Sign
    002ba6a4str x0, [sp+88]
    002ba6a8subs xzr, x0, 0
    002ba6accset x1, le
    002ba6b0strb w1, [sp+79]
    002ba6b4b.le 0x2ba6bc
    002ba6b8b 0x2ba6c0
    002ba6bc
    002ba6bcloc_2ba6bc:
    002ba6bcb 0x2ba6dc
    002ba6c0
    002ba6c0loc_2ba6c0:
    002ba6c0ldr x0, [sp+320]
    002ba6c4bl math/big.(*Int).Sign
    002ba6c8str x0, [sp+80]
    002ba6ccsubs xzr, x0, 0
    002ba6d0cset x1, le
    002ba6d4strb w1, [sp+79]
    002ba6d8b 0x2ba6dc
    002ba6dc
    002ba6dcloc_2ba6dc:
    002ba6dcldrb w1, [sp+79]
    002ba6e0tbnz w1, 0, 0x2ba6e8
    002ba6e4b 0x2ba6fc
    002ba6e8
    002ba6e8loc_2ba6e8:
    002ba6e8strb wzr, [sp+78]
    002ba6ecmov x0, xzr
    002ba6f0ldp x29, x30, [sp-8]
    002ba6f4add sp, sp, 272
    002ba6f8ret x30
    002ba6fc
    002ba6fcloc_2ba6fc:
    002ba6fcldr x0, [sp+312]
    002ba700bl math/big.(*Int).Bytes
    002ba704str x0, [sp+240]
    002ba708str x1, [sp+248]
    002ba70cstr x2, [sp+256]
    002ba710ldr x0, [sp+320]
    002ba714bl math/big.(*Int).Bytes
    002ba718str x0, [sp+216]
    002ba71cstr x1, [sp+224]
    002ba720str x2, [sp+232]
    002ba724str xzr, [sp+192]
    002ba728stp xzr, xzr, [sp+200]
    002ba72cstp xzr, xzr, [sp+176]
    002ba730ldr x0, [sp+240]
    002ba734ldr x1, [sp+248]
    002ba738ldr x2, [sp+256]
    002ba73cldr x3, [sp+216]
    002ba740ldr x4, [sp+224]
    002ba744ldr x5, [sp+232]
    002ba748bl crypto/ecdsa.encodeSignature
    002ba74cstr x0, [sp+192]
    002ba750str x1, [sp+200]
    002ba754str x2, [sp+208]
    002ba758str x3, [sp+176]
    002ba75cstr x4, [sp+184]
    002ba760ldr x1, [sp+192]
    002ba764ldr x2, [sp+200]
    002ba768ldr x3, [sp+208]
    002ba76cstr x1, [sp+152]
    002ba770str x2, [sp+160]
    002ba774str x3, [sp+168]
    002ba778ldr x1, [sp+176]
    002ba77cldr x2, [sp+184]
    002ba780str x1, [sp+136]
    002ba784str x2, [sp+144]
    002ba788ldr x1, [sp+152]
    002ba78cldr x2, [sp+160]
    002ba790ldr x3, [sp+168]
    002ba794str x1, [sp+96]
    002ba798str x2, [sp+104]
    002ba79cstr x3, [sp+112]
    002ba7a0ldr x1, [sp+144]
    002ba7a4ldr x2, [sp+136]
    002ba7a8str x2, [sp+120]
    002ba7acstr x1, [sp+128]
    002ba7b0cbnz x2, 0x2ba7b8
    002ba7b4b 0x2ba7cc
    002ba7b8
    002ba7b8loc_2ba7b8:
    002ba7b8strb wzr, [sp+78]
    002ba7bcmov x0, xzr
    002ba7c0ldp x29, x30, [sp-8]
    002ba7c4add sp, sp, 272
    002ba7c8ret x30
    002ba7cc
    002ba7ccloc_2ba7cc:
    002ba7ccldr x1, [sp+288]
    002ba7d0ldr x4, [sp+96]
    002ba7d4ldr x2, [sp+296]
    002ba7d8ldr x5, [sp+104]
    002ba7dcldr x3, [sp+304]
    002ba7e0ldr x6, [sp+112]
    002ba7e4ldr x0, [sp+280]
    002ba7e8bl crypto/ecdsa.VerifyASN1
    002ba7ecstrb w0, [sp+79]
    002ba7f0strb w0, [sp+78]
    002ba7f4ldp x29, x30, [sp-8]
    002ba7f8add sp, sp, 272
    002ba7fcret x30
    002ba800
    002ba800loc_2ba800:
    002ba800stp x0, x1, [sp+8]
    002ba804stp x2, x3, [sp+24]
    002ba808stp x4, x5, [sp+40]
    002ba80cmov x3, x30
    002ba810bl runtime.morestack_noctxt.abi0
    002ba814ldp x0, x1, [sp+8]
    002ba818ldp x2, x3, [sp+24]
    002ba81cldp x4, x5, [sp+40]
    002ba820b 0x2ba660
    002ba824udf 0
    002ba828udf 0
    002ba82cudf 0
    002ba660
    002ba830
    002ba830crypto/ecdsa.verifyLegacy: ; void crypto/ecdsa.verifyLegacy(crypto/ecdsa.PublicKey * pub, struct []uint8 hash, struct []uint8 sig)
    002ba830ldr x16, [x28+16]
    002ba834sub x17, sp, 480
    002ba838subs xzr, x17, x16
    002ba83cb.ls 0x2bad40
    002ba840sub x20, sp, 608
    002ba844stp x29, x30, [x20-8]
    002ba848add sp, x20, 0
    002ba84csub x29, sp, 8
    002ba850str x0, [sp+616]
    002ba854str x1, [sp+624]
    002ba858str x2, [sp+632]
    002ba85cstr x3, [sp+640]
    002ba860str x4, [sp+648]
    002ba864str x5, [sp+656]
    002ba868str x6, [sp+664]
    002ba86cstrb wzr, [sp+70]
    002ba870adrp x27, 0x791000
    002ba874ldrb w3, [x27+1551]
    002ba878tbnz w3, 0, 0x2bad28
    002ba87cb 0x2ba880
    002ba880
    002ba880loc_2ba880:
    002ba880str xzr, [sp+528]
    002ba884add x27, sp, 536
    002ba888stp xzr, xzr, [x27]
    002ba88cstr xzr, [sp+504]
    002ba890add x27, sp, 512
    002ba894stp xzr, xzr, [x27]
    002ba898stp xzr, xzr, [sp+488]
    002ba89cldr x0, [sp+648]
    002ba8a0ldr x1, [sp+656]
    002ba8a4ldr x2, [sp+664]
    002ba8a8bl crypto/ecdsa.parseSignature
    002ba8acstr x0, [sp+528]
    002ba8b0str x1, [sp+536]
    002ba8b4str x2, [sp+544]
    002ba8b8str x3, [sp+504]
    002ba8bcstr x4, [sp+512]
    002ba8c0str x5, [sp+520]
    002ba8c4str x6, [sp+488]
    002ba8c8str x7, [sp+496]
    002ba8ccldr x3, [sp+536]
    002ba8d0ldr x4, [sp+544]
    002ba8d4ldr x5, [sp+528]
    002ba8d8str x5, [sp+312]
    002ba8dcstr x3, [sp+320]
    002ba8e0str x4, [sp+328]
    002ba8e4ldr x3, [sp+504]
    002ba8e8ldr x4, [sp+512]
    002ba8ecldr x5, [sp+520]
    002ba8f0str x3, [sp+288]
    002ba8f4str x4, [sp+296]
    002ba8f8str x5, [sp+304]
    002ba8fcldr x3, [sp+488]
    002ba900ldr x4, [sp+496]
    002ba904str x3, [sp+272]
    002ba908str x4, [sp+280]
    002ba90cldr x3, [sp+312]
    002ba910ldr x4, [sp+320]
    002ba914ldr x5, [sp+328]
    002ba918str x3, [sp+192]
    002ba91cstr x4, [sp+200]
    002ba920str x5, [sp+208]
    002ba924ldr x3, [sp+288]
    002ba928ldr x4, [sp+296]
    002ba92cldr x5, [sp+304]
    002ba930str x3, [sp+160]
    002ba934str x4, [sp+168]
    002ba938str x5, [sp+176]
    002ba93cldr x3, [sp+280]
    002ba940ldr x4, [sp+272]
    002ba944str x4, [sp+224]
    002ba948str x3, [sp+232]
    002ba94ccbnz x4, 0x2ba954
    002ba950b 0x2ba968
    002ba954
    002ba954loc_2ba954:
    002ba954strb wzr, [sp+70]
    002ba958mov x0, xzr
    002ba95cldp x29, x30, [sp-8]
    002ba960add sp, sp, 608
    002ba964ret x30
    002ba968
    002ba968loc_2ba968:
    002ba968strb wzr, [sp+416]
    002ba96cstr xzr, [sp+424]
    002ba970stp xzr, xzr, [sp+432]
    002ba974add x0, sp, 416
    002ba978str x0, [sp+480]
    002ba97cldr x2, [sp+200]
    002ba980ldr x3, [sp+208]
    002ba984ldr x1, [sp+192]
    002ba988bl math/big.(*Int).SetBytes
    002ba98cstr x0, [sp+472]
    002ba990strb wzr, [sp+384]
    002ba994str xzr, [sp+392]
    002ba998stp xzr, xzr, [sp+400]
    002ba99cadd x0, sp, 384
    002ba9a0str x0, [sp+464]
    002ba9a4ldr x1, [sp+160]
    002ba9a8ldr x2, [sp+168]
    002ba9acldr x3, [sp+176]
    002ba9b0bl math/big.(*Int).SetBytes
    002ba9b4str x0, [sp+456]
    002ba9b8ldr x4, [sp+472]
    002ba9bcstr x4, [sp+216]
    002ba9c0ldr x4, [sp+456]
    002ba9c4str x4, [sp+184]
    002ba9c8ldr x4, [sp+616]
    002ba9ccldrsb x27, [x4]
    002ba9d0ldr x5, [x4]
    002ba9d4ldr x0, [x4+8]
    002ba9d8str x5, [sp+248]
    002ba9dcstr x0, [sp+256]
    002ba9e0ldrsb x27, [x5]
    002ba9e4ldr x4, [x5+48]
    002ba9e8blr x4
    002ba9ecstr x0, [sp+448]
    002ba9f0ldrsb x27, [x0]
    002ba9f4ldr x4, [x0+8]
    002ba9f8str x4, [sp+264]
    002ba9fcldr x0, [sp+216]
    002baa00bl math/big.(*Int).Sign
    002baa04str x0, [sp+80]
    002baa08subs xzr, x0, 0
    002baa0ccset x4, le
    002baa10strb w4, [sp+71]
    002baa14b.le 0x2baa1c
    002baa18b 0x2baa20
    002baa1c
    002baa1cloc_2baa1c:
    002baa1cb 0x2baa3c
    002baa20
    002baa20loc_2baa20:
    002baa20ldr x0, [sp+184]
    002baa24bl math/big.(*Int).Sign
    002baa28str x0, [sp+72]
    002baa2csubs xzr, x0, 0
    002baa30cset x1, le
    002baa34strb w1, [sp+71]
    002baa38b 0x2baa3c
    002baa3c
    002baa3cloc_2baa3c:
    002baa3cldrb w2, [sp+71]
    002baa40tbnz w2, 0, 0x2baa48
    002baa44b 0x2baa5c
    002baa48
    002baa48loc_2baa48:
    002baa48strb wzr, [sp+70]
    002baa4cmov x0, xzr
    002baa50ldp x29, x30, [sp-8]
    002baa54add sp, sp, 608
    002baa58ret x30
    002baa5c
    002baa5cloc_2baa5c:
    002baa5cldr x1, [sp+264]
    002baa60ldr x0, [sp+216]
    002baa64bl math/big.(*Int).Cmp
    002baa68str x0, [sp+80]
    002baa6csubs xzr, x0, 0
    002baa70cset x2, ge
    002baa74strb w2, [sp+71]
    002baa78tbz x0, 63, 0x2baa80
    002baa7cb 0x2baa84
    002baa80
    002baa80loc_2baa80:
    002baa80b 0x2baaa4
    002baa84
    002baa84loc_2baa84:
    002baa84ldr x0, [sp+184]
    002baa88ldr x1, [sp+264]
    002baa8cbl math/big.(*Int).Cmp
    002baa90str x0, [sp+72]
    002baa94subs xzr, x0, 0
    002baa98cset x2, ge
    002baa9cstrb w2, [sp+71]
    002baaa0b 0x2baaa4
    002baaa4
    002baaa4loc_2baaa4:
    002baaa4ldrb w5, [sp+71]
    002baaa8tbnz w5, 0, 0x2baab0
    002baaacb 0x2baac4
    002baab0
    002baab0loc_2baab0:
    002baab0strb wzr, [sp+70]
    002baab4mov x0, xzr
    002baab8ldp x29, x30, [sp-8]
    002baabcadd sp, sp, 608
    002baac0ret x30
    002baac4
    002baac4loc_2baac4:
    002baac4ldr x3, [sp+248]
    002baac8ldr x0, [sp+624]
    002baaccldr x1, [sp+632]
    002baad0ldr x4, [sp+256]
    002baad4ldr x2, [sp+640]
    002baad8bl crypto/ecdsa.hashToInt
    002baadcstr x0, [sp+240]
    002baae0strb wzr, [sp+352]
    002baae4str xzr, [sp+360]
    002baae8stp xzr, xzr, [sp+368]
    002baaecadd x0, sp, 352
    002baaf0str x0, [sp+456]
    002baaf4ldr x1, [sp+184]
    002baaf8ldr x2, [sp+264]
    002baafcbl math/big.(*Int).ModInverse
    002bab00str x0, [sp+136]
    002bab04ldr x1, [sp+240]
    002bab08ldr x5, [sp+240]
    002bab0cmov x2, x0
    002bab10mov x0, x5
    002bab14bl math/big.(*Int).Mul
    002bab18str x0, [sp+152]
    002bab1cldr x2, [sp+264]
    002bab20mov x1, x0
    002bab24bl math/big.(*Int).Mod
    002bab28ldr x1, [sp+216]
    002bab2cldr x2, [sp+136]
    002bab30ldr x0, [sp+136]
    002bab34bl math/big.(*Int).Mul
    002bab38str x0, [sp+144]
    002bab3cldr x2, [sp+264]
    002bab40mov x1, x0
    002bab44bl math/big.(*Int).Mod
    002bab48ldr x0, [sp+152]
    002bab4cbl math/big.(*Int).Bytes
    002bab50str x0, [sp+504]
    002bab54str x1, [sp+512]
    002bab58str x2, [sp+520]
    002bab5cstr xzr, [sp+456]
    002bab60str xzr, [sp+464]
    002bab64ldr x5, [sp+248]
    002bab68ldrsb x27, [x5]
    002bab6cldr x0, [sp+256]
    002bab70ldr x5, [x5+56]
    002bab74ldr x1, [sp+504]
    002bab78ldr x2, [sp+512]
    002bab7cldr x3, [sp+520]
    002bab80blr x5
    002bab84str x0, [sp+456]
    002bab88str x1, [sp+464]
    002bab8cldr x5, [sp+456]
    002bab90str x5, [sp+592]
    002bab94ldr x5, [sp+464]
    002bab98str x5, [sp+584]
    002bab9cldr x5, [sp+592]
    002baba0str x5, [sp+120]
    002baba4ldr x5, [sp+584]
    002baba8str x5, [sp+96]
    002babacldr x0, [sp+144]
    002babb0bl math/big.(*Int).Bytes
    002babb4str x0, [sp+504]
    002babb8str x1, [sp+512]
    002babbcstr x2, [sp+520]
    002babc0str xzr, [sp+464]
    002babc4str xzr, [sp+456]
    002babc8ldr x5, [sp+616]
    002babccldrsb x27, [x5]
    002babd0ldr x5, [x5+16]
    002babd4str x5, [sp+344]
    002babd8ldr x5, [sp+616]
    002babdcldrsb x27, [x5]
    002babe0ldr x2, [x5+24]
    002babe4str x2, [sp+336]
    002babe8ldr x5, [sp+248]
    002babecldrsb x27, [x5]
    002babf0ldr x0, [sp+256]
    002babf4ldr x5, [x5+64]
    002babf8ldr x3, [sp+504]
    002babfcldr x4, [sp+512]
    002bac00ldr x6, [sp+520]
    002bac04ldr x1, [sp+344]
    002bac08mov x7, x5
    002bac0cmov x5, x6
    002bac10blr x7
    002bac14str x0, [sp+464]
    002bac18str x1, [sp+456]
    002bac1cldr x5, [sp+464]
    002bac20str x5, [sp+576]
    002bac24ldr x5, [sp+456]
    002bac28str x5, [sp+568]
    002bac2cldr x5, [sp+576]
    002bac30str x5, [sp+112]
    002bac34ldr x5, [sp+568]
    002bac38str x5, [sp+88]
    002bac3cstr xzr, [sp+456]
    002bac40str xzr, [sp+464]
    002bac44ldr x1, [sp+120]
    002bac48ldr x2, [sp+96]
    002bac4cldr x3, [sp+112]
    002bac50ldr x4, [sp+88]
    002bac54ldr x5, [sp+248]
    002bac58ldrsb x27, [x5]
    002bac5cldr x5, [x5+24]
    002bac60ldr x0, [sp+256]
    002bac64blr x5
    002bac68str x0, [sp+456]
    002bac6cstr x1, [sp+464]
    002bac70ldr x5, [sp+456]
    002bac74str x5, [sp+560]
    002bac78ldr x5, [sp+464]
    002bac7cstr x5, [sp+552]
    002bac80ldr x5, [sp+560]
    002bac84str x5, [sp+128]
    002bac88ldr x5, [sp+552]
    002bac8cstr x5, [sp+104]
    002bac90ldr x0, [sp+128]
    002bac94bl math/big.(*Int).Sign
    002bac98str x0, [sp+80]
    002bac9csubs xzr, x0, 0
    002baca0cset x5, eq
    002baca4strb w5, [sp+71]
    002baca8cbz x0, 0x2bacb0
    002bacacb 0x2baccc
    002bacb0
    002bacb0loc_2bacb0:
    002bacb0ldr x0, [sp+104]
    002bacb4bl math/big.(*Int).Sign
    002bacb8str x0, [sp+72]
    002bacbcsubs xzr, x0, 0
    002bacc0cset x1, eq
    002bacc4strb w1, [sp+71]
    002bacc8b 0x2bacd0
    002baccc
    002bacccloc_2baccc:
    002bacccb 0x2bacd0
    002bacd0
    002bacd0loc_2bacd0:
    002bacd0ldrb w3, [sp+71]
    002bacd4tbnz w3, 0, 0x2bacdc
    002bacd8b 0x2bacf0
    002bacdc
    002bacdcloc_2bacdc:
    002bacdcstrb wzr, [sp+70]
    002bace0mov x0, xzr
    002bace4ldp x29, x30, [sp-8]
    002bace8add sp, sp, 608
    002bacecret x30
    002bacf0
    002bacf0loc_2bacf0:
    002bacf0ldr x1, [sp+128]
    002bacf4ldr x2, [sp+264]
    002bacf8ldr x0, [sp+128]
    002bacfcbl math/big.(*Int).Mod
    002bad00ldr x1, [sp+216]
    002bad04ldr x0, [sp+128]
    002bad08bl math/big.(*Int).Cmp
    002bad0cstr x0, [sp+80]
    002bad10subs xzr, x0, 0
    002bad14cset x0, eq
    002bad18strb w0, [sp+70]
    002bad1cldp x29, x30, [sp-8]
    002bad20add sp, sp, 608
    002bad24ret x30
    002bad28
    002bad28loc_2bad28:
    002bad28adrp x0, 0x33b000
    002bad2cadd x0, x0, 2944
    002bad30adrp x1, 0x458000
    002bad34add x1, x1, 1552
    002bad38bl runtime.gopanic
    002bad3chint
    002bad40
    002bad40loc_2bad40:
    002bad40stp x0, x1, [sp+8]
    002bad44stp x2, x3, [sp+24]
    002bad48stp x4, x5, [sp+40]
    002bad4cstr x6, [sp+56]
    002bad50mov x3, x30
    002bad54bl runtime.morestack_noctxt.abi0
    002bad58ldp x0, x1, [sp+8]
    002bad5cldp x2, x3, [sp+24]
    002bad60ldp x4, x5, [sp+40]
    002bad64ldr x6, [sp+56]
    002bad68b 0x2ba830
    002bad6cudf 0
    002ba830