File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    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
    0058f200
    0058f200crypto/internal/fips140/ecdsa.SignDeterministic[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.SignDeterministic[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, struct []uint8 hash)
    0058f200ldr x16, [x28+16]
    0058f204sub x17, sp, 160
    0058f208subs xzr, x17, x16
    0058f20cb.ls 0x58f3f4
    0058f210sub x20, sp, 288
    0058f214stp x29, x30, [x20-8]
    0058f218add sp, x20, 0
    0058f21csub x29, sp, 8
    0058f220str x0, [sp+296]
    0058f224str x1, [sp+304]
    0058f228str x2, [sp+312]
    0058f22cstr x3, [sp+320]
    0058f230str x4, [sp+328]
    0058f234str x5, [sp+336]
    0058f238str x6, [sp+344]
    0058f23cstr xzr, [sp+112]
    0058f240stp xzr, xzr, [sp+96]
    0058f244ldr x3, [sp+320]
    0058f248ldrsb x27, [x3]
    0058f24cldr x4, [x3]
    0058f250ldr x3, [x3+8]
    0058f254str x4, [sp+216]
    0058f258str x3, [sp+224]
    0058f25cldr x3, [sp+304]
    0058f260ldrsb x27, [x3]
    0058f264ldr x1, [x3]
    0058f268ldr x3, [x3+8]
    0058f26cstr x1, [sp+200]
    0058f270str x3, [sp+208]
    0058f274ldr x4, [sp+224]
    0058f278subs xzr, x4, x3
    0058f27cb.ne 0x58f284
    0058f280b 0x58f288
    0058f284
    0058f284loc_58f284:
    0058f284b 0x58f3b8
    0058f288
    0058f288loc_58f288:
    0058f288ldr x2, [sp+224]
    0058f28cldr x0, [sp+216]
    0058f290bl runtime.memequal
    0058f294tbnz w0, 0, 0x58f29c
    0058f298b 0x58f3b4
    0058f29c
    0058f29cloc_58f29c:
    0058f29cbl crypto/internal/fips140.RecordApproved
    0058f2a0adrp x27, 0x492000
    0058f2a4ldr x26, [x27+336]
    0058f2a8ldr x0, [x26]
    0058f2acblr x0
    0058f2b0ldr x0, [sp+296]
    0058f2b4ldrsb x27, [x0]
    0058f2b8ldr x0, [x0+8]
    0058f2bcstr x0, [sp+192]
    0058f2c0ldr x2, [sp+328]
    0058f2c4ldr x1, [sp+304]
    0058f2c8ldr x3, [sp+336]
    0058f2ccldr x4, [sp+344]
    0058f2d0bl crypto/internal/fips140/ecdsa.bits2octets[go.shape.*crypto/internal/fips140/nistec.P224Point]
    0058f2d4str x0, [sp+240]
    0058f2d8str x1, [sp+248]
    0058f2dcstr x2, [sp+256]
    0058f2e0ldr x0, [sp+296]
    0058f2e4ldrsb x27, [x0]
    0058f2e8ldr x0, [x0]
    0058f2ecstr x0, [sp+184]
    0058f2f0ldr x0, [sp+320]
    0058f2f4ldrsb x27, [x0]
    0058f2f8ldr x2, [x0+40]
    0058f2fcldr x3, [x0+48]
    0058f300ldr x4, [x0+56]
    0058f304str x2, [sp+160]
    0058f308str x3, [sp+168]
    0058f30cstr x4, [sp+176]
    0058f310ldr x1, [sp+312]
    0058f314ldr x5, [sp+240]
    0058f318ldr x6, [sp+248]
    0058f31cldr x7, [sp+256]
    0058f320ldr x0, [sp+184]
    0058f324mov x8, xzr
    0058f328mov x9, xzr
    0058f32cbl crypto/internal/fips140/ecdsa.newDRBG[go.shape.interface { BlockSize() int; Reset(); Size() int; Sum([]uint8) []uint8; Write([]uint8) (int, error) }]
    0058f330str x0, [sp+120]
    0058f334str xzr, [sp+232]
    0058f338stp xzr, xzr, [sp+264]
    0058f33cldr x0, [sp+296]
    0058f340ldrsb x27, [x0]
    0058f344ldr x0, [x0+16]
    0058f348str x0, [sp+152]
    0058f34cldr x4, [sp+328]
    0058f350ldr x3, [sp+120]
    0058f354ldr x2, [sp+320]
    0058f358ldr x1, [sp+304]
    0058f35cldr x5, [sp+336]
    0058f360ldr x6, [sp+344]
    0058f364bl crypto/internal/fips140/ecdsa.sign[go.shape.*crypto/internal/fips140/nistec.P224Point]
    0058f368str x0, [sp+232]
    0058f36cstr x1, [sp+264]
    0058f370str x2, [sp+272]
    0058f374ldr x0, [sp+232]
    0058f378str x0, [sp+144]
    0058f37cldr x0, [sp+264]
    0058f380ldr x1, [sp+272]
    0058f384str x0, [sp+128]
    0058f388str x1, [sp+136]
    0058f38cldr x0, [sp+144]
    0058f390str x0, [sp+112]
    0058f394ldr x1, [sp+128]
    0058f398ldr x2, [sp+136]
    0058f39cstr x1, [sp+96]
    0058f3a0str x2, [sp+104]
    0058f3a4ldr x0, [sp+112]
    0058f3a8ldp x29, x30, [sp-8]
    0058f3acadd sp, sp, 288
    0058f3b0ret x30
    0058f3b4
    0058f3b4loc_58f3b4:
    0058f3b4b 0x58f3b8
    0058f3b8
    0058f3b8loc_58f3b8:
    0058f3b8adrp x0, 0x134000
    0058f3bcadd x0, x0, 3211
    0058f3c0movz x1, 39
    0058f3c4bl errors.New
    0058f3c8str x0, [sp+264]
    0058f3ccstr x1, [sp+272]
    0058f3d0str xzr, [sp+112]
    0058f3d4ldr x1, [sp+264]
    0058f3d8ldr x2, [sp+272]
    0058f3dcstr x1, [sp+96]
    0058f3e0str x2, [sp+104]
    0058f3e4ldr x0, [sp+112]
    0058f3e8ldp x29, x30, [sp-8]
    0058f3ecadd sp, sp, 288
    0058f3f0ret x30
    0058f3f4
    0058f3f4loc_58f3f4:
    0058f3f4stp x0, x1, [sp+8]
    0058f3f8stp x2, x3, [sp+24]
    0058f3fcstp x4, x5, [sp+40]
    0058f400str x6, [sp+56]
    0058f404mov x3, x30
    0058f408bl runtime.morestack_noctxt.abi0
    0058f40cldp x0, x1, [sp+8]
    0058f410ldp x2, x3, [sp+24]
    0058f414ldp x4, x5, [sp+40]
    0058f418ldr x6, [sp+56]
    0058f41cb 0x58f200
    0058f200
    0058f420
    0058f420crypto/internal/fips140/ecdsa.sign[go.shape.*crypto/internal/fips140/nistec.P224Point]: ; void crypto/internal/fips140/ecdsa.sign[go.shape.*crypto/internal/fips140/nistec.P224Point](uintptr[2] * 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)
    0058f420ldr x16, [x28+16]
    0058f424sub x17, sp, 32
    0058f428subs xzr, x17, x16
    0058f42cb.ls 0x58f4e0
    0058f430str x30, [sp-160]!
    0058f434stur x29, [sp-8]
    0058f438sub x29, sp, 8
    0058f43cstr x0, [sp+168]
    0058f440str x1, [sp+176]
    0058f444str x2, [sp+184]
    0058f448str x3, [sp+192]
    0058f44cstr x4, [sp+200]
    0058f450str x5, [sp+208]
    0058f454str x6, [sp+216]
    0058f458str xzr, [sp+88]
    0058f45cstp xzr, xzr, [sp+72]
    0058f460str xzr, [sp+96]
    0058f464stp xzr, xzr, [sp+136]
    0058f468ldr x7, [sp+168]
    0058f46cldrsb x27, [x7]
    0058f470ldr x0, [x7]
    0058f474str x0, [sp+128]
    0058f478ldr x4, [sp+200]
    0058f47cldr x3, [sp+192]
    0058f480ldr x2, [sp+184]
    0058f484ldr x1, [sp+176]
    0058f488ldr x5, [sp+208]
    0058f48cldr x6, [sp+216]
    0058f490bl crypto/internal/fips140/ecdsa.signGeneric[go.shape.*crypto/internal/fips140/nistec.P224Point]
    0058f494str x0, [sp+96]
    0058f498str x1, [sp+136]
    0058f49cstr x2, [sp+144]
    0058f4a0ldr x7, [sp+96]
    0058f4a4str x7, [sp+120]
    0058f4a8ldr x7, [sp+136]
    0058f4acldr x8, [sp+144]
    0058f4b0str x7, [sp+104]
    0058f4b4str x8, [sp+112]
    0058f4b8ldr x7, [sp+120]
    0058f4bcstr x7, [sp+88]
    0058f4c0ldr x1, [sp+104]
    0058f4c4ldr x2, [sp+112]
    0058f4c8str x1, [sp+72]
    0058f4ccstr x2, [sp+80]
    0058f4d0ldr x0, [sp+88]
    0058f4d4ldur x29, [sp-8]
    0058f4d8ldr x30, [sp], 160
    0058f4dcret x30
    0058f4e0
    0058f4e0loc_58f4e0:
    0058f4e0stp x0, x1, [sp+8]
    0058f4e4stp x2, x3, [sp+24]
    0058f4e8stp x4, x5, [sp+40]
    0058f4ecstr x6, [sp+56]
    0058f4f0mov x3, x30
    0058f4f4bl runtime.morestack_noctxt.abi0
    0058f4f8ldp x0, x1, [sp+8]
    0058f4fcldp x2, x3, [sp+24]
    0058f500ldp x4, x5, [sp+40]
    0058f504ldr x6, [sp+56]
    0058f508b 0x58f420
    0058f50cudf 0
    0058f420
    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