File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    0058ac30
    0058ac30crypto/internal/fips140/ecdsa.hashToNat[go.shape.*crypto/internal/fips140/nistec.P384Point]: ; void crypto/internal/fips140/ecdsa.hashToNat[go.shape.*crypto/internal/fips140/nistec.P384Point](uintptr[1] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P384Point] * c, crypto/internal/fips140/bigmod.Nat * e, struct []uint8 hash)
    0058ac30ldr x16, [x28+16]
    0058ac34sub x17, sp, 48
    0058ac38subs xzr, x17, x16
    0058ac3cb.ls 0x58ad98
    0058ac40str x30, [sp-176]!
    0058ac44stur x29, [sp-8]
    0058ac48sub x29, sp, 8
    0058ac4cstr x0, [sp+184]
    0058ac50str x1, [sp+192]
    0058ac54str x2, [sp+200]
    0058ac58str x3, [sp+208]
    0058ac5cstr x4, [sp+216]
    0058ac60str x5, [sp+224]
    0058ac64ldr x1, [sp+192]
    0058ac68ldrsb x27, [x1]
    0058ac6cldr x0, [x1+32]
    0058ac70str x0, [sp+136]
    0058ac74bl crypto/internal/fips140/bigmod.(*Modulus).Size
    0058ac78str x0, [sp+48]
    0058ac7cldr x1, [sp+216]
    0058ac80str x1, [sp+64]
    0058ac84subs xzr, x0, x1
    0058ac88b.le 0x58ac90
    0058ac8cb 0x58ad08
    0058ac90
    0058ac90loc_58ac90:
    0058ac90ldr x2, [sp+224]
    0058ac94subs xzr, x0, x2
    0058ac98b.ls 0x58aca0
    0058ac9cb 0x58ad8c
    0058aca0
    0058aca0loc_58aca0:
    0058aca0b 0x58aca4
    0058aca4
    0058aca4loc_58aca4:
    0058aca4str x0, [sp+216]
    0058aca8str x0, [sp+64]
    0058acacldr x1, [sp+192]
    0058acb0ldrsb x27, [x1]
    0058acb4ldr x0, [x1+32]
    0058acb8str x0, [sp+128]
    0058acbcbl crypto/internal/fips140/bigmod.(*Modulus).BitLen
    0058acc0str x0, [sp+72]
    0058acc4ldr x1, [sp+64]
    0058acc8ubfm x1, x1, 61, 60
    0058acccsub x3, x1, x0
    0058acd0str x3, [sp+56]
    0058acd4subs xzr, x3, 0
    0058acd8b.gt 0x58ace0
    0058acdcb 0x58ad00
    0058ace0
    0058ace0loc_58ace0:
    0058ace0ldr x0, [sp+208]
    0058ace4ldr x1, [sp+216]
    0058ace8ldr x2, [sp+224]
    0058acecbl crypto/internal/fips140/ecdsa.rightShift
    0058acf0str x0, [sp+208]
    0058acf4str x1, [sp+216]
    0058acf8str x2, [sp+224]
    0058acfcb 0x58ad04
    0058ad00
    0058ad00loc_58ad00:
    0058ad00b 0x58ad04
    0058ad04
    0058ad04loc_58ad04:
    0058ad04b 0x58ad0c
    0058ad08
    0058ad08loc_58ad08:
    0058ad08b 0x58ad0c
    0058ad0c
    0058ad0cloc_58ad0c:
    0058ad0cstr xzr, [sp+160]
    0058ad10stp xzr, xzr, [sp+144]
    0058ad14ldr x5, [sp+192]
    0058ad18ldrsb x27, [x5]
    0058ad1cldr x4, [x5+32]
    0058ad20str x4, [sp+120]
    0058ad24ldr x1, [sp+208]
    0058ad28ldr x0, [sp+200]
    0058ad2cldr x2, [sp+216]
    0058ad30ldr x3, [sp+224]
    0058ad34bl crypto/internal/fips140/bigmod.(*Nat).SetOverflowingBytes
    0058ad38str x0, [sp+160]
    0058ad3cstr x1, [sp+144]
    0058ad40str x2, [sp+152]
    0058ad44ldr x5, [sp+160]
    0058ad48str x5, [sp+112]
    0058ad4cldr x5, [sp+152]
    0058ad50ldr x6, [sp+144]
    0058ad54str x6, [sp+96]
    0058ad58str x5, [sp+104]
    0058ad5cstr x6, [sp+80]
    0058ad60str x5, [sp+88]
    0058ad64cbnz x6, 0x58ad78
    0058ad68b 0x58ad6c
    0058ad6c
    0058ad6cloc_58ad6c:
    0058ad6cldur x29, [sp-8]
    0058ad70ldr x30, [sp], 176
    0058ad74ret x30
    0058ad78
    0058ad78loc_58ad78:
    0058ad78adrp x0, 0x6b000
    0058ad7cadd x0, x0, 2944
    0058ad80adrp x1, 0x188000
    0058ad84add x1, x1, 1584
    0058ad88bl runtime.gopanic
    0058ad8c
    0058ad8cloc_58ad8c:
    0058ad8cmov x1, x0
    0058ad90bl runtime.panicSliceAcap
    0058ad94hint
    0058ad98
    0058ad98loc_58ad98:
    0058ad98stp x0, x1, [sp+8]
    0058ad9cstp x2, x3, [sp+24]
    0058ada0stp x4, x5, [sp+40]
    0058ada4mov x3, x30
    0058ada8bl runtime.morestack_noctxt.abi0
    0058adacldp x0, x1, [sp+8]
    0058adb0ldp x2, x3, [sp+24]
    0058adb4ldp x4, x5, [sp+40]
    0058adb8b 0x58ac30
    0058adbcudf 0
    0058ac30
    0058adc0
    0058adc0crypto/internal/fips140/ecdsa.NewPublicKey[go.shape.*crypto/internal/fips140/nistec.P384Point]: ; void crypto/internal/fips140/ecdsa.NewPublicKey[go.shape.*crypto/internal/fips140/nistec.P384Point](uintptr[2] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P384Point] * c, struct []uint8 Q)
    0058adc0ldr x16, [x28+16]
    0058adc4sub x17, sp, 32
    0058adc8subs xzr, x17, x16
    0058adccb.ls 0x58af54
    0058add0str x30, [sp-160]!
    0058add4stur x29, [sp-8]
    0058add8sub x29, sp, 8
    0058addcstr x0, [sp+168]
    0058ade0str x1, [sp+176]
    0058ade4str x2, [sp+184]
    0058ade8str x3, [sp+192]
    0058adecstr x4, [sp+200]
    0058adf0str xzr, [sp+64]
    0058adf4stp xzr, xzr, [sp+48]
    0058adf8ldr x0, [sp+176]
    0058adfcldrsb x27, [x0]
    0058ae00ldr x26, [x0+16]
    0058ae04ldr x0, [x26]
    0058ae08blr x0
    0058ae0cstr x0, [sp+96]
    0058ae10str xzr, [sp+88]
    0058ae14stp xzr, xzr, [sp+136]
    0058ae18ldr x26, [sp+168]
    0058ae1cldrsb x27, [x26]
    0058ae20ldr x0, [x26]
    0058ae24ldr x1, [sp+184]
    0058ae28ldr x2, [sp+192]
    0058ae2cldr x3, [sp+200]
    0058ae30ldr x4, [sp+96]
    0058ae34mov x5, x0
    0058ae38mov x0, x4
    0058ae3cblr x5
    0058ae40str x0, [sp+88]
    0058ae44str x1, [sp+136]
    0058ae48str x2, [sp+144]
    0058ae4cldr x0, [sp+88]
    0058ae50str x0, [sp+120]
    0058ae54ldr x0, [sp+144]
    0058ae58ldr x1, [sp+136]
    0058ae5cstr x1, [sp+104]
    0058ae60str x0, [sp+112]
    0058ae64str x1, [sp+72]
    0058ae68str x0, [sp+80]
    0058ae6ccbnz x1, 0x58ae74
    0058ae70b 0x58ae98
    0058ae74
    0058ae74loc_58ae74:
    0058ae74str xzr, [sp+64]
    0058ae78ldr x1, [sp+72]
    0058ae7cldr x2, [sp+80]
    0058ae80str x1, [sp+48]
    0058ae84str x2, [sp+56]
    0058ae88ldr x0, [sp+64]
    0058ae8cldur x29, [sp-8]
    0058ae90ldr x30, [sp], 160
    0058ae94ret x30
    0058ae98
    0058ae98loc_58ae98:
    0058ae98adrp x0, 0xbd000
    0058ae9cadd x0, x0, 3872
    0058aea0bl runtime.newobject
    0058aea4str x0, [sp+128]
    0058aea8ldr x1, [sp+176]
    0058aeacldrsb x27, [x1]
    0058aeb0ldr x2, [x1]
    0058aeb4ldr x1, [x1+8]
    0058aeb8str x1, [x0+8]
    0058aebcadrp x27, 0x4c1000
    0058aec0ldr w1, [x27+3056]
    0058aec4cbz w1, 0x58aecc
    0058aec8b 0x58aed0
    0058aecc
    0058aeccloc_58aecc:
    0058aeccb 0x58aee4
    0058aed0
    0058aed0loc_58aed0:
    0058aed0bl runtime.gcWriteBarrier2
    0058aed4str x2, [x25]
    0058aed8ldr x3, [x0]
    0058aedcstr x3, [x25+8]
    0058aee0b 0x58aee4
    0058aee4
    0058aee4loc_58aee4:
    0058aee4str x2, [x0]
    0058aee8ldr x3, [sp+128]
    0058aeecldrsb x27, [x3]
    0058aef0ldr x4, [sp+184]
    0058aef4ldr x5, [sp+192]
    0058aef8ldr x6, [sp+200]
    0058aefcstr x5, [x3+24]
    0058af00str x6, [x3+32]
    0058af04adrp x27, 0x4c1000
    0058af08ldr w5, [x27+3056]
    0058af0ccbz w5, 0x58af14
    0058af10b 0x58af18
    0058af14
    0058af14loc_58af14:
    0058af14b 0x58af2c
    0058af18
    0058af18loc_58af18:
    0058af18bl runtime.gcWriteBarrier2
    0058af1cstr x4, [x25]
    0058af20ldr x5, [x3+16]
    0058af24str x5, [x25+8]
    0058af28b 0x58af2c
    0058af2c
    0058af2cloc_58af2c:
    0058af2cstr x4, [x3+16]
    0058af30ldr x3, [sp+128]
    0058af34str x3, [sp+64]
    0058af38stp xzr, xzr, [sp+48]
    0058af3cldr x0, [sp+64]
    0058af40mov x1, xzr
    0058af44mov x2, xzr
    0058af48ldur x29, [sp-8]
    0058af4cldr x30, [sp], 160
    0058af50ret x30
    0058af54
    0058af54loc_58af54:
    0058af54stp x0, x1, [sp+8]
    0058af58stp x2, x3, [sp+24]
    0058af5cstr x4, [sp+40]
    0058af60mov x3, x30
    0058af64bl runtime.morestack_noctxt.abi0
    0058af68ldp x0, x1, [sp+8]
    0058af6cldp x2, x3, [sp+24]
    0058af70ldr x4, [sp+40]
    0058af74b 0x58adc0
    0058af78udf 0
    0058af7cudf 0
    0058adc0
    0058af80
    0058af80crypto/internal/fips140/ecdsa.Verify[go.shape.*crypto/internal/fips140/nistec.P256Point]: ; void crypto/internal/fips140/ecdsa.Verify[go.shape.*crypto/internal/fips140/nistec.P256Point](uintptr[2] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P256Point] * c, crypto/internal/fips140/ecdsa.PublicKey * pub, struct []uint8 hash, crypto/internal/fips140/ecdsa.Signature * sig)
    0058af80ldr x16, [x28+16]
    0058af84sub x17, sp, 16
    0058af88subs xzr, x17, x16
    0058af8cb.ls 0x58b0a0
    0058af90str x30, [sp-144]!
    0058af94stur x29, [sp-8]
    0058af98sub x29, sp, 8
    0058af9cstr x0, [sp+152]
    0058afa0str x1, [sp+160]
    0058afa4str x2, [sp+168]
    0058afa8str x3, [sp+176]
    0058afacstr x4, [sp+184]
    0058afb0str x5, [sp+192]
    0058afb4str x6, [sp+200]
    0058afb8stp xzr, xzr, [sp+64]
    0058afbcldr x3, [sp+168]
    0058afc0ldrsb x27, [x3]
    0058afc4ldr x4, [x3]
    0058afc8ldr x3, [x3+8]
    0058afccstr x4, [sp+104]
    0058afd0str x3, [sp+112]
    0058afd4ldr x3, [sp+160]
    0058afd8ldrsb x27, [x3]
    0058afdcldr x1, [x3]
    0058afe0ldr x3, [x3+8]
    0058afe4str x1, [sp+88]
    0058afe8str x3, [sp+96]
    0058afecldr x4, [sp+112]
    0058aff0subs xzr, x4, x3
    0058aff4b.ne 0x58affc
    0058aff8b 0x58b000
    0058affc
    0058affcloc_58affc:
    0058affcb 0x58b074
    0058b000
    0058b000loc_58b000:
    0058b000ldr x2, [sp+112]
    0058b004ldr x0, [sp+104]
    0058b008bl runtime.memequal
    0058b00ctbnz w0, 0, 0x58b014
    0058b010b 0x58b070
    0058b014
    0058b014loc_58b014:
    0058b014bl crypto/internal/fips140.RecordApproved
    0058b018adrp x27, 0x496000
    0058b01cldr x26, [x27+328]
    0058b020ldr x0, [x26]
    0058b024blr x0
    0058b028ldr x0, [sp+152]
    0058b02cldrsb x27, [x0]
    0058b030ldr x0, [x0]
    0058b034str x0, [sp+80]
    0058b038ldr x3, [sp+176]
    0058b03cldr x2, [sp+168]
    0058b040ldr x6, [sp+200]
    0058b044ldr x1, [sp+160]
    0058b048ldr x4, [sp+184]
    0058b04cldr x5, [sp+192]
    0058b050bl crypto/internal/fips140/ecdsa.verify[go.shape.*crypto/internal/fips140/nistec.P256Point]
    0058b054str x0, [sp+120]
    0058b058str x1, [sp+128]
    0058b05cstr x0, [sp+64]
    0058b060str x1, [sp+72]
    0058b064ldur x29, [sp-8]
    0058b068ldr x30, [sp], 144
    0058b06cret x30
    0058b070
    0058b070loc_58b070:
    0058b070b 0x58b074
    0058b074
    0058b074loc_58b074:
    0058b074adrp x0, 0x138000
    0058b078add x0, x0, 576
    0058b07cmovz x1, 38
    0058b080bl errors.New
    0058b084str x0, [sp+120]
    0058b088str x1, [sp+128]
    0058b08cstr x0, [sp+64]
    0058b090str x1, [sp+72]
    0058b094ldur x29, [sp-8]
    0058b098ldr x30, [sp], 144
    0058b09cret x30
    0058b0a0
    0058b0a0loc_58b0a0:
    0058b0a0stp x0, x1, [sp+8]
    0058b0a4stp x2, x3, [sp+24]
    0058b0a8stp x4, x5, [sp+40]
    0058b0acstr x6, [sp+56]
    0058b0b0mov x3, x30
    0058b0b4bl runtime.morestack_noctxt.abi0
    0058b0b8ldp x0, x1, [sp+8]
    0058b0bcldp x2, x3, [sp+24]
    0058b0c0ldp x4, x5, [sp+40]
    0058b0c4ldr x6, [sp+56]
    0058b0c8b 0x58af80
    0058b0ccudf 0
    0058af80
    0058b0d0
    0058b0d0crypto/internal/fips140/ecdsa.NewPublicKey[go.shape.*crypto/internal/fips140/nistec.P256Point]: ; void crypto/internal/fips140/ecdsa.NewPublicKey[go.shape.*crypto/internal/fips140/nistec.P256Point](uintptr[2] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P256Point] * c, struct []uint8 Q)
    0058b0d0ldr x16, [x28+16]
    0058b0d4sub x17, sp, 32
    0058b0d8subs xzr, x17, x16
    0058b0dcb.ls 0x58b264
    0058b0e0str x30, [sp-160]!
    0058b0e4stur x29, [sp-8]
    0058b0e8sub x29, sp, 8
    0058b0ecstr x0, [sp+168]
    0058b0f0str x1, [sp+176]
    0058b0f4str x2, [sp+184]
    0058b0f8str x3, [sp+192]
    0058b0fcstr x4, [sp+200]
    0058b100str xzr, [sp+64]
    0058b104stp xzr, xzr, [sp+48]
    0058b108ldr x0, [sp+176]
    0058b10cldrsb x27, [x0]
    0058b110ldr x26, [x0+16]
    0058b114ldr x0, [x26]
    0058b118blr x0
    0058b11cstr x0, [sp+96]
    0058b120str xzr, [sp+88]
    0058b124stp xzr, xzr, [sp+136]
    0058b128ldr x26, [sp+168]
    0058b12cldrsb x27, [x26]
    0058b130ldr x0, [x26]
    0058b134ldr x1, [sp+184]
    0058b138ldr x2, [sp+192]
    0058b13cldr x3, [sp+200]
    0058b140ldr x4, [sp+96]
    0058b144mov x5, x0
    0058b148mov x0, x4
    0058b14cblr x5
    0058b150str x0, [sp+88]
    0058b154str x1, [sp+136]
    0058b158str x2, [sp+144]
    0058b15cldr x0, [sp+88]
    0058b160str x0, [sp+120]
    0058b164ldr x0, [sp+144]
    0058b168ldr x1, [sp+136]
    0058b16cstr x1, [sp+104]
    0058b170str x0, [sp+112]
    0058b174str x1, [sp+72]
    0058b178str x0, [sp+80]
    0058b17ccbnz x1, 0x58b184
    0058b180b 0x58b1a8
    0058b184
    0058b184loc_58b184:
    0058b184str xzr, [sp+64]
    0058b188ldr x1, [sp+72]
    0058b18cldr x2, [sp+80]
    0058b190str x1, [sp+48]
    0058b194str x2, [sp+56]
    0058b198ldr x0, [sp+64]
    0058b19cldur x29, [sp-8]
    0058b1a0ldr x30, [sp], 160
    0058b1a4ret x30
    0058b1a8
    0058b1a8loc_58b1a8:
    0058b1a8adrp x0, 0xbc000
    0058b1acadd x0, x0, 3872
    0058b1b0bl runtime.newobject
    0058b1b4str x0, [sp+128]
    0058b1b8ldr x1, [sp+176]
    0058b1bcldrsb x27, [x1]
    0058b1c0ldr x2, [x1]
    0058b1c4ldr x1, [x1+8]
    0058b1c8str x1, [x0+8]
    0058b1ccadrp x27, 0x4c0000
    0058b1d0ldr w1, [x27+3056]
    0058b1d4cbz w1, 0x58b1dc
    0058b1d8b 0x58b1e0
    0058b1dc
    0058b1dcloc_58b1dc:
    0058b1dcb 0x58b1f4
    0058b1e0
    0058b1e0loc_58b1e0:
    0058b1e0bl runtime.gcWriteBarrier2
    0058b1e4str x2, [x25]
    0058b1e8ldr x3, [x0]
    0058b1ecstr x3, [x25+8]
    0058b1f0b 0x58b1f4
    0058b1f4
    0058b1f4loc_58b1f4:
    0058b1f4str x2, [x0]
    0058b1f8ldr x3, [sp+128]
    0058b1fcldrsb x27, [x3]
    0058b200ldr x4, [sp+184]
    0058b204ldr x5, [sp+192]
    0058b208ldr x6, [sp+200]
    0058b20cstr x5, [x3+24]
    0058b210str x6, [x3+32]
    0058b214adrp x27, 0x4c0000
    0058b218ldr w5, [x27+3056]
    0058b21ccbz w5, 0x58b224
    0058b220b 0x58b228
    0058b224
    0058b224loc_58b224:
    0058b224b 0x58b23c
    0058b228
    0058b228loc_58b228:
    0058b228bl runtime.gcWriteBarrier2
    0058b22cstr x4, [x25]
    0058b230ldr x5, [x3+16]
    0058b234str x5, [x25+8]
    0058b238b 0x58b23c
    0058b23c
    0058b23cloc_58b23c:
    0058b23cstr x4, [x3+16]
    0058b240ldr x3, [sp+128]
    0058b244str x3, [sp+64]
    0058b248stp xzr, xzr, [sp+48]
    0058b24cldr x0, [sp+64]
    0058b250mov x1, xzr
    0058b254mov x2, xzr
    0058b258ldur x29, [sp-8]
    0058b25cldr x30, [sp], 160
    0058b260ret x30
    0058b264
    0058b264loc_58b264:
    0058b264stp x0, x1, [sp+8]
    0058b268stp x2, x3, [sp+24]
    0058b26cstr x4, [sp+40]
    0058b270mov x3, x30
    0058b274bl runtime.morestack_noctxt.abi0
    0058b278ldp x0, x1, [sp+8]
    0058b27cldp x2, x3, [sp+24]
    0058b280ldr x4, [sp+40]
    0058b284b 0x58b0d0
    0058b288udf 0
    0058b28cudf 0
    0058b0d0
    0058b290
    0058b290crypto/internal/fips140/ecdsa.Verify[go.shape.*crypto/internal/fips140/nistec.P224Point]: ; void crypto/internal/fips140/ecdsa.Verify[go.shape.*crypto/internal/fips140/nistec.P224Point](uintptr[2] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P224Point] * c, crypto/internal/fips140/ecdsa.PublicKey * pub, struct []uint8 hash, crypto/internal/fips140/ecdsa.Signature * sig)
    0058b290ldr x16, [x28+16]
    0058b294sub x17, sp, 16
    0058b298subs xzr, x17, x16
    0058b29cb.ls 0x58b3b0
    0058b2a0str x30, [sp-144]!
    0058b2a4stur x29, [sp-8]
    0058b2a8sub x29, sp, 8
    0058b2acstr x0, [sp+152]
    0058b2b0str x1, [sp+160]
    0058b2b4str x2, [sp+168]
    0058b2b8str x3, [sp+176]
    0058b2bcstr x4, [sp+184]
    0058b2c0str x5, [sp+192]
    0058b2c4str x6, [sp+200]
    0058b2c8stp xzr, xzr, [sp+64]
    0058b2ccldr x3, [sp+168]
    0058b2d0ldrsb x27, [x3]
    0058b2d4ldr x4, [x3]
    0058b2d8ldr x3, [x3+8]
    0058b2dcstr x4, [sp+104]
    0058b2e0str x3, [sp+112]
    0058b2e4ldr x3, [sp+160]
    0058b2e8ldrsb x27, [x3]
    0058b2ecldr x1, [x3]
    0058b2f0ldr x3, [x3+8]
    0058b2f4str x1, [sp+88]
    0058b2f8str x3, [sp+96]
    0058b2fcldr x4, [sp+112]
    0058b300subs xzr, x4, x3
    0058b304b.ne 0x58b30c
    0058b308b 0x58b310
    0058b30c
    0058b30cloc_58b30c:
    0058b30cb 0x58b384
    0058b310
    0058b310loc_58b310:
    0058b310ldr x2, [sp+112]
    0058b314ldr x0, [sp+104]
    0058b318bl runtime.memequal
    0058b31ctbnz w0, 0, 0x58b324
    0058b320b 0x58b380
    0058b324
    0058b324loc_58b324:
    0058b324bl crypto/internal/fips140.RecordApproved
    0058b328adrp x27, 0x496000
    0058b32cldr x26, [x27+328]
    0058b330ldr x0, [x26]
    0058b334blr x0
    0058b338ldr x0, [sp+152]
    0058b33cldrsb x27, [x0]
    0058b340ldr x0, [x0]
    0058b344str x0, [sp+80]
    0058b348ldr x3, [sp+176]
    0058b34cldr x2, [sp+168]
    0058b350ldr x6, [sp+200]
    0058b354ldr x1, [sp+160]
    0058b358ldr x4, [sp+184]
    0058b35cldr x5, [sp+192]
    0058b360bl crypto/internal/fips140/ecdsa.verify[go.shape.*crypto/internal/fips140/nistec.P224Point]
    0058b364str x0, [sp+120]
    0058b368str x1, [sp+128]
    0058b36cstr x0, [sp+64]
    0058b370str x1, [sp+72]
    0058b374ldur x29, [sp-8]
    0058b378ldr x30, [sp], 144
    0058b37cret x30
    0058b380
    0058b380loc_58b380:
    0058b380b 0x58b384
    0058b384
    0058b384loc_58b384:
    0058b384adrp x0, 0x138000
    0058b388add x0, x0, 576
    0058b38cmovz x1, 38
    0058b390bl errors.New
    0058b394str x0, [sp+120]
    0058b398str x1, [sp+128]
    0058b39cstr x0, [sp+64]
    0058b3a0str x1, [sp+72]
    0058b3a4ldur x29, [sp-8]
    0058b3a8ldr x30, [sp], 144
    0058b3acret x30
    0058b3b0
    0058b3b0loc_58b3b0:
    0058b3b0stp x0, x1, [sp+8]
    0058b3b4stp x2, x3, [sp+24]
    0058b3b8stp x4, x5, [sp+40]
    0058b3bcstr x6, [sp+56]
    0058b3c0mov x3, x30
    0058b3c4bl runtime.morestack_noctxt.abi0
    0058b3c8ldp x0, x1, [sp+8]
    0058b3ccldp x2, x3, [sp+24]
    0058b3d0ldp x4, x5, [sp+40]
    0058b3d4ldr x6, [sp+56]
    0058b3d8b 0x58b290
    0058b3dcudf 0
    0058b290
    0058b3e0
    0058b3e0crypto/internal/fips140/ecdsa.verify[go.shape.*crypto/internal/fips140/nistec.P224Point]: ; void crypto/internal/fips140/ecdsa.verify[go.shape.*crypto/internal/fips140/nistec.P224Point](uintptr[2] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P224Point] * c, crypto/internal/fips140/ecdsa.PublicKey * pub, struct []uint8 hash, crypto/internal/fips140/ecdsa.Signature * sig)
    0058b3e0ldr x16, [x28+16]
    0058b3e4subs xzr, sp, x16
    0058b3e8b.ls 0x58b460
    0058b3ecstr x30, [sp-112]!
    0058b3f0stur x29, [sp-8]
    0058b3f4sub x29, sp, 8
    0058b3f8str x0, [sp+120]
    0058b3fcstr x1, [sp+128]
    0058b400str x2, [sp+136]
    0058b404str x3, [sp+144]
    0058b408str x4, [sp+152]
    0058b40cstr x5, [sp+160]
    0058b410str x6, [sp+168]
    0058b414stp xzr, xzr, [sp+64]
    0058b418ldr x7, [sp+120]
    0058b41cldrsb x27, [x7]
    0058b420ldr x0, [x7]
    0058b424str x0, [sp+80]
    0058b428ldr x3, [sp+144]
    0058b42cldr x2, [sp+136]
    0058b430ldr x6, [sp+168]
    0058b434ldr x1, [sp+128]
    0058b438ldr x4, [sp+152]
    0058b43cldr x5, [sp+160]
    0058b440bl crypto/internal/fips140/ecdsa.verifyGeneric[go.shape.*crypto/internal/fips140/nistec.P224Point]
    0058b444str x0, [sp+88]
    0058b448str x1, [sp+96]
    0058b44cstr x0, [sp+64]
    0058b450str x1, [sp+72]
    0058b454ldur x29, [sp-8]
    0058b458ldr x30, [sp], 112
    0058b45cret x30
    0058b460
    0058b460loc_58b460:
    0058b460stp x0, x1, [sp+8]
    0058b464stp x2, x3, [sp+24]
    0058b468stp x4, x5, [sp+40]
    0058b46cstr x6, [sp+56]
    0058b470mov x3, x30
    0058b474bl runtime.morestack_noctxt.abi0
    0058b478ldp x0, x1, [sp+8]
    0058b47cldp x2, x3, [sp+24]
    0058b480ldp x4, x5, [sp+40]
    0058b484ldr x6, [sp+56]
    0058b488b 0x58b3e0
    0058b48cudf 0
    0058b3e0
    0058b490
    0058b490crypto/internal/fips140/ecdsa.verifyGeneric[go.shape.*crypto/internal/fips140/nistec.P224Point]: ; void crypto/internal/fips140/ecdsa.verifyGeneric[go.shape.*crypto/internal/fips140/nistec.P224Point](uintptr[9] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P224Point] * c, crypto/internal/fips140/ecdsa.PublicKey * pub, struct []uint8 hash, crypto/internal/fips140/ecdsa.Signature * sig)
    0058b490ldr x16, [x28+16]
    0058b494sub x17, sp, 464
    0058b498subs xzr, x17, x16
    0058b49cb.ls 0x58bb30
    0058b4a0sub x20, sp, 592
    0058b4a4stp x29, x30, [x20-8]
    0058b4a8add sp, x20, 0
    0058b4acsub x29, sp, 8
    0058b4b0str x0, [sp+600]
    0058b4b4str x1, [sp+608]
    0058b4b8str x2, [sp+616]
    0058b4bcstr x3, [sp+624]
    0058b4c0str x4, [sp+632]
    0058b4c4str x5, [sp+640]
    0058b4c8str x6, [sp+648]
    0058b4ccstp xzr, xzr, [sp+64]
    0058b4d0ldr x0, [sp+608]
    0058b4d4ldrsb x27, [x0]
    0058b4d8ldr x26, [x0+16]
    0058b4dcldr x0, [x26]
    0058b4e0blr x0
    0058b4e4str x0, [sp+416]
    0058b4e8str xzr, [sp+408]
    0058b4ecstp xzr, xzr, [sp+392]
    0058b4f0ldr x0, [sp+616]
    0058b4f4ldrsb x27, [x0]
    0058b4f8ldr x1, [x0+16]
    0058b4fcldr x2, [x0+24]
    0058b500ldr x3, [x0+32]
    0058b504str x1, [sp+328]
    0058b508str x2, [sp+336]
    0058b50cstr x3, [sp+344]
    0058b510ldr x26, [sp+600]
    0058b514ldrsb x27, [x26]
    0058b518ldr x0, [x26]
    0058b51cldr x4, [sp+416]
    0058b520mov x5, x0
    0058b524mov x0, x4
    0058b528blr x5
    0058b52cstr x0, [sp+408]
    0058b530str x1, [sp+392]
    0058b534str x2, [sp+400]
    0058b538ldr x0, [sp+408]
    0058b53cstr x0, [sp+200]
    0058b540ldr x0, [sp+392]
    0058b544ldr x1, [sp+400]
    0058b548str x0, [sp+184]
    0058b54cstr x1, [sp+192]
    0058b550ldr x0, [sp+200]
    0058b554str x0, [sp+176]
    0058b558ldr x1, [sp+192]
    0058b55cldr x0, [sp+184]
    0058b560str x0, [sp+128]
    0058b564str x1, [sp+136]
    0058b568cbnz x0, 0x58b570
    0058b56cb 0x58b584
    0058b570
    0058b570loc_58b570:
    0058b570str x0, [sp+64]
    0058b574str x1, [sp+72]
    0058b578ldp x29, x30, [sp-8]
    0058b57cadd sp, sp, 592
    0058b580ret x30
    0058b584
    0058b584loc_58b584:
    0058b584bl crypto/internal/fips140/bigmod.NewNat
    0058b588str x0, [sp+384]
    0058b58cstr xzr, [sp+376]
    0058b590stp xzr, xzr, [sp+392]
    0058b594ldr x0, [sp+648]
    0058b598ldrsb x27, [x0]
    0058b59cldr x1, [x0]
    0058b5a0ldr x2, [x0+8]
    0058b5a4ldr x0, [x0+16]
    0058b5a8str x1, [sp+304]
    0058b5acstr x2, [sp+312]
    0058b5b0str x0, [sp+320]
    0058b5b4ldr x0, [sp+608]
    0058b5b8ldrsb x27, [x0]
    0058b5bcldr x4, [x0+32]
    0058b5c0str x4, [sp+296]
    0058b5c4ldr x1, [sp+304]
    0058b5c8ldr x2, [sp+312]
    0058b5ccldr x3, [sp+320]
    0058b5d0ldr x0, [sp+384]
    0058b5d4bl crypto/internal/fips140/bigmod.(*Nat).SetBytes
    0058b5d8str x0, [sp+376]
    0058b5dcstr x1, [sp+392]
    0058b5e0str x2, [sp+400]
    0058b5e4ldr x0, [sp+376]
    0058b5e8str x0, [sp+576]
    0058b5ecldr x0, [sp+392]
    0058b5f0ldr x1, [sp+400]
    0058b5f4str x0, [sp+560]
    0058b5f8str x1, [sp+568]
    0058b5fcldr x0, [sp+576]
    0058b600str x0, [sp+104]
    0058b604ldr x1, [sp+568]
    0058b608ldr x0, [sp+560]
    0058b60cstr x0, [sp+128]
    0058b610str x1, [sp+136]
    0058b614cbnz x0, 0x58b61c
    0058b618b 0x58b630
    0058b61c
    0058b61cloc_58b61c:
    0058b61cstr x0, [sp+64]
    0058b620str x1, [sp+72]
    0058b624ldp x29, x30, [sp-8]
    0058b628add sp, sp, 592
    0058b62cret x30
    0058b630
    0058b630loc_58b630:
    0058b630ldr x0, [sp+104]
    0058b634bl crypto/internal/fips140/bigmod.(*Nat).IsZero
    0058b638str x0, [sp+56]
    0058b63csubs xzr, x0, 1
    0058b640b.eq 0x58b648
    0058b644b 0x58b674
    0058b648
    0058b648loc_58b648:
    0058b648adrp x0, 0x135000
    0058b64cadd x0, x0, 4031
    0058b650movz x1, 35
    0058b654bl errors.New
    0058b658str x0, [sp+392]
    0058b65cstr x1, [sp+400]
    0058b660str x0, [sp+64]
    0058b664str x1, [sp+72]
    0058b668ldp x29, x30, [sp-8]
    0058b66cadd sp, sp, 592
    0058b670ret x30
    0058b674
    0058b674loc_58b674:
    0058b674bl crypto/internal/fips140/bigmod.NewNat
    0058b678str x0, [sp+376]
    0058b67cstr xzr, [sp+384]
    0058b680stp xzr, xzr, [sp+392]
    0058b684ldr x0, [sp+648]
    0058b688ldrsb x27, [x0]
    0058b68cldr x1, [x0+24]
    0058b690ldr x2, [x0+32]
    0058b694ldr x0, [x0+40]
    0058b698str x1, [sp+272]
    0058b69cstr x2, [sp+280]
    0058b6a0str x0, [sp+288]
    0058b6a4ldr x0, [sp+608]
    0058b6a8ldrsb x27, [x0]
    0058b6acldr x4, [x0+32]
    0058b6b0str x4, [sp+264]
    0058b6b4ldr x1, [sp+272]
    0058b6b8ldr x2, [sp+280]
    0058b6bcldr x3, [sp+288]
    0058b6c0ldr x0, [sp+376]
    0058b6c4bl crypto/internal/fips140/bigmod.(*Nat).SetBytes
    0058b6c8str x0, [sp+384]
    0058b6ccstr x1, [sp+392]
    0058b6d0str x2, [sp+400]
    0058b6d4ldr x0, [sp+384]
    0058b6d8str x0, [sp+552]
    0058b6dcldr x0, [sp+392]
    0058b6e0ldr x1, [sp+400]
    0058b6e4str x0, [sp+536]
    0058b6e8str x1, [sp+544]
    0058b6ecldr x0, [sp+552]
    0058b6f0str x0, [sp+96]
    0058b6f4ldr x1, [sp+544]
    0058b6f8ldr x0, [sp+536]
    0058b6fcstr x0, [sp+128]
    0058b700str x1, [sp+136]
    0058b704cbnz x0, 0x58b70c
    0058b708b 0x58b720
    0058b70c
    0058b70cloc_58b70c:
    0058b70cstr x0, [sp+64]
    0058b710str x1, [sp+72]
    0058b714ldp x29, x30, [sp-8]
    0058b718add sp, sp, 592
    0058b71cret x30
    0058b720
    0058b720loc_58b720:
    0058b720ldr x0, [sp+96]
    0058b724bl crypto/internal/fips140/bigmod.(*Nat).IsZero
    0058b728str x0, [sp+56]
    0058b72csubs xzr, x0, 1
    0058b730b.eq 0x58b738
    0058b734b 0x58b764
    0058b738
    0058b738loc_58b738:
    0058b738adrp x0, 0x135000
    0058b73cadd x0, x0, 4066
    0058b740movz x1, 35
    0058b744bl errors.New
    0058b748str x0, [sp+392]
    0058b74cstr x1, [sp+400]
    0058b750str x0, [sp+64]
    0058b754str x1, [sp+72]
    0058b758ldp x29, x30, [sp-8]
    0058b75cadd sp, sp, 592
    0058b760ret x30
    0058b764
    0058b764loc_58b764:
    0058b764bl crypto/internal/fips140/bigmod.NewNat
    0058b768str x0, [sp+144]
    0058b76cldr x0, [sp+600]
    0058b770ldrsb x27, [x0]
    0058b774ldr x0, [x0+40]
    0058b778str x0, [sp+256]
    0058b77cldr x3, [sp+624]
    0058b780ldr x2, [sp+144]
    0058b784ldr x1, [sp+608]
    0058b788ldr x4, [sp+632]
    0058b78cldr x5, [sp+640]
    0058b790bl crypto/internal/fips140/ecdsa.hashToNat[go.shape.*crypto/internal/fips140/nistec.P224Point]
    0058b794bl crypto/internal/fips140/bigmod.NewNat
    0058b798str x0, [sp+80]
    0058b79cldr x0, [sp+600]
    0058b7a0ldrsb x27, [x0]
    0058b7a4ldr x0, [x0+48]
    0058b7a8str x0, [sp+248]
    0058b7acldr x2, [sp+80]
    0058b7b0ldr x3, [sp+96]
    0058b7b4ldr x1, [sp+608]
    0058b7b8bl crypto/internal/fips140/ecdsa.inverse[go.shape.*crypto/internal/fips140/nistec.P224Point]
    0058b7bcldr x0, [sp+608]
    0058b7c0ldrsb x27, [x0]
    0058b7c4ldr x26, [x0+16]
    0058b7c8ldr x0, [x26]
    0058b7ccblr x0
    0058b7d0str x0, [sp+408]
    0058b7d4ldr x0, [sp+608]
    0058b7d8ldrsb x27, [x0]
    0058b7dcldr x2, [x0+32]
    0058b7e0str x2, [sp+240]
    0058b7e4ldr x0, [sp+144]
    0058b7e8ldr x1, [sp+80]
    0058b7ecbl crypto/internal/fips140/bigmod.(*Nat).Mul
    0058b7f0str x0, [sp+384]
    0058b7f4ldr x0, [sp+608]
    0058b7f8ldrsb x27, [x0]
    0058b7fcldr x1, [x0+32]
    0058b800str x1, [sp+232]
    0058b804ldr x0, [sp+384]
    0058b808bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    0058b80cstr x0, [sp+352]
    0058b810str x1, [sp+360]
    0058b814str x2, [sp+368]
    0058b818str xzr, [sp+416]
    0058b81cstp xzr, xzr, [sp+392]
    0058b820ldr x0, [sp+600]
    0058b824ldrsb x27, [x0]
    0058b828add x26, x0, 8
    0058b82cldr x0, [x0+8]
    0058b830ldr x1, [sp+352]
    0058b834ldr x2, [sp+360]
    0058b838ldr x3, [sp+368]
    0058b83cldr x4, [sp+408]
    0058b840mov x5, x0
    0058b844mov x0, x4
    0058b848blr x5
    0058b84cstr x0, [sp+416]
    0058b850str x1, [sp+392]
    0058b854str x2, [sp+400]
    0058b858ldr x0, [sp+416]
    0058b85cstr x0, [sp+528]
    0058b860ldr x0, [sp+392]
    0058b864ldr x1, [sp+400]
    0058b868str x0, [sp+512]
    0058b86cstr x1, [sp+520]
    0058b870ldr x0, [sp+528]
    0058b874str x0, [sp+120]
    0058b878ldr x1, [sp+520]
    0058b87cldr x0, [sp+512]
    0058b880str x0, [sp+128]
    0058b884str x1, [sp+136]
    0058b888cbnz x0, 0x58b890
    0058b88cb 0x58b8a4
    0058b890
    0058b890loc_58b890:
    0058b890str x0, [sp+64]
    0058b894str x1, [sp+72]
    0058b898ldp x29, x30, [sp-8]
    0058b89cadd sp, sp, 592
    0058b8a0ret x30
    0058b8a4
    0058b8a4loc_58b8a4:
    0058b8a4ldr x3, [sp+608]
    0058b8a8ldrsb x27, [x3]
    0058b8acldr x2, [x3+32]
    0058b8b0str x2, [sp+224]
    0058b8b4ldr x0, [sp+80]
    0058b8b8ldr x1, [sp+104]
    0058b8bcbl crypto/internal/fips140/bigmod.(*Nat).Mul
    0058b8c0str x0, [sp+384]
    0058b8c4ldr x3, [sp+608]
    0058b8c8ldrsb x27, [x3]
    0058b8ccldr x1, [x3+32]
    0058b8d0str x1, [sp+216]
    0058b8d4ldr x0, [sp+384]
    0058b8d8bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    0058b8dcstr x0, [sp+352]
    0058b8e0str x1, [sp+360]
    0058b8e4str x2, [sp+368]
    0058b8e8str xzr, [sp+416]
    0058b8ecstp xzr, xzr, [sp+392]
    0058b8f0ldr x3, [sp+600]
    0058b8f4ldrsb x27, [x3]
    0058b8f8add x26, x3, 16
    0058b8fcldr x0, [sp+176]
    0058b900ldr x1, [sp+176]
    0058b904ldr x3, [x3+16]
    0058b908ldr x2, [sp+352]
    0058b90cldr x4, [sp+360]
    0058b910ldr x5, [sp+368]
    0058b914mov x6, x3
    0058b918mov x3, x4
    0058b91cmov x4, x5
    0058b920blr x6
    0058b924str x0, [sp+416]
    0058b928str x1, [sp+392]
    0058b92cstr x2, [sp+400]
    0058b930ldr x3, [sp+416]
    0058b934str x3, [sp+504]
    0058b938ldr x3, [sp+392]
    0058b93cldr x4, [sp+400]
    0058b940str x3, [sp+488]
    0058b944str x4, [sp+496]
    0058b948ldr x3, [sp+504]
    0058b94cstr x3, [sp+112]
    0058b950ldr x1, [sp+496]
    0058b954ldr x0, [sp+488]
    0058b958str x0, [sp+128]
    0058b95cstr x1, [sp+136]
    0058b960cbnz x0, 0x58b968
    0058b964b 0x58b97c
    0058b968
    0058b968loc_58b968:
    0058b968str x0, [sp+64]
    0058b96cstr x1, [sp+72]
    0058b970ldp x29, x30, [sp-8]
    0058b974add sp, sp, 592
    0058b978ret x30
    0058b97c
    0058b97cloc_58b97c:
    0058b97cldr x3, [sp+600]
    0058b980ldrsb x27, [x3]
    0058b984add x26, x3, 24
    0058b988ldr x0, [sp+120]
    0058b98cldr x1, [sp+120]
    0058b990ldr x2, [sp+112]
    0058b994ldr x3, [x3+24]
    0058b998blr x3
    0058b99cstr x0, [sp+416]
    0058b9a0str xzr, [sp+352]
    0058b9a4stp xzr, xzr, [sp+360]
    0058b9a8stp xzr, xzr, [sp+392]
    0058b9acldr x3, [sp+600]
    0058b9b0ldrsb x27, [x3]
    0058b9b4add x26, x3, 32
    0058b9b8ldr x3, [x3+32]
    0058b9bcldr x0, [sp+416]
    0058b9c0blr x3
    0058b9c4str x0, [sp+352]
    0058b9c8str x1, [sp+360]
    0058b9ccstr x2, [sp+368]
    0058b9d0str x3, [sp+392]
    0058b9d4str x4, [sp+400]
    0058b9d8ldr x3, [sp+352]
    0058b9dcldr x4, [sp+360]
    0058b9e0ldr x5, [sp+368]
    0058b9e4str x3, [sp+464]
    0058b9e8str x4, [sp+472]
    0058b9ecstr x5, [sp+480]
    0058b9f0ldr x3, [sp+392]
    0058b9f4ldr x4, [sp+400]
    0058b9f8str x3, [sp+448]
    0058b9fcstr x4, [sp+456]
    0058ba00ldr x3, [sp+464]
    0058ba04ldr x4, [sp+472]
    0058ba08ldr x5, [sp+480]
    0058ba0cstr x3, [sp+152]
    0058ba10str x4, [sp+160]
    0058ba14str x5, [sp+168]
    0058ba18ldr x1, [sp+456]
    0058ba1cldr x0, [sp+448]
    0058ba20str x0, [sp+128]
    0058ba24str x1, [sp+136]
    0058ba28cbnz x0, 0x58ba30
    0058ba2cb 0x58ba44
    0058ba30
    0058ba30loc_58ba30:
    0058ba30str x0, [sp+64]
    0058ba34str x1, [sp+72]
    0058ba38ldp x29, x30, [sp-8]
    0058ba3cadd sp, sp, 592
    0058ba40ret x30
    0058ba44
    0058ba44loc_58ba44:
    0058ba44bl crypto/internal/fips140/bigmod.NewNat
    0058ba48str x0, [sp+384]
    0058ba4cstr xzr, [sp+376]
    0058ba50stp xzr, xzr, [sp+392]
    0058ba54ldr x0, [sp+608]
    0058ba58ldrsb x27, [x0]
    0058ba5cldr x4, [x0+32]
    0058ba60str x4, [sp+208]
    0058ba64ldr x1, [sp+152]
    0058ba68ldr x2, [sp+160]
    0058ba6cldr x3, [sp+168]
    0058ba70ldr x0, [sp+384]
    0058ba74bl crypto/internal/fips140/bigmod.(*Nat).SetOverflowingBytes
    0058ba78str x0, [sp+376]
    0058ba7cstr x1, [sp+392]
    0058ba80str x2, [sp+400]
    0058ba84ldr x0, [sp+376]
    0058ba88str x0, [sp+440]
    0058ba8cldr x0, [sp+392]
    0058ba90ldr x1, [sp+400]
    0058ba94str x0, [sp+424]
    0058ba98str x1, [sp+432]
    0058ba9cldr x0, [sp+440]
    0058baa0str x0, [sp+88]
    0058baa4ldr x1, [sp+432]
    0058baa8ldr x0, [sp+424]
    0058baacstr x0, [sp+128]
    0058bab0str x1, [sp+136]
    0058bab4cbnz x0, 0x58babc
    0058bab8b 0x58bad0
    0058babc
    0058babcloc_58babc:
    0058babcstr x0, [sp+64]
    0058bac0str x1, [sp+72]
    0058bac4ldp x29, x30, [sp-8]
    0058bac8add sp, sp, 592
    0058baccret x30
    0058bad0
    0058bad0loc_58bad0:
    0058bad0ldr x1, [sp+104]
    0058bad4ldr x0, [sp+88]
    0058bad8bl crypto/internal/fips140/bigmod.(*Nat).Equal
    0058badcstr x0, [sp+56]
    0058bae0subs xzr, x0, 1
    0058bae4b.ne 0x58baec
    0058bae8b 0x58bb18
    0058baec
    0058baecloc_58baec:
    0058baecadrp x0, 0x133000
    0058baf0add x0, x0, 351
    0058baf4orr x1, xzr, 31
    0058baf8bl errors.New
    0058bafcstr x0, [sp+392]
    0058bb00str x1, [sp+400]
    0058bb04str x0, [sp+64]
    0058bb08str x1, [sp+72]
    0058bb0cldp x29, x30, [sp-8]
    0058bb10add sp, sp, 592
    0058bb14ret x30
    0058bb18
    0058bb18loc_58bb18:
    0058bb18stp xzr, xzr, [sp+64]
    0058bb1cmov x0, xzr
    0058bb20mov x1, xzr
    0058bb24ldp x29, x30, [sp-8]
    0058bb28add sp, sp, 592
    0058bb2cret x30
    0058bb30
    0058bb30loc_58bb30:
    0058bb30stp x0, x1, [sp+8]
    0058bb34stp x2, x3, [sp+24]
    0058bb38stp x4, x5, [sp+40]
    0058bb3cstr x6, [sp+56]
    0058bb40mov x3, x30
    0058bb44bl runtime.morestack_noctxt.abi0
    0058bb48ldp x0, x1, [sp+8]
    0058bb4cldp x2, x3, [sp+24]
    0058bb50ldp x4, x5, [sp+40]
    0058bb54ldr x6, [sp+56]
    0058bb58b 0x58b490
    0058bb5cudf 0
    0058b490
    0058bb60
    0058bb60crypto/internal/fips140/ecdsa.inverse[go.shape.*crypto/internal/fips140/nistec.P224Point]: ; void crypto/internal/fips140/ecdsa.inverse[go.shape.*crypto/internal/fips140/nistec.P224Point](uintptr[1] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P224Point] * c, crypto/internal/fips140/bigmod.Nat * kInv, crypto/internal/fips140/bigmod.Nat * k)
    0058bb60ldr x16, [x28+16]
    0058bb64sub x17, sp, 176
    0058bb68subs xzr, x17, x16
    0058bb6cb.ls 0x58bd40
    0058bb70sub x20, sp, 304
    0058bb74stp x29, x30, [x20-8]
    0058bb78add sp, x20, 0
    0058bb7csub x29, sp, 8
    0058bb80str x0, [sp+312]
    0058bb84str x1, [sp+320]
    0058bb88str x2, [sp+328]
    0058bb8cstr x3, [sp+336]
    0058bb90ldrsb x27, [x1]
    0058bb94ldr x6, [x1+24]
    0058bb98cbnz x6, 0x58bba0
    0058bb9cb 0x58bcd0
    0058bba0
    0058bba0loc_58bba0:
    0058bba0ldrsb x27, [x1]
    0058bba4ldr x1, [x1+32]
    0058bba8str x1, [sp+200]
    0058bbacldr x0, [sp+336]
    0058bbb0bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    0058bbb4str x0, [sp+256]
    0058bbb8str x1, [sp+264]
    0058bbbcstr x2, [sp+272]
    0058bbc0str xzr, [sp+232]
    0058bbc4stp xzr, xzr, [sp+240]
    0058bbc8stp xzr, xzr, [sp+216]
    0058bbccldr x2, [sp+320]
    0058bbd0ldrsb x27, [x2]
    0058bbd4ldr x26, [x2+24]
    0058bbd8ldr x2, [x26]
    0058bbdcldr x0, [sp+256]
    0058bbe0ldr x1, [sp+264]
    0058bbe4ldr x3, [sp+272]
    0058bbe8mov x4, x2
    0058bbecmov x2, x3
    0058bbf0blr x4
    0058bbf4str x0, [sp+232]
    0058bbf8str x1, [sp+240]
    0058bbfcstr x2, [sp+248]
    0058bc00str x3, [sp+216]
    0058bc04str x4, [sp+224]
    0058bc08ldr x2, [sp+232]
    0058bc0cldr x3, [sp+240]
    0058bc10ldr x4, [sp+248]
    0058bc14str x2, [sp+136]
    0058bc18str x3, [sp+144]
    0058bc1cstr x4, [sp+152]
    0058bc20ldr x2, [sp+216]
    0058bc24ldr x3, [sp+224]
    0058bc28str x2, [sp+120]
    0058bc2cstr x3, [sp+128]
    0058bc30ldr x2, [sp+136]
    0058bc34ldr x3, [sp+144]
    0058bc38ldr x4, [sp+152]
    0058bc3cstr x2, [sp+56]
    0058bc40str x3, [sp+64]
    0058bc44str x4, [sp+72]
    0058bc48ldr x2, [sp+128]
    0058bc4cldr x3, [sp+120]
    0058bc50str x3, [sp+96]
    0058bc54str x2, [sp+104]
    0058bc58cbnz x3, 0x58bc60
    0058bc5cb 0x58bc64
    0058bc60
    0058bc60loc_58bc60:
    0058bc60b 0x58bcd4
    0058bc64
    0058bc64loc_58bc64:
    0058bc64str xzr, [sp+208]
    0058bc68stp xzr, xzr, [sp+216]
    0058bc6cldr x5, [sp+320]
    0058bc70ldrsb x27, [x5]
    0058bc74ldr x4, [x5+32]
    0058bc78str x4, [sp+192]
    0058bc7cldr x1, [sp+56]
    0058bc80ldr x0, [sp+328]
    0058bc84ldr x2, [sp+64]
    0058bc88ldr x3, [sp+72]
    0058bc8cbl crypto/internal/fips140/bigmod.(*Nat).SetBytes
    0058bc90str x0, [sp+208]
    0058bc94str x1, [sp+216]
    0058bc98str x2, [sp+224]
    0058bc9cldr x5, [sp+208]
    0058bca0str x5, [sp+112]
    0058bca4ldr x5, [sp+224]
    0058bca8ldr x6, [sp+216]
    0058bcacstr x6, [sp+280]
    0058bcb0str x5, [sp+288]
    0058bcb4str x6, [sp+80]
    0058bcb8str x5, [sp+88]
    0058bcbccbnz x6, 0x58bd28
    0058bcc0b 0x58bcc4
    0058bcc4
    0058bcc4loc_58bcc4:
    0058bcc4ldp x29, x30, [sp-8]
    0058bcc8add sp, sp, 304
    0058bcccret x30
    0058bcd0
    0058bcd0loc_58bcd0:
    0058bcd0b 0x58bcd4
    0058bcd4
    0058bcd4loc_58bcd4:
    0058bcd4ldr x6, [sp+320]
    0058bcd8ldrsb x27, [x6]
    0058bcdcldr x7, [x6+40]
    0058bce0ldr x8, [x6+48]
    0058bce4ldr x6, [x6+56]
    0058bce8str x7, [sp+168]
    0058bcecstr x8, [sp+176]
    0058bcf0str x6, [sp+184]
    0058bcf4ldr x6, [sp+320]
    0058bcf8ldrsb x27, [x6]
    0058bcfcldr x5, [x6+32]
    0058bd00str x5, [sp+160]
    0058bd04ldr x0, [sp+328]
    0058bd08ldr x1, [sp+336]
    0058bd0cldr x2, [sp+168]
    0058bd10ldr x3, [sp+176]
    0058bd14ldr x4, [sp+184]
    0058bd18bl crypto/internal/fips140/bigmod.(*Nat).Exp
    0058bd1cldp x29, x30, [sp-8]
    0058bd20add sp, sp, 304
    0058bd24ret x30
    0058bd28
    0058bd28loc_58bd28:
    0058bd28adrp x0, 0x6a000
    0058bd2cadd x0, x0, 2944
    0058bd30adrp x1, 0x187000
    0058bd34add x1, x1, 1568
    0058bd38bl runtime.gopanic
    0058bd3chint
    0058bd40
    0058bd40loc_58bd40:
    0058bd40stp x0, x1, [sp+8]
    0058bd44stp x2, x3, [sp+24]
    0058bd48mov x3, x30
    0058bd4cbl runtime.morestack_noctxt.abi0
    0058bd50ldp x0, x1, [sp+8]
    0058bd54ldp x2, x3, [sp+24]
    0058bd58b 0x58bb60
    0058bd5cudf 0
    0058bb60
    0058bd60
    0058bd60crypto/internal/fips140/ecdsa.hashToNat[go.shape.*crypto/internal/fips140/nistec.P224Point]: ; void crypto/internal/fips140/ecdsa.hashToNat[go.shape.*crypto/internal/fips140/nistec.P224Point](uintptr[1] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P224Point] * c, crypto/internal/fips140/bigmod.Nat * e, struct []uint8 hash)
    0058bd60ldr x16, [x28+16]
    0058bd64sub x17, sp, 48
    0058bd68subs xzr, x17, x16
    0058bd6cb.ls 0x58bec8
    0058bd70str x30, [sp-176]!
    0058bd74stur x29, [sp-8]
    0058bd78sub x29, sp, 8
    0058bd7cstr x0, [sp+184]
    0058bd80str x1, [sp+192]
    0058bd84str x2, [sp+200]
    0058bd88str x3, [sp+208]
    0058bd8cstr x4, [sp+216]
    0058bd90str x5, [sp+224]
    0058bd94ldr x1, [sp+192]
    0058bd98ldrsb x27, [x1]
    0058bd9cldr x0, [x1+32]
    0058bda0str x0, [sp+136]
    0058bda4bl crypto/internal/fips140/bigmod.(*Modulus).Size
    0058bda8str x0, [sp+48]
    0058bdacldr x1, [sp+216]
    0058bdb0str x1, [sp+64]
    0058bdb4subs xzr, x0, x1
    0058bdb8b.le 0x58bdc0
    0058bdbcb 0x58be38
    0058bdc0
    0058bdc0loc_58bdc0:
    0058bdc0ldr x2, [sp+224]
    0058bdc4subs xzr, x0, x2
    0058bdc8b.ls 0x58bdd0
    0058bdccb 0x58bebc
    0058bdd0
    0058bdd0loc_58bdd0:
    0058bdd0b 0x58bdd4
    0058bdd4
    0058bdd4loc_58bdd4:
    0058bdd4str x0, [sp+216]
    0058bdd8str x0, [sp+64]
    0058bddcldr x1, [sp+192]
    0058bde0ldrsb x27, [x1]
    0058bde4ldr x0, [x1+32]
    0058bde8str x0, [sp+128]
    0058bdecbl crypto/internal/fips140/bigmod.(*Modulus).BitLen
    0058bdf0str x0, [sp+72]
    0058bdf4ldr x1, [sp+64]
    0058bdf8ubfm x1, x1, 61, 60
    0058bdfcsub x3, x1, x0
    0058be00str x3, [sp+56]
    0058be04subs xzr, x3, 0
    0058be08b.gt 0x58be10
    0058be0cb 0x58be30
    0058be10
    0058be10loc_58be10:
    0058be10ldr x0, [sp+208]
    0058be14ldr x1, [sp+216]
    0058be18ldr x2, [sp+224]
    0058be1cbl crypto/internal/fips140/ecdsa.rightShift
    0058be20str x0, [sp+208]
    0058be24str x1, [sp+216]
    0058be28str x2, [sp+224]
    0058be2cb 0x58be34
    0058be30
    0058be30loc_58be30:
    0058be30b 0x58be34
    0058be34
    0058be34loc_58be34:
    0058be34b 0x58be3c
    0058be38
    0058be38loc_58be38:
    0058be38b 0x58be3c
    0058be3c
    0058be3cloc_58be3c:
    0058be3cstr xzr, [sp+160]
    0058be40stp xzr, xzr, [sp+144]
    0058be44ldr x5, [sp+192]
    0058be48ldrsb x27, [x5]
    0058be4cldr x4, [x5+32]
    0058be50str x4, [sp+120]
    0058be54ldr x1, [sp+208]
    0058be58ldr x0, [sp+200]
    0058be5cldr x2, [sp+216]
    0058be60ldr x3, [sp+224]
    0058be64bl crypto/internal/fips140/bigmod.(*Nat).SetOverflowingBytes
    0058be68str x0, [sp+160]
    0058be6cstr x1, [sp+144]
    0058be70str x2, [sp+152]
    0058be74ldr x5, [sp+160]
    0058be78str x5, [sp+112]
    0058be7cldr x5, [sp+152]
    0058be80ldr x6, [sp+144]
    0058be84str x6, [sp+96]
    0058be88str x5, [sp+104]
    0058be8cstr x6, [sp+80]
    0058be90str x5, [sp+88]
    0058be94cbnz x6, 0x58bea8
    0058be98b 0x58be9c
    0058be9c
    0058be9cloc_58be9c:
    0058be9cldur x29, [sp-8]
    0058bea0ldr x30, [sp], 176
    0058bea4ret x30
    0058bea8
    0058bea8loc_58bea8:
    0058bea8adrp x0, 0x6a000
    0058beacadd x0, x0, 2944
    0058beb0adrp x1, 0x187000
    0058beb4add x1, x1, 1584
    0058beb8bl runtime.gopanic
    0058bebc
    0058bebcloc_58bebc:
    0058bebcmov x1, x0
    0058bec0bl runtime.panicSliceAcap
    0058bec4hint
    0058bec8
    0058bec8loc_58bec8:
    0058bec8stp x0, x1, [sp+8]
    0058beccstp x2, x3, [sp+24]
    0058bed0stp x4, x5, [sp+40]
    0058bed4mov x3, x30
    0058bed8bl runtime.morestack_noctxt.abi0
    0058bedcldp x0, x1, [sp+8]
    0058bee0ldp x2, x3, [sp+24]
    0058bee4ldp x4, x5, [sp+40]
    0058bee8b 0x58bd60
    0058beecudf 0
    0058bd60
    0058bef0
    0058bef0crypto/internal/fips140/ecdsa.NewPublicKey[go.shape.*crypto/internal/fips140/nistec.P224Point]: ; void crypto/internal/fips140/ecdsa.NewPublicKey[go.shape.*crypto/internal/fips140/nistec.P224Point](uintptr[2] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P224Point] * c, struct []uint8 Q)
    0058bef0ldr x16, [x28+16]
    0058bef4sub x17, sp, 32
    0058bef8subs xzr, x17, x16
    0058befcb.ls 0x58c084
    0058bf00str x30, [sp-160]!
    0058bf04stur x29, [sp-8]
    0058bf08sub x29, sp, 8
    0058bf0cstr x0, [sp+168]
    0058bf10str x1, [sp+176]
    0058bf14str x2, [sp+184]
    0058bf18str x3, [sp+192]
    0058bf1cstr x4, [sp+200]
    0058bf20str xzr, [sp+64]
    0058bf24stp xzr, xzr, [sp+48]
    0058bf28ldr x0, [sp+176]
    0058bf2cldrsb x27, [x0]
    0058bf30ldr x26, [x0+16]
    0058bf34ldr x0, [x26]
    0058bf38blr x0
    0058bf3cstr x0, [sp+96]
    0058bf40str xzr, [sp+88]
    0058bf44stp xzr, xzr, [sp+136]
    0058bf48ldr x26, [sp+168]
    0058bf4cldrsb x27, [x26]
    0058bf50ldr x0, [x26]
    0058bf54ldr x1, [sp+184]
    0058bf58ldr x2, [sp+192]
    0058bf5cldr x3, [sp+200]
    0058bf60ldr x4, [sp+96]
    0058bf64mov x5, x0
    0058bf68mov x0, x4
    0058bf6cblr x5
    0058bf70str x0, [sp+88]
    0058bf74str x1, [sp+136]
    0058bf78str x2, [sp+144]
    0058bf7cldr x0, [sp+88]
    0058bf80str x0, [sp+120]
    0058bf84ldr x0, [sp+144]
    0058bf88ldr x1, [sp+136]
    0058bf8cstr x1, [sp+104]
    0058bf90str x0, [sp+112]
    0058bf94str x1, [sp+72]
    0058bf98str x0, [sp+80]
    0058bf9ccbnz x1, 0x58bfa4
    0058bfa0b 0x58bfc8
    0058bfa4
    0058bfa4loc_58bfa4:
    0058bfa4str xzr, [sp+64]
    0058bfa8ldr x1, [sp+72]
    0058bfacldr x2, [sp+80]
    0058bfb0str x1, [sp+48]
    0058bfb4str x2, [sp+56]
    0058bfb8ldr x0, [sp+64]
    0058bfbcldur x29, [sp-8]
    0058bfc0ldr x30, [sp], 160
    0058bfc4ret x30
    0058bfc8
    0058bfc8loc_58bfc8:
    0058bfc8adrp x0, 0xbc000
    0058bfccadd x0, x0, 3872
    0058bfd0bl runtime.newobject
    0058bfd4str x0, [sp+128]
    0058bfd8ldr x1, [sp+176]
    0058bfdcldrsb x27, [x1]
    0058bfe0ldr x2, [x1]
    0058bfe4ldr x1, [x1+8]
    0058bfe8str x1, [x0+8]
    0058bfecadrp x27, 0x4c0000
    0058bff0ldr w1, [x27+3056]
    0058bff4cbz w1, 0x58bffc
    0058bff8b 0x58c000
    0058bffc
    0058bffcloc_58bffc:
    0058bffcb 0x58c014
    0058c000
    0058c000loc_58c000:
    0058c000bl runtime.gcWriteBarrier2
    0058c004str x2, [x25]
    0058c008ldr x3, [x0]
    0058c00cstr x3, [x25+8]
    0058c010b 0x58c014
    0058c014
    0058c014loc_58c014:
    0058c014str x2, [x0]
    0058c018ldr x3, [sp+128]
    0058c01cldrsb x27, [x3]
    0058c020ldr x4, [sp+184]
    0058c024ldr x5, [sp+192]
    0058c028ldr x6, [sp+200]
    0058c02cstr x5, [x3+24]
    0058c030str x6, [x3+32]
    0058c034adrp x27, 0x4bf000
    0058c038ldr w5, [x27+3056]
    0058c03ccbz w5, 0x58c044
    0058c040b 0x58c048
    0058c044
    0058c044loc_58c044:
    0058c044b 0x58c05c
    0058c048
    0058c048loc_58c048:
    0058c048bl runtime.gcWriteBarrier2
    0058c04cstr x4, [x25]
    0058c050ldr x5, [x3+16]
    0058c054str x5, [x25+8]
    0058c058b 0x58c05c
    0058c05c
    0058c05cloc_58c05c:
    0058c05cstr x4, [x3+16]
    0058c060ldr x3, [sp+128]
    0058c064str x3, [sp+64]
    0058c068stp xzr, xzr, [sp+48]
    0058c06cldr x0, [sp+64]
    0058c070mov x1, xzr
    0058c074mov x2, xzr
    0058c078ldur x29, [sp-8]
    0058c07cldr x30, [sp], 160
    0058c080ret x30
    0058c084
    0058c084loc_58c084:
    0058c084stp x0, x1, [sp+8]
    0058c088stp x2, x3, [sp+24]
    0058c08cstr x4, [sp+40]
    0058c090mov x3, x30
    0058c094bl runtime.morestack_noctxt.abi0
    0058c098ldp x0, x1, [sp+8]
    0058c09cldp x2, x3, [sp+24]
    0058c0a0ldr x4, [sp+40]
    0058c0a4b 0x58bef0
    0058c0a8udf 0
    0058c0acudf 0
    0058bef0
    0058c0b0
    0058c0b0crypto/internal/fips140/ecdsa.SignDeterministic[go.shape.*crypto/internal/fips140/nistec.P521Point,go.shape.interface { BlockSize() int; Reset(); Size() int; Sum([]uint8) []uint8; Write([]uint8) (int, error) }]: ; void crypto/internal/fips140/ecdsa.SignDeterministic[go.shape.*crypto/internal/fips140/nistec.P521Point,go.shape.interface { BlockSize() int; Reset(); Size() int; Sum([]uint8) []uint8; Write([]uint8) (int, error) }](uintptr[5] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, int64_t h, crypto/internal/fips140/ecdsa.PrivateKey * priv, struct []uint8 hash)
    0058c0b0ldr x16, [x28+16]
    0058c0b4sub x17, sp, 160
    0058c0b8subs xzr, x17, x16
    0058c0bcb.ls 0x58c2a4
    0058c0c0sub x20, sp, 288
    0058c0c4stp x29, x30, [x20-8]
    0058c0c8add sp, x20, 0
    0058c0ccsub x29, sp, 8
    0058c0d0str x0, [sp+296]
    0058c0d4str x1, [sp+304]
    0058c0d8str x2, [sp+312]
    0058c0dcstr x3, [sp+320]
    0058c0e0str x4, [sp+328]
    0058c0e4str x5, [sp+336]
    0058c0e8str x6, [sp+344]
    0058c0ecstr xzr, [sp+112]
    0058c0f0stp xzr, xzr, [sp+96]
    0058c0f4ldr x3, [sp+320]
    0058c0f8ldrsb x27, [x3]
    0058c0fcldr x4, [x3]
    0058c100ldr x3, [x3+8]
    0058c104str x4, [sp+216]
    0058c108str x3, [sp+224]
    0058c10cldr x3, [sp+304]
    0058c110ldrsb x27, [x3]
    0058c114ldr x1, [x3]
    0058c118ldr x3, [x3+8]
    0058c11cstr x1, [sp+200]
    0058c120str x3, [sp+208]
    0058c124ldr x4, [sp+224]
    0058c128subs xzr, x4, x3
    0058c12cb.ne 0x58c134
    0058c130b 0x58c138
    0058c134
    0058c134loc_58c134:
    0058c134b 0x58c268
    0058c138
    0058c138loc_58c138:
    0058c138ldr x2, [sp+224]
    0058c13cldr x0, [sp+216]
    0058c140bl runtime.memequal
    0058c144tbnz w0, 0, 0x58c14c
    0058c148b 0x58c264
    0058c14c
    0058c14cloc_58c14c:
    0058c14cbl crypto/internal/fips140.RecordApproved
    0058c150adrp x27, 0x495000
    0058c154ldr x26, [x27+336]
    0058c158ldr x0, [x26]
    0058c15cblr x0
    0058c160ldr x0, [sp+296]
    0058c164ldrsb x27, [x0]
    0058c168ldr x0, [x0+8]
    0058c16cstr x0, [sp+192]
    0058c170ldr x2, [sp+328]
    0058c174ldr x1, [sp+304]
    0058c178ldr x3, [sp+336]
    0058c17cldr x4, [sp+344]
    0058c180bl crypto/internal/fips140/ecdsa.bits2octets[go.shape.*crypto/internal/fips140/nistec.P521Point]
    0058c184str x0, [sp+240]
    0058c188str x1, [sp+248]
    0058c18cstr x2, [sp+256]
    0058c190ldr x0, [sp+296]
    0058c194ldrsb x27, [x0]
    0058c198ldr x0, [x0]
    0058c19cstr x0, [sp+184]
    0058c1a0ldr x0, [sp+320]
    0058c1a4ldrsb x27, [x0]
    0058c1a8ldr x2, [x0+40]
    0058c1acldr x3, [x0+48]
    0058c1b0ldr x4, [x0+56]
    0058c1b4str x2, [sp+160]
    0058c1b8str x3, [sp+168]
    0058c1bcstr x4, [sp+176]
    0058c1c0ldr x1, [sp+312]
    0058c1c4ldr x5, [sp+240]
    0058c1c8ldr x6, [sp+248]
    0058c1ccldr x7, [sp+256]
    0058c1d0ldr x0, [sp+184]
    0058c1d4mov x8, xzr
    0058c1d8mov x9, xzr
    0058c1dcbl crypto/internal/fips140/ecdsa.newDRBG[go.shape.interface { BlockSize() int; Reset(); Size() int; Sum([]uint8) []uint8; Write([]uint8) (int, error) }]
    0058c1e0str x0, [sp+120]
    0058c1e4str xzr, [sp+232]
    0058c1e8stp xzr, xzr, [sp+264]
    0058c1ecldr x0, [sp+296]
    0058c1f0ldrsb x27, [x0]
    0058c1f4ldr x0, [x0+16]
    0058c1f8str x0, [sp+152]
    0058c1fcldr x4, [sp+328]
    0058c200ldr x3, [sp+120]
    0058c204ldr x2, [sp+320]
    0058c208ldr x1, [sp+304]
    0058c20cldr x5, [sp+336]
    0058c210ldr x6, [sp+344]
    0058c214bl crypto/internal/fips140/ecdsa.sign[go.shape.*crypto/internal/fips140/nistec.P521Point]
    0058c218str x0, [sp+232]
    0058c21cstr x1, [sp+264]
    0058c220str x2, [sp+272]
    0058c224ldr x0, [sp+232]
    0058c228str x0, [sp+144]
    0058c22cldr x0, [sp+264]
    0058c230ldr x1, [sp+272]
    0058c234str x0, [sp+128]
    0058c238str x1, [sp+136]
    0058c23cldr x0, [sp+144]
    0058c240str x0, [sp+112]
    0058c244ldr x1, [sp+128]
    0058c248ldr x2, [sp+136]
    0058c24cstr x1, [sp+96]
    0058c250str x2, [sp+104]
    0058c254ldr x0, [sp+112]
    0058c258ldp x29, x30, [sp-8]
    0058c25cadd sp, sp, 288
    0058c260ret x30
    0058c264
    0058c264loc_58c264:
    0058c264b 0x58c268
    0058c268
    0058c268loc_58c268:
    0058c268adrp x0, 0x137000
    0058c26cadd x0, x0, 3211
    0058c270movz x1, 39
    0058c274bl errors.New
    0058c278str x0, [sp+264]
    0058c27cstr x1, [sp+272]
    0058c280str xzr, [sp+112]
    0058c284ldr x1, [sp+264]
    0058c288ldr x2, [sp+272]
    0058c28cstr x1, [sp+96]
    0058c290str x2, [sp+104]
    0058c294ldr x0, [sp+112]
    0058c298ldp x29, x30, [sp-8]
    0058c29cadd sp, sp, 288
    0058c2a0ret x30
    0058c2a4
    0058c2a4loc_58c2a4:
    0058c2a4stp x0, x1, [sp+8]
    0058c2a8stp x2, x3, [sp+24]
    0058c2acstp x4, x5, [sp+40]
    0058c2b0str x6, [sp+56]
    0058c2b4mov x3, x30
    0058c2b8bl runtime.morestack_noctxt.abi0
    0058c2bcldp x0, x1, [sp+8]
    0058c2c0ldp x2, x3, [sp+24]
    0058c2c4ldp x4, x5, [sp+40]
    0058c2c8ldr x6, [sp+56]
    0058c2ccb 0x58c0b0
    0058c0b0
    0058c2d0
    0058c2d0crypto/internal/fips140/ecdsa.sign[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdsa.sign[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[2] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, crypto/internal/fips140/ecdsa.PrivateKey * priv, crypto/internal/fips140/ecdsa.hmacDRBG * drbg, struct []uint8 hash)
    0058c2d0ldr x16, [x28+16]
    0058c2d4sub x17, sp, 32
    0058c2d8subs xzr, x17, x16
    0058c2dcb.ls 0x58c390
    0058c2e0str x30, [sp-160]!
    0058c2e4stur x29, [sp-8]
    0058c2e8sub x29, sp, 8
    0058c2ecstr x0, [sp+168]
    0058c2f0str x1, [sp+176]
    0058c2f4str x2, [sp+184]
    0058c2f8str x3, [sp+192]
    0058c2fcstr x4, [sp+200]
    0058c300str x5, [sp+208]
    0058c304str x6, [sp+216]
    0058c308str xzr, [sp+88]
    0058c30cstp xzr, xzr, [sp+72]
    0058c310str xzr, [sp+96]
    0058c314stp xzr, xzr, [sp+136]
    0058c318ldr x7, [sp+168]
    0058c31cldrsb x27, [x7]
    0058c320ldr x0, [x7]
    0058c324str x0, [sp+128]
    0058c328ldr x4, [sp+200]
    0058c32cldr x3, [sp+192]
    0058c330ldr x2, [sp+184]
    0058c334ldr x1, [sp+176]
    0058c338ldr x5, [sp+208]
    0058c33cldr x6, [sp+216]
    0058c340bl crypto/internal/fips140/ecdsa.signGeneric[go.shape.*crypto/internal/fips140/nistec.P521Point]
    0058c344str x0, [sp+96]
    0058c348str x1, [sp+136]
    0058c34cstr x2, [sp+144]
    0058c350ldr x7, [sp+96]
    0058c354str x7, [sp+120]
    0058c358ldr x7, [sp+136]
    0058c35cldr x8, [sp+144]
    0058c360str x7, [sp+104]
    0058c364str x8, [sp+112]
    0058c368ldr x7, [sp+120]
    0058c36cstr x7, [sp+88]
    0058c370ldr x1, [sp+104]
    0058c374ldr x2, [sp+112]
    0058c378str x1, [sp+72]
    0058c37cstr x2, [sp+80]
    0058c380ldr x0, [sp+88]
    0058c384ldur x29, [sp-8]
    0058c388ldr x30, [sp], 160
    0058c38cret x30
    0058c390
    0058c390loc_58c390:
    0058c390stp x0, x1, [sp+8]
    0058c394stp x2, x3, [sp+24]
    0058c398stp x4, x5, [sp+40]
    0058c39cstr x6, [sp+56]
    0058c3a0mov x3, x30
    0058c3a4bl runtime.morestack_noctxt.abi0
    0058c3a8ldp x0, x1, [sp+8]
    0058c3acldp x2, x3, [sp+24]
    0058c3b0ldp x4, x5, [sp+40]
    0058c3b4ldr x6, [sp+56]
    0058c3b8b 0x58c2d0
    0058c3bcudf 0
    0058c2d0
    0058c3c0
    0058c3c0crypto/internal/fips140/ecdsa.signGeneric[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdsa.signGeneric[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[6] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, crypto/internal/fips140/ecdsa.PrivateKey * priv, crypto/internal/fips140/ecdsa.hmacDRBG * drbg, struct []uint8 hash)
    0058c3c0ldr x16, [x28+16]
    0058c3c4sub x17, sp, 416
    0058c3c8subs xzr, x17, x16
    0058c3ccb.ls 0x58c998
    0058c3d0sub x20, sp, 544
    0058c3d4stp x29, x30, [x20-8]
    0058c3d8add sp, x20, 0
    0058c3dcsub x29, sp, 8
    0058c3e0str x0, [sp+552]
    0058c3e4str x1, [sp+560]
    0058c3e8str x2, [sp+568]
    0058c3ecstr x3, [sp+576]
    0058c3f0str x4, [sp+584]
    0058c3f4str x5, [sp+592]
    0058c3f8str x6, [sp+600]
    0058c3fcstr xzr, [sp+88]
    0058c400stp xzr, xzr, [sp+72]
    0058c404str xzr, [sp+384]
    0058c408str xzr, [sp+376]
    0058c40cstp xzr, xzr, [sp+360]
    0058c410stp xzr, xzr, [sp+392]
    0058c414str xzr, [sp+408]
    0058c418add x3, sp, 392
    0058c41cstr x3, [sp+296]
    0058c420ldrsb x27, [x3]
    0058c424adrp x4, 0
    0058c428add x4, x4, 2512
    0058c42cstr x4, [x3]
    0058c430ldrsb x27, [x3]
    0058c434ldr x4, [sp+576]
    0058c438adrp x27, 0x4bf000
    0058c43cldr w5, [x27+3056]
    0058c440cbz w5, 0x58c448
    0058c444b 0x58c44c
    0058c448
    0058c448loc_58c448:
    0058c448b 0x58c460
    0058c44c
    0058c44cloc_58c44c:
    0058c44cbl runtime.gcWriteBarrier2
    0058c450str x4, [x25]
    0058c454ldr x5, [x3+8]
    0058c458str x5, [x25+8]
    0058c45cb 0x58c460
    0058c460
    0058c460loc_58c460:
    0058c460str x4, [x3+8]
    0058c464ldrsb x27, [x3]
    0058c468ldr x4, [sp+552]
    0058c46cadrp x27, 0x4bf000
    0058c470ldr w5, [x27+3056]
    0058c474cbz w5, 0x58c47c
    0058c478b 0x58c480
    0058c47c
    0058c47cloc_58c47c:
    0058c47cb 0x58c494
    0058c480
    0058c480loc_58c480:
    0058c480bl runtime.gcWriteBarrier2
    0058c484str x4, [x25]
    0058c488ldr x5, [x3+16]
    0058c48cstr x5, [x25+8]
    0058c490b 0x58c494
    0058c494
    0058c494loc_58c494:
    0058c494str x4, [x3+16]
    0058c498ldr x3, [sp+552]
    0058c49cldrsb x27, [x3]
    0058c4a0ldr x0, [x3+8]
    0058c4a4str x0, [sp+288]
    0058c4a8ldr x1, [sp+560]
    0058c4acldr x2, [sp+296]
    0058c4b0bl crypto/internal/fips140/ecdsa.randomPoint[go.shape.*crypto/internal/fips140/nistec.P521Point]
    0058c4b4str x0, [sp+384]
    0058c4b8str x1, [sp+376]
    0058c4bcstr x2, [sp+360]
    0058c4c0str x3, [sp+368]
    0058c4c4ldr x3, [sp+384]
    0058c4c8str x3, [sp+528]
    0058c4ccldr x3, [sp+376]
    0058c4d0str x3, [sp+520]
    0058c4d4ldr x3, [sp+360]
    0058c4d8ldr x4, [sp+368]
    0058c4dcstr x3, [sp+504]
    0058c4e0str x4, [sp+512]
    0058c4e4ldr x3, [sp+528]
    0058c4e8str x3, [sp+120]
    0058c4ecldr x3, [sp+520]
    0058c4f0str x3, [sp+176]
    0058c4f4ldr x3, [sp+512]
    0058c4f8ldr x4, [sp+504]
    0058c4fcstr x4, [sp+128]
    0058c500str x3, [sp+136]
    0058c504cbnz x4, 0x58c50c
    0058c508b 0x58c530
    0058c50c
    0058c50cloc_58c50c:
    0058c50cstr xzr, [sp+88]
    0058c510ldr x1, [sp+128]
    0058c514ldr x2, [sp+136]
    0058c518str x1, [sp+72]
    0058c51cstr x2, [sp+80]
    0058c520ldr x0, [sp+88]
    0058c524ldp x29, x30, [sp-8]
    0058c528add sp, sp, 544
    0058c52cret x30
    0058c530
    0058c530loc_58c530:
    0058c530bl crypto/internal/fips140/bigmod.NewNat
    0058c534str x0, [sp+112]
    0058c538ldr x0, [sp+552]
    0058c53cldrsb x27, [x0]
    0058c540ldr x0, [x0+16]
    0058c544str x0, [sp+280]
    0058c548ldr x2, [sp+112]
    0058c54cldr x3, [sp+120]
    0058c550ldr x1, [sp+560]
    0058c554bl crypto/internal/fips140/ecdsa.inverse[go.shape.*crypto/internal/fips140/nistec.P521Point]
    0058c558str xzr, [sp+336]
    0058c55cstp xzr, xzr, [sp+344]
    0058c560stp xzr, xzr, [sp+360]
    0058c564ldr x26, [sp+552]
    0058c568ldrsb x27, [x26]
    0058c56cldr x0, [x26]
    0058c570ldr x1, [sp+176]
    0058c574mov x2, x0
    0058c578mov x0, x1
    0058c57cblr x2
    0058c580str x0, [sp+336]
    0058c584str x1, [sp+344]
    0058c588str x2, [sp+352]
    0058c58cstr x3, [sp+360]
    0058c590str x4, [sp+368]
    0058c594ldr x0, [sp+336]
    0058c598ldr x1, [sp+344]
    0058c59cldr x2, [sp+352]
    0058c5a0str x0, [sp+480]
    0058c5a4str x1, [sp+488]
    0058c5a8str x2, [sp+496]
    0058c5acldr x0, [sp+360]
    0058c5b0ldr x1, [sp+368]
    0058c5b4str x0, [sp+464]
    0058c5b8str x1, [sp+472]
    0058c5bcldr x0, [sp+480]
    0058c5c0ldr x1, [sp+488]
    0058c5c4ldr x2, [sp+496]
    0058c5c8str x0, [sp+152]
    0058c5ccstr x1, [sp+160]
    0058c5d0str x2, [sp+168]
    0058c5d4ldr x0, [sp+472]
    0058c5d8ldr x1, [sp+464]
    0058c5dcstr x1, [sp+128]
    0058c5e0str x0, [sp+136]
    0058c5e4cbnz x1, 0x58c5ec
    0058c5e8b 0x58c610
    0058c5ec
    0058c5ecloc_58c5ec:
    0058c5ecstr xzr, [sp+88]
    0058c5f0ldr x1, [sp+128]
    0058c5f4ldr x2, [sp+136]
    0058c5f8str x1, [sp+72]
    0058c5fcstr x2, [sp+80]
    0058c600ldr x0, [sp+88]
    0058c604ldp x29, x30, [sp-8]
    0058c608add sp, sp, 544
    0058c60cret x30
    0058c610
    0058c610loc_58c610:
    0058c610bl crypto/internal/fips140/bigmod.NewNat
    0058c614str x0, [sp+384]
    0058c618str xzr, [sp+328]
    0058c61cstp xzr, xzr, [sp+360]
    0058c620ldr x0, [sp+560]
    0058c624ldrsb x27, [x0]
    0058c628ldr x4, [x0+32]
    0058c62cstr x4, [sp+272]
    0058c630ldr x1, [sp+152]
    0058c634ldr x2, [sp+160]
    0058c638ldr x3, [sp+168]
    0058c63cldr x0, [sp+384]
    0058c640bl crypto/internal/fips140/bigmod.(*Nat).SetOverflowingBytes
    0058c644str x0, [sp+328]
    0058c648str x1, [sp+360]
    0058c64cstr x2, [sp+368]
    0058c650ldr x0, [sp+328]
    0058c654str x0, [sp+456]
    0058c658ldr x0, [sp+360]
    0058c65cldr x1, [sp+368]
    0058c660str x0, [sp+440]
    0058c664str x1, [sp+448]
    0058c668ldr x0, [sp+456]
    0058c66cstr x0, [sp+104]
    0058c670ldr x0, [sp+448]
    0058c674ldr x1, [sp+440]
    0058c678str x1, [sp+128]
    0058c67cstr x0, [sp+136]
    0058c680cbnz x1, 0x58c688
    0058c684b 0x58c6ac
    0058c688
    0058c688loc_58c688:
    0058c688str xzr, [sp+88]
    0058c68cldr x1, [sp+128]
    0058c690ldr x2, [sp+136]
    0058c694str x1, [sp+72]
    0058c698str x2, [sp+80]
    0058c69cldr x0, [sp+88]
    0058c6a0ldp x29, x30, [sp-8]
    0058c6a4add sp, sp, 544
    0058c6a8ret x30
    0058c6ac
    0058c6acloc_58c6ac:
    0058c6acldr x0, [sp+104]
    0058c6b0bl crypto/internal/fips140/bigmod.(*Nat).IsZero
    0058c6b4str x0, [sp+64]
    0058c6b8subs xzr, x0, 1
    0058c6bcb.eq 0x58c6c4
    0058c6c0b 0x58c700
    0058c6c4
    0058c6c4loc_58c6c4:
    0058c6c4adrp x0, 0x132000
    0058c6c8add x0, x0, 3216
    0058c6ccorr x1, xzr, 32
    0058c6d0bl errors.New
    0058c6d4str x0, [sp+360]
    0058c6d8str x1, [sp+368]
    0058c6dcstr xzr, [sp+88]
    0058c6e0ldr x1, [sp+360]
    0058c6e4ldr x2, [sp+368]
    0058c6e8str x1, [sp+72]
    0058c6ecstr x2, [sp+80]
    0058c6f0ldr x0, [sp+88]
    0058c6f4ldp x29, x30, [sp-8]
    0058c6f8add sp, sp, 544
    0058c6fcret x30
    0058c700
    0058c700loc_58c700:
    0058c700bl crypto/internal/fips140/bigmod.NewNat
    0058c704str x0, [sp+144]
    0058c708ldr x0, [sp+552]
    0058c70cldrsb x27, [x0]
    0058c710ldr x0, [x0+24]
    0058c714str x0, [sp+264]
    0058c718ldr x3, [sp+584]
    0058c71cldr x2, [sp+144]
    0058c720ldr x1, [sp+560]
    0058c724ldr x4, [sp+592]
    0058c728ldr x5, [sp+600]
    0058c72cbl crypto/internal/fips140/ecdsa.hashToNat[go.shape.*crypto/internal/fips140/nistec.P521Point]
    0058c730bl crypto/internal/fips140/bigmod.NewNat
    0058c734str x0, [sp+328]
    0058c738str xzr, [sp+384]
    0058c73cstp xzr, xzr, [sp+360]
    0058c740ldr x0, [sp+568]
    0058c744ldrsb x27, [x0]
    0058c748ldr x1, [x0+40]
    0058c74cldr x2, [x0+48]
    0058c750ldr x0, [x0+56]
    0058c754str x1, [sp+240]
    0058c758str x2, [sp+248]
    0058c75cstr x0, [sp+256]
    0058c760ldr x0, [sp+560]
    0058c764ldrsb x27, [x0]
    0058c768ldr x4, [x0+32]
    0058c76cstr x4, [sp+232]
    0058c770ldr x1, [sp+240]
    0058c774ldr x2, [sp+248]
    0058c778ldr x3, [sp+256]
    0058c77cldr x0, [sp+328]
    0058c780bl crypto/internal/fips140/bigmod.(*Nat).SetBytes
    0058c784str x0, [sp+384]
    0058c788str x1, [sp+360]
    0058c78cstr x2, [sp+368]
    0058c790ldr x0, [sp+384]
    0058c794str x0, [sp+432]
    0058c798ldr x0, [sp+360]
    0058c79cldr x1, [sp+368]
    0058c7a0str x0, [sp+416]
    0058c7a4str x1, [sp+424]
    0058c7a8ldr x0, [sp+432]
    0058c7acstr x0, [sp+96]
    0058c7b0ldr x0, [sp+424]
    0058c7b4ldr x1, [sp+416]
    0058c7b8str x1, [sp+128]
    0058c7bcstr x0, [sp+136]
    0058c7c0cbnz x1, 0x58c7c8
    0058c7c4b 0x58c7ec
    0058c7c8
    0058c7c8loc_58c7c8:
    0058c7c8str xzr, [sp+88]
    0058c7ccldr x1, [sp+128]
    0058c7d0ldr x2, [sp+136]
    0058c7d4str x1, [sp+72]
    0058c7d8str x2, [sp+80]
    0058c7dcldr x0, [sp+88]
    0058c7e0ldp x29, x30, [sp-8]
    0058c7e4add sp, sp, 544
    0058c7e8ret x30
    0058c7ec
    0058c7ecloc_58c7ec:
    0058c7ecldr x3, [sp+560]
    0058c7f0ldrsb x27, [x3]
    0058c7f4ldr x2, [x3+32]
    0058c7f8str x2, [sp+224]
    0058c7fcldr x0, [sp+96]
    0058c800ldr x1, [sp+104]
    0058c804bl crypto/internal/fips140/bigmod.(*Nat).Mul
    0058c808ldr x3, [sp+560]
    0058c80cldrsb x27, [x3]
    0058c810ldr x2, [x3+32]
    0058c814str x2, [sp+216]
    0058c818ldr x0, [sp+96]
    0058c81cldr x1, [sp+144]
    0058c820bl crypto/internal/fips140/bigmod.(*Nat).Add
    0058c824ldr x3, [sp+560]
    0058c828ldrsb x27, [x3]
    0058c82cldr x2, [x3+32]
    0058c830str x2, [sp+208]
    0058c834ldr x0, [sp+96]
    0058c838ldr x1, [sp+112]
    0058c83cbl crypto/internal/fips140/bigmod.(*Nat).Mul
    0058c840ldr x0, [sp+96]
    0058c844bl crypto/internal/fips140/bigmod.(*Nat).IsZero
    0058c848str x0, [sp+64]
    0058c84csubs xzr, x0, 1
    0058c850b.eq 0x58c858
    0058c854b 0x58c894
    0058c858
    0058c858loc_58c858:
    0058c858adrp x0, 0x132000
    0058c85cadd x0, x0, 3248
    0058c860orr x1, xzr, 32
    0058c864bl errors.New
    0058c868str x0, [sp+360]
    0058c86cstr x1, [sp+368]
    0058c870str xzr, [sp+88]
    0058c874ldr x1, [sp+360]
    0058c878ldr x2, [sp+368]
    0058c87cstr x1, [sp+72]
    0058c880str x2, [sp+80]
    0058c884ldr x0, [sp+88]
    0058c888ldp x29, x30, [sp-8]
    0058c88cadd sp, sp, 544
    0058c890ret x30
    0058c894
    0058c894loc_58c894:
    0058c894ldr x2, [sp+560]
    0058c898ldrsb x27, [x2]
    0058c89cldr x1, [x2+32]
    0058c8a0str x1, [sp+200]
    0058c8a4ldr x0, [sp+104]
    0058c8a8bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    0058c8acstr x0, [sp+336]
    0058c8b0str x1, [sp+344]
    0058c8b4str x2, [sp+352]
    0058c8b8ldr x2, [sp+560]
    0058c8bcldrsb x27, [x2]
    0058c8c0ldr x1, [x2+32]
    0058c8c4str x1, [sp+192]
    0058c8c8ldr x0, [sp+96]
    0058c8ccbl crypto/internal/fips140/bigmod.(*Nat).Bytes
    0058c8d0str x0, [sp+304]
    0058c8d4str x1, [sp+312]
    0058c8d8str x2, [sp+320]
    0058c8dcadrp x0, 0xbc000
    0058c8e0add x0, x0, 96
    0058c8e4bl runtime.newobject
    0058c8e8str x0, [sp+184]
    0058c8ecldr x2, [sp+336]
    0058c8f0ldr x3, [sp+344]
    0058c8f4ldr x4, [sp+352]
    0058c8f8str x3, [x0+8]
    0058c8fcstr x4, [x0+16]
    0058c900adrp x27, 0x4bf000
    0058c904ldr w3, [x27+3056]
    0058c908cbz w3, 0x58c910
    0058c90cb 0x58c914
    0058c910
    0058c910loc_58c910:
    0058c910b 0x58c928
    0058c914
    0058c914loc_58c914:
    0058c914bl runtime.gcWriteBarrier2
    0058c918str x2, [x25]
    0058c91cldr x3, [x0]
    0058c920str x3, [x25+8]
    0058c924b 0x58c928
    0058c928
    0058c928loc_58c928:
    0058c928str x2, [x0]
    0058c92cldr x3, [sp+184]
    0058c930ldrsb x27, [x3]
    0058c934ldr x4, [sp+304]
    0058c938ldr x5, [sp+312]
    0058c93cldr x6, [sp+320]
    0058c940str x5, [x3+32]
    0058c944str x6, [x3+40]
    0058c948adrp x27, 0x4bf000
    0058c94cldr w5, [x27+3056]
    0058c950cbz w5, 0x58c958
    0058c954b 0x58c95c
    0058c958
    0058c958loc_58c958:
    0058c958b 0x58c970
    0058c95c
    0058c95cloc_58c95c:
    0058c95cbl runtime.gcWriteBarrier2
    0058c960str x4, [x25]
    0058c964ldr x5, [x3+24]
    0058c968str x5, [x25+8]
    0058c96cb 0x58c970
    0058c970
    0058c970loc_58c970:
    0058c970str x4, [x3+24]
    0058c974ldr x3, [sp+184]
    0058c978str x3, [sp+88]
    0058c97cstp xzr, xzr, [sp+72]
    0058c980ldr x0, [sp+88]
    0058c984mov x1, xzr
    0058c988mov x2, xzr
    0058c98cldp x29, x30, [sp-8]
    0058c990add sp, sp, 544
    0058c994ret x30
    0058c998
    0058c998loc_58c998:
    0058c998stp x0, x1, [sp+8]
    0058c99cstp x2, x3, [sp+24]
    0058c9a0stp x4, x5, [sp+40]
    0058c9a4str x6, [sp+56]
    0058c9a8mov x3, x30
    0058c9acbl runtime.morestack_noctxt.abi0
    0058c9b0ldp x0, x1, [sp+8]
    0058c9b4ldp x2, x3, [sp+24]
    0058c9b8ldp x4, x5, [sp+40]
    0058c9bcldr x6, [sp+56]
    0058c9c0b 0x58c3c0
    0058c9c4udf 0
    0058c9c8udf 0
    0058c9ccudf 0
    0058c3c0
    0058c9d0
    0058c9d0crypto/internal/fips140/ecdsa.signGeneric[go.shape.*crypto/internal/fips140/nistec.P521Point].func1: ; void crypto/internal/fips140/ecdsa.signGeneric[go.shape.*crypto/internal/fips140/nistec.P521Point].func1(struct []uint8 b)
    0058c9d0ldr x16, [x28+16]
    0058c9d4subs xzr, sp, x16
    0058c9d8b.ls 0x58ca34
    0058c9dcstr x30, [sp-80]!
    0058c9e0stur x29, [sp-8]
    0058c9e4sub x29, sp, 8
    0058c9e8str x0, [sp+88]
    0058c9ecstr x1, [sp+96]
    0058c9f0str x2, [sp+104]
    0058c9f4ldr x4, [x26+8]
    0058c9f8str x4, [sp+56]
    0058c9fcldr x4, [x26+16]
    0058ca00str x4, [sp+64]
    0058ca04stp xzr, xzr, [sp+40]
    0058ca08ldr x1, [sp+88]
    0058ca0cldr x2, [sp+96]
    0058ca10ldr x3, [sp+104]
    0058ca14ldr x0, [sp+56]
    0058ca18bl crypto/internal/fips140/ecdsa.(*hmacDRBG).Generate
    0058ca1cstp xzr, xzr, [sp+40]
    0058ca20mov x0, xzr
    0058ca24mov x1, xzr
    0058ca28ldur x29, [sp-8]
    0058ca2cldr x30, [sp], 80
    0058ca30ret x30
    0058ca34
    0058ca34loc_58ca34:
    0058ca34stp x0, x1, [sp+8]
    0058ca38str x2, [sp+24]
    0058ca3cmov x3, x30
    0058ca40bl runtime.morestack.abi0
    0058ca44ldp x0, x1, [sp+8]
    0058ca48ldr x2, [sp+24]
    0058ca4cb 0x58c9d0
    0058c9d0
    0058ca50
    0058ca50crypto/internal/fips140/ecdsa.randomPoint[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdsa.randomPoint[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[3] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, func([]uint8) error generate)
    0058ca50ldr x16, [x28+16]
    0058ca54sub x17, sp, 240
    0058ca58subs xzr, x17, x16
    0058ca5cb.ls 0x58ce70
    0058ca60sub x20, sp, 368
    0058ca64stp x29, x30, [x20-8]
    0058ca68add sp, x20, 0
    0058ca6csub x29, sp, 8
    0058ca70str x0, [sp+376]
    0058ca74str x1, [sp+384]
    0058ca78str x2, [sp+392]
    0058ca7cstr xzr, [sp+112]
    0058ca80str xzr, [sp+96]
    0058ca84stp xzr, xzr, [sp+168]
    0058ca88b 0x58ca8c
    0058ca8c
    0058ca8cloc_58ca8c:
    0058ca8cb 0x58ca90
    0058ca90
    0058ca90loc_58ca90:
    0058ca90ldr x1, [sp+384]
    0058ca94ldrsb x27, [x1]
    0058ca98ldr x0, [x1+32]
    0058ca9cstr x0, [sp+232]
    0058caa0bl crypto/internal/fips140/bigmod.(*Modulus).Size
    0058caa4str x0, [sp+80]
    0058caa8mov x1, x0
    0058caacmov x2, x1
    0058cab0adrp x0, 0x69000
    0058cab4add x0, x0, 3072
    0058cab8bl runtime.makeslice
    0058cabcldr x1, [sp+80]
    0058cac0ldr x2, [sp+80]
    0058cac4str x0, [sp+184]
    0058cac8str x1, [sp+192]
    0058caccstr x2, [sp+200]
    0058cad0ldr x26, [sp+392]
    0058cad4ldr x3, [x26]
    0058cad8blr x3
    0058cadcstr x0, [sp+152]
    0058cae0str x1, [sp+160]
    0058cae4cbnz x0, 0x58caec
    0058cae8b 0x58cb18
    0058caec
    0058caecloc_58caec:
    0058caecstr xzr, [sp+112]
    0058caf0str xzr, [sp+96]
    0058caf4ldr x2, [sp+152]
    0058caf8ldr x3, [sp+160]
    0058cafcstr x2, [sp+168]
    0058cb00str x3, [sp+176]
    0058cb04ldr x0, [sp+112]
    0058cb08ldr x1, [sp+96]
    0058cb0cldp x29, x30, [sp-8]
    0058cb10add sp, sp, 368
    0058cb14ret x30
    0058cb18
    0058cb18loc_58cb18:
    0058cb18ldr x1, [sp+192]
    0058cb1cstr x1, [sp+80]
    0058cb20ldr x1, [sp+384]
    0058cb24ldrsb x27, [x1]
    0058cb28ldr x0, [x1+32]
    0058cb2cstr x0, [sp+224]
    0058cb30bl crypto/internal/fips140/bigmod.(*Modulus).BitLen
    0058cb34str x0, [sp+72]
    0058cb38ldr x1, [sp+80]
    0058cb3cubfm x1, x1, 61, 60
    0058cb40sub x3, x1, x0
    0058cb44str x3, [sp+56]
    0058cb48subs xzr, x3, 0
    0058cb4cb.gt 0x58cb54
    0058cb50b 0x58cc64
    0058cb54
    0058cb54loc_58cb54:
    0058cb54ldr x4, [sp+384]
    0058cb58ldrsb x27, [x4]
    0058cb5cldr x4, [x4+8]
    0058cb60subs xzr, x4, 5
    0058cb64b.ne 0x58ce6c
    0058cb68b 0x58cb6c
    0058cb6c
    0058cb6cloc_58cb6c:
    0058cb6cldr x4, [sp+384]
    0058cb70ldrsb x27, [x4]
    0058cb74ldr x1, [x4+8]
    0058cb78ldr x4, [x4]
    0058cb7csubs xzr, x1, 0
    0058cb80b.hi 0x58cb88
    0058cb84b 0x58ce64
    0058cb88
    0058cb88loc_58cb88:
    0058cb88ldr x5, [sp+384]
    0058cb8cldrsb x27, [x5]
    0058cb90ldr x1, [x5+8]
    0058cb94ldr x5, [x5]
    0058cb98ldrb w4, [x4]
    0058cb9csubs xzr, x1, 1
    0058cba0b.hi 0x58cba8
    0058cba4b 0x58ce5c
    0058cba8
    0058cba8loc_58cba8:
    0058cba8ldr x6, [sp+384]
    0058cbacldrsb x27, [x6]
    0058cbb0ldr x1, [x6+8]
    0058cbb4ldr x6, [x6]
    0058cbb8ldrb w5, [x5+1]
    0058cbbcubfm x5, x5, 56, 7
    0058cbc0orr x4, x4, x5
    0058cbc4subs xzr, x1, 2
    0058cbc8b.hi 0x58cbd0
    0058cbccb 0x58ce54
    0058cbd0
    0058cbd0loc_58cbd0:
    0058cbd0ldr x5, [sp+384]
    0058cbd4ldrsb x27, [x5]
    0058cbd8ldr x1, [x5+8]
    0058cbdcldr x5, [x5]
    0058cbe0ldrb w6, [x6+2]
    0058cbe4ubfm x6, x6, 48, 7
    0058cbe8orr x4, x4, x6
    0058cbecsubs xzr, x1, 3
    0058cbf0b.hi 0x58cbf8
    0058cbf4b 0x58ce4c
    0058cbf8
    0058cbf8loc_58cbf8:
    0058cbf8ldrb w5, [x5+3]
    0058cbfcubfm x5, x5, 40, 7
    0058cc00orr x4, x4, x5
    0058cc04movz x5, 11600
    0058cc08movk x5, 0x32350000
    0058cc0csubs wzr, w4, w5
    0058cc10b.ne 0x58ce48
    0058cc14b 0x58cc18
    0058cc18
    0058cc18loc_58cc18:
    0058cc18ldr x4, [sp+384]
    0058cc1cldrsb x27, [x4]
    0058cc20ldr x1, [x4+8]
    0058cc24ldr x4, [x4]
    0058cc28subs xzr, x1, 4
    0058cc2cb.hi 0x58cc34
    0058cc30b 0x58ce40
    0058cc34
    0058cc34loc_58cc34:
    0058cc34ldrb w4, [x4+4]
    0058cc38subs wzr, w4, 49
    0058cc3cb.ne 0x58ce28
    0058cc40b 0x58cc44
    0058cc44
    0058cc44loc_58cc44:
    0058cc44ldr x0, [sp+184]
    0058cc48ldr x1, [sp+192]
    0058cc4cldr x2, [sp+200]
    0058cc50bl crypto/internal/fips140/ecdsa.rightShift
    0058cc54str x0, [sp+184]
    0058cc58str x1, [sp+192]
    0058cc5cstr x2, [sp+200]
    0058cc60b 0x58cc68
    0058cc64
    0058cc64loc_58cc64:
    0058cc64b 0x58cc68
    0058cc68
    0058cc68loc_58cc68:
    0058cc68bl crypto/internal/fips140/bigmod.NewNat
    0058cc6cstr x0, [sp+304]
    0058cc70str xzr, [sp+296]
    0058cc74stp xzr, xzr, [sp+280]
    0058cc78ldr x0, [sp+384]
    0058cc7cldrsb x27, [x0]
    0058cc80ldr x4, [x0+32]
    0058cc84str x4, [sp+216]
    0058cc88ldr x1, [sp+184]
    0058cc8cldr x2, [sp+192]
    0058cc90ldr x3, [sp+200]
    0058cc94ldr x0, [sp+304]
    0058cc98bl crypto/internal/fips140/bigmod.(*Nat).SetBytes
    0058cc9cstr x0, [sp+296]
    0058cca0str x1, [sp+280]
    0058cca4str x2, [sp+288]
    0058cca8ldr x0, [sp+296]
    0058ccacstr x0, [sp+352]
    0058ccb0ldr x0, [sp+280]
    0058ccb4ldr x1, [sp+288]
    0058ccb8str x0, [sp+336]
    0058ccbcstr x1, [sp+344]
    0058ccc0ldr x0, [sp+352]
    0058ccc4str x0, [sp+104]
    0058ccc8ldr x0, [sp+344]
    0058ccccldr x1, [sp+336]
    0058ccd0str x1, [sp+136]
    0058ccd4str x0, [sp+144]
    0058ccd8subs xzr, x1, 0
    0058ccdccset x0, ne
    0058cce0eor x0, x0, 1
    0058cce4strb w0, [sp+55]
    0058cce8cbnz x1, 0x58ccf0
    0058ccecb 0x58ccf4
    0058ccf0
    0058ccf0loc_58ccf0:
    0058ccf0b 0x58cd10
    0058ccf4
    0058ccf4loc_58ccf4:
    0058ccf4ldr x0, [sp+104]
    0058ccf8bl crypto/internal/fips140/bigmod.(*Nat).IsZero
    0058ccfcstr x0, [sp+64]
    0058cd00subs xzr, x0, 0
    0058cd04cset x1, eq
    0058cd08strb w1, [sp+55]
    0058cd0cb 0x58cd10
    0058cd10
    0058cd10loc_58cd10:
    0058cd10ldrb w1, [sp+55]
    0058cd14tbnz w1, 0, 0x58cd1c
    0058cd18b 0x58cdf8
    0058cd1c
    0058cd1cloc_58cd1c:
    0058cd1cldr x0, [sp+384]
    0058cd20ldrsb x27, [x0]
    0058cd24ldr x26, [x0+16]
    0058cd28ldr x0, [x26]
    0058cd2cblr x0
    0058cd30str x0, [sp+272]
    0058cd34ldr x0, [sp+384]
    0058cd38ldrsb x27, [x0]
    0058cd3cldr x1, [x0+32]
    0058cd40str x1, [sp+208]
    0058cd44ldr x0, [sp+104]
    0058cd48bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    0058cd4cstr x0, [sp+248]
    0058cd50str x1, [sp+256]
    0058cd54str x2, [sp+264]
    0058cd58str xzr, [sp+240]
    0058cd5cstp xzr, xzr, [sp+280]
    0058cd60ldr x26, [sp+376]
    0058cd64ldrsb x27, [x26]
    0058cd68ldr x0, [x26]
    0058cd6cldr x1, [sp+248]
    0058cd70ldr x2, [sp+256]
    0058cd74ldr x3, [sp+264]
    0058cd78ldr x4, [sp+272]
    0058cd7cmov x5, x0
    0058cd80mov x0, x4
    0058cd84blr x5
    0058cd88str x0, [sp+240]
    0058cd8cstr x1, [sp+280]
    0058cd90str x2, [sp+288]
    0058cd94ldr x0, [sp+240]
    0058cd98str x0, [sp+328]
    0058cd9cldr x0, [sp+280]
    0058cda0ldr x1, [sp+288]
    0058cda4str x0, [sp+312]
    0058cda8str x1, [sp+320]
    0058cdacldr x0, [sp+328]
    0058cdb0str x0, [sp+88]
    0058cdb4ldr x0, [sp+312]
    0058cdb8ldr x1, [sp+320]
    0058cdbcstr x0, [sp+120]
    0058cdc0str x1, [sp+128]
    0058cdc4ldr x0, [sp+104]
    0058cdc8str x0, [sp+112]
    0058cdccldr x0, [sp+88]
    0058cdd0str x0, [sp+96]
    0058cdd4ldr x2, [sp+120]
    0058cdd8ldr x3, [sp+128]
    0058cddcstr x2, [sp+168]
    0058cde0str x3, [sp+176]
    0058cde4ldr x0, [sp+112]
    0058cde8ldr x1, [sp+96]
    0058cdecldp x29, x30, [sp-8]
    0058cdf0add sp, sp, 368
    0058cdf4ret x30
    0058cdf8
    0058cdf8loc_58cdf8:
    0058cdf8adrp x27, 0x495000
    0058cdfcldr x1, [x27+376]
    0058ce00cbnz x1, 0x58ce08
    0058ce04b 0x58ce1c
    0058ce08
    0058ce08loc_58ce08:
    0058ce08adrp x27, 0x495000
    0058ce0cldr x26, [x27+376]
    0058ce10ldr x0, [x26]
    0058ce14blr x0
    0058ce18b 0x58ce20
    0058ce1c
    0058ce1cloc_58ce1c:
    0058ce1cb 0x58ce20
    0058ce20
    0058ce20loc_58ce20:
    0058ce20b 0x58ce24
    0058ce24
    0058ce24loc_58ce24:
    0058ce24b 0x58ca8c
    0058ce28
    0058ce28loc_58ce28:
    0058ce28b 0x58ce2c
    0058ce2c
    0058ce2cloc_58ce2c:
    0058ce2cadrp x0, 0x69000
    0058ce30add x0, x0, 2944
    0058ce34adrp x1, 0x186000
    0058ce38add x1, x1, 1600
    0058ce3cbl runtime.gopanic
    0058ce40
    0058ce40loc_58ce40:
    0058ce40orr x0, xzr, 4
    0058ce44bl runtime.panicIndex
    0058ce48
    0058ce48loc_58ce48:
    0058ce48b 0x58ce2c
    0058ce4c
    0058ce4cloc_58ce4c:
    0058ce4corr x0, xzr, 3
    0058ce50bl runtime.panicIndex
    0058ce54
    0058ce54loc_58ce54:
    0058ce54orr x0, xzr, 2
    0058ce58bl runtime.panicIndex
    0058ce5c
    0058ce5cloc_58ce5c:
    0058ce5corr x0, xzr, 1
    0058ce60bl runtime.panicIndex
    0058ce64
    0058ce64loc_58ce64:
    0058ce64mov x0, xzr
    0058ce68bl runtime.panicIndex
    0058ce6c
    0058ce6cloc_58ce6c:
    0058ce6cb 0x58ce2c
    0058ce70
    0058ce70loc_58ce70:
    0058ce70stp x0, x1, [sp+8]
    0058ce74str x2, [sp+24]
    0058ce78mov x3, x30
    0058ce7cbl runtime.morestack_noctxt.abi0
    0058ce80ldp x0, x1, [sp+8]
    0058ce84ldr x2, [sp+24]
    0058ce88b 0x58ca50
    0058ce8cudf 0
    0058ca50