File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    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
    002bad70
    002bad70crypto/ecdsa.randFieldElement: ; void crypto/ecdsa.randFieldElement(crypto/elliptic.Curve c, io.Reader rand)
    002bad70ldr x16, [x28+16]
    002bad74sub x17, sp, 80
    002bad78subs xzr, x17, x16
    002bad7cb.ls 0x2baf98
    002bad80str x30, [sp-208]!
    002bad84stur x29, [sp-8]
    002bad88sub x29, sp, 8
    002bad8cstr x0, [sp+216]
    002bad90str x1, [sp+224]
    002bad94str x2, [sp+232]
    002bad98str x3, [sp+240]
    002bad9cstr xzr, [sp+96]
    002bada0stp xzr, xzr, [sp+104]
    002bada4b 0x2bada8
    002bada8
    002bada8loc_2bada8:
    002bada8b 0x2badac
    002badac
    002badacloc_2badac:
    002badacldr x1, [sp+216]
    002badb0ldrsb x27, [x1]
    002badb4ldr x0, [sp+224]
    002badb8ldr x1, [x1+48]
    002badbcblr x1
    002badc0str x0, [sp+152]
    002badc4ldrsb x27, [x0]
    002badc8ldr x0, [x0+8]
    002badccstr x0, [sp+144]
    002badd0bl math/big.(*Int).BitLen
    002badd4str x0, [sp+88]
    002badd8add x1, x0, 7
    002baddcsbfm x1, x1, 63, 63
    002bade0add x1, x0, x1, lsr #61
    002bade4add x1, x1, 7
    002bade8sbfm x2, x1, 3, 63
    002badecstr x2, [sp+72]
    002badf0adrp x0, 0x33b000
    002badf4add x0, x0, 3072
    002badf8mov x1, x2
    002badfcbl runtime.makeslice
    002bae00ldr x1, [sp+72]
    002bae04ldr x2, [sp+72]
    002bae08str x0, [sp+120]
    002bae0cstr x1, [sp+128]
    002bae10str x2, [sp+136]
    002bae14stp xzr, xzr, [sp+184]
    002bae18ldr x0, [sp+232]
    002bae1cldr x2, [sp+120]
    002bae20ldr x3, [sp+128]
    002bae24ldr x1, [sp+240]
    002bae28ldr x4, [sp+136]
    002bae2cbl io.ReadFull
    002bae30str x0, [sp+88]
    002bae34str x1, [sp+184]
    002bae38str x2, [sp+192]
    002bae3cldr x3, [sp+88]
    002bae40str x3, [sp+64]
    002bae44str x1, [sp+160]
    002bae48str x2, [sp+168]
    002bae4cstr x1, [sp+104]
    002bae50str x2, [sp+112]
    002bae54cbnz x1, 0x2bae5c
    002bae58b 0x2bae6c
    002bae5c
    002bae5cloc_2bae5c:
    002bae5cldr x0, [sp+96]
    002bae60ldur x29, [sp-8]
    002bae64ldr x30, [sp], 208
    002bae68ret x30
    002bae6c
    002bae6cloc_2bae6c:
    002bae6cldr x1, [sp+128]
    002bae70str x1, [sp+88]
    002bae74ldr x0, [sp+144]
    002bae78bl math/big.(*Int).BitLen
    002bae7cstr x0, [sp+80]
    002bae80ldr x1, [sp+88]
    002bae84ubfm x1, x1, 61, 60
    002bae88sub x1, x1, x0
    002bae8cstr x1, [sp+56]
    002bae90subs xzr, x1, 0
    002bae94b.gt 0x2bae9c
    002bae98b 0x2baee4
    002bae9c
    002bae9cloc_2bae9c:
    002bae9cldr x2, [sp+128]
    002baea0ldr x3, [sp+120]
    002baea4subs xzr, x2, 0
    002baea8b.hi 0x2baeb0
    002baeacb 0x2baf88
    002baeb0
    002baeb0loc_2baeb0:
    002baeb0ldrb w2, [x3]
    002baeb4tbz x1, 63, 0x2baebc
    002baeb8b 0x2baf84
    002baebc
    002baebcloc_2baebc:
    002baebcldr x3, [sp+128]
    002baec0ldr x4, [sp+120]
    002baec4lsrv x2, x2, x1
    002baec8subs xzr, x1, 64
    002baecccsel x2, x2, xzr, lo
    002baed0subs xzr, x3, 0
    002baed4b.hi 0x2baedc
    002baed8b 0x2baf78
    002baedc
    002baedcloc_2baedc:
    002baedcstrb w2, [x4]
    002baee0b 0x2baee8
    002baee4
    002baee4loc_2baee4:
    002baee4b 0x2baee8
    002baee8
    002baee8loc_2baee8:
    002baee8adrp x0, 0x38b000
    002baeecadd x0, x0, 1024
    002baef0bl runtime.newobject
    002baef4str x0, [sp+176]
    002baef8ldr x1, [sp+120]
    002baefcldr x2, [sp+128]
    002baf00ldr x3, [sp+136]
    002baf04bl math/big.(*Int).SetBytes
    002baf08str x0, [sp+96]
    002baf0cbl math/big.(*Int).Sign
    002baf10str x0, [sp+80]
    002baf14subs xzr, x0, 0
    002baf18cset x1, ne
    002baf1cstrb w1, [sp+55]
    002baf20cbnz x0, 0x2baf28
    002baf24b 0x2baf48
    002baf28
    002baf28loc_2baf28:
    002baf28ldr x0, [sp+96]
    002baf2cldr x1, [sp+144]
    002baf30bl math/big.(*Int).Cmp
    002baf34str x0, [sp+88]
    002baf38subs xzr, x0, 0
    002baf3ccset x2, lt
    002baf40strb w2, [sp+55]
    002baf44b 0x2baf4c
    002baf48
    002baf48loc_2baf48:
    002baf48b 0x2baf4c
    002baf4c
    002baf4cloc_2baf4c:
    002baf4cldrb w3, [sp+55]
    002baf50tbnz w3, 0, 0x2baf58
    002baf54b 0x2baf70
    002baf58
    002baf58loc_2baf58:
    002baf58ldr x1, [sp+104]
    002baf5cldr x2, [sp+112]
    002baf60ldr x0, [sp+96]
    002baf64ldur x29, [sp-8]
    002baf68ldr x30, [sp], 208
    002baf6cret x30
    002baf70
    002baf70loc_2baf70:
    002baf70b 0x2baf74
    002baf74
    002baf74loc_2baf74:
    002baf74b 0x2bada8
    002baf78
    002baf78loc_2baf78:
    002baf78mov x0, xzr
    002baf7cmov x1, x3
    002baf80bl runtime.panicIndex
    002baf84
    002baf84loc_2baf84:
    002baf84bl runtime.panicshift
    002baf88
    002baf88loc_2baf88:
    002baf88mov x0, xzr
    002baf8cmov x1, x2
    002baf90bl runtime.panicIndex
    002baf94hint
    002baf98
    002baf98loc_2baf98:
    002baf98stp x0, x1, [sp+8]
    002baf9cstp x2, x3, [sp+24]
    002bafa0mov x3, x30
    002bafa4bl runtime.morestack_noctxt.abi0
    002bafa8ldp x0, x1, [sp+8]
    002bafacldp x2, x3, [sp+24]
    002bafb0b 0x2bad70
    002bafb4udf 0
    002bafb8udf 0
    002bafbcudf 0
    002bad70
    002bafc0
    002bafc0crypto/ecdsa.verifyFIPS[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/ecdsa.verifyFIPS[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[3] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, crypto/ecdsa.PublicKey * pub, struct []uint8 hash, struct []uint8 sig)
    002bafc0ldr x16, [x28+16]
    002bafc4sub x17, sp, 272
    002bafc8subs xzr, x17, x16
    002bafccb.ls 0x2bb264
    002bafd0sub x20, sp, 400
    002bafd4stp x29, x30, [x20-8]
    002bafd8add sp, x20, 0
    002bafdcsub x29, sp, 8
    002bafe0str x0, [sp+408]
    002bafe4str x1, [sp+416]
    002bafe8str x2, [sp+424]
    002bafecstr x3, [sp+432]
    002baff0str x4, [sp+440]
    002baff4str x5, [sp+448]
    002baff8str x6, [sp+456]
    002baffcstr x7, [sp+464]
    002bb000str x8, [sp+472]
    002bb004strb wzr, [sp+71]
    002bb008str xzr, [sp+304]
    002bb00cstp xzr, xzr, [sp+312]
    002bb010str xzr, [sp+280]
    002bb014stp xzr, xzr, [sp+288]
    002bb018stp xzr, xzr, [sp+264]
    002bb01cldr x0, [sp+456]
    002bb020ldr x1, [sp+464]
    002bb024ldr x2, [sp+472]
    002bb028bl crypto/ecdsa.parseSignature
    002bb02cstr x0, [sp+304]
    002bb030str x1, [sp+312]
    002bb034str x2, [sp+320]
    002bb038str x3, [sp+280]
    002bb03cstr x4, [sp+288]
    002bb040str x5, [sp+296]
    002bb044str x6, [sp+264]
    002bb048str x7, [sp+272]
    002bb04cldr x3, [sp+312]
    002bb050ldr x4, [sp+320]
    002bb054ldr x5, [sp+304]
    002bb058str x5, [sp+160]
    002bb05cstr x3, [sp+168]
    002bb060str x4, [sp+176]
    002bb064ldr x3, [sp+280]
    002bb068ldr x4, [sp+288]
    002bb06cldr x5, [sp+296]
    002bb070str x3, [sp+368]
    002bb074str x4, [sp+376]
    002bb078str x5, [sp+384]
    002bb07cldr x3, [sp+264]
    002bb080ldr x4, [sp+272]
    002bb084str x3, [sp+352]
    002bb088str x4, [sp+360]
    002bb08cldr x3, [sp+160]
    002bb090ldr x4, [sp+168]
    002bb094ldr x5, [sp+176]
    002bb098str x3, [sp+96]
    002bb09cstr x4, [sp+104]
    002bb0a0str x5, [sp+112]
    002bb0a4ldr x3, [sp+368]
    002bb0a8ldr x4, [sp+376]
    002bb0acldr x5, [sp+384]
    002bb0b0str x3, [sp+72]
    002bb0b4str x4, [sp+80]
    002bb0b8str x5, [sp+88]
    002bb0bcldr x3, [sp+360]
    002bb0c0ldr x4, [sp+352]
    002bb0c4str x4, [sp+144]
    002bb0c8str x3, [sp+152]
    002bb0cccbnz x4, 0x2bb0d4
    002bb0d0b 0x2bb0e8
    002bb0d4
    002bb0d4loc_2bb0d4:
    002bb0d4strb wzr, [sp+71]
    002bb0d8mov x0, xzr
    002bb0dcldp x29, x30, [sp-8]
    002bb0e0add sp, sp, 400
    002bb0e4ret x30
    002bb0e8
    002bb0e8loc_2bb0e8:
    002bb0e8str xzr, [sp+256]
    002bb0ecstp xzr, xzr, [sp+264]
    002bb0f0ldr x3, [sp+408]
    002bb0f4ldrsb x27, [x3]
    002bb0f8ldr x0, [x3]
    002bb0fcstr x0, [sp+248]
    002bb100ldr x2, [sp+424]
    002bb104ldr x1, [sp+416]
    002bb108bl crypto/ecdsa.publicKeyToFIPS[go.shape.*crypto/internal/fips140/nistec.P521Point]
    002bb10cstr x0, [sp+256]
    002bb110str x1, [sp+264]
    002bb114str x2, [sp+272]
    002bb118ldr x3, [sp+256]
    002bb11cstr x3, [sp+344]
    002bb120ldr x3, [sp+264]
    002bb124ldr x4, [sp+272]
    002bb128str x3, [sp+328]
    002bb12cstr x4, [sp+336]
    002bb130ldr x3, [sp+344]
    002bb134str x3, [sp+120]
    002bb138ldr x3, [sp+336]
    002bb13cldr x4, [sp+328]
    002bb140str x4, [sp+144]
    002bb144str x3, [sp+152]
    002bb148cbnz x4, 0x2bb150
    002bb14cb 0x2bb164
    002bb150
    002bb150loc_2bb150:
    002bb150strb wzr, [sp+71]
    002bb154mov x0, xzr
    002bb158ldp x29, x30, [sp-8]
    002bb15cadd sp, sp, 400
    002bb160ret x30
    002bb164
    002bb164loc_2bb164:
    002bb164stp xzr, xzr, [sp+192]
    002bb168stp xzr, xzr, [sp+208]
    002bb16cstp xzr, xzr, [sp+224]
    002bb170add x7, sp, 192
    002bb174str x7, [sp+240]
    002bb178ldrsb x27, [x7]
    002bb17cldr x8, [sp+96]
    002bb180ldr x9, [sp+104]
    002bb184ldr x10, [sp+112]
    002bb188str x9, [x7+8]
    002bb18cstr x10, [x7+16]
    002bb190adrp x27, 0x790000
    002bb194ldr w9, [x27+3056]
    002bb198cbz w9, 0x2bb1a0
    002bb19cb 0x2bb1a4
    002bb1a0
    002bb1a0loc_2bb1a0:
    002bb1a0b 0x2bb1b8
    002bb1a4
    002bb1a4loc_2bb1a4:
    002bb1a4bl runtime.gcWriteBarrier2
    002bb1a8str x8, [x25]
    002bb1acldr x9, [x7]
    002bb1b0str x9, [x25+8]
    002bb1b4b 0x2bb1b8
    002bb1b8
    002bb1b8loc_2bb1b8:
    002bb1b8str x8, [x7]
    002bb1bcldrsb x27, [x7]
    002bb1c0ldr x8, [sp+72]
    002bb1c4ldr x9, [sp+80]
    002bb1c8ldr x10, [sp+88]
    002bb1ccstr x9, [x7+32]
    002bb1d0str x10, [x7+40]
    002bb1d4adrp x27, 0x790000
    002bb1d8ldr w9, [x27+3056]
    002bb1dccbz w9, 0x2bb1e4
    002bb1e0b 0x2bb1e8
    002bb1e4
    002bb1e4loc_2bb1e4:
    002bb1e4b 0x2bb1fc
    002bb1e8
    002bb1e8loc_2bb1e8:
    002bb1e8bl runtime.gcWriteBarrier2
    002bb1ecstr x8, [x25]
    002bb1f0ldr x9, [x7+24]
    002bb1f4str x9, [x25+8]
    002bb1f8b 0x2bb1fc
    002bb1fc
    002bb1fcloc_2bb1fc:
    002bb1fcstr x8, [x7+24]
    002bb200ldr x7, [sp+408]
    002bb204ldrsb x27, [x7]
    002bb208ldr x0, [x7+8]
    002bb20cstr x0, [sp+184]
    002bb210ldr x3, [sp+432]
    002bb214ldr x2, [sp+120]
    002bb218ldr x1, [sp+416]
    002bb21cldr x4, [sp+440]
    002bb220ldr x5, [sp+448]
    002bb224ldr x6, [sp+240]
    002bb228bl crypto/internal/fips140/ecdsa.Verify[go.shape.*crypto/internal/fips140/nistec.P521Point]
    002bb22cstr x0, [sp+128]
    002bb230str x1, [sp+136]
    002bb234cbnz x0, 0x2bb23c
    002bb238b 0x2bb250
    002bb23c
    002bb23cloc_2bb23c:
    002bb23cstrb wzr, [sp+71]
    002bb240mov x0, xzr
    002bb244ldp x29, x30, [sp-8]
    002bb248add sp, sp, 400
    002bb24cret x30
    002bb250
    002bb250loc_2bb250:
    002bb250orr x0, xzr, 1
    002bb254strb w0, [sp+71]
    002bb258ldp x29, x30, [sp-8]
    002bb25cadd sp, sp, 400
    002bb260ret x30
    002bb264
    002bb264loc_2bb264:
    002bb264stp x0, x1, [sp+8]
    002bb268stp x2, x3, [sp+24]
    002bb26cstp x4, x5, [sp+40]
    002bb270stp x6, x7, [sp+56]
    002bb274str x8, [sp+72]
    002bb278mov x3, x30
    002bb27cbl runtime.morestack_noctxt.abi0
    002bb280ldp x0, x1, [sp+8]
    002bb284ldp x2, x3, [sp+24]
    002bb288ldp x4, x5, [sp+40]
    002bb28cldp x6, x7, [sp+56]
    002bb290ldr x8, [sp+72]
    002bb294b 0x2bafc0
    002bb298udf 0
    002bb29cudf 0
    002bafc0
    002bb2a0
    002bb2a0crypto/ecdsa.publicKeyToFIPS[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/ecdsa.publicKeyToFIPS[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[2] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, crypto/ecdsa.PublicKey * pub)
    002bb2a0ldr x16, [x28+16]
    002bb2a4sub x17, sp, 144
    002bb2a8subs xzr, x17, x16
    002bb2acb.ls 0x2bb430
    002bb2b0sub x20, sp, 272
    002bb2b4stp x29, x30, [x20-8]
    002bb2b8add sp, x20, 0
    002bb2bcsub x29, sp, 8
    002bb2c0str x0, [sp+280]
    002bb2c4str x1, [sp+288]
    002bb2c8str x2, [sp+296]
    002bb2ccstr xzr, [sp+64]
    002bb2d0stp xzr, xzr, [sp+48]
    002bb2d4str xzr, [sp+224]
    002bb2d8stp xzr, xzr, [sp+232]
    002bb2dcstp xzr, xzr, [sp+208]
    002bb2e0ldr x4, [sp+296]
    002bb2e4ldrsb x27, [x4]
    002bb2e8ldr x5, [x4]
    002bb2ecldr x4, [x4+8]
    002bb2f0str x5, [sp+184]
    002bb2f4str x4, [sp+192]
    002bb2f8ldr x4, [sp+296]
    002bb2fcldrsb x27, [x4]
    002bb300ldr x4, [x4+16]
    002bb304str x4, [sp+176]
    002bb308ldr x4, [sp+296]
    002bb30cldrsb x27, [x4]
    002bb310ldr x3, [x4+24]
    002bb314str x3, [sp+168]
    002bb318ldr x0, [sp+184]
    002bb31cldr x1, [sp+192]
    002bb320ldr x2, [sp+176]
    002bb324bl crypto/ecdsa.pointFromAffine
    002bb328str x0, [sp+224]
    002bb32cstr x1, [sp+232]
    002bb330str x2, [sp+240]
    002bb334str x3, [sp+208]
    002bb338str x4, [sp+216]
    002bb33cldr x4, [sp+224]
    002bb340ldr x5, [sp+232]
    002bb344ldr x6, [sp+240]
    002bb348str x4, [sp+136]
    002bb34cstr x5, [sp+144]
    002bb350str x6, [sp+152]
    002bb354ldr x4, [sp+208]
    002bb358ldr x5, [sp+216]
    002bb35cstr x4, [sp+120]
    002bb360str x5, [sp+128]
    002bb364ldr x4, [sp+136]
    002bb368ldr x5, [sp+144]
    002bb36cldr x6, [sp+152]
    002bb370str x4, [sp+88]
    002bb374str x5, [sp+96]
    002bb378str x6, [sp+104]
    002bb37cldr x4, [sp+128]
    002bb380ldr x5, [sp+120]
    002bb384str x5, [sp+72]
    002bb388str x4, [sp+80]
    002bb38ccbnz x5, 0x2bb394
    002bb390b 0x2bb3b8
    002bb394
    002bb394loc_2bb394:
    002bb394str xzr, [sp+64]
    002bb398ldr x1, [sp+72]
    002bb39cldr x2, [sp+80]
    002bb3a0str x1, [sp+48]
    002bb3a4str x2, [sp+56]
    002bb3a8ldr x0, [sp+64]
    002bb3acldp x29, x30, [sp-8]
    002bb3b0add sp, sp, 272
    002bb3b4ret x30
    002bb3b8
    002bb3b8loc_2bb3b8:
    002bb3b8str xzr, [sp+200]
    002bb3bcstp xzr, xzr, [sp+208]
    002bb3c0ldr x5, [sp+280]
    002bb3c4ldrsb x27, [x5]
    002bb3c8ldr x0, [x5]
    002bb3ccstr x0, [sp+160]
    002bb3d0ldr x2, [sp+88]
    002bb3d4ldr x1, [sp+288]
    002bb3d8ldr x3, [sp+96]
    002bb3dcldr x4, [sp+104]
    002bb3e0bl crypto/internal/fips140/ecdsa.NewPublicKey[go.shape.*crypto/internal/fips140/nistec.P521Point]
    002bb3e4str x0, [sp+200]
    002bb3e8str x1, [sp+208]
    002bb3ecstr x2, [sp+216]
    002bb3f0ldr x5, [sp+200]
    002bb3f4str x5, [sp+112]
    002bb3f8ldr x5, [sp+208]
    002bb3fcldr x6, [sp+216]
    002bb400str x5, [sp+248]
    002bb404str x6, [sp+256]
    002bb408ldr x5, [sp+112]
    002bb40cstr x5, [sp+64]
    002bb410ldr x1, [sp+248]
    002bb414ldr x2, [sp+256]
    002bb418str x1, [sp+48]
    002bb41cstr x2, [sp+56]
    002bb420ldr x0, [sp+64]
    002bb424ldp x29, x30, [sp-8]
    002bb428add sp, sp, 272
    002bb42cret x30
    002bb430
    002bb430loc_2bb430:
    002bb430stp x0, x1, [sp+8]
    002bb434str x2, [sp+24]
    002bb438mov x3, x30
    002bb43cbl runtime.morestack_noctxt.abi0
    002bb440ldp x0, x1, [sp+8]
    002bb444ldr x2, [sp+24]
    002bb448b 0x2bb2a0
    002bb44cudf 0
    002bb2a0
    002bb450
    002bb450crypto/ecdsa.verifyFIPS[go.shape.*crypto/internal/fips140/nistec.P384Point]: ; void crypto/ecdsa.verifyFIPS[go.shape.*crypto/internal/fips140/nistec.P384Point](uintptr[3] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P384Point] * c, crypto/ecdsa.PublicKey * pub, struct []uint8 hash, struct []uint8 sig)
    002bb450ldr x16, [x28+16]
    002bb454sub x17, sp, 272
    002bb458subs xzr, x17, x16
    002bb45cb.ls 0x2bb6f4
    002bb460sub x20, sp, 400
    002bb464stp x29, x30, [x20-8]
    002bb468add sp, x20, 0
    002bb46csub x29, sp, 8
    002bb470str x0, [sp+408]
    002bb474str x1, [sp+416]
    002bb478str x2, [sp+424]
    002bb47cstr x3, [sp+432]
    002bb480str x4, [sp+440]
    002bb484str x5, [sp+448]
    002bb488str x6, [sp+456]
    002bb48cstr x7, [sp+464]
    002bb490str x8, [sp+472]
    002bb494strb wzr, [sp+71]
    002bb498str xzr, [sp+304]
    002bb49cstp xzr, xzr, [sp+312]
    002bb4a0str xzr, [sp+280]
    002bb4a4stp xzr, xzr, [sp+288]
    002bb4a8stp xzr, xzr, [sp+264]
    002bb4acldr x0, [sp+456]
    002bb4b0ldr x1, [sp+464]
    002bb4b4ldr x2, [sp+472]
    002bb4b8bl crypto/ecdsa.parseSignature
    002bb4bcstr x0, [sp+304]
    002bb4c0str x1, [sp+312]
    002bb4c4str x2, [sp+320]
    002bb4c8str x3, [sp+280]
    002bb4ccstr x4, [sp+288]
    002bb4d0str x5, [sp+296]
    002bb4d4str x6, [sp+264]
    002bb4d8str x7, [sp+272]
    002bb4dcldr x3, [sp+312]
    002bb4e0ldr x4, [sp+320]
    002bb4e4ldr x5, [sp+304]
    002bb4e8str x5, [sp+160]
    002bb4ecstr x3, [sp+168]
    002bb4f0str x4, [sp+176]
    002bb4f4ldr x3, [sp+280]
    002bb4f8ldr x4, [sp+288]
    002bb4fcldr x5, [sp+296]
    002bb500str x3, [sp+368]
    002bb504str x4, [sp+376]
    002bb508str x5, [sp+384]
    002bb50cldr x3, [sp+264]
    002bb510ldr x4, [sp+272]
    002bb514str x3, [sp+352]
    002bb518str x4, [sp+360]
    002bb51cldr x3, [sp+160]
    002bb520ldr x4, [sp+168]
    002bb524ldr x5, [sp+176]
    002bb528str x3, [sp+96]
    002bb52cstr x4, [sp+104]
    002bb530str x5, [sp+112]
    002bb534ldr x3, [sp+368]
    002bb538ldr x4, [sp+376]
    002bb53cldr x5, [sp+384]
    002bb540str x3, [sp+72]
    002bb544str x4, [sp+80]
    002bb548str x5, [sp+88]
    002bb54cldr x3, [sp+360]
    002bb550ldr x4, [sp+352]
    002bb554str x4, [sp+144]
    002bb558str x3, [sp+152]
    002bb55ccbnz x4, 0x2bb564
    002bb560b 0x2bb578
    002bb564
    002bb564loc_2bb564:
    002bb564strb wzr, [sp+71]
    002bb568mov x0, xzr
    002bb56cldp x29, x30, [sp-8]
    002bb570add sp, sp, 400
    002bb574ret x30
    002bb578
    002bb578loc_2bb578:
    002bb578str xzr, [sp+256]
    002bb57cstp xzr, xzr, [sp+264]
    002bb580ldr x3, [sp+408]
    002bb584ldrsb x27, [x3]
    002bb588ldr x0, [x3]
    002bb58cstr x0, [sp+248]
    002bb590ldr x2, [sp+424]
    002bb594ldr x1, [sp+416]
    002bb598bl crypto/ecdsa.publicKeyToFIPS[go.shape.*crypto/internal/fips140/nistec.P384Point]
    002bb59cstr x0, [sp+256]
    002bb5a0str x1, [sp+264]
    002bb5a4str x2, [sp+272]
    002bb5a8ldr x3, [sp+256]
    002bb5acstr x3, [sp+344]
    002bb5b0ldr x3, [sp+264]
    002bb5b4ldr x4, [sp+272]
    002bb5b8str x3, [sp+328]
    002bb5bcstr x4, [sp+336]
    002bb5c0ldr x3, [sp+344]
    002bb5c4str x3, [sp+120]
    002bb5c8ldr x3, [sp+336]
    002bb5ccldr x4, [sp+328]
    002bb5d0str x4, [sp+144]
    002bb5d4str x3, [sp+152]
    002bb5d8cbnz x4, 0x2bb5e0
    002bb5dcb 0x2bb5f4
    002bb5e0
    002bb5e0loc_2bb5e0:
    002bb5e0strb wzr, [sp+71]
    002bb5e4mov x0, xzr
    002bb5e8ldp x29, x30, [sp-8]
    002bb5ecadd sp, sp, 400
    002bb5f0ret x30
    002bb5f4
    002bb5f4loc_2bb5f4:
    002bb5f4stp xzr, xzr, [sp+192]
    002bb5f8stp xzr, xzr, [sp+208]
    002bb5fcstp xzr, xzr, [sp+224]
    002bb600add x7, sp, 192
    002bb604str x7, [sp+240]
    002bb608ldrsb x27, [x7]
    002bb60cldr x8, [sp+96]
    002bb610ldr x9, [sp+104]
    002bb614ldr x10, [sp+112]
    002bb618str x9, [x7+8]
    002bb61cstr x10, [x7+16]
    002bb620adrp x27, 0x790000
    002bb624ldr w9, [x27+3056]
    002bb628cbz w9, 0x2bb630
    002bb62cb 0x2bb634
    002bb630
    002bb630loc_2bb630:
    002bb630b 0x2bb648
    002bb634
    002bb634loc_2bb634:
    002bb634bl runtime.gcWriteBarrier2
    002bb638str x8, [x25]
    002bb63cldr x9, [x7]
    002bb640str x9, [x25+8]
    002bb644b 0x2bb648
    002bb648
    002bb648loc_2bb648:
    002bb648str x8, [x7]
    002bb64cldrsb x27, [x7]
    002bb650ldr x8, [sp+72]
    002bb654ldr x9, [sp+80]
    002bb658ldr x10, [sp+88]
    002bb65cstr x9, [x7+32]
    002bb660str x10, [x7+40]
    002bb664adrp x27, 0x790000
    002bb668ldr w9, [x27+3056]
    002bb66ccbz w9, 0x2bb674
    002bb670b 0x2bb678
    002bb674
    002bb674loc_2bb674:
    002bb674b 0x2bb68c
    002bb678
    002bb678loc_2bb678:
    002bb678bl runtime.gcWriteBarrier2
    002bb67cstr x8, [x25]
    002bb680ldr x9, [x7+24]
    002bb684str x9, [x25+8]
    002bb688b 0x2bb68c
    002bb68c
    002bb68cloc_2bb68c:
    002bb68cstr x8, [x7+24]
    002bb690ldr x7, [sp+408]
    002bb694ldrsb x27, [x7]
    002bb698ldr x0, [x7+8]
    002bb69cstr x0, [sp+184]
    002bb6a0ldr x3, [sp+432]
    002bb6a4ldr x2, [sp+120]
    002bb6a8ldr x1, [sp+416]
    002bb6acldr x4, [sp+440]
    002bb6b0ldr x5, [sp+448]
    002bb6b4ldr x6, [sp+240]
    002bb6b8bl crypto/internal/fips140/ecdsa.Verify[go.shape.*crypto/internal/fips140/nistec.P384Point]
    002bb6bcstr x0, [sp+128]
    002bb6c0str x1, [sp+136]
    002bb6c4cbnz x0, 0x2bb6cc
    002bb6c8b 0x2bb6e0
    002bb6cc
    002bb6ccloc_2bb6cc:
    002bb6ccstrb wzr, [sp+71]
    002bb6d0mov x0, xzr
    002bb6d4ldp x29, x30, [sp-8]
    002bb6d8add sp, sp, 400
    002bb6dcret x30
    002bb6e0
    002bb6e0loc_2bb6e0:
    002bb6e0orr x0, xzr, 1
    002bb6e4strb w0, [sp+71]
    002bb6e8ldp x29, x30, [sp-8]
    002bb6ecadd sp, sp, 400
    002bb6f0ret x30
    002bb6f4
    002bb6f4loc_2bb6f4:
    002bb6f4stp x0, x1, [sp+8]
    002bb6f8stp x2, x3, [sp+24]
    002bb6fcstp x4, x5, [sp+40]
    002bb700stp x6, x7, [sp+56]
    002bb704str x8, [sp+72]
    002bb708mov x3, x30
    002bb70cbl runtime.morestack_noctxt.abi0
    002bb710ldp x0, x1, [sp+8]
    002bb714ldp x2, x3, [sp+24]
    002bb718ldp x4, x5, [sp+40]
    002bb71cldp x6, x7, [sp+56]
    002bb720ldr x8, [sp+72]
    002bb724b 0x2bb450
    002bb728udf 0
    002bb72cudf 0
    002bb450
    002bb730
    002bb730crypto/ecdsa.publicKeyToFIPS[go.shape.*crypto/internal/fips140/nistec.P384Point]: ; void crypto/ecdsa.publicKeyToFIPS[go.shape.*crypto/internal/fips140/nistec.P384Point](uintptr[2] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P384Point] * c, crypto/ecdsa.PublicKey * pub)
    002bb730ldr x16, [x28+16]
    002bb734sub x17, sp, 144
    002bb738subs xzr, x17, x16
    002bb73cb.ls 0x2bb8c0
    002bb740sub x20, sp, 272
    002bb744stp x29, x30, [x20-8]
    002bb748add sp, x20, 0
    002bb74csub x29, sp, 8
    002bb750str x0, [sp+280]
    002bb754str x1, [sp+288]
    002bb758str x2, [sp+296]
    002bb75cstr xzr, [sp+64]
    002bb760stp xzr, xzr, [sp+48]
    002bb764str xzr, [sp+224]
    002bb768stp xzr, xzr, [sp+232]
    002bb76cstp xzr, xzr, [sp+208]
    002bb770ldr x4, [sp+296]
    002bb774ldrsb x27, [x4]
    002bb778ldr x5, [x4]
    002bb77cldr x4, [x4+8]
    002bb780str x5, [sp+184]
    002bb784str x4, [sp+192]
    002bb788ldr x4, [sp+296]
    002bb78cldrsb x27, [x4]
    002bb790ldr x4, [x4+16]
    002bb794str x4, [sp+176]
    002bb798ldr x4, [sp+296]
    002bb79cldrsb x27, [x4]
    002bb7a0ldr x3, [x4+24]
    002bb7a4str x3, [sp+168]
    002bb7a8ldr x0, [sp+184]
    002bb7acldr x1, [sp+192]
    002bb7b0ldr x2, [sp+176]
    002bb7b4bl crypto/ecdsa.pointFromAffine
    002bb7b8str x0, [sp+224]
    002bb7bcstr x1, [sp+232]
    002bb7c0str x2, [sp+240]
    002bb7c4str x3, [sp+208]
    002bb7c8str x4, [sp+216]
    002bb7ccldr x4, [sp+224]
    002bb7d0ldr x5, [sp+232]
    002bb7d4ldr x6, [sp+240]
    002bb7d8str x4, [sp+136]
    002bb7dcstr x5, [sp+144]
    002bb7e0str x6, [sp+152]
    002bb7e4ldr x4, [sp+208]
    002bb7e8ldr x5, [sp+216]
    002bb7ecstr x4, [sp+120]
    002bb7f0str x5, [sp+128]
    002bb7f4ldr x4, [sp+136]
    002bb7f8ldr x5, [sp+144]
    002bb7fcldr x6, [sp+152]
    002bb800str x4, [sp+88]
    002bb804str x5, [sp+96]
    002bb808str x6, [sp+104]
    002bb80cldr x4, [sp+128]
    002bb810ldr x5, [sp+120]
    002bb814str x5, [sp+72]
    002bb818str x4, [sp+80]
    002bb81ccbnz x5, 0x2bb824
    002bb820b 0x2bb848
    002bb824
    002bb824loc_2bb824:
    002bb824str xzr, [sp+64]
    002bb828ldr x1, [sp+72]
    002bb82cldr x2, [sp+80]
    002bb830str x1, [sp+48]
    002bb834str x2, [sp+56]
    002bb838ldr x0, [sp+64]
    002bb83cldp x29, x30, [sp-8]
    002bb840add sp, sp, 272
    002bb844ret x30
    002bb848
    002bb848loc_2bb848:
    002bb848str xzr, [sp+200]
    002bb84cstp xzr, xzr, [sp+208]
    002bb850ldr x5, [sp+280]
    002bb854ldrsb x27, [x5]
    002bb858ldr x0, [x5]
    002bb85cstr x0, [sp+160]
    002bb860ldr x2, [sp+88]
    002bb864ldr x1, [sp+288]
    002bb868ldr x3, [sp+96]
    002bb86cldr x4, [sp+104]
    002bb870bl crypto/internal/fips140/ecdsa.NewPublicKey[go.shape.*crypto/internal/fips140/nistec.P384Point]
    002bb874str x0, [sp+200]
    002bb878str x1, [sp+208]
    002bb87cstr x2, [sp+216]
    002bb880ldr x5, [sp+200]
    002bb884str x5, [sp+112]
    002bb888ldr x5, [sp+208]
    002bb88cldr x6, [sp+216]
    002bb890str x5, [sp+248]
    002bb894str x6, [sp+256]
    002bb898ldr x5, [sp+112]
    002bb89cstr x5, [sp+64]
    002bb8a0ldr x1, [sp+248]
    002bb8a4ldr x2, [sp+256]
    002bb8a8str x1, [sp+48]
    002bb8acstr x2, [sp+56]
    002bb8b0ldr x0, [sp+64]
    002bb8b4ldp x29, x30, [sp-8]
    002bb8b8add sp, sp, 272
    002bb8bcret x30
    002bb8c0
    002bb8c0loc_2bb8c0:
    002bb8c0stp x0, x1, [sp+8]
    002bb8c4str x2, [sp+24]
    002bb8c8mov x3, x30
    002bb8ccbl runtime.morestack_noctxt.abi0
    002bb8d0ldp x0, x1, [sp+8]
    002bb8d4ldr x2, [sp+24]
    002bb8d8b 0x2bb730
    002bb8dcudf 0
    002bb730
    002bb8e0
    002bb8e0crypto/ecdsa.verifyFIPS[go.shape.*crypto/internal/fips140/nistec.P256Point]: ; void crypto/ecdsa.verifyFIPS[go.shape.*crypto/internal/fips140/nistec.P256Point](uintptr[3] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P256Point] * c, crypto/ecdsa.PublicKey * pub, struct []uint8 hash, struct []uint8 sig)
    002bb8e0ldr x16, [x28+16]
    002bb8e4sub x17, sp, 272
    002bb8e8subs xzr, x17, x16
    002bb8ecb.ls 0x2bbb84
    002bb8f0sub x20, sp, 400
    002bb8f4stp x29, x30, [x20-8]
    002bb8f8add sp, x20, 0
    002bb8fcsub x29, sp, 8
    002bb900str x0, [sp+408]
    002bb904str x1, [sp+416]
    002bb908str x2, [sp+424]
    002bb90cstr x3, [sp+432]
    002bb910str x4, [sp+440]
    002bb914str x5, [sp+448]
    002bb918str x6, [sp+456]
    002bb91cstr x7, [sp+464]
    002bb920str x8, [sp+472]
    002bb924strb wzr, [sp+71]
    002bb928str xzr, [sp+304]
    002bb92cstp xzr, xzr, [sp+312]
    002bb930str xzr, [sp+280]
    002bb934stp xzr, xzr, [sp+288]
    002bb938stp xzr, xzr, [sp+264]
    002bb93cldr x0, [sp+456]
    002bb940ldr x1, [sp+464]
    002bb944ldr x2, [sp+472]
    002bb948bl crypto/ecdsa.parseSignature
    002bb94cstr x0, [sp+304]
    002bb950str x1, [sp+312]
    002bb954str x2, [sp+320]
    002bb958str x3, [sp+280]
    002bb95cstr x4, [sp+288]
    002bb960str x5, [sp+296]
    002bb964str x6, [sp+264]
    002bb968str x7, [sp+272]
    002bb96cldr x3, [sp+312]
    002bb970ldr x4, [sp+320]
    002bb974ldr x5, [sp+304]
    002bb978str x5, [sp+160]
    002bb97cstr x3, [sp+168]
    002bb980str x4, [sp+176]
    002bb984ldr x3, [sp+280]
    002bb988ldr x4, [sp+288]
    002bb98cldr x5, [sp+296]
    002bb990str x3, [sp+368]
    002bb994str x4, [sp+376]
    002bb998str x5, [sp+384]
    002bb99cldr x3, [sp+264]
    002bb9a0ldr x4, [sp+272]
    002bb9a4str x3, [sp+352]
    002bb9a8str x4, [sp+360]
    002bb9acldr x3, [sp+160]
    002bb9b0ldr x4, [sp+168]
    002bb9b4ldr x5, [sp+176]
    002bb9b8str x3, [sp+96]
    002bb9bcstr x4, [sp+104]
    002bb9c0str x5, [sp+112]
    002bb9c4ldr x3, [sp+368]
    002bb9c8ldr x4, [sp+376]
    002bb9ccldr x5, [sp+384]
    002bb9d0str x3, [sp+72]
    002bb9d4str x4, [sp+80]
    002bb9d8str x5, [sp+88]
    002bb9dcldr x3, [sp+360]
    002bb9e0ldr x4, [sp+352]
    002bb9e4str x4, [sp+144]
    002bb9e8str x3, [sp+152]
    002bb9eccbnz x4, 0x2bb9f4
    002bb9f0b 0x2bba08
    002bb9f4
    002bb9f4loc_2bb9f4:
    002bb9f4strb wzr, [sp+71]
    002bb9f8mov x0, xzr
    002bb9fcldp x29, x30, [sp-8]
    002bba00add sp, sp, 400
    002bba04ret x30
    002bba08
    002bba08loc_2bba08:
    002bba08str xzr, [sp+256]
    002bba0cstp xzr, xzr, [sp+264]
    002bba10ldr x3, [sp+408]
    002bba14ldrsb x27, [x3]
    002bba18ldr x0, [x3]
    002bba1cstr x0, [sp+248]
    002bba20ldr x2, [sp+424]
    002bba24ldr x1, [sp+416]
    002bba28bl crypto/ecdsa.publicKeyToFIPS[go.shape.*crypto/internal/fips140/nistec.P256Point]
    002bba2cstr x0, [sp+256]
    002bba30str x1, [sp+264]
    002bba34str x2, [sp+272]
    002bba38ldr x3, [sp+256]
    002bba3cstr x3, [sp+344]
    002bba40ldr x3, [sp+264]
    002bba44ldr x4, [sp+272]
    002bba48str x3, [sp+328]
    002bba4cstr x4, [sp+336]
    002bba50ldr x3, [sp+344]
    002bba54str x3, [sp+120]
    002bba58ldr x3, [sp+336]
    002bba5cldr x4, [sp+328]
    002bba60str x4, [sp+144]
    002bba64str x3, [sp+152]
    002bba68cbnz x4, 0x2bba70
    002bba6cb 0x2bba84
    002bba70
    002bba70loc_2bba70:
    002bba70strb wzr, [sp+71]
    002bba74mov x0, xzr
    002bba78ldp x29, x30, [sp-8]
    002bba7cadd sp, sp, 400
    002bba80ret x30
    002bba84
    002bba84loc_2bba84:
    002bba84stp xzr, xzr, [sp+192]
    002bba88stp xzr, xzr, [sp+208]
    002bba8cstp xzr, xzr, [sp+224]
    002bba90add x7, sp, 192
    002bba94str x7, [sp+240]
    002bba98ldrsb x27, [x7]
    002bba9cldr x8, [sp+96]
    002bbaa0ldr x9, [sp+104]
    002bbaa4ldr x10, [sp+112]
    002bbaa8str x9, [x7+8]
    002bbaacstr x10, [x7+16]
    002bbab0adrp x27, 0x790000
    002bbab4ldr w9, [x27+3056]
    002bbab8cbz w9, 0x2bbac0
    002bbabcb 0x2bbac4
    002bbac0
    002bbac0loc_2bbac0:
    002bbac0b 0x2bbad8
    002bbac4
    002bbac4loc_2bbac4:
    002bbac4bl runtime.gcWriteBarrier2
    002bbac8str x8, [x25]
    002bbaccldr x9, [x7]
    002bbad0str x9, [x25+8]
    002bbad4b 0x2bbad8
    002bbad8
    002bbad8loc_2bbad8:
    002bbad8str x8, [x7]
    002bbadcldrsb x27, [x7]
    002bbae0ldr x8, [sp+72]
    002bbae4ldr x9, [sp+80]
    002bbae8ldr x10, [sp+88]
    002bbaecstr x9, [x7+32]
    002bbaf0str x10, [x7+40]
    002bbaf4adrp x27, 0x790000
    002bbaf8ldr w9, [x27+3056]
    002bbafccbz w9, 0x2bbb04
    002bbb00b 0x2bbb08
    002bbb04
    002bbb04loc_2bbb04:
    002bbb04b 0x2bbb1c
    002bbb08
    002bbb08loc_2bbb08:
    002bbb08bl runtime.gcWriteBarrier2
    002bbb0cstr x8, [x25]
    002bbb10ldr x9, [x7+24]
    002bbb14str x9, [x25+8]
    002bbb18b 0x2bbb1c
    002bbb1c
    002bbb1cloc_2bbb1c:
    002bbb1cstr x8, [x7+24]
    002bbb20ldr x7, [sp+408]
    002bbb24ldrsb x27, [x7]
    002bbb28ldr x0, [x7+8]
    002bbb2cstr x0, [sp+184]
    002bbb30ldr x3, [sp+432]
    002bbb34ldr x2, [sp+120]
    002bbb38ldr x1, [sp+416]
    002bbb3cldr x4, [sp+440]
    002bbb40ldr x5, [sp+448]
    002bbb44ldr x6, [sp+240]
    002bbb48bl crypto/internal/fips140/ecdsa.Verify[go.shape.*crypto/internal/fips140/nistec.P256Point]
    002bbb4cstr x0, [sp+128]
    002bbb50str x1, [sp+136]
    002bbb54cbnz x0, 0x2bbb5c
    002bbb58b 0x2bbb70
    002bbb5c
    002bbb5cloc_2bbb5c:
    002bbb5cstrb wzr, [sp+71]
    002bbb60mov x0, xzr
    002bbb64ldp x29, x30, [sp-8]
    002bbb68add sp, sp, 400
    002bbb6cret x30
    002bbb70
    002bbb70loc_2bbb70:
    002bbb70orr x0, xzr, 1
    002bbb74strb w0, [sp+71]
    002bbb78ldp x29, x30, [sp-8]
    002bbb7cadd sp, sp, 400
    002bbb80ret x30
    002bbb84
    002bbb84loc_2bbb84:
    002bbb84stp x0, x1, [sp+8]
    002bbb88stp x2, x3, [sp+24]
    002bbb8cstp x4, x5, [sp+40]
    002bbb90stp x6, x7, [sp+56]
    002bbb94str x8, [sp+72]
    002bbb98mov x3, x30
    002bbb9cbl runtime.morestack_noctxt.abi0
    002bbba0ldp x0, x1, [sp+8]
    002bbba4ldp x2, x3, [sp+24]
    002bbba8ldp x4, x5, [sp+40]
    002bbbacldp x6, x7, [sp+56]
    002bbbb0ldr x8, [sp+72]
    002bbbb4b 0x2bb8e0
    002bbbb8udf 0
    002bbbbcudf 0
    002bb8e0
    002bbbc0
    002bbbc0crypto/ecdsa.publicKeyToFIPS[go.shape.*crypto/internal/fips140/nistec.P256Point]: ; void crypto/ecdsa.publicKeyToFIPS[go.shape.*crypto/internal/fips140/nistec.P256Point](uintptr[2] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P256Point] * c, crypto/ecdsa.PublicKey * pub)
    002bbbc0ldr x16, [x28+16]
    002bbbc4sub x17, sp, 144
    002bbbc8subs xzr, x17, x16
    002bbbccb.ls 0x2bbd50
    002bbbd0sub x20, sp, 272
    002bbbd4stp x29, x30, [x20-8]
    002bbbd8add sp, x20, 0
    002bbbdcsub x29, sp, 8
    002bbbe0str x0, [sp+280]
    002bbbe4str x1, [sp+288]
    002bbbe8str x2, [sp+296]
    002bbbecstr xzr, [sp+64]
    002bbbf0stp xzr, xzr, [sp+48]
    002bbbf4str xzr, [sp+224]
    002bbbf8stp xzr, xzr, [sp+232]
    002bbbfcstp xzr, xzr, [sp+208]
    002bbc00ldr x4, [sp+296]
    002bbc04ldrsb x27, [x4]
    002bbc08ldr x5, [x4]
    002bbc0cldr x4, [x4+8]
    002bbc10str x5, [sp+184]
    002bbc14str x4, [sp+192]
    002bbc18ldr x4, [sp+296]
    002bbc1cldrsb x27, [x4]
    002bbc20ldr x4, [x4+16]
    002bbc24str x4, [sp+176]
    002bbc28ldr x4, [sp+296]
    002bbc2cldrsb x27, [x4]
    002bbc30ldr x3, [x4+24]
    002bbc34str x3, [sp+168]
    002bbc38ldr x0, [sp+184]
    002bbc3cldr x1, [sp+192]
    002bbc40ldr x2, [sp+176]
    002bbc44bl crypto/ecdsa.pointFromAffine
    002bbc48str x0, [sp+224]
    002bbc4cstr x1, [sp+232]
    002bbc50str x2, [sp+240]
    002bbc54str x3, [sp+208]
    002bbc58str x4, [sp+216]
    002bbc5cldr x4, [sp+224]
    002bbc60ldr x5, [sp+232]
    002bbc64ldr x6, [sp+240]
    002bbc68str x4, [sp+136]
    002bbc6cstr x5, [sp+144]
    002bbc70str x6, [sp+152]
    002bbc74ldr x4, [sp+208]
    002bbc78ldr x5, [sp+216]
    002bbc7cstr x4, [sp+120]
    002bbc80str x5, [sp+128]
    002bbc84ldr x4, [sp+136]
    002bbc88ldr x5, [sp+144]
    002bbc8cldr x6, [sp+152]
    002bbc90str x4, [sp+88]
    002bbc94str x5, [sp+96]
    002bbc98str x6, [sp+104]
    002bbc9cldr x4, [sp+128]
    002bbca0ldr x5, [sp+120]
    002bbca4str x5, [sp+72]
    002bbca8str x4, [sp+80]
    002bbcaccbnz x5, 0x2bbcb4
    002bbcb0b 0x2bbcd8
    002bbcb4
    002bbcb4loc_2bbcb4:
    002bbcb4str xzr, [sp+64]
    002bbcb8ldr x1, [sp+72]
    002bbcbcldr x2, [sp+80]
    002bbcc0str x1, [sp+48]
    002bbcc4str x2, [sp+56]
    002bbcc8ldr x0, [sp+64]
    002bbcccldp x29, x30, [sp-8]
    002bbcd0add sp, sp, 272
    002bbcd4ret x30
    002bbcd8
    002bbcd8loc_2bbcd8:
    002bbcd8str xzr, [sp+200]
    002bbcdcstp xzr, xzr, [sp+208]
    002bbce0ldr x5, [sp+280]
    002bbce4ldrsb x27, [x5]
    002bbce8ldr x0, [x5]
    002bbcecstr x0, [sp+160]
    002bbcf0ldr x2, [sp+88]
    002bbcf4ldr x1, [sp+288]
    002bbcf8ldr x3, [sp+96]
    002bbcfcldr x4, [sp+104]
    002bbd00bl crypto/internal/fips140/ecdsa.NewPublicKey[go.shape.*crypto/internal/fips140/nistec.P256Point]
    002bbd04str x0, [sp+200]
    002bbd08str x1, [sp+208]
    002bbd0cstr x2, [sp+216]
    002bbd10ldr x5, [sp+200]
    002bbd14str x5, [sp+112]
    002bbd18ldr x5, [sp+208]
    002bbd1cldr x6, [sp+216]
    002bbd20str x5, [sp+248]
    002bbd24str x6, [sp+256]
    002bbd28ldr x5, [sp+112]
    002bbd2cstr x5, [sp+64]
    002bbd30ldr x1, [sp+248]
    002bbd34ldr x2, [sp+256]
    002bbd38str x1, [sp+48]
    002bbd3cstr x2, [sp+56]
    002bbd40ldr x0, [sp+64]
    002bbd44ldp x29, x30, [sp-8]
    002bbd48add sp, sp, 272
    002bbd4cret x30
    002bbd50
    002bbd50loc_2bbd50:
    002bbd50stp x0, x1, [sp+8]
    002bbd54str x2, [sp+24]
    002bbd58mov x3, x30
    002bbd5cbl runtime.morestack_noctxt.abi0
    002bbd60ldp x0, x1, [sp+8]
    002bbd64ldr x2, [sp+24]
    002bbd68b 0x2bbbc0
    002bbd6cudf 0
    002bbbc0
    002bbd70
    002bbd70crypto/ecdsa.verifyFIPS[go.shape.*crypto/internal/fips140/nistec.P224Point]: ; void crypto/ecdsa.verifyFIPS[go.shape.*crypto/internal/fips140/nistec.P224Point](uintptr[3] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P224Point] * c, crypto/ecdsa.PublicKey * pub, struct []uint8 hash, struct []uint8 sig)
    002bbd70ldr x16, [x28+16]
    002bbd74sub x17, sp, 272
    002bbd78subs xzr, x17, x16
    002bbd7cb.ls 0x2bc014
    002bbd80sub x20, sp, 400
    002bbd84stp x29, x30, [x20-8]
    002bbd88add sp, x20, 0
    002bbd8csub x29, sp, 8
    002bbd90str x0, [sp+408]
    002bbd94str x1, [sp+416]
    002bbd98str x2, [sp+424]
    002bbd9cstr x3, [sp+432]
    002bbda0str x4, [sp+440]
    002bbda4str x5, [sp+448]
    002bbda8str x6, [sp+456]
    002bbdacstr x7, [sp+464]
    002bbdb0str x8, [sp+472]
    002bbdb4strb wzr, [sp+71]
    002bbdb8str xzr, [sp+304]
    002bbdbcstp xzr, xzr, [sp+312]
    002bbdc0str xzr, [sp+280]
    002bbdc4stp xzr, xzr, [sp+288]
    002bbdc8stp xzr, xzr, [sp+264]
    002bbdccldr x0, [sp+456]
    002bbdd0ldr x1, [sp+464]
    002bbdd4ldr x2, [sp+472]
    002bbdd8bl crypto/ecdsa.parseSignature
    002bbddcstr x0, [sp+304]
    002bbde0str x1, [sp+312]
    002bbde4str x2, [sp+320]
    002bbde8str x3, [sp+280]
    002bbdecstr x4, [sp+288]
    002bbdf0str x5, [sp+296]
    002bbdf4str x6, [sp+264]
    002bbdf8str x7, [sp+272]
    002bbdfcldr x3, [sp+312]
    002bbe00ldr x4, [sp+320]
    002bbe04ldr x5, [sp+304]
    002bbe08str x5, [sp+160]
    002bbe0cstr x3, [sp+168]
    002bbe10str x4, [sp+176]
    002bbe14ldr x3, [sp+280]
    002bbe18ldr x4, [sp+288]
    002bbe1cldr x5, [sp+296]
    002bbe20str x3, [sp+368]
    002bbe24str x4, [sp+376]
    002bbe28str x5, [sp+384]
    002bbe2cldr x3, [sp+264]
    002bbe30ldr x4, [sp+272]
    002bbe34str x3, [sp+352]
    002bbe38str x4, [sp+360]
    002bbe3cldr x3, [sp+160]
    002bbe40ldr x4, [sp+168]
    002bbe44ldr x5, [sp+176]
    002bbe48str x3, [sp+96]
    002bbe4cstr x4, [sp+104]
    002bbe50str x5, [sp+112]
    002bbe54ldr x3, [sp+368]
    002bbe58ldr x4, [sp+376]
    002bbe5cldr x5, [sp+384]
    002bbe60str x3, [sp+72]
    002bbe64str x4, [sp+80]
    002bbe68str x5, [sp+88]
    002bbe6cldr x3, [sp+360]
    002bbe70ldr x4, [sp+352]
    002bbe74str x4, [sp+144]
    002bbe78str x3, [sp+152]
    002bbe7ccbnz x4, 0x2bbe84
    002bbe80b 0x2bbe98
    002bbe84
    002bbe84loc_2bbe84:
    002bbe84strb wzr, [sp+71]
    002bbe88mov x0, xzr
    002bbe8cldp x29, x30, [sp-8]
    002bbe90add sp, sp, 400
    002bbe94ret x30
    002bbe98
    002bbe98loc_2bbe98:
    002bbe98str xzr, [sp+256]
    002bbe9cstp xzr, xzr, [sp+264]
    002bbea0ldr x3, [sp+408]
    002bbea4ldrsb x27, [x3]
    002bbea8ldr x0, [x3]
    002bbeacstr x0, [sp+248]
    002bbeb0ldr x2, [sp+424]
    002bbeb4ldr x1, [sp+416]
    002bbeb8bl crypto/ecdsa.publicKeyToFIPS[go.shape.*crypto/internal/fips140/nistec.P224Point]
    002bbebcstr x0, [sp+256]
    002bbec0str x1, [sp+264]
    002bbec4str x2, [sp+272]
    002bbec8ldr x3, [sp+256]
    002bbeccstr x3, [sp+344]
    002bbed0ldr x3, [sp+264]
    002bbed4ldr x4, [sp+272]
    002bbed8str x3, [sp+328]
    002bbedcstr x4, [sp+336]
    002bbee0ldr x3, [sp+344]
    002bbee4str x3, [sp+120]
    002bbee8ldr x3, [sp+336]
    002bbeecldr x4, [sp+328]
    002bbef0str x4, [sp+144]
    002bbef4str x3, [sp+152]
    002bbef8cbnz x4, 0x2bbf00
    002bbefcb 0x2bbf14
    002bbf00
    002bbf00loc_2bbf00:
    002bbf00strb wzr, [sp+71]
    002bbf04mov x0, xzr
    002bbf08ldp x29, x30, [sp-8]
    002bbf0cadd sp, sp, 400
    002bbf10ret x30
    002bbf14
    002bbf14loc_2bbf14:
    002bbf14stp xzr, xzr, [sp+192]
    002bbf18stp xzr, xzr, [sp+208]
    002bbf1cstp xzr, xzr, [sp+224]
    002bbf20add x7, sp, 192
    002bbf24str x7, [sp+240]
    002bbf28ldrsb x27, [x7]
    002bbf2cldr x8, [sp+96]
    002bbf30ldr x9, [sp+104]
    002bbf34ldr x10, [sp+112]
    002bbf38str x9, [x7+8]
    002bbf3cstr x10, [x7+16]
    002bbf40adrp x27, 0x790000
    002bbf44ldr w9, [x27+3056]
    002bbf48cbz w9, 0x2bbf50
    002bbf4cb 0x2bbf54
    002bbf50
    002bbf50loc_2bbf50:
    002bbf50b 0x2bbf68
    002bbf54
    002bbf54loc_2bbf54:
    002bbf54bl runtime.gcWriteBarrier2
    002bbf58str x8, [x25]
    002bbf5cldr x9, [x7]
    002bbf60str x9, [x25+8]
    002bbf64b 0x2bbf68
    002bbf68
    002bbf68loc_2bbf68:
    002bbf68str x8, [x7]
    002bbf6cldrsb x27, [x7]
    002bbf70ldr x8, [sp+72]
    002bbf74ldr x9, [sp+80]
    002bbf78ldr x10, [sp+88]
    002bbf7cstr x9, [x7+32]
    002bbf80str x10, [x7+40]
    002bbf84adrp x27, 0x790000
    002bbf88ldr w9, [x27+3056]
    002bbf8ccbz w9, 0x2bbf94
    002bbf90b 0x2bbf98
    002bbf94
    002bbf94loc_2bbf94:
    002bbf94b 0x2bbfac
    002bbf98
    002bbf98loc_2bbf98:
    002bbf98bl runtime.gcWriteBarrier2
    002bbf9cstr x8, [x25]
    002bbfa0ldr x9, [x7+24]
    002bbfa4str x9, [x25+8]
    002bbfa8b 0x2bbfac
    002bbfac
    002bbfacloc_2bbfac:
    002bbfacstr x8, [x7+24]
    002bbfb0ldr x7, [sp+408]
    002bbfb4ldrsb x27, [x7]
    002bbfb8ldr x0, [x7+8]
    002bbfbcstr x0, [sp+184]
    002bbfc0ldr x3, [sp+432]
    002bbfc4ldr x2, [sp+120]
    002bbfc8ldr x1, [sp+416]
    002bbfccldr x4, [sp+440]
    002bbfd0ldr x5, [sp+448]
    002bbfd4ldr x6, [sp+240]
    002bbfd8bl crypto/internal/fips140/ecdsa.Verify[go.shape.*crypto/internal/fips140/nistec.P224Point]
    002bbfdcstr x0, [sp+128]
    002bbfe0str x1, [sp+136]
    002bbfe4cbnz x0, 0x2bbfec
    002bbfe8b 0x2bc000
    002bbfec
    002bbfecloc_2bbfec:
    002bbfecstrb wzr, [sp+71]
    002bbff0mov x0, xzr
    002bbff4ldp x29, x30, [sp-8]
    002bbff8add sp, sp, 400
    002bbffcret x30
    002bc000
    002bc000loc_2bc000:
    002bc000orr x0, xzr, 1
    002bc004strb w0, [sp+71]
    002bc008ldp x29, x30, [sp-8]
    002bc00cadd sp, sp, 400
    002bc010ret x30
    002bc014
    002bc014loc_2bc014:
    002bc014stp x0, x1, [sp+8]
    002bc018stp x2, x3, [sp+24]
    002bc01cstp x4, x5, [sp+40]
    002bc020stp x6, x7, [sp+56]
    002bc024str x8, [sp+72]
    002bc028mov x3, x30
    002bc02cbl runtime.morestack_noctxt.abi0
    002bc030ldp x0, x1, [sp+8]
    002bc034ldp x2, x3, [sp+24]
    002bc038ldp x4, x5, [sp+40]
    002bc03cldp x6, x7, [sp+56]
    002bc040ldr x8, [sp+72]
    002bc044b 0x2bbd70
    002bc048udf 0
    002bc04cudf 0
    002bbd70
    002bc050
    002bc050crypto/ecdsa.publicKeyToFIPS[go.shape.*crypto/internal/fips140/nistec.P224Point]: ; void crypto/ecdsa.publicKeyToFIPS[go.shape.*crypto/internal/fips140/nistec.P224Point](uintptr[2] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P224Point] * c, crypto/ecdsa.PublicKey * pub)
    002bc050ldr x16, [x28+16]
    002bc054sub x17, sp, 144
    002bc058subs xzr, x17, x16
    002bc05cb.ls 0x2bc1e0
    002bc060sub x20, sp, 272
    002bc064stp x29, x30, [x20-8]
    002bc068add sp, x20, 0
    002bc06csub x29, sp, 8
    002bc070str x0, [sp+280]
    002bc074str x1, [sp+288]
    002bc078str x2, [sp+296]
    002bc07cstr xzr, [sp+64]
    002bc080stp xzr, xzr, [sp+48]
    002bc084str xzr, [sp+224]
    002bc088stp xzr, xzr, [sp+232]
    002bc08cstp xzr, xzr, [sp+208]
    002bc090ldr x4, [sp+296]
    002bc094ldrsb x27, [x4]
    002bc098ldr x5, [x4]
    002bc09cldr x4, [x4+8]
    002bc0a0str x5, [sp+184]
    002bc0a4str x4, [sp+192]
    002bc0a8ldr x4, [sp+296]
    002bc0acldrsb x27, [x4]
    002bc0b0ldr x4, [x4+16]
    002bc0b4str x4, [sp+176]
    002bc0b8ldr x4, [sp+296]
    002bc0bcldrsb x27, [x4]
    002bc0c0ldr x3, [x4+24]
    002bc0c4str x3, [sp+168]
    002bc0c8ldr x0, [sp+184]
    002bc0ccldr x1, [sp+192]
    002bc0d0ldr x2, [sp+176]
    002bc0d4bl crypto/ecdsa.pointFromAffine
    002bc0d8str x0, [sp+224]
    002bc0dcstr x1, [sp+232]
    002bc0e0str x2, [sp+240]
    002bc0e4str x3, [sp+208]
    002bc0e8str x4, [sp+216]
    002bc0ecldr x4, [sp+224]
    002bc0f0ldr x5, [sp+232]
    002bc0f4ldr x6, [sp+240]
    002bc0f8str x4, [sp+136]
    002bc0fcstr x5, [sp+144]
    002bc100str x6, [sp+152]
    002bc104ldr x4, [sp+208]
    002bc108ldr x5, [sp+216]
    002bc10cstr x4, [sp+120]
    002bc110str x5, [sp+128]
    002bc114ldr x4, [sp+136]
    002bc118ldr x5, [sp+144]
    002bc11cldr x6, [sp+152]
    002bc120str x4, [sp+88]
    002bc124str x5, [sp+96]
    002bc128str x6, [sp+104]
    002bc12cldr x4, [sp+128]
    002bc130ldr x5, [sp+120]
    002bc134str x5, [sp+72]
    002bc138str x4, [sp+80]
    002bc13ccbnz x5, 0x2bc144
    002bc140b 0x2bc168
    002bc144
    002bc144loc_2bc144:
    002bc144str xzr, [sp+64]
    002bc148ldr x1, [sp+72]
    002bc14cldr x2, [sp+80]
    002bc150str x1, [sp+48]
    002bc154str x2, [sp+56]
    002bc158ldr x0, [sp+64]
    002bc15cldp x29, x30, [sp-8]
    002bc160add sp, sp, 272
    002bc164ret x30
    002bc168
    002bc168loc_2bc168:
    002bc168str xzr, [sp+200]
    002bc16cstp xzr, xzr, [sp+208]
    002bc170ldr x5, [sp+280]
    002bc174ldrsb x27, [x5]
    002bc178ldr x0, [x5]
    002bc17cstr x0, [sp+160]
    002bc180ldr x2, [sp+88]
    002bc184ldr x1, [sp+288]
    002bc188ldr x3, [sp+96]
    002bc18cldr x4, [sp+104]
    002bc190bl crypto/internal/fips140/ecdsa.NewPublicKey[go.shape.*crypto/internal/fips140/nistec.P224Point]
    002bc194str x0, [sp+200]
    002bc198str x1, [sp+208]
    002bc19cstr x2, [sp+216]
    002bc1a0ldr x5, [sp+200]
    002bc1a4str x5, [sp+112]
    002bc1a8ldr x5, [sp+208]
    002bc1acldr x6, [sp+216]
    002bc1b0str x5, [sp+248]
    002bc1b4str x6, [sp+256]
    002bc1b8ldr x5, [sp+112]
    002bc1bcstr x5, [sp+64]
    002bc1c0ldr x1, [sp+248]
    002bc1c4ldr x2, [sp+256]
    002bc1c8str x1, [sp+48]
    002bc1ccstr x2, [sp+56]
    002bc1d0ldr x0, [sp+64]
    002bc1d4ldp x29, x30, [sp-8]
    002bc1d8add sp, sp, 272
    002bc1dcret x30
    002bc1e0
    002bc1e0loc_2bc1e0:
    002bc1e0stp x0, x1, [sp+8]
    002bc1e4str x2, [sp+24]
    002bc1e8mov x3, x30
    002bc1ecbl runtime.morestack_noctxt.abi0
    002bc1f0ldp x0, x1, [sp+8]
    002bc1f4ldr x2, [sp+24]
    002bc1f8b 0x2bc050
    002bc1fcudf 0
    002bc050
    002bc200
    002bc200crypto/ecdsa.signFIPSDeterministic[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/ecdsa.signFIPSDeterministic[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[3] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, crypto.Hash hashFunc, crypto/ecdsa.PrivateKey * priv, struct []uint8 hash)
    002bc200ldr x16, [x28+16]
    002bc204sub x17, sp, 272
    002bc208subs xzr, x17, x16
    002bc20cb.ls 0x2bc534
    002bc210sub x20, sp, 400
    002bc214stp x29, x30, [x20-8]
    002bc218add sp, x20, 0
    002bc21csub x29, sp, 8
    002bc220str x0, [sp+408]
    002bc224str x1, [sp+416]
    002bc228str x2, [sp+424]
    002bc22cstr x3, [sp+432]
    002bc230str x4, [sp+440]
    002bc234str x5, [sp+448]
    002bc238str x6, [sp+456]
    002bc23cstr xzr, [sp+96]
    002bc240stp xzr, xzr, [sp+104]
    002bc244stp xzr, xzr, [sp+80]
    002bc248str xzr, [sp+304]
    002bc24cstp xzr, xzr, [sp+288]
    002bc250ldr x3, [sp+408]
    002bc254ldrsb x27, [x3]
    002bc258ldr x0, [x3]
    002bc25cstr x0, [sp+232]
    002bc260ldr x2, [sp+432]
    002bc264ldr x1, [sp+416]
    002bc268bl crypto/ecdsa.privateKeyToFIPS[go.shape.*crypto/internal/fips140/nistec.P521Point]
    002bc26cstr x0, [sp+304]
    002bc270str x1, [sp+288]
    002bc274str x2, [sp+296]
    002bc278ldr x3, [sp+304]
    002bc27cstr x3, [sp+160]
    002bc280ldr x3, [sp+288]
    002bc284ldr x4, [sp+296]
    002bc288str x3, [sp+376]
    002bc28cstr x4, [sp+384]
    002bc290ldr x3, [sp+160]
    002bc294str x3, [sp+128]
    002bc298ldr x3, [sp+384]
    002bc29cldr x4, [sp+376]
    002bc2a0str x4, [sp+144]
    002bc2a4str x3, [sp+152]
    002bc2a8cbnz x4, 0x2bc2b0
    002bc2acb 0x2bc2e0
    002bc2b0
    002bc2b0loc_2bc2b0:
    002bc2b0str xzr, [sp+96]
    002bc2b4stp xzr, xzr, [sp+104]
    002bc2b8ldr x3, [sp+144]
    002bc2bcldr x4, [sp+152]
    002bc2c0str x3, [sp+80]
    002bc2c4str x4, [sp+88]
    002bc2c8ldr x0, [sp+96]
    002bc2ccldr x1, [sp+104]
    002bc2d0ldr x2, [sp+112]
    002bc2d4ldp x29, x30, [sp-8]
    002bc2d8add sp, sp, 400
    002bc2dcret x30
    002bc2e0
    002bc2e0loc_2bc2e0:
    002bc2e0adrp x0, 0x378000
    002bc2e4add x0, x0, 2112
    002bc2e8bl runtime.newobject
    002bc2ecstr x0, [sp+224]
    002bc2f0adrp x1, 12288
    002bc2f4add x1, x1, 3360
    002bc2f8str x1, [x0]
    002bc2fcldr x1, [sp+424]
    002bc300ldr x2, [sp+224]
    002bc304ldrsb x27, [x2]
    002bc308str x1, [x2+8]
    002bc30cldr x1, [sp+224]
    002bc310adrp x0, 0x457000
    002bc314add x0, x0, 768
    002bc318bl crypto/internal/fips140hash.UnwrapNew[go.shape.interface { BlockSize() int; Reset(); Size() int; Sum([]uint8) []uint8; Write([]uint8) (int, error) }]
    002bc31cstr x0, [sp+136]
    002bc320adrp x27, 0x78f000
    002bc324ldrb w1, [x27+1551]
    002bc328strb w1, [sp+79]
    002bc32ctbnz w1, 0, 0x2bc334
    002bc330b 0x2bc35c
    002bc334
    002bc334loc_2bc334:
    002bc334ldr x26, [sp+136]
    002bc338ldr x0, [x26]
    002bc33cblr x0
    002bc340str x0, [sp+272]
    002bc344str x1, [sp+280]
    002bc348bl crypto/internal/fips140only.ApprovedHash
    002bc34cstrb w0, [sp+78]
    002bc350eor x0, x0, 1
    002bc354strb w0, [sp+79]
    002bc358b 0x2bc360
    002bc35c
    002bc35cloc_2bc35c:
    002bc35cb 0x2bc360
    002bc360
    002bc360loc_2bc360:
    002bc360ldrb w7, [sp+79]
    002bc364tbnz w7, 0, 0x2bc36c
    002bc368b 0x2bc3b4
    002bc36c
    002bc36cloc_2bc36c:
    002bc36cadrp x0, 0x414000
    002bc370add x0, x0, 2527
    002bc374movz x1, 98
    002bc378bl errors.New
    002bc37cstr x0, [sp+288]
    002bc380str x1, [sp+296]
    002bc384str xzr, [sp+96]
    002bc388stp xzr, xzr, [sp+104]
    002bc38cldr x3, [sp+288]
    002bc390ldr x4, [sp+296]
    002bc394str x3, [sp+80]
    002bc398str x4, [sp+88]
    002bc39cldr x0, [sp+96]
    002bc3a0ldr x1, [sp+104]
    002bc3a4ldr x2, [sp+112]
    002bc3a8ldp x29, x30, [sp-8]
    002bc3acadd sp, sp, 400
    002bc3b0ret x30
    002bc3b4
    002bc3b4loc_2bc3b4:
    002bc3b4str xzr, [sp+264]
    002bc3b8stp xzr, xzr, [sp+288]
    002bc3bcldr x7, [sp+408]
    002bc3c0ldrsb x27, [x7]
    002bc3c4ldr x0, [x7+8]
    002bc3c8str x0, [sp+216]
    002bc3ccldr x4, [sp+440]
    002bc3d0ldr x3, [sp+128]
    002bc3d4ldr x1, [sp+416]
    002bc3d8ldr x2, [sp+136]
    002bc3dcldr x5, [sp+448]
    002bc3e0ldr x6, [sp+456]
    002bc3e4bl 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) }]
    002bc3e8str x0, [sp+264]
    002bc3ecstr x1, [sp+288]
    002bc3f0str x2, [sp+296]
    002bc3f4ldr x7, [sp+264]
    002bc3f8str x7, [sp+368]
    002bc3fcldr x7, [sp+288]
    002bc400ldr x8, [sp+296]
    002bc404str x7, [sp+352]
    002bc408str x8, [sp+360]
    002bc40cldr x7, [sp+368]
    002bc410str x7, [sp+120]
    002bc414ldr x7, [sp+360]
    002bc418ldr x8, [sp+352]
    002bc41cstr x8, [sp+144]
    002bc420str x7, [sp+152]
    002bc424cbnz x8, 0x2bc42c
    002bc428b 0x2bc45c
    002bc42c
    002bc42cloc_2bc42c:
    002bc42cstr xzr, [sp+96]
    002bc430stp xzr, xzr, [sp+104]
    002bc434ldr x3, [sp+144]
    002bc438ldr x4, [sp+152]
    002bc43cstr x3, [sp+80]
    002bc440str x4, [sp+88]
    002bc444ldr x0, [sp+96]
    002bc448ldr x1, [sp+104]
    002bc44cldr x2, [sp+112]
    002bc450ldp x29, x30, [sp-8]
    002bc454add sp, sp, 400
    002bc458ret x30
    002bc45c
    002bc45cloc_2bc45c:
    002bc45cstr xzr, [sp+240]
    002bc460stp xzr, xzr, [sp+248]
    002bc464stp xzr, xzr, [sp+288]
    002bc468ldr x6, [sp+120]
    002bc46cldrsb x27, [x6]
    002bc470ldr x7, [x6]
    002bc474ldr x8, [x6+8]
    002bc478ldr x6, [x6+16]
    002bc47cstr x7, [sp+192]
    002bc480str x8, [sp+200]
    002bc484str x6, [sp+208]
    002bc488ldr x6, [sp+120]
    002bc48cldrsb x27, [x6]
    002bc490ldr x3, [x6+24]
    002bc494ldr x4, [x6+32]
    002bc498ldr x5, [x6+40]
    002bc49cstr x3, [sp+168]
    002bc4a0str x4, [sp+176]
    002bc4a4str x5, [sp+184]
    002bc4a8ldr x0, [sp+192]
    002bc4acldr x1, [sp+200]
    002bc4b0ldr x2, [sp+208]
    002bc4b4bl crypto/ecdsa.encodeSignature
    002bc4b8str x0, [sp+240]
    002bc4bcstr x1, [sp+248]
    002bc4c0str x2, [sp+256]
    002bc4c4str x3, [sp+288]
    002bc4c8str x4, [sp+296]
    002bc4ccldr x6, [sp+240]
    002bc4d0ldr x7, [sp+248]
    002bc4d4ldr x8, [sp+256]
    002bc4d8str x6, [sp+328]
    002bc4dcstr x7, [sp+336]
    002bc4e0str x8, [sp+344]
    002bc4e4ldr x6, [sp+288]
    002bc4e8ldr x7, [sp+296]
    002bc4ecstr x6, [sp+312]
    002bc4f0str x7, [sp+320]
    002bc4f4ldr x6, [sp+328]
    002bc4f8ldr x7, [sp+336]
    002bc4fcldr x8, [sp+344]
    002bc500str x6, [sp+96]
    002bc504str x7, [sp+104]
    002bc508str x8, [sp+112]
    002bc50cldr x3, [sp+312]
    002bc510ldr x4, [sp+320]
    002bc514str x3, [sp+80]
    002bc518str x4, [sp+88]
    002bc51cldr x0, [sp+96]
    002bc520ldr x1, [sp+104]
    002bc524ldr x2, [sp+112]
    002bc528ldp x29, x30, [sp-8]
    002bc52cadd sp, sp, 400
    002bc530ret x30
    002bc534
    002bc534loc_2bc534:
    002bc534stp x0, x1, [sp+8]
    002bc538stp x2, x3, [sp+24]
    002bc53cstp x4, x5, [sp+40]
    002bc540str x6, [sp+56]
    002bc544mov x3, x30
    002bc548bl runtime.morestack_noctxt.abi0
    002bc54cldp x0, x1, [sp+8]
    002bc550ldp x2, x3, [sp+24]
    002bc554ldp x4, x5, [sp+40]
    002bc558ldr x6, [sp+56]
    002bc55cb 0x2bc200
    002bc200
    002bc560
    002bc560crypto/internal/fips140hash.UnwrapNew[go.shape.interface { BlockSize() int; Reset(); Size() int; Sum([]uint8) []uint8; Write([]uint8) (int, error) }]: ; void crypto/internal/fips140hash.UnwrapNew[go.shape.interface { BlockSize() int; Reset(); Size() int; Sum([]uint8) []uint8; Write([]uint8) (int, error) }](uintptr[3] * dict, int64_t newHash)
    002bc560ldr x16, [x28+16]
    002bc564subs xzr, sp, x16
    002bc568b.ls 0x2bc628
    002bc56cstr x30, [sp-64]!
    002bc570stur x29, [sp-8]
    002bc574sub x29, sp, 8
    002bc578str x0, [sp+72]
    002bc57cstr x1, [sp+80]
    002bc580str xzr, [sp+40]
    002bc584adrp x0, 0x391000
    002bc588add x0, x0, 1824
    002bc58cbl runtime.newobject
    002bc590str x0, [sp+48]
    002bc594adrp x1, 0
    002bc598add x1, x1, 1600
    002bc59cstr x1, [x0]
    002bc5a0ldr x1, [sp+80]
    002bc5a4ldr x2, [sp+48]
    002bc5a8ldrsb x27, [x2]
    002bc5acadrp x27, 0x78f000
    002bc5b0ldr w3, [x27+3056]
    002bc5b4cbz w3, 0x2bc5bc
    002bc5b8b 0x2bc5c0
    002bc5bc
    002bc5bcloc_2bc5bc:
    002bc5bcb 0x2bc5d4
    002bc5c0
    002bc5c0loc_2bc5c0:
    002bc5c0bl runtime.gcWriteBarrier2
    002bc5c4str x1, [x25]
    002bc5c8ldr x3, [x2+8]
    002bc5ccstr x3, [x25+8]
    002bc5d0b 0x2bc5d4
    002bc5d4
    002bc5d4loc_2bc5d4:
    002bc5d4str x1, [x2+8]
    002bc5d8ldr x1, [sp+72]
    002bc5dcldr x2, [sp+48]
    002bc5e0ldrsb x27, [x2]
    002bc5e4adrp x27, 0x78f000
    002bc5e8ldr w3, [x27+3056]
    002bc5eccbz w3, 0x2bc5f4
    002bc5f0b 0x2bc5f8
    002bc5f4
    002bc5f4loc_2bc5f4:
    002bc5f4b 0x2bc60c
    002bc5f8
    002bc5f8loc_2bc5f8:
    002bc5f8bl runtime.gcWriteBarrier2
    002bc5fcstr x1, [x25]
    002bc600ldr x3, [x2+16]
    002bc604str x3, [x25+8]
    002bc608b 0x2bc60c
    002bc60c
    002bc60cloc_2bc60c:
    002bc60cstr x1, [x2+16]
    002bc610ldr x1, [sp+48]
    002bc614str x1, [sp+40]
    002bc618ldr x0, [sp+40]
    002bc61cldur x29, [sp-8]
    002bc620ldr x30, [sp], 64
    002bc624ret x30
    002bc628
    002bc628loc_2bc628:
    002bc628stp x0, x1, [sp+8]
    002bc62cmov x3, x30
    002bc630bl runtime.morestack_noctxt.abi0
    002bc634ldp x0, x1, [sp+8]
    002bc638b 0x2bc560
    002bc63cudf 0
    002bc560
    002bc640
    002bc640crypto/internal/fips140hash.UnwrapNew[go.shape.interface { BlockSize() int; Reset(); Size() int; Sum([]uint8) []uint8; Write([]uint8) (int, error) }].func1: ; void crypto/internal/fips140hash.UnwrapNew[go.shape.interface { BlockSize() int; Reset(); Size() int; Sum([]uint8) []uint8; Write([]uint8) (int, error) }].func1(void)
    002bc640ldr x16, [x28+16]
    002bc644sub x17, sp, 32
    002bc648subs xzr, x17, x16
    002bc64cb.ls 0x2bc6dc
    002bc650str x30, [sp-160]!
    002bc654stur x29, [sp-8]
    002bc658sub x29, sp, 8
    002bc65cldr x0, [x26+8]
    002bc660str x0, [sp+64]
    002bc664ldr x0, [x26+16]
    002bc668str x0, [sp+72]
    002bc66cstp xzr, xzr, [sp+48]
    002bc670ldr x26, [sp+64]
    002bc674ldr x0, [x26]
    002bc678blr x0
    002bc67cstr x0, [sp+136]
    002bc680str x1, [sp+144]
    002bc684str x0, [sp+104]
    002bc688str x1, [sp+112]
    002bc68ccbnz x0, 0x2bc694
    002bc690b 0x2bc6b0
    002bc694
    002bc694loc_2bc694:
    002bc694str x1, [sp+80]
    002bc698ldr x1, [x0+8]
    002bc69cadrp x0, 0x754000
    002bc6a0add x0, x0, 3856
    002bc6a4bl runtime.typeAssert
    002bc6a8ldr x1, [sp+80]
    002bc6acb 0x2bc6b4
    002bc6b0
    002bc6b0loc_2bc6b0:
    002bc6b0b 0x2bc6b4
    002bc6b4
    002bc6b4loc_2bc6b4:
    002bc6b4str x0, [sp+88]
    002bc6b8str x1, [sp+96]
    002bc6bcbl crypto/internal/fips140hash.Unwrap
    002bc6c0str x0, [sp+120]
    002bc6c4str x1, [sp+128]
    002bc6c8str x0, [sp+48]
    002bc6ccstr x1, [sp+56]
    002bc6d0ldur x29, [sp-8]
    002bc6d4ldr x30, [sp], 160
    002bc6d8ret x30
    002bc6dc
    002bc6dcloc_2bc6dc:
    002bc6dcmov x3, x30
    002bc6e0bl runtime.morestack.abi0
    002bc6e4b 0x2bc640
    002bc6e8udf 0
    002bc6ecudf 0
    002bc640
    002bc6f0
    002bc6f0crypto/ecdsa.privateKeyToFIPS[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/ecdsa.privateKeyToFIPS[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[2] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, crypto/ecdsa.PrivateKey * priv)
    002bc6f0ldr x16, [x28+16]
    002bc6f4sub x17, sp, 176
    002bc6f8subs xzr, x17, x16
    002bc6fcb.ls 0x2bc8ac
    002bc700sub x20, sp, 304
    002bc704stp x29, x30, [x20-8]
    002bc708add sp, x20, 0
    002bc70csub x29, sp, 8
    002bc710str x0, [sp+312]
    002bc714str x1, [sp+320]
    002bc718str x2, [sp+328]
    002bc71cstr xzr, [sp+88]
    002bc720stp xzr, xzr, [sp+72]
    002bc724str xzr, [sp+256]
    002bc728stp xzr, xzr, [sp+264]
    002bc72cstp xzr, xzr, [sp+240]
    002bc730ldr x4, [sp+328]
    002bc734ldrsb x27, [x4]
    002bc738ldr x5, [x4]
    002bc73cldr x4, [x4+8]
    002bc740str x5, [sp+216]
    002bc744str x4, [sp+224]
    002bc748ldr x4, [sp+328]
    002bc74cldrsb x27, [x4]
    002bc750ldr x4, [x4+16]
    002bc754str x4, [sp+208]
    002bc758ldr x4, [sp+328]
    002bc75cldrsb x27, [x4]
    002bc760ldr x3, [x4+24]
    002bc764str x3, [sp+200]
    002bc768ldr x0, [sp+216]
    002bc76cldr x1, [sp+224]
    002bc770ldr x2, [sp+208]
    002bc774bl crypto/ecdsa.pointFromAffine
    002bc778str x0, [sp+256]
    002bc77cstr x1, [sp+264]
    002bc780str x2, [sp+272]
    002bc784str x3, [sp+240]
    002bc788str x4, [sp+248]
    002bc78cldr x4, [sp+256]
    002bc790ldr x5, [sp+264]
    002bc794ldr x6, [sp+272]
    002bc798str x4, [sp+160]
    002bc79cstr x5, [sp+168]
    002bc7a0str x6, [sp+176]
    002bc7a4ldr x4, [sp+240]
    002bc7a8ldr x5, [sp+248]
    002bc7acstr x4, [sp+144]
    002bc7b0str x5, [sp+152]
    002bc7b4ldr x4, [sp+160]
    002bc7b8ldr x5, [sp+168]
    002bc7bcldr x6, [sp+176]
    002bc7c0str x4, [sp+112]
    002bc7c4str x5, [sp+120]
    002bc7c8str x6, [sp+128]
    002bc7ccldr x4, [sp+152]
    002bc7d0ldr x5, [sp+144]
    002bc7d4str x5, [sp+96]
    002bc7d8str x4, [sp+104]
    002bc7dccbnz x5, 0x2bc7e4
    002bc7e0b 0x2bc808
    002bc7e4
    002bc7e4loc_2bc7e4:
    002bc7e4str xzr, [sp+88]
    002bc7e8ldr x1, [sp+96]
    002bc7ecldr x2, [sp+104]
    002bc7f0str x1, [sp+72]
    002bc7f4str x2, [sp+80]
    002bc7f8ldr x0, [sp+88]
    002bc7fcldp x29, x30, [sp-8]
    002bc800add sp, sp, 304
    002bc804ret x30
    002bc808
    002bc808loc_2bc808:
    002bc808ldr x1, [sp+328]
    002bc80cldrsb x27, [x1]
    002bc810ldr x0, [x1+32]
    002bc814str x0, [sp+192]
    002bc818bl math/big.(*Int).Bytes
    002bc81cstr x0, [sp+256]
    002bc820str x1, [sp+264]
    002bc824str x2, [sp+272]
    002bc828str xzr, [sp+232]
    002bc82cstp xzr, xzr, [sp+240]
    002bc830ldr x1, [sp+312]
    002bc834ldrsb x27, [x1]
    002bc838ldr x0, [x1]
    002bc83cstr x0, [sp+184]
    002bc840ldr x5, [sp+112]
    002bc844ldr x1, [sp+320]
    002bc848ldr x6, [sp+120]
    002bc84cldr x7, [sp+128]
    002bc850ldr x2, [sp+256]
    002bc854ldr x3, [sp+264]
    002bc858ldr x4, [sp+272]
    002bc85cbl crypto/internal/fips140/ecdsa.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P521Point]
    002bc860str x0, [sp+232]
    002bc864str x1, [sp+240]
    002bc868str x2, [sp+248]
    002bc86cldr x1, [sp+232]
    002bc870str x1, [sp+136]
    002bc874ldr x1, [sp+240]
    002bc878ldr x2, [sp+248]
    002bc87cstr x1, [sp+280]
    002bc880str x2, [sp+288]
    002bc884ldr x1, [sp+136]
    002bc888str x1, [sp+88]
    002bc88cldr x1, [sp+280]
    002bc890ldr x2, [sp+288]
    002bc894str x1, [sp+72]
    002bc898str x2, [sp+80]
    002bc89cldr x0, [sp+88]
    002bc8a0ldp x29, x30, [sp-8]
    002bc8a4add sp, sp, 304
    002bc8a8ret x30
    002bc8ac
    002bc8acloc_2bc8ac:
    002bc8acstp x0, x1, [sp+8]
    002bc8b0str x2, [sp+24]
    002bc8b4mov x3, x30
    002bc8b8bl runtime.morestack_noctxt.abi0
    002bc8bcldp x0, x1, [sp+8]
    002bc8c0ldr x2, [sp+24]
    002bc8c4b 0x2bc6f0
    002bc8c8udf 0
    002bc8ccudf 0
    002bc6f0
    002bc8d0
    002bc8d0crypto/ecdsa.signFIPSDeterministic[go.shape.*crypto/internal/fips140/nistec.P384Point]: ; void crypto/ecdsa.signFIPSDeterministic[go.shape.*crypto/internal/fips140/nistec.P384Point](uintptr[3] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P384Point] * c, crypto.Hash hashFunc, crypto/ecdsa.PrivateKey * priv, struct []uint8 hash)
    002bc8d0ldr x16, [x28+16]
    002bc8d4sub x17, sp, 272
    002bc8d8subs xzr, x17, x16
    002bc8dcb.ls 0x2bcc04
    002bc8e0sub x20, sp, 400
    002bc8e4stp x29, x30, [x20-8]
    002bc8e8add sp, x20, 0
    002bc8ecsub x29, sp, 8
    002bc8f0str x0, [sp+408]
    002bc8f4str x1, [sp+416]
    002bc8f8str x2, [sp+424]
    002bc8fcstr x3, [sp+432]
    002bc900str x4, [sp+440]
    002bc904str x5, [sp+448]
    002bc908str x6, [sp+456]
    002bc90cstr xzr, [sp+96]
    002bc910stp xzr, xzr, [sp+104]
    002bc914stp xzr, xzr, [sp+80]
    002bc918str xzr, [sp+304]
    002bc91cstp xzr, xzr, [sp+288]
    002bc920ldr x3, [sp+408]
    002bc924ldrsb x27, [x3]
    002bc928ldr x0, [x3]
    002bc92cstr x0, [sp+232]
    002bc930ldr x2, [sp+432]
    002bc934ldr x1, [sp+416]
    002bc938bl crypto/ecdsa.privateKeyToFIPS[go.shape.*crypto/internal/fips140/nistec.P384Point]
    002bc93cstr x0, [sp+304]
    002bc940str x1, [sp+288]
    002bc944str x2, [sp+296]
    002bc948ldr x3, [sp+304]
    002bc94cstr x3, [sp+160]
    002bc950ldr x3, [sp+288]
    002bc954ldr x4, [sp+296]
    002bc958str x3, [sp+376]
    002bc95cstr x4, [sp+384]
    002bc960ldr x3, [sp+160]
    002bc964str x3, [sp+128]
    002bc968ldr x3, [sp+384]
    002bc96cldr x4, [sp+376]
    002bc970str x4, [sp+144]
    002bc974str x3, [sp+152]
    002bc978cbnz x4, 0x2bc980
    002bc97cb 0x2bc9b0
    002bc980
    002bc980loc_2bc980:
    002bc980str xzr, [sp+96]
    002bc984stp xzr, xzr, [sp+104]
    002bc988ldr x3, [sp+144]
    002bc98cldr x4, [sp+152]
    002bc990str x3, [sp+80]
    002bc994str x4, [sp+88]
    002bc998ldr x0, [sp+96]
    002bc99cldr x1, [sp+104]
    002bc9a0ldr x2, [sp+112]
    002bc9a4ldp x29, x30, [sp-8]
    002bc9a8add sp, sp, 400
    002bc9acret x30
    002bc9b0
    002bc9b0loc_2bc9b0:
    002bc9b0adrp x0, 0x378000
    002bc9b4add x0, x0, 2112
    002bc9b8bl runtime.newobject
    002bc9bcstr x0, [sp+224]
    002bc9c0adrp x1, 12288
    002bc9c4add x1, x1, 3360
    002bc9c8str x1, [x0]
    002bc9ccldr x1, [sp+424]
    002bc9d0ldr x2, [sp+224]
    002bc9d4ldrsb x27, [x2]
    002bc9d8str x1, [x2+8]
    002bc9dcldr x1, [sp+224]
    002bc9e0adrp x0, 0x457000
    002bc9e4add x0, x0, 768
    002bc9e8bl crypto/internal/fips140hash.UnwrapNew[go.shape.interface { BlockSize() int; Reset(); Size() int; Sum([]uint8) []uint8; Write([]uint8) (int, error) }]
    002bc9ecstr x0, [sp+136]
    002bc9f0adrp x27, 0x78f000
    002bc9f4ldrb w1, [x27+1551]
    002bc9f8strb w1, [sp+79]
    002bc9fctbnz w1, 0, 0x2bca04
    002bca00b 0x2bca2c
    002bca04
    002bca04loc_2bca04:
    002bca04ldr x26, [sp+136]
    002bca08ldr x0, [x26]
    002bca0cblr x0
    002bca10str x0, [sp+272]
    002bca14str x1, [sp+280]
    002bca18bl crypto/internal/fips140only.ApprovedHash
    002bca1cstrb w0, [sp+78]
    002bca20eor x0, x0, 1
    002bca24strb w0, [sp+79]
    002bca28b 0x2bca30
    002bca2c
    002bca2cloc_2bca2c:
    002bca2cb 0x2bca30
    002bca30
    002bca30loc_2bca30:
    002bca30ldrb w7, [sp+79]
    002bca34tbnz w7, 0, 0x2bca3c
    002bca38b 0x2bca84
    002bca3c
    002bca3cloc_2bca3c:
    002bca3cadrp x0, 0x414000
    002bca40add x0, x0, 2527
    002bca44movz x1, 98
    002bca48bl errors.New
    002bca4cstr x0, [sp+288]
    002bca50str x1, [sp+296]
    002bca54str xzr, [sp+96]
    002bca58stp xzr, xzr, [sp+104]
    002bca5cldr x3, [sp+288]
    002bca60ldr x4, [sp+296]
    002bca64str x3, [sp+80]
    002bca68str x4, [sp+88]
    002bca6cldr x0, [sp+96]
    002bca70ldr x1, [sp+104]
    002bca74ldr x2, [sp+112]
    002bca78ldp x29, x30, [sp-8]
    002bca7cadd sp, sp, 400
    002bca80ret x30
    002bca84
    002bca84loc_2bca84:
    002bca84str xzr, [sp+264]
    002bca88stp xzr, xzr, [sp+288]
    002bca8cldr x7, [sp+408]
    002bca90ldrsb x27, [x7]
    002bca94ldr x0, [x7+8]
    002bca98str x0, [sp+216]
    002bca9cldr x4, [sp+440]
    002bcaa0ldr x3, [sp+128]
    002bcaa4ldr x1, [sp+416]
    002bcaa8ldr x2, [sp+136]
    002bcaacldr x5, [sp+448]
    002bcab0ldr x6, [sp+456]
    002bcab4bl crypto/internal/fips140/ecdsa.SignDeterministic[go.shape.*crypto/internal/fips140/nistec.P384Point,go.shape.interface { BlockSize() int; Reset(); Size() int; Sum([]uint8) []uint8; Write([]uint8) (int, error) }]
    002bcab8str x0, [sp+264]
    002bcabcstr x1, [sp+288]
    002bcac0str x2, [sp+296]
    002bcac4ldr x7, [sp+264]
    002bcac8str x7, [sp+368]
    002bcaccldr x7, [sp+288]
    002bcad0ldr x8, [sp+296]
    002bcad4str x7, [sp+352]
    002bcad8str x8, [sp+360]
    002bcadcldr x7, [sp+368]
    002bcae0str x7, [sp+120]
    002bcae4ldr x7, [sp+360]
    002bcae8ldr x8, [sp+352]
    002bcaecstr x8, [sp+144]
    002bcaf0str x7, [sp+152]
    002bcaf4cbnz x8, 0x2bcafc
    002bcaf8b 0x2bcb2c
    002bcafc
    002bcafcloc_2bcafc:
    002bcafcstr xzr, [sp+96]
    002bcb00stp xzr, xzr, [sp+104]
    002bcb04ldr x3, [sp+144]
    002bcb08ldr x4, [sp+152]
    002bcb0cstr x3, [sp+80]
    002bcb10str x4, [sp+88]
    002bcb14ldr x0, [sp+96]
    002bcb18ldr x1, [sp+104]
    002bcb1cldr x2, [sp+112]
    002bcb20ldp x29, x30, [sp-8]
    002bcb24add sp, sp, 400
    002bcb28ret x30
    002bcb2c
    002bcb2cloc_2bcb2c:
    002bcb2cstr xzr, [sp+240]
    002bcb30stp xzr, xzr, [sp+248]
    002bcb34stp xzr, xzr, [sp+288]
    002bcb38ldr x6, [sp+120]
    002bcb3cldrsb x27, [x6]
    002bcb40ldr x7, [x6]
    002bcb44ldr x8, [x6+8]
    002bcb48ldr x6, [x6+16]
    002bcb4cstr x7, [sp+192]
    002bcb50str x8, [sp+200]
    002bcb54str x6, [sp+208]
    002bcb58ldr x6, [sp+120]
    002bcb5cldrsb x27, [x6]
    002bcb60ldr x3, [x6+24]
    002bcb64ldr x4, [x6+32]
    002bcb68ldr x5, [x6+40]
    002bcb6cstr x3, [sp+168]
    002bcb70str x4, [sp+176]
    002bcb74str x5, [sp+184]
    002bcb78ldr x0, [sp+192]
    002bcb7cldr x1, [sp+200]
    002bcb80ldr x2, [sp+208]
    002bcb84bl crypto/ecdsa.encodeSignature
    002bcb88str x0, [sp+240]
    002bcb8cstr x1, [sp+248]
    002bcb90str x2, [sp+256]
    002bcb94str x3, [sp+288]
    002bcb98str x4, [sp+296]
    002bcb9cldr x6, [sp+240]
    002bcba0ldr x7, [sp+248]
    002bcba4ldr x8, [sp+256]
    002bcba8str x6, [sp+328]
    002bcbacstr x7, [sp+336]
    002bcbb0str x8, [sp+344]
    002bcbb4ldr x6, [sp+288]
    002bcbb8ldr x7, [sp+296]
    002bcbbcstr x6, [sp+312]
    002bcbc0str x7, [sp+320]
    002bcbc4ldr x6, [sp+328]
    002bcbc8ldr x7, [sp+336]
    002bcbccldr x8, [sp+344]
    002bcbd0str x6, [sp+96]
    002bcbd4str x7, [sp+104]
    002bcbd8str x8, [sp+112]
    002bcbdcldr x3, [sp+312]
    002bcbe0ldr x4, [sp+320]
    002bcbe4str x3, [sp+80]
    002bcbe8str x4, [sp+88]
    002bcbecldr x0, [sp+96]
    002bcbf0ldr x1, [sp+104]
    002bcbf4ldr x2, [sp+112]
    002bcbf8ldp x29, x30, [sp-8]
    002bcbfcadd sp, sp, 400
    002bcc00ret x30
    002bcc04
    002bcc04loc_2bcc04:
    002bcc04stp x0, x1, [sp+8]
    002bcc08stp x2, x3, [sp+24]
    002bcc0cstp x4, x5, [sp+40]
    002bcc10str x6, [sp+56]
    002bcc14mov x3, x30
    002bcc18bl runtime.morestack_noctxt.abi0
    002bcc1cldp x0, x1, [sp+8]
    002bcc20ldp x2, x3, [sp+24]
    002bcc24ldp x4, x5, [sp+40]
    002bcc28ldr x6, [sp+56]
    002bcc2cb 0x2bc8d0
    002bc8d0