File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    0058f510
    0058f510crypto/internal/fips140/ecdsa.signGeneric[go.shape.*crypto/internal/fips140/nistec.P224Point]: ; void crypto/internal/fips140/ecdsa.signGeneric[go.shape.*crypto/internal/fips140/nistec.P224Point](uintptr[6] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P224Point] * c, crypto/internal/fips140/ecdsa.PrivateKey * priv, crypto/internal/fips140/ecdsa.hmacDRBG * drbg, struct []uint8 hash)
    0058f510ldr x16, [x28+16]
    0058f514sub x17, sp, 416
    0058f518subs xzr, x17, x16
    0058f51cb.ls 0x58fae8
    0058f520sub x20, sp, 544
    0058f524stp x29, x30, [x20-8]
    0058f528add sp, x20, 0
    0058f52csub x29, sp, 8
    0058f530str x0, [sp+552]
    0058f534str x1, [sp+560]
    0058f538str x2, [sp+568]
    0058f53cstr x3, [sp+576]
    0058f540str x4, [sp+584]
    0058f544str x5, [sp+592]
    0058f548str x6, [sp+600]
    0058f54cstr xzr, [sp+88]
    0058f550stp xzr, xzr, [sp+72]
    0058f554str xzr, [sp+384]
    0058f558str xzr, [sp+376]
    0058f55cstp xzr, xzr, [sp+360]
    0058f560stp xzr, xzr, [sp+392]
    0058f564str xzr, [sp+408]
    0058f568add x3, sp, 392
    0058f56cstr x3, [sp+296]
    0058f570ldrsb x27, [x3]
    0058f574adrp x4, 0
    0058f578add x4, x4, 2848
    0058f57cstr x4, [x3]
    0058f580ldrsb x27, [x3]
    0058f584ldr x4, [sp+576]
    0058f588adrp x27, 0x4bc000
    0058f58cldr w5, [x27+3056]
    0058f590cbz w5, 0x58f598
    0058f594b 0x58f59c
    0058f598
    0058f598loc_58f598:
    0058f598b 0x58f5b0
    0058f59c
    0058f59cloc_58f59c:
    0058f59cbl runtime.gcWriteBarrier2
    0058f5a0str x4, [x25]
    0058f5a4ldr x5, [x3+8]
    0058f5a8str x5, [x25+8]
    0058f5acb 0x58f5b0
    0058f5b0
    0058f5b0loc_58f5b0:
    0058f5b0str x4, [x3+8]
    0058f5b4ldrsb x27, [x3]
    0058f5b8ldr x4, [sp+552]
    0058f5bcadrp x27, 0x4bc000
    0058f5c0ldr w5, [x27+3056]
    0058f5c4cbz w5, 0x58f5cc
    0058f5c8b 0x58f5d0
    0058f5cc
    0058f5ccloc_58f5cc:
    0058f5ccb 0x58f5e4
    0058f5d0
    0058f5d0loc_58f5d0:
    0058f5d0bl runtime.gcWriteBarrier2
    0058f5d4str x4, [x25]
    0058f5d8ldr x5, [x3+16]
    0058f5dcstr x5, [x25+8]
    0058f5e0b 0x58f5e4
    0058f5e4
    0058f5e4loc_58f5e4:
    0058f5e4str x4, [x3+16]
    0058f5e8ldr x3, [sp+552]
    0058f5ecldrsb x27, [x3]
    0058f5f0ldr x0, [x3+8]
    0058f5f4str x0, [sp+288]
    0058f5f8ldr x1, [sp+560]
    0058f5fcldr x2, [sp+296]
    0058f600bl crypto/internal/fips140/ecdsa.randomPoint[go.shape.*crypto/internal/fips140/nistec.P224Point]
    0058f604str x0, [sp+384]
    0058f608str x1, [sp+376]
    0058f60cstr x2, [sp+360]
    0058f610str x3, [sp+368]
    0058f614ldr x3, [sp+384]
    0058f618str x3, [sp+528]
    0058f61cldr x3, [sp+376]
    0058f620str x3, [sp+520]
    0058f624ldr x3, [sp+360]
    0058f628ldr x4, [sp+368]
    0058f62cstr x3, [sp+504]
    0058f630str x4, [sp+512]
    0058f634ldr x3, [sp+528]
    0058f638str x3, [sp+120]
    0058f63cldr x3, [sp+520]
    0058f640str x3, [sp+176]
    0058f644ldr x3, [sp+512]
    0058f648ldr x4, [sp+504]
    0058f64cstr x4, [sp+128]
    0058f650str x3, [sp+136]
    0058f654cbnz x4, 0x58f65c
    0058f658b 0x58f680
    0058f65c
    0058f65cloc_58f65c:
    0058f65cstr xzr, [sp+88]
    0058f660ldr x1, [sp+128]
    0058f664ldr x2, [sp+136]
    0058f668str x1, [sp+72]
    0058f66cstr x2, [sp+80]
    0058f670ldr x0, [sp+88]
    0058f674ldp x29, x30, [sp-8]
    0058f678add sp, sp, 544
    0058f67cret x30
    0058f680
    0058f680loc_58f680:
    0058f680bl crypto/internal/fips140/bigmod.NewNat
    0058f684str x0, [sp+112]
    0058f688ldr x0, [sp+552]
    0058f68cldrsb x27, [x0]
    0058f690ldr x0, [x0+16]
    0058f694str x0, [sp+280]
    0058f698ldr x2, [sp+112]
    0058f69cldr x3, [sp+120]
    0058f6a0ldr x1, [sp+560]
    0058f6a4bl crypto/internal/fips140/ecdsa.inverse[go.shape.*crypto/internal/fips140/nistec.P224Point]
    0058f6a8str xzr, [sp+336]
    0058f6acstp xzr, xzr, [sp+344]
    0058f6b0stp xzr, xzr, [sp+360]
    0058f6b4ldr x26, [sp+552]
    0058f6b8ldrsb x27, [x26]
    0058f6bcldr x0, [x26]
    0058f6c0ldr x1, [sp+176]
    0058f6c4mov x2, x0
    0058f6c8mov x0, x1
    0058f6ccblr x2
    0058f6d0str x0, [sp+336]
    0058f6d4str x1, [sp+344]
    0058f6d8str x2, [sp+352]
    0058f6dcstr x3, [sp+360]
    0058f6e0str x4, [sp+368]
    0058f6e4ldr x0, [sp+336]
    0058f6e8ldr x1, [sp+344]
    0058f6ecldr x2, [sp+352]
    0058f6f0str x0, [sp+480]
    0058f6f4str x1, [sp+488]
    0058f6f8str x2, [sp+496]
    0058f6fcldr x0, [sp+360]
    0058f700ldr x1, [sp+368]
    0058f704str x0, [sp+464]
    0058f708str x1, [sp+472]
    0058f70cldr x0, [sp+480]
    0058f710ldr x1, [sp+488]
    0058f714ldr x2, [sp+496]
    0058f718str x0, [sp+152]
    0058f71cstr x1, [sp+160]
    0058f720str x2, [sp+168]
    0058f724ldr x0, [sp+472]
    0058f728ldr x1, [sp+464]
    0058f72cstr x1, [sp+128]
    0058f730str x0, [sp+136]
    0058f734cbnz x1, 0x58f73c
    0058f738b 0x58f760
    0058f73c
    0058f73cloc_58f73c:
    0058f73cstr xzr, [sp+88]
    0058f740ldr x1, [sp+128]
    0058f744ldr x2, [sp+136]
    0058f748str x1, [sp+72]
    0058f74cstr x2, [sp+80]
    0058f750ldr x0, [sp+88]
    0058f754ldp x29, x30, [sp-8]
    0058f758add sp, sp, 544
    0058f75cret x30
    0058f760
    0058f760loc_58f760:
    0058f760bl crypto/internal/fips140/bigmod.NewNat
    0058f764str x0, [sp+384]
    0058f768str xzr, [sp+328]
    0058f76cstp xzr, xzr, [sp+360]
    0058f770ldr x0, [sp+560]
    0058f774ldrsb x27, [x0]
    0058f778ldr x4, [x0+32]
    0058f77cstr x4, [sp+272]
    0058f780ldr x1, [sp+152]
    0058f784ldr x2, [sp+160]
    0058f788ldr x3, [sp+168]
    0058f78cldr x0, [sp+384]
    0058f790bl crypto/internal/fips140/bigmod.(*Nat).SetOverflowingBytes
    0058f794str x0, [sp+328]
    0058f798str x1, [sp+360]
    0058f79cstr x2, [sp+368]
    0058f7a0ldr x0, [sp+328]
    0058f7a4str x0, [sp+456]
    0058f7a8ldr x0, [sp+360]
    0058f7acldr x1, [sp+368]
    0058f7b0str x0, [sp+440]
    0058f7b4str x1, [sp+448]
    0058f7b8ldr x0, [sp+456]
    0058f7bcstr x0, [sp+104]
    0058f7c0ldr x0, [sp+448]
    0058f7c4ldr x1, [sp+440]
    0058f7c8str x1, [sp+128]
    0058f7ccstr x0, [sp+136]
    0058f7d0cbnz x1, 0x58f7d8
    0058f7d4b 0x58f7fc
    0058f7d8
    0058f7d8loc_58f7d8:
    0058f7d8str xzr, [sp+88]
    0058f7dcldr x1, [sp+128]
    0058f7e0ldr x2, [sp+136]
    0058f7e4str x1, [sp+72]
    0058f7e8str x2, [sp+80]
    0058f7ecldr x0, [sp+88]
    0058f7f0ldp x29, x30, [sp-8]
    0058f7f4add sp, sp, 544
    0058f7f8ret x30
    0058f7fc
    0058f7fcloc_58f7fc:
    0058f7fcldr x0, [sp+104]
    0058f800bl crypto/internal/fips140/bigmod.(*Nat).IsZero
    0058f804str x0, [sp+64]
    0058f808subs xzr, x0, 1
    0058f80cb.eq 0x58f814
    0058f810b 0x58f850
    0058f814
    0058f814loc_58f814:
    0058f814adrp x0, 0x12f000
    0058f818add x0, x0, 3216
    0058f81corr x1, xzr, 32
    0058f820bl errors.New
    0058f824str x0, [sp+360]
    0058f828str x1, [sp+368]
    0058f82cstr xzr, [sp+88]
    0058f830ldr x1, [sp+360]
    0058f834ldr x2, [sp+368]
    0058f838str x1, [sp+72]
    0058f83cstr x2, [sp+80]
    0058f840ldr x0, [sp+88]
    0058f844ldp x29, x30, [sp-8]
    0058f848add sp, sp, 544
    0058f84cret x30
    0058f850
    0058f850loc_58f850:
    0058f850bl crypto/internal/fips140/bigmod.NewNat
    0058f854str x0, [sp+144]
    0058f858ldr x0, [sp+552]
    0058f85cldrsb x27, [x0]
    0058f860ldr x0, [x0+24]
    0058f864str x0, [sp+264]
    0058f868ldr x3, [sp+584]
    0058f86cldr x2, [sp+144]
    0058f870ldr x1, [sp+560]
    0058f874ldr x4, [sp+592]
    0058f878ldr x5, [sp+600]
    0058f87cbl crypto/internal/fips140/ecdsa.hashToNat[go.shape.*crypto/internal/fips140/nistec.P224Point]
    0058f880bl crypto/internal/fips140/bigmod.NewNat
    0058f884str x0, [sp+328]
    0058f888str xzr, [sp+384]
    0058f88cstp xzr, xzr, [sp+360]
    0058f890ldr x0, [sp+568]
    0058f894ldrsb x27, [x0]
    0058f898ldr x1, [x0+40]
    0058f89cldr x2, [x0+48]
    0058f8a0ldr x0, [x0+56]
    0058f8a4str x1, [sp+240]
    0058f8a8str x2, [sp+248]
    0058f8acstr x0, [sp+256]
    0058f8b0ldr x0, [sp+560]
    0058f8b4ldrsb x27, [x0]
    0058f8b8ldr x4, [x0+32]
    0058f8bcstr x4, [sp+232]
    0058f8c0ldr x1, [sp+240]
    0058f8c4ldr x2, [sp+248]
    0058f8c8ldr x3, [sp+256]
    0058f8ccldr x0, [sp+328]
    0058f8d0bl crypto/internal/fips140/bigmod.(*Nat).SetBytes
    0058f8d4str x0, [sp+384]
    0058f8d8str x1, [sp+360]
    0058f8dcstr x2, [sp+368]
    0058f8e0ldr x0, [sp+384]
    0058f8e4str x0, [sp+432]
    0058f8e8ldr x0, [sp+360]
    0058f8ecldr x1, [sp+368]
    0058f8f0str x0, [sp+416]
    0058f8f4str x1, [sp+424]
    0058f8f8ldr x0, [sp+432]
    0058f8fcstr x0, [sp+96]
    0058f900ldr x0, [sp+424]
    0058f904ldr x1, [sp+416]
    0058f908str x1, [sp+128]
    0058f90cstr x0, [sp+136]
    0058f910cbnz x1, 0x58f918
    0058f914b 0x58f93c
    0058f918
    0058f918loc_58f918:
    0058f918str xzr, [sp+88]
    0058f91cldr x1, [sp+128]
    0058f920ldr x2, [sp+136]
    0058f924str x1, [sp+72]
    0058f928str x2, [sp+80]
    0058f92cldr x0, [sp+88]
    0058f930ldp x29, x30, [sp-8]
    0058f934add sp, sp, 544
    0058f938ret x30
    0058f93c
    0058f93cloc_58f93c:
    0058f93cldr x3, [sp+560]
    0058f940ldrsb x27, [x3]
    0058f944ldr x2, [x3+32]
    0058f948str x2, [sp+224]
    0058f94cldr x0, [sp+96]
    0058f950ldr x1, [sp+104]
    0058f954bl crypto/internal/fips140/bigmod.(*Nat).Mul
    0058f958ldr x3, [sp+560]
    0058f95cldrsb x27, [x3]
    0058f960ldr x2, [x3+32]
    0058f964str x2, [sp+216]
    0058f968ldr x0, [sp+96]
    0058f96cldr x1, [sp+144]
    0058f970bl crypto/internal/fips140/bigmod.(*Nat).Add
    0058f974ldr x3, [sp+560]
    0058f978ldrsb x27, [x3]
    0058f97cldr x2, [x3+32]
    0058f980str x2, [sp+208]
    0058f984ldr x0, [sp+96]
    0058f988ldr x1, [sp+112]
    0058f98cbl crypto/internal/fips140/bigmod.(*Nat).Mul
    0058f990ldr x0, [sp+96]
    0058f994bl crypto/internal/fips140/bigmod.(*Nat).IsZero
    0058f998str x0, [sp+64]
    0058f99csubs xzr, x0, 1
    0058f9a0b.eq 0x58f9a8
    0058f9a4b 0x58f9e4
    0058f9a8
    0058f9a8loc_58f9a8:
    0058f9a8adrp x0, 0x12f000
    0058f9acadd x0, x0, 3248
    0058f9b0orr x1, xzr, 32
    0058f9b4bl errors.New
    0058f9b8str x0, [sp+360]
    0058f9bcstr x1, [sp+368]
    0058f9c0str xzr, [sp+88]
    0058f9c4ldr x1, [sp+360]
    0058f9c8ldr x2, [sp+368]
    0058f9ccstr x1, [sp+72]
    0058f9d0str x2, [sp+80]
    0058f9d4ldr x0, [sp+88]
    0058f9d8ldp x29, x30, [sp-8]
    0058f9dcadd sp, sp, 544
    0058f9e0ret x30
    0058f9e4
    0058f9e4loc_58f9e4:
    0058f9e4ldr x2, [sp+560]
    0058f9e8ldrsb x27, [x2]
    0058f9ecldr x1, [x2+32]
    0058f9f0str x1, [sp+200]
    0058f9f4ldr x0, [sp+104]
    0058f9f8bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    0058f9fcstr x0, [sp+336]
    0058fa00str x1, [sp+344]
    0058fa04str x2, [sp+352]
    0058fa08ldr x2, [sp+560]
    0058fa0cldrsb x27, [x2]
    0058fa10ldr x1, [x2+32]
    0058fa14str x1, [sp+192]
    0058fa18ldr x0, [sp+96]
    0058fa1cbl crypto/internal/fips140/bigmod.(*Nat).Bytes
    0058fa20str x0, [sp+304]
    0058fa24str x1, [sp+312]
    0058fa28str x2, [sp+320]
    0058fa2cadrp x0, 0xb9000
    0058fa30add x0, x0, 96
    0058fa34bl runtime.newobject
    0058fa38str x0, [sp+184]
    0058fa3cldr x2, [sp+336]
    0058fa40ldr x3, [sp+344]
    0058fa44ldr x4, [sp+352]
    0058fa48str x3, [x0+8]
    0058fa4cstr x4, [x0+16]
    0058fa50adrp x27, 0x4bc000
    0058fa54ldr w3, [x27+3056]
    0058fa58cbz w3, 0x58fa60
    0058fa5cb 0x58fa64
    0058fa60
    0058fa60loc_58fa60:
    0058fa60b 0x58fa78
    0058fa64
    0058fa64loc_58fa64:
    0058fa64bl runtime.gcWriteBarrier2
    0058fa68str x2, [x25]
    0058fa6cldr x3, [x0]
    0058fa70str x3, [x25+8]
    0058fa74b 0x58fa78
    0058fa78
    0058fa78loc_58fa78:
    0058fa78str x2, [x0]
    0058fa7cldr x3, [sp+184]
    0058fa80ldrsb x27, [x3]
    0058fa84ldr x4, [sp+304]
    0058fa88ldr x5, [sp+312]
    0058fa8cldr x6, [sp+320]
    0058fa90str x5, [x3+32]
    0058fa94str x6, [x3+40]
    0058fa98adrp x27, 0x4bc000
    0058fa9cldr w5, [x27+3056]
    0058faa0cbz w5, 0x58faa8
    0058faa4b 0x58faac
    0058faa8
    0058faa8loc_58faa8:
    0058faa8b 0x58fac0
    0058faac
    0058faacloc_58faac:
    0058faacbl runtime.gcWriteBarrier2
    0058fab0str x4, [x25]
    0058fab4ldr x5, [x3+24]
    0058fab8str x5, [x25+8]
    0058fabcb 0x58fac0
    0058fac0
    0058fac0loc_58fac0:
    0058fac0str x4, [x3+24]
    0058fac4ldr x3, [sp+184]
    0058fac8str x3, [sp+88]
    0058faccstp xzr, xzr, [sp+72]
    0058fad0ldr x0, [sp+88]
    0058fad4mov x1, xzr
    0058fad8mov x2, xzr
    0058fadcldp x29, x30, [sp-8]
    0058fae0add sp, sp, 544
    0058fae4ret x30
    0058fae8
    0058fae8loc_58fae8:
    0058fae8stp x0, x1, [sp+8]
    0058faecstp x2, x3, [sp+24]
    0058faf0stp x4, x5, [sp+40]
    0058faf4str x6, [sp+56]
    0058faf8mov x3, x30
    0058fafcbl runtime.morestack_noctxt.abi0
    0058fb00ldp x0, x1, [sp+8]
    0058fb04ldp x2, x3, [sp+24]
    0058fb08ldp x4, x5, [sp+40]
    0058fb0cldr x6, [sp+56]
    0058fb10b 0x58f510
    0058fb14udf 0
    0058fb18udf 0
    0058fb1cudf 0
    0058f510
    0058fb20
    0058fb20crypto/internal/fips140/ecdsa.signGeneric[go.shape.*crypto/internal/fips140/nistec.P224Point].func1: ; void crypto/internal/fips140/ecdsa.signGeneric[go.shape.*crypto/internal/fips140/nistec.P224Point].func1(struct []uint8 b)
    0058fb20ldr x16, [x28+16]
    0058fb24subs xzr, sp, x16
    0058fb28b.ls 0x58fb84
    0058fb2cstr x30, [sp-80]!
    0058fb30stur x29, [sp-8]
    0058fb34sub x29, sp, 8
    0058fb38str x0, [sp+88]
    0058fb3cstr x1, [sp+96]
    0058fb40str x2, [sp+104]
    0058fb44ldr x4, [x26+8]
    0058fb48str x4, [sp+56]
    0058fb4cldr x4, [x26+16]
    0058fb50str x4, [sp+64]
    0058fb54stp xzr, xzr, [sp+40]
    0058fb58ldr x1, [sp+88]
    0058fb5cldr x2, [sp+96]
    0058fb60ldr x3, [sp+104]
    0058fb64ldr x0, [sp+56]
    0058fb68bl crypto/internal/fips140/ecdsa.(*hmacDRBG).Generate
    0058fb6cstp xzr, xzr, [sp+40]
    0058fb70mov x0, xzr
    0058fb74mov x1, xzr
    0058fb78ldur x29, [sp-8]
    0058fb7cldr x30, [sp], 80
    0058fb80ret x30
    0058fb84
    0058fb84loc_58fb84:
    0058fb84stp x0, x1, [sp+8]
    0058fb88str x2, [sp+24]
    0058fb8cmov x3, x30
    0058fb90bl runtime.morestack.abi0
    0058fb94ldp x0, x1, [sp+8]
    0058fb98ldr x2, [sp+24]
    0058fb9cb 0x58fb20
    0058fb20
    0058fba0
    0058fba0crypto/internal/fips140/ecdsa.randomPoint[go.shape.*crypto/internal/fips140/nistec.P224Point]: ; void crypto/internal/fips140/ecdsa.randomPoint[go.shape.*crypto/internal/fips140/nistec.P224Point](uintptr[3] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P224Point] * c, func([]uint8) error generate)
    0058fba0ldr x16, [x28+16]
    0058fba4sub x17, sp, 240
    0058fba8subs xzr, x17, x16
    0058fbacb.ls 0x58ffc0
    0058fbb0sub x20, sp, 368
    0058fbb4stp x29, x30, [x20-8]
    0058fbb8add sp, x20, 0
    0058fbbcsub x29, sp, 8
    0058fbc0str x0, [sp+376]
    0058fbc4str x1, [sp+384]
    0058fbc8str x2, [sp+392]
    0058fbccstr xzr, [sp+112]
    0058fbd0str xzr, [sp+96]
    0058fbd4stp xzr, xzr, [sp+168]
    0058fbd8b 0x58fbdc
    0058fbdc
    0058fbdcloc_58fbdc:
    0058fbdcb 0x58fbe0
    0058fbe0
    0058fbe0loc_58fbe0:
    0058fbe0ldr x1, [sp+384]
    0058fbe4ldrsb x27, [x1]
    0058fbe8ldr x0, [x1+32]
    0058fbecstr x0, [sp+232]
    0058fbf0bl crypto/internal/fips140/bigmod.(*Modulus).Size
    0058fbf4str x0, [sp+80]
    0058fbf8mov x1, x0
    0058fbfcmov x2, x1
    0058fc00adrp x0, 0x66000
    0058fc04add x0, x0, 3072
    0058fc08bl runtime.makeslice
    0058fc0cldr x1, [sp+80]
    0058fc10ldr x2, [sp+80]
    0058fc14str x0, [sp+184]
    0058fc18str x1, [sp+192]
    0058fc1cstr x2, [sp+200]
    0058fc20ldr x26, [sp+392]
    0058fc24ldr x3, [x26]
    0058fc28blr x3
    0058fc2cstr x0, [sp+152]
    0058fc30str x1, [sp+160]
    0058fc34cbnz x0, 0x58fc3c
    0058fc38b 0x58fc68
    0058fc3c
    0058fc3cloc_58fc3c:
    0058fc3cstr xzr, [sp+112]
    0058fc40str xzr, [sp+96]
    0058fc44ldr x2, [sp+152]
    0058fc48ldr x3, [sp+160]
    0058fc4cstr x2, [sp+168]
    0058fc50str x3, [sp+176]
    0058fc54ldr x0, [sp+112]
    0058fc58ldr x1, [sp+96]
    0058fc5cldp x29, x30, [sp-8]
    0058fc60add sp, sp, 368
    0058fc64ret x30
    0058fc68
    0058fc68loc_58fc68:
    0058fc68ldr x1, [sp+192]
    0058fc6cstr x1, [sp+80]
    0058fc70ldr x1, [sp+384]
    0058fc74ldrsb x27, [x1]
    0058fc78ldr x0, [x1+32]
    0058fc7cstr x0, [sp+224]
    0058fc80bl crypto/internal/fips140/bigmod.(*Modulus).BitLen
    0058fc84str x0, [sp+72]
    0058fc88ldr x1, [sp+80]
    0058fc8cubfm x1, x1, 61, 60
    0058fc90sub x3, x1, x0
    0058fc94str x3, [sp+56]
    0058fc98subs xzr, x3, 0
    0058fc9cb.gt 0x58fca4
    0058fca0b 0x58fdb4
    0058fca4
    0058fca4loc_58fca4:
    0058fca4ldr x4, [sp+384]
    0058fca8ldrsb x27, [x4]
    0058fcacldr x4, [x4+8]
    0058fcb0subs xzr, x4, 5
    0058fcb4b.ne 0x58ffbc
    0058fcb8b 0x58fcbc
    0058fcbc
    0058fcbcloc_58fcbc:
    0058fcbcldr x4, [sp+384]
    0058fcc0ldrsb x27, [x4]
    0058fcc4ldr x1, [x4+8]
    0058fcc8ldr x4, [x4]
    0058fcccsubs xzr, x1, 0
    0058fcd0b.hi 0x58fcd8
    0058fcd4b 0x58ffb4
    0058fcd8
    0058fcd8loc_58fcd8:
    0058fcd8ldr x5, [sp+384]
    0058fcdcldrsb x27, [x5]
    0058fce0ldr x1, [x5+8]
    0058fce4ldr x5, [x5]
    0058fce8ldrb w4, [x4]
    0058fcecsubs xzr, x1, 1
    0058fcf0b.hi 0x58fcf8
    0058fcf4b 0x58ffac
    0058fcf8
    0058fcf8loc_58fcf8:
    0058fcf8ldr x6, [sp+384]
    0058fcfcldrsb x27, [x6]
    0058fd00ldr x1, [x6+8]
    0058fd04ldr x6, [x6]
    0058fd08ldrb w5, [x5+1]
    0058fd0cubfm x5, x5, 56, 7
    0058fd10orr x4, x4, x5
    0058fd14subs xzr, x1, 2
    0058fd18b.hi 0x58fd20
    0058fd1cb 0x58ffa4
    0058fd20
    0058fd20loc_58fd20:
    0058fd20ldr x5, [sp+384]
    0058fd24ldrsb x27, [x5]
    0058fd28ldr x1, [x5+8]
    0058fd2cldr x5, [x5]
    0058fd30ldrb w6, [x6+2]
    0058fd34ubfm x6, x6, 48, 7
    0058fd38orr x4, x4, x6
    0058fd3csubs xzr, x1, 3
    0058fd40b.hi 0x58fd48
    0058fd44b 0x58ff9c
    0058fd48
    0058fd48loc_58fd48:
    0058fd48ldrb w5, [x5+3]
    0058fd4cubfm x5, x5, 40, 7
    0058fd50orr x4, x4, x5
    0058fd54movz x5, 11600
    0058fd58movk x5, 0x32350000
    0058fd5csubs wzr, w4, w5
    0058fd60b.ne 0x58ff98
    0058fd64b 0x58fd68
    0058fd68
    0058fd68loc_58fd68:
    0058fd68ldr x4, [sp+384]
    0058fd6cldrsb x27, [x4]
    0058fd70ldr x1, [x4+8]
    0058fd74ldr x4, [x4]
    0058fd78subs xzr, x1, 4
    0058fd7cb.hi 0x58fd84
    0058fd80b 0x58ff90
    0058fd84
    0058fd84loc_58fd84:
    0058fd84ldrb w4, [x4+4]
    0058fd88subs wzr, w4, 49
    0058fd8cb.ne 0x58ff78
    0058fd90b 0x58fd94
    0058fd94
    0058fd94loc_58fd94:
    0058fd94ldr x0, [sp+184]
    0058fd98ldr x1, [sp+192]
    0058fd9cldr x2, [sp+200]
    0058fda0bl crypto/internal/fips140/ecdsa.rightShift
    0058fda4str x0, [sp+184]
    0058fda8str x1, [sp+192]
    0058fdacstr x2, [sp+200]
    0058fdb0b 0x58fdb8
    0058fdb4
    0058fdb4loc_58fdb4:
    0058fdb4b 0x58fdb8
    0058fdb8
    0058fdb8loc_58fdb8:
    0058fdb8bl crypto/internal/fips140/bigmod.NewNat
    0058fdbcstr x0, [sp+304]
    0058fdc0str xzr, [sp+296]
    0058fdc4stp xzr, xzr, [sp+280]
    0058fdc8ldr x0, [sp+384]
    0058fdccldrsb x27, [x0]
    0058fdd0ldr x4, [x0+32]
    0058fdd4str x4, [sp+216]
    0058fdd8ldr x1, [sp+184]
    0058fddcldr x2, [sp+192]
    0058fde0ldr x3, [sp+200]
    0058fde4ldr x0, [sp+304]
    0058fde8bl crypto/internal/fips140/bigmod.(*Nat).SetBytes
    0058fdecstr x0, [sp+296]
    0058fdf0str x1, [sp+280]
    0058fdf4str x2, [sp+288]
    0058fdf8ldr x0, [sp+296]
    0058fdfcstr x0, [sp+352]
    0058fe00ldr x0, [sp+280]
    0058fe04ldr x1, [sp+288]
    0058fe08str x0, [sp+336]
    0058fe0cstr x1, [sp+344]
    0058fe10ldr x0, [sp+352]
    0058fe14str x0, [sp+104]
    0058fe18ldr x0, [sp+344]
    0058fe1cldr x1, [sp+336]
    0058fe20str x1, [sp+136]
    0058fe24str x0, [sp+144]
    0058fe28subs xzr, x1, 0
    0058fe2ccset x0, ne
    0058fe30eor x0, x0, 1
    0058fe34strb w0, [sp+55]
    0058fe38cbnz x1, 0x58fe40
    0058fe3cb 0x58fe44
    0058fe40
    0058fe40loc_58fe40:
    0058fe40b 0x58fe60
    0058fe44
    0058fe44loc_58fe44:
    0058fe44ldr x0, [sp+104]
    0058fe48bl crypto/internal/fips140/bigmod.(*Nat).IsZero
    0058fe4cstr x0, [sp+64]
    0058fe50subs xzr, x0, 0
    0058fe54cset x1, eq
    0058fe58strb w1, [sp+55]
    0058fe5cb 0x58fe60
    0058fe60
    0058fe60loc_58fe60:
    0058fe60ldrb w1, [sp+55]
    0058fe64tbnz w1, 0, 0x58fe6c
    0058fe68b 0x58ff48
    0058fe6c
    0058fe6cloc_58fe6c:
    0058fe6cldr x0, [sp+384]
    0058fe70ldrsb x27, [x0]
    0058fe74ldr x26, [x0+16]
    0058fe78ldr x0, [x26]
    0058fe7cblr x0
    0058fe80str x0, [sp+272]
    0058fe84ldr x0, [sp+384]
    0058fe88ldrsb x27, [x0]
    0058fe8cldr x1, [x0+32]
    0058fe90str x1, [sp+208]
    0058fe94ldr x0, [sp+104]
    0058fe98bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    0058fe9cstr x0, [sp+248]
    0058fea0str x1, [sp+256]
    0058fea4str x2, [sp+264]
    0058fea8str xzr, [sp+240]
    0058feacstp xzr, xzr, [sp+280]
    0058feb0ldr x26, [sp+376]
    0058feb4ldrsb x27, [x26]
    0058feb8ldr x0, [x26]
    0058febcldr x1, [sp+248]
    0058fec0ldr x2, [sp+256]
    0058fec4ldr x3, [sp+264]
    0058fec8ldr x4, [sp+272]
    0058feccmov x5, x0
    0058fed0mov x0, x4
    0058fed4blr x5
    0058fed8str x0, [sp+240]
    0058fedcstr x1, [sp+280]
    0058fee0str x2, [sp+288]
    0058fee4ldr x0, [sp+240]
    0058fee8str x0, [sp+328]
    0058feecldr x0, [sp+280]
    0058fef0ldr x1, [sp+288]
    0058fef4str x0, [sp+312]
    0058fef8str x1, [sp+320]
    0058fefcldr x0, [sp+328]
    0058ff00str x0, [sp+88]
    0058ff04ldr x0, [sp+312]
    0058ff08ldr x1, [sp+320]
    0058ff0cstr x0, [sp+120]
    0058ff10str x1, [sp+128]
    0058ff14ldr x0, [sp+104]
    0058ff18str x0, [sp+112]
    0058ff1cldr x0, [sp+88]
    0058ff20str x0, [sp+96]
    0058ff24ldr x2, [sp+120]
    0058ff28ldr x3, [sp+128]
    0058ff2cstr x2, [sp+168]
    0058ff30str x3, [sp+176]
    0058ff34ldr x0, [sp+112]
    0058ff38ldr x1, [sp+96]
    0058ff3cldp x29, x30, [sp-8]
    0058ff40add sp, sp, 368
    0058ff44ret x30
    0058ff48
    0058ff48loc_58ff48:
    0058ff48adrp x27, 0x492000
    0058ff4cldr x1, [x27+376]
    0058ff50cbnz x1, 0x58ff58
    0058ff54b 0x58ff6c
    0058ff58
    0058ff58loc_58ff58:
    0058ff58adrp x27, 0x492000
    0058ff5cldr x26, [x27+376]
    0058ff60ldr x0, [x26]
    0058ff64blr x0
    0058ff68b 0x58ff70
    0058ff6c
    0058ff6cloc_58ff6c:
    0058ff6cb 0x58ff70
    0058ff70
    0058ff70loc_58ff70:
    0058ff70b 0x58ff74
    0058ff74
    0058ff74loc_58ff74:
    0058ff74b 0x58fbdc
    0058ff78
    0058ff78loc_58ff78:
    0058ff78b 0x58ff7c
    0058ff7c
    0058ff7cloc_58ff7c:
    0058ff7cadrp x0, 0x66000
    0058ff80add x0, x0, 2944
    0058ff84adrp x1, 0x183000
    0058ff88add x1, x1, 1600
    0058ff8cbl runtime.gopanic
    0058ff90
    0058ff90loc_58ff90:
    0058ff90orr x0, xzr, 4
    0058ff94bl runtime.panicIndex
    0058ff98
    0058ff98loc_58ff98:
    0058ff98b 0x58ff7c
    0058ff9c
    0058ff9cloc_58ff9c:
    0058ff9corr x0, xzr, 3
    0058ffa0bl runtime.panicIndex
    0058ffa4
    0058ffa4loc_58ffa4:
    0058ffa4orr x0, xzr, 2
    0058ffa8bl runtime.panicIndex
    0058ffac
    0058ffacloc_58ffac:
    0058ffacorr x0, xzr, 1
    0058ffb0bl runtime.panicIndex
    0058ffb4
    0058ffb4loc_58ffb4:
    0058ffb4mov x0, xzr
    0058ffb8bl runtime.panicIndex
    0058ffbc
    0058ffbcloc_58ffbc:
    0058ffbcb 0x58ff7c
    0058ffc0
    0058ffc0loc_58ffc0:
    0058ffc0stp x0, x1, [sp+8]
    0058ffc4str x2, [sp+24]
    0058ffc8mov x3, x30
    0058ffccbl runtime.morestack_noctxt.abi0
    0058ffd0ldp x0, x1, [sp+8]
    0058ffd4ldr x2, [sp+24]
    0058ffd8b 0x58fba0
    0058ffdcudf 0
    0058fba0
    0058ffe0
    0058ffe0crypto/internal/fips140/ecdsa.bits2octets[go.shape.*crypto/internal/fips140/nistec.P224Point]: ; void crypto/internal/fips140/ecdsa.bits2octets[go.shape.*crypto/internal/fips140/nistec.P224Point](uintptr[2] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P224Point] * c, struct []uint8 hash)
    0058ffe0ldr x16, [x28+16]
    0058ffe4sub x17, sp, 16
    0058ffe8subs xzr, x17, x16
    0058ffecb.ls 0x590084
    0058fff0str x30, [sp-144]!
    0058fff4stur x29, [sp-8]
    0058fff8sub x29, sp, 8
    0058fffcstr x0, [sp+152]
    00590000str x1, [sp+160]
    00590004str x2, [sp+168]
    00590008str x3, [sp+176]
    0059000cstr x4, [sp+184]
    00590010str xzr, [sp+64]
    00590014stp xzr, xzr, [sp+72]
    00590018bl crypto/internal/fips140/bigmod.NewNat
    0059001cstr x0, [sp+88]
    00590020ldr x0, [sp+152]
    00590024ldrsb x27, [x0]
    00590028ldr x0, [x0]
    0059002cstr x0, [sp+104]
    00590030ldr x3, [sp+168]
    00590034ldr x2, [sp+88]
    00590038ldr x1, [sp+160]
    0059003cldr x4, [sp+176]
    00590040ldr x5, [sp+184]
    00590044bl crypto/internal/fips140/ecdsa.hashToNat[go.shape.*crypto/internal/fips140/nistec.P224Point]
    00590048ldr x0, [sp+160]
    0059004cldrsb x27, [x0]
    00590050ldr x1, [x0+32]
    00590054str x1, [sp+96]
    00590058ldr x0, [sp+88]
    0059005cbl crypto/internal/fips140/bigmod.(*Nat).Bytes
    00590060str x0, [sp+112]
    00590064str x1, [sp+120]
    00590068str x2, [sp+128]
    0059006cstr x0, [sp+64]
    00590070str x1, [sp+72]
    00590074str x2, [sp+80]
    00590078ldur x29, [sp-8]
    0059007cldr x30, [sp], 144
    00590080ret x30
    00590084
    00590084loc_590084:
    00590084stp x0, x1, [sp+8]
    00590088stp x2, x3, [sp+24]
    0059008cstr x4, [sp+40]
    00590090mov x3, x30
    00590094bl runtime.morestack_noctxt.abi0
    00590098ldp x0, x1, [sp+8]
    0059009cldp x2, x3, [sp+24]
    005900a0ldr x4, [sp+40]
    005900a4b 0x58ffe0
    005900a8udf 0
    005900acudf 0
    0058ffe0
    005900b0
    005900b0crypto/internal/fips140/ecdsa.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P224Point]: ; void crypto/internal/fips140/ecdsa.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P224Point](uintptr[3] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P224Point] * c, struct []uint8 D, struct []uint8 Q)
    005900b0ldr x16, [x28+16]
    005900b4sub x17, sp, 176
    005900b8subs xzr, x17, x16
    005900bcb.ls 0x59037c
    005900c0sub x20, sp, 304
    005900c4stp x29, x30, [x20-8]
    005900c8add sp, x20, 0
    005900ccsub x29, sp, 8
    005900d0str x0, [sp+312]
    005900d4str x1, [sp+320]
    005900d8str x2, [sp+328]
    005900dcstr x3, [sp+336]
    005900e0str x4, [sp+344]
    005900e4str x5, [sp+352]
    005900e8str x6, [sp+360]
    005900ecstr x7, [sp+368]
    005900f0str xzr, [sp+64]
    005900f4stp xzr, xzr, [sp+48]
    005900f8bl crypto/internal/fips140.RecordApproved
    005900fcstr xzr, [sp+264]
    00590100stp xzr, xzr, [sp+248]
    00590104ldr x0, [sp+312]
    00590108ldrsb x27, [x0]
    0059010cldr x0, [x0]
    00590110str x0, [sp+200]
    00590114ldr x2, [sp+352]
    00590118ldr x1, [sp+320]
    0059011cldr x3, [sp+360]
    00590120ldr x4, [sp+368]
    00590124bl crypto/internal/fips140/ecdsa.NewPublicKey[go.shape.*crypto/internal/fips140/nistec.P224Point]
    00590128str x0, [sp+264]
    0059012cstr x1, [sp+248]
    00590130str x2, [sp+256]
    00590134ldr x0, [sp+264]
    00590138str x0, [sp+144]
    0059013cldr x0, [sp+248]
    00590140ldr x1, [sp+256]
    00590144str x0, [sp+128]
    00590148str x1, [sp+136]
    0059014cldr x0, [sp+144]
    00590150str x0, [sp+72]
    00590154ldr x0, [sp+136]
    00590158ldr x1, [sp+128]
    0059015cstr x1, [sp+104]
    00590160str x0, [sp+112]
    00590164cbnz x1, 0x59016c
    00590168b 0x590190
    0059016c
    0059016cloc_59016c:
    0059016cstr xzr, [sp+64]
    00590170ldr x1, [sp+104]
    00590174ldr x2, [sp+112]
    00590178str x1, [sp+48]
    0059017cstr x2, [sp+56]
    00590180ldr x0, [sp+64]
    00590184ldp x29, x30, [sp-8]
    00590188add sp, sp, 304
    0059018cret x30
    00590190
    00590190loc_590190:
    00590190bl crypto/internal/fips140/bigmod.NewNat
    00590194str x0, [sp+240]
    00590198str xzr, [sp+232]
    0059019cstp xzr, xzr, [sp+248]
    005901a0ldr x0, [sp+320]
    005901a4ldrsb x27, [x0]
    005901a8ldr x4, [x0+32]
    005901acstr x4, [sp+192]
    005901b0ldr x1, [sp+328]
    005901b4ldr x2, [sp+336]
    005901b8ldr x3, [sp+344]
    005901bcldr x0, [sp+240]
    005901c0bl crypto/internal/fips140/bigmod.(*Nat).SetBytes
    005901c4str x0, [sp+232]
    005901c8str x1, [sp+248]
    005901ccstr x2, [sp+256]
    005901d0ldr x0, [sp+232]
    005901d4str x0, [sp+288]
    005901d8ldr x0, [sp+248]
    005901dcldr x1, [sp+256]
    005901e0str x0, [sp+272]
    005901e4str x1, [sp+280]
    005901e8ldr x0, [sp+288]
    005901ecstr x0, [sp+120]
    005901f0ldr x0, [sp+280]
    005901f4ldr x1, [sp+272]
    005901f8str x1, [sp+104]
    005901fcstr x0, [sp+112]
    00590200cbnz x1, 0x590208
    00590204b 0x59022c
    00590208
    00590208loc_590208:
    00590208str xzr, [sp+64]
    0059020cldr x1, [sp+104]
    00590210ldr x2, [sp+112]
    00590214str x1, [sp+48]
    00590218str x2, [sp+56]
    0059021cldr x0, [sp+64]
    00590220ldp x29, x30, [sp-8]
    00590224add sp, sp, 304
    00590228ret x30
    0059022c
    0059022cloc_59022c:
    0059022cldr x2, [sp+320]
    00590230ldrsb x27, [x2]
    00590234ldr x1, [x2+32]
    00590238str x1, [sp+184]
    0059023cldr x0, [sp+120]
    00590240bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    00590244str x0, [sp+208]
    00590248str x1, [sp+216]
    0059024cstr x2, [sp+224]
    00590250adrp x0, 0xb7000
    00590254add x0, x0, 4032
    00590258bl runtime.newobject
    0059025cstr x0, [sp+176]
    00590260ldr x2, [sp+72]
    00590264ldrsb x27, [x2]
    00590268adrp x27, 0x4bb000
    0059026cldr w3, [x27+3056]
    00590270cbz w3, 0x590278
    00590274b 0x59027c
    00590278
    00590278loc_590278:
    00590278b 0x5902a0
    0059027c
    0059027cloc_59027c:
    0059027cstr x0, [sp+160]
    00590280str x2, [sp+152]
    00590284mov x1, x0
    00590288adrp x0, 0xb7000
    0059028cadd x0, x0, 3872
    00590290bl runtime.wbMove
    00590294ldr x0, [sp+160]
    00590298ldr x2, [sp+152]
    0059029cb 0x5902a0
    005902a0
    005902a0loc_5902a0:
    005902a0ldp x3, x4, [x2]
    005902a4ldp x5, x6, [x2+16]
    005902a8stp x3, x4, [x0]
    005902acstp x5, x6, [x0+16]
    005902b0ldr x3, [x2+32]
    005902b4str x3, [x0+32]
    005902b8ldr x3, [sp+176]
    005902bcldrsb x27, [x3]
    005902c0ldr x4, [sp+208]
    005902c4ldr x5, [sp+216]
    005902c8ldr x6, [sp+224]
    005902ccstr x5, [x3+48]
    005902d0str x6, [x3+56]
    005902d4adrp x27, 0x4bb000
    005902d8ldr w5, [x27+3056]
    005902dccbz w5, 0x5902e4
    005902e0b 0x5902e8
    005902e4
    005902e4loc_5902e4:
    005902e4b 0x5902fc
    005902e8
    005902e8loc_5902e8:
    005902e8bl runtime.gcWriteBarrier2
    005902ecstr x4, [x25]
    005902f0ldr x5, [x3+40]
    005902f4str x5, [x25+8]
    005902f8b 0x5902fc
    005902fc
    005902fcloc_5902fc:
    005902fcstr x4, [x3+40]
    00590300ldr x3, [sp+176]
    00590304str x3, [sp+80]
    00590308ldr x3, [sp+312]
    0059030cldrsb x27, [x3]
    00590310ldr x0, [x3+8]
    00590314str x0, [sp+168]
    00590318ldr x2, [sp+80]
    0059031cldr x1, [sp+320]
    00590320bl crypto/internal/fips140/ecdsa.fipsPCT[go.shape.*crypto/internal/fips140/nistec.P224Point]
    00590324str x0, [sp+88]
    00590328str x1, [sp+96]
    0059032ccbnz x0, 0x590334
    00590330b 0x590358
    00590334
    00590334loc_590334:
    00590334str xzr, [sp+64]
    00590338ldr x1, [sp+88]
    0059033cldr x2, [sp+96]
    00590340str x1, [sp+48]
    00590344str x2, [sp+56]
    00590348ldr x0, [sp+64]
    0059034cldp x29, x30, [sp-8]
    00590350add sp, sp, 304
    00590354ret x30
    00590358
    00590358loc_590358:
    00590358ldr x3, [sp+80]
    0059035cstr x3, [sp+64]
    00590360stp xzr, xzr, [sp+48]
    00590364ldr x0, [sp+64]
    00590368mov x1, xzr
    0059036cmov x2, xzr
    00590370ldp x29, x30, [sp-8]
    00590374add sp, sp, 304
    00590378ret x30
    0059037c
    0059037cloc_59037c:
    0059037cstp x0, x1, [sp+8]
    00590380stp x2, x3, [sp+24]
    00590384stp x4, x5, [sp+40]
    00590388stp x6, x7, [sp+56]
    0059038cmov x3, x30
    00590390bl runtime.morestack_noctxt.abi0
    00590394ldp x0, x1, [sp+8]
    00590398ldp x2, x3, [sp+24]
    0059039cldp x4, x5, [sp+40]
    005903a0ldp x6, x7, [sp+56]
    005903a4b 0x5900b0
    005903a8udf 0
    005903acudf 0
    005900b0
    005903b0
    005903b0crypto/internal/fips140/ecdsa.fipsPCT[go.shape.*crypto/internal/fips140/nistec.P224Point]: ; void crypto/internal/fips140/ecdsa.fipsPCT[go.shape.*crypto/internal/fips140/nistec.P224Point](uintptr[3] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P224Point] * c, crypto/internal/fips140/ecdsa.PrivateKey * k)
    005903b0ldr x16, [x28+16]
    005903b4subs xzr, sp, x16
    005903b8b.ls 0x5904c4
    005903bcstr x30, [sp-112]!
    005903c0stur x29, [sp-8]
    005903c4sub x29, sp, 8
    005903c8str x0, [sp+120]
    005903ccstr x1, [sp+128]
    005903d0str x2, [sp+136]
    005903d4stp xzr, xzr, [sp+32]
    005903d8stp xzr, xzr, [sp+72]
    005903dcstp xzr, xzr, [sp+88]
    005903e0add x3, sp, 72
    005903e4str x3, [sp+48]
    005903e8ldrsb x27, [x3]
    005903ecadrp x4, 0
    005903f0add x4, x4, 1248
    005903f4str x4, [x3]
    005903f8ldrsb x27, [x3]
    005903fcldr x4, [sp+136]
    00590400adrp x27, 0x4bb000
    00590404ldr w5, [x27+3056]
    00590408cbz w5, 0x590410
    0059040cb 0x590414
    00590410
    00590410loc_590410:
    00590410b 0x590428
    00590414
    00590414loc_590414:
    00590414bl runtime.gcWriteBarrier2
    00590418str x4, [x25]
    0059041cldr x5, [x3+8]
    00590420str x5, [x25+8]
    00590424b 0x590428
    00590428
    00590428loc_590428:
    00590428str x4, [x3+8]
    0059042cldrsb x27, [x3]
    00590430ldr x4, [sp+128]
    00590434adrp x27, 0x4bb000
    00590438ldr w5, [x27+3056]
    0059043ccbz w5, 0x590444
    00590440b 0x590448
    00590444
    00590444loc_590444:
    00590444b 0x59045c
    00590448
    00590448loc_590448:
    00590448bl runtime.gcWriteBarrier2
    0059044cstr x4, [x25]
    00590450ldr x5, [x3+16]
    00590454str x5, [x25+8]
    00590458b 0x59045c
    0059045c
    0059045cloc_59045c:
    0059045cstr x4, [x3+16]
    00590460ldrsb x27, [x3]
    00590464ldr x4, [sp+120]
    00590468adrp x27, 0x4bb000
    0059046cldr w5, [x27+3056]
    00590470cbz w5, 0x590478
    00590474b 0x59047c
    00590478
    00590478loc_590478:
    00590478b 0x590490
    0059047c
    0059047cloc_59047c:
    0059047cbl runtime.gcWriteBarrier2
    00590480str x4, [x25]
    00590484ldr x5, [x3+24]
    00590488str x5, [x25+8]
    0059048cb 0x590490
    00590490
    00590490loc_590490:
    00590490str x4, [x3+24]
    00590494ldr x2, [sp+48]
    00590498adrp x0, 0x121000
    0059049cadd x0, x0, 4009
    005904a0movz x1, 9
    005904a4bl crypto/internal/fips140.PCT
    005904a8str x0, [sp+56]
    005904acstr x1, [sp+64]
    005904b0str x0, [sp+32]
    005904b4str x1, [sp+40]
    005904b8ldur x29, [sp-8]
    005904bcldr x30, [sp], 112
    005904c0ret x30
    005904c4
    005904c4loc_5904c4:
    005904c4stp x0, x1, [sp+8]
    005904c8str x2, [sp+24]
    005904ccmov x3, x30
    005904d0bl runtime.morestack_noctxt.abi0
    005904d4ldp x0, x1, [sp+8]
    005904d8ldr x2, [sp+24]
    005904dcb 0x5903b0
    005903b0
    005904e0
    005904e0crypto/internal/fips140/ecdsa.fipsPCT[go.shape.*crypto/internal/fips140/nistec.P224Point].func1: ; void crypto/internal/fips140/ecdsa.fipsPCT[go.shape.*crypto/internal/fips140/nistec.P224Point].func1(void)
    005904e0ldr x16, [x28+16]
    005904e4sub x17, sp, 192
    005904e8subs xzr, x17, x16
    005904ecb.ls 0x590688
    005904f0sub x20, sp, 320
    005904f4stp x29, x30, [x20-8]
    005904f8add sp, x20, 0
    005904fcsub x29, sp, 8
    00590500ldr x0, [x26+8]
    00590504str x0, [sp+112]
    00590508ldr x0, [x26+16]
    0059050cstr x0, [sp+168]
    00590510ldr x0, [x26+24]
    00590514str x0, [sp+176]
    00590518stp xzr, xzr, [sp+88]
    0059051cbl crypto/internal/fips140/ecdsa.testHash
    00590520str x0, [sp+120]
    00590524str x1, [sp+128]
    00590528str x2, [sp+136]
    0059052cbl crypto/internal/fips140/ecdsa.P256
    00590530str x0, [sp+216]
    00590534ldr x2, [sp+120]
    00590538ldr x3, [sp+128]
    0059053cldr x4, [sp+136]
    00590540mov x1, x0
    00590544adrp x0, 0x182000
    00590548add x0, x0, 1952
    0059054cbl crypto/internal/fips140/ecdsa.bits2octets[go.shape.*crypto/internal/fips140/nistec.P256Point]
    00590550str x0, [sp+192]
    00590554str x1, [sp+200]
    00590558str x2, [sp+208]
    0059055cldr x0, [sp+112]
    00590560ldrsb x27, [x0]
    00590564ldr x2, [x0+40]
    00590568ldr x3, [x0+48]
    0059056cldr x4, [x0+56]
    00590570str x2, [sp+272]
    00590574str x3, [sp+280]
    00590578str x4, [sp+288]
    0059057cldr x5, [sp+192]
    00590580ldr x6, [sp+200]
    00590584ldr x7, [sp+208]
    00590588adrp x0, 0x183000
    0059058cadd x0, x0, 1504
    00590590adrp x1, 0x149000
    00590594add x1, x1, 840
    00590598mov x8, xzr
    0059059cmov x9, xzr
    005905a0bl crypto/internal/fips140/ecdsa.newDRBG[go.shape.*uint8]
    005905a4str x0, [sp+160]
    005905a8str xzr, [sp+184]
    005905acstp xzr, xzr, [sp+296]
    005905b0ldr x0, [sp+176]
    005905b4ldrsb x27, [x0]
    005905b8ldr x0, [x0]
    005905bcstr x0, [sp+264]
    005905c0ldr x4, [sp+120]
    005905c4ldr x3, [sp+160]
    005905c8ldr x2, [sp+112]
    005905ccldr x1, [sp+168]
    005905d0ldr x5, [sp+128]
    005905d4ldr x6, [sp+136]
    005905d8bl crypto/internal/fips140/ecdsa.sign[go.shape.*crypto/internal/fips140/nistec.P224Point]
    005905dcstr x0, [sp+184]
    005905e0str x1, [sp+296]
    005905e4str x2, [sp+304]
    005905e8ldr x0, [sp+184]
    005905ecstr x0, [sp+240]
    005905f0ldr x0, [sp+296]
    005905f4ldr x1, [sp+304]
    005905f8str x0, [sp+224]
    005905fcstr x1, [sp+232]
    00590600ldr x0, [sp+240]
    00590604str x0, [sp+104]
    00590608ldr x1, [sp+232]
    0059060cldr x0, [sp+224]
    00590610str x0, [sp+144]
    00590614str x1, [sp+152]
    00590618cbnz x0, 0x590620
    0059061cb 0x590634
    00590620
    00590620loc_590620:
    00590620str x0, [sp+88]
    00590624str x1, [sp+96]
    00590628ldp x29, x30, [sp-8]
    0059062cadd sp, sp, 320
    00590630ret x30
    00590634
    00590634loc_590634:
    00590634ldr x7, [sp+176]
    00590638ldrsb x27, [x7]
    0059063cldr x7, [x7+8]
    00590640str x7, [sp+256]
    00590644ldr x2, [sp+112]
    00590648ldrsb x27, [x2]
    0059064cstr x2, [sp+248]
    00590650ldr x3, [sp+120]
    00590654ldr x6, [sp+104]
    00590658ldr x1, [sp+168]
    0059065cldr x4, [sp+128]
    00590660ldr x5, [sp+136]
    00590664ldr x0, [sp+256]
    00590668bl crypto/internal/fips140/ecdsa.Verify[go.shape.*crypto/internal/fips140/nistec.P224Point]
    0059066cstr x0, [sp+296]
    00590670str x1, [sp+304]
    00590674str x0, [sp+88]
    00590678str x1, [sp+96]
    0059067cldp x29, x30, [sp-8]
    00590680add sp, sp, 320
    00590684ret x30
    00590688
    00590688loc_590688:
    00590688mov x3, x30
    0059068cbl runtime.morestack.abi0
    00590690b 0x5904e0
    00590694udf 0
    00590698udf 0
    0059069cudf 0
    005904e0
    005906a0
    005906a0crypto/internal/fips140/ecdsa.Sign[go.shape.*crypto/internal/fips140/nistec.P521Point,go.shape.interface { BlockSize() int; Reset(); Size() int; Sum([]uint8) []uint8; Write([]uint8) (int, error) }]: ; void crypto/internal/fips140/ecdsa.Sign[go.shape.*crypto/internal/fips140/nistec.P521Point,go.shape.interface { BlockSize() int; Reset(); Size() int; Sum([]uint8) []uint8; Write([]uint8) (int, error) }](uintptr[5] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, int64_t h, crypto/internal/fips140/ecdsa.PrivateKey * priv, io.Reader rand, struct []uint8 hash)
    005906a0ldr x16, [x28+16]
    005906a4sub x17, sp, 256
    005906a8subs xzr, x17, x16
    005906acb.ls 0x5909e4
    005906b0sub x20, sp, 384
    005906b4stp x29, x30, [x20-8]
    005906b8add sp, x20, 0
    005906bcsub x29, sp, 8
    005906c0str x0, [sp+392]
    005906c4str x1, [sp+400]
    005906c8str x2, [sp+408]
    005906ccstr x3, [sp+416]
    005906d0str x4, [sp+424]
    005906d4str x5, [sp+432]
    005906d8str x6, [sp+440]
    005906dcstr x7, [sp+448]
    005906e0str x8, [sp+456]
    005906e4str xzr, [sp+112]
    005906e8stp xzr, xzr, [sp+96]
    005906ecldr x3, [sp+416]
    005906f0ldrsb x27, [x3]
    005906f4ldr x4, [x3]
    005906f8ldr x3, [x3+8]
    005906fcstr x4, [sp+288]
    00590700str x3, [sp+296]
    00590704ldr x3, [sp+400]
    00590708ldrsb x27, [x3]
    0059070cldr x1, [x3]
    00590710ldr x3, [x3+8]
    00590714str x1, [sp+272]
    00590718str x3, [sp+280]
    0059071cldr x4, [sp+296]
    00590720subs xzr, x4, x3
    00590724b.ne 0x59072c
    00590728b 0x590730
    0059072c
    0059072cloc_59072c:
    0059072cb 0x5909a8
    00590730
    00590730loc_590730:
    00590730ldr x2, [sp+296]
    00590734ldr x0, [sp+288]
    00590738bl runtime.memequal
    0059073ctbnz w0, 0, 0x590744
    00590740b 0x5909a4
    00590744
    00590744loc_590744:
    00590744bl crypto/internal/fips140.RecordApproved
    00590748adrp x27, 0x491000
    0059074cldr x26, [x27+328]
    00590750ldr x0, [x26]
    00590754blr x0
    00590758ldr x0, [sp+416]
    0059075cldrsb x27, [x0]
    00590760ldr x2, [x0+48]
    00590764str x2, [sp+88]
    00590768adrp x0, 0x65000
    0059076cadd x0, x0, 3072
    00590770mov x1, x2
    00590774bl runtime.makeslice
    00590778ldr x3, [sp+88]
    0059077cldr x4, [sp+88]
    00590780str x0, [sp+144]
    00590784str x3, [sp+152]
    00590788str x4, [sp+160]
    0059078cldr x1, [sp+424]
    00590790ldr x2, [sp+432]
    00590794mov x5, x0
    00590798mov x0, x1
    0059079cmov x1, x2
    005907a0mov x2, x5
    005907a4bl crypto/internal/fips140/drbg.ReadWithReader
    005907a8str x0, [sp+120]
    005907acstr x1, [sp+128]
    005907b0cbnz x0, 0x5907b8
    005907b4b 0x5907dc
    005907b8
    005907b8loc_5907b8:
    005907b8str xzr, [sp+112]
    005907bcldr x1, [sp+120]
    005907c0ldr x2, [sp+128]
    005907c4str x1, [sp+96]
    005907c8str x2, [sp+104]
    005907ccldr x0, [sp+112]
    005907d0ldp x29, x30, [sp-8]
    005907d4add sp, sp, 384
    005907d8ret x30
    005907dc
    005907dcloc_5907dc:
    005907dcldr x5, [sp+392]
    005907e0ldrsb x27, [x5]
    005907e4ldr x0, [x5+8]
    005907e8str x0, [sp+264]
    005907ecldr x2, [sp+440]
    005907f0ldr x1, [sp+400]
    005907f4ldr x3, [sp+448]
    005907f8ldr x4, [sp+456]
    005907fcbl crypto/internal/fips140/ecdsa.bits2octets[go.shape.*crypto/internal/fips140/nistec.P521Point]
    00590800str x0, [sp+312]
    00590804str x1, [sp+320]
    00590808str x2, [sp+328]
    0059080cadrp x0, 0x75000
    00590810add x0, x0, 4000
    00590814bl runtime.newobject
    00590818str x0, [sp+232]
    0059081cldr x5, [sp+416]
    00590820ldrsb x27, [x5]
    00590824ldr x6, [x5+40]
    00590828ldr x7, [x5+48]
    0059082cldr x5, [x5+56]
    00590830str x7, [x0+8]
    00590834str x5, [x0+16]
    00590838adrp x27, 0x4bb000
    0059083cldr w5, [x27+3056]
    00590840cbz w5, 0x590848
    00590844b 0x59084c
    00590848
    00590848loc_590848:
    00590848b 0x590860
    0059084c
    0059084cloc_59084c:
    0059084cbl runtime.gcWriteBarrier2
    00590850str x6, [x25]
    00590854ldr x10, [x0]
    00590858str x10, [x25+8]
    0059085cb 0x590860
    00590860
    00590860loc_590860:
    00590860str x6, [x0]
    00590864ldr x10, [sp+312]
    00590868ldr x11, [sp+320]
    0059086cldr x12, [sp+328]
    00590870ldr x13, [sp+232]
    00590874ldrsb x27, [x13]
    00590878str x11, [x13+32]
    0059087cstr x12, [x13+40]
    00590880adrp x27, 0x4bb000
    00590884ldr w11, [x27+3056]
    00590888cbz w11, 0x590890
    0059088cb 0x590894
    00590890
    00590890loc_590890:
    00590890b 0x5908a8
    00590894
    00590894loc_590894:
    00590894bl runtime.gcWriteBarrier2
    00590898str x10, [x25]
    0059089cldr x11, [x13+24]
    005908a0str x11, [x25+8]
    005908a4b 0x5908a8
    005908a8
    005908a8loc_5908a8:
    005908a8str x10, [x13+24]
    005908acldr x10, [sp+232]
    005908b0ldrsb x27, [x10]
    005908b4b 0x5908b8
    005908b8
    005908b8loc_5908b8:
    005908b8str x10, [sp+208]
    005908bcorr x11, xzr, 2
    005908c0str x11, [sp+216]
    005908c4str x11, [sp+224]
    005908c8str x10, [sp+240]
    005908ccstr x11, [sp+248]
    005908d0str x11, [sp+256]
    005908d4ldr x10, [sp+240]
    005908d8str x10, [sp+184]
    005908dcstr x11, [sp+192]
    005908e0str x11, [sp+200]
    005908e4ldr x10, [sp+392]
    005908e8ldrsb x27, [x10]
    005908ecldr x0, [x10]
    005908f0str x0, [sp+176]
    005908f4ldr x2, [sp+144]
    005908f8ldr x1, [sp+408]
    005908fcldr x3, [sp+152]
    00590900ldr x4, [sp+160]
    00590904mov x5, xzr
    00590908mov x6, xzr
    0059090cmov x7, x6
    00590910adrp x8, 0x186000
    00590914add x8, x8, 800
    00590918add x9, sp, 184
    0059091cbl crypto/internal/fips140/ecdsa.newDRBG[go.shape.interface { BlockSize() int; Reset(); Size() int; Sum([]uint8) []uint8; Write([]uint8) (int, error) }]
    00590920str x0, [sp+136]
    00590924str xzr, [sp+304]
    00590928stp xzr, xzr, [sp+336]
    0059092cldr x10, [sp+392]
    00590930ldrsb x27, [x10]
    00590934ldr x0, [x10+16]
    00590938str x0, [sp+168]
    0059093cldr x4, [sp+440]
    00590940ldr x3, [sp+136]
    00590944ldr x2, [sp+416]
    00590948ldr x1, [sp+400]
    0059094cldr x5, [sp+448]
    00590950ldr x6, [sp+456]
    00590954bl crypto/internal/fips140/ecdsa.sign[go.shape.*crypto/internal/fips140/nistec.P521Point]
    00590958str x0, [sp+304]
    0059095cstr x1, [sp+336]
    00590960str x2, [sp+344]
    00590964ldr x10, [sp+304]
    00590968str x10, [sp+368]
    0059096cldr x10, [sp+336]
    00590970ldr x11, [sp+344]
    00590974str x10, [sp+352]
    00590978str x11, [sp+360]
    0059097cldr x10, [sp+368]
    00590980str x10, [sp+112]
    00590984ldr x1, [sp+352]
    00590988ldr x2, [sp+360]
    0059098cstr x1, [sp+96]
    00590990str x2, [sp+104]
    00590994ldr x0, [sp+112]
    00590998ldp x29, x30, [sp-8]
    0059099cadd sp, sp, 384
    005909a0ret x30
    005909a4
    005909a4loc_5909a4:
    005909a4b 0x5909a8
    005909a8
    005909a8loc_5909a8:
    005909a8adrp x0, 0x133000
    005909acadd x0, x0, 3211
    005909b0movz x1, 39
    005909b4bl errors.New
    005909b8str x0, [sp+336]
    005909bcstr x1, [sp+344]
    005909c0str xzr, [sp+112]
    005909c4ldr x1, [sp+336]
    005909c8ldr x2, [sp+344]
    005909ccstr x1, [sp+96]
    005909d0str x2, [sp+104]
    005909d4ldr x0, [sp+112]
    005909d8ldp x29, x30, [sp-8]
    005909dcadd sp, sp, 384
    005909e0ret x30
    005909e4
    005909e4loc_5909e4:
    005909e4stp x0, x1, [sp+8]
    005909e8stp x2, x3, [sp+24]
    005909ecstp x4, x5, [sp+40]
    005909f0stp x6, x7, [sp+56]
    005909f4str x8, [sp+72]
    005909f8mov x3, x30
    005909fcbl runtime.morestack_noctxt.abi0
    00590a00ldp x0, x1, [sp+8]
    00590a04ldp x2, x3, [sp+24]
    00590a08ldp x4, x5, [sp+40]
    00590a0cldp x6, x7, [sp+56]
    00590a10ldr x8, [sp+72]
    00590a14b 0x5906a0
    00590a18udf 0
    00590a1cudf 0
    005906a0
    00590a20
    00590a20crypto/internal/fips140/ecdsa.Sign[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.Sign[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, io.Reader rand, struct []uint8 hash)
    00590a20ldr x16, [x28+16]
    00590a24sub x17, sp, 256
    00590a28subs xzr, x17, x16
    00590a2cb.ls 0x590d64
    00590a30sub x20, sp, 384
    00590a34stp x29, x30, [x20-8]
    00590a38add sp, x20, 0
    00590a3csub x29, sp, 8
    00590a40str x0, [sp+392]
    00590a44str x1, [sp+400]
    00590a48str x2, [sp+408]
    00590a4cstr x3, [sp+416]
    00590a50str x4, [sp+424]
    00590a54str x5, [sp+432]
    00590a58str x6, [sp+440]
    00590a5cstr x7, [sp+448]
    00590a60str x8, [sp+456]
    00590a64str xzr, [sp+112]
    00590a68stp xzr, xzr, [sp+96]
    00590a6cldr x3, [sp+416]
    00590a70ldrsb x27, [x3]
    00590a74ldr x4, [x3]
    00590a78ldr x3, [x3+8]
    00590a7cstr x4, [sp+288]
    00590a80str x3, [sp+296]
    00590a84ldr x3, [sp+400]
    00590a88ldrsb x27, [x3]
    00590a8cldr x1, [x3]
    00590a90ldr x3, [x3+8]
    00590a94str x1, [sp+272]
    00590a98str x3, [sp+280]
    00590a9cldr x4, [sp+296]
    00590aa0subs xzr, x4, x3
    00590aa4b.ne 0x590aac
    00590aa8b 0x590ab0
    00590aac
    00590aacloc_590aac:
    00590aacb 0x590d28
    00590ab0
    00590ab0loc_590ab0:
    00590ab0ldr x2, [sp+296]
    00590ab4ldr x0, [sp+288]
    00590ab8bl runtime.memequal
    00590abctbnz w0, 0, 0x590ac4
    00590ac0b 0x590d24
    00590ac4
    00590ac4loc_590ac4:
    00590ac4bl crypto/internal/fips140.RecordApproved
    00590ac8adrp x27, 0x491000
    00590accldr x26, [x27+328]
    00590ad0ldr x0, [x26]
    00590ad4blr x0
    00590ad8ldr x0, [sp+416]
    00590adcldrsb x27, [x0]
    00590ae0ldr x2, [x0+48]
    00590ae4str x2, [sp+88]
    00590ae8adrp x0, 0x65000
    00590aecadd x0, x0, 3072
    00590af0mov x1, x2
    00590af4bl runtime.makeslice
    00590af8ldr x3, [sp+88]
    00590afcldr x4, [sp+88]
    00590b00str x0, [sp+144]
    00590b04str x3, [sp+152]
    00590b08str x4, [sp+160]
    00590b0cldr x1, [sp+424]
    00590b10ldr x2, [sp+432]
    00590b14mov x5, x0
    00590b18mov x0, x1
    00590b1cmov x1, x2
    00590b20mov x2, x5
    00590b24bl crypto/internal/fips140/drbg.ReadWithReader
    00590b28str x0, [sp+120]
    00590b2cstr x1, [sp+128]
    00590b30cbnz x0, 0x590b38
    00590b34b 0x590b5c
    00590b38
    00590b38loc_590b38:
    00590b38str xzr, [sp+112]
    00590b3cldr x1, [sp+120]
    00590b40ldr x2, [sp+128]
    00590b44str x1, [sp+96]
    00590b48str x2, [sp+104]
    00590b4cldr x0, [sp+112]
    00590b50ldp x29, x30, [sp-8]
    00590b54add sp, sp, 384
    00590b58ret x30
    00590b5c
    00590b5cloc_590b5c:
    00590b5cldr x5, [sp+392]
    00590b60ldrsb x27, [x5]
    00590b64ldr x0, [x5+8]
    00590b68str x0, [sp+264]
    00590b6cldr x2, [sp+440]
    00590b70ldr x1, [sp+400]
    00590b74ldr x3, [sp+448]
    00590b78ldr x4, [sp+456]
    00590b7cbl crypto/internal/fips140/ecdsa.bits2octets[go.shape.*crypto/internal/fips140/nistec.P384Point]
    00590b80str x0, [sp+312]
    00590b84str x1, [sp+320]
    00590b88str x2, [sp+328]
    00590b8cadrp x0, 0x75000
    00590b90add x0, x0, 4000
    00590b94bl runtime.newobject
    00590b98str x0, [sp+232]
    00590b9cldr x5, [sp+416]
    00590ba0ldrsb x27, [x5]
    00590ba4ldr x6, [x5+40]
    00590ba8ldr x7, [x5+48]
    00590bacldr x5, [x5+56]
    00590bb0str x7, [x0+8]
    00590bb4str x5, [x0+16]
    00590bb8adrp x27, 0x4bb000
    00590bbcldr w5, [x27+3056]
    00590bc0cbz w5, 0x590bc8
    00590bc4b 0x590bcc
    00590bc8
    00590bc8loc_590bc8:
    00590bc8b 0x590be0
    00590bcc
    00590bccloc_590bcc:
    00590bccbl runtime.gcWriteBarrier2
    00590bd0str x6, [x25]
    00590bd4ldr x10, [x0]
    00590bd8str x10, [x25+8]
    00590bdcb 0x590be0
    00590be0
    00590be0loc_590be0:
    00590be0str x6, [x0]
    00590be4ldr x10, [sp+312]
    00590be8ldr x11, [sp+320]
    00590becldr x12, [sp+328]
    00590bf0ldr x13, [sp+232]
    00590bf4ldrsb x27, [x13]
    00590bf8str x11, [x13+32]
    00590bfcstr x12, [x13+40]
    00590c00adrp x27, 0x4bb000
    00590c04ldr w11, [x27+3056]
    00590c08cbz w11, 0x590c10
    00590c0cb 0x590c14
    00590c10
    00590c10loc_590c10:
    00590c10b 0x590c28
    00590c14
    00590c14loc_590c14:
    00590c14bl runtime.gcWriteBarrier2
    00590c18str x10, [x25]
    00590c1cldr x11, [x13+24]
    00590c20str x11, [x25+8]
    00590c24b 0x590c28
    00590c28
    00590c28loc_590c28:
    00590c28str x10, [x13+24]
    00590c2cldr x10, [sp+232]
    00590c30ldrsb x27, [x10]
    00590c34b 0x590c38
    00590c38
    00590c38loc_590c38:
    00590c38str x10, [sp+208]
    00590c3corr x11, xzr, 2
    00590c40str x11, [sp+216]
    00590c44str x11, [sp+224]
    00590c48str x10, [sp+240]
    00590c4cstr x11, [sp+248]
    00590c50str x11, [sp+256]
    00590c54ldr x10, [sp+240]
    00590c58str x10, [sp+184]
    00590c5cstr x11, [sp+192]
    00590c60str x11, [sp+200]
    00590c64ldr x10, [sp+392]
    00590c68ldrsb x27, [x10]
    00590c6cldr x0, [x10]
    00590c70str x0, [sp+176]
    00590c74ldr x2, [sp+144]
    00590c78ldr x1, [sp+408]
    00590c7cldr x3, [sp+152]
    00590c80ldr x4, [sp+160]
    00590c84mov x5, xzr
    00590c88mov x6, xzr
    00590c8cmov x7, x6
    00590c90adrp x8, 0x186000
    00590c94add x8, x8, 800
    00590c98add x9, sp, 184
    00590c9cbl crypto/internal/fips140/ecdsa.newDRBG[go.shape.interface { BlockSize() int; Reset(); Size() int; Sum([]uint8) []uint8; Write([]uint8) (int, error) }]
    00590ca0str x0, [sp+136]
    00590ca4str xzr, [sp+304]
    00590ca8stp xzr, xzr, [sp+336]
    00590cacldr x10, [sp+392]
    00590cb0ldrsb x27, [x10]
    00590cb4ldr x0, [x10+16]
    00590cb8str x0, [sp+168]
    00590cbcldr x4, [sp+440]
    00590cc0ldr x3, [sp+136]
    00590cc4ldr x2, [sp+416]
    00590cc8ldr x1, [sp+400]
    00590cccldr x5, [sp+448]
    00590cd0ldr x6, [sp+456]
    00590cd4bl crypto/internal/fips140/ecdsa.sign[go.shape.*crypto/internal/fips140/nistec.P384Point]
    00590cd8str x0, [sp+304]
    00590cdcstr x1, [sp+336]
    00590ce0str x2, [sp+344]
    00590ce4ldr x10, [sp+304]
    00590ce8str x10, [sp+368]
    00590cecldr x10, [sp+336]
    00590cf0ldr x11, [sp+344]
    00590cf4str x10, [sp+352]
    00590cf8str x11, [sp+360]
    00590cfcldr x10, [sp+368]
    00590d00str x10, [sp+112]
    00590d04ldr x1, [sp+352]
    00590d08ldr x2, [sp+360]
    00590d0cstr x1, [sp+96]
    00590d10str x2, [sp+104]
    00590d14ldr x0, [sp+112]
    00590d18ldp x29, x30, [sp-8]
    00590d1cadd sp, sp, 384
    00590d20ret x30
    00590d24
    00590d24loc_590d24:
    00590d24b 0x590d28
    00590d28
    00590d28loc_590d28:
    00590d28adrp x0, 0x133000
    00590d2cadd x0, x0, 3211
    00590d30movz x1, 39
    00590d34bl errors.New
    00590d38str x0, [sp+336]
    00590d3cstr x1, [sp+344]
    00590d40str xzr, [sp+112]
    00590d44ldr x1, [sp+336]
    00590d48ldr x2, [sp+344]
    00590d4cstr x1, [sp+96]
    00590d50str x2, [sp+104]
    00590d54ldr x0, [sp+112]
    00590d58ldp x29, x30, [sp-8]
    00590d5cadd sp, sp, 384
    00590d60ret x30
    00590d64
    00590d64loc_590d64:
    00590d64stp x0, x1, [sp+8]
    00590d68stp x2, x3, [sp+24]
    00590d6cstp x4, x5, [sp+40]
    00590d70stp x6, x7, [sp+56]
    00590d74str x8, [sp+72]
    00590d78mov x3, x30
    00590d7cbl runtime.morestack_noctxt.abi0
    00590d80ldp x0, x1, [sp+8]
    00590d84ldp x2, x3, [sp+24]
    00590d88ldp x4, x5, [sp+40]
    00590d8cldp x6, x7, [sp+56]
    00590d90ldr x8, [sp+72]
    00590d94b 0x590a20
    00590d98udf 0
    00590d9cudf 0
    00590a20
    00590da0
    00590da0crypto/internal/fips140/ecdsa.Sign[go.shape.*crypto/internal/fips140/nistec.P256Point,go.shape.interface { BlockSize() int; Reset(); Size() int; Sum([]uint8) []uint8; Write([]uint8) (int, error) }]: ; void crypto/internal/fips140/ecdsa.Sign[go.shape.*crypto/internal/fips140/nistec.P256Point,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.P256Point] * c, int64_t h, crypto/internal/fips140/ecdsa.PrivateKey * priv, io.Reader rand, struct []uint8 hash)
    00590da0ldr x16, [x28+16]
    00590da4sub x17, sp, 256
    00590da8subs xzr, x17, x16
    00590dacb.ls 0x5910e4
    00590db0sub x20, sp, 384
    00590db4stp x29, x30, [x20-8]
    00590db8add sp, x20, 0
    00590dbcsub x29, sp, 8
    00590dc0str x0, [sp+392]
    00590dc4str x1, [sp+400]
    00590dc8str x2, [sp+408]
    00590dccstr x3, [sp+416]
    00590dd0str x4, [sp+424]
    00590dd4str x5, [sp+432]
    00590dd8str x6, [sp+440]
    00590ddcstr x7, [sp+448]
    00590de0str x8, [sp+456]
    00590de4str xzr, [sp+112]
    00590de8stp xzr, xzr, [sp+96]
    00590decldr x3, [sp+416]
    00590df0ldrsb x27, [x3]
    00590df4ldr x4, [x3]
    00590df8ldr x3, [x3+8]
    00590dfcstr x4, [sp+288]
    00590e00str x3, [sp+296]
    00590e04ldr x3, [sp+400]
    00590e08ldrsb x27, [x3]
    00590e0cldr x1, [x3]
    00590e10ldr x3, [x3+8]
    00590e14str x1, [sp+272]
    00590e18str x3, [sp+280]
    00590e1cldr x4, [sp+296]
    00590e20subs xzr, x4, x3
    00590e24b.ne 0x590e2c
    00590e28b 0x590e30
    00590e2c
    00590e2cloc_590e2c:
    00590e2cb 0x5910a8
    00590e30
    00590e30loc_590e30:
    00590e30ldr x2, [sp+296]
    00590e34ldr x0, [sp+288]
    00590e38bl runtime.memequal
    00590e3ctbnz w0, 0, 0x590e44
    00590e40b 0x5910a4
    00590e44
    00590e44loc_590e44:
    00590e44bl crypto/internal/fips140.RecordApproved
    00590e48adrp x27, 0x491000
    00590e4cldr x26, [x27+328]
    00590e50ldr x0, [x26]
    00590e54blr x0
    00590e58ldr x0, [sp+416]
    00590e5cldrsb x27, [x0]
    00590e60ldr x2, [x0+48]
    00590e64str x2, [sp+88]
    00590e68adrp x0, 0x65000
    00590e6cadd x0, x0, 3072
    00590e70mov x1, x2
    00590e74bl runtime.makeslice
    00590e78ldr x3, [sp+88]
    00590e7cldr x4, [sp+88]
    00590e80str x0, [sp+144]
    00590e84str x3, [sp+152]
    00590e88str x4, [sp+160]
    00590e8cldr x1, [sp+424]
    00590e90ldr x2, [sp+432]
    00590e94mov x5, x0
    00590e98mov x0, x1
    00590e9cmov x1, x2
    00590ea0mov x2, x5
    00590ea4bl crypto/internal/fips140/drbg.ReadWithReader
    00590ea8str x0, [sp+120]
    00590eacstr x1, [sp+128]
    00590eb0cbnz x0, 0x590eb8
    00590eb4b 0x590edc
    00590eb8
    00590eb8loc_590eb8:
    00590eb8str xzr, [sp+112]
    00590ebcldr x1, [sp+120]
    00590ec0ldr x2, [sp+128]
    00590ec4str x1, [sp+96]
    00590ec8str x2, [sp+104]
    00590eccldr x0, [sp+112]
    00590ed0ldp x29, x30, [sp-8]
    00590ed4add sp, sp, 384
    00590ed8ret x30
    00590edc
    00590edcloc_590edc:
    00590edcldr x5, [sp+392]
    00590ee0ldrsb x27, [x5]
    00590ee4ldr x0, [x5+8]
    00590ee8str x0, [sp+264]
    00590eecldr x2, [sp+440]
    00590ef0ldr x1, [sp+400]
    00590ef4ldr x3, [sp+448]
    00590ef8ldr x4, [sp+456]
    00590efcbl crypto/internal/fips140/ecdsa.bits2octets[go.shape.*crypto/internal/fips140/nistec.P256Point]
    00590f00str x0, [sp+312]
    00590f04str x1, [sp+320]
    00590f08str x2, [sp+328]
    00590f0cadrp x0, 0x75000
    00590f10add x0, x0, 4000
    00590f14bl runtime.newobject
    00590f18str x0, [sp+232]
    00590f1cldr x5, [sp+416]
    00590f20ldrsb x27, [x5]
    00590f24ldr x6, [x5+40]
    00590f28ldr x7, [x5+48]
    00590f2cldr x5, [x5+56]
    00590f30str x7, [x0+8]
    00590f34str x5, [x0+16]
    00590f38adrp x27, 0x4bb000
    00590f3cldr w5, [x27+3056]
    00590f40cbz w5, 0x590f48
    00590f44b 0x590f4c
    00590f48
    00590f48loc_590f48:
    00590f48b 0x590f60
    00590f4c
    00590f4cloc_590f4c:
    00590f4cbl runtime.gcWriteBarrier2
    00590f50str x6, [x25]
    00590f54ldr x10, [x0]
    00590f58str x10, [x25+8]
    00590f5cb 0x590f60
    00590f60
    00590f60loc_590f60:
    00590f60str x6, [x0]
    00590f64ldr x10, [sp+312]
    00590f68ldr x11, [sp+320]
    00590f6cldr x12, [sp+328]
    00590f70ldr x13, [sp+232]
    00590f74ldrsb x27, [x13]
    00590f78str x11, [x13+32]
    00590f7cstr x12, [x13+40]
    00590f80adrp x27, 0x4bb000
    00590f84ldr w11, [x27+3056]
    00590f88cbz w11, 0x590f90
    00590f8cb 0x590f94
    00590f90
    00590f90loc_590f90:
    00590f90b 0x590fa8
    00590f94
    00590f94loc_590f94:
    00590f94bl runtime.gcWriteBarrier2
    00590f98str x10, [x25]
    00590f9cldr x11, [x13+24]
    00590fa0str x11, [x25+8]
    00590fa4b 0x590fa8
    00590fa8
    00590fa8loc_590fa8:
    00590fa8str x10, [x13+24]
    00590facldr x10, [sp+232]
    00590fb0ldrsb x27, [x10]
    00590fb4b 0x590fb8
    00590fb8
    00590fb8loc_590fb8:
    00590fb8str x10, [sp+208]
    00590fbcorr x11, xzr, 2
    00590fc0str x11, [sp+216]
    00590fc4str x11, [sp+224]
    00590fc8str x10, [sp+240]
    00590fccstr x11, [sp+248]
    00590fd0str x11, [sp+256]
    00590fd4ldr x10, [sp+240]
    00590fd8str x10, [sp+184]
    00590fdcstr x11, [sp+192]
    00590fe0str x11, [sp+200]
    00590fe4ldr x10, [sp+392]
    00590fe8ldrsb x27, [x10]
    00590fecldr x0, [x10]
    00590ff0str x0, [sp+176]
    00590ff4ldr x2, [sp+144]
    00590ff8ldr x1, [sp+408]
    00590ffcldr x3, [sp+152]
    00591000ldr x4, [sp+160]
    00591004mov x5, xzr
    00591008mov x6, xzr
    0059100cmov x7, x6
    00591010adrp x8, 0x185000
    00591014add x8, x8, 800
    00591018add x9, sp, 184
    0059101cbl crypto/internal/fips140/ecdsa.newDRBG[go.shape.interface { BlockSize() int; Reset(); Size() int; Sum([]uint8) []uint8; Write([]uint8) (int, error) }]
    00591020str x0, [sp+136]
    00591024str xzr, [sp+304]
    00591028stp xzr, xzr, [sp+336]
    0059102cldr x10, [sp+392]
    00591030ldrsb x27, [x10]
    00591034ldr x0, [x10+16]
    00591038str x0, [sp+168]
    0059103cldr x4, [sp+440]
    00591040ldr x3, [sp+136]
    00591044ldr x2, [sp+416]
    00591048ldr x1, [sp+400]
    0059104cldr x5, [sp+448]
    00591050ldr x6, [sp+456]
    00591054bl crypto/internal/fips140/ecdsa.sign[go.shape.*crypto/internal/fips140/nistec.P256Point]
    00591058str x0, [sp+304]
    0059105cstr x1, [sp+336]
    00591060str x2, [sp+344]
    00591064ldr x10, [sp+304]
    00591068str x10, [sp+368]
    0059106cldr x10, [sp+336]
    00591070ldr x11, [sp+344]
    00591074str x10, [sp+352]
    00591078str x11, [sp+360]
    0059107cldr x10, [sp+368]
    00591080str x10, [sp+112]
    00591084ldr x1, [sp+352]
    00591088ldr x2, [sp+360]
    0059108cstr x1, [sp+96]
    00591090str x2, [sp+104]
    00591094ldr x0, [sp+112]
    00591098ldp x29, x30, [sp-8]
    0059109cadd sp, sp, 384
    005910a0ret x30
    005910a4
    005910a4loc_5910a4:
    005910a4b 0x5910a8
    005910a8
    005910a8loc_5910a8:
    005910a8adrp x0, 0x132000
    005910acadd x0, x0, 3211
    005910b0movz x1, 39
    005910b4bl errors.New
    005910b8str x0, [sp+336]
    005910bcstr x1, [sp+344]
    005910c0str xzr, [sp+112]
    005910c4ldr x1, [sp+336]
    005910c8ldr x2, [sp+344]
    005910ccstr x1, [sp+96]
    005910d0str x2, [sp+104]
    005910d4ldr x0, [sp+112]
    005910d8ldp x29, x30, [sp-8]
    005910dcadd sp, sp, 384
    005910e0ret x30
    005910e4
    005910e4loc_5910e4:
    005910e4stp x0, x1, [sp+8]
    005910e8stp x2, x3, [sp+24]
    005910ecstp x4, x5, [sp+40]
    005910f0stp x6, x7, [sp+56]
    005910f4str x8, [sp+72]
    005910f8mov x3, x30
    005910fcbl runtime.morestack_noctxt.abi0
    00591100ldp x0, x1, [sp+8]
    00591104ldp x2, x3, [sp+24]
    00591108ldp x4, x5, [sp+40]
    0059110cldp x6, x7, [sp+56]
    00591110ldr x8, [sp+72]
    00591114b 0x590da0
    00591118udf 0
    0059111cudf 0
    00590da0
    00591120
    00591120crypto/internal/fips140/ecdsa.Sign[go.shape.*crypto/internal/fips140/nistec.P224Point,go.shape.interface { BlockSize() int; Reset(); Size() int; Sum([]uint8) []uint8; Write([]uint8) (int, error) }]: ; void crypto/internal/fips140/ecdsa.Sign[go.shape.*crypto/internal/fips140/nistec.P224Point,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.P224Point] * c, int64_t h, crypto/internal/fips140/ecdsa.PrivateKey * priv, io.Reader rand, struct []uint8 hash)
    00591120ldr x16, [x28+16]
    00591124sub x17, sp, 256
    00591128subs xzr, x17, x16
    0059112cb.ls 0x591464
    00591130sub x20, sp, 384
    00591134stp x29, x30, [x20-8]
    00591138add sp, x20, 0
    0059113csub x29, sp, 8
    00591140str x0, [sp+392]
    00591144str x1, [sp+400]
    00591148str x2, [sp+408]
    0059114cstr x3, [sp+416]
    00591150str x4, [sp+424]
    00591154str x5, [sp+432]
    00591158str x6, [sp+440]
    0059115cstr x7, [sp+448]
    00591160str x8, [sp+456]
    00591164str xzr, [sp+112]
    00591168stp xzr, xzr, [sp+96]
    0059116cldr x3, [sp+416]
    00591170ldrsb x27, [x3]
    00591174ldr x4, [x3]
    00591178ldr x3, [x3+8]
    0059117cstr x4, [sp+288]
    00591180str x3, [sp+296]
    00591184ldr x3, [sp+400]
    00591188ldrsb x27, [x3]
    0059118cldr x1, [x3]
    00591190ldr x3, [x3+8]
    00591194str x1, [sp+272]
    00591198str x3, [sp+280]
    0059119cldr x4, [sp+296]
    005911a0subs xzr, x4, x3
    005911a4b.ne 0x5911ac
    005911a8b 0x5911b0
    005911ac
    005911acloc_5911ac:
    005911acb 0x591428
    005911b0
    005911b0loc_5911b0:
    005911b0ldr x2, [sp+296]
    005911b4ldr x0, [sp+288]
    005911b8bl runtime.memequal
    005911bctbnz w0, 0, 0x5911c4
    005911c0b 0x591424
    005911c4
    005911c4loc_5911c4:
    005911c4bl crypto/internal/fips140.RecordApproved
    005911c8adrp x27, 0x490000
    005911ccldr x26, [x27+328]
    005911d0ldr x0, [x26]
    005911d4blr x0
    005911d8ldr x0, [sp+416]
    005911dcldrsb x27, [x0]
    005911e0ldr x2, [x0+48]
    005911e4str x2, [sp+88]
    005911e8adrp x0, 0x64000
    005911ecadd x0, x0, 3072
    005911f0mov x1, x2
    005911f4bl runtime.makeslice
    005911f8ldr x3, [sp+88]
    005911fcldr x4, [sp+88]
    00591200str x0, [sp+144]
    00591204str x3, [sp+152]
    00591208str x4, [sp+160]
    0059120cldr x1, [sp+424]
    00591210ldr x2, [sp+432]
    00591214mov x5, x0
    00591218mov x0, x1
    0059121cmov x1, x2
    00591220mov x2, x5
    00591224bl crypto/internal/fips140/drbg.ReadWithReader
    00591228str x0, [sp+120]
    0059122cstr x1, [sp+128]
    00591230cbnz x0, 0x591238
    00591234b 0x59125c
    00591238
    00591238loc_591238:
    00591238str xzr, [sp+112]
    0059123cldr x1, [sp+120]
    00591240ldr x2, [sp+128]
    00591244str x1, [sp+96]
    00591248str x2, [sp+104]
    0059124cldr x0, [sp+112]
    00591250ldp x29, x30, [sp-8]
    00591254add sp, sp, 384
    00591258ret x30
    0059125c
    0059125cloc_59125c:
    0059125cldr x5, [sp+392]
    00591260ldrsb x27, [x5]
    00591264ldr x0, [x5+8]
    00591268str x0, [sp+264]
    0059126cldr x2, [sp+440]
    00591270ldr x1, [sp+400]
    00591274ldr x3, [sp+448]
    00591278ldr x4, [sp+456]
    0059127cbl crypto/internal/fips140/ecdsa.bits2octets[go.shape.*crypto/internal/fips140/nistec.P224Point]
    00591280str x0, [sp+312]
    00591284str x1, [sp+320]
    00591288str x2, [sp+328]
    0059128cadrp x0, 0x74000
    00591290add x0, x0, 4000
    00591294bl runtime.newobject
    00591298str x0, [sp+232]
    0059129cldr x5, [sp+416]
    005912a0ldrsb x27, [x5]
    005912a4ldr x6, [x5+40]
    005912a8ldr x7, [x5+48]
    005912acldr x5, [x5+56]
    005912b0str x7, [x0+8]
    005912b4str x5, [x0+16]
    005912b8adrp x27, 0x4ba000
    005912bcldr w5, [x27+3056]
    005912c0cbz w5, 0x5912c8
    005912c4b 0x5912cc
    005912c8
    005912c8loc_5912c8:
    005912c8b 0x5912e0
    005912cc
    005912ccloc_5912cc:
    005912ccbl runtime.gcWriteBarrier2
    005912d0str x6, [x25]
    005912d4ldr x10, [x0]
    005912d8str x10, [x25+8]
    005912dcb 0x5912e0
    005912e0
    005912e0loc_5912e0:
    005912e0str x6, [x0]
    005912e4ldr x10, [sp+312]
    005912e8ldr x11, [sp+320]
    005912ecldr x12, [sp+328]
    005912f0ldr x13, [sp+232]
    005912f4ldrsb x27, [x13]
    005912f8str x11, [x13+32]
    005912fcstr x12, [x13+40]
    00591300adrp x27, 0x4ba000
    00591304ldr w11, [x27+3056]
    00591308cbz w11, 0x591310
    0059130cb 0x591314
    00591310
    00591310loc_591310:
    00591310b 0x591328
    00591314
    00591314loc_591314:
    00591314bl runtime.gcWriteBarrier2
    00591318str x10, [x25]
    0059131cldr x11, [x13+24]
    00591320str x11, [x25+8]
    00591324b 0x591328
    00591328
    00591328loc_591328:
    00591328str x10, [x13+24]
    0059132cldr x10, [sp+232]
    00591330ldrsb x27, [x10]
    00591334b 0x591338
    00591338
    00591338loc_591338:
    00591338str x10, [sp+208]
    0059133corr x11, xzr, 2
    00591340str x11, [sp+216]
    00591344str x11, [sp+224]
    00591348str x10, [sp+240]
    0059134cstr x11, [sp+248]
    00591350str x11, [sp+256]
    00591354ldr x10, [sp+240]
    00591358str x10, [sp+184]
    0059135cstr x11, [sp+192]
    00591360str x11, [sp+200]
    00591364ldr x10, [sp+392]
    00591368ldrsb x27, [x10]
    0059136cldr x0, [x10]
    00591370str x0, [sp+176]
    00591374ldr x2, [sp+144]
    00591378ldr x1, [sp+408]
    0059137cldr x3, [sp+152]
    00591380ldr x4, [sp+160]
    00591384mov x5, xzr
    00591388mov x6, xzr
    0059138cmov x7, x6
    00591390adrp x8, 0x185000
    00591394add x8, x8, 800
    00591398add x9, sp, 184
    0059139cbl crypto/internal/fips140/ecdsa.newDRBG[go.shape.interface { BlockSize() int; Reset(); Size() int; Sum([]uint8) []uint8; Write([]uint8) (int, error) }]
    005913a0str x0, [sp+136]
    005913a4str xzr, [sp+304]
    005913a8stp xzr, xzr, [sp+336]
    005913acldr x10, [sp+392]
    005913b0ldrsb x27, [x10]
    005913b4ldr x0, [x10+16]
    005913b8str x0, [sp+168]
    005913bcldr x4, [sp+440]
    005913c0ldr x3, [sp+136]
    005913c4ldr x2, [sp+416]
    005913c8ldr x1, [sp+400]
    005913ccldr x5, [sp+448]
    005913d0ldr x6, [sp+456]
    005913d4bl crypto/internal/fips140/ecdsa.sign[go.shape.*crypto/internal/fips140/nistec.P224Point]
    005913d8str x0, [sp+304]
    005913dcstr x1, [sp+336]
    005913e0str x2, [sp+344]
    005913e4ldr x10, [sp+304]
    005913e8str x10, [sp+368]
    005913ecldr x10, [sp+336]
    005913f0ldr x11, [sp+344]
    005913f4str x10, [sp+352]
    005913f8str x11, [sp+360]
    005913fcldr x10, [sp+368]
    00591400str x10, [sp+112]
    00591404ldr x1, [sp+352]
    00591408ldr x2, [sp+360]
    0059140cstr x1, [sp+96]
    00591410str x2, [sp+104]
    00591414ldr x0, [sp+112]
    00591418ldp x29, x30, [sp-8]
    0059141cadd sp, sp, 384
    00591420ret x30
    00591424
    00591424loc_591424:
    00591424b 0x591428
    00591428
    00591428loc_591428:
    00591428adrp x0, 0x132000
    0059142cadd x0, x0, 3211
    00591430movz x1, 39
    00591434bl errors.New
    00591438str x0, [sp+336]
    0059143cstr x1, [sp+344]
    00591440str xzr, [sp+112]
    00591444ldr x1, [sp+336]
    00591448ldr x2, [sp+344]
    0059144cstr x1, [sp+96]
    00591450str x2, [sp+104]
    00591454ldr x0, [sp+112]
    00591458ldp x29, x30, [sp-8]
    0059145cadd sp, sp, 384
    00591460ret x30
    00591464
    00591464loc_591464:
    00591464stp x0, x1, [sp+8]
    00591468stp x2, x3, [sp+24]
    0059146cstp x4, x5, [sp+40]
    00591470stp x6, x7, [sp+56]
    00591474str x8, [sp+72]
    00591478mov x3, x30
    0059147cbl runtime.morestack_noctxt.abi0
    00591480ldp x0, x1, [sp+8]
    00591484ldp x2, x3, [sp+24]
    00591488ldp x4, x5, [sp+40]
    0059148cldp x6, x7, [sp+56]
    00591490ldr x8, [sp+72]
    00591494b 0x591120
    00591498udf 0
    0059149cudf 0
    00591120
    005914a0
    005914a0crypto/internal/fips140/ecdsa.GenerateKey[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdsa.GenerateKey[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[5] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, io.Reader rand)
    005914a0ldr x16, [x28+16]
    005914a4sub x17, sp, 208
    005914a8subs xzr, x17, x16
    005914acb.ls 0x5917c4
    005914b0sub x20, sp, 336
    005914b4stp x29, x30, [x20-8]
    005914b8add sp, x20, 0
    005914bcsub x29, sp, 8
    005914c0str x0, [sp+344]
    005914c4str x1, [sp+352]
    005914c8str x2, [sp+360]
    005914ccstr x3, [sp+368]
    005914d0str xzr, [sp+56]
    005914d4stp xzr, xzr, [sp+40]
    005914d8bl crypto/internal/fips140.RecordApproved
    005914dcstr xzr, [sp+272]
    005914e0str xzr, [sp+264]
    005914e4stp xzr, xzr, [sp+248]
    005914e8stp xzr, xzr, [sp+280]
    005914ecstp xzr, xzr, [sp+296]
    005914f0add x0, sp, 280
    005914f4str x0, [sp+192]
    005914f8ldrsb x27, [x0]
    005914fcadrp x1, 0
    00591500add x1, x1, 2016
    00591504str x1, [x0]
    00591508ldrsb x27, [x0]
    0059150cldr x1, [sp+368]
    00591510ldr x2, [sp+360]
    00591514str x2, [x0+8]
    00591518adrp x27, 0x4ba000
    0059151cldr w2, [x27+3056]
    00591520cbz w2, 0x591528
    00591524b 0x59152c
    00591528
    00591528loc_591528:
    00591528b 0x591540
    0059152c
    0059152cloc_59152c:
    0059152cbl runtime.gcWriteBarrier2
    00591530str x1, [x25]
    00591534ldr x3, [x0+16]
    00591538str x3, [x25+8]
    0059153cb 0x591540
    00591540
    00591540loc_591540:
    00591540str x1, [x0+16]
    00591544ldrsb x27, [x0]
    00591548ldr x3, [sp+344]
    0059154cadrp x27, 0x4ba000
    00591550ldr w4, [x27+3056]
    00591554cbz w4, 0x59155c
    00591558b 0x591560
    0059155c
    0059155cloc_59155c:
    0059155cb 0x591574
    00591560
    00591560loc_591560:
    00591560bl runtime.gcWriteBarrier2
    00591564str x3, [x25]
    00591568ldr x4, [x0+24]
    0059156cstr x4, [x25+8]
    00591570b 0x591574
    00591574
    00591574loc_591574:
    00591574str x3, [x0+24]
    00591578ldr x3, [sp+344]
    0059157cldrsb x27, [x3]
    00591580ldr x0, [x3+8]
    00591584str x0, [sp+184]
    00591588ldr x1, [sp+352]
    0059158cldr x2, [sp+192]
    00591590bl crypto/internal/fips140/ecdsa.randomPoint[go.shape.*crypto/internal/fips140/nistec.P521Point]
    00591594str x0, [sp+272]
    00591598str x1, [sp+264]
    0059159cstr x2, [sp+248]
    005915a0str x3, [sp+256]
    005915a4ldr x3, [sp+272]
    005915a8str x3, [sp+128]
    005915acldr x3, [sp+264]
    005915b0str x3, [sp+120]
    005915b4ldr x3, [sp+248]
    005915b8ldr x4, [sp+256]
    005915bcstr x3, [sp+312]
    005915c0str x4, [sp+320]
    005915c4ldr x3, [sp+128]
    005915c8str x3, [sp+72]
    005915ccldr x3, [sp+120]
    005915d0str x3, [sp+112]
    005915d4ldr x3, [sp+320]
    005915d8ldr x4, [sp+312]
    005915dcstr x4, [sp+96]
    005915e0str x3, [sp+104]
    005915e4cbnz x4, 0x5915ec
    005915e8b 0x591610
    005915ec
    005915ecloc_5915ec:
    005915ecstr xzr, [sp+56]
    005915f0ldr x1, [sp+96]
    005915f4ldr x2, [sp+104]
    005915f8str x1, [sp+40]
    005915fcstr x2, [sp+48]
    00591600ldr x0, [sp+56]
    00591604ldp x29, x30, [sp-8]
    00591608add sp, sp, 336
    0059160cret x30
    00591610
    00591610loc_591610:
    00591610ldr x26, [sp+344]
    00591614ldrsb x27, [x26]
    00591618ldr x1, [x26]
    0059161cldr x0, [sp+112]
    00591620blr x1
    00591624str x0, [sp+224]
    00591628str x1, [sp+232]
    0059162cstr x2, [sp+240]
    00591630ldr x1, [sp+352]
    00591634ldrsb x27, [x1]
    00591638ldr x1, [x1+32]
    0059163cstr x1, [sp+176]
    00591640ldr x0, [sp+72]
    00591644bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    00591648str x0, [sp+200]
    0059164cstr x1, [sp+208]
    00591650str x2, [sp+216]
    00591654adrp x0, 0xb6000
    00591658add x0, x0, 4032
    0059165cbl runtime.newobject
    00591660str x0, [sp+168]
    00591664ldr x1, [sp+352]
    00591668ldrsb x27, [x1]
    0059166cldr x2, [x1]
    00591670ldr x1, [x1+8]
    00591674str x1, [x0+8]
    00591678adrp x27, 0x4ba000
    0059167cldr w1, [x27+3056]
    00591680cbz w1, 0x591688
    00591684b 0x59168c
    00591688
    00591688loc_591688:
    00591688b 0x5916a0
    0059168c
    0059168cloc_59168c:
    0059168cbl runtime.gcWriteBarrier2
    00591690str x2, [x25]
    00591694ldr x3, [x0]
    00591698str x3, [x25+8]
    0059169cb 0x5916a0
    005916a0
    005916a0loc_5916a0:
    005916a0str x2, [x0]
    005916a4ldr x3, [sp+168]
    005916a8ldrsb x27, [x3]
    005916acldr x4, [sp+224]
    005916b0ldr x5, [sp+232]
    005916b4ldr x6, [sp+240]
    005916b8str x5, [x3+24]
    005916bcstr x6, [x3+32]
    005916c0adrp x27, 0x4ba000
    005916c4ldr w5, [x27+3056]
    005916c8cbz w5, 0x5916d0
    005916ccb 0x5916d4
    005916d0
    005916d0loc_5916d0:
    005916d0b 0x5916e8
    005916d4
    005916d4loc_5916d4:
    005916d4bl runtime.gcWriteBarrier2
    005916d8str x4, [x25]
    005916dcldr x5, [x3+16]
    005916e0str x5, [x25+8]
    005916e4b 0x5916e8
    005916e8
    005916e8loc_5916e8:
    005916e8str x4, [x3+16]
    005916ecldr x3, [sp+168]
    005916f0ldrsb x27, [x3]
    005916f4ldr x4, [sp+200]
    005916f8ldr x5, [sp+208]
    005916fcldr x6, [sp+216]
    00591700str x5, [x3+48]
    00591704str x6, [x3+56]
    00591708adrp x27, 0x4ba000
    0059170cldr w5, [x27+3056]
    00591710cbz w5, 0x591718
    00591714b 0x59171c
    00591718
    00591718loc_591718:
    00591718b 0x591730
    0059171c
    0059171cloc_59171c:
    0059171cbl runtime.gcWriteBarrier2
    00591720str x4, [x25]
    00591724ldr x5, [x3+40]
    00591728str x5, [x25+8]
    0059172cb 0x591730
    00591730
    00591730loc_591730:
    00591730str x4, [x3+40]
    00591734ldr x3, [sp+168]
    00591738str x3, [sp+64]
    0059173cldr x3, [sp+344]
    00591740ldrsb x27, [x3]
    00591744ldr x0, [x3+16]
    00591748str x0, [sp+160]
    0059174cldr x2, [sp+64]
    00591750ldr x1, [sp+352]
    00591754bl crypto/internal/fips140/ecdsa.fipsPCT[go.shape.*crypto/internal/fips140/nistec.P521Point]
    00591758str x0, [sp+80]
    0059175cstr x1, [sp+88]
    00591760cbnz x0, 0x59178c
    00591764b 0x591768
    00591768
    00591768loc_591768:
    00591768ldr x3, [sp+64]
    0059176cstr x3, [sp+56]
    00591770stp xzr, xzr, [sp+40]
    00591774ldr x0, [sp+56]
    00591778mov x1, xzr
    0059177cmov x2, xzr
    00591780ldp x29, x30, [sp-8]
    00591784add sp, sp, 336
    00591788ret x30
    0059178c
    0059178cloc_59178c:
    0059178cstr x0, [sp+144]
    00591790str x1, [sp+152]
    00591794str x0, [sp+136]
    00591798ldr x2, [sp+136]
    0059179ccbnz x2, 0x5917a4
    005917a0b 0x5917c0
    005917a4
    005917a4loc_5917a4:
    005917a4ldr x2, [sp+136]
    005917a8ldr x2, [x2+8]
    005917acstr x2, [sp+136]
    005917b0b 0x5917b4
    005917b4
    005917b4loc_5917b4:
    005917b4ldr x0, [sp+136]
    005917b8ldr x1, [sp+152]
    005917bcbl runtime.gopanic
    005917c0
    005917c0loc_5917c0:
    005917c0b 0x5917b4
    005917c4
    005917c4loc_5917c4:
    005917c4stp x0, x1, [sp+8]
    005917c8stp x2, x3, [sp+24]
    005917ccmov x3, x30
    005917d0bl runtime.morestack_noctxt.abi0
    005917d4ldp x0, x1, [sp+8]
    005917d8ldp x2, x3, [sp+24]
    005917dcb 0x5914a0
    005914a0
    005917e0
    005917e0crypto/internal/fips140/ecdsa.GenerateKey[go.shape.*crypto/internal/fips140/nistec.P521Point].func1: ; void crypto/internal/fips140/ecdsa.GenerateKey[go.shape.*crypto/internal/fips140/nistec.P521Point].func1(struct []uint8 b)
    005917e0ldr x16, [x28+16]
    005917e4subs xzr, sp, x16
    005917e8b.ls 0x591854
    005917ecstr x30, [sp-112]!
    005917f0stur x29, [sp-8]
    005917f4sub x29, sp, 8
    005917f8str x0, [sp+120]
    005917fcstr x1, [sp+128]
    00591800str x2, [sp+136]
    00591804ldr x5, [x26+8]
    00591808ldr x6, [x26+16]
    0059180cstr x5, [sp+64]
    00591810str x6, [sp+72]
    00591814ldr x5, [x26+24]
    00591818str x5, [sp+80]
    0059181cstp xzr, xzr, [sp+48]
    00591820ldr x0, [sp+64]
    00591824ldr x2, [sp+120]
    00591828ldr x3, [sp+128]
    0059182cldr x1, [sp+72]
    00591830ldr x4, [sp+136]
    00591834bl crypto/internal/fips140/drbg.ReadWithReader
    00591838str x0, [sp+88]
    0059183cstr x1, [sp+96]
    00591840str x0, [sp+48]
    00591844str x1, [sp+56]
    00591848ldur x29, [sp-8]
    0059184cldr x30, [sp], 112
    00591850ret x30
    00591854
    00591854loc_591854:
    00591854stp x0, x1, [sp+8]
    00591858str x2, [sp+24]
    0059185cmov x3, x30
    00591860bl runtime.morestack.abi0
    00591864ldp x0, x1, [sp+8]
    00591868ldr x2, [sp+24]
    0059186cb 0x5917e0
    005917e0
    00591870
    00591870crypto/internal/fips140/ecdsa.GenerateKey[go.shape.*crypto/internal/fips140/nistec.P384Point]: ; void crypto/internal/fips140/ecdsa.GenerateKey[go.shape.*crypto/internal/fips140/nistec.P384Point](uintptr[5] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P384Point] * c, io.Reader rand)
    00591870ldr x16, [x28+16]
    00591874sub x17, sp, 208
    00591878subs xzr, x17, x16
    0059187cb.ls 0x591b94
    00591880sub x20, sp, 336
    00591884stp x29, x30, [x20-8]
    00591888add sp, x20, 0
    0059188csub x29, sp, 8
    00591890str x0, [sp+344]
    00591894str x1, [sp+352]
    00591898str x2, [sp+360]
    0059189cstr x3, [sp+368]
    005918a0str xzr, [sp+56]
    005918a4stp xzr, xzr, [sp+40]
    005918a8bl crypto/internal/fips140.RecordApproved
    005918acstr xzr, [sp+272]
    005918b0str xzr, [sp+264]
    005918b4stp xzr, xzr, [sp+248]
    005918b8stp xzr, xzr, [sp+280]
    005918bcstp xzr, xzr, [sp+296]
    005918c0add x0, sp, 280
    005918c4str x0, [sp+192]
    005918c8ldrsb x27, [x0]
    005918ccadrp x1, 0
    005918d0add x1, x1, 2992
    005918d4str x1, [x0]
    005918d8ldrsb x27, [x0]
    005918dcldr x1, [sp+368]
    005918e0ldr x2, [sp+360]
    005918e4str x2, [x0+8]
    005918e8adrp x27, 0x4ba000
    005918ecldr w2, [x27+3056]
    005918f0cbz w2, 0x5918f8
    005918f4b 0x5918fc
    005918f8
    005918f8loc_5918f8:
    005918f8b 0x591910
    005918fc
    005918fcloc_5918fc:
    005918fcbl runtime.gcWriteBarrier2
    00591900str x1, [x25]
    00591904ldr x3, [x0+16]
    00591908str x3, [x25+8]
    0059190cb 0x591910
    00591910
    00591910loc_591910:
    00591910str x1, [x0+16]
    00591914ldrsb x27, [x0]
    00591918ldr x3, [sp+344]
    0059191cadrp x27, 0x4ba000
    00591920ldr w4, [x27+3056]
    00591924cbz w4, 0x59192c
    00591928b 0x591930
    0059192c
    0059192cloc_59192c:
    0059192cb 0x591944
    00591930
    00591930loc_591930:
    00591930bl runtime.gcWriteBarrier2
    00591934str x3, [x25]
    00591938ldr x4, [x0+24]
    0059193cstr x4, [x25+8]
    00591940b 0x591944
    00591944
    00591944loc_591944:
    00591944str x3, [x0+24]
    00591948ldr x3, [sp+344]
    0059194cldrsb x27, [x3]
    00591950ldr x0, [x3+8]
    00591954str x0, [sp+184]
    00591958ldr x1, [sp+352]
    0059195cldr x2, [sp+192]
    00591960bl crypto/internal/fips140/ecdsa.randomPoint[go.shape.*crypto/internal/fips140/nistec.P384Point]
    00591964str x0, [sp+272]
    00591968str x1, [sp+264]
    0059196cstr x2, [sp+248]
    00591970str x3, [sp+256]
    00591974ldr x3, [sp+272]
    00591978str x3, [sp+128]
    0059197cldr x3, [sp+264]
    00591980str x3, [sp+120]
    00591984ldr x3, [sp+248]
    00591988ldr x4, [sp+256]
    0059198cstr x3, [sp+312]
    00591990str x4, [sp+320]
    00591994ldr x3, [sp+128]
    00591998str x3, [sp+72]
    0059199cldr x3, [sp+120]
    005919a0str x3, [sp+112]
    005919a4ldr x3, [sp+320]
    005919a8ldr x4, [sp+312]
    005919acstr x4, [sp+96]
    005919b0str x3, [sp+104]
    005919b4cbnz x4, 0x5919bc
    005919b8b 0x5919e0
    005919bc
    005919bcloc_5919bc:
    005919bcstr xzr, [sp+56]
    005919c0ldr x1, [sp+96]
    005919c4ldr x2, [sp+104]
    005919c8str x1, [sp+40]
    005919ccstr x2, [sp+48]
    005919d0ldr x0, [sp+56]
    005919d4ldp x29, x30, [sp-8]
    005919d8add sp, sp, 336
    005919dcret x30
    005919e0
    005919e0loc_5919e0:
    005919e0ldr x26, [sp+344]
    005919e4ldrsb x27, [x26]
    005919e8ldr x1, [x26]
    005919ecldr x0, [sp+112]
    005919f0blr x1
    005919f4str x0, [sp+224]
    005919f8str x1, [sp+232]
    005919fcstr x2, [sp+240]
    00591a00ldr x1, [sp+352]
    00591a04ldrsb x27, [x1]
    00591a08ldr x1, [x1+32]
    00591a0cstr x1, [sp+176]
    00591a10ldr x0, [sp+72]
    00591a14bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    00591a18str x0, [sp+200]
    00591a1cstr x1, [sp+208]
    00591a20str x2, [sp+216]
    00591a24adrp x0, 0xb6000
    00591a28add x0, x0, 4032
    00591a2cbl runtime.newobject
    00591a30str x0, [sp+168]
    00591a34ldr x1, [sp+352]
    00591a38ldrsb x27, [x1]
    00591a3cldr x2, [x1]
    00591a40ldr x1, [x1+8]
    00591a44str x1, [x0+8]
    00591a48adrp x27, 0x4ba000
    00591a4cldr w1, [x27+3056]
    00591a50cbz w1, 0x591a58
    00591a54b 0x591a5c
    00591a58
    00591a58loc_591a58:
    00591a58b 0x591a70
    00591a5c
    00591a5cloc_591a5c:
    00591a5cbl runtime.gcWriteBarrier2
    00591a60str x2, [x25]
    00591a64ldr x3, [x0]
    00591a68str x3, [x25+8]
    00591a6cb 0x591a70
    00591a70
    00591a70loc_591a70:
    00591a70str x2, [x0]
    00591a74ldr x3, [sp+168]
    00591a78ldrsb x27, [x3]
    00591a7cldr x4, [sp+224]
    00591a80ldr x5, [sp+232]
    00591a84ldr x6, [sp+240]
    00591a88str x5, [x3+24]
    00591a8cstr x6, [x3+32]
    00591a90adrp x27, 0x4ba000
    00591a94ldr w5, [x27+3056]
    00591a98cbz w5, 0x591aa0
    00591a9cb 0x591aa4
    00591aa0
    00591aa0loc_591aa0:
    00591aa0b 0x591ab8
    00591aa4
    00591aa4loc_591aa4:
    00591aa4bl runtime.gcWriteBarrier2
    00591aa8str x4, [x25]
    00591aacldr x5, [x3+16]
    00591ab0str x5, [x25+8]
    00591ab4b 0x591ab8
    00591ab8
    00591ab8loc_591ab8:
    00591ab8str x4, [x3+16]
    00591abcldr x3, [sp+168]
    00591ac0ldrsb x27, [x3]
    00591ac4ldr x4, [sp+200]
    00591ac8ldr x5, [sp+208]
    00591accldr x6, [sp+216]
    00591ad0str x5, [x3+48]
    00591ad4str x6, [x3+56]
    00591ad8adrp x27, 0x4ba000
    00591adcldr w5, [x27+3056]
    00591ae0cbz w5, 0x591ae8
    00591ae4b 0x591aec
    00591ae8
    00591ae8loc_591ae8:
    00591ae8b 0x591b00
    00591aec
    00591aecloc_591aec:
    00591aecbl runtime.gcWriteBarrier2
    00591af0str x4, [x25]
    00591af4ldr x5, [x3+40]
    00591af8str x5, [x25+8]
    00591afcb 0x591b00
    00591b00
    00591b00loc_591b00:
    00591b00str x4, [x3+40]
    00591b04ldr x3, [sp+168]
    00591b08str x3, [sp+64]
    00591b0cldr x3, [sp+344]
    00591b10ldrsb x27, [x3]
    00591b14ldr x0, [x3+16]
    00591b18str x0, [sp+160]
    00591b1cldr x2, [sp+64]
    00591b20ldr x1, [sp+352]
    00591b24bl crypto/internal/fips140/ecdsa.fipsPCT[go.shape.*crypto/internal/fips140/nistec.P384Point]
    00591b28str x0, [sp+80]
    00591b2cstr x1, [sp+88]
    00591b30cbnz x0, 0x591b5c
    00591b34b 0x591b38
    00591b38
    00591b38loc_591b38:
    00591b38ldr x3, [sp+64]
    00591b3cstr x3, [sp+56]
    00591b40stp xzr, xzr, [sp+40]
    00591b44ldr x0, [sp+56]
    00591b48mov x1, xzr
    00591b4cmov x2, xzr
    00591b50ldp x29, x30, [sp-8]
    00591b54add sp, sp, 336
    00591b58ret x30
    00591b5c
    00591b5cloc_591b5c:
    00591b5cstr x0, [sp+144]
    00591b60str x1, [sp+152]
    00591b64str x0, [sp+136]
    00591b68ldr x2, [sp+136]
    00591b6ccbnz x2, 0x591b74
    00591b70b 0x591b90
    00591b74
    00591b74loc_591b74:
    00591b74ldr x2, [sp+136]
    00591b78ldr x2, [x2+8]
    00591b7cstr x2, [sp+136]
    00591b80b 0x591b84
    00591b84
    00591b84loc_591b84:
    00591b84ldr x0, [sp+136]
    00591b88ldr x1, [sp+152]
    00591b8cbl runtime.gopanic
    00591b90
    00591b90loc_591b90:
    00591b90b 0x591b84
    00591b94
    00591b94loc_591b94:
    00591b94stp x0, x1, [sp+8]
    00591b98stp x2, x3, [sp+24]
    00591b9cmov x3, x30
    00591ba0bl runtime.morestack_noctxt.abi0
    00591ba4ldp x0, x1, [sp+8]
    00591ba8ldp x2, x3, [sp+24]
    00591bacb 0x591870
    00591870