File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    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
    0058e830
    0058e830crypto/internal/fips140/ecdsa.fipsPCT[go.shape.*crypto/internal/fips140/nistec.P384Point].func1: ; void crypto/internal/fips140/ecdsa.fipsPCT[go.shape.*crypto/internal/fips140/nistec.P384Point].func1(void)
    0058e830ldr x16, [x28+16]
    0058e834sub x17, sp, 192
    0058e838subs xzr, x17, x16
    0058e83cb.ls 0x58e9d8
    0058e840sub x20, sp, 320
    0058e844stp x29, x30, [x20-8]
    0058e848add sp, x20, 0
    0058e84csub x29, sp, 8
    0058e850ldr x0, [x26+8]
    0058e854str x0, [sp+112]
    0058e858ldr x0, [x26+16]
    0058e85cstr x0, [sp+168]
    0058e860ldr x0, [x26+24]
    0058e864str x0, [sp+176]
    0058e868stp xzr, xzr, [sp+88]
    0058e86cbl crypto/internal/fips140/ecdsa.testHash
    0058e870str x0, [sp+120]
    0058e874str x1, [sp+128]
    0058e878str x2, [sp+136]
    0058e87cbl crypto/internal/fips140/ecdsa.P256
    0058e880str x0, [sp+216]
    0058e884ldr x2, [sp+120]
    0058e888ldr x3, [sp+128]
    0058e88cldr x4, [sp+136]
    0058e890mov x1, x0
    0058e894adrp x0, 0x184000
    0058e898add x0, x0, 1952
    0058e89cbl crypto/internal/fips140/ecdsa.bits2octets[go.shape.*crypto/internal/fips140/nistec.P256Point]
    0058e8a0str x0, [sp+192]
    0058e8a4str x1, [sp+200]
    0058e8a8str x2, [sp+208]
    0058e8acldr x0, [sp+112]
    0058e8b0ldrsb x27, [x0]
    0058e8b4ldr x2, [x0+40]
    0058e8b8ldr x3, [x0+48]
    0058e8bcldr x4, [x0+56]
    0058e8c0str x2, [sp+272]
    0058e8c4str x3, [sp+280]
    0058e8c8str x4, [sp+288]
    0058e8ccldr x5, [sp+192]
    0058e8d0ldr x6, [sp+200]
    0058e8d4ldr x7, [sp+208]
    0058e8d8adrp x0, 0x185000
    0058e8dcadd x0, x0, 1504
    0058e8e0adrp x1, 0x14b000
    0058e8e4add x1, x1, 840
    0058e8e8mov x8, xzr
    0058e8ecmov x9, xzr
    0058e8f0bl crypto/internal/fips140/ecdsa.newDRBG[go.shape.*uint8]
    0058e8f4str x0, [sp+160]
    0058e8f8str xzr, [sp+184]
    0058e8fcstp xzr, xzr, [sp+296]
    0058e900ldr x0, [sp+176]
    0058e904ldrsb x27, [x0]
    0058e908ldr x0, [x0]
    0058e90cstr x0, [sp+264]
    0058e910ldr x4, [sp+120]
    0058e914ldr x3, [sp+160]
    0058e918ldr x2, [sp+112]
    0058e91cldr x1, [sp+168]
    0058e920ldr x5, [sp+128]
    0058e924ldr x6, [sp+136]
    0058e928bl crypto/internal/fips140/ecdsa.sign[go.shape.*crypto/internal/fips140/nistec.P384Point]
    0058e92cstr x0, [sp+184]
    0058e930str x1, [sp+296]
    0058e934str x2, [sp+304]
    0058e938ldr x0, [sp+184]
    0058e93cstr x0, [sp+240]
    0058e940ldr x0, [sp+296]
    0058e944ldr x1, [sp+304]
    0058e948str x0, [sp+224]
    0058e94cstr x1, [sp+232]
    0058e950ldr x0, [sp+240]
    0058e954str x0, [sp+104]
    0058e958ldr x1, [sp+232]
    0058e95cldr x0, [sp+224]
    0058e960str x0, [sp+144]
    0058e964str x1, [sp+152]
    0058e968cbnz x0, 0x58e970
    0058e96cb 0x58e984
    0058e970
    0058e970loc_58e970:
    0058e970str x0, [sp+88]
    0058e974str x1, [sp+96]
    0058e978ldp x29, x30, [sp-8]
    0058e97cadd sp, sp, 320
    0058e980ret x30
    0058e984
    0058e984loc_58e984:
    0058e984ldr x7, [sp+176]
    0058e988ldrsb x27, [x7]
    0058e98cldr x7, [x7+8]
    0058e990str x7, [sp+256]
    0058e994ldr x2, [sp+112]
    0058e998ldrsb x27, [x2]
    0058e99cstr x2, [sp+248]
    0058e9a0ldr x3, [sp+120]
    0058e9a4ldr x6, [sp+104]
    0058e9a8ldr x1, [sp+168]
    0058e9acldr x4, [sp+128]
    0058e9b0ldr x5, [sp+136]
    0058e9b4ldr x0, [sp+256]
    0058e9b8bl crypto/internal/fips140/ecdsa.Verify[go.shape.*crypto/internal/fips140/nistec.P384Point]
    0058e9bcstr x0, [sp+296]
    0058e9c0str x1, [sp+304]
    0058e9c4str x0, [sp+88]
    0058e9c8str x1, [sp+96]
    0058e9ccldp x29, x30, [sp-8]
    0058e9d0add sp, sp, 320
    0058e9d4ret x30
    0058e9d8
    0058e9d8loc_58e9d8:
    0058e9d8mov x3, x30
    0058e9dcbl runtime.morestack.abi0
    0058e9e0b 0x58e830
    0058e9e4udf 0
    0058e9e8udf 0
    0058e9ecudf 0
    0058e830
    0058e9f0
    0058e9f0crypto/internal/fips140/ecdsa.SignDeterministic[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.SignDeterministic[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, struct []uint8 hash)
    0058e9f0ldr x16, [x28+16]
    0058e9f4sub x17, sp, 160
    0058e9f8subs xzr, x17, x16
    0058e9fcb.ls 0x58ebe4
    0058ea00sub x20, sp, 288
    0058ea04stp x29, x30, [x20-8]
    0058ea08add sp, x20, 0
    0058ea0csub x29, sp, 8
    0058ea10str x0, [sp+296]
    0058ea14str x1, [sp+304]
    0058ea18str x2, [sp+312]
    0058ea1cstr x3, [sp+320]
    0058ea20str x4, [sp+328]
    0058ea24str x5, [sp+336]
    0058ea28str x6, [sp+344]
    0058ea2cstr xzr, [sp+112]
    0058ea30stp xzr, xzr, [sp+96]
    0058ea34ldr x3, [sp+320]
    0058ea38ldrsb x27, [x3]
    0058ea3cldr x4, [x3]
    0058ea40ldr x3, [x3+8]
    0058ea44str x4, [sp+216]
    0058ea48str x3, [sp+224]
    0058ea4cldr x3, [sp+304]
    0058ea50ldrsb x27, [x3]
    0058ea54ldr x1, [x3]
    0058ea58ldr x3, [x3+8]
    0058ea5cstr x1, [sp+200]
    0058ea60str x3, [sp+208]
    0058ea64ldr x4, [sp+224]
    0058ea68subs xzr, x4, x3
    0058ea6cb.ne 0x58ea74
    0058ea70b 0x58ea78
    0058ea74
    0058ea74loc_58ea74:
    0058ea74b 0x58eba8
    0058ea78
    0058ea78loc_58ea78:
    0058ea78ldr x2, [sp+224]
    0058ea7cldr x0, [sp+216]
    0058ea80bl runtime.memequal
    0058ea84tbnz w0, 0, 0x58ea8c
    0058ea88b 0x58eba4
    0058ea8c
    0058ea8cloc_58ea8c:
    0058ea8cbl crypto/internal/fips140.RecordApproved
    0058ea90adrp x27, 0x493000
    0058ea94ldr x26, [x27+336]
    0058ea98ldr x0, [x26]
    0058ea9cblr x0
    0058eaa0ldr x0, [sp+296]
    0058eaa4ldrsb x27, [x0]
    0058eaa8ldr x0, [x0+8]
    0058eaacstr x0, [sp+192]
    0058eab0ldr x2, [sp+328]
    0058eab4ldr x1, [sp+304]
    0058eab8ldr x3, [sp+336]
    0058eabcldr x4, [sp+344]
    0058eac0bl crypto/internal/fips140/ecdsa.bits2octets[go.shape.*crypto/internal/fips140/nistec.P256Point]
    0058eac4str x0, [sp+240]
    0058eac8str x1, [sp+248]
    0058eaccstr x2, [sp+256]
    0058ead0ldr x0, [sp+296]
    0058ead4ldrsb x27, [x0]
    0058ead8ldr x0, [x0]
    0058eadcstr x0, [sp+184]
    0058eae0ldr x0, [sp+320]
    0058eae4ldrsb x27, [x0]
    0058eae8ldr x2, [x0+40]
    0058eaecldr x3, [x0+48]
    0058eaf0ldr x4, [x0+56]
    0058eaf4str x2, [sp+160]
    0058eaf8str x3, [sp+168]
    0058eafcstr x4, [sp+176]
    0058eb00ldr x1, [sp+312]
    0058eb04ldr x5, [sp+240]
    0058eb08ldr x6, [sp+248]
    0058eb0cldr x7, [sp+256]
    0058eb10ldr x0, [sp+184]
    0058eb14mov x8, xzr
    0058eb18mov x9, xzr
    0058eb1cbl crypto/internal/fips140/ecdsa.newDRBG[go.shape.interface { BlockSize() int; Reset(); Size() int; Sum([]uint8) []uint8; Write([]uint8) (int, error) }]
    0058eb20str x0, [sp+120]
    0058eb24str xzr, [sp+232]
    0058eb28stp xzr, xzr, [sp+264]
    0058eb2cldr x0, [sp+296]
    0058eb30ldrsb x27, [x0]
    0058eb34ldr x0, [x0+16]
    0058eb38str x0, [sp+152]
    0058eb3cldr x4, [sp+328]
    0058eb40ldr x3, [sp+120]
    0058eb44ldr x2, [sp+320]
    0058eb48ldr x1, [sp+304]
    0058eb4cldr x5, [sp+336]
    0058eb50ldr x6, [sp+344]
    0058eb54bl crypto/internal/fips140/ecdsa.sign[go.shape.*crypto/internal/fips140/nistec.P256Point]
    0058eb58str x0, [sp+232]
    0058eb5cstr x1, [sp+264]
    0058eb60str x2, [sp+272]
    0058eb64ldr x0, [sp+232]
    0058eb68str x0, [sp+144]
    0058eb6cldr x0, [sp+264]
    0058eb70ldr x1, [sp+272]
    0058eb74str x0, [sp+128]
    0058eb78str x1, [sp+136]
    0058eb7cldr x0, [sp+144]
    0058eb80str x0, [sp+112]
    0058eb84ldr x1, [sp+128]
    0058eb88ldr x2, [sp+136]
    0058eb8cstr x1, [sp+96]
    0058eb90str x2, [sp+104]
    0058eb94ldr x0, [sp+112]
    0058eb98ldp x29, x30, [sp-8]
    0058eb9cadd sp, sp, 288
    0058eba0ret x30
    0058eba4
    0058eba4loc_58eba4:
    0058eba4b 0x58eba8
    0058eba8
    0058eba8loc_58eba8:
    0058eba8adrp x0, 0x135000
    0058ebacadd x0, x0, 3211
    0058ebb0movz x1, 39
    0058ebb4bl errors.New
    0058ebb8str x0, [sp+264]
    0058ebbcstr x1, [sp+272]
    0058ebc0str xzr, [sp+112]
    0058ebc4ldr x1, [sp+264]
    0058ebc8ldr x2, [sp+272]
    0058ebccstr x1, [sp+96]
    0058ebd0str x2, [sp+104]
    0058ebd4ldr x0, [sp+112]
    0058ebd8ldp x29, x30, [sp-8]
    0058ebdcadd sp, sp, 288
    0058ebe0ret x30
    0058ebe4
    0058ebe4loc_58ebe4:
    0058ebe4stp x0, x1, [sp+8]
    0058ebe8stp x2, x3, [sp+24]
    0058ebecstp x4, x5, [sp+40]
    0058ebf0str x6, [sp+56]
    0058ebf4mov x3, x30
    0058ebf8bl runtime.morestack_noctxt.abi0
    0058ebfcldp x0, x1, [sp+8]
    0058ec00ldp x2, x3, [sp+24]
    0058ec04ldp x4, x5, [sp+40]
    0058ec08ldr x6, [sp+56]
    0058ec0cb 0x58e9f0
    0058e9f0
    0058ec10
    0058ec10crypto/internal/fips140/ecdsa.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P256Point]: ; void crypto/internal/fips140/ecdsa.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P256Point](uintptr[3] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P256Point] * c, struct []uint8 D, struct []uint8 Q)
    0058ec10ldr x16, [x28+16]
    0058ec14sub x17, sp, 176
    0058ec18subs xzr, x17, x16
    0058ec1cb.ls 0x58eedc
    0058ec20sub x20, sp, 304
    0058ec24stp x29, x30, [x20-8]
    0058ec28add sp, x20, 0
    0058ec2csub x29, sp, 8
    0058ec30str x0, [sp+312]
    0058ec34str x1, [sp+320]
    0058ec38str x2, [sp+328]
    0058ec3cstr x3, [sp+336]
    0058ec40str x4, [sp+344]
    0058ec44str x5, [sp+352]
    0058ec48str x6, [sp+360]
    0058ec4cstr x7, [sp+368]
    0058ec50str xzr, [sp+64]
    0058ec54stp xzr, xzr, [sp+48]
    0058ec58bl crypto/internal/fips140.RecordApproved
    0058ec5cstr xzr, [sp+264]
    0058ec60stp xzr, xzr, [sp+248]
    0058ec64ldr x0, [sp+312]
    0058ec68ldrsb x27, [x0]
    0058ec6cldr x0, [x0]
    0058ec70str x0, [sp+200]
    0058ec74ldr x2, [sp+352]
    0058ec78ldr x1, [sp+320]
    0058ec7cldr x3, [sp+360]
    0058ec80ldr x4, [sp+368]
    0058ec84bl crypto/internal/fips140/ecdsa.NewPublicKey[go.shape.*crypto/internal/fips140/nistec.P256Point]
    0058ec88str x0, [sp+264]
    0058ec8cstr x1, [sp+248]
    0058ec90str x2, [sp+256]
    0058ec94ldr x0, [sp+264]
    0058ec98str x0, [sp+144]
    0058ec9cldr x0, [sp+248]
    0058eca0ldr x1, [sp+256]
    0058eca4str x0, [sp+128]
    0058eca8str x1, [sp+136]
    0058ecacldr x0, [sp+144]
    0058ecb0str x0, [sp+72]
    0058ecb4ldr x0, [sp+136]
    0058ecb8ldr x1, [sp+128]
    0058ecbcstr x1, [sp+104]
    0058ecc0str x0, [sp+112]
    0058ecc4cbnz x1, 0x58eccc
    0058ecc8b 0x58ecf0
    0058eccc
    0058ecccloc_58eccc:
    0058ecccstr xzr, [sp+64]
    0058ecd0ldr x1, [sp+104]
    0058ecd4ldr x2, [sp+112]
    0058ecd8str x1, [sp+48]
    0058ecdcstr x2, [sp+56]
    0058ece0ldr x0, [sp+64]
    0058ece4ldp x29, x30, [sp-8]
    0058ece8add sp, sp, 304
    0058ececret x30
    0058ecf0
    0058ecf0loc_58ecf0:
    0058ecf0bl crypto/internal/fips140/bigmod.NewNat
    0058ecf4str x0, [sp+240]
    0058ecf8str xzr, [sp+232]
    0058ecfcstp xzr, xzr, [sp+248]
    0058ed00ldr x0, [sp+320]
    0058ed04ldrsb x27, [x0]
    0058ed08ldr x4, [x0+32]
    0058ed0cstr x4, [sp+192]
    0058ed10ldr x1, [sp+328]
    0058ed14ldr x2, [sp+336]
    0058ed18ldr x3, [sp+344]
    0058ed1cldr x0, [sp+240]
    0058ed20bl crypto/internal/fips140/bigmod.(*Nat).SetBytes
    0058ed24str x0, [sp+232]
    0058ed28str x1, [sp+248]
    0058ed2cstr x2, [sp+256]
    0058ed30ldr x0, [sp+232]
    0058ed34str x0, [sp+288]
    0058ed38ldr x0, [sp+248]
    0058ed3cldr x1, [sp+256]
    0058ed40str x0, [sp+272]
    0058ed44str x1, [sp+280]
    0058ed48ldr x0, [sp+288]
    0058ed4cstr x0, [sp+120]
    0058ed50ldr x0, [sp+280]
    0058ed54ldr x1, [sp+272]
    0058ed58str x1, [sp+104]
    0058ed5cstr x0, [sp+112]
    0058ed60cbnz x1, 0x58ed68
    0058ed64b 0x58ed8c
    0058ed68
    0058ed68loc_58ed68:
    0058ed68str xzr, [sp+64]
    0058ed6cldr x1, [sp+104]
    0058ed70ldr x2, [sp+112]
    0058ed74str x1, [sp+48]
    0058ed78str x2, [sp+56]
    0058ed7cldr x0, [sp+64]
    0058ed80ldp x29, x30, [sp-8]
    0058ed84add sp, sp, 304
    0058ed88ret x30
    0058ed8c
    0058ed8cloc_58ed8c:
    0058ed8cldr x2, [sp+320]
    0058ed90ldrsb x27, [x2]
    0058ed94ldr x1, [x2+32]
    0058ed98str x1, [sp+184]
    0058ed9cldr x0, [sp+120]
    0058eda0bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    0058eda4str x0, [sp+208]
    0058eda8str x1, [sp+216]
    0058edacstr x2, [sp+224]
    0058edb0adrp x0, 0xb9000
    0058edb4add x0, x0, 4032
    0058edb8bl runtime.newobject
    0058edbcstr x0, [sp+176]
    0058edc0ldr x2, [sp+72]
    0058edc4ldrsb x27, [x2]
    0058edc8adrp x27, 0x4bd000
    0058edccldr w3, [x27+3056]
    0058edd0cbz w3, 0x58edd8
    0058edd4b 0x58eddc
    0058edd8
    0058edd8loc_58edd8:
    0058edd8b 0x58ee00
    0058eddc
    0058eddcloc_58eddc:
    0058eddcstr x0, [sp+160]
    0058ede0str x2, [sp+152]
    0058ede4mov x1, x0
    0058ede8adrp x0, 0xb9000
    0058edecadd x0, x0, 3872
    0058edf0bl runtime.wbMove
    0058edf4ldr x0, [sp+160]
    0058edf8ldr x2, [sp+152]
    0058edfcb 0x58ee00
    0058ee00
    0058ee00loc_58ee00:
    0058ee00ldp x3, x4, [x2]
    0058ee04ldp x5, x6, [x2+16]
    0058ee08stp x3, x4, [x0]
    0058ee0cstp x5, x6, [x0+16]
    0058ee10ldr x3, [x2+32]
    0058ee14str x3, [x0+32]
    0058ee18ldr x3, [sp+176]
    0058ee1cldrsb x27, [x3]
    0058ee20ldr x4, [sp+208]
    0058ee24ldr x5, [sp+216]
    0058ee28ldr x6, [sp+224]
    0058ee2cstr x5, [x3+48]
    0058ee30str x6, [x3+56]
    0058ee34adrp x27, 0x4bd000
    0058ee38ldr w5, [x27+3056]
    0058ee3ccbz w5, 0x58ee44
    0058ee40b 0x58ee48
    0058ee44
    0058ee44loc_58ee44:
    0058ee44b 0x58ee5c
    0058ee48
    0058ee48loc_58ee48:
    0058ee48bl runtime.gcWriteBarrier2
    0058ee4cstr x4, [x25]
    0058ee50ldr x5, [x3+40]
    0058ee54str x5, [x25+8]
    0058ee58b 0x58ee5c
    0058ee5c
    0058ee5cloc_58ee5c:
    0058ee5cstr x4, [x3+40]
    0058ee60ldr x3, [sp+176]
    0058ee64str x3, [sp+80]
    0058ee68ldr x3, [sp+312]
    0058ee6cldrsb x27, [x3]
    0058ee70ldr x0, [x3+8]
    0058ee74str x0, [sp+168]
    0058ee78ldr x2, [sp+80]
    0058ee7cldr x1, [sp+320]
    0058ee80bl crypto/internal/fips140/ecdsa.fipsPCT[go.shape.*crypto/internal/fips140/nistec.P256Point]
    0058ee84str x0, [sp+88]
    0058ee88str x1, [sp+96]
    0058ee8ccbnz x0, 0x58ee94
    0058ee90b 0x58eeb8
    0058ee94
    0058ee94loc_58ee94:
    0058ee94str xzr, [sp+64]
    0058ee98ldr x1, [sp+88]
    0058ee9cldr x2, [sp+96]
    0058eea0str x1, [sp+48]
    0058eea4str x2, [sp+56]
    0058eea8ldr x0, [sp+64]
    0058eeacldp x29, x30, [sp-8]
    0058eeb0add sp, sp, 304
    0058eeb4ret x30
    0058eeb8
    0058eeb8loc_58eeb8:
    0058eeb8ldr x3, [sp+80]
    0058eebcstr x3, [sp+64]
    0058eec0stp xzr, xzr, [sp+48]
    0058eec4ldr x0, [sp+64]
    0058eec8mov x1, xzr
    0058eeccmov x2, xzr
    0058eed0ldp x29, x30, [sp-8]
    0058eed4add sp, sp, 304
    0058eed8ret x30
    0058eedc
    0058eedcloc_58eedc:
    0058eedcstp x0, x1, [sp+8]
    0058eee0stp x2, x3, [sp+24]
    0058eee4stp x4, x5, [sp+40]
    0058eee8stp x6, x7, [sp+56]
    0058eeecmov x3, x30
    0058eef0bl runtime.morestack_noctxt.abi0
    0058eef4ldp x0, x1, [sp+8]
    0058eef8ldp x2, x3, [sp+24]
    0058eefcldp x4, x5, [sp+40]
    0058ef00ldp x6, x7, [sp+56]
    0058ef04b 0x58ec10
    0058ef08udf 0
    0058ef0cudf 0
    0058ec10
    0058ef10
    0058ef10crypto/internal/fips140/ecdsa.fipsPCT[go.shape.*crypto/internal/fips140/nistec.P256Point]: ; void crypto/internal/fips140/ecdsa.fipsPCT[go.shape.*crypto/internal/fips140/nistec.P256Point](uintptr[3] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P256Point] * c, crypto/internal/fips140/ecdsa.PrivateKey * k)
    0058ef10ldr x16, [x28+16]
    0058ef14subs xzr, sp, x16
    0058ef18b.ls 0x58f024
    0058ef1cstr x30, [sp-112]!
    0058ef20stur x29, [sp-8]
    0058ef24sub x29, sp, 8
    0058ef28str x0, [sp+120]
    0058ef2cstr x1, [sp+128]
    0058ef30str x2, [sp+136]
    0058ef34stp xzr, xzr, [sp+32]
    0058ef38stp xzr, xzr, [sp+72]
    0058ef3cstp xzr, xzr, [sp+88]
    0058ef40add x3, sp, 72
    0058ef44str x3, [sp+48]
    0058ef48ldrsb x27, [x3]
    0058ef4cadrp x4, 4096
    0058ef50add x4, x4, 64
    0058ef54str x4, [x3]
    0058ef58ldrsb x27, [x3]
    0058ef5cldr x4, [sp+136]
    0058ef60adrp x27, 0x4bd000
    0058ef64ldr w5, [x27+3056]
    0058ef68cbz w5, 0x58ef70
    0058ef6cb 0x58ef74
    0058ef70
    0058ef70loc_58ef70:
    0058ef70b 0x58ef88
    0058ef74
    0058ef74loc_58ef74:
    0058ef74bl runtime.gcWriteBarrier2
    0058ef78str x4, [x25]
    0058ef7cldr x5, [x3+8]
    0058ef80str x5, [x25+8]
    0058ef84b 0x58ef88
    0058ef88
    0058ef88loc_58ef88:
    0058ef88str x4, [x3+8]
    0058ef8cldrsb x27, [x3]
    0058ef90ldr x4, [sp+128]
    0058ef94adrp x27, 0x4bd000
    0058ef98ldr w5, [x27+3056]
    0058ef9ccbz w5, 0x58efa4
    0058efa0b 0x58efa8
    0058efa4
    0058efa4loc_58efa4:
    0058efa4b 0x58efbc
    0058efa8
    0058efa8loc_58efa8:
    0058efa8bl runtime.gcWriteBarrier2
    0058efacstr x4, [x25]
    0058efb0ldr x5, [x3+16]
    0058efb4str x5, [x25+8]
    0058efb8b 0x58efbc
    0058efbc
    0058efbcloc_58efbc:
    0058efbcstr x4, [x3+16]
    0058efc0ldrsb x27, [x3]
    0058efc4ldr x4, [sp+120]
    0058efc8adrp x27, 0x4bd000
    0058efccldr w5, [x27+3056]
    0058efd0cbz w5, 0x58efd8
    0058efd4b 0x58efdc
    0058efd8
    0058efd8loc_58efd8:
    0058efd8b 0x58eff0
    0058efdc
    0058efdcloc_58efdc:
    0058efdcbl runtime.gcWriteBarrier2
    0058efe0str x4, [x25]
    0058efe4ldr x5, [x3+24]
    0058efe8str x5, [x25+8]
    0058efecb 0x58eff0
    0058eff0
    0058eff0loc_58eff0:
    0058eff0str x4, [x3+24]
    0058eff4ldr x2, [sp+48]
    0058eff8adrp x0, 0x123000
    0058effcadd x0, x0, 4009
    0058f000movz x1, 9
    0058f004bl crypto/internal/fips140.PCT
    0058f008str x0, [sp+56]
    0058f00cstr x1, [sp+64]
    0058f010str x0, [sp+32]
    0058f014str x1, [sp+40]
    0058f018ldur x29, [sp-8]
    0058f01cldr x30, [sp], 112
    0058f020ret x30
    0058f024
    0058f024loc_58f024:
    0058f024stp x0, x1, [sp+8]
    0058f028str x2, [sp+24]
    0058f02cmov x3, x30
    0058f030bl runtime.morestack_noctxt.abi0
    0058f034ldp x0, x1, [sp+8]
    0058f038ldr x2, [sp+24]
    0058f03cb 0x58ef10
    0058ef10
    0058f040
    0058f040crypto/internal/fips140/ecdsa.fipsPCT[go.shape.*crypto/internal/fips140/nistec.P256Point].func1: ; void crypto/internal/fips140/ecdsa.fipsPCT[go.shape.*crypto/internal/fips140/nistec.P256Point].func1(void)
    0058f040ldr x16, [x28+16]
    0058f044sub x17, sp, 192
    0058f048subs xzr, x17, x16
    0058f04cb.ls 0x58f1e8
    0058f050sub x20, sp, 320
    0058f054stp x29, x30, [x20-8]
    0058f058add sp, x20, 0
    0058f05csub x29, sp, 8
    0058f060ldr x0, [x26+8]
    0058f064str x0, [sp+112]
    0058f068ldr x0, [x26+16]
    0058f06cstr x0, [sp+168]
    0058f070ldr x0, [x26+24]
    0058f074str x0, [sp+176]
    0058f078stp xzr, xzr, [sp+88]
    0058f07cbl crypto/internal/fips140/ecdsa.testHash
    0058f080str x0, [sp+120]
    0058f084str x1, [sp+128]
    0058f088str x2, [sp+136]
    0058f08cbl crypto/internal/fips140/ecdsa.P256
    0058f090str x0, [sp+216]
    0058f094ldr x2, [sp+120]
    0058f098ldr x3, [sp+128]
    0058f09cldr x4, [sp+136]
    0058f0a0mov x1, x0
    0058f0a4adrp x0, 0x183000
    0058f0a8add x0, x0, 1952
    0058f0acbl crypto/internal/fips140/ecdsa.bits2octets[go.shape.*crypto/internal/fips140/nistec.P256Point]
    0058f0b0str x0, [sp+192]
    0058f0b4str x1, [sp+200]
    0058f0b8str x2, [sp+208]
    0058f0bcldr x0, [sp+112]
    0058f0c0ldrsb x27, [x0]
    0058f0c4ldr x2, [x0+40]
    0058f0c8ldr x3, [x0+48]
    0058f0ccldr x4, [x0+56]
    0058f0d0str x2, [sp+272]
    0058f0d4str x3, [sp+280]
    0058f0d8str x4, [sp+288]
    0058f0dcldr x5, [sp+192]
    0058f0e0ldr x6, [sp+200]
    0058f0e4ldr x7, [sp+208]
    0058f0e8adrp x0, 0x184000
    0058f0ecadd x0, x0, 1504
    0058f0f0adrp x1, 0x14a000
    0058f0f4add x1, x1, 840
    0058f0f8mov x8, xzr
    0058f0fcmov x9, xzr
    0058f100bl crypto/internal/fips140/ecdsa.newDRBG[go.shape.*uint8]
    0058f104str x0, [sp+160]
    0058f108str xzr, [sp+184]
    0058f10cstp xzr, xzr, [sp+296]
    0058f110ldr x0, [sp+176]
    0058f114ldrsb x27, [x0]
    0058f118ldr x0, [x0]
    0058f11cstr x0, [sp+264]
    0058f120ldr x4, [sp+120]
    0058f124ldr x3, [sp+160]
    0058f128ldr x2, [sp+112]
    0058f12cldr x1, [sp+168]
    0058f130ldr x5, [sp+128]
    0058f134ldr x6, [sp+136]
    0058f138bl crypto/internal/fips140/ecdsa.sign[go.shape.*crypto/internal/fips140/nistec.P256Point]
    0058f13cstr x0, [sp+184]
    0058f140str x1, [sp+296]
    0058f144str x2, [sp+304]
    0058f148ldr x0, [sp+184]
    0058f14cstr x0, [sp+240]
    0058f150ldr x0, [sp+296]
    0058f154ldr x1, [sp+304]
    0058f158str x0, [sp+224]
    0058f15cstr x1, [sp+232]
    0058f160ldr x0, [sp+240]
    0058f164str x0, [sp+104]
    0058f168ldr x1, [sp+232]
    0058f16cldr x0, [sp+224]
    0058f170str x0, [sp+144]
    0058f174str x1, [sp+152]
    0058f178cbnz x0, 0x58f180
    0058f17cb 0x58f194
    0058f180
    0058f180loc_58f180:
    0058f180str x0, [sp+88]
    0058f184str x1, [sp+96]
    0058f188ldp x29, x30, [sp-8]
    0058f18cadd sp, sp, 320
    0058f190ret x30
    0058f194
    0058f194loc_58f194:
    0058f194ldr x7, [sp+176]
    0058f198ldrsb x27, [x7]
    0058f19cldr x7, [x7+8]
    0058f1a0str x7, [sp+256]
    0058f1a4ldr x2, [sp+112]
    0058f1a8ldrsb x27, [x2]
    0058f1acstr x2, [sp+248]
    0058f1b0ldr x3, [sp+120]
    0058f1b4ldr x6, [sp+104]
    0058f1b8ldr x1, [sp+168]
    0058f1bcldr x4, [sp+128]
    0058f1c0ldr x5, [sp+136]
    0058f1c4ldr x0, [sp+256]
    0058f1c8bl crypto/internal/fips140/ecdsa.Verify[go.shape.*crypto/internal/fips140/nistec.P256Point]
    0058f1ccstr x0, [sp+296]
    0058f1d0str x1, [sp+304]
    0058f1d4str x0, [sp+88]
    0058f1d8str x1, [sp+96]
    0058f1dcldp x29, x30, [sp-8]
    0058f1e0add sp, sp, 320
    0058f1e4ret x30
    0058f1e8
    0058f1e8loc_58f1e8:
    0058f1e8mov x3, x30
    0058f1ecbl runtime.morestack.abi0
    0058f1f0b 0x58f040
    0058f1f4udf 0
    0058f1f8udf 0
    0058f1fcudf 0
    0058f040