File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    0058c3c0
    0058c3c0crypto/internal/fips140/ecdsa.signGeneric[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdsa.signGeneric[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[6] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, crypto/internal/fips140/ecdsa.PrivateKey * priv, crypto/internal/fips140/ecdsa.hmacDRBG * drbg, struct []uint8 hash)
    0058c3c0ldr x16, [x28+16]
    0058c3c4sub x17, sp, 416
    0058c3c8subs xzr, x17, x16
    0058c3ccb.ls 0x58c998
    0058c3d0sub x20, sp, 544
    0058c3d4stp x29, x30, [x20-8]
    0058c3d8add sp, x20, 0
    0058c3dcsub x29, sp, 8
    0058c3e0str x0, [sp+552]
    0058c3e4str x1, [sp+560]
    0058c3e8str x2, [sp+568]
    0058c3ecstr x3, [sp+576]
    0058c3f0str x4, [sp+584]
    0058c3f4str x5, [sp+592]
    0058c3f8str x6, [sp+600]
    0058c3fcstr xzr, [sp+88]
    0058c400stp xzr, xzr, [sp+72]
    0058c404str xzr, [sp+384]
    0058c408str xzr, [sp+376]
    0058c40cstp xzr, xzr, [sp+360]
    0058c410stp xzr, xzr, [sp+392]
    0058c414str xzr, [sp+408]
    0058c418add x3, sp, 392
    0058c41cstr x3, [sp+296]
    0058c420ldrsb x27, [x3]
    0058c424adrp x4, 0
    0058c428add x4, x4, 2512
    0058c42cstr x4, [x3]
    0058c430ldrsb x27, [x3]
    0058c434ldr x4, [sp+576]
    0058c438adrp x27, 0x4bf000
    0058c43cldr w5, [x27+3056]
    0058c440cbz w5, 0x58c448
    0058c444b 0x58c44c
    0058c448
    0058c448loc_58c448:
    0058c448b 0x58c460
    0058c44c
    0058c44cloc_58c44c:
    0058c44cbl runtime.gcWriteBarrier2
    0058c450str x4, [x25]
    0058c454ldr x5, [x3+8]
    0058c458str x5, [x25+8]
    0058c45cb 0x58c460
    0058c460
    0058c460loc_58c460:
    0058c460str x4, [x3+8]
    0058c464ldrsb x27, [x3]
    0058c468ldr x4, [sp+552]
    0058c46cadrp x27, 0x4bf000
    0058c470ldr w5, [x27+3056]
    0058c474cbz w5, 0x58c47c
    0058c478b 0x58c480
    0058c47c
    0058c47cloc_58c47c:
    0058c47cb 0x58c494
    0058c480
    0058c480loc_58c480:
    0058c480bl runtime.gcWriteBarrier2
    0058c484str x4, [x25]
    0058c488ldr x5, [x3+16]
    0058c48cstr x5, [x25+8]
    0058c490b 0x58c494
    0058c494
    0058c494loc_58c494:
    0058c494str x4, [x3+16]
    0058c498ldr x3, [sp+552]
    0058c49cldrsb x27, [x3]
    0058c4a0ldr x0, [x3+8]
    0058c4a4str x0, [sp+288]
    0058c4a8ldr x1, [sp+560]
    0058c4acldr x2, [sp+296]
    0058c4b0bl crypto/internal/fips140/ecdsa.randomPoint[go.shape.*crypto/internal/fips140/nistec.P521Point]
    0058c4b4str x0, [sp+384]
    0058c4b8str x1, [sp+376]
    0058c4bcstr x2, [sp+360]
    0058c4c0str x3, [sp+368]
    0058c4c4ldr x3, [sp+384]
    0058c4c8str x3, [sp+528]
    0058c4ccldr x3, [sp+376]
    0058c4d0str x3, [sp+520]
    0058c4d4ldr x3, [sp+360]
    0058c4d8ldr x4, [sp+368]
    0058c4dcstr x3, [sp+504]
    0058c4e0str x4, [sp+512]
    0058c4e4ldr x3, [sp+528]
    0058c4e8str x3, [sp+120]
    0058c4ecldr x3, [sp+520]
    0058c4f0str x3, [sp+176]
    0058c4f4ldr x3, [sp+512]
    0058c4f8ldr x4, [sp+504]
    0058c4fcstr x4, [sp+128]
    0058c500str x3, [sp+136]
    0058c504cbnz x4, 0x58c50c
    0058c508b 0x58c530
    0058c50c
    0058c50cloc_58c50c:
    0058c50cstr xzr, [sp+88]
    0058c510ldr x1, [sp+128]
    0058c514ldr x2, [sp+136]
    0058c518str x1, [sp+72]
    0058c51cstr x2, [sp+80]
    0058c520ldr x0, [sp+88]
    0058c524ldp x29, x30, [sp-8]
    0058c528add sp, sp, 544
    0058c52cret x30
    0058c530
    0058c530loc_58c530:
    0058c530bl crypto/internal/fips140/bigmod.NewNat
    0058c534str x0, [sp+112]
    0058c538ldr x0, [sp+552]
    0058c53cldrsb x27, [x0]
    0058c540ldr x0, [x0+16]
    0058c544str x0, [sp+280]
    0058c548ldr x2, [sp+112]
    0058c54cldr x3, [sp+120]
    0058c550ldr x1, [sp+560]
    0058c554bl crypto/internal/fips140/ecdsa.inverse[go.shape.*crypto/internal/fips140/nistec.P521Point]
    0058c558str xzr, [sp+336]
    0058c55cstp xzr, xzr, [sp+344]
    0058c560stp xzr, xzr, [sp+360]
    0058c564ldr x26, [sp+552]
    0058c568ldrsb x27, [x26]
    0058c56cldr x0, [x26]
    0058c570ldr x1, [sp+176]
    0058c574mov x2, x0
    0058c578mov x0, x1
    0058c57cblr x2
    0058c580str x0, [sp+336]
    0058c584str x1, [sp+344]
    0058c588str x2, [sp+352]
    0058c58cstr x3, [sp+360]
    0058c590str x4, [sp+368]
    0058c594ldr x0, [sp+336]
    0058c598ldr x1, [sp+344]
    0058c59cldr x2, [sp+352]
    0058c5a0str x0, [sp+480]
    0058c5a4str x1, [sp+488]
    0058c5a8str x2, [sp+496]
    0058c5acldr x0, [sp+360]
    0058c5b0ldr x1, [sp+368]
    0058c5b4str x0, [sp+464]
    0058c5b8str x1, [sp+472]
    0058c5bcldr x0, [sp+480]
    0058c5c0ldr x1, [sp+488]
    0058c5c4ldr x2, [sp+496]
    0058c5c8str x0, [sp+152]
    0058c5ccstr x1, [sp+160]
    0058c5d0str x2, [sp+168]
    0058c5d4ldr x0, [sp+472]
    0058c5d8ldr x1, [sp+464]
    0058c5dcstr x1, [sp+128]
    0058c5e0str x0, [sp+136]
    0058c5e4cbnz x1, 0x58c5ec
    0058c5e8b 0x58c610
    0058c5ec
    0058c5ecloc_58c5ec:
    0058c5ecstr xzr, [sp+88]
    0058c5f0ldr x1, [sp+128]
    0058c5f4ldr x2, [sp+136]
    0058c5f8str x1, [sp+72]
    0058c5fcstr x2, [sp+80]
    0058c600ldr x0, [sp+88]
    0058c604ldp x29, x30, [sp-8]
    0058c608add sp, sp, 544
    0058c60cret x30
    0058c610
    0058c610loc_58c610:
    0058c610bl crypto/internal/fips140/bigmod.NewNat
    0058c614str x0, [sp+384]
    0058c618str xzr, [sp+328]
    0058c61cstp xzr, xzr, [sp+360]
    0058c620ldr x0, [sp+560]
    0058c624ldrsb x27, [x0]
    0058c628ldr x4, [x0+32]
    0058c62cstr x4, [sp+272]
    0058c630ldr x1, [sp+152]
    0058c634ldr x2, [sp+160]
    0058c638ldr x3, [sp+168]
    0058c63cldr x0, [sp+384]
    0058c640bl crypto/internal/fips140/bigmod.(*Nat).SetOverflowingBytes
    0058c644str x0, [sp+328]
    0058c648str x1, [sp+360]
    0058c64cstr x2, [sp+368]
    0058c650ldr x0, [sp+328]
    0058c654str x0, [sp+456]
    0058c658ldr x0, [sp+360]
    0058c65cldr x1, [sp+368]
    0058c660str x0, [sp+440]
    0058c664str x1, [sp+448]
    0058c668ldr x0, [sp+456]
    0058c66cstr x0, [sp+104]
    0058c670ldr x0, [sp+448]
    0058c674ldr x1, [sp+440]
    0058c678str x1, [sp+128]
    0058c67cstr x0, [sp+136]
    0058c680cbnz x1, 0x58c688
    0058c684b 0x58c6ac
    0058c688
    0058c688loc_58c688:
    0058c688str xzr, [sp+88]
    0058c68cldr x1, [sp+128]
    0058c690ldr x2, [sp+136]
    0058c694str x1, [sp+72]
    0058c698str x2, [sp+80]
    0058c69cldr x0, [sp+88]
    0058c6a0ldp x29, x30, [sp-8]
    0058c6a4add sp, sp, 544
    0058c6a8ret x30
    0058c6ac
    0058c6acloc_58c6ac:
    0058c6acldr x0, [sp+104]
    0058c6b0bl crypto/internal/fips140/bigmod.(*Nat).IsZero
    0058c6b4str x0, [sp+64]
    0058c6b8subs xzr, x0, 1
    0058c6bcb.eq 0x58c6c4
    0058c6c0b 0x58c700
    0058c6c4
    0058c6c4loc_58c6c4:
    0058c6c4adrp x0, 0x132000
    0058c6c8add x0, x0, 3216
    0058c6ccorr x1, xzr, 32
    0058c6d0bl errors.New
    0058c6d4str x0, [sp+360]
    0058c6d8str x1, [sp+368]
    0058c6dcstr xzr, [sp+88]
    0058c6e0ldr x1, [sp+360]
    0058c6e4ldr x2, [sp+368]
    0058c6e8str x1, [sp+72]
    0058c6ecstr x2, [sp+80]
    0058c6f0ldr x0, [sp+88]
    0058c6f4ldp x29, x30, [sp-8]
    0058c6f8add sp, sp, 544
    0058c6fcret x30
    0058c700
    0058c700loc_58c700:
    0058c700bl crypto/internal/fips140/bigmod.NewNat
    0058c704str x0, [sp+144]
    0058c708ldr x0, [sp+552]
    0058c70cldrsb x27, [x0]
    0058c710ldr x0, [x0+24]
    0058c714str x0, [sp+264]
    0058c718ldr x3, [sp+584]
    0058c71cldr x2, [sp+144]
    0058c720ldr x1, [sp+560]
    0058c724ldr x4, [sp+592]
    0058c728ldr x5, [sp+600]
    0058c72cbl crypto/internal/fips140/ecdsa.hashToNat[go.shape.*crypto/internal/fips140/nistec.P521Point]
    0058c730bl crypto/internal/fips140/bigmod.NewNat
    0058c734str x0, [sp+328]
    0058c738str xzr, [sp+384]
    0058c73cstp xzr, xzr, [sp+360]
    0058c740ldr x0, [sp+568]
    0058c744ldrsb x27, [x0]
    0058c748ldr x1, [x0+40]
    0058c74cldr x2, [x0+48]
    0058c750ldr x0, [x0+56]
    0058c754str x1, [sp+240]
    0058c758str x2, [sp+248]
    0058c75cstr x0, [sp+256]
    0058c760ldr x0, [sp+560]
    0058c764ldrsb x27, [x0]
    0058c768ldr x4, [x0+32]
    0058c76cstr x4, [sp+232]
    0058c770ldr x1, [sp+240]
    0058c774ldr x2, [sp+248]
    0058c778ldr x3, [sp+256]
    0058c77cldr x0, [sp+328]
    0058c780bl crypto/internal/fips140/bigmod.(*Nat).SetBytes
    0058c784str x0, [sp+384]
    0058c788str x1, [sp+360]
    0058c78cstr x2, [sp+368]
    0058c790ldr x0, [sp+384]
    0058c794str x0, [sp+432]
    0058c798ldr x0, [sp+360]
    0058c79cldr x1, [sp+368]
    0058c7a0str x0, [sp+416]
    0058c7a4str x1, [sp+424]
    0058c7a8ldr x0, [sp+432]
    0058c7acstr x0, [sp+96]
    0058c7b0ldr x0, [sp+424]
    0058c7b4ldr x1, [sp+416]
    0058c7b8str x1, [sp+128]
    0058c7bcstr x0, [sp+136]
    0058c7c0cbnz x1, 0x58c7c8
    0058c7c4b 0x58c7ec
    0058c7c8
    0058c7c8loc_58c7c8:
    0058c7c8str xzr, [sp+88]
    0058c7ccldr x1, [sp+128]
    0058c7d0ldr x2, [sp+136]
    0058c7d4str x1, [sp+72]
    0058c7d8str x2, [sp+80]
    0058c7dcldr x0, [sp+88]
    0058c7e0ldp x29, x30, [sp-8]
    0058c7e4add sp, sp, 544
    0058c7e8ret x30
    0058c7ec
    0058c7ecloc_58c7ec:
    0058c7ecldr x3, [sp+560]
    0058c7f0ldrsb x27, [x3]
    0058c7f4ldr x2, [x3+32]
    0058c7f8str x2, [sp+224]
    0058c7fcldr x0, [sp+96]
    0058c800ldr x1, [sp+104]
    0058c804bl crypto/internal/fips140/bigmod.(*Nat).Mul
    0058c808ldr x3, [sp+560]
    0058c80cldrsb x27, [x3]
    0058c810ldr x2, [x3+32]
    0058c814str x2, [sp+216]
    0058c818ldr x0, [sp+96]
    0058c81cldr x1, [sp+144]
    0058c820bl crypto/internal/fips140/bigmod.(*Nat).Add
    0058c824ldr x3, [sp+560]
    0058c828ldrsb x27, [x3]
    0058c82cldr x2, [x3+32]
    0058c830str x2, [sp+208]
    0058c834ldr x0, [sp+96]
    0058c838ldr x1, [sp+112]
    0058c83cbl crypto/internal/fips140/bigmod.(*Nat).Mul
    0058c840ldr x0, [sp+96]
    0058c844bl crypto/internal/fips140/bigmod.(*Nat).IsZero
    0058c848str x0, [sp+64]
    0058c84csubs xzr, x0, 1
    0058c850b.eq 0x58c858
    0058c854b 0x58c894
    0058c858
    0058c858loc_58c858:
    0058c858adrp x0, 0x132000
    0058c85cadd x0, x0, 3248
    0058c860orr x1, xzr, 32
    0058c864bl errors.New
    0058c868str x0, [sp+360]
    0058c86cstr x1, [sp+368]
    0058c870str xzr, [sp+88]
    0058c874ldr x1, [sp+360]
    0058c878ldr x2, [sp+368]
    0058c87cstr x1, [sp+72]
    0058c880str x2, [sp+80]
    0058c884ldr x0, [sp+88]
    0058c888ldp x29, x30, [sp-8]
    0058c88cadd sp, sp, 544
    0058c890ret x30
    0058c894
    0058c894loc_58c894:
    0058c894ldr x2, [sp+560]
    0058c898ldrsb x27, [x2]
    0058c89cldr x1, [x2+32]
    0058c8a0str x1, [sp+200]
    0058c8a4ldr x0, [sp+104]
    0058c8a8bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    0058c8acstr x0, [sp+336]
    0058c8b0str x1, [sp+344]
    0058c8b4str x2, [sp+352]
    0058c8b8ldr x2, [sp+560]
    0058c8bcldrsb x27, [x2]
    0058c8c0ldr x1, [x2+32]
    0058c8c4str x1, [sp+192]
    0058c8c8ldr x0, [sp+96]
    0058c8ccbl crypto/internal/fips140/bigmod.(*Nat).Bytes
    0058c8d0str x0, [sp+304]
    0058c8d4str x1, [sp+312]
    0058c8d8str x2, [sp+320]
    0058c8dcadrp x0, 0xbc000
    0058c8e0add x0, x0, 96
    0058c8e4bl runtime.newobject
    0058c8e8str x0, [sp+184]
    0058c8ecldr x2, [sp+336]
    0058c8f0ldr x3, [sp+344]
    0058c8f4ldr x4, [sp+352]
    0058c8f8str x3, [x0+8]
    0058c8fcstr x4, [x0+16]
    0058c900adrp x27, 0x4bf000
    0058c904ldr w3, [x27+3056]
    0058c908cbz w3, 0x58c910
    0058c90cb 0x58c914
    0058c910
    0058c910loc_58c910:
    0058c910b 0x58c928
    0058c914
    0058c914loc_58c914:
    0058c914bl runtime.gcWriteBarrier2
    0058c918str x2, [x25]
    0058c91cldr x3, [x0]
    0058c920str x3, [x25+8]
    0058c924b 0x58c928
    0058c928
    0058c928loc_58c928:
    0058c928str x2, [x0]
    0058c92cldr x3, [sp+184]
    0058c930ldrsb x27, [x3]
    0058c934ldr x4, [sp+304]
    0058c938ldr x5, [sp+312]
    0058c93cldr x6, [sp+320]
    0058c940str x5, [x3+32]
    0058c944str x6, [x3+40]
    0058c948adrp x27, 0x4bf000
    0058c94cldr w5, [x27+3056]
    0058c950cbz w5, 0x58c958
    0058c954b 0x58c95c
    0058c958
    0058c958loc_58c958:
    0058c958b 0x58c970
    0058c95c
    0058c95cloc_58c95c:
    0058c95cbl runtime.gcWriteBarrier2
    0058c960str x4, [x25]
    0058c964ldr x5, [x3+24]
    0058c968str x5, [x25+8]
    0058c96cb 0x58c970
    0058c970
    0058c970loc_58c970:
    0058c970str x4, [x3+24]
    0058c974ldr x3, [sp+184]
    0058c978str x3, [sp+88]
    0058c97cstp xzr, xzr, [sp+72]
    0058c980ldr x0, [sp+88]
    0058c984mov x1, xzr
    0058c988mov x2, xzr
    0058c98cldp x29, x30, [sp-8]
    0058c990add sp, sp, 544
    0058c994ret x30
    0058c998
    0058c998loc_58c998:
    0058c998stp x0, x1, [sp+8]
    0058c99cstp x2, x3, [sp+24]
    0058c9a0stp x4, x5, [sp+40]
    0058c9a4str x6, [sp+56]
    0058c9a8mov x3, x30
    0058c9acbl runtime.morestack_noctxt.abi0
    0058c9b0ldp x0, x1, [sp+8]
    0058c9b4ldp x2, x3, [sp+24]
    0058c9b8ldp x4, x5, [sp+40]
    0058c9bcldr x6, [sp+56]
    0058c9c0b 0x58c3c0
    0058c9c4udf 0
    0058c9c8udf 0
    0058c9ccudf 0
    0058c3c0
    0058c9d0
    0058c9d0crypto/internal/fips140/ecdsa.signGeneric[go.shape.*crypto/internal/fips140/nistec.P521Point].func1: ; void crypto/internal/fips140/ecdsa.signGeneric[go.shape.*crypto/internal/fips140/nistec.P521Point].func1(struct []uint8 b)
    0058c9d0ldr x16, [x28+16]
    0058c9d4subs xzr, sp, x16
    0058c9d8b.ls 0x58ca34
    0058c9dcstr x30, [sp-80]!
    0058c9e0stur x29, [sp-8]
    0058c9e4sub x29, sp, 8
    0058c9e8str x0, [sp+88]
    0058c9ecstr x1, [sp+96]
    0058c9f0str x2, [sp+104]
    0058c9f4ldr x4, [x26+8]
    0058c9f8str x4, [sp+56]
    0058c9fcldr x4, [x26+16]
    0058ca00str x4, [sp+64]
    0058ca04stp xzr, xzr, [sp+40]
    0058ca08ldr x1, [sp+88]
    0058ca0cldr x2, [sp+96]
    0058ca10ldr x3, [sp+104]
    0058ca14ldr x0, [sp+56]
    0058ca18bl crypto/internal/fips140/ecdsa.(*hmacDRBG).Generate
    0058ca1cstp xzr, xzr, [sp+40]
    0058ca20mov x0, xzr
    0058ca24mov x1, xzr
    0058ca28ldur x29, [sp-8]
    0058ca2cldr x30, [sp], 80
    0058ca30ret x30
    0058ca34
    0058ca34loc_58ca34:
    0058ca34stp x0, x1, [sp+8]
    0058ca38str x2, [sp+24]
    0058ca3cmov x3, x30
    0058ca40bl runtime.morestack.abi0
    0058ca44ldp x0, x1, [sp+8]
    0058ca48ldr x2, [sp+24]
    0058ca4cb 0x58c9d0
    0058c9d0
    0058ca50
    0058ca50crypto/internal/fips140/ecdsa.randomPoint[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdsa.randomPoint[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[3] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, func([]uint8) error generate)
    0058ca50ldr x16, [x28+16]
    0058ca54sub x17, sp, 240
    0058ca58subs xzr, x17, x16
    0058ca5cb.ls 0x58ce70
    0058ca60sub x20, sp, 368
    0058ca64stp x29, x30, [x20-8]
    0058ca68add sp, x20, 0
    0058ca6csub x29, sp, 8
    0058ca70str x0, [sp+376]
    0058ca74str x1, [sp+384]
    0058ca78str x2, [sp+392]
    0058ca7cstr xzr, [sp+112]
    0058ca80str xzr, [sp+96]
    0058ca84stp xzr, xzr, [sp+168]
    0058ca88b 0x58ca8c
    0058ca8c
    0058ca8cloc_58ca8c:
    0058ca8cb 0x58ca90
    0058ca90
    0058ca90loc_58ca90:
    0058ca90ldr x1, [sp+384]
    0058ca94ldrsb x27, [x1]
    0058ca98ldr x0, [x1+32]
    0058ca9cstr x0, [sp+232]
    0058caa0bl crypto/internal/fips140/bigmod.(*Modulus).Size
    0058caa4str x0, [sp+80]
    0058caa8mov x1, x0
    0058caacmov x2, x1
    0058cab0adrp x0, 0x69000
    0058cab4add x0, x0, 3072
    0058cab8bl runtime.makeslice
    0058cabcldr x1, [sp+80]
    0058cac0ldr x2, [sp+80]
    0058cac4str x0, [sp+184]
    0058cac8str x1, [sp+192]
    0058caccstr x2, [sp+200]
    0058cad0ldr x26, [sp+392]
    0058cad4ldr x3, [x26]
    0058cad8blr x3
    0058cadcstr x0, [sp+152]
    0058cae0str x1, [sp+160]
    0058cae4cbnz x0, 0x58caec
    0058cae8b 0x58cb18
    0058caec
    0058caecloc_58caec:
    0058caecstr xzr, [sp+112]
    0058caf0str xzr, [sp+96]
    0058caf4ldr x2, [sp+152]
    0058caf8ldr x3, [sp+160]
    0058cafcstr x2, [sp+168]
    0058cb00str x3, [sp+176]
    0058cb04ldr x0, [sp+112]
    0058cb08ldr x1, [sp+96]
    0058cb0cldp x29, x30, [sp-8]
    0058cb10add sp, sp, 368
    0058cb14ret x30
    0058cb18
    0058cb18loc_58cb18:
    0058cb18ldr x1, [sp+192]
    0058cb1cstr x1, [sp+80]
    0058cb20ldr x1, [sp+384]
    0058cb24ldrsb x27, [x1]
    0058cb28ldr x0, [x1+32]
    0058cb2cstr x0, [sp+224]
    0058cb30bl crypto/internal/fips140/bigmod.(*Modulus).BitLen
    0058cb34str x0, [sp+72]
    0058cb38ldr x1, [sp+80]
    0058cb3cubfm x1, x1, 61, 60
    0058cb40sub x3, x1, x0
    0058cb44str x3, [sp+56]
    0058cb48subs xzr, x3, 0
    0058cb4cb.gt 0x58cb54
    0058cb50b 0x58cc64
    0058cb54
    0058cb54loc_58cb54:
    0058cb54ldr x4, [sp+384]
    0058cb58ldrsb x27, [x4]
    0058cb5cldr x4, [x4+8]
    0058cb60subs xzr, x4, 5
    0058cb64b.ne 0x58ce6c
    0058cb68b 0x58cb6c
    0058cb6c
    0058cb6cloc_58cb6c:
    0058cb6cldr x4, [sp+384]
    0058cb70ldrsb x27, [x4]
    0058cb74ldr x1, [x4+8]
    0058cb78ldr x4, [x4]
    0058cb7csubs xzr, x1, 0
    0058cb80b.hi 0x58cb88
    0058cb84b 0x58ce64
    0058cb88
    0058cb88loc_58cb88:
    0058cb88ldr x5, [sp+384]
    0058cb8cldrsb x27, [x5]
    0058cb90ldr x1, [x5+8]
    0058cb94ldr x5, [x5]
    0058cb98ldrb w4, [x4]
    0058cb9csubs xzr, x1, 1
    0058cba0b.hi 0x58cba8
    0058cba4b 0x58ce5c
    0058cba8
    0058cba8loc_58cba8:
    0058cba8ldr x6, [sp+384]
    0058cbacldrsb x27, [x6]
    0058cbb0ldr x1, [x6+8]
    0058cbb4ldr x6, [x6]
    0058cbb8ldrb w5, [x5+1]
    0058cbbcubfm x5, x5, 56, 7
    0058cbc0orr x4, x4, x5
    0058cbc4subs xzr, x1, 2
    0058cbc8b.hi 0x58cbd0
    0058cbccb 0x58ce54
    0058cbd0
    0058cbd0loc_58cbd0:
    0058cbd0ldr x5, [sp+384]
    0058cbd4ldrsb x27, [x5]
    0058cbd8ldr x1, [x5+8]
    0058cbdcldr x5, [x5]
    0058cbe0ldrb w6, [x6+2]
    0058cbe4ubfm x6, x6, 48, 7
    0058cbe8orr x4, x4, x6
    0058cbecsubs xzr, x1, 3
    0058cbf0b.hi 0x58cbf8
    0058cbf4b 0x58ce4c
    0058cbf8
    0058cbf8loc_58cbf8:
    0058cbf8ldrb w5, [x5+3]
    0058cbfcubfm x5, x5, 40, 7
    0058cc00orr x4, x4, x5
    0058cc04movz x5, 11600
    0058cc08movk x5, 0x32350000
    0058cc0csubs wzr, w4, w5
    0058cc10b.ne 0x58ce48
    0058cc14b 0x58cc18
    0058cc18
    0058cc18loc_58cc18:
    0058cc18ldr x4, [sp+384]
    0058cc1cldrsb x27, [x4]
    0058cc20ldr x1, [x4+8]
    0058cc24ldr x4, [x4]
    0058cc28subs xzr, x1, 4
    0058cc2cb.hi 0x58cc34
    0058cc30b 0x58ce40
    0058cc34
    0058cc34loc_58cc34:
    0058cc34ldrb w4, [x4+4]
    0058cc38subs wzr, w4, 49
    0058cc3cb.ne 0x58ce28
    0058cc40b 0x58cc44
    0058cc44
    0058cc44loc_58cc44:
    0058cc44ldr x0, [sp+184]
    0058cc48ldr x1, [sp+192]
    0058cc4cldr x2, [sp+200]
    0058cc50bl crypto/internal/fips140/ecdsa.rightShift
    0058cc54str x0, [sp+184]
    0058cc58str x1, [sp+192]
    0058cc5cstr x2, [sp+200]
    0058cc60b 0x58cc68
    0058cc64
    0058cc64loc_58cc64:
    0058cc64b 0x58cc68
    0058cc68
    0058cc68loc_58cc68:
    0058cc68bl crypto/internal/fips140/bigmod.NewNat
    0058cc6cstr x0, [sp+304]
    0058cc70str xzr, [sp+296]
    0058cc74stp xzr, xzr, [sp+280]
    0058cc78ldr x0, [sp+384]
    0058cc7cldrsb x27, [x0]
    0058cc80ldr x4, [x0+32]
    0058cc84str x4, [sp+216]
    0058cc88ldr x1, [sp+184]
    0058cc8cldr x2, [sp+192]
    0058cc90ldr x3, [sp+200]
    0058cc94ldr x0, [sp+304]
    0058cc98bl crypto/internal/fips140/bigmod.(*Nat).SetBytes
    0058cc9cstr x0, [sp+296]
    0058cca0str x1, [sp+280]
    0058cca4str x2, [sp+288]
    0058cca8ldr x0, [sp+296]
    0058ccacstr x0, [sp+352]
    0058ccb0ldr x0, [sp+280]
    0058ccb4ldr x1, [sp+288]
    0058ccb8str x0, [sp+336]
    0058ccbcstr x1, [sp+344]
    0058ccc0ldr x0, [sp+352]
    0058ccc4str x0, [sp+104]
    0058ccc8ldr x0, [sp+344]
    0058ccccldr x1, [sp+336]
    0058ccd0str x1, [sp+136]
    0058ccd4str x0, [sp+144]
    0058ccd8subs xzr, x1, 0
    0058ccdccset x0, ne
    0058cce0eor x0, x0, 1
    0058cce4strb w0, [sp+55]
    0058cce8cbnz x1, 0x58ccf0
    0058ccecb 0x58ccf4
    0058ccf0
    0058ccf0loc_58ccf0:
    0058ccf0b 0x58cd10
    0058ccf4
    0058ccf4loc_58ccf4:
    0058ccf4ldr x0, [sp+104]
    0058ccf8bl crypto/internal/fips140/bigmod.(*Nat).IsZero
    0058ccfcstr x0, [sp+64]
    0058cd00subs xzr, x0, 0
    0058cd04cset x1, eq
    0058cd08strb w1, [sp+55]
    0058cd0cb 0x58cd10
    0058cd10
    0058cd10loc_58cd10:
    0058cd10ldrb w1, [sp+55]
    0058cd14tbnz w1, 0, 0x58cd1c
    0058cd18b 0x58cdf8
    0058cd1c
    0058cd1cloc_58cd1c:
    0058cd1cldr x0, [sp+384]
    0058cd20ldrsb x27, [x0]
    0058cd24ldr x26, [x0+16]
    0058cd28ldr x0, [x26]
    0058cd2cblr x0
    0058cd30str x0, [sp+272]
    0058cd34ldr x0, [sp+384]
    0058cd38ldrsb x27, [x0]
    0058cd3cldr x1, [x0+32]
    0058cd40str x1, [sp+208]
    0058cd44ldr x0, [sp+104]
    0058cd48bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    0058cd4cstr x0, [sp+248]
    0058cd50str x1, [sp+256]
    0058cd54str x2, [sp+264]
    0058cd58str xzr, [sp+240]
    0058cd5cstp xzr, xzr, [sp+280]
    0058cd60ldr x26, [sp+376]
    0058cd64ldrsb x27, [x26]
    0058cd68ldr x0, [x26]
    0058cd6cldr x1, [sp+248]
    0058cd70ldr x2, [sp+256]
    0058cd74ldr x3, [sp+264]
    0058cd78ldr x4, [sp+272]
    0058cd7cmov x5, x0
    0058cd80mov x0, x4
    0058cd84blr x5
    0058cd88str x0, [sp+240]
    0058cd8cstr x1, [sp+280]
    0058cd90str x2, [sp+288]
    0058cd94ldr x0, [sp+240]
    0058cd98str x0, [sp+328]
    0058cd9cldr x0, [sp+280]
    0058cda0ldr x1, [sp+288]
    0058cda4str x0, [sp+312]
    0058cda8str x1, [sp+320]
    0058cdacldr x0, [sp+328]
    0058cdb0str x0, [sp+88]
    0058cdb4ldr x0, [sp+312]
    0058cdb8ldr x1, [sp+320]
    0058cdbcstr x0, [sp+120]
    0058cdc0str x1, [sp+128]
    0058cdc4ldr x0, [sp+104]
    0058cdc8str x0, [sp+112]
    0058cdccldr x0, [sp+88]
    0058cdd0str x0, [sp+96]
    0058cdd4ldr x2, [sp+120]
    0058cdd8ldr x3, [sp+128]
    0058cddcstr x2, [sp+168]
    0058cde0str x3, [sp+176]
    0058cde4ldr x0, [sp+112]
    0058cde8ldr x1, [sp+96]
    0058cdecldp x29, x30, [sp-8]
    0058cdf0add sp, sp, 368
    0058cdf4ret x30
    0058cdf8
    0058cdf8loc_58cdf8:
    0058cdf8adrp x27, 0x495000
    0058cdfcldr x1, [x27+376]
    0058ce00cbnz x1, 0x58ce08
    0058ce04b 0x58ce1c
    0058ce08
    0058ce08loc_58ce08:
    0058ce08adrp x27, 0x495000
    0058ce0cldr x26, [x27+376]
    0058ce10ldr x0, [x26]
    0058ce14blr x0
    0058ce18b 0x58ce20
    0058ce1c
    0058ce1cloc_58ce1c:
    0058ce1cb 0x58ce20
    0058ce20
    0058ce20loc_58ce20:
    0058ce20b 0x58ce24
    0058ce24
    0058ce24loc_58ce24:
    0058ce24b 0x58ca8c
    0058ce28
    0058ce28loc_58ce28:
    0058ce28b 0x58ce2c
    0058ce2c
    0058ce2cloc_58ce2c:
    0058ce2cadrp x0, 0x69000
    0058ce30add x0, x0, 2944
    0058ce34adrp x1, 0x186000
    0058ce38add x1, x1, 1600
    0058ce3cbl runtime.gopanic
    0058ce40
    0058ce40loc_58ce40:
    0058ce40orr x0, xzr, 4
    0058ce44bl runtime.panicIndex
    0058ce48
    0058ce48loc_58ce48:
    0058ce48b 0x58ce2c
    0058ce4c
    0058ce4cloc_58ce4c:
    0058ce4corr x0, xzr, 3
    0058ce50bl runtime.panicIndex
    0058ce54
    0058ce54loc_58ce54:
    0058ce54orr x0, xzr, 2
    0058ce58bl runtime.panicIndex
    0058ce5c
    0058ce5cloc_58ce5c:
    0058ce5corr x0, xzr, 1
    0058ce60bl runtime.panicIndex
    0058ce64
    0058ce64loc_58ce64:
    0058ce64mov x0, xzr
    0058ce68bl runtime.panicIndex
    0058ce6c
    0058ce6cloc_58ce6c:
    0058ce6cb 0x58ce2c
    0058ce70
    0058ce70loc_58ce70:
    0058ce70stp x0, x1, [sp+8]
    0058ce74str x2, [sp+24]
    0058ce78mov x3, x30
    0058ce7cbl runtime.morestack_noctxt.abi0
    0058ce80ldp x0, x1, [sp+8]
    0058ce84ldr x2, [sp+24]
    0058ce88b 0x58ca50
    0058ce8cudf 0
    0058ca50
    0058ce90
    0058ce90crypto/internal/fips140/ecdsa.bits2octets[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdsa.bits2octets[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[2] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, struct []uint8 hash)
    0058ce90ldr x16, [x28+16]
    0058ce94sub x17, sp, 16
    0058ce98subs xzr, x17, x16
    0058ce9cb.ls 0x58cf34
    0058cea0str x30, [sp-144]!
    0058cea4stur x29, [sp-8]
    0058cea8sub x29, sp, 8
    0058ceacstr x0, [sp+152]
    0058ceb0str x1, [sp+160]
    0058ceb4str x2, [sp+168]
    0058ceb8str x3, [sp+176]
    0058cebcstr x4, [sp+184]
    0058cec0str xzr, [sp+64]
    0058cec4stp xzr, xzr, [sp+72]
    0058cec8bl crypto/internal/fips140/bigmod.NewNat
    0058ceccstr x0, [sp+88]
    0058ced0ldr x0, [sp+152]
    0058ced4ldrsb x27, [x0]
    0058ced8ldr x0, [x0]
    0058cedcstr x0, [sp+104]
    0058cee0ldr x3, [sp+168]
    0058cee4ldr x2, [sp+88]
    0058cee8ldr x1, [sp+160]
    0058ceecldr x4, [sp+176]
    0058cef0ldr x5, [sp+184]
    0058cef4bl crypto/internal/fips140/ecdsa.hashToNat[go.shape.*crypto/internal/fips140/nistec.P521Point]
    0058cef8ldr x0, [sp+160]
    0058cefcldrsb x27, [x0]
    0058cf00ldr x1, [x0+32]
    0058cf04str x1, [sp+96]
    0058cf08ldr x0, [sp+88]
    0058cf0cbl crypto/internal/fips140/bigmod.(*Nat).Bytes
    0058cf10str x0, [sp+112]
    0058cf14str x1, [sp+120]
    0058cf18str x2, [sp+128]
    0058cf1cstr x0, [sp+64]
    0058cf20str x1, [sp+72]
    0058cf24str x2, [sp+80]
    0058cf28ldur x29, [sp-8]
    0058cf2cldr x30, [sp], 144
    0058cf30ret x30
    0058cf34
    0058cf34loc_58cf34:
    0058cf34stp x0, x1, [sp+8]
    0058cf38stp x2, x3, [sp+24]
    0058cf3cstr x4, [sp+40]
    0058cf40mov x3, x30
    0058cf44bl runtime.morestack_noctxt.abi0
    0058cf48ldp x0, x1, [sp+8]
    0058cf4cldp x2, x3, [sp+24]
    0058cf50ldr x4, [sp+40]
    0058cf54b 0x58ce90
    0058cf58udf 0
    0058cf5cudf 0
    0058ce90
    0058cf60
    0058cf60crypto/internal/fips140/ecdsa.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdsa.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[3] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, struct []uint8 D, struct []uint8 Q)
    0058cf60ldr x16, [x28+16]
    0058cf64sub x17, sp, 176
    0058cf68subs xzr, x17, x16
    0058cf6cb.ls 0x58d22c
    0058cf70sub x20, sp, 304
    0058cf74stp x29, x30, [x20-8]
    0058cf78add sp, x20, 0
    0058cf7csub x29, sp, 8
    0058cf80str x0, [sp+312]
    0058cf84str x1, [sp+320]
    0058cf88str x2, [sp+328]
    0058cf8cstr x3, [sp+336]
    0058cf90str x4, [sp+344]
    0058cf94str x5, [sp+352]
    0058cf98str x6, [sp+360]
    0058cf9cstr x7, [sp+368]
    0058cfa0str xzr, [sp+64]
    0058cfa4stp xzr, xzr, [sp+48]
    0058cfa8bl crypto/internal/fips140.RecordApproved
    0058cfacstr xzr, [sp+264]
    0058cfb0stp xzr, xzr, [sp+248]
    0058cfb4ldr x0, [sp+312]
    0058cfb8ldrsb x27, [x0]
    0058cfbcldr x0, [x0]
    0058cfc0str x0, [sp+200]
    0058cfc4ldr x2, [sp+352]
    0058cfc8ldr x1, [sp+320]
    0058cfccldr x3, [sp+360]
    0058cfd0ldr x4, [sp+368]
    0058cfd4bl crypto/internal/fips140/ecdsa.NewPublicKey[go.shape.*crypto/internal/fips140/nistec.P521Point]
    0058cfd8str x0, [sp+264]
    0058cfdcstr x1, [sp+248]
    0058cfe0str x2, [sp+256]
    0058cfe4ldr x0, [sp+264]
    0058cfe8str x0, [sp+144]
    0058cfecldr x0, [sp+248]
    0058cff0ldr x1, [sp+256]
    0058cff4str x0, [sp+128]
    0058cff8str x1, [sp+136]
    0058cffcldr x0, [sp+144]
    0058d000str x0, [sp+72]
    0058d004ldr x0, [sp+136]
    0058d008ldr x1, [sp+128]
    0058d00cstr x1, [sp+104]
    0058d010str x0, [sp+112]
    0058d014cbnz x1, 0x58d01c
    0058d018b 0x58d040
    0058d01c
    0058d01cloc_58d01c:
    0058d01cstr xzr, [sp+64]
    0058d020ldr x1, [sp+104]
    0058d024ldr x2, [sp+112]
    0058d028str x1, [sp+48]
    0058d02cstr x2, [sp+56]
    0058d030ldr x0, [sp+64]
    0058d034ldp x29, x30, [sp-8]
    0058d038add sp, sp, 304
    0058d03cret x30
    0058d040
    0058d040loc_58d040:
    0058d040bl crypto/internal/fips140/bigmod.NewNat
    0058d044str x0, [sp+240]
    0058d048str xzr, [sp+232]
    0058d04cstp xzr, xzr, [sp+248]
    0058d050ldr x0, [sp+320]
    0058d054ldrsb x27, [x0]
    0058d058ldr x4, [x0+32]
    0058d05cstr x4, [sp+192]
    0058d060ldr x1, [sp+328]
    0058d064ldr x2, [sp+336]
    0058d068ldr x3, [sp+344]
    0058d06cldr x0, [sp+240]
    0058d070bl crypto/internal/fips140/bigmod.(*Nat).SetBytes
    0058d074str x0, [sp+232]
    0058d078str x1, [sp+248]
    0058d07cstr x2, [sp+256]
    0058d080ldr x0, [sp+232]
    0058d084str x0, [sp+288]
    0058d088ldr x0, [sp+248]
    0058d08cldr x1, [sp+256]
    0058d090str x0, [sp+272]
    0058d094str x1, [sp+280]
    0058d098ldr x0, [sp+288]
    0058d09cstr x0, [sp+120]
    0058d0a0ldr x0, [sp+280]
    0058d0a4ldr x1, [sp+272]
    0058d0a8str x1, [sp+104]
    0058d0acstr x0, [sp+112]
    0058d0b0cbnz x1, 0x58d0b8
    0058d0b4b 0x58d0dc
    0058d0b8
    0058d0b8loc_58d0b8:
    0058d0b8str xzr, [sp+64]
    0058d0bcldr x1, [sp+104]
    0058d0c0ldr x2, [sp+112]
    0058d0c4str x1, [sp+48]
    0058d0c8str x2, [sp+56]
    0058d0ccldr x0, [sp+64]
    0058d0d0ldp x29, x30, [sp-8]
    0058d0d4add sp, sp, 304
    0058d0d8ret x30
    0058d0dc
    0058d0dcloc_58d0dc:
    0058d0dcldr x2, [sp+320]
    0058d0e0ldrsb x27, [x2]
    0058d0e4ldr x1, [x2+32]
    0058d0e8str x1, [sp+184]
    0058d0ecldr x0, [sp+120]
    0058d0f0bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    0058d0f4str x0, [sp+208]
    0058d0f8str x1, [sp+216]
    0058d0fcstr x2, [sp+224]
    0058d100adrp x0, 0xba000
    0058d104add x0, x0, 4032
    0058d108bl runtime.newobject
    0058d10cstr x0, [sp+176]
    0058d110ldr x2, [sp+72]
    0058d114ldrsb x27, [x2]
    0058d118adrp x27, 0x4be000
    0058d11cldr w3, [x27+3056]
    0058d120cbz w3, 0x58d128
    0058d124b 0x58d12c
    0058d128
    0058d128loc_58d128:
    0058d128b 0x58d150
    0058d12c
    0058d12cloc_58d12c:
    0058d12cstr x0, [sp+160]
    0058d130str x2, [sp+152]
    0058d134mov x1, x0
    0058d138adrp x0, 0xba000
    0058d13cadd x0, x0, 3872
    0058d140bl runtime.wbMove
    0058d144ldr x0, [sp+160]
    0058d148ldr x2, [sp+152]
    0058d14cb 0x58d150
    0058d150
    0058d150loc_58d150:
    0058d150ldp x3, x4, [x2]
    0058d154ldp x5, x6, [x2+16]
    0058d158stp x3, x4, [x0]
    0058d15cstp x5, x6, [x0+16]
    0058d160ldr x3, [x2+32]
    0058d164str x3, [x0+32]
    0058d168ldr x3, [sp+176]
    0058d16cldrsb x27, [x3]
    0058d170ldr x4, [sp+208]
    0058d174ldr x5, [sp+216]
    0058d178ldr x6, [sp+224]
    0058d17cstr x5, [x3+48]
    0058d180str x6, [x3+56]
    0058d184adrp x27, 0x4be000
    0058d188ldr w5, [x27+3056]
    0058d18ccbz w5, 0x58d194
    0058d190b 0x58d198
    0058d194
    0058d194loc_58d194:
    0058d194b 0x58d1ac
    0058d198
    0058d198loc_58d198:
    0058d198bl runtime.gcWriteBarrier2
    0058d19cstr x4, [x25]
    0058d1a0ldr x5, [x3+40]
    0058d1a4str x5, [x25+8]
    0058d1a8b 0x58d1ac
    0058d1ac
    0058d1acloc_58d1ac:
    0058d1acstr x4, [x3+40]
    0058d1b0ldr x3, [sp+176]
    0058d1b4str x3, [sp+80]
    0058d1b8ldr x3, [sp+312]
    0058d1bcldrsb x27, [x3]
    0058d1c0ldr x0, [x3+8]
    0058d1c4str x0, [sp+168]
    0058d1c8ldr x2, [sp+80]
    0058d1ccldr x1, [sp+320]
    0058d1d0bl crypto/internal/fips140/ecdsa.fipsPCT[go.shape.*crypto/internal/fips140/nistec.P521Point]
    0058d1d4str x0, [sp+88]
    0058d1d8str x1, [sp+96]
    0058d1dccbnz x0, 0x58d1e4
    0058d1e0b 0x58d208
    0058d1e4
    0058d1e4loc_58d1e4:
    0058d1e4str xzr, [sp+64]
    0058d1e8ldr x1, [sp+88]
    0058d1ecldr x2, [sp+96]
    0058d1f0str x1, [sp+48]
    0058d1f4str x2, [sp+56]
    0058d1f8ldr x0, [sp+64]
    0058d1fcldp x29, x30, [sp-8]
    0058d200add sp, sp, 304
    0058d204ret x30
    0058d208
    0058d208loc_58d208:
    0058d208ldr x3, [sp+80]
    0058d20cstr x3, [sp+64]
    0058d210stp xzr, xzr, [sp+48]
    0058d214ldr x0, [sp+64]
    0058d218mov x1, xzr
    0058d21cmov x2, xzr
    0058d220ldp x29, x30, [sp-8]
    0058d224add sp, sp, 304
    0058d228ret x30
    0058d22c
    0058d22cloc_58d22c:
    0058d22cstp x0, x1, [sp+8]
    0058d230stp x2, x3, [sp+24]
    0058d234stp x4, x5, [sp+40]
    0058d238stp x6, x7, [sp+56]
    0058d23cmov x3, x30
    0058d240bl runtime.morestack_noctxt.abi0
    0058d244ldp x0, x1, [sp+8]
    0058d248ldp x2, x3, [sp+24]
    0058d24cldp x4, x5, [sp+40]
    0058d250ldp x6, x7, [sp+56]
    0058d254b 0x58cf60
    0058d258udf 0
    0058d25cudf 0
    0058cf60
    0058d260
    0058d260crypto/internal/fips140/ecdsa.fipsPCT[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdsa.fipsPCT[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[3] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, crypto/internal/fips140/ecdsa.PrivateKey * k)
    0058d260ldr x16, [x28+16]
    0058d264subs xzr, sp, x16
    0058d268b.ls 0x58d374
    0058d26cstr x30, [sp-112]!
    0058d270stur x29, [sp-8]
    0058d274sub x29, sp, 8
    0058d278str x0, [sp+120]
    0058d27cstr x1, [sp+128]
    0058d280str x2, [sp+136]
    0058d284stp xzr, xzr, [sp+32]
    0058d288stp xzr, xzr, [sp+72]
    0058d28cstp xzr, xzr, [sp+88]
    0058d290add x3, sp, 72
    0058d294str x3, [sp+48]
    0058d298ldrsb x27, [x3]
    0058d29cadrp x4, 0
    0058d2a0add x4, x4, 912
    0058d2a4str x4, [x3]
    0058d2a8ldrsb x27, [x3]
    0058d2acldr x4, [sp+136]
    0058d2b0adrp x27, 0x4be000
    0058d2b4ldr w5, [x27+3056]
    0058d2b8cbz w5, 0x58d2c0
    0058d2bcb 0x58d2c4
    0058d2c0
    0058d2c0loc_58d2c0:
    0058d2c0b 0x58d2d8
    0058d2c4
    0058d2c4loc_58d2c4:
    0058d2c4bl runtime.gcWriteBarrier2
    0058d2c8str x4, [x25]
    0058d2ccldr x5, [x3+8]
    0058d2d0str x5, [x25+8]
    0058d2d4b 0x58d2d8
    0058d2d8
    0058d2d8loc_58d2d8:
    0058d2d8str x4, [x3+8]
    0058d2dcldrsb x27, [x3]
    0058d2e0ldr x4, [sp+128]
    0058d2e4adrp x27, 0x4be000
    0058d2e8ldr w5, [x27+3056]
    0058d2eccbz w5, 0x58d2f4
    0058d2f0b 0x58d2f8
    0058d2f4
    0058d2f4loc_58d2f4:
    0058d2f4b 0x58d30c
    0058d2f8
    0058d2f8loc_58d2f8:
    0058d2f8bl runtime.gcWriteBarrier2
    0058d2fcstr x4, [x25]
    0058d300ldr x5, [x3+16]
    0058d304str x5, [x25+8]
    0058d308b 0x58d30c
    0058d30c
    0058d30cloc_58d30c:
    0058d30cstr x4, [x3+16]
    0058d310ldrsb x27, [x3]
    0058d314ldr x4, [sp+120]
    0058d318adrp x27, 0x4be000
    0058d31cldr w5, [x27+3056]
    0058d320cbz w5, 0x58d328
    0058d324b 0x58d32c
    0058d328
    0058d328loc_58d328:
    0058d328b 0x58d340
    0058d32c
    0058d32cloc_58d32c:
    0058d32cbl runtime.gcWriteBarrier2
    0058d330str x4, [x25]
    0058d334ldr x5, [x3+24]
    0058d338str x5, [x25+8]
    0058d33cb 0x58d340
    0058d340
    0058d340loc_58d340:
    0058d340str x4, [x3+24]
    0058d344ldr x2, [sp+48]
    0058d348adrp x0, 0x124000
    0058d34cadd x0, x0, 4009
    0058d350movz x1, 9
    0058d354bl crypto/internal/fips140.PCT
    0058d358str x0, [sp+56]
    0058d35cstr x1, [sp+64]
    0058d360str x0, [sp+32]
    0058d364str x1, [sp+40]
    0058d368ldur x29, [sp-8]
    0058d36cldr x30, [sp], 112
    0058d370ret x30
    0058d374
    0058d374loc_58d374:
    0058d374stp x0, x1, [sp+8]
    0058d378str x2, [sp+24]
    0058d37cmov x3, x30
    0058d380bl runtime.morestack_noctxt.abi0
    0058d384ldp x0, x1, [sp+8]
    0058d388ldr x2, [sp+24]
    0058d38cb 0x58d260
    0058d260
    0058d390
    0058d390crypto/internal/fips140/ecdsa.fipsPCT[go.shape.*crypto/internal/fips140/nistec.P521Point].func1: ; void crypto/internal/fips140/ecdsa.fipsPCT[go.shape.*crypto/internal/fips140/nistec.P521Point].func1(void)
    0058d390ldr x16, [x28+16]
    0058d394sub x17, sp, 192
    0058d398subs xzr, x17, x16
    0058d39cb.ls 0x58d538
    0058d3a0sub x20, sp, 320
    0058d3a4stp x29, x30, [x20-8]
    0058d3a8add sp, x20, 0
    0058d3acsub x29, sp, 8
    0058d3b0ldr x0, [x26+8]
    0058d3b4str x0, [sp+112]
    0058d3b8ldr x0, [x26+16]
    0058d3bcstr x0, [sp+168]
    0058d3c0ldr x0, [x26+24]
    0058d3c4str x0, [sp+176]
    0058d3c8stp xzr, xzr, [sp+88]
    0058d3ccbl crypto/internal/fips140/ecdsa.testHash
    0058d3d0str x0, [sp+120]
    0058d3d4str x1, [sp+128]
    0058d3d8str x2, [sp+136]
    0058d3dcbl crypto/internal/fips140/ecdsa.P256
    0058d3e0str x0, [sp+216]
    0058d3e4ldr x2, [sp+120]
    0058d3e8ldr x3, [sp+128]
    0058d3ecldr x4, [sp+136]
    0058d3f0mov x1, x0
    0058d3f4adrp x0, 0x185000
    0058d3f8add x0, x0, 1952
    0058d3fcbl crypto/internal/fips140/ecdsa.bits2octets[go.shape.*crypto/internal/fips140/nistec.P256Point]
    0058d400str x0, [sp+192]
    0058d404str x1, [sp+200]
    0058d408str x2, [sp+208]
    0058d40cldr x0, [sp+112]
    0058d410ldrsb x27, [x0]
    0058d414ldr x2, [x0+40]
    0058d418ldr x3, [x0+48]
    0058d41cldr x4, [x0+56]
    0058d420str x2, [sp+272]
    0058d424str x3, [sp+280]
    0058d428str x4, [sp+288]
    0058d42cldr x5, [sp+192]
    0058d430ldr x6, [sp+200]
    0058d434ldr x7, [sp+208]
    0058d438adrp x0, 0x186000
    0058d43cadd x0, x0, 1504
    0058d440adrp x1, 0x14c000
    0058d444add x1, x1, 840
    0058d448mov x8, xzr
    0058d44cmov x9, xzr
    0058d450bl crypto/internal/fips140/ecdsa.newDRBG[go.shape.*uint8]
    0058d454str x0, [sp+160]
    0058d458str xzr, [sp+184]
    0058d45cstp xzr, xzr, [sp+296]
    0058d460ldr x0, [sp+176]
    0058d464ldrsb x27, [x0]
    0058d468ldr x0, [x0]
    0058d46cstr x0, [sp+264]
    0058d470ldr x4, [sp+120]
    0058d474ldr x3, [sp+160]
    0058d478ldr x2, [sp+112]
    0058d47cldr x1, [sp+168]
    0058d480ldr x5, [sp+128]
    0058d484ldr x6, [sp+136]
    0058d488bl crypto/internal/fips140/ecdsa.sign[go.shape.*crypto/internal/fips140/nistec.P521Point]
    0058d48cstr x0, [sp+184]
    0058d490str x1, [sp+296]
    0058d494str x2, [sp+304]
    0058d498ldr x0, [sp+184]
    0058d49cstr x0, [sp+240]
    0058d4a0ldr x0, [sp+296]
    0058d4a4ldr x1, [sp+304]
    0058d4a8str x0, [sp+224]
    0058d4acstr x1, [sp+232]
    0058d4b0ldr x0, [sp+240]
    0058d4b4str x0, [sp+104]
    0058d4b8ldr x1, [sp+232]
    0058d4bcldr x0, [sp+224]
    0058d4c0str x0, [sp+144]
    0058d4c4str x1, [sp+152]
    0058d4c8cbnz x0, 0x58d4d0
    0058d4ccb 0x58d4e4
    0058d4d0
    0058d4d0loc_58d4d0:
    0058d4d0str x0, [sp+88]
    0058d4d4str x1, [sp+96]
    0058d4d8ldp x29, x30, [sp-8]
    0058d4dcadd sp, sp, 320
    0058d4e0ret x30
    0058d4e4
    0058d4e4loc_58d4e4:
    0058d4e4ldr x7, [sp+176]
    0058d4e8ldrsb x27, [x7]
    0058d4ecldr x7, [x7+8]
    0058d4f0str x7, [sp+256]
    0058d4f4ldr x2, [sp+112]
    0058d4f8ldrsb x27, [x2]
    0058d4fcstr x2, [sp+248]
    0058d500ldr x3, [sp+120]
    0058d504ldr x6, [sp+104]
    0058d508ldr x1, [sp+168]
    0058d50cldr x4, [sp+128]
    0058d510ldr x5, [sp+136]
    0058d514ldr x0, [sp+256]
    0058d518bl crypto/internal/fips140/ecdsa.Verify[go.shape.*crypto/internal/fips140/nistec.P521Point]
    0058d51cstr x0, [sp+296]
    0058d520str x1, [sp+304]
    0058d524str x0, [sp+88]
    0058d528str x1, [sp+96]
    0058d52cldp x29, x30, [sp-8]
    0058d530add sp, sp, 320
    0058d534ret x30
    0058d538
    0058d538loc_58d538:
    0058d538mov x3, x30
    0058d53cbl runtime.morestack.abi0
    0058d540b 0x58d390
    0058d544udf 0
    0058d548udf 0
    0058d54cudf 0
    0058d390
    0058d550
    0058d550crypto/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) }]: ; void 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) }](uintptr[5] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P384Point] * c, int64_t h, crypto/internal/fips140/ecdsa.PrivateKey * priv, struct []uint8 hash)
    0058d550ldr x16, [x28+16]
    0058d554sub x17, sp, 160
    0058d558subs xzr, x17, x16
    0058d55cb.ls 0x58d744
    0058d560sub x20, sp, 288
    0058d564stp x29, x30, [x20-8]
    0058d568add sp, x20, 0
    0058d56csub x29, sp, 8
    0058d570str x0, [sp+296]
    0058d574str x1, [sp+304]
    0058d578str x2, [sp+312]
    0058d57cstr x3, [sp+320]
    0058d580str x4, [sp+328]
    0058d584str x5, [sp+336]
    0058d588str x6, [sp+344]
    0058d58cstr xzr, [sp+112]
    0058d590stp xzr, xzr, [sp+96]
    0058d594ldr x3, [sp+320]
    0058d598ldrsb x27, [x3]
    0058d59cldr x4, [x3]
    0058d5a0ldr x3, [x3+8]
    0058d5a4str x4, [sp+216]
    0058d5a8str x3, [sp+224]
    0058d5acldr x3, [sp+304]
    0058d5b0ldrsb x27, [x3]
    0058d5b4ldr x1, [x3]
    0058d5b8ldr x3, [x3+8]
    0058d5bcstr x1, [sp+200]
    0058d5c0str x3, [sp+208]
    0058d5c4ldr x4, [sp+224]
    0058d5c8subs xzr, x4, x3
    0058d5ccb.ne 0x58d5d4
    0058d5d0b 0x58d5d8
    0058d5d4
    0058d5d4loc_58d5d4:
    0058d5d4b 0x58d708
    0058d5d8
    0058d5d8loc_58d5d8:
    0058d5d8ldr x2, [sp+224]
    0058d5dcldr x0, [sp+216]
    0058d5e0bl runtime.memequal
    0058d5e4tbnz w0, 0, 0x58d5ec
    0058d5e8b 0x58d704
    0058d5ec
    0058d5ecloc_58d5ec:
    0058d5ecbl crypto/internal/fips140.RecordApproved
    0058d5f0adrp x27, 0x494000
    0058d5f4ldr x26, [x27+336]
    0058d5f8ldr x0, [x26]
    0058d5fcblr x0
    0058d600ldr x0, [sp+296]
    0058d604ldrsb x27, [x0]
    0058d608ldr x0, [x0+8]
    0058d60cstr x0, [sp+192]
    0058d610ldr x2, [sp+328]
    0058d614ldr x1, [sp+304]
    0058d618ldr x3, [sp+336]
    0058d61cldr x4, [sp+344]
    0058d620bl crypto/internal/fips140/ecdsa.bits2octets[go.shape.*crypto/internal/fips140/nistec.P384Point]
    0058d624str x0, [sp+240]
    0058d628str x1, [sp+248]
    0058d62cstr x2, [sp+256]
    0058d630ldr x0, [sp+296]
    0058d634ldrsb x27, [x0]
    0058d638ldr x0, [x0]
    0058d63cstr x0, [sp+184]
    0058d640ldr x0, [sp+320]
    0058d644ldrsb x27, [x0]
    0058d648ldr x2, [x0+40]
    0058d64cldr x3, [x0+48]
    0058d650ldr x4, [x0+56]
    0058d654str x2, [sp+160]
    0058d658str x3, [sp+168]
    0058d65cstr x4, [sp+176]
    0058d660ldr x1, [sp+312]
    0058d664ldr x5, [sp+240]
    0058d668ldr x6, [sp+248]
    0058d66cldr x7, [sp+256]
    0058d670ldr x0, [sp+184]
    0058d674mov x8, xzr
    0058d678mov x9, xzr
    0058d67cbl crypto/internal/fips140/ecdsa.newDRBG[go.shape.interface { BlockSize() int; Reset(); Size() int; Sum([]uint8) []uint8; Write([]uint8) (int, error) }]
    0058d680str x0, [sp+120]
    0058d684str xzr, [sp+232]
    0058d688stp xzr, xzr, [sp+264]
    0058d68cldr x0, [sp+296]
    0058d690ldrsb x27, [x0]
    0058d694ldr x0, [x0+16]
    0058d698str x0, [sp+152]
    0058d69cldr x4, [sp+328]
    0058d6a0ldr x3, [sp+120]
    0058d6a4ldr x2, [sp+320]
    0058d6a8ldr x1, [sp+304]
    0058d6acldr x5, [sp+336]
    0058d6b0ldr x6, [sp+344]
    0058d6b4bl crypto/internal/fips140/ecdsa.sign[go.shape.*crypto/internal/fips140/nistec.P384Point]
    0058d6b8str x0, [sp+232]
    0058d6bcstr x1, [sp+264]
    0058d6c0str x2, [sp+272]
    0058d6c4ldr x0, [sp+232]
    0058d6c8str x0, [sp+144]
    0058d6ccldr x0, [sp+264]
    0058d6d0ldr x1, [sp+272]
    0058d6d4str x0, [sp+128]
    0058d6d8str x1, [sp+136]
    0058d6dcldr x0, [sp+144]
    0058d6e0str x0, [sp+112]
    0058d6e4ldr x1, [sp+128]
    0058d6e8ldr x2, [sp+136]
    0058d6ecstr x1, [sp+96]
    0058d6f0str x2, [sp+104]
    0058d6f4ldr x0, [sp+112]
    0058d6f8ldp x29, x30, [sp-8]
    0058d6fcadd sp, sp, 288
    0058d700ret x30
    0058d704
    0058d704loc_58d704:
    0058d704b 0x58d708
    0058d708
    0058d708loc_58d708:
    0058d708adrp x0, 0x136000
    0058d70cadd x0, x0, 3211
    0058d710movz x1, 39
    0058d714bl errors.New
    0058d718str x0, [sp+264]
    0058d71cstr x1, [sp+272]
    0058d720str xzr, [sp+112]
    0058d724ldr x1, [sp+264]
    0058d728ldr x2, [sp+272]
    0058d72cstr x1, [sp+96]
    0058d730str x2, [sp+104]
    0058d734ldr x0, [sp+112]
    0058d738ldp x29, x30, [sp-8]
    0058d73cadd sp, sp, 288
    0058d740ret x30
    0058d744
    0058d744loc_58d744:
    0058d744stp x0, x1, [sp+8]
    0058d748stp x2, x3, [sp+24]
    0058d74cstp x4, x5, [sp+40]
    0058d750str x6, [sp+56]
    0058d754mov x3, x30
    0058d758bl runtime.morestack_noctxt.abi0
    0058d75cldp x0, x1, [sp+8]
    0058d760ldp x2, x3, [sp+24]
    0058d764ldp x4, x5, [sp+40]
    0058d768ldr x6, [sp+56]
    0058d76cb 0x58d550
    0058d550
    0058d770
    0058d770crypto/internal/fips140/ecdsa.sign[go.shape.*crypto/internal/fips140/nistec.P384Point]: ; void crypto/internal/fips140/ecdsa.sign[go.shape.*crypto/internal/fips140/nistec.P384Point](uintptr[2] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P384Point] * c, crypto/internal/fips140/ecdsa.PrivateKey * priv, crypto/internal/fips140/ecdsa.hmacDRBG * drbg, struct []uint8 hash)
    0058d770ldr x16, [x28+16]
    0058d774sub x17, sp, 32
    0058d778subs xzr, x17, x16
    0058d77cb.ls 0x58d830
    0058d780str x30, [sp-160]!
    0058d784stur x29, [sp-8]
    0058d788sub x29, sp, 8
    0058d78cstr x0, [sp+168]
    0058d790str x1, [sp+176]
    0058d794str x2, [sp+184]
    0058d798str x3, [sp+192]
    0058d79cstr x4, [sp+200]
    0058d7a0str x5, [sp+208]
    0058d7a4str x6, [sp+216]
    0058d7a8str xzr, [sp+88]
    0058d7acstp xzr, xzr, [sp+72]
    0058d7b0str xzr, [sp+96]
    0058d7b4stp xzr, xzr, [sp+136]
    0058d7b8ldr x7, [sp+168]
    0058d7bcldrsb x27, [x7]
    0058d7c0ldr x0, [x7]
    0058d7c4str x0, [sp+128]
    0058d7c8ldr x4, [sp+200]
    0058d7ccldr x3, [sp+192]
    0058d7d0ldr x2, [sp+184]
    0058d7d4ldr x1, [sp+176]
    0058d7d8ldr x5, [sp+208]
    0058d7dcldr x6, [sp+216]
    0058d7e0bl crypto/internal/fips140/ecdsa.signGeneric[go.shape.*crypto/internal/fips140/nistec.P384Point]
    0058d7e4str x0, [sp+96]
    0058d7e8str x1, [sp+136]
    0058d7ecstr x2, [sp+144]
    0058d7f0ldr x7, [sp+96]
    0058d7f4str x7, [sp+120]
    0058d7f8ldr x7, [sp+136]
    0058d7fcldr x8, [sp+144]
    0058d800str x7, [sp+104]
    0058d804str x8, [sp+112]
    0058d808ldr x7, [sp+120]
    0058d80cstr x7, [sp+88]
    0058d810ldr x1, [sp+104]
    0058d814ldr x2, [sp+112]
    0058d818str x1, [sp+72]
    0058d81cstr x2, [sp+80]
    0058d820ldr x0, [sp+88]
    0058d824ldur x29, [sp-8]
    0058d828ldr x30, [sp], 160
    0058d82cret x30
    0058d830
    0058d830loc_58d830:
    0058d830stp x0, x1, [sp+8]
    0058d834stp x2, x3, [sp+24]
    0058d838stp x4, x5, [sp+40]
    0058d83cstr x6, [sp+56]
    0058d840mov x3, x30
    0058d844bl runtime.morestack_noctxt.abi0
    0058d848ldp x0, x1, [sp+8]
    0058d84cldp x2, x3, [sp+24]
    0058d850ldp x4, x5, [sp+40]
    0058d854ldr x6, [sp+56]
    0058d858b 0x58d770
    0058d85cudf 0
    0058d770
    0058d860
    0058d860crypto/internal/fips140/ecdsa.signGeneric[go.shape.*crypto/internal/fips140/nistec.P384Point]: ; void crypto/internal/fips140/ecdsa.signGeneric[go.shape.*crypto/internal/fips140/nistec.P384Point](uintptr[6] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P384Point] * c, crypto/internal/fips140/ecdsa.PrivateKey * priv, crypto/internal/fips140/ecdsa.hmacDRBG * drbg, struct []uint8 hash)
    0058d860ldr x16, [x28+16]
    0058d864sub x17, sp, 416
    0058d868subs xzr, x17, x16
    0058d86cb.ls 0x58de38
    0058d870sub x20, sp, 544
    0058d874stp x29, x30, [x20-8]
    0058d878add sp, x20, 0
    0058d87csub x29, sp, 8
    0058d880str x0, [sp+552]
    0058d884str x1, [sp+560]
    0058d888str x2, [sp+568]
    0058d88cstr x3, [sp+576]
    0058d890str x4, [sp+584]
    0058d894str x5, [sp+592]
    0058d898str x6, [sp+600]
    0058d89cstr xzr, [sp+88]
    0058d8a0stp xzr, xzr, [sp+72]
    0058d8a4str xzr, [sp+384]
    0058d8a8str xzr, [sp+376]
    0058d8acstp xzr, xzr, [sp+360]
    0058d8b0stp xzr, xzr, [sp+392]
    0058d8b4str xzr, [sp+408]
    0058d8b8add x3, sp, 392
    0058d8bcstr x3, [sp+296]
    0058d8c0ldrsb x27, [x3]
    0058d8c4adrp x4, 0
    0058d8c8add x4, x4, 3696
    0058d8ccstr x4, [x3]
    0058d8d0ldrsb x27, [x3]
    0058d8d4ldr x4, [sp+576]
    0058d8d8adrp x27, 0x4be000
    0058d8dcldr w5, [x27+3056]
    0058d8e0cbz w5, 0x58d8e8
    0058d8e4b 0x58d8ec
    0058d8e8
    0058d8e8loc_58d8e8:
    0058d8e8b 0x58d900
    0058d8ec
    0058d8ecloc_58d8ec:
    0058d8ecbl runtime.gcWriteBarrier2
    0058d8f0str x4, [x25]
    0058d8f4ldr x5, [x3+8]
    0058d8f8str x5, [x25+8]
    0058d8fcb 0x58d900
    0058d900
    0058d900loc_58d900:
    0058d900str x4, [x3+8]
    0058d904ldrsb x27, [x3]
    0058d908ldr x4, [sp+552]
    0058d90cadrp x27, 0x4be000
    0058d910ldr w5, [x27+3056]
    0058d914cbz w5, 0x58d91c
    0058d918b 0x58d920
    0058d91c
    0058d91cloc_58d91c:
    0058d91cb 0x58d934
    0058d920
    0058d920loc_58d920:
    0058d920bl runtime.gcWriteBarrier2
    0058d924str x4, [x25]
    0058d928ldr x5, [x3+16]
    0058d92cstr x5, [x25+8]
    0058d930b 0x58d934
    0058d934
    0058d934loc_58d934:
    0058d934str x4, [x3+16]
    0058d938ldr x3, [sp+552]
    0058d93cldrsb x27, [x3]
    0058d940ldr x0, [x3+8]
    0058d944str x0, [sp+288]
    0058d948ldr x1, [sp+560]
    0058d94cldr x2, [sp+296]
    0058d950bl crypto/internal/fips140/ecdsa.randomPoint[go.shape.*crypto/internal/fips140/nistec.P384Point]
    0058d954str x0, [sp+384]
    0058d958str x1, [sp+376]
    0058d95cstr x2, [sp+360]
    0058d960str x3, [sp+368]
    0058d964ldr x3, [sp+384]
    0058d968str x3, [sp+528]
    0058d96cldr x3, [sp+376]
    0058d970str x3, [sp+520]
    0058d974ldr x3, [sp+360]
    0058d978ldr x4, [sp+368]
    0058d97cstr x3, [sp+504]
    0058d980str x4, [sp+512]
    0058d984ldr x3, [sp+528]
    0058d988str x3, [sp+120]
    0058d98cldr x3, [sp+520]
    0058d990str x3, [sp+176]
    0058d994ldr x3, [sp+512]
    0058d998ldr x4, [sp+504]
    0058d99cstr x4, [sp+128]
    0058d9a0str x3, [sp+136]
    0058d9a4cbnz x4, 0x58d9ac
    0058d9a8b 0x58d9d0
    0058d9ac
    0058d9acloc_58d9ac:
    0058d9acstr xzr, [sp+88]
    0058d9b0ldr x1, [sp+128]
    0058d9b4ldr x2, [sp+136]
    0058d9b8str x1, [sp+72]
    0058d9bcstr x2, [sp+80]
    0058d9c0ldr x0, [sp+88]
    0058d9c4ldp x29, x30, [sp-8]
    0058d9c8add sp, sp, 544
    0058d9ccret x30
    0058d9d0
    0058d9d0loc_58d9d0:
    0058d9d0bl crypto/internal/fips140/bigmod.NewNat
    0058d9d4str x0, [sp+112]
    0058d9d8ldr x0, [sp+552]
    0058d9dcldrsb x27, [x0]
    0058d9e0ldr x0, [x0+16]
    0058d9e4str x0, [sp+280]
    0058d9e8ldr x2, [sp+112]
    0058d9ecldr x3, [sp+120]
    0058d9f0ldr x1, [sp+560]
    0058d9f4bl crypto/internal/fips140/ecdsa.inverse[go.shape.*crypto/internal/fips140/nistec.P384Point]
    0058d9f8str xzr, [sp+336]
    0058d9fcstp xzr, xzr, [sp+344]
    0058da00stp xzr, xzr, [sp+360]
    0058da04ldr x26, [sp+552]
    0058da08ldrsb x27, [x26]
    0058da0cldr x0, [x26]
    0058da10ldr x1, [sp+176]
    0058da14mov x2, x0
    0058da18mov x0, x1
    0058da1cblr x2
    0058da20str x0, [sp+336]
    0058da24str x1, [sp+344]
    0058da28str x2, [sp+352]
    0058da2cstr x3, [sp+360]
    0058da30str x4, [sp+368]
    0058da34ldr x0, [sp+336]
    0058da38ldr x1, [sp+344]
    0058da3cldr x2, [sp+352]
    0058da40str x0, [sp+480]
    0058da44str x1, [sp+488]
    0058da48str x2, [sp+496]
    0058da4cldr x0, [sp+360]
    0058da50ldr x1, [sp+368]
    0058da54str x0, [sp+464]
    0058da58str x1, [sp+472]
    0058da5cldr x0, [sp+480]
    0058da60ldr x1, [sp+488]
    0058da64ldr x2, [sp+496]
    0058da68str x0, [sp+152]
    0058da6cstr x1, [sp+160]
    0058da70str x2, [sp+168]
    0058da74ldr x0, [sp+472]
    0058da78ldr x1, [sp+464]
    0058da7cstr x1, [sp+128]
    0058da80str x0, [sp+136]
    0058da84cbnz x1, 0x58da8c
    0058da88b 0x58dab0
    0058da8c
    0058da8cloc_58da8c:
    0058da8cstr xzr, [sp+88]
    0058da90ldr x1, [sp+128]
    0058da94ldr x2, [sp+136]
    0058da98str x1, [sp+72]
    0058da9cstr x2, [sp+80]
    0058daa0ldr x0, [sp+88]
    0058daa4ldp x29, x30, [sp-8]
    0058daa8add sp, sp, 544
    0058daacret x30
    0058dab0
    0058dab0loc_58dab0:
    0058dab0bl crypto/internal/fips140/bigmod.NewNat
    0058dab4str x0, [sp+384]
    0058dab8str xzr, [sp+328]
    0058dabcstp xzr, xzr, [sp+360]
    0058dac0ldr x0, [sp+560]
    0058dac4ldrsb x27, [x0]
    0058dac8ldr x4, [x0+32]
    0058daccstr x4, [sp+272]
    0058dad0ldr x1, [sp+152]
    0058dad4ldr x2, [sp+160]
    0058dad8ldr x3, [sp+168]
    0058dadcldr x0, [sp+384]
    0058dae0bl crypto/internal/fips140/bigmod.(*Nat).SetOverflowingBytes
    0058dae4str x0, [sp+328]
    0058dae8str x1, [sp+360]
    0058daecstr x2, [sp+368]
    0058daf0ldr x0, [sp+328]
    0058daf4str x0, [sp+456]
    0058daf8ldr x0, [sp+360]
    0058dafcldr x1, [sp+368]
    0058db00str x0, [sp+440]
    0058db04str x1, [sp+448]
    0058db08ldr x0, [sp+456]
    0058db0cstr x0, [sp+104]
    0058db10ldr x0, [sp+448]
    0058db14ldr x1, [sp+440]
    0058db18str x1, [sp+128]
    0058db1cstr x0, [sp+136]
    0058db20cbnz x1, 0x58db28
    0058db24b 0x58db4c
    0058db28
    0058db28loc_58db28:
    0058db28str xzr, [sp+88]
    0058db2cldr x1, [sp+128]
    0058db30ldr x2, [sp+136]
    0058db34str x1, [sp+72]
    0058db38str x2, [sp+80]
    0058db3cldr x0, [sp+88]
    0058db40ldp x29, x30, [sp-8]
    0058db44add sp, sp, 544
    0058db48ret x30
    0058db4c
    0058db4cloc_58db4c:
    0058db4cldr x0, [sp+104]
    0058db50bl crypto/internal/fips140/bigmod.(*Nat).IsZero
    0058db54str x0, [sp+64]
    0058db58subs xzr, x0, 1
    0058db5cb.eq 0x58db64
    0058db60b 0x58dba0
    0058db64
    0058db64loc_58db64:
    0058db64adrp x0, 0x131000
    0058db68add x0, x0, 3216
    0058db6corr x1, xzr, 32
    0058db70bl errors.New
    0058db74str x0, [sp+360]
    0058db78str x1, [sp+368]
    0058db7cstr xzr, [sp+88]
    0058db80ldr x1, [sp+360]
    0058db84ldr x2, [sp+368]
    0058db88str x1, [sp+72]
    0058db8cstr x2, [sp+80]
    0058db90ldr x0, [sp+88]
    0058db94ldp x29, x30, [sp-8]
    0058db98add sp, sp, 544
    0058db9cret x30
    0058dba0
    0058dba0loc_58dba0:
    0058dba0bl crypto/internal/fips140/bigmod.NewNat
    0058dba4str x0, [sp+144]
    0058dba8ldr x0, [sp+552]
    0058dbacldrsb x27, [x0]
    0058dbb0ldr x0, [x0+24]
    0058dbb4str x0, [sp+264]
    0058dbb8ldr x3, [sp+584]
    0058dbbcldr x2, [sp+144]
    0058dbc0ldr x1, [sp+560]
    0058dbc4ldr x4, [sp+592]
    0058dbc8ldr x5, [sp+600]
    0058dbccbl crypto/internal/fips140/ecdsa.hashToNat[go.shape.*crypto/internal/fips140/nistec.P384Point]
    0058dbd0bl crypto/internal/fips140/bigmod.NewNat
    0058dbd4str x0, [sp+328]
    0058dbd8str xzr, [sp+384]
    0058dbdcstp xzr, xzr, [sp+360]
    0058dbe0ldr x0, [sp+568]
    0058dbe4ldrsb x27, [x0]
    0058dbe8ldr x1, [x0+40]
    0058dbecldr x2, [x0+48]
    0058dbf0ldr x0, [x0+56]
    0058dbf4str x1, [sp+240]
    0058dbf8str x2, [sp+248]
    0058dbfcstr x0, [sp+256]
    0058dc00ldr x0, [sp+560]
    0058dc04ldrsb x27, [x0]
    0058dc08ldr x4, [x0+32]
    0058dc0cstr x4, [sp+232]
    0058dc10ldr x1, [sp+240]
    0058dc14ldr x2, [sp+248]
    0058dc18ldr x3, [sp+256]
    0058dc1cldr x0, [sp+328]
    0058dc20bl crypto/internal/fips140/bigmod.(*Nat).SetBytes
    0058dc24str x0, [sp+384]
    0058dc28str x1, [sp+360]
    0058dc2cstr x2, [sp+368]
    0058dc30ldr x0, [sp+384]
    0058dc34str x0, [sp+432]
    0058dc38ldr x0, [sp+360]
    0058dc3cldr x1, [sp+368]
    0058dc40str x0, [sp+416]
    0058dc44str x1, [sp+424]
    0058dc48ldr x0, [sp+432]
    0058dc4cstr x0, [sp+96]
    0058dc50ldr x0, [sp+424]
    0058dc54ldr x1, [sp+416]
    0058dc58str x1, [sp+128]
    0058dc5cstr x0, [sp+136]
    0058dc60cbnz x1, 0x58dc68
    0058dc64b 0x58dc8c
    0058dc68
    0058dc68loc_58dc68:
    0058dc68str xzr, [sp+88]
    0058dc6cldr x1, [sp+128]
    0058dc70ldr x2, [sp+136]
    0058dc74str x1, [sp+72]
    0058dc78str x2, [sp+80]
    0058dc7cldr x0, [sp+88]
    0058dc80ldp x29, x30, [sp-8]
    0058dc84add sp, sp, 544
    0058dc88ret x30
    0058dc8c
    0058dc8cloc_58dc8c:
    0058dc8cldr x3, [sp+560]
    0058dc90ldrsb x27, [x3]
    0058dc94ldr x2, [x3+32]
    0058dc98str x2, [sp+224]
    0058dc9cldr x0, [sp+96]
    0058dca0ldr x1, [sp+104]
    0058dca4bl crypto/internal/fips140/bigmod.(*Nat).Mul
    0058dca8ldr x3, [sp+560]
    0058dcacldrsb x27, [x3]
    0058dcb0ldr x2, [x3+32]
    0058dcb4str x2, [sp+216]
    0058dcb8ldr x0, [sp+96]
    0058dcbcldr x1, [sp+144]
    0058dcc0bl crypto/internal/fips140/bigmod.(*Nat).Add
    0058dcc4ldr x3, [sp+560]
    0058dcc8ldrsb x27, [x3]
    0058dcccldr x2, [x3+32]
    0058dcd0str x2, [sp+208]
    0058dcd4ldr x0, [sp+96]
    0058dcd8ldr x1, [sp+112]
    0058dcdcbl crypto/internal/fips140/bigmod.(*Nat).Mul
    0058dce0ldr x0, [sp+96]
    0058dce4bl crypto/internal/fips140/bigmod.(*Nat).IsZero
    0058dce8str x0, [sp+64]
    0058dcecsubs xzr, x0, 1
    0058dcf0b.eq 0x58dcf8
    0058dcf4b 0x58dd34
    0058dcf8
    0058dcf8loc_58dcf8:
    0058dcf8adrp x0, 0x131000
    0058dcfcadd x0, x0, 3248
    0058dd00orr x1, xzr, 32
    0058dd04bl errors.New
    0058dd08str x0, [sp+360]
    0058dd0cstr x1, [sp+368]
    0058dd10str xzr, [sp+88]
    0058dd14ldr x1, [sp+360]
    0058dd18ldr x2, [sp+368]
    0058dd1cstr x1, [sp+72]
    0058dd20str x2, [sp+80]
    0058dd24ldr x0, [sp+88]
    0058dd28ldp x29, x30, [sp-8]
    0058dd2cadd sp, sp, 544
    0058dd30ret x30
    0058dd34
    0058dd34loc_58dd34:
    0058dd34ldr x2, [sp+560]
    0058dd38ldrsb x27, [x2]
    0058dd3cldr x1, [x2+32]
    0058dd40str x1, [sp+200]
    0058dd44ldr x0, [sp+104]
    0058dd48bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    0058dd4cstr x0, [sp+336]
    0058dd50str x1, [sp+344]
    0058dd54str x2, [sp+352]
    0058dd58ldr x2, [sp+560]
    0058dd5cldrsb x27, [x2]
    0058dd60ldr x1, [x2+32]
    0058dd64str x1, [sp+192]
    0058dd68ldr x0, [sp+96]
    0058dd6cbl crypto/internal/fips140/bigmod.(*Nat).Bytes
    0058dd70str x0, [sp+304]
    0058dd74str x1, [sp+312]
    0058dd78str x2, [sp+320]
    0058dd7cadrp x0, 0xbb000
    0058dd80add x0, x0, 96
    0058dd84bl runtime.newobject
    0058dd88str x0, [sp+184]
    0058dd8cldr x2, [sp+336]
    0058dd90ldr x3, [sp+344]
    0058dd94ldr x4, [sp+352]
    0058dd98str x3, [x0+8]
    0058dd9cstr x4, [x0+16]
    0058dda0adrp x27, 0x4be000
    0058dda4ldr w3, [x27+3056]
    0058dda8cbz w3, 0x58ddb0
    0058ddacb 0x58ddb4
    0058ddb0
    0058ddb0loc_58ddb0:
    0058ddb0b 0x58ddc8
    0058ddb4
    0058ddb4loc_58ddb4:
    0058ddb4bl runtime.gcWriteBarrier2
    0058ddb8str x2, [x25]
    0058ddbcldr x3, [x0]
    0058ddc0str x3, [x25+8]
    0058ddc4b 0x58ddc8
    0058ddc8
    0058ddc8loc_58ddc8:
    0058ddc8str x2, [x0]
    0058ddccldr x3, [sp+184]
    0058ddd0ldrsb x27, [x3]
    0058ddd4ldr x4, [sp+304]
    0058ddd8ldr x5, [sp+312]
    0058dddcldr x6, [sp+320]
    0058dde0str x5, [x3+32]
    0058dde4str x6, [x3+40]
    0058dde8adrp x27, 0x4be000
    0058ddecldr w5, [x27+3056]
    0058ddf0cbz w5, 0x58ddf8
    0058ddf4b 0x58ddfc
    0058ddf8
    0058ddf8loc_58ddf8:
    0058ddf8b 0x58de10
    0058ddfc
    0058ddfcloc_58ddfc:
    0058ddfcbl runtime.gcWriteBarrier2
    0058de00str x4, [x25]
    0058de04ldr x5, [x3+24]
    0058de08str x5, [x25+8]
    0058de0cb 0x58de10
    0058de10
    0058de10loc_58de10:
    0058de10str x4, [x3+24]
    0058de14ldr x3, [sp+184]
    0058de18str x3, [sp+88]
    0058de1cstp xzr, xzr, [sp+72]
    0058de20ldr x0, [sp+88]
    0058de24mov x1, xzr
    0058de28mov x2, xzr
    0058de2cldp x29, x30, [sp-8]
    0058de30add sp, sp, 544
    0058de34ret x30
    0058de38
    0058de38loc_58de38:
    0058de38stp x0, x1, [sp+8]
    0058de3cstp x2, x3, [sp+24]
    0058de40stp x4, x5, [sp+40]
    0058de44str x6, [sp+56]
    0058de48mov x3, x30
    0058de4cbl runtime.morestack_noctxt.abi0
    0058de50ldp x0, x1, [sp+8]
    0058de54ldp x2, x3, [sp+24]
    0058de58ldp x4, x5, [sp+40]
    0058de5cldr x6, [sp+56]
    0058de60b 0x58d860
    0058de64udf 0
    0058de68udf 0
    0058de6cudf 0
    0058d860
    0058de70
    0058de70crypto/internal/fips140/ecdsa.signGeneric[go.shape.*crypto/internal/fips140/nistec.P384Point].func1: ; void crypto/internal/fips140/ecdsa.signGeneric[go.shape.*crypto/internal/fips140/nistec.P384Point].func1(struct []uint8 b)
    0058de70ldr x16, [x28+16]
    0058de74subs xzr, sp, x16
    0058de78b.ls 0x58ded4
    0058de7cstr x30, [sp-80]!
    0058de80stur x29, [sp-8]
    0058de84sub x29, sp, 8
    0058de88str x0, [sp+88]
    0058de8cstr x1, [sp+96]
    0058de90str x2, [sp+104]
    0058de94ldr x4, [x26+8]
    0058de98str x4, [sp+56]
    0058de9cldr x4, [x26+16]
    0058dea0str x4, [sp+64]
    0058dea4stp xzr, xzr, [sp+40]
    0058dea8ldr x1, [sp+88]
    0058deacldr x2, [sp+96]
    0058deb0ldr x3, [sp+104]
    0058deb4ldr x0, [sp+56]
    0058deb8bl crypto/internal/fips140/ecdsa.(*hmacDRBG).Generate
    0058debcstp xzr, xzr, [sp+40]
    0058dec0mov x0, xzr
    0058dec4mov x1, xzr
    0058dec8ldur x29, [sp-8]
    0058deccldr x30, [sp], 80
    0058ded0ret x30
    0058ded4
    0058ded4loc_58ded4:
    0058ded4stp x0, x1, [sp+8]
    0058ded8str x2, [sp+24]
    0058dedcmov x3, x30
    0058dee0bl runtime.morestack.abi0
    0058dee4ldp x0, x1, [sp+8]
    0058dee8ldr x2, [sp+24]
    0058deecb 0x58de70
    0058de70
    0058def0
    0058def0crypto/internal/fips140/ecdsa.randomPoint[go.shape.*crypto/internal/fips140/nistec.P384Point]: ; void crypto/internal/fips140/ecdsa.randomPoint[go.shape.*crypto/internal/fips140/nistec.P384Point](uintptr[3] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P384Point] * c, func([]uint8) error generate)
    0058def0ldr x16, [x28+16]
    0058def4sub x17, sp, 240
    0058def8subs xzr, x17, x16
    0058defcb.ls 0x58e310
    0058df00sub x20, sp, 368
    0058df04stp x29, x30, [x20-8]
    0058df08add sp, x20, 0
    0058df0csub x29, sp, 8
    0058df10str x0, [sp+376]
    0058df14str x1, [sp+384]
    0058df18str x2, [sp+392]
    0058df1cstr xzr, [sp+112]
    0058df20str xzr, [sp+96]
    0058df24stp xzr, xzr, [sp+168]
    0058df28b 0x58df2c
    0058df2c
    0058df2cloc_58df2c:
    0058df2cb 0x58df30
    0058df30
    0058df30loc_58df30:
    0058df30ldr x1, [sp+384]
    0058df34ldrsb x27, [x1]
    0058df38ldr x0, [x1+32]
    0058df3cstr x0, [sp+232]
    0058df40bl crypto/internal/fips140/bigmod.(*Modulus).Size
    0058df44str x0, [sp+80]
    0058df48mov x1, x0
    0058df4cmov x2, x1
    0058df50adrp x0, 0x68000
    0058df54add x0, x0, 3072
    0058df58bl runtime.makeslice
    0058df5cldr x1, [sp+80]
    0058df60ldr x2, [sp+80]
    0058df64str x0, [sp+184]
    0058df68str x1, [sp+192]
    0058df6cstr x2, [sp+200]
    0058df70ldr x26, [sp+392]
    0058df74ldr x3, [x26]
    0058df78blr x3
    0058df7cstr x0, [sp+152]
    0058df80str x1, [sp+160]
    0058df84cbnz x0, 0x58df8c
    0058df88b 0x58dfb8
    0058df8c
    0058df8cloc_58df8c:
    0058df8cstr xzr, [sp+112]
    0058df90str xzr, [sp+96]
    0058df94ldr x2, [sp+152]
    0058df98ldr x3, [sp+160]
    0058df9cstr x2, [sp+168]
    0058dfa0str x3, [sp+176]
    0058dfa4ldr x0, [sp+112]
    0058dfa8ldr x1, [sp+96]
    0058dfacldp x29, x30, [sp-8]
    0058dfb0add sp, sp, 368
    0058dfb4ret x30
    0058dfb8
    0058dfb8loc_58dfb8:
    0058dfb8ldr x1, [sp+192]
    0058dfbcstr x1, [sp+80]
    0058dfc0ldr x1, [sp+384]
    0058dfc4ldrsb x27, [x1]
    0058dfc8ldr x0, [x1+32]
    0058dfccstr x0, [sp+224]
    0058dfd0bl crypto/internal/fips140/bigmod.(*Modulus).BitLen
    0058dfd4str x0, [sp+72]
    0058dfd8ldr x1, [sp+80]
    0058dfdcubfm x1, x1, 61, 60
    0058dfe0sub x3, x1, x0
    0058dfe4str x3, [sp+56]
    0058dfe8subs xzr, x3, 0
    0058dfecb.gt 0x58dff4
    0058dff0b 0x58e104
    0058dff4
    0058dff4loc_58dff4:
    0058dff4ldr x4, [sp+384]
    0058dff8ldrsb x27, [x4]
    0058dffcldr x4, [x4+8]
    0058e000subs xzr, x4, 5
    0058e004b.ne 0x58e30c
    0058e008b 0x58e00c
    0058e00c
    0058e00cloc_58e00c:
    0058e00cldr x4, [sp+384]
    0058e010ldrsb x27, [x4]
    0058e014ldr x1, [x4+8]
    0058e018ldr x4, [x4]
    0058e01csubs xzr, x1, 0
    0058e020b.hi 0x58e028
    0058e024b 0x58e304
    0058e028
    0058e028loc_58e028:
    0058e028ldr x5, [sp+384]
    0058e02cldrsb x27, [x5]
    0058e030ldr x1, [x5+8]
    0058e034ldr x5, [x5]
    0058e038ldrb w4, [x4]
    0058e03csubs xzr, x1, 1
    0058e040b.hi 0x58e048
    0058e044b 0x58e2fc
    0058e048
    0058e048loc_58e048:
    0058e048ldr x6, [sp+384]
    0058e04cldrsb x27, [x6]
    0058e050ldr x1, [x6+8]
    0058e054ldr x6, [x6]
    0058e058ldrb w5, [x5+1]
    0058e05cubfm x5, x5, 56, 7
    0058e060orr x4, x4, x5
    0058e064subs xzr, x1, 2
    0058e068b.hi 0x58e070
    0058e06cb 0x58e2f4
    0058e070
    0058e070loc_58e070:
    0058e070ldr x5, [sp+384]
    0058e074ldrsb x27, [x5]
    0058e078ldr x1, [x5+8]
    0058e07cldr x5, [x5]
    0058e080ldrb w6, [x6+2]
    0058e084ubfm x6, x6, 48, 7
    0058e088orr x4, x4, x6
    0058e08csubs xzr, x1, 3
    0058e090b.hi 0x58e098
    0058e094b 0x58e2ec
    0058e098
    0058e098loc_58e098:
    0058e098ldrb w5, [x5+3]
    0058e09cubfm x5, x5, 40, 7
    0058e0a0orr x4, x4, x5
    0058e0a4movz x5, 11600
    0058e0a8movk x5, 0x32350000
    0058e0acsubs wzr, w4, w5
    0058e0b0b.ne 0x58e2e8
    0058e0b4b 0x58e0b8
    0058e0b8
    0058e0b8loc_58e0b8:
    0058e0b8ldr x4, [sp+384]
    0058e0bcldrsb x27, [x4]
    0058e0c0ldr x1, [x4+8]
    0058e0c4ldr x4, [x4]
    0058e0c8subs xzr, x1, 4
    0058e0ccb.hi 0x58e0d4
    0058e0d0b 0x58e2e0
    0058e0d4
    0058e0d4loc_58e0d4:
    0058e0d4ldrb w4, [x4+4]
    0058e0d8subs wzr, w4, 49
    0058e0dcb.ne 0x58e2c8
    0058e0e0b 0x58e0e4
    0058e0e4
    0058e0e4loc_58e0e4:
    0058e0e4ldr x0, [sp+184]
    0058e0e8ldr x1, [sp+192]
    0058e0ecldr x2, [sp+200]
    0058e0f0bl crypto/internal/fips140/ecdsa.rightShift
    0058e0f4str x0, [sp+184]
    0058e0f8str x1, [sp+192]
    0058e0fcstr x2, [sp+200]
    0058e100b 0x58e108
    0058e104
    0058e104loc_58e104:
    0058e104b 0x58e108
    0058e108
    0058e108loc_58e108:
    0058e108bl crypto/internal/fips140/bigmod.NewNat
    0058e10cstr x0, [sp+304]
    0058e110str xzr, [sp+296]
    0058e114stp xzr, xzr, [sp+280]
    0058e118ldr x0, [sp+384]
    0058e11cldrsb x27, [x0]
    0058e120ldr x4, [x0+32]
    0058e124str x4, [sp+216]
    0058e128ldr x1, [sp+184]
    0058e12cldr x2, [sp+192]
    0058e130ldr x3, [sp+200]
    0058e134ldr x0, [sp+304]
    0058e138bl crypto/internal/fips140/bigmod.(*Nat).SetBytes
    0058e13cstr x0, [sp+296]
    0058e140str x1, [sp+280]
    0058e144str x2, [sp+288]
    0058e148ldr x0, [sp+296]
    0058e14cstr x0, [sp+352]
    0058e150ldr x0, [sp+280]
    0058e154ldr x1, [sp+288]
    0058e158str x0, [sp+336]
    0058e15cstr x1, [sp+344]
    0058e160ldr x0, [sp+352]
    0058e164str x0, [sp+104]
    0058e168ldr x0, [sp+344]
    0058e16cldr x1, [sp+336]
    0058e170str x1, [sp+136]
    0058e174str x0, [sp+144]
    0058e178subs xzr, x1, 0
    0058e17ccset x0, ne
    0058e180eor x0, x0, 1
    0058e184strb w0, [sp+55]
    0058e188cbnz x1, 0x58e190
    0058e18cb 0x58e194
    0058e190
    0058e190loc_58e190:
    0058e190b 0x58e1b0
    0058e194
    0058e194loc_58e194:
    0058e194ldr x0, [sp+104]
    0058e198bl crypto/internal/fips140/bigmod.(*Nat).IsZero
    0058e19cstr x0, [sp+64]
    0058e1a0subs xzr, x0, 0
    0058e1a4cset x1, eq
    0058e1a8strb w1, [sp+55]
    0058e1acb 0x58e1b0
    0058e1b0
    0058e1b0loc_58e1b0:
    0058e1b0ldrb w1, [sp+55]
    0058e1b4tbnz w1, 0, 0x58e1bc
    0058e1b8b 0x58e298
    0058e1bc
    0058e1bcloc_58e1bc:
    0058e1bcldr x0, [sp+384]
    0058e1c0ldrsb x27, [x0]
    0058e1c4ldr x26, [x0+16]
    0058e1c8ldr x0, [x26]
    0058e1ccblr x0
    0058e1d0str x0, [sp+272]
    0058e1d4ldr x0, [sp+384]
    0058e1d8ldrsb x27, [x0]
    0058e1dcldr x1, [x0+32]
    0058e1e0str x1, [sp+208]
    0058e1e4ldr x0, [sp+104]
    0058e1e8bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    0058e1ecstr x0, [sp+248]
    0058e1f0str x1, [sp+256]
    0058e1f4str x2, [sp+264]
    0058e1f8str xzr, [sp+240]
    0058e1fcstp xzr, xzr, [sp+280]
    0058e200ldr x26, [sp+376]
    0058e204ldrsb x27, [x26]
    0058e208ldr x0, [x26]
    0058e20cldr x1, [sp+248]
    0058e210ldr x2, [sp+256]
    0058e214ldr x3, [sp+264]
    0058e218ldr x4, [sp+272]
    0058e21cmov x5, x0
    0058e220mov x0, x4
    0058e224blr x5
    0058e228str x0, [sp+240]
    0058e22cstr x1, [sp+280]
    0058e230str x2, [sp+288]
    0058e234ldr x0, [sp+240]
    0058e238str x0, [sp+328]
    0058e23cldr x0, [sp+280]
    0058e240ldr x1, [sp+288]
    0058e244str x0, [sp+312]
    0058e248str x1, [sp+320]
    0058e24cldr x0, [sp+328]
    0058e250str x0, [sp+88]
    0058e254ldr x0, [sp+312]
    0058e258ldr x1, [sp+320]
    0058e25cstr x0, [sp+120]
    0058e260str x1, [sp+128]
    0058e264ldr x0, [sp+104]
    0058e268str x0, [sp+112]
    0058e26cldr x0, [sp+88]
    0058e270str x0, [sp+96]
    0058e274ldr x2, [sp+120]
    0058e278ldr x3, [sp+128]
    0058e27cstr x2, [sp+168]
    0058e280str x3, [sp+176]
    0058e284ldr x0, [sp+112]
    0058e288ldr x1, [sp+96]
    0058e28cldp x29, x30, [sp-8]
    0058e290add sp, sp, 368
    0058e294ret x30
    0058e298
    0058e298loc_58e298:
    0058e298adrp x27, 0x493000
    0058e29cldr x1, [x27+376]
    0058e2a0cbnz x1, 0x58e2a8
    0058e2a4b 0x58e2bc
    0058e2a8
    0058e2a8loc_58e2a8:
    0058e2a8adrp x27, 0x493000
    0058e2acldr x26, [x27+376]
    0058e2b0ldr x0, [x26]
    0058e2b4blr x0
    0058e2b8b 0x58e2c0
    0058e2bc
    0058e2bcloc_58e2bc:
    0058e2bcb 0x58e2c0
    0058e2c0
    0058e2c0loc_58e2c0:
    0058e2c0b 0x58e2c4
    0058e2c4
    0058e2c4loc_58e2c4:
    0058e2c4b 0x58df2c
    0058e2c8
    0058e2c8loc_58e2c8:
    0058e2c8b 0x58e2cc
    0058e2cc
    0058e2ccloc_58e2cc:
    0058e2ccadrp x0, 0x67000
    0058e2d0add x0, x0, 2944
    0058e2d4adrp x1, 0x184000
    0058e2d8add x1, x1, 1600
    0058e2dcbl runtime.gopanic
    0058e2e0
    0058e2e0loc_58e2e0:
    0058e2e0orr x0, xzr, 4
    0058e2e4bl runtime.panicIndex
    0058e2e8
    0058e2e8loc_58e2e8:
    0058e2e8b 0x58e2cc
    0058e2ec
    0058e2ecloc_58e2ec:
    0058e2ecorr x0, xzr, 3
    0058e2f0bl runtime.panicIndex
    0058e2f4
    0058e2f4loc_58e2f4:
    0058e2f4orr x0, xzr, 2
    0058e2f8bl runtime.panicIndex
    0058e2fc
    0058e2fcloc_58e2fc:
    0058e2fcorr x0, xzr, 1
    0058e300bl runtime.panicIndex
    0058e304
    0058e304loc_58e304:
    0058e304mov x0, xzr
    0058e308bl runtime.panicIndex
    0058e30c
    0058e30cloc_58e30c:
    0058e30cb 0x58e2cc
    0058e310
    0058e310loc_58e310:
    0058e310stp x0, x1, [sp+8]
    0058e314str x2, [sp+24]
    0058e318mov x3, x30
    0058e31cbl runtime.morestack_noctxt.abi0
    0058e320ldp x0, x1, [sp+8]
    0058e324ldr x2, [sp+24]
    0058e328b 0x58def0
    0058e32cudf 0
    0058def0
    0058e330
    0058e330crypto/internal/fips140/ecdsa.bits2octets[go.shape.*crypto/internal/fips140/nistec.P384Point]: ; void crypto/internal/fips140/ecdsa.bits2octets[go.shape.*crypto/internal/fips140/nistec.P384Point](uintptr[2] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P384Point] * c, struct []uint8 hash)
    0058e330ldr x16, [x28+16]
    0058e334sub x17, sp, 16
    0058e338subs xzr, x17, x16
    0058e33cb.ls 0x58e3d4
    0058e340str x30, [sp-144]!
    0058e344stur x29, [sp-8]
    0058e348sub x29, sp, 8
    0058e34cstr x0, [sp+152]
    0058e350str x1, [sp+160]
    0058e354str x2, [sp+168]
    0058e358str x3, [sp+176]
    0058e35cstr x4, [sp+184]
    0058e360str xzr, [sp+64]
    0058e364stp xzr, xzr, [sp+72]
    0058e368bl crypto/internal/fips140/bigmod.NewNat
    0058e36cstr x0, [sp+88]
    0058e370ldr x0, [sp+152]
    0058e374ldrsb x27, [x0]
    0058e378ldr x0, [x0]
    0058e37cstr x0, [sp+104]
    0058e380ldr x3, [sp+168]
    0058e384ldr x2, [sp+88]
    0058e388ldr x1, [sp+160]
    0058e38cldr x4, [sp+176]
    0058e390ldr x5, [sp+184]
    0058e394bl crypto/internal/fips140/ecdsa.hashToNat[go.shape.*crypto/internal/fips140/nistec.P384Point]
    0058e398ldr x0, [sp+160]
    0058e39cldrsb x27, [x0]
    0058e3a0ldr x1, [x0+32]
    0058e3a4str x1, [sp+96]
    0058e3a8ldr x0, [sp+88]
    0058e3acbl crypto/internal/fips140/bigmod.(*Nat).Bytes
    0058e3b0str x0, [sp+112]
    0058e3b4str x1, [sp+120]
    0058e3b8str x2, [sp+128]
    0058e3bcstr x0, [sp+64]
    0058e3c0str x1, [sp+72]
    0058e3c4str x2, [sp+80]
    0058e3c8ldur x29, [sp-8]
    0058e3ccldr x30, [sp], 144
    0058e3d0ret x30
    0058e3d4
    0058e3d4loc_58e3d4:
    0058e3d4stp x0, x1, [sp+8]
    0058e3d8stp x2, x3, [sp+24]
    0058e3dcstr x4, [sp+40]
    0058e3e0mov x3, x30
    0058e3e4bl runtime.morestack_noctxt.abi0
    0058e3e8ldp x0, x1, [sp+8]
    0058e3ecldp x2, x3, [sp+24]
    0058e3f0ldr x4, [sp+40]
    0058e3f4b 0x58e330
    0058e3f8udf 0
    0058e3fcudf 0
    0058e330
    0058e400
    0058e400crypto/internal/fips140/ecdsa.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P384Point]: ; void crypto/internal/fips140/ecdsa.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P384Point](uintptr[3] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P384Point] * c, struct []uint8 D, struct []uint8 Q)
    0058e400ldr x16, [x28+16]
    0058e404sub x17, sp, 176
    0058e408subs xzr, x17, x16
    0058e40cb.ls 0x58e6cc
    0058e410sub x20, sp, 304
    0058e414stp x29, x30, [x20-8]
    0058e418add sp, x20, 0
    0058e41csub x29, sp, 8
    0058e420str x0, [sp+312]
    0058e424str x1, [sp+320]
    0058e428str x2, [sp+328]
    0058e42cstr x3, [sp+336]
    0058e430str x4, [sp+344]
    0058e434str x5, [sp+352]
    0058e438str x6, [sp+360]
    0058e43cstr x7, [sp+368]
    0058e440str xzr, [sp+64]
    0058e444stp xzr, xzr, [sp+48]
    0058e448bl crypto/internal/fips140.RecordApproved
    0058e44cstr xzr, [sp+264]
    0058e450stp xzr, xzr, [sp+248]
    0058e454ldr x0, [sp+312]
    0058e458ldrsb x27, [x0]
    0058e45cldr x0, [x0]
    0058e460str x0, [sp+200]
    0058e464ldr x2, [sp+352]
    0058e468ldr x1, [sp+320]
    0058e46cldr x3, [sp+360]
    0058e470ldr x4, [sp+368]
    0058e474bl crypto/internal/fips140/ecdsa.NewPublicKey[go.shape.*crypto/internal/fips140/nistec.P384Point]
    0058e478str x0, [sp+264]
    0058e47cstr x1, [sp+248]
    0058e480str x2, [sp+256]
    0058e484ldr x0, [sp+264]
    0058e488str x0, [sp+144]
    0058e48cldr x0, [sp+248]
    0058e490ldr x1, [sp+256]
    0058e494str x0, [sp+128]
    0058e498str x1, [sp+136]
    0058e49cldr x0, [sp+144]
    0058e4a0str x0, [sp+72]
    0058e4a4ldr x0, [sp+136]
    0058e4a8ldr x1, [sp+128]
    0058e4acstr x1, [sp+104]
    0058e4b0str x0, [sp+112]
    0058e4b4cbnz x1, 0x58e4bc
    0058e4b8b 0x58e4e0
    0058e4bc
    0058e4bcloc_58e4bc:
    0058e4bcstr xzr, [sp+64]
    0058e4c0ldr x1, [sp+104]
    0058e4c4ldr x2, [sp+112]
    0058e4c8str x1, [sp+48]
    0058e4ccstr x2, [sp+56]
    0058e4d0ldr x0, [sp+64]
    0058e4d4ldp x29, x30, [sp-8]
    0058e4d8add sp, sp, 304
    0058e4dcret x30
    0058e4e0
    0058e4e0loc_58e4e0:
    0058e4e0bl crypto/internal/fips140/bigmod.NewNat
    0058e4e4str x0, [sp+240]
    0058e4e8str xzr, [sp+232]
    0058e4ecstp xzr, xzr, [sp+248]
    0058e4f0ldr x0, [sp+320]
    0058e4f4ldrsb x27, [x0]
    0058e4f8ldr x4, [x0+32]
    0058e4fcstr x4, [sp+192]
    0058e500ldr x1, [sp+328]
    0058e504ldr x2, [sp+336]
    0058e508ldr x3, [sp+344]
    0058e50cldr x0, [sp+240]
    0058e510bl crypto/internal/fips140/bigmod.(*Nat).SetBytes
    0058e514str x0, [sp+232]
    0058e518str x1, [sp+248]
    0058e51cstr x2, [sp+256]
    0058e520ldr x0, [sp+232]
    0058e524str x0, [sp+288]
    0058e528ldr x0, [sp+248]
    0058e52cldr x1, [sp+256]
    0058e530str x0, [sp+272]
    0058e534str x1, [sp+280]
    0058e538ldr x0, [sp+288]
    0058e53cstr x0, [sp+120]
    0058e540ldr x0, [sp+280]
    0058e544ldr x1, [sp+272]
    0058e548str x1, [sp+104]
    0058e54cstr x0, [sp+112]
    0058e550cbnz x1, 0x58e558
    0058e554b 0x58e57c
    0058e558
    0058e558loc_58e558:
    0058e558str xzr, [sp+64]
    0058e55cldr x1, [sp+104]
    0058e560ldr x2, [sp+112]
    0058e564str x1, [sp+48]
    0058e568str x2, [sp+56]
    0058e56cldr x0, [sp+64]
    0058e570ldp x29, x30, [sp-8]
    0058e574add sp, sp, 304
    0058e578ret x30
    0058e57c
    0058e57cloc_58e57c:
    0058e57cldr x2, [sp+320]
    0058e580ldrsb x27, [x2]
    0058e584ldr x1, [x2+32]
    0058e588str x1, [sp+184]
    0058e58cldr x0, [sp+120]
    0058e590bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    0058e594str x0, [sp+208]
    0058e598str x1, [sp+216]
    0058e59cstr x2, [sp+224]
    0058e5a0adrp x0, 0xb9000
    0058e5a4add x0, x0, 4032
    0058e5a8bl runtime.newobject
    0058e5acstr x0, [sp+176]
    0058e5b0ldr x2, [sp+72]
    0058e5b4ldrsb x27, [x2]
    0058e5b8adrp x27, 0x4bd000
    0058e5bcldr w3, [x27+3056]
    0058e5c0cbz w3, 0x58e5c8
    0058e5c4b 0x58e5cc
    0058e5c8
    0058e5c8loc_58e5c8:
    0058e5c8b 0x58e5f0
    0058e5cc
    0058e5ccloc_58e5cc:
    0058e5ccstr x0, [sp+160]
    0058e5d0str x2, [sp+152]
    0058e5d4mov x1, x0
    0058e5d8adrp x0, 0xb9000
    0058e5dcadd x0, x0, 3872
    0058e5e0bl runtime.wbMove
    0058e5e4ldr x0, [sp+160]
    0058e5e8ldr x2, [sp+152]
    0058e5ecb 0x58e5f0
    0058e5f0
    0058e5f0loc_58e5f0:
    0058e5f0ldp x3, x4, [x2]
    0058e5f4ldp x5, x6, [x2+16]
    0058e5f8stp x3, x4, [x0]
    0058e5fcstp x5, x6, [x0+16]
    0058e600ldr x3, [x2+32]
    0058e604str x3, [x0+32]
    0058e608ldr x3, [sp+176]
    0058e60cldrsb x27, [x3]
    0058e610ldr x4, [sp+208]
    0058e614ldr x5, [sp+216]
    0058e618ldr x6, [sp+224]
    0058e61cstr x5, [x3+48]
    0058e620str x6, [x3+56]
    0058e624adrp x27, 0x4bd000
    0058e628ldr w5, [x27+3056]
    0058e62ccbz w5, 0x58e634
    0058e630b 0x58e638
    0058e634
    0058e634loc_58e634:
    0058e634b 0x58e64c
    0058e638
    0058e638loc_58e638:
    0058e638bl runtime.gcWriteBarrier2
    0058e63cstr x4, [x25]
    0058e640ldr x5, [x3+40]
    0058e644str x5, [x25+8]
    0058e648b 0x58e64c
    0058e64c
    0058e64cloc_58e64c:
    0058e64cstr x4, [x3+40]
    0058e650ldr x3, [sp+176]
    0058e654str x3, [sp+80]
    0058e658ldr x3, [sp+312]
    0058e65cldrsb x27, [x3]
    0058e660ldr x0, [x3+8]
    0058e664str x0, [sp+168]
    0058e668ldr x2, [sp+80]
    0058e66cldr x1, [sp+320]
    0058e670bl crypto/internal/fips140/ecdsa.fipsPCT[go.shape.*crypto/internal/fips140/nistec.P384Point]
    0058e674str x0, [sp+88]
    0058e678str x1, [sp+96]
    0058e67ccbnz x0, 0x58e684
    0058e680b 0x58e6a8
    0058e684
    0058e684loc_58e684:
    0058e684str xzr, [sp+64]
    0058e688ldr x1, [sp+88]
    0058e68cldr x2, [sp+96]
    0058e690str x1, [sp+48]
    0058e694str x2, [sp+56]
    0058e698ldr x0, [sp+64]
    0058e69cldp x29, x30, [sp-8]
    0058e6a0add sp, sp, 304
    0058e6a4ret x30
    0058e6a8
    0058e6a8loc_58e6a8:
    0058e6a8ldr x3, [sp+80]
    0058e6acstr x3, [sp+64]
    0058e6b0stp xzr, xzr, [sp+48]
    0058e6b4ldr x0, [sp+64]
    0058e6b8mov x1, xzr
    0058e6bcmov x2, xzr
    0058e6c0ldp x29, x30, [sp-8]
    0058e6c4add sp, sp, 304
    0058e6c8ret x30
    0058e6cc
    0058e6ccloc_58e6cc:
    0058e6ccstp x0, x1, [sp+8]
    0058e6d0stp x2, x3, [sp+24]
    0058e6d4stp x4, x5, [sp+40]
    0058e6d8stp x6, x7, [sp+56]
    0058e6dcmov x3, x30
    0058e6e0bl runtime.morestack_noctxt.abi0
    0058e6e4ldp x0, x1, [sp+8]
    0058e6e8ldp x2, x3, [sp+24]
    0058e6ecldp x4, x5, [sp+40]
    0058e6f0ldp x6, x7, [sp+56]
    0058e6f4b 0x58e400
    0058e6f8udf 0
    0058e6fcudf 0
    0058e400
    0058e700
    0058e700crypto/internal/fips140/ecdsa.fipsPCT[go.shape.*crypto/internal/fips140/nistec.P384Point]: ; void crypto/internal/fips140/ecdsa.fipsPCT[go.shape.*crypto/internal/fips140/nistec.P384Point](uintptr[3] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P384Point] * c, crypto/internal/fips140/ecdsa.PrivateKey * k)
    0058e700ldr x16, [x28+16]
    0058e704subs xzr, sp, x16
    0058e708b.ls 0x58e814
    0058e70cstr x30, [sp-112]!
    0058e710stur x29, [sp-8]
    0058e714sub x29, sp, 8
    0058e718str x0, [sp+120]
    0058e71cstr x1, [sp+128]
    0058e720str x2, [sp+136]
    0058e724stp xzr, xzr, [sp+32]
    0058e728stp xzr, xzr, [sp+72]
    0058e72cstp xzr, xzr, [sp+88]
    0058e730add x3, sp, 72
    0058e734str x3, [sp+48]
    0058e738ldrsb x27, [x3]
    0058e73cadrp x4, 0
    0058e740add x4, x4, 2096
    0058e744str x4, [x3]
    0058e748ldrsb x27, [x3]
    0058e74cldr x4, [sp+136]
    0058e750adrp x27, 0x4bd000
    0058e754ldr w5, [x27+3056]
    0058e758cbz w5, 0x58e760
    0058e75cb 0x58e764
    0058e760
    0058e760loc_58e760:
    0058e760b 0x58e778
    0058e764
    0058e764loc_58e764:
    0058e764bl runtime.gcWriteBarrier2
    0058e768str x4, [x25]
    0058e76cldr x5, [x3+8]
    0058e770str x5, [x25+8]
    0058e774b 0x58e778
    0058e778
    0058e778loc_58e778:
    0058e778str x4, [x3+8]
    0058e77cldrsb x27, [x3]
    0058e780ldr x4, [sp+128]
    0058e784adrp x27, 0x4bd000
    0058e788ldr w5, [x27+3056]
    0058e78ccbz w5, 0x58e794
    0058e790b 0x58e798
    0058e794
    0058e794loc_58e794:
    0058e794b 0x58e7ac
    0058e798
    0058e798loc_58e798:
    0058e798bl runtime.gcWriteBarrier2
    0058e79cstr x4, [x25]
    0058e7a0ldr x5, [x3+16]
    0058e7a4str x5, [x25+8]
    0058e7a8b 0x58e7ac
    0058e7ac
    0058e7acloc_58e7ac:
    0058e7acstr x4, [x3+16]
    0058e7b0ldrsb x27, [x3]
    0058e7b4ldr x4, [sp+120]
    0058e7b8adrp x27, 0x4bd000
    0058e7bcldr w5, [x27+3056]
    0058e7c0cbz w5, 0x58e7c8
    0058e7c4b 0x58e7cc
    0058e7c8
    0058e7c8loc_58e7c8:
    0058e7c8b 0x58e7e0
    0058e7cc
    0058e7ccloc_58e7cc:
    0058e7ccbl runtime.gcWriteBarrier2
    0058e7d0str x4, [x25]
    0058e7d4ldr x5, [x3+24]
    0058e7d8str x5, [x25+8]
    0058e7dcb 0x58e7e0
    0058e7e0
    0058e7e0loc_58e7e0:
    0058e7e0str x4, [x3+24]
    0058e7e4ldr x2, [sp+48]
    0058e7e8adrp x0, 0x123000
    0058e7ecadd x0, x0, 4009
    0058e7f0movz x1, 9
    0058e7f4bl crypto/internal/fips140.PCT
    0058e7f8str x0, [sp+56]
    0058e7fcstr x1, [sp+64]
    0058e800str x0, [sp+32]
    0058e804str x1, [sp+40]
    0058e808ldur x29, [sp-8]
    0058e80cldr x30, [sp], 112
    0058e810ret x30
    0058e814
    0058e814loc_58e814:
    0058e814stp x0, x1, [sp+8]
    0058e818str x2, [sp+24]
    0058e81cmov x3, x30
    0058e820bl runtime.morestack_noctxt.abi0
    0058e824ldp x0, x1, [sp+8]
    0058e828ldr x2, [sp+24]
    0058e82cb 0x58e700
    0058e700