File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    002b9470
    002b9470crypto/ecdsa.privateKeyFromFIPS: ; void crypto/ecdsa.privateKeyFromFIPS(crypto/elliptic.Curve curve, crypto/internal/fips140/ecdsa.PrivateKey * priv)
    002b9470ldr x16, [x28+16]
    002b9474sub x17, sp, 80
    002b9478subs xzr, x17, x16
    002b947cb.ls 0x2b964c
    002b9480str x30, [sp-208]!
    002b9484stur x29, [sp-8]
    002b9488sub x29, sp, 8
    002b948cstr x0, [sp+216]
    002b9490str x1, [sp+224]
    002b9494str x2, [sp+232]
    002b9498str xzr, [sp+64]
    002b949cstp xzr, xzr, [sp+48]
    002b94a0ldr x0, [sp+232]
    002b94a4bl crypto/internal/fips140/ecdsa.(*PrivateKey).PublicKey
    002b94a8str x0, [sp+104]
    002b94acstr xzr, [sp+96]
    002b94b0stp xzr, xzr, [sp+184]
    002b94b4ldr x0, [sp+216]
    002b94b8ldr x1, [sp+224]
    002b94bcldr x2, [sp+104]
    002b94c0bl crypto/ecdsa.publicKeyFromFIPS
    002b94c4str x0, [sp+96]
    002b94c8str x1, [sp+184]
    002b94ccstr x2, [sp+192]
    002b94d0ldr x1, [sp+96]
    002b94d4str x1, [sp+128]
    002b94d8ldr x1, [sp+184]
    002b94dcldr x2, [sp+192]
    002b94e0str x1, [sp+112]
    002b94e4str x2, [sp+120]
    002b94e8ldr x1, [sp+128]
    002b94ecstr x1, [sp+72]
    002b94f0ldr x1, [sp+120]
    002b94f4ldr x2, [sp+112]
    002b94f8str x2, [sp+80]
    002b94fcstr x1, [sp+88]
    002b9500cbnz x2, 0x2b9508
    002b9504b 0x2b952c
    002b9508
    002b9508loc_2b9508:
    002b9508str xzr, [sp+64]
    002b950cldr x1, [sp+80]
    002b9510ldr x2, [sp+88]
    002b9514str x1, [sp+48]
    002b9518str x2, [sp+56]
    002b951cldr x0, [sp+64]
    002b9520ldur x29, [sp-8]
    002b9524ldr x30, [sp], 208
    002b9528ret x30
    002b952c
    002b952cloc_2b952c:
    002b952cadrp x0, 0x38c000
    002b9530add x0, x0, 1024
    002b9534bl runtime.newobject
    002b9538str x0, [sp+176]
    002b953cldr x0, [sp+232]
    002b9540bl crypto/internal/fips140/ecdsa.(*PrivateKey).Bytes
    002b9544str x0, [sp+152]
    002b9548str x1, [sp+160]
    002b954cstr x2, [sp+168]
    002b9550ldr x3, [sp+176]
    002b9554mov x4, x0
    002b9558mov x0, x3
    002b955cmov x5, x1
    002b9560mov x1, x4
    002b9564mov x6, x2
    002b9568mov x2, x5
    002b956cmov x3, x6
    002b9570bl math/big.(*Int).SetBytes
    002b9574str x0, [sp+144]
    002b9578adrp x0, 0x3c6000
    002b957cadd x0, x0, 1056
    002b9580bl runtime.newobject
    002b9584str x0, [sp+136]
    002b9588ldr x1, [sp+72]
    002b958cldrsb x27, [x1]
    002b9590ldr x2, [x1+8]
    002b9594ldr x3, [x1]
    002b9598ldr x4, [x1+16]
    002b959cldr x1, [x1+24]
    002b95a0str x3, [x0]
    002b95a4adrp x27, 0x792000
    002b95a8ldr w3, [x27+3056]
    002b95accbz w3, 0x2b95b4
    002b95b0b 0x2b95b8
    002b95b4
    002b95b4loc_2b95b4:
    002b95b4b 0x2b95e4
    002b95b8
    002b95b8loc_2b95b8:
    002b95b8bl runtime.gcWriteBarrier6
    002b95bcstr x2, [x25]
    002b95c0ldr x3, [x0+8]
    002b95c4str x3, [x25+8]
    002b95c8str x4, [x25+16]
    002b95ccldr x3, [x0+16]
    002b95d0str x3, [x25+24]
    002b95d4str x1, [x25+32]
    002b95d8ldr x3, [x0+24]
    002b95dcstr x3, [x25+40]
    002b95e0b 0x2b95e4
    002b95e4
    002b95e4loc_2b95e4:
    002b95e4str x2, [x0+8]
    002b95e8str x4, [x0+16]
    002b95ecstr x1, [x0+24]
    002b95f0ldr x3, [sp+136]
    002b95f4ldrsb x27, [x3]
    002b95f8ldr x4, [sp+144]
    002b95fcadrp x27, 0x792000
    002b9600ldr w5, [x27+3056]
    002b9604cbz w5, 0x2b960c
    002b9608b 0x2b9610
    002b960c
    002b960cloc_2b960c:
    002b960cb 0x2b9624
    002b9610
    002b9610loc_2b9610:
    002b9610bl runtime.gcWriteBarrier2
    002b9614str x4, [x25]
    002b9618ldr x5, [x3+32]
    002b961cstr x5, [x25+8]
    002b9620b 0x2b9624
    002b9624
    002b9624loc_2b9624:
    002b9624str x4, [x3+32]
    002b9628ldr x3, [sp+136]
    002b962cstr x3, [sp+64]
    002b9630stp xzr, xzr, [sp+48]
    002b9634ldr x0, [sp+64]
    002b9638mov x1, xzr
    002b963cmov x2, xzr
    002b9640ldur x29, [sp-8]
    002b9644ldr x30, [sp], 208
    002b9648ret x30
    002b964c
    002b964cloc_2b964c:
    002b964cstp x0, x1, [sp+8]
    002b9650str x2, [sp+24]
    002b9654mov x3, x30
    002b9658bl runtime.morestack_noctxt.abi0
    002b965cldp x0, x1, [sp+8]
    002b9660ldr x2, [sp+24]
    002b9664b 0x2b9470
    002b9668udf 0
    002b966cudf 0
    002b9470
    002b9670
    002b9670crypto/ecdsa.pointFromAffine: ; void crypto/ecdsa.pointFromAffine(crypto/elliptic.Curve curve, math/big.Int * x, math/big.Int * y)
    002b9670ldr x16, [x28+16]
    002b9674sub x17, sp, 80
    002b9678subs xzr, x17, x16
    002b967cb.ls 0x2b997c
    002b9680str x30, [sp-208]!
    002b9684stur x29, [sp-8]
    002b9688sub x29, sp, 8
    002b968cstr x0, [sp+216]
    002b9690str x1, [sp+224]
    002b9694str x2, [sp+232]
    002b9698str x3, [sp+240]
    002b969cstr xzr, [sp+104]
    002b96a0stp xzr, xzr, [sp+112]
    002b96a4stp xzr, xzr, [sp+88]
    002b96a8ldr x1, [sp+216]
    002b96acldrsb x27, [x1]
    002b96b0ldr x1, [x1+48]
    002b96b4ldr x0, [sp+224]
    002b96b8blr x1
    002b96bcstr x0, [sp+152]
    002b96c0ldrsb x27, [x0]
    002b96c4ldr x1, [x0+40]
    002b96c8str x1, [sp+56]
    002b96ccldr x0, [sp+232]
    002b96d0bl math/big.(*Int).Sign
    002b96d4str x0, [sp+80]
    002b96d8subs xzr, x0, 0
    002b96dccset x1, lt
    002b96e0strb w1, [sp+47]
    002b96e4tbnz x0, 63, 0x2b96ec
    002b96e8b 0x2b96f0
    002b96ec
    002b96ecloc_2b96ec:
    002b96ecb 0x2b970c
    002b96f0
    002b96f0loc_2b96f0:
    002b96f0ldr x0, [sp+240]
    002b96f4bl math/big.(*Int).Sign
    002b96f8str x0, [sp+72]
    002b96fcsubs xzr, x0, 0
    002b9700cset x1, lt
    002b9704strb w1, [sp+47]
    002b9708b 0x2b970c
    002b970c
    002b970cloc_2b970c:
    002b970cldrb w2, [sp+47]
    002b9710tbnz w2, 0, 0x2b9718
    002b9714b 0x2b9760
    002b9718
    002b9718loc_2b9718:
    002b9718adrp x0, 0x3fd000
    002b971cadd x0, x0, 1669
    002b9720movz x1, 19
    002b9724bl errors.New
    002b9728str x0, [sp+184]
    002b972cstr x1, [sp+192]
    002b9730str xzr, [sp+104]
    002b9734stp xzr, xzr, [sp+112]
    002b9738ldr x3, [sp+184]
    002b973cldr x4, [sp+192]
    002b9740str x3, [sp+88]
    002b9744str x4, [sp+96]
    002b9748ldr x0, [sp+104]
    002b974cldr x1, [sp+112]
    002b9750ldr x2, [sp+120]
    002b9754ldur x29, [sp-8]
    002b9758ldr x30, [sp], 208
    002b975cret x30
    002b9760
    002b9760loc_2b9760:
    002b9760ldr x0, [sp+232]
    002b9764bl math/big.(*Int).BitLen
    002b9768str x0, [sp+80]
    002b976cldr x1, [sp+56]
    002b9770subs xzr, x0, x1
    002b9774cset x1, gt
    002b9778strb w1, [sp+47]
    002b977cb.gt 0x2b9784
    002b9780b 0x2b9788
    002b9784
    002b9784loc_2b9784:
    002b9784b 0x2b97a8
    002b9788
    002b9788loc_2b9788:
    002b9788ldr x0, [sp+240]
    002b978cbl math/big.(*Int).BitLen
    002b9790str x0, [sp+72]
    002b9794ldr x1, [sp+56]
    002b9798subs xzr, x0, x1
    002b979ccset x1, gt
    002b97a0strb w1, [sp+47]
    002b97a4b 0x2b97a8
    002b97a8
    002b97a8loc_2b97a8:
    002b97a8ldrb w3, [sp+47]
    002b97actbnz w3, 0, 0x2b97b4
    002b97b0b 0x2b97fc
    002b97b4
    002b97b4loc_2b97b4:
    002b97b4adrp x0, 0x3ff000
    002b97b8add x0, x0, 132
    002b97bcmovz x1, 22
    002b97c0bl errors.New
    002b97c4str x0, [sp+184]
    002b97c8str x1, [sp+192]
    002b97ccstr xzr, [sp+104]
    002b97d0stp xzr, xzr, [sp+112]
    002b97d4ldr x3, [sp+184]
    002b97d8ldr x4, [sp+192]
    002b97dcstr x3, [sp+88]
    002b97e0str x4, [sp+96]
    002b97e4ldr x0, [sp+104]
    002b97e8ldr x1, [sp+112]
    002b97ecldr x2, [sp+120]
    002b97f0ldur x29, [sp-8]
    002b97f4ldr x30, [sp], 208
    002b97f8ret x30
    002b97fc
    002b97fcloc_2b97fc:
    002b97fcldr x3, [sp+56]
    002b9800add x4, x3, 7
    002b9804sbfm x4, x4, 63, 63
    002b9808add x3, x3, x4, lsr #61
    002b980cadd x3, x3, 7
    002b9810sbfm x3, x3, 3, 63
    002b9814str x3, [sp+48]
    002b9818ubfm x3, x3, 63, 62
    002b981cadd x2, x3, 1
    002b9820str x2, [sp+64]
    002b9824adrp x0, 0x33c000
    002b9828add x0, x0, 3072
    002b982cmov x1, x2
    002b9830bl runtime.makeslice
    002b9834ldr x1, [sp+64]
    002b9838ldr x3, [sp+64]
    002b983cstr x0, [sp+128]
    002b9840str x1, [sp+136]
    002b9844str x3, [sp+144]
    002b9848subs xzr, x1, 0
    002b984cb.hi 0x2b9854
    002b9850b 0x2b9970
    002b9854
    002b9854loc_2b9854:
    002b9854orr x4, xzr, 4
    002b9858strb w4, [x0]
    002b985cldr x2, [sp+48]
    002b9860add x1, x2, 1
    002b9864str x1, [sp+80]
    002b9868ldr x4, [sp+144]
    002b986cldr x5, [sp+128]
    002b9870subs xzr, x4, x1
    002b9874b.hs 0x2b987c
    002b9878b 0x2b9968
    002b987c
    002b987cloc_2b987c:
    002b987csubs xzr, x1, 1
    002b9880b.hs 0x2b9888
    002b9884b 0x2b9960
    002b9888
    002b9888loc_2b9888:
    002b9888sub x3, x4, 1
    002b988csub x4, xzr, x3
    002b9890sbfm x4, x4, 63, 63
    002b9894and x4, x4, 1
    002b9898add x1, x5, x4
    002b989cstr x1, [sp+160]
    002b98a0str x2, [sp+168]
    002b98a4str x3, [sp+176]
    002b98a8ldr x0, [sp+232]
    002b98acbl math/big.(*Int).FillBytes
    002b98b0ldr x4, [sp+48]
    002b98b4add x0, x4, 1
    002b98b8str x0, [sp+80]
    002b98bcldr x5, [sp+48]
    002b98c0ubfm x5, x5, 63, 62
    002b98c4add x1, x5, 1
    002b98c8str x1, [sp+72]
    002b98ccldr x2, [sp+144]
    002b98d0ldr x6, [sp+128]
    002b98d4subs xzr, x2, x1
    002b98d8b.hs 0x2b98e0
    002b98dcb 0x2b995c
    002b98e0
    002b98e0loc_2b98e0:
    002b98e0subs xzr, x1, x0
    002b98e4b.hs 0x2b98ec
    002b98e8b 0x2b9958
    002b98ec
    002b98ecloc_2b98ec:
    002b98ecsub x5, x5, x4
    002b98f0sub x4, x2, x4
    002b98f4sub x3, x4, 1
    002b98f8sub x4, xzr, x3
    002b98fcand x4, x0, x4, asr #63
    002b9900add x1, x6, x4
    002b9904str x1, [sp+160]
    002b9908str x5, [sp+168]
    002b990cstr x3, [sp+176]
    002b9910ldr x0, [sp+240]
    002b9914mov x2, x5
    002b9918bl math/big.(*Int).FillBytes
    002b991cldr x4, [sp+128]
    002b9920ldr x5, [sp+136]
    002b9924ldr x6, [sp+144]
    002b9928str x4, [sp+104]
    002b992cstr x5, [sp+112]
    002b9930str x6, [sp+120]
    002b9934stp xzr, xzr, [sp+88]
    002b9938ldr x0, [sp+104]
    002b993cldr x1, [sp+112]
    002b9940ldr x2, [sp+120]
    002b9944mov x3, xzr
    002b9948mov x4, xzr
    002b994cldur x29, [sp-8]
    002b9950ldr x30, [sp], 208
    002b9954ret x30
    002b9958
    002b9958loc_2b9958:
    002b9958bl runtime.panicSliceB
    002b995c
    002b995cloc_2b995c:
    002b995cbl runtime.panicSliceAcap
    002b9960
    002b9960loc_2b9960:
    002b9960orr x0, xzr, 1
    002b9964bl runtime.panicSliceB
    002b9968
    002b9968loc_2b9968:
    002b9968mov x2, x4
    002b996cbl runtime.panicSliceAcap
    002b9970
    002b9970loc_2b9970:
    002b9970mov x0, xzr
    002b9974bl runtime.panicIndex
    002b9978hint
    002b997c
    002b997cloc_2b997c:
    002b997cstp x0, x1, [sp+8]
    002b9980stp x2, x3, [sp+24]
    002b9984mov x3, x30
    002b9988bl runtime.morestack_noctxt.abi0
    002b998cldp x0, x1, [sp+8]
    002b9990ldp x2, x3, [sp+24]
    002b9994b 0x2b9670
    002b9998udf 0
    002b999cudf 0
    002b9670
    002b99a0
    002b99a0crypto/ecdsa.pointToAffine: ; void crypto/ecdsa.pointToAffine(crypto/elliptic.Curve curve, struct []uint8 p)
    002b99a0ldr x16, [x28+16]
    002b99a4sub x17, sp, 32
    002b99a8subs xzr, x17, x16
    002b99acb.ls 0x2b9bc0
    002b99b0str x30, [sp-160]!
    002b99b4stur x29, [sp-8]
    002b99b8sub x29, sp, 8
    002b99bcstr x0, [sp+168]
    002b99c0str x1, [sp+176]
    002b99c4str x2, [sp+184]
    002b99c8str x3, [sp+192]
    002b99ccstr x4, [sp+200]
    002b99d0str xzr, [sp+72]
    002b99d4str xzr, [sp+64]
    002b99d8stp xzr, xzr, [sp+80]
    002b99dcldr x2, [sp+192]
    002b99e0str x2, [sp+56]
    002b99e4subs xzr, x2, 1
    002b99e8cset x2, eq
    002b99ecstrb w2, [sp+47]
    002b99f0b.eq 0x2b99f8
    002b99f4b 0x2b9a20
    002b99f8
    002b99f8loc_2b99f8:
    002b99f8ldr x1, [sp+192]
    002b99fcldr x2, [sp+184]
    002b9a00subs xzr, x1, 0
    002b9a04b.hi 0x2b9a0c
    002b9a08b 0x2b9bb4
    002b9a0c
    002b9a0cloc_2b9a0c:
    002b9a0cldrb w2, [x2]
    002b9a10subs wzr, w2, 0
    002b9a14cset x2, eq
    002b9a18strb w2, [sp+47]
    002b9a1cb 0x2b9a24
    002b9a20
    002b9a20loc_2b9a20:
    002b9a20b 0x2b9a24
    002b9a24
    002b9a24loc_2b9a24:
    002b9a24ldrb w2, [sp+47]
    002b9a28tbnz w2, 0, 0x2b9a30
    002b9a2cb 0x2b9a74
    002b9a30
    002b9a30loc_2b9a30:
    002b9a30adrp x0, 0x40a000
    002b9a34add x0, x0, 3172
    002b9a38movz x1, 39
    002b9a3cbl errors.New
    002b9a40str x0, [sp+104]
    002b9a44str x1, [sp+112]
    002b9a48str xzr, [sp+72]
    002b9a4cstr xzr, [sp+64]
    002b9a50ldr x2, [sp+104]
    002b9a54ldr x3, [sp+112]
    002b9a58str x2, [sp+80]
    002b9a5cstr x3, [sp+88]
    002b9a60ldr x0, [sp+72]
    002b9a64ldr x1, [sp+64]
    002b9a68ldur x29, [sp-8]
    002b9a6cldr x30, [sp], 160
    002b9a70ret x30
    002b9a74
    002b9a74loc_2b9a74:
    002b9a74ldr x1, [sp+168]
    002b9a78ldrsb x27, [x1]
    002b9a7cldr x1, [x1+48]
    002b9a80ldr x0, [sp+176]
    002b9a84blr x1
    002b9a88str x0, [sp+96]
    002b9a8cldrsb x27, [x0]
    002b9a90ldr x1, [x0+40]
    002b9a94add x2, x1, 7
    002b9a98sbfm x2, x2, 63, 63
    002b9a9cadd x1, x1, x2, lsr #61
    002b9aa0add x1, x1, 7
    002b9aa4sbfm x1, x1, 3, 63
    002b9aa8str x1, [sp+48]
    002b9aacadrp x0, 0x38c000
    002b9ab0add x0, x0, 1024
    002b9ab4bl runtime.newobject
    002b9ab8str x0, [sp+144]
    002b9abcldr x2, [sp+48]
    002b9ac0add x1, x2, 1
    002b9ac4str x1, [sp+56]
    002b9ac8ldr x3, [sp+200]
    002b9accldr x4, [sp+184]
    002b9ad0subs xzr, x3, x1
    002b9ad4b.hs 0x2b9adc
    002b9ad8b 0x2b9bac
    002b9adc
    002b9adcloc_2b9adc:
    002b9adcsubs xzr, x1, 1
    002b9ae0b.hs 0x2b9ae8
    002b9ae4b 0x2b9ba4
    002b9ae8
    002b9ae8loc_2b9ae8:
    002b9ae8sub x3, x3, 1
    002b9aecsub x5, xzr, x3
    002b9af0sbfm x5, x5, 63, 63
    002b9af4and x5, x5, 1
    002b9af8add x1, x4, x5
    002b9afcstr x1, [sp+120]
    002b9b00str x2, [sp+128]
    002b9b04str x3, [sp+136]
    002b9b08ldr x0, [sp+144]
    002b9b0cbl math/big.(*Int).SetBytes
    002b9b10str x0, [sp+72]
    002b9b14adrp x0, 0x38c000
    002b9b18add x0, x0, 1024
    002b9b1cbl runtime.newobject
    002b9b20str x0, [sp+144]
    002b9b24ldr x4, [sp+48]
    002b9b28add x0, x4, 1
    002b9b2cstr x0, [sp+56]
    002b9b30ldr x1, [sp+192]
    002b9b34ldr x5, [sp+184]
    002b9b38ldr x6, [sp+200]
    002b9b3cb 0x2b9b40
    002b9b40
    002b9b40loc_2b9b40:
    002b9b40subs xzr, x1, x0
    002b9b44b.hs 0x2b9b4c
    002b9b48b 0x2b9ba0
    002b9b4c
    002b9b4cloc_2b9b4c:
    002b9b4csub x7, x1, x4
    002b9b50sub x4, x6, x4
    002b9b54sub x3, x4, 1
    002b9b58sub x2, x7, 1
    002b9b5csub x4, xzr, x3
    002b9b60and x4, x0, x4, asr #63
    002b9b64add x1, x5, x4
    002b9b68str x1, [sp+120]
    002b9b6cstr x2, [sp+128]
    002b9b70str x3, [sp+136]
    002b9b74ldr x0, [sp+144]
    002b9b78bl math/big.(*Int).SetBytes
    002b9b7cstr x0, [sp+64]
    002b9b80stp xzr, xzr, [sp+80]
    002b9b84ldr x0, [sp+72]
    002b9b88ldr x1, [sp+64]
    002b9b8cmov x2, xzr
    002b9b90mov x3, xzr
    002b9b94ldur x29, [sp-8]
    002b9b98ldr x30, [sp], 160
    002b9b9cret x30
    002b9ba0
    002b9ba0loc_2b9ba0:
    002b9ba0bl runtime.panicSliceB
    002b9ba4
    002b9ba4loc_2b9ba4:
    002b9ba4orr x0, xzr, 1
    002b9ba8bl runtime.panicSliceB
    002b9bac
    002b9bacloc_2b9bac:
    002b9bacmov x2, x3
    002b9bb0bl runtime.panicSliceAcap
    002b9bb4
    002b9bb4loc_2b9bb4:
    002b9bb4mov x0, xzr
    002b9bb8bl runtime.panicIndex
    002b9bbchint
    002b9bc0
    002b9bc0loc_2b9bc0:
    002b9bc0stp x0, x1, [sp+8]
    002b9bc4stp x2, x3, [sp+24]
    002b9bc8str x4, [sp+40]
    002b9bccmov x3, x30
    002b9bd0bl runtime.morestack_noctxt.abi0
    002b9bd4ldp x0, x1, [sp+8]
    002b9bd8ldp x2, x3, [sp+24]
    002b9bdcldr x4, [sp+40]
    002b9be0b 0x2b99a0
    002b9be4udf 0
    002b9be8udf 0
    002b9becudf 0
    002b99a0
    002b9bf0
    002b9bf0crypto/ecdsa.generateLegacy: ; void crypto/ecdsa.generateLegacy(crypto/elliptic.Curve c, io.Reader rand)
    002b9bf0ldr x16, [x28+16]
    002b9bf4sub x17, sp, 80
    002b9bf8subs xzr, x17, x16
    002b9bfcb.ls 0x2b9e6c
    002b9c00str x30, [sp-208]!
    002b9c04stur x29, [sp-8]
    002b9c08sub x29, sp, 8
    002b9c0cstr x0, [sp+216]
    002b9c10str x1, [sp+224]
    002b9c14str x2, [sp+232]
    002b9c18str x3, [sp+240]
    002b9c1cstr xzr, [sp+64]
    002b9c20stp xzr, xzr, [sp+48]
    002b9c24adrp x27, 0x792000
    002b9c28ldrb w4, [x27+1551]
    002b9c2ctbnz w4, 0, 0x2b9c34
    002b9c30b 0x2b9c70
    002b9c34
    002b9c34loc_2b9c34:
    002b9c34adrp x0, 0x415000
    002b9c38add x0, x0, 2659
    002b9c3cmovz x1, 71
    002b9c40bl errors.New
    002b9c44str x0, [sp+176]
    002b9c48str x1, [sp+184]
    002b9c4cstr xzr, [sp+64]
    002b9c50ldr x1, [sp+176]
    002b9c54ldr x2, [sp+184]
    002b9c58str x1, [sp+48]
    002b9c5cstr x2, [sp+56]
    002b9c60ldr x0, [sp+64]
    002b9c64ldur x29, [sp-8]
    002b9c68ldr x30, [sp], 208
    002b9c6cret x30
    002b9c70
    002b9c70loc_2b9c70:
    002b9c70str xzr, [sp+168]
    002b9c74stp xzr, xzr, [sp+176]
    002b9c78ldr x0, [sp+216]
    002b9c7cldr x2, [sp+232]
    002b9c80ldr x1, [sp+224]
    002b9c84ldr x3, [sp+240]
    002b9c88bl crypto/ecdsa.randFieldElement
    002b9c8cstr x0, [sp+168]
    002b9c90str x1, [sp+176]
    002b9c94str x2, [sp+184]
    002b9c98ldr x4, [sp+168]
    002b9c9cstr x4, [sp+128]
    002b9ca0ldr x4, [sp+184]
    002b9ca4ldr x5, [sp+176]
    002b9ca8str x5, [sp+112]
    002b9cacstr x4, [sp+120]
    002b9cb0ldr x4, [sp+128]
    002b9cb4str x4, [sp+80]
    002b9cb8ldr x4, [sp+120]
    002b9cbcldr x5, [sp+112]
    002b9cc0str x5, [sp+88]
    002b9cc4str x4, [sp+96]
    002b9cc8cbnz x5, 0x2b9cd0
    002b9cccb 0x2b9cf4
    002b9cd0
    002b9cd0loc_2b9cd0:
    002b9cd0str xzr, [sp+64]
    002b9cd4ldr x1, [sp+88]
    002b9cd8ldr x2, [sp+96]
    002b9cdcstr x1, [sp+48]
    002b9ce0str x2, [sp+56]
    002b9ce4ldr x0, [sp+64]
    002b9ce8ldur x29, [sp-8]
    002b9cecldr x30, [sp], 208
    002b9cf0ret x30
    002b9cf4
    002b9cf4loc_2b9cf4:
    002b9cf4adrp x0, 0x3c6000
    002b9cf8add x0, x0, 1056
    002b9cfcbl runtime.newobject
    002b9d00str x0, [sp+72]
    002b9d04ldr x1, [sp+224]
    002b9d08ldr x2, [sp+216]
    002b9d0cstr x2, [x0]
    002b9d10adrp x27, 0x792000
    002b9d14ldr w2, [x27+3056]
    002b9d18cbz w2, 0x2b9d20
    002b9d1cb 0x2b9d24
    002b9d20
    002b9d20loc_2b9d20:
    002b9d20b 0x2b9d38
    002b9d24
    002b9d24loc_2b9d24:
    002b9d24bl runtime.gcWriteBarrier2
    002b9d28str x1, [x25]
    002b9d2cldr x2, [x0+8]
    002b9d30str x2, [x25+8]
    002b9d34b 0x2b9d38
    002b9d38
    002b9d38loc_2b9d38:
    002b9d38str x1, [x0+8]
    002b9d3cldr x1, [sp+72]
    002b9d40ldrsb x27, [x1]
    002b9d44ldr x2, [sp+80]
    002b9d48adrp x27, 0x792000
    002b9d4cldr w3, [x27+3056]
    002b9d50cbz w3, 0x2b9d58
    002b9d54b 0x2b9d5c
    002b9d58
    002b9d58loc_2b9d58:
    002b9d58b 0x2b9d70
    002b9d5c
    002b9d5cloc_2b9d5c:
    002b9d5cbl runtime.gcWriteBarrier2
    002b9d60str x2, [x25]
    002b9d64ldr x3, [x1+32]
    002b9d68str x3, [x25+8]
    002b9d6cb 0x2b9d70
    002b9d70
    002b9d70loc_2b9d70:
    002b9d70str x2, [x1+32]
    002b9d74ldr x0, [sp+80]
    002b9d78bl math/big.(*Int).Bytes
    002b9d7cstr x0, [sp+144]
    002b9d80str x1, [sp+152]
    002b9d84str x2, [sp+160]
    002b9d88str xzr, [sp+168]
    002b9d8cstr xzr, [sp+136]
    002b9d90ldr x1, [sp+216]
    002b9d94ldrsb x27, [x1]
    002b9d98ldr x0, [sp+224]
    002b9d9cldr x1, [x1+56]
    002b9da0ldr x2, [sp+144]
    002b9da4ldr x3, [sp+152]
    002b9da8ldr x4, [sp+160]
    002b9dacmov x5, x1
    002b9db0mov x1, x2
    002b9db4mov x2, x3
    002b9db8mov x3, x4
    002b9dbcblr x5
    002b9dc0str x0, [sp+168]
    002b9dc4str x1, [sp+136]
    002b9dc8ldr x1, [sp+168]
    002b9dccstr x1, [sp+104]
    002b9dd0ldr x1, [sp+136]
    002b9dd4str x1, [sp+192]
    002b9dd8ldr x1, [sp+72]
    002b9ddcldrsb x27, [x1]
    002b9de0ldr x2, [sp+104]
    002b9de4adrp x27, 0x792000
    002b9de8ldr w3, [x27+3056]
    002b9deccbz w3, 0x2b9df4
    002b9df0b 0x2b9df8
    002b9df4
    002b9df4loc_2b9df4:
    002b9df4b 0x2b9e0c
    002b9df8
    002b9df8loc_2b9df8:
    002b9df8bl runtime.gcWriteBarrier2
    002b9dfcstr x2, [x25]
    002b9e00ldr x3, [x1+16]
    002b9e04str x3, [x25+8]
    002b9e08b 0x2b9e0c
    002b9e0c
    002b9e0cloc_2b9e0c:
    002b9e0cstr x2, [x1+16]
    002b9e10ldr x3, [sp+72]
    002b9e14ldrsb x27, [x3]
    002b9e18ldr x4, [sp+192]
    002b9e1cadrp x27, 0x792000
    002b9e20ldr w5, [x27+3056]
    002b9e24cbz w5, 0x2b9e2c
    002b9e28b 0x2b9e30
    002b9e2c
    002b9e2cloc_2b9e2c:
    002b9e2cb 0x2b9e44
    002b9e30
    002b9e30loc_2b9e30:
    002b9e30bl runtime.gcWriteBarrier2
    002b9e34str x4, [x25]
    002b9e38ldr x5, [x3+24]
    002b9e3cstr x5, [x25+8]
    002b9e40b 0x2b9e44
    002b9e44
    002b9e44loc_2b9e44:
    002b9e44str x4, [x3+24]
    002b9e48ldr x3, [sp+72]
    002b9e4cstr x3, [sp+64]
    002b9e50stp xzr, xzr, [sp+48]
    002b9e54ldr x0, [sp+64]
    002b9e58mov x1, xzr
    002b9e5cmov x2, xzr
    002b9e60ldur x29, [sp-8]
    002b9e64ldr x30, [sp], 208
    002b9e68ret x30
    002b9e6c
    002b9e6cloc_2b9e6c:
    002b9e6cstp x0, x1, [sp+8]
    002b9e70stp x2, x3, [sp+24]
    002b9e74mov x3, x30
    002b9e78bl runtime.morestack_noctxt.abi0
    002b9e7cldp x0, x1, [sp+8]
    002b9e80ldp x2, x3, [sp+24]
    002b9e84b 0x2b9bf0
    002b9e88udf 0
    002b9e8cudf 0
    002b9bf0
    002b9e90
    002b9e90crypto/ecdsa.hashToInt: ; void crypto/ecdsa.hashToInt(struct []uint8 hash, crypto/elliptic.Curve c)
    002b9e90ldr x16, [x28+16]
    002b9e94subs xzr, sp, x16
    002b9e98b.ls 0x2b9fb4
    002b9e9cstr x30, [sp-128]!
    002b9ea0stur x29, [sp-8]
    002b9ea4sub x29, sp, 8
    002b9ea8str x0, [sp+136]
    002b9eacstr x1, [sp+144]
    002b9eb0str x2, [sp+152]
    002b9eb4str x3, [sp+160]
    002b9eb8str x4, [sp+168]
    002b9ebcstr xzr, [sp+80]
    002b9ec0ldr x1, [sp+160]
    002b9ec4ldrsb x27, [x1]
    002b9ec8ldr x1, [x1+48]
    002b9eccldr x0, [sp+168]
    002b9ed0blr x1
    002b9ed4str x0, [sp+104]
    002b9ed8ldrsb x27, [x0]
    002b9edcldr x0, [x0+8]
    002b9ee0str x0, [sp+112]
    002b9ee4bl math/big.(*Int).BitLen
    002b9ee8str x0, [sp+56]
    002b9eecadd x1, x0, 7
    002b9ef0sbfm x1, x1, 63, 63
    002b9ef4add x1, x0, x1, lsr #61
    002b9ef8add x1, x1, 7
    002b9efcsbfm x2, x1, 3, 63
    002b9f00str x2, [sp+48]
    002b9f04ldr x3, [sp+144]
    002b9f08str x3, [sp+72]
    002b9f0csubs xzr, x3, x1, asr #3
    002b9f10b.gt 0x2b9f18
    002b9f14b 0x2b9f34
    002b9f18
    002b9f18loc_2b9f18:
    002b9f18ldr x3, [sp+152]
    002b9f1csubs xzr, x3, x1, asr #3
    002b9f20b.hs 0x2b9f28
    002b9f24b 0x2b9fa4
    002b9f28
    002b9f28loc_2b9f28:
    002b9f28b 0x2b9f2c
    002b9f2c
    002b9f2cloc_2b9f2c:
    002b9f2cstr x2, [sp+144]
    002b9f30b 0x2b9f38
    002b9f34
    002b9f34loc_2b9f34:
    002b9f34b 0x2b9f38
    002b9f38
    002b9f38loc_2b9f38:
    002b9f38adrp x0, 0x38c000
    002b9f3cadd x0, x0, 1024
    002b9f40bl runtime.newobject
    002b9f44str x0, [sp+96]
    002b9f48ldr x1, [sp+136]
    002b9f4cldr x2, [sp+144]
    002b9f50ldr x3, [sp+152]
    002b9f54bl math/big.(*Int).SetBytes
    002b9f58str x0, [sp+88]
    002b9f5cldr x1, [sp+144]
    002b9f60str x1, [sp+72]
    002b9f64ubfm x1, x1, 61, 60
    002b9f68ldr x2, [sp+56]
    002b9f6csub x2, x1, x2
    002b9f70str x2, [sp+64]
    002b9f74subs xzr, x2, 0
    002b9f78b.gt 0x2b9f80
    002b9f7cb 0x2b9f8c
    002b9f80
    002b9f80loc_2b9f80:
    002b9f80mov x1, x0
    002b9f84bl math/big.(*Int).Rsh
    002b9f88b 0x2b9f90
    002b9f8c
    002b9f8cloc_2b9f8c:
    002b9f8cb 0x2b9f90
    002b9f90
    002b9f90loc_2b9f90:
    002b9f90ldr x0, [sp+88]
    002b9f94str x0, [sp+80]
    002b9f98ldur x29, [sp-8]
    002b9f9cldr x30, [sp], 128
    002b9fa0ret x30
    002b9fa4
    002b9fa4loc_2b9fa4:
    002b9fa4mov x1, x2
    002b9fa8mov x2, x3
    002b9facbl runtime.panicSliceAcap
    002b9fb0hint
    002b9fb4
    002b9fb4loc_2b9fb4:
    002b9fb4stp x0, x1, [sp+8]
    002b9fb8stp x2, x3, [sp+24]
    002b9fbcstr x4, [sp+40]
    002b9fc0mov x3, x30
    002b9fc4bl runtime.morestack_noctxt.abi0
    002b9fc8ldp x0, x1, [sp+8]
    002b9fccldp x2, x3, [sp+24]
    002b9fd0ldr x4, [sp+40]
    002b9fd4b 0x2b9e90
    002b9fd8udf 0
    002b9fdcudf 0
    002b9e90
    002b9fe0
    002b9fe0crypto/ecdsa.signLegacy: ; void crypto/ecdsa.signLegacy(crypto/ecdsa.PrivateKey * priv, io.Reader csprng, struct []uint8 hash)
    002b9fe0ldr x16, [x28+16]
    002b9fe4sub x17, sp, 400
    002b9fe8subs xzr, x17, x16
    002b9fecb.ls 0x2ba638
    002b9ff0sub x20, sp, 528
    002b9ff4stp x29, x30, [x20-8]
    002b9ff8add sp, x20, 0
    002b9ffcsub x29, sp, 8
    002ba000str x0, [sp+536]
    002ba004str x1, [sp+544]
    002ba008str x2, [sp+552]
    002ba00cstr x3, [sp+560]
    002ba010str x4, [sp+568]
    002ba014str x5, [sp+576]
    002ba018str xzr, [sp+152]
    002ba01cstp xzr, xzr, [sp+160]
    002ba020stp xzr, xzr, [sp+224]
    002ba024adrp x27, 0x791000
    002ba028ldrb w2, [x27+1551]
    002ba02ctbnz w2, 0, 0x2ba034
    002ba030b 0x2ba07c
    002ba034
    002ba034loc_2ba034:
    002ba034adrp x0, 0x414000
    002ba038add x0, x0, 2659
    002ba03cmovz x1, 71
    002ba040bl errors.New
    002ba044str x0, [sp+416]
    002ba048str x1, [sp+424]
    002ba04cstr xzr, [sp+152]
    002ba050stp xzr, xzr, [sp+160]
    002ba054ldr x3, [sp+416]
    002ba058ldr x4, [sp+424]
    002ba05cstr x3, [sp+224]
    002ba060str x4, [sp+232]
    002ba064ldr x0, [sp+152]
    002ba068ldr x1, [sp+160]
    002ba06cldr x2, [sp+168]
    002ba070ldp x29, x30, [sp-8]
    002ba074add sp, sp, 528
    002ba078ret x30
    002ba07c
    002ba07cloc_2ba07c:
    002ba07cldr x1, [sp+536]
    002ba080ldrsb x27, [x1]
    002ba084ldr x2, [x1]
    002ba088ldr x1, [x1+8]
    002ba08cstr x2, [sp+248]
    002ba090str x1, [sp+256]
    002ba094adrp x0, 0x343000
    002ba098add x0, x0, 2240
    002ba09cbl runtime.newobject
    002ba0a0str x0, [sp+512]
    002ba0a4stp xzr, xzr, [x0]
    002ba0a8stp xzr, xzr, [x0+16]
    002ba0acldr x1, [sp+512]
    002ba0b0ldrsb x27, [x1]
    002ba0b4b 0x2ba0b8
    002ba0b8
    002ba0b8loc_2ba0b8:
    002ba0b8str x1, [sp+392]
    002ba0bcorr x5, xzr, 32
    002ba0c0str x5, [sp+400]
    002ba0c4str x5, [sp+408]
    002ba0c8stp xzr, xzr, [sp+416]
    002ba0ccldr x0, [sp+544]
    002ba0d0ldr x1, [sp+552]
    002ba0d4ldr x2, [sp+392]
    002ba0d8ldr x3, [sp+400]
    002ba0dcldr x4, [sp+408]
    002ba0e0bl io.ReadFull
    002ba0e4str x0, [sp+144]
    002ba0e8str x1, [sp+416]
    002ba0ecstr x2, [sp+424]
    002ba0f0ldr x5, [sp+144]
    002ba0f4str x5, [sp+88]
    002ba0f8str x1, [sp+272]
    002ba0fcstr x2, [sp+280]
    002ba100str x1, [sp+208]
    002ba104str x2, [sp+216]
    002ba108cbnz x1, 0x2ba110
    002ba10cb 0x2ba140
    002ba110
    002ba110loc_2ba110:
    002ba110str xzr, [sp+152]
    002ba114stp xzr, xzr, [sp+160]
    002ba118ldr x3, [sp+208]
    002ba11cldr x4, [sp+216]
    002ba120str x3, [sp+224]
    002ba124str x4, [sp+232]
    002ba128ldr x0, [sp+152]
    002ba12cldr x1, [sp+160]
    002ba130ldr x2, [sp+168]
    002ba134ldp x29, x30, [sp-8]
    002ba138add sp, sp, 528
    002ba13cret x30
    002ba140
    002ba140loc_2ba140:
    002ba140ldr x1, [sp+536]
    002ba144ldrsb x27, [x1]
    002ba148ldr x0, [x1+32]
    002ba14cstr x0, [sp+296]
    002ba150bl math/big.(*Int).Bytes
    002ba154str x0, [sp+392]
    002ba158str x1, [sp+400]
    002ba15cstr x2, [sp+408]
    002ba160str x0, [sp+368]
    002ba164str x1, [sp+376]
    002ba168str x2, [sp+384]
    002ba16cstr xzr, [sp+136]
    002ba170str x1, [sp+128]
    002ba174b 0x2ba178
    002ba178
    002ba178loc_2ba178:
    002ba178ldr x2, [sp+128]
    002ba17cldr x3, [sp+136]
    002ba180subs xzr, x2, x3
    002ba184b.gt 0x2ba18c
    002ba188b 0x2ba200
    002ba18c
    002ba18cloc_2ba18c:
    002ba18cldr x2, [sp+136]
    002ba190str x2, [sp+80]
    002ba194ldr x2, [sp+136]
    002ba198ldr x3, [sp+368]
    002ba19cldrb w2, [x3+x2]
    002ba1a0strb w2, [sp+71]
    002ba1a4ldr x2, [sp+80]
    002ba1a8sbfm x3, x2, 63, 63
    002ba1acadd x3, x2, x3, lsr #59
    002ba1b0and x3, x3, -32
    002ba1b4sub x0, x2, x3
    002ba1b8str x0, [sp+120]
    002ba1bcldr x2, [sp+512]
    002ba1c0subs xzr, x0, 32
    002ba1c4b.lo 0x2ba1cc
    002ba1c8b 0x2ba62c
    002ba1cc
    002ba1ccloc_2ba1cc:
    002ba1ccldrb w2, [x2+x0]
    002ba1d0ldr x3, [sp+512]
    002ba1d4ldrb w4, [sp+71]
    002ba1d8eor x2, x2, x4
    002ba1dcsubs xzr, x0, 32
    002ba1e0b.lo 0x2ba1e8
    002ba1e4b 0x2ba624
    002ba1e8
    002ba1e8loc_2ba1e8:
    002ba1e8strb w2, [x3+x0]
    002ba1ecb 0x2ba1f0
    002ba1f0
    002ba1f0loc_2ba1f0:
    002ba1f0ldr x2, [sp+136]
    002ba1f4add x2, x2, 1
    002ba1f8str x2, [sp+136]
    002ba1fcb 0x2ba178
    002ba200
    002ba200loc_2ba200:
    002ba200ldr x2, [sp+568]
    002ba204ldr x3, [sp+560]
    002ba208ldr x4, [sp+576]
    002ba20cstr x3, [sp+368]
    002ba210str x2, [sp+376]
    002ba214str x4, [sp+384]
    002ba218str xzr, [sp+112]
    002ba21cstr x2, [sp+104]
    002ba220b 0x2ba224
    002ba224
    002ba224loc_2ba224:
    002ba224ldr x2, [sp+104]
    002ba228ldr x3, [sp+112]
    002ba22csubs xzr, x2, x3
    002ba230b.gt 0x2ba238
    002ba234b 0x2ba2ac
    002ba238
    002ba238loc_2ba238:
    002ba238ldr x2, [sp+112]
    002ba23cstr x2, [sp+72]
    002ba240ldr x2, [sp+112]
    002ba244ldr x3, [sp+368]
    002ba248ldrb w2, [x3+x2]
    002ba24cstrb w2, [sp+70]
    002ba250ldr x2, [sp+72]
    002ba254sbfm x3, x2, 63, 63
    002ba258add x3, x2, x3, lsr #59
    002ba25cand x3, x3, -32
    002ba260sub x0, x2, x3
    002ba264str x0, [sp+96]
    002ba268ldr x2, [sp+512]
    002ba26csubs xzr, x0, 32
    002ba270b.lo 0x2ba278
    002ba274b 0x2ba61c
    002ba278
    002ba278loc_2ba278:
    002ba278ldrb w2, [x2+x0]
    002ba27cldr x3, [sp+512]
    002ba280ldrb w4, [sp+70]
    002ba284eor x2, x2, x4
    002ba288subs xzr, x0, 32
    002ba28cb.lo 0x2ba294
    002ba290b 0x2ba614
    002ba294
    002ba294loc_2ba294:
    002ba294strb w2, [x3+x0]
    002ba298b 0x2ba29c
    002ba29c
    002ba29cloc_2ba29c:
    002ba29cldr x2, [sp+112]
    002ba2a0add x2, x2, 1
    002ba2a4str x2, [sp+112]
    002ba2a8b 0x2ba224
    002ba2ac
    002ba2acloc_2ba2ac:
    002ba2acldr x0, [sp+512]
    002ba2b0ldp x1, x2, [x0]
    002ba2b4ldp x0, x3, [x0+16]
    002ba2b8stp x1, x2, [sp+8]
    002ba2bcstp x0, x3, [sp+24]
    002ba2c0bl math/rand/v2.NewChaCha8
    002ba2c4str x0, [sp+360]
    002ba2c8str x0, [sp+352]
    002ba2ccadrp x1, 0x45c000
    002ba2d0add x1, x1, 736
    002ba2d4str x1, [sp+544]
    002ba2d8str x0, [sp+552]
    002ba2dcldr x0, [sp+248]
    002ba2e0ldrsb x27, [x0]
    002ba2e4ldr x0, [x0+48]
    002ba2e8ldr x1, [sp+256]
    002ba2ecmov x2, x0
    002ba2f0mov x0, x1
    002ba2f4blr x2
    002ba2f8str x0, [sp+344]
    002ba2fcldrsb x27, [x0]
    002ba300ldr x0, [x0+8]
    002ba304str x0, [sp+264]
    002ba308bl math/big.(*Int).Sign
    002ba30cstr x0, [sp+144]
    002ba310cbz x0, 0x2ba318
    002ba314b 0x2ba350
    002ba318
    002ba318loc_2ba318:
    002ba318str xzr, [sp+152]
    002ba31cstp xzr, xzr, [sp+160]
    002ba320adrp x27, 0x767000
    002ba324ldr x3, [x27+3984]
    002ba328adrp x27, 0x767000
    002ba32cldr x4, [x27+3992]
    002ba330str x3, [sp+224]
    002ba334str x4, [sp+232]
    002ba338ldr x0, [sp+152]
    002ba33cldr x1, [sp+160]
    002ba340ldr x2, [sp+168]
    002ba344ldp x29, x30, [sp-8]
    002ba348add sp, sp, 528
    002ba34cret x30
    002ba350
    002ba350loc_2ba350:
    002ba350str xzr, [sp+200]
    002ba354str xzr, [sp+192]
    002ba358str xzr, [sp+184]
    002ba35cstr xzr, [sp+176]
    002ba360b 0x2ba364
    002ba364
    002ba364loc_2ba364:
    002ba364b 0x2ba368
    002ba368
    002ba368loc_2ba368:
    002ba368b 0x2ba36c
    002ba36c
    002ba36cloc_2ba36c:
    002ba36cb 0x2ba370
    002ba370
    002ba370loc_2ba370:
    002ba370str xzr, [sp+336]
    002ba374stp xzr, xzr, [sp+416]
    002ba378ldr x0, [sp+248]
    002ba37cldr x2, [sp+544]
    002ba380ldr x1, [sp+256]
    002ba384ldr x3, [sp+552]
    002ba388bl crypto/ecdsa.randFieldElement
    002ba38cstr x0, [sp+336]
    002ba390str x1, [sp+416]
    002ba394str x2, [sp+424]
    002ba398ldr x4, [sp+336]
    002ba39cstr x4, [sp+504]
    002ba3a0ldr x4, [sp+424]
    002ba3a4ldr x5, [sp+416]
    002ba3a8str x5, [sp+488]
    002ba3acstr x4, [sp+496]
    002ba3b0ldr x4, [sp+504]
    002ba3b4str x4, [sp+200]
    002ba3b8ldr x4, [sp+496]
    002ba3bcldr x5, [sp+488]
    002ba3c0str x5, [sp+224]
    002ba3c4str x4, [sp+232]
    002ba3c8cbnz x5, 0x2ba3d0
    002ba3ccb 0x2ba3f8
    002ba3d0
    002ba3d0loc_2ba3d0:
    002ba3d0str xzr, [sp+152]
    002ba3d4stp xzr, xzr, [sp+160]
    002ba3d8ldr x3, [sp+224]
    002ba3dcldr x4, [sp+232]
    002ba3e0mov x0, xzr
    002ba3e4mov x1, xzr
    002ba3e8mov x2, x1
    002ba3ecldp x29, x30, [sp-8]
    002ba3f0add sp, sp, 528
    002ba3f4ret x30
    002ba3f8
    002ba3f8loc_2ba3f8:
    002ba3f8adrp x0, 0x38b000
    002ba3fcadd x0, x0, 1024
    002ba400bl runtime.newobject
    002ba404str x0, [sp+336]
    002ba408ldr x1, [sp+200]
    002ba40cldr x2, [sp+264]
    002ba410bl math/big.(*Int).ModInverse
    002ba414str x0, [sp+192]
    002ba418ldr x0, [sp+200]
    002ba41cbl math/big.(*Int).Bytes
    002ba420str x0, [sp+368]
    002ba424str x1, [sp+376]
    002ba428str x2, [sp+384]
    002ba42cstr xzr, [sp+336]
    002ba430str xzr, [sp+328]
    002ba434ldr x1, [sp+248]
    002ba438ldrsb x27, [x1]
    002ba43cldr x0, [sp+256]
    002ba440ldr x1, [x1+56]
    002ba444ldr x2, [sp+368]
    002ba448ldr x3, [sp+376]
    002ba44cldr x4, [sp+384]
    002ba450mov x5, x1
    002ba454mov x1, x2
    002ba458mov x2, x3
    002ba45cmov x3, x4
    002ba460blr x5
    002ba464str x0, [sp+336]
    002ba468str x1, [sp+328]
    002ba46cldr x1, [sp+336]
    002ba470str x1, [sp+480]
    002ba474ldr x1, [sp+328]
    002ba478str x1, [sp+472]
    002ba47cldr x1, [sp+480]
    002ba480str x1, [sp+184]
    002ba484ldr x2, [sp+264]
    002ba488mov x0, x1
    002ba48cbl math/big.(*Int).Mod
    002ba490ldr x0, [sp+184]
    002ba494bl math/big.(*Int).Sign
    002ba498str x0, [sp+144]
    002ba49ccbnz x0, 0x2ba4a4
    002ba4a0b 0x2ba60c
    002ba4a4
    002ba4a4loc_2ba4a4:
    002ba4a4b 0x2ba4a8
    002ba4a8
    002ba4a8loc_2ba4a8:
    002ba4a8ldr x3, [sp+248]
    002ba4acldr x0, [sp+560]
    002ba4b0ldr x1, [sp+568]
    002ba4b4ldr x4, [sp+256]
    002ba4b8ldr x2, [sp+576]
    002ba4bcbl crypto/ecdsa.hashToInt
    002ba4c0str x0, [sp+240]
    002ba4c4adrp x0, 0x38b000
    002ba4c8add x0, x0, 1024
    002ba4ccbl runtime.newobject
    002ba4d0str x0, [sp+328]
    002ba4d4ldr x5, [sp+536]
    002ba4d8ldrsb x27, [x5]
    002ba4dcldr x1, [x5+32]
    002ba4e0str x1, [sp+288]
    002ba4e4ldr x2, [sp+184]
    002ba4e8ldr x0, [sp+328]
    002ba4ecbl math/big.(*Int).Mul
    002ba4f0str x0, [sp+176]
    002ba4f4ldr x2, [sp+240]
    002ba4f8mov x1, x0
    002ba4fcbl math/big.(*Int).Add
    002ba500ldr x1, [sp+176]
    002ba504ldr x2, [sp+192]
    002ba508ldr x0, [sp+176]
    002ba50cbl math/big.(*Int).Mul
    002ba510ldr x1, [sp+176]
    002ba514ldr x2, [sp+264]
    002ba518ldr x0, [sp+176]
    002ba51cbl math/big.(*Int).Mod
    002ba520ldr x0, [sp+176]
    002ba524bl math/big.(*Int).Sign
    002ba528str x0, [sp+144]
    002ba52ccbnz x0, 0x2ba534
    002ba530b 0x2ba604
    002ba534
    002ba534loc_2ba534:
    002ba534b 0x2ba538
    002ba538
    002ba538loc_2ba538:
    002ba538ldr x0, [sp+184]
    002ba53cbl math/big.(*Int).Bytes
    002ba540str x0, [sp+368]
    002ba544str x1, [sp+376]
    002ba548str x2, [sp+384]
    002ba54cldr x0, [sp+176]
    002ba550bl math/big.(*Int).Bytes
    002ba554str x0, [sp+392]
    002ba558str x1, [sp+400]
    002ba55cstr x2, [sp+408]
    002ba560str xzr, [sp+304]
    002ba564stp xzr, xzr, [sp+312]
    002ba568stp xzr, xzr, [sp+416]
    002ba56cldr x3, [sp+392]
    002ba570ldr x4, [sp+400]
    002ba574ldr x5, [sp+408]
    002ba578ldr x0, [sp+368]
    002ba57cldr x1, [sp+376]
    002ba580ldr x2, [sp+384]
    002ba584bl crypto/ecdsa.encodeSignature
    002ba588str x0, [sp+304]
    002ba58cstr x1, [sp+312]
    002ba590str x2, [sp+320]
    002ba594str x3, [sp+416]
    002ba598str x4, [sp+424]
    002ba59cldr x1, [sp+304]
    002ba5a0ldr x2, [sp+312]
    002ba5a4ldr x3, [sp+320]
    002ba5a8str x1, [sp+448]
    002ba5acstr x2, [sp+456]
    002ba5b0str x3, [sp+464]
    002ba5b4ldr x1, [sp+416]
    002ba5b8ldr x2, [sp+424]
    002ba5bcstr x1, [sp+432]
    002ba5c0str x2, [sp+440]
    002ba5c4ldr x1, [sp+448]
    002ba5c8ldr x2, [sp+456]
    002ba5ccldr x3, [sp+464]
    002ba5d0str x1, [sp+152]
    002ba5d4str x2, [sp+160]
    002ba5d8str x3, [sp+168]
    002ba5dcldr x3, [sp+432]
    002ba5e0ldr x4, [sp+440]
    002ba5e4str x3, [sp+224]
    002ba5e8str x4, [sp+232]
    002ba5ecldr x0, [sp+152]
    002ba5f0ldr x1, [sp+160]
    002ba5f4ldr x2, [sp+168]
    002ba5f8ldp x29, x30, [sp-8]
    002ba5fcadd sp, sp, 528
    002ba600ret x30
    002ba604
    002ba604loc_2ba604:
    002ba604b 0x2ba608
    002ba608
    002ba608loc_2ba608:
    002ba608b 0x2ba364
    002ba60c
    002ba60cloc_2ba60c:
    002ba60cb 0x2ba610
    002ba610
    002ba610loc_2ba610:
    002ba610b 0x2ba36c
    002ba614
    002ba614loc_2ba614:
    002ba614orr x1, xzr, 32
    002ba618bl runtime.panicIndex
    002ba61c
    002ba61cloc_2ba61c:
    002ba61corr x1, xzr, 32
    002ba620bl runtime.panicIndex
    002ba624
    002ba624loc_2ba624:
    002ba624orr x1, xzr, 32
    002ba628bl runtime.panicIndex
    002ba62c
    002ba62cloc_2ba62c:
    002ba62corr x1, xzr, 32
    002ba630bl runtime.panicIndex
    002ba634hint
    002ba638
    002ba638loc_2ba638:
    002ba638stp x0, x1, [sp+8]
    002ba63cstp x2, x3, [sp+24]
    002ba640stp x4, x5, [sp+40]
    002ba644mov x3, x30
    002ba648bl runtime.morestack_noctxt.abi0
    002ba64cldp x0, x1, [sp+8]
    002ba650ldp x2, x3, [sp+24]
    002ba654ldp x4, x5, [sp+40]
    002ba658b 0x2b9fe0
    002ba65cudf 0
    002b9fe0
    002ba660
    002ba660crypto/ecdsa.Verify: ; void crypto/ecdsa.Verify(crypto/ecdsa.PublicKey * pub, struct []uint8 hash, math/big.Int * r, math/big.Int * s)
    002ba660ldr x16, [x28+16]
    002ba664sub x17, sp, 144
    002ba668subs xzr, x17, x16
    002ba66cb.ls 0x2ba800
    002ba670sub x20, sp, 272
    002ba674stp x29, x30, [x20-8]
    002ba678add sp, x20, 0
    002ba67csub x29, sp, 8
    002ba680str x0, [sp+280]
    002ba684str x1, [sp+288]
    002ba688str x2, [sp+296]
    002ba68cstr x3, [sp+304]
    002ba690str x4, [sp+312]
    002ba694str x5, [sp+320]
    002ba698strb wzr, [sp+78]
    002ba69cldr x0, [sp+312]
    002ba6a0bl math/big.(*Int).Sign
    002ba6a4str x0, [sp+88]
    002ba6a8subs xzr, x0, 0
    002ba6accset x1, le
    002ba6b0strb w1, [sp+79]
    002ba6b4b.le 0x2ba6bc
    002ba6b8b 0x2ba6c0
    002ba6bc
    002ba6bcloc_2ba6bc:
    002ba6bcb 0x2ba6dc
    002ba6c0
    002ba6c0loc_2ba6c0:
    002ba6c0ldr x0, [sp+320]
    002ba6c4bl math/big.(*Int).Sign
    002ba6c8str x0, [sp+80]
    002ba6ccsubs xzr, x0, 0
    002ba6d0cset x1, le
    002ba6d4strb w1, [sp+79]
    002ba6d8b 0x2ba6dc
    002ba6dc
    002ba6dcloc_2ba6dc:
    002ba6dcldrb w1, [sp+79]
    002ba6e0tbnz w1, 0, 0x2ba6e8
    002ba6e4b 0x2ba6fc
    002ba6e8
    002ba6e8loc_2ba6e8:
    002ba6e8strb wzr, [sp+78]
    002ba6ecmov x0, xzr
    002ba6f0ldp x29, x30, [sp-8]
    002ba6f4add sp, sp, 272
    002ba6f8ret x30
    002ba6fc
    002ba6fcloc_2ba6fc:
    002ba6fcldr x0, [sp+312]
    002ba700bl math/big.(*Int).Bytes
    002ba704str x0, [sp+240]
    002ba708str x1, [sp+248]
    002ba70cstr x2, [sp+256]
    002ba710ldr x0, [sp+320]
    002ba714bl math/big.(*Int).Bytes
    002ba718str x0, [sp+216]
    002ba71cstr x1, [sp+224]
    002ba720str x2, [sp+232]
    002ba724str xzr, [sp+192]
    002ba728stp xzr, xzr, [sp+200]
    002ba72cstp xzr, xzr, [sp+176]
    002ba730ldr x0, [sp+240]
    002ba734ldr x1, [sp+248]
    002ba738ldr x2, [sp+256]
    002ba73cldr x3, [sp+216]
    002ba740ldr x4, [sp+224]
    002ba744ldr x5, [sp+232]
    002ba748bl crypto/ecdsa.encodeSignature
    002ba74cstr x0, [sp+192]
    002ba750str x1, [sp+200]
    002ba754str x2, [sp+208]
    002ba758str x3, [sp+176]
    002ba75cstr x4, [sp+184]
    002ba760ldr x1, [sp+192]
    002ba764ldr x2, [sp+200]
    002ba768ldr x3, [sp+208]
    002ba76cstr x1, [sp+152]
    002ba770str x2, [sp+160]
    002ba774str x3, [sp+168]
    002ba778ldr x1, [sp+176]
    002ba77cldr x2, [sp+184]
    002ba780str x1, [sp+136]
    002ba784str x2, [sp+144]
    002ba788ldr x1, [sp+152]
    002ba78cldr x2, [sp+160]
    002ba790ldr x3, [sp+168]
    002ba794str x1, [sp+96]
    002ba798str x2, [sp+104]
    002ba79cstr x3, [sp+112]
    002ba7a0ldr x1, [sp+144]
    002ba7a4ldr x2, [sp+136]
    002ba7a8str x2, [sp+120]
    002ba7acstr x1, [sp+128]
    002ba7b0cbnz x2, 0x2ba7b8
    002ba7b4b 0x2ba7cc
    002ba7b8
    002ba7b8loc_2ba7b8:
    002ba7b8strb wzr, [sp+78]
    002ba7bcmov x0, xzr
    002ba7c0ldp x29, x30, [sp-8]
    002ba7c4add sp, sp, 272
    002ba7c8ret x30
    002ba7cc
    002ba7ccloc_2ba7cc:
    002ba7ccldr x1, [sp+288]
    002ba7d0ldr x4, [sp+96]
    002ba7d4ldr x2, [sp+296]
    002ba7d8ldr x5, [sp+104]
    002ba7dcldr x3, [sp+304]
    002ba7e0ldr x6, [sp+112]
    002ba7e4ldr x0, [sp+280]
    002ba7e8bl crypto/ecdsa.VerifyASN1
    002ba7ecstrb w0, [sp+79]
    002ba7f0strb w0, [sp+78]
    002ba7f4ldp x29, x30, [sp-8]
    002ba7f8add sp, sp, 272
    002ba7fcret x30
    002ba800
    002ba800loc_2ba800:
    002ba800stp x0, x1, [sp+8]
    002ba804stp x2, x3, [sp+24]
    002ba808stp x4, x5, [sp+40]
    002ba80cmov x3, x30
    002ba810bl runtime.morestack_noctxt.abi0
    002ba814ldp x0, x1, [sp+8]
    002ba818ldp x2, x3, [sp+24]
    002ba81cldp x4, x5, [sp+40]
    002ba820b 0x2ba660
    002ba824udf 0
    002ba828udf 0
    002ba82cudf 0
    002ba660
    002ba830
    002ba830crypto/ecdsa.verifyLegacy: ; void crypto/ecdsa.verifyLegacy(crypto/ecdsa.PublicKey * pub, struct []uint8 hash, struct []uint8 sig)
    002ba830ldr x16, [x28+16]
    002ba834sub x17, sp, 480
    002ba838subs xzr, x17, x16
    002ba83cb.ls 0x2bad40
    002ba840sub x20, sp, 608
    002ba844stp x29, x30, [x20-8]
    002ba848add sp, x20, 0
    002ba84csub x29, sp, 8
    002ba850str x0, [sp+616]
    002ba854str x1, [sp+624]
    002ba858str x2, [sp+632]
    002ba85cstr x3, [sp+640]
    002ba860str x4, [sp+648]
    002ba864str x5, [sp+656]
    002ba868str x6, [sp+664]
    002ba86cstrb wzr, [sp+70]
    002ba870adrp x27, 0x791000
    002ba874ldrb w3, [x27+1551]
    002ba878tbnz w3, 0, 0x2bad28
    002ba87cb 0x2ba880
    002ba880
    002ba880loc_2ba880:
    002ba880str xzr, [sp+528]
    002ba884add x27, sp, 536
    002ba888stp xzr, xzr, [x27]
    002ba88cstr xzr, [sp+504]
    002ba890add x27, sp, 512
    002ba894stp xzr, xzr, [x27]
    002ba898stp xzr, xzr, [sp+488]
    002ba89cldr x0, [sp+648]
    002ba8a0ldr x1, [sp+656]
    002ba8a4ldr x2, [sp+664]
    002ba8a8bl crypto/ecdsa.parseSignature
    002ba8acstr x0, [sp+528]
    002ba8b0str x1, [sp+536]
    002ba8b4str x2, [sp+544]
    002ba8b8str x3, [sp+504]
    002ba8bcstr x4, [sp+512]
    002ba8c0str x5, [sp+520]
    002ba8c4str x6, [sp+488]
    002ba8c8str x7, [sp+496]
    002ba8ccldr x3, [sp+536]
    002ba8d0ldr x4, [sp+544]
    002ba8d4ldr x5, [sp+528]
    002ba8d8str x5, [sp+312]
    002ba8dcstr x3, [sp+320]
    002ba8e0str x4, [sp+328]
    002ba8e4ldr x3, [sp+504]
    002ba8e8ldr x4, [sp+512]
    002ba8ecldr x5, [sp+520]
    002ba8f0str x3, [sp+288]
    002ba8f4str x4, [sp+296]
    002ba8f8str x5, [sp+304]
    002ba8fcldr x3, [sp+488]
    002ba900ldr x4, [sp+496]
    002ba904str x3, [sp+272]
    002ba908str x4, [sp+280]
    002ba90cldr x3, [sp+312]
    002ba910ldr x4, [sp+320]
    002ba914ldr x5, [sp+328]
    002ba918str x3, [sp+192]
    002ba91cstr x4, [sp+200]
    002ba920str x5, [sp+208]
    002ba924ldr x3, [sp+288]
    002ba928ldr x4, [sp+296]
    002ba92cldr x5, [sp+304]
    002ba930str x3, [sp+160]
    002ba934str x4, [sp+168]
    002ba938str x5, [sp+176]
    002ba93cldr x3, [sp+280]
    002ba940ldr x4, [sp+272]
    002ba944str x4, [sp+224]
    002ba948str x3, [sp+232]
    002ba94ccbnz x4, 0x2ba954
    002ba950b 0x2ba968
    002ba954
    002ba954loc_2ba954:
    002ba954strb wzr, [sp+70]
    002ba958mov x0, xzr
    002ba95cldp x29, x30, [sp-8]
    002ba960add sp, sp, 608
    002ba964ret x30
    002ba968
    002ba968loc_2ba968:
    002ba968strb wzr, [sp+416]
    002ba96cstr xzr, [sp+424]
    002ba970stp xzr, xzr, [sp+432]
    002ba974add x0, sp, 416
    002ba978str x0, [sp+480]
    002ba97cldr x2, [sp+200]
    002ba980ldr x3, [sp+208]
    002ba984ldr x1, [sp+192]
    002ba988bl math/big.(*Int).SetBytes
    002ba98cstr x0, [sp+472]
    002ba990strb wzr, [sp+384]
    002ba994str xzr, [sp+392]
    002ba998stp xzr, xzr, [sp+400]
    002ba99cadd x0, sp, 384
    002ba9a0str x0, [sp+464]
    002ba9a4ldr x1, [sp+160]
    002ba9a8ldr x2, [sp+168]
    002ba9acldr x3, [sp+176]
    002ba9b0bl math/big.(*Int).SetBytes
    002ba9b4str x0, [sp+456]
    002ba9b8ldr x4, [sp+472]
    002ba9bcstr x4, [sp+216]
    002ba9c0ldr x4, [sp+456]
    002ba9c4str x4, [sp+184]
    002ba9c8ldr x4, [sp+616]
    002ba9ccldrsb x27, [x4]
    002ba9d0ldr x5, [x4]
    002ba9d4ldr x0, [x4+8]
    002ba9d8str x5, [sp+248]
    002ba9dcstr x0, [sp+256]
    002ba9e0ldrsb x27, [x5]
    002ba9e4ldr x4, [x5+48]
    002ba9e8blr x4
    002ba9ecstr x0, [sp+448]
    002ba9f0ldrsb x27, [x0]
    002ba9f4ldr x4, [x0+8]
    002ba9f8str x4, [sp+264]
    002ba9fcldr x0, [sp+216]
    002baa00bl math/big.(*Int).Sign
    002baa04str x0, [sp+80]
    002baa08subs xzr, x0, 0
    002baa0ccset x4, le
    002baa10strb w4, [sp+71]
    002baa14b.le 0x2baa1c
    002baa18b 0x2baa20
    002baa1c
    002baa1cloc_2baa1c:
    002baa1cb 0x2baa3c
    002baa20
    002baa20loc_2baa20:
    002baa20ldr x0, [sp+184]
    002baa24bl math/big.(*Int).Sign
    002baa28str x0, [sp+72]
    002baa2csubs xzr, x0, 0
    002baa30cset x1, le
    002baa34strb w1, [sp+71]
    002baa38b 0x2baa3c
    002baa3c
    002baa3cloc_2baa3c:
    002baa3cldrb w2, [sp+71]
    002baa40tbnz w2, 0, 0x2baa48
    002baa44b 0x2baa5c
    002baa48
    002baa48loc_2baa48:
    002baa48strb wzr, [sp+70]
    002baa4cmov x0, xzr
    002baa50ldp x29, x30, [sp-8]
    002baa54add sp, sp, 608
    002baa58ret x30
    002baa5c
    002baa5cloc_2baa5c:
    002baa5cldr x1, [sp+264]
    002baa60ldr x0, [sp+216]
    002baa64bl math/big.(*Int).Cmp
    002baa68str x0, [sp+80]
    002baa6csubs xzr, x0, 0
    002baa70cset x2, ge
    002baa74strb w2, [sp+71]
    002baa78tbz x0, 63, 0x2baa80
    002baa7cb 0x2baa84
    002baa80
    002baa80loc_2baa80:
    002baa80b 0x2baaa4
    002baa84
    002baa84loc_2baa84:
    002baa84ldr x0, [sp+184]
    002baa88ldr x1, [sp+264]
    002baa8cbl math/big.(*Int).Cmp
    002baa90str x0, [sp+72]
    002baa94subs xzr, x0, 0
    002baa98cset x2, ge
    002baa9cstrb w2, [sp+71]
    002baaa0b 0x2baaa4
    002baaa4
    002baaa4loc_2baaa4:
    002baaa4ldrb w5, [sp+71]
    002baaa8tbnz w5, 0, 0x2baab0
    002baaacb 0x2baac4
    002baab0
    002baab0loc_2baab0:
    002baab0strb wzr, [sp+70]
    002baab4mov x0, xzr
    002baab8ldp x29, x30, [sp-8]
    002baabcadd sp, sp, 608
    002baac0ret x30
    002baac4
    002baac4loc_2baac4:
    002baac4ldr x3, [sp+248]
    002baac8ldr x0, [sp+624]
    002baaccldr x1, [sp+632]
    002baad0ldr x4, [sp+256]
    002baad4ldr x2, [sp+640]
    002baad8bl crypto/ecdsa.hashToInt
    002baadcstr x0, [sp+240]
    002baae0strb wzr, [sp+352]
    002baae4str xzr, [sp+360]
    002baae8stp xzr, xzr, [sp+368]
    002baaecadd x0, sp, 352
    002baaf0str x0, [sp+456]
    002baaf4ldr x1, [sp+184]
    002baaf8ldr x2, [sp+264]
    002baafcbl math/big.(*Int).ModInverse
    002bab00str x0, [sp+136]
    002bab04ldr x1, [sp+240]
    002bab08ldr x5, [sp+240]
    002bab0cmov x2, x0
    002bab10mov x0, x5
    002bab14bl math/big.(*Int).Mul
    002bab18str x0, [sp+152]
    002bab1cldr x2, [sp+264]
    002bab20mov x1, x0
    002bab24bl math/big.(*Int).Mod
    002bab28ldr x1, [sp+216]
    002bab2cldr x2, [sp+136]
    002bab30ldr x0, [sp+136]
    002bab34bl math/big.(*Int).Mul
    002bab38str x0, [sp+144]
    002bab3cldr x2, [sp+264]
    002bab40mov x1, x0
    002bab44bl math/big.(*Int).Mod
    002bab48ldr x0, [sp+152]
    002bab4cbl math/big.(*Int).Bytes
    002bab50str x0, [sp+504]
    002bab54str x1, [sp+512]
    002bab58str x2, [sp+520]
    002bab5cstr xzr, [sp+456]
    002bab60str xzr, [sp+464]
    002bab64ldr x5, [sp+248]
    002bab68ldrsb x27, [x5]
    002bab6cldr x0, [sp+256]
    002bab70ldr x5, [x5+56]
    002bab74ldr x1, [sp+504]
    002bab78ldr x2, [sp+512]
    002bab7cldr x3, [sp+520]
    002bab80blr x5
    002bab84str x0, [sp+456]
    002bab88str x1, [sp+464]
    002bab8cldr x5, [sp+456]
    002bab90str x5, [sp+592]
    002bab94ldr x5, [sp+464]
    002bab98str x5, [sp+584]
    002bab9cldr x5, [sp+592]
    002baba0str x5, [sp+120]
    002baba4ldr x5, [sp+584]
    002baba8str x5, [sp+96]
    002babacldr x0, [sp+144]
    002babb0bl math/big.(*Int).Bytes
    002babb4str x0, [sp+504]
    002babb8str x1, [sp+512]
    002babbcstr x2, [sp+520]
    002babc0str xzr, [sp+464]
    002babc4str xzr, [sp+456]
    002babc8ldr x5, [sp+616]
    002babccldrsb x27, [x5]
    002babd0ldr x5, [x5+16]
    002babd4str x5, [sp+344]
    002babd8ldr x5, [sp+616]
    002babdcldrsb x27, [x5]
    002babe0ldr x2, [x5+24]
    002babe4str x2, [sp+336]
    002babe8ldr x5, [sp+248]
    002babecldrsb x27, [x5]
    002babf0ldr x0, [sp+256]
    002babf4ldr x5, [x5+64]
    002babf8ldr x3, [sp+504]
    002babfcldr x4, [sp+512]
    002bac00ldr x6, [sp+520]
    002bac04ldr x1, [sp+344]
    002bac08mov x7, x5
    002bac0cmov x5, x6
    002bac10blr x7
    002bac14str x0, [sp+464]
    002bac18str x1, [sp+456]
    002bac1cldr x5, [sp+464]
    002bac20str x5, [sp+576]
    002bac24ldr x5, [sp+456]
    002bac28str x5, [sp+568]
    002bac2cldr x5, [sp+576]
    002bac30str x5, [sp+112]
    002bac34ldr x5, [sp+568]
    002bac38str x5, [sp+88]
    002bac3cstr xzr, [sp+456]
    002bac40str xzr, [sp+464]
    002bac44ldr x1, [sp+120]
    002bac48ldr x2, [sp+96]
    002bac4cldr x3, [sp+112]
    002bac50ldr x4, [sp+88]
    002bac54ldr x5, [sp+248]
    002bac58ldrsb x27, [x5]
    002bac5cldr x5, [x5+24]
    002bac60ldr x0, [sp+256]
    002bac64blr x5
    002bac68str x0, [sp+456]
    002bac6cstr x1, [sp+464]
    002bac70ldr x5, [sp+456]
    002bac74str x5, [sp+560]
    002bac78ldr x5, [sp+464]
    002bac7cstr x5, [sp+552]
    002bac80ldr x5, [sp+560]
    002bac84str x5, [sp+128]
    002bac88ldr x5, [sp+552]
    002bac8cstr x5, [sp+104]
    002bac90ldr x0, [sp+128]
    002bac94bl math/big.(*Int).Sign
    002bac98str x0, [sp+80]
    002bac9csubs xzr, x0, 0
    002baca0cset x5, eq
    002baca4strb w5, [sp+71]
    002baca8cbz x0, 0x2bacb0
    002bacacb 0x2baccc
    002bacb0
    002bacb0loc_2bacb0:
    002bacb0ldr x0, [sp+104]
    002bacb4bl math/big.(*Int).Sign
    002bacb8str x0, [sp+72]
    002bacbcsubs xzr, x0, 0
    002bacc0cset x1, eq
    002bacc4strb w1, [sp+71]
    002bacc8b 0x2bacd0
    002baccc
    002bacccloc_2baccc:
    002bacccb 0x2bacd0
    002bacd0
    002bacd0loc_2bacd0:
    002bacd0ldrb w3, [sp+71]
    002bacd4tbnz w3, 0, 0x2bacdc
    002bacd8b 0x2bacf0
    002bacdc
    002bacdcloc_2bacdc:
    002bacdcstrb wzr, [sp+70]
    002bace0mov x0, xzr
    002bace4ldp x29, x30, [sp-8]
    002bace8add sp, sp, 608
    002bacecret x30
    002bacf0
    002bacf0loc_2bacf0:
    002bacf0ldr x1, [sp+128]
    002bacf4ldr x2, [sp+264]
    002bacf8ldr x0, [sp+128]
    002bacfcbl math/big.(*Int).Mod
    002bad00ldr x1, [sp+216]
    002bad04ldr x0, [sp+128]
    002bad08bl math/big.(*Int).Cmp
    002bad0cstr x0, [sp+80]
    002bad10subs xzr, x0, 0
    002bad14cset x0, eq
    002bad18strb w0, [sp+70]
    002bad1cldp x29, x30, [sp-8]
    002bad20add sp, sp, 608
    002bad24ret x30
    002bad28
    002bad28loc_2bad28:
    002bad28adrp x0, 0x33b000
    002bad2cadd x0, x0, 2944
    002bad30adrp x1, 0x458000
    002bad34add x1, x1, 1552
    002bad38bl runtime.gopanic
    002bad3chint
    002bad40
    002bad40loc_2bad40:
    002bad40stp x0, x1, [sp+8]
    002bad44stp x2, x3, [sp+24]
    002bad48stp x4, x5, [sp+40]
    002bad4cstr x6, [sp+56]
    002bad50mov x3, x30
    002bad54bl runtime.morestack_noctxt.abi0
    002bad58ldp x0, x1, [sp+8]
    002bad5cldp x2, x3, [sp+24]
    002bad60ldp x4, x5, [sp+40]
    002bad64ldr x6, [sp+56]
    002bad68b 0x2ba830
    002bad6cudf 0
    002ba830
    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