File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    0058b490
    0058b490crypto/internal/fips140/ecdsa.verifyGeneric[go.shape.*crypto/internal/fips140/nistec.P224Point]: ; void crypto/internal/fips140/ecdsa.verifyGeneric[go.shape.*crypto/internal/fips140/nistec.P224Point](uintptr[9] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P224Point] * c, crypto/internal/fips140/ecdsa.PublicKey * pub, struct []uint8 hash, crypto/internal/fips140/ecdsa.Signature * sig)
    0058b490ldr x16, [x28+16]
    0058b494sub x17, sp, 464
    0058b498subs xzr, x17, x16
    0058b49cb.ls 0x58bb30
    0058b4a0sub x20, sp, 592
    0058b4a4stp x29, x30, [x20-8]
    0058b4a8add sp, x20, 0
    0058b4acsub x29, sp, 8
    0058b4b0str x0, [sp+600]
    0058b4b4str x1, [sp+608]
    0058b4b8str x2, [sp+616]
    0058b4bcstr x3, [sp+624]
    0058b4c0str x4, [sp+632]
    0058b4c4str x5, [sp+640]
    0058b4c8str x6, [sp+648]
    0058b4ccstp xzr, xzr, [sp+64]
    0058b4d0ldr x0, [sp+608]
    0058b4d4ldrsb x27, [x0]
    0058b4d8ldr x26, [x0+16]
    0058b4dcldr x0, [x26]
    0058b4e0blr x0
    0058b4e4str x0, [sp+416]
    0058b4e8str xzr, [sp+408]
    0058b4ecstp xzr, xzr, [sp+392]
    0058b4f0ldr x0, [sp+616]
    0058b4f4ldrsb x27, [x0]
    0058b4f8ldr x1, [x0+16]
    0058b4fcldr x2, [x0+24]
    0058b500ldr x3, [x0+32]
    0058b504str x1, [sp+328]
    0058b508str x2, [sp+336]
    0058b50cstr x3, [sp+344]
    0058b510ldr x26, [sp+600]
    0058b514ldrsb x27, [x26]
    0058b518ldr x0, [x26]
    0058b51cldr x4, [sp+416]
    0058b520mov x5, x0
    0058b524mov x0, x4
    0058b528blr x5
    0058b52cstr x0, [sp+408]
    0058b530str x1, [sp+392]
    0058b534str x2, [sp+400]
    0058b538ldr x0, [sp+408]
    0058b53cstr x0, [sp+200]
    0058b540ldr x0, [sp+392]
    0058b544ldr x1, [sp+400]
    0058b548str x0, [sp+184]
    0058b54cstr x1, [sp+192]
    0058b550ldr x0, [sp+200]
    0058b554str x0, [sp+176]
    0058b558ldr x1, [sp+192]
    0058b55cldr x0, [sp+184]
    0058b560str x0, [sp+128]
    0058b564str x1, [sp+136]
    0058b568cbnz x0, 0x58b570
    0058b56cb 0x58b584
    0058b570
    0058b570loc_58b570:
    0058b570str x0, [sp+64]
    0058b574str x1, [sp+72]
    0058b578ldp x29, x30, [sp-8]
    0058b57cadd sp, sp, 592
    0058b580ret x30
    0058b584
    0058b584loc_58b584:
    0058b584bl crypto/internal/fips140/bigmod.NewNat
    0058b588str x0, [sp+384]
    0058b58cstr xzr, [sp+376]
    0058b590stp xzr, xzr, [sp+392]
    0058b594ldr x0, [sp+648]
    0058b598ldrsb x27, [x0]
    0058b59cldr x1, [x0]
    0058b5a0ldr x2, [x0+8]
    0058b5a4ldr x0, [x0+16]
    0058b5a8str x1, [sp+304]
    0058b5acstr x2, [sp+312]
    0058b5b0str x0, [sp+320]
    0058b5b4ldr x0, [sp+608]
    0058b5b8ldrsb x27, [x0]
    0058b5bcldr x4, [x0+32]
    0058b5c0str x4, [sp+296]
    0058b5c4ldr x1, [sp+304]
    0058b5c8ldr x2, [sp+312]
    0058b5ccldr x3, [sp+320]
    0058b5d0ldr x0, [sp+384]
    0058b5d4bl crypto/internal/fips140/bigmod.(*Nat).SetBytes
    0058b5d8str x0, [sp+376]
    0058b5dcstr x1, [sp+392]
    0058b5e0str x2, [sp+400]
    0058b5e4ldr x0, [sp+376]
    0058b5e8str x0, [sp+576]
    0058b5ecldr x0, [sp+392]
    0058b5f0ldr x1, [sp+400]
    0058b5f4str x0, [sp+560]
    0058b5f8str x1, [sp+568]
    0058b5fcldr x0, [sp+576]
    0058b600str x0, [sp+104]
    0058b604ldr x1, [sp+568]
    0058b608ldr x0, [sp+560]
    0058b60cstr x0, [sp+128]
    0058b610str x1, [sp+136]
    0058b614cbnz x0, 0x58b61c
    0058b618b 0x58b630
    0058b61c
    0058b61cloc_58b61c:
    0058b61cstr x0, [sp+64]
    0058b620str x1, [sp+72]
    0058b624ldp x29, x30, [sp-8]
    0058b628add sp, sp, 592
    0058b62cret x30
    0058b630
    0058b630loc_58b630:
    0058b630ldr x0, [sp+104]
    0058b634bl crypto/internal/fips140/bigmod.(*Nat).IsZero
    0058b638str x0, [sp+56]
    0058b63csubs xzr, x0, 1
    0058b640b.eq 0x58b648
    0058b644b 0x58b674
    0058b648
    0058b648loc_58b648:
    0058b648adrp x0, 0x135000
    0058b64cadd x0, x0, 4031
    0058b650movz x1, 35
    0058b654bl errors.New
    0058b658str x0, [sp+392]
    0058b65cstr x1, [sp+400]
    0058b660str x0, [sp+64]
    0058b664str x1, [sp+72]
    0058b668ldp x29, x30, [sp-8]
    0058b66cadd sp, sp, 592
    0058b670ret x30
    0058b674
    0058b674loc_58b674:
    0058b674bl crypto/internal/fips140/bigmod.NewNat
    0058b678str x0, [sp+376]
    0058b67cstr xzr, [sp+384]
    0058b680stp xzr, xzr, [sp+392]
    0058b684ldr x0, [sp+648]
    0058b688ldrsb x27, [x0]
    0058b68cldr x1, [x0+24]
    0058b690ldr x2, [x0+32]
    0058b694ldr x0, [x0+40]
    0058b698str x1, [sp+272]
    0058b69cstr x2, [sp+280]
    0058b6a0str x0, [sp+288]
    0058b6a4ldr x0, [sp+608]
    0058b6a8ldrsb x27, [x0]
    0058b6acldr x4, [x0+32]
    0058b6b0str x4, [sp+264]
    0058b6b4ldr x1, [sp+272]
    0058b6b8ldr x2, [sp+280]
    0058b6bcldr x3, [sp+288]
    0058b6c0ldr x0, [sp+376]
    0058b6c4bl crypto/internal/fips140/bigmod.(*Nat).SetBytes
    0058b6c8str x0, [sp+384]
    0058b6ccstr x1, [sp+392]
    0058b6d0str x2, [sp+400]
    0058b6d4ldr x0, [sp+384]
    0058b6d8str x0, [sp+552]
    0058b6dcldr x0, [sp+392]
    0058b6e0ldr x1, [sp+400]
    0058b6e4str x0, [sp+536]
    0058b6e8str x1, [sp+544]
    0058b6ecldr x0, [sp+552]
    0058b6f0str x0, [sp+96]
    0058b6f4ldr x1, [sp+544]
    0058b6f8ldr x0, [sp+536]
    0058b6fcstr x0, [sp+128]
    0058b700str x1, [sp+136]
    0058b704cbnz x0, 0x58b70c
    0058b708b 0x58b720
    0058b70c
    0058b70cloc_58b70c:
    0058b70cstr x0, [sp+64]
    0058b710str x1, [sp+72]
    0058b714ldp x29, x30, [sp-8]
    0058b718add sp, sp, 592
    0058b71cret x30
    0058b720
    0058b720loc_58b720:
    0058b720ldr x0, [sp+96]
    0058b724bl crypto/internal/fips140/bigmod.(*Nat).IsZero
    0058b728str x0, [sp+56]
    0058b72csubs xzr, x0, 1
    0058b730b.eq 0x58b738
    0058b734b 0x58b764
    0058b738
    0058b738loc_58b738:
    0058b738adrp x0, 0x135000
    0058b73cadd x0, x0, 4066
    0058b740movz x1, 35
    0058b744bl errors.New
    0058b748str x0, [sp+392]
    0058b74cstr x1, [sp+400]
    0058b750str x0, [sp+64]
    0058b754str x1, [sp+72]
    0058b758ldp x29, x30, [sp-8]
    0058b75cadd sp, sp, 592
    0058b760ret x30
    0058b764
    0058b764loc_58b764:
    0058b764bl crypto/internal/fips140/bigmod.NewNat
    0058b768str x0, [sp+144]
    0058b76cldr x0, [sp+600]
    0058b770ldrsb x27, [x0]
    0058b774ldr x0, [x0+40]
    0058b778str x0, [sp+256]
    0058b77cldr x3, [sp+624]
    0058b780ldr x2, [sp+144]
    0058b784ldr x1, [sp+608]
    0058b788ldr x4, [sp+632]
    0058b78cldr x5, [sp+640]
    0058b790bl crypto/internal/fips140/ecdsa.hashToNat[go.shape.*crypto/internal/fips140/nistec.P224Point]
    0058b794bl crypto/internal/fips140/bigmod.NewNat
    0058b798str x0, [sp+80]
    0058b79cldr x0, [sp+600]
    0058b7a0ldrsb x27, [x0]
    0058b7a4ldr x0, [x0+48]
    0058b7a8str x0, [sp+248]
    0058b7acldr x2, [sp+80]
    0058b7b0ldr x3, [sp+96]
    0058b7b4ldr x1, [sp+608]
    0058b7b8bl crypto/internal/fips140/ecdsa.inverse[go.shape.*crypto/internal/fips140/nistec.P224Point]
    0058b7bcldr x0, [sp+608]
    0058b7c0ldrsb x27, [x0]
    0058b7c4ldr x26, [x0+16]
    0058b7c8ldr x0, [x26]
    0058b7ccblr x0
    0058b7d0str x0, [sp+408]
    0058b7d4ldr x0, [sp+608]
    0058b7d8ldrsb x27, [x0]
    0058b7dcldr x2, [x0+32]
    0058b7e0str x2, [sp+240]
    0058b7e4ldr x0, [sp+144]
    0058b7e8ldr x1, [sp+80]
    0058b7ecbl crypto/internal/fips140/bigmod.(*Nat).Mul
    0058b7f0str x0, [sp+384]
    0058b7f4ldr x0, [sp+608]
    0058b7f8ldrsb x27, [x0]
    0058b7fcldr x1, [x0+32]
    0058b800str x1, [sp+232]
    0058b804ldr x0, [sp+384]
    0058b808bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    0058b80cstr x0, [sp+352]
    0058b810str x1, [sp+360]
    0058b814str x2, [sp+368]
    0058b818str xzr, [sp+416]
    0058b81cstp xzr, xzr, [sp+392]
    0058b820ldr x0, [sp+600]
    0058b824ldrsb x27, [x0]
    0058b828add x26, x0, 8
    0058b82cldr x0, [x0+8]
    0058b830ldr x1, [sp+352]
    0058b834ldr x2, [sp+360]
    0058b838ldr x3, [sp+368]
    0058b83cldr x4, [sp+408]
    0058b840mov x5, x0
    0058b844mov x0, x4
    0058b848blr x5
    0058b84cstr x0, [sp+416]
    0058b850str x1, [sp+392]
    0058b854str x2, [sp+400]
    0058b858ldr x0, [sp+416]
    0058b85cstr x0, [sp+528]
    0058b860ldr x0, [sp+392]
    0058b864ldr x1, [sp+400]
    0058b868str x0, [sp+512]
    0058b86cstr x1, [sp+520]
    0058b870ldr x0, [sp+528]
    0058b874str x0, [sp+120]
    0058b878ldr x1, [sp+520]
    0058b87cldr x0, [sp+512]
    0058b880str x0, [sp+128]
    0058b884str x1, [sp+136]
    0058b888cbnz x0, 0x58b890
    0058b88cb 0x58b8a4
    0058b890
    0058b890loc_58b890:
    0058b890str x0, [sp+64]
    0058b894str x1, [sp+72]
    0058b898ldp x29, x30, [sp-8]
    0058b89cadd sp, sp, 592
    0058b8a0ret x30
    0058b8a4
    0058b8a4loc_58b8a4:
    0058b8a4ldr x3, [sp+608]
    0058b8a8ldrsb x27, [x3]
    0058b8acldr x2, [x3+32]
    0058b8b0str x2, [sp+224]
    0058b8b4ldr x0, [sp+80]
    0058b8b8ldr x1, [sp+104]
    0058b8bcbl crypto/internal/fips140/bigmod.(*Nat).Mul
    0058b8c0str x0, [sp+384]
    0058b8c4ldr x3, [sp+608]
    0058b8c8ldrsb x27, [x3]
    0058b8ccldr x1, [x3+32]
    0058b8d0str x1, [sp+216]
    0058b8d4ldr x0, [sp+384]
    0058b8d8bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    0058b8dcstr x0, [sp+352]
    0058b8e0str x1, [sp+360]
    0058b8e4str x2, [sp+368]
    0058b8e8str xzr, [sp+416]
    0058b8ecstp xzr, xzr, [sp+392]
    0058b8f0ldr x3, [sp+600]
    0058b8f4ldrsb x27, [x3]
    0058b8f8add x26, x3, 16
    0058b8fcldr x0, [sp+176]
    0058b900ldr x1, [sp+176]
    0058b904ldr x3, [x3+16]
    0058b908ldr x2, [sp+352]
    0058b90cldr x4, [sp+360]
    0058b910ldr x5, [sp+368]
    0058b914mov x6, x3
    0058b918mov x3, x4
    0058b91cmov x4, x5
    0058b920blr x6
    0058b924str x0, [sp+416]
    0058b928str x1, [sp+392]
    0058b92cstr x2, [sp+400]
    0058b930ldr x3, [sp+416]
    0058b934str x3, [sp+504]
    0058b938ldr x3, [sp+392]
    0058b93cldr x4, [sp+400]
    0058b940str x3, [sp+488]
    0058b944str x4, [sp+496]
    0058b948ldr x3, [sp+504]
    0058b94cstr x3, [sp+112]
    0058b950ldr x1, [sp+496]
    0058b954ldr x0, [sp+488]
    0058b958str x0, [sp+128]
    0058b95cstr x1, [sp+136]
    0058b960cbnz x0, 0x58b968
    0058b964b 0x58b97c
    0058b968
    0058b968loc_58b968:
    0058b968str x0, [sp+64]
    0058b96cstr x1, [sp+72]
    0058b970ldp x29, x30, [sp-8]
    0058b974add sp, sp, 592
    0058b978ret x30
    0058b97c
    0058b97cloc_58b97c:
    0058b97cldr x3, [sp+600]
    0058b980ldrsb x27, [x3]
    0058b984add x26, x3, 24
    0058b988ldr x0, [sp+120]
    0058b98cldr x1, [sp+120]
    0058b990ldr x2, [sp+112]
    0058b994ldr x3, [x3+24]
    0058b998blr x3
    0058b99cstr x0, [sp+416]
    0058b9a0str xzr, [sp+352]
    0058b9a4stp xzr, xzr, [sp+360]
    0058b9a8stp xzr, xzr, [sp+392]
    0058b9acldr x3, [sp+600]
    0058b9b0ldrsb x27, [x3]
    0058b9b4add x26, x3, 32
    0058b9b8ldr x3, [x3+32]
    0058b9bcldr x0, [sp+416]
    0058b9c0blr x3
    0058b9c4str x0, [sp+352]
    0058b9c8str x1, [sp+360]
    0058b9ccstr x2, [sp+368]
    0058b9d0str x3, [sp+392]
    0058b9d4str x4, [sp+400]
    0058b9d8ldr x3, [sp+352]
    0058b9dcldr x4, [sp+360]
    0058b9e0ldr x5, [sp+368]
    0058b9e4str x3, [sp+464]
    0058b9e8str x4, [sp+472]
    0058b9ecstr x5, [sp+480]
    0058b9f0ldr x3, [sp+392]
    0058b9f4ldr x4, [sp+400]
    0058b9f8str x3, [sp+448]
    0058b9fcstr x4, [sp+456]
    0058ba00ldr x3, [sp+464]
    0058ba04ldr x4, [sp+472]
    0058ba08ldr x5, [sp+480]
    0058ba0cstr x3, [sp+152]
    0058ba10str x4, [sp+160]
    0058ba14str x5, [sp+168]
    0058ba18ldr x1, [sp+456]
    0058ba1cldr x0, [sp+448]
    0058ba20str x0, [sp+128]
    0058ba24str x1, [sp+136]
    0058ba28cbnz x0, 0x58ba30
    0058ba2cb 0x58ba44
    0058ba30
    0058ba30loc_58ba30:
    0058ba30str x0, [sp+64]
    0058ba34str x1, [sp+72]
    0058ba38ldp x29, x30, [sp-8]
    0058ba3cadd sp, sp, 592
    0058ba40ret x30
    0058ba44
    0058ba44loc_58ba44:
    0058ba44bl crypto/internal/fips140/bigmod.NewNat
    0058ba48str x0, [sp+384]
    0058ba4cstr xzr, [sp+376]
    0058ba50stp xzr, xzr, [sp+392]
    0058ba54ldr x0, [sp+608]
    0058ba58ldrsb x27, [x0]
    0058ba5cldr x4, [x0+32]
    0058ba60str x4, [sp+208]
    0058ba64ldr x1, [sp+152]
    0058ba68ldr x2, [sp+160]
    0058ba6cldr x3, [sp+168]
    0058ba70ldr x0, [sp+384]
    0058ba74bl crypto/internal/fips140/bigmod.(*Nat).SetOverflowingBytes
    0058ba78str x0, [sp+376]
    0058ba7cstr x1, [sp+392]
    0058ba80str x2, [sp+400]
    0058ba84ldr x0, [sp+376]
    0058ba88str x0, [sp+440]
    0058ba8cldr x0, [sp+392]
    0058ba90ldr x1, [sp+400]
    0058ba94str x0, [sp+424]
    0058ba98str x1, [sp+432]
    0058ba9cldr x0, [sp+440]
    0058baa0str x0, [sp+88]
    0058baa4ldr x1, [sp+432]
    0058baa8ldr x0, [sp+424]
    0058baacstr x0, [sp+128]
    0058bab0str x1, [sp+136]
    0058bab4cbnz x0, 0x58babc
    0058bab8b 0x58bad0
    0058babc
    0058babcloc_58babc:
    0058babcstr x0, [sp+64]
    0058bac0str x1, [sp+72]
    0058bac4ldp x29, x30, [sp-8]
    0058bac8add sp, sp, 592
    0058baccret x30
    0058bad0
    0058bad0loc_58bad0:
    0058bad0ldr x1, [sp+104]
    0058bad4ldr x0, [sp+88]
    0058bad8bl crypto/internal/fips140/bigmod.(*Nat).Equal
    0058badcstr x0, [sp+56]
    0058bae0subs xzr, x0, 1
    0058bae4b.ne 0x58baec
    0058bae8b 0x58bb18
    0058baec
    0058baecloc_58baec:
    0058baecadrp x0, 0x133000
    0058baf0add x0, x0, 351
    0058baf4orr x1, xzr, 31
    0058baf8bl errors.New
    0058bafcstr x0, [sp+392]
    0058bb00str x1, [sp+400]
    0058bb04str x0, [sp+64]
    0058bb08str x1, [sp+72]
    0058bb0cldp x29, x30, [sp-8]
    0058bb10add sp, sp, 592
    0058bb14ret x30
    0058bb18
    0058bb18loc_58bb18:
    0058bb18stp xzr, xzr, [sp+64]
    0058bb1cmov x0, xzr
    0058bb20mov x1, xzr
    0058bb24ldp x29, x30, [sp-8]
    0058bb28add sp, sp, 592
    0058bb2cret x30
    0058bb30
    0058bb30loc_58bb30:
    0058bb30stp x0, x1, [sp+8]
    0058bb34stp x2, x3, [sp+24]
    0058bb38stp x4, x5, [sp+40]
    0058bb3cstr x6, [sp+56]
    0058bb40mov x3, x30
    0058bb44bl runtime.morestack_noctxt.abi0
    0058bb48ldp x0, x1, [sp+8]
    0058bb4cldp x2, x3, [sp+24]
    0058bb50ldp x4, x5, [sp+40]
    0058bb54ldr x6, [sp+56]
    0058bb58b 0x58b490
    0058bb5cudf 0
    0058b490
    0058bb60
    0058bb60crypto/internal/fips140/ecdsa.inverse[go.shape.*crypto/internal/fips140/nistec.P224Point]: ; void crypto/internal/fips140/ecdsa.inverse[go.shape.*crypto/internal/fips140/nistec.P224Point](uintptr[1] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P224Point] * c, crypto/internal/fips140/bigmod.Nat * kInv, crypto/internal/fips140/bigmod.Nat * k)
    0058bb60ldr x16, [x28+16]
    0058bb64sub x17, sp, 176
    0058bb68subs xzr, x17, x16
    0058bb6cb.ls 0x58bd40
    0058bb70sub x20, sp, 304
    0058bb74stp x29, x30, [x20-8]
    0058bb78add sp, x20, 0
    0058bb7csub x29, sp, 8
    0058bb80str x0, [sp+312]
    0058bb84str x1, [sp+320]
    0058bb88str x2, [sp+328]
    0058bb8cstr x3, [sp+336]
    0058bb90ldrsb x27, [x1]
    0058bb94ldr x6, [x1+24]
    0058bb98cbnz x6, 0x58bba0
    0058bb9cb 0x58bcd0
    0058bba0
    0058bba0loc_58bba0:
    0058bba0ldrsb x27, [x1]
    0058bba4ldr x1, [x1+32]
    0058bba8str x1, [sp+200]
    0058bbacldr x0, [sp+336]
    0058bbb0bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    0058bbb4str x0, [sp+256]
    0058bbb8str x1, [sp+264]
    0058bbbcstr x2, [sp+272]
    0058bbc0str xzr, [sp+232]
    0058bbc4stp xzr, xzr, [sp+240]
    0058bbc8stp xzr, xzr, [sp+216]
    0058bbccldr x2, [sp+320]
    0058bbd0ldrsb x27, [x2]
    0058bbd4ldr x26, [x2+24]
    0058bbd8ldr x2, [x26]
    0058bbdcldr x0, [sp+256]
    0058bbe0ldr x1, [sp+264]
    0058bbe4ldr x3, [sp+272]
    0058bbe8mov x4, x2
    0058bbecmov x2, x3
    0058bbf0blr x4
    0058bbf4str x0, [sp+232]
    0058bbf8str x1, [sp+240]
    0058bbfcstr x2, [sp+248]
    0058bc00str x3, [sp+216]
    0058bc04str x4, [sp+224]
    0058bc08ldr x2, [sp+232]
    0058bc0cldr x3, [sp+240]
    0058bc10ldr x4, [sp+248]
    0058bc14str x2, [sp+136]
    0058bc18str x3, [sp+144]
    0058bc1cstr x4, [sp+152]
    0058bc20ldr x2, [sp+216]
    0058bc24ldr x3, [sp+224]
    0058bc28str x2, [sp+120]
    0058bc2cstr x3, [sp+128]
    0058bc30ldr x2, [sp+136]
    0058bc34ldr x3, [sp+144]
    0058bc38ldr x4, [sp+152]
    0058bc3cstr x2, [sp+56]
    0058bc40str x3, [sp+64]
    0058bc44str x4, [sp+72]
    0058bc48ldr x2, [sp+128]
    0058bc4cldr x3, [sp+120]
    0058bc50str x3, [sp+96]
    0058bc54str x2, [sp+104]
    0058bc58cbnz x3, 0x58bc60
    0058bc5cb 0x58bc64
    0058bc60
    0058bc60loc_58bc60:
    0058bc60b 0x58bcd4
    0058bc64
    0058bc64loc_58bc64:
    0058bc64str xzr, [sp+208]
    0058bc68stp xzr, xzr, [sp+216]
    0058bc6cldr x5, [sp+320]
    0058bc70ldrsb x27, [x5]
    0058bc74ldr x4, [x5+32]
    0058bc78str x4, [sp+192]
    0058bc7cldr x1, [sp+56]
    0058bc80ldr x0, [sp+328]
    0058bc84ldr x2, [sp+64]
    0058bc88ldr x3, [sp+72]
    0058bc8cbl crypto/internal/fips140/bigmod.(*Nat).SetBytes
    0058bc90str x0, [sp+208]
    0058bc94str x1, [sp+216]
    0058bc98str x2, [sp+224]
    0058bc9cldr x5, [sp+208]
    0058bca0str x5, [sp+112]
    0058bca4ldr x5, [sp+224]
    0058bca8ldr x6, [sp+216]
    0058bcacstr x6, [sp+280]
    0058bcb0str x5, [sp+288]
    0058bcb4str x6, [sp+80]
    0058bcb8str x5, [sp+88]
    0058bcbccbnz x6, 0x58bd28
    0058bcc0b 0x58bcc4
    0058bcc4
    0058bcc4loc_58bcc4:
    0058bcc4ldp x29, x30, [sp-8]
    0058bcc8add sp, sp, 304
    0058bcccret x30
    0058bcd0
    0058bcd0loc_58bcd0:
    0058bcd0b 0x58bcd4
    0058bcd4
    0058bcd4loc_58bcd4:
    0058bcd4ldr x6, [sp+320]
    0058bcd8ldrsb x27, [x6]
    0058bcdcldr x7, [x6+40]
    0058bce0ldr x8, [x6+48]
    0058bce4ldr x6, [x6+56]
    0058bce8str x7, [sp+168]
    0058bcecstr x8, [sp+176]
    0058bcf0str x6, [sp+184]
    0058bcf4ldr x6, [sp+320]
    0058bcf8ldrsb x27, [x6]
    0058bcfcldr x5, [x6+32]
    0058bd00str x5, [sp+160]
    0058bd04ldr x0, [sp+328]
    0058bd08ldr x1, [sp+336]
    0058bd0cldr x2, [sp+168]
    0058bd10ldr x3, [sp+176]
    0058bd14ldr x4, [sp+184]
    0058bd18bl crypto/internal/fips140/bigmod.(*Nat).Exp
    0058bd1cldp x29, x30, [sp-8]
    0058bd20add sp, sp, 304
    0058bd24ret x30
    0058bd28
    0058bd28loc_58bd28:
    0058bd28adrp x0, 0x6a000
    0058bd2cadd x0, x0, 2944
    0058bd30adrp x1, 0x187000
    0058bd34add x1, x1, 1568
    0058bd38bl runtime.gopanic
    0058bd3chint
    0058bd40
    0058bd40loc_58bd40:
    0058bd40stp x0, x1, [sp+8]
    0058bd44stp x2, x3, [sp+24]
    0058bd48mov x3, x30
    0058bd4cbl runtime.morestack_noctxt.abi0
    0058bd50ldp x0, x1, [sp+8]
    0058bd54ldp x2, x3, [sp+24]
    0058bd58b 0x58bb60
    0058bd5cudf 0
    0058bb60
    0058bd60
    0058bd60crypto/internal/fips140/ecdsa.hashToNat[go.shape.*crypto/internal/fips140/nistec.P224Point]: ; void crypto/internal/fips140/ecdsa.hashToNat[go.shape.*crypto/internal/fips140/nistec.P224Point](uintptr[1] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P224Point] * c, crypto/internal/fips140/bigmod.Nat * e, struct []uint8 hash)
    0058bd60ldr x16, [x28+16]
    0058bd64sub x17, sp, 48
    0058bd68subs xzr, x17, x16
    0058bd6cb.ls 0x58bec8
    0058bd70str x30, [sp-176]!
    0058bd74stur x29, [sp-8]
    0058bd78sub x29, sp, 8
    0058bd7cstr x0, [sp+184]
    0058bd80str x1, [sp+192]
    0058bd84str x2, [sp+200]
    0058bd88str x3, [sp+208]
    0058bd8cstr x4, [sp+216]
    0058bd90str x5, [sp+224]
    0058bd94ldr x1, [sp+192]
    0058bd98ldrsb x27, [x1]
    0058bd9cldr x0, [x1+32]
    0058bda0str x0, [sp+136]
    0058bda4bl crypto/internal/fips140/bigmod.(*Modulus).Size
    0058bda8str x0, [sp+48]
    0058bdacldr x1, [sp+216]
    0058bdb0str x1, [sp+64]
    0058bdb4subs xzr, x0, x1
    0058bdb8b.le 0x58bdc0
    0058bdbcb 0x58be38
    0058bdc0
    0058bdc0loc_58bdc0:
    0058bdc0ldr x2, [sp+224]
    0058bdc4subs xzr, x0, x2
    0058bdc8b.ls 0x58bdd0
    0058bdccb 0x58bebc
    0058bdd0
    0058bdd0loc_58bdd0:
    0058bdd0b 0x58bdd4
    0058bdd4
    0058bdd4loc_58bdd4:
    0058bdd4str x0, [sp+216]
    0058bdd8str x0, [sp+64]
    0058bddcldr x1, [sp+192]
    0058bde0ldrsb x27, [x1]
    0058bde4ldr x0, [x1+32]
    0058bde8str x0, [sp+128]
    0058bdecbl crypto/internal/fips140/bigmod.(*Modulus).BitLen
    0058bdf0str x0, [sp+72]
    0058bdf4ldr x1, [sp+64]
    0058bdf8ubfm x1, x1, 61, 60
    0058bdfcsub x3, x1, x0
    0058be00str x3, [sp+56]
    0058be04subs xzr, x3, 0
    0058be08b.gt 0x58be10
    0058be0cb 0x58be30
    0058be10
    0058be10loc_58be10:
    0058be10ldr x0, [sp+208]
    0058be14ldr x1, [sp+216]
    0058be18ldr x2, [sp+224]
    0058be1cbl crypto/internal/fips140/ecdsa.rightShift
    0058be20str x0, [sp+208]
    0058be24str x1, [sp+216]
    0058be28str x2, [sp+224]
    0058be2cb 0x58be34
    0058be30
    0058be30loc_58be30:
    0058be30b 0x58be34
    0058be34
    0058be34loc_58be34:
    0058be34b 0x58be3c
    0058be38
    0058be38loc_58be38:
    0058be38b 0x58be3c
    0058be3c
    0058be3cloc_58be3c:
    0058be3cstr xzr, [sp+160]
    0058be40stp xzr, xzr, [sp+144]
    0058be44ldr x5, [sp+192]
    0058be48ldrsb x27, [x5]
    0058be4cldr x4, [x5+32]
    0058be50str x4, [sp+120]
    0058be54ldr x1, [sp+208]
    0058be58ldr x0, [sp+200]
    0058be5cldr x2, [sp+216]
    0058be60ldr x3, [sp+224]
    0058be64bl crypto/internal/fips140/bigmod.(*Nat).SetOverflowingBytes
    0058be68str x0, [sp+160]
    0058be6cstr x1, [sp+144]
    0058be70str x2, [sp+152]
    0058be74ldr x5, [sp+160]
    0058be78str x5, [sp+112]
    0058be7cldr x5, [sp+152]
    0058be80ldr x6, [sp+144]
    0058be84str x6, [sp+96]
    0058be88str x5, [sp+104]
    0058be8cstr x6, [sp+80]
    0058be90str x5, [sp+88]
    0058be94cbnz x6, 0x58bea8
    0058be98b 0x58be9c
    0058be9c
    0058be9cloc_58be9c:
    0058be9cldur x29, [sp-8]
    0058bea0ldr x30, [sp], 176
    0058bea4ret x30
    0058bea8
    0058bea8loc_58bea8:
    0058bea8adrp x0, 0x6a000
    0058beacadd x0, x0, 2944
    0058beb0adrp x1, 0x187000
    0058beb4add x1, x1, 1584
    0058beb8bl runtime.gopanic
    0058bebc
    0058bebcloc_58bebc:
    0058bebcmov x1, x0
    0058bec0bl runtime.panicSliceAcap
    0058bec4hint
    0058bec8
    0058bec8loc_58bec8:
    0058bec8stp x0, x1, [sp+8]
    0058beccstp x2, x3, [sp+24]
    0058bed0stp x4, x5, [sp+40]
    0058bed4mov x3, x30
    0058bed8bl runtime.morestack_noctxt.abi0
    0058bedcldp x0, x1, [sp+8]
    0058bee0ldp x2, x3, [sp+24]
    0058bee4ldp x4, x5, [sp+40]
    0058bee8b 0x58bd60
    0058beecudf 0
    0058bd60
    0058bef0
    0058bef0crypto/internal/fips140/ecdsa.NewPublicKey[go.shape.*crypto/internal/fips140/nistec.P224Point]: ; void crypto/internal/fips140/ecdsa.NewPublicKey[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 Q)
    0058bef0ldr x16, [x28+16]
    0058bef4sub x17, sp, 32
    0058bef8subs xzr, x17, x16
    0058befcb.ls 0x58c084
    0058bf00str x30, [sp-160]!
    0058bf04stur x29, [sp-8]
    0058bf08sub x29, sp, 8
    0058bf0cstr x0, [sp+168]
    0058bf10str x1, [sp+176]
    0058bf14str x2, [sp+184]
    0058bf18str x3, [sp+192]
    0058bf1cstr x4, [sp+200]
    0058bf20str xzr, [sp+64]
    0058bf24stp xzr, xzr, [sp+48]
    0058bf28ldr x0, [sp+176]
    0058bf2cldrsb x27, [x0]
    0058bf30ldr x26, [x0+16]
    0058bf34ldr x0, [x26]
    0058bf38blr x0
    0058bf3cstr x0, [sp+96]
    0058bf40str xzr, [sp+88]
    0058bf44stp xzr, xzr, [sp+136]
    0058bf48ldr x26, [sp+168]
    0058bf4cldrsb x27, [x26]
    0058bf50ldr x0, [x26]
    0058bf54ldr x1, [sp+184]
    0058bf58ldr x2, [sp+192]
    0058bf5cldr x3, [sp+200]
    0058bf60ldr x4, [sp+96]
    0058bf64mov x5, x0
    0058bf68mov x0, x4
    0058bf6cblr x5
    0058bf70str x0, [sp+88]
    0058bf74str x1, [sp+136]
    0058bf78str x2, [sp+144]
    0058bf7cldr x0, [sp+88]
    0058bf80str x0, [sp+120]
    0058bf84ldr x0, [sp+144]
    0058bf88ldr x1, [sp+136]
    0058bf8cstr x1, [sp+104]
    0058bf90str x0, [sp+112]
    0058bf94str x1, [sp+72]
    0058bf98str x0, [sp+80]
    0058bf9ccbnz x1, 0x58bfa4
    0058bfa0b 0x58bfc8
    0058bfa4
    0058bfa4loc_58bfa4:
    0058bfa4str xzr, [sp+64]
    0058bfa8ldr x1, [sp+72]
    0058bfacldr x2, [sp+80]
    0058bfb0str x1, [sp+48]
    0058bfb4str x2, [sp+56]
    0058bfb8ldr x0, [sp+64]
    0058bfbcldur x29, [sp-8]
    0058bfc0ldr x30, [sp], 160
    0058bfc4ret x30
    0058bfc8
    0058bfc8loc_58bfc8:
    0058bfc8adrp x0, 0xbc000
    0058bfccadd x0, x0, 3872
    0058bfd0bl runtime.newobject
    0058bfd4str x0, [sp+128]
    0058bfd8ldr x1, [sp+176]
    0058bfdcldrsb x27, [x1]
    0058bfe0ldr x2, [x1]
    0058bfe4ldr x1, [x1+8]
    0058bfe8str x1, [x0+8]
    0058bfecadrp x27, 0x4c0000
    0058bff0ldr w1, [x27+3056]
    0058bff4cbz w1, 0x58bffc
    0058bff8b 0x58c000
    0058bffc
    0058bffcloc_58bffc:
    0058bffcb 0x58c014
    0058c000
    0058c000loc_58c000:
    0058c000bl runtime.gcWriteBarrier2
    0058c004str x2, [x25]
    0058c008ldr x3, [x0]
    0058c00cstr x3, [x25+8]
    0058c010b 0x58c014
    0058c014
    0058c014loc_58c014:
    0058c014str x2, [x0]
    0058c018ldr x3, [sp+128]
    0058c01cldrsb x27, [x3]
    0058c020ldr x4, [sp+184]
    0058c024ldr x5, [sp+192]
    0058c028ldr x6, [sp+200]
    0058c02cstr x5, [x3+24]
    0058c030str x6, [x3+32]
    0058c034adrp x27, 0x4bf000
    0058c038ldr w5, [x27+3056]
    0058c03ccbz w5, 0x58c044
    0058c040b 0x58c048
    0058c044
    0058c044loc_58c044:
    0058c044b 0x58c05c
    0058c048
    0058c048loc_58c048:
    0058c048bl runtime.gcWriteBarrier2
    0058c04cstr x4, [x25]
    0058c050ldr x5, [x3+16]
    0058c054str x5, [x25+8]
    0058c058b 0x58c05c
    0058c05c
    0058c05cloc_58c05c:
    0058c05cstr x4, [x3+16]
    0058c060ldr x3, [sp+128]
    0058c064str x3, [sp+64]
    0058c068stp xzr, xzr, [sp+48]
    0058c06cldr x0, [sp+64]
    0058c070mov x1, xzr
    0058c074mov x2, xzr
    0058c078ldur x29, [sp-8]
    0058c07cldr x30, [sp], 160
    0058c080ret x30
    0058c084
    0058c084loc_58c084:
    0058c084stp x0, x1, [sp+8]
    0058c088stp x2, x3, [sp+24]
    0058c08cstr x4, [sp+40]
    0058c090mov x3, x30
    0058c094bl runtime.morestack_noctxt.abi0
    0058c098ldp x0, x1, [sp+8]
    0058c09cldp x2, x3, [sp+24]
    0058c0a0ldr x4, [sp+40]
    0058c0a4b 0x58bef0
    0058c0a8udf 0
    0058c0acudf 0
    0058bef0
    0058c0b0
    0058c0b0crypto/internal/fips140/ecdsa.SignDeterministic[go.shape.*crypto/internal/fips140/nistec.P521Point,go.shape.interface { BlockSize() int; Reset(); Size() int; Sum([]uint8) []uint8; Write([]uint8) (int, error) }]: ; void crypto/internal/fips140/ecdsa.SignDeterministic[go.shape.*crypto/internal/fips140/nistec.P521Point,go.shape.interface { BlockSize() int; Reset(); Size() int; Sum([]uint8) []uint8; Write([]uint8) (int, error) }](uintptr[5] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, int64_t h, crypto/internal/fips140/ecdsa.PrivateKey * priv, struct []uint8 hash)
    0058c0b0ldr x16, [x28+16]
    0058c0b4sub x17, sp, 160
    0058c0b8subs xzr, x17, x16
    0058c0bcb.ls 0x58c2a4
    0058c0c0sub x20, sp, 288
    0058c0c4stp x29, x30, [x20-8]
    0058c0c8add sp, x20, 0
    0058c0ccsub x29, sp, 8
    0058c0d0str x0, [sp+296]
    0058c0d4str x1, [sp+304]
    0058c0d8str x2, [sp+312]
    0058c0dcstr x3, [sp+320]
    0058c0e0str x4, [sp+328]
    0058c0e4str x5, [sp+336]
    0058c0e8str x6, [sp+344]
    0058c0ecstr xzr, [sp+112]
    0058c0f0stp xzr, xzr, [sp+96]
    0058c0f4ldr x3, [sp+320]
    0058c0f8ldrsb x27, [x3]
    0058c0fcldr x4, [x3]
    0058c100ldr x3, [x3+8]
    0058c104str x4, [sp+216]
    0058c108str x3, [sp+224]
    0058c10cldr x3, [sp+304]
    0058c110ldrsb x27, [x3]
    0058c114ldr x1, [x3]
    0058c118ldr x3, [x3+8]
    0058c11cstr x1, [sp+200]
    0058c120str x3, [sp+208]
    0058c124ldr x4, [sp+224]
    0058c128subs xzr, x4, x3
    0058c12cb.ne 0x58c134
    0058c130b 0x58c138
    0058c134
    0058c134loc_58c134:
    0058c134b 0x58c268
    0058c138
    0058c138loc_58c138:
    0058c138ldr x2, [sp+224]
    0058c13cldr x0, [sp+216]
    0058c140bl runtime.memequal
    0058c144tbnz w0, 0, 0x58c14c
    0058c148b 0x58c264
    0058c14c
    0058c14cloc_58c14c:
    0058c14cbl crypto/internal/fips140.RecordApproved
    0058c150adrp x27, 0x495000
    0058c154ldr x26, [x27+336]
    0058c158ldr x0, [x26]
    0058c15cblr x0
    0058c160ldr x0, [sp+296]
    0058c164ldrsb x27, [x0]
    0058c168ldr x0, [x0+8]
    0058c16cstr x0, [sp+192]
    0058c170ldr x2, [sp+328]
    0058c174ldr x1, [sp+304]
    0058c178ldr x3, [sp+336]
    0058c17cldr x4, [sp+344]
    0058c180bl crypto/internal/fips140/ecdsa.bits2octets[go.shape.*crypto/internal/fips140/nistec.P521Point]
    0058c184str x0, [sp+240]
    0058c188str x1, [sp+248]
    0058c18cstr x2, [sp+256]
    0058c190ldr x0, [sp+296]
    0058c194ldrsb x27, [x0]
    0058c198ldr x0, [x0]
    0058c19cstr x0, [sp+184]
    0058c1a0ldr x0, [sp+320]
    0058c1a4ldrsb x27, [x0]
    0058c1a8ldr x2, [x0+40]
    0058c1acldr x3, [x0+48]
    0058c1b0ldr x4, [x0+56]
    0058c1b4str x2, [sp+160]
    0058c1b8str x3, [sp+168]
    0058c1bcstr x4, [sp+176]
    0058c1c0ldr x1, [sp+312]
    0058c1c4ldr x5, [sp+240]
    0058c1c8ldr x6, [sp+248]
    0058c1ccldr x7, [sp+256]
    0058c1d0ldr x0, [sp+184]
    0058c1d4mov x8, xzr
    0058c1d8mov x9, xzr
    0058c1dcbl crypto/internal/fips140/ecdsa.newDRBG[go.shape.interface { BlockSize() int; Reset(); Size() int; Sum([]uint8) []uint8; Write([]uint8) (int, error) }]
    0058c1e0str x0, [sp+120]
    0058c1e4str xzr, [sp+232]
    0058c1e8stp xzr, xzr, [sp+264]
    0058c1ecldr x0, [sp+296]
    0058c1f0ldrsb x27, [x0]
    0058c1f4ldr x0, [x0+16]
    0058c1f8str x0, [sp+152]
    0058c1fcldr x4, [sp+328]
    0058c200ldr x3, [sp+120]
    0058c204ldr x2, [sp+320]
    0058c208ldr x1, [sp+304]
    0058c20cldr x5, [sp+336]
    0058c210ldr x6, [sp+344]
    0058c214bl crypto/internal/fips140/ecdsa.sign[go.shape.*crypto/internal/fips140/nistec.P521Point]
    0058c218str x0, [sp+232]
    0058c21cstr x1, [sp+264]
    0058c220str x2, [sp+272]
    0058c224ldr x0, [sp+232]
    0058c228str x0, [sp+144]
    0058c22cldr x0, [sp+264]
    0058c230ldr x1, [sp+272]
    0058c234str x0, [sp+128]
    0058c238str x1, [sp+136]
    0058c23cldr x0, [sp+144]
    0058c240str x0, [sp+112]
    0058c244ldr x1, [sp+128]
    0058c248ldr x2, [sp+136]
    0058c24cstr x1, [sp+96]
    0058c250str x2, [sp+104]
    0058c254ldr x0, [sp+112]
    0058c258ldp x29, x30, [sp-8]
    0058c25cadd sp, sp, 288
    0058c260ret x30
    0058c264
    0058c264loc_58c264:
    0058c264b 0x58c268
    0058c268
    0058c268loc_58c268:
    0058c268adrp x0, 0x137000
    0058c26cadd x0, x0, 3211
    0058c270movz x1, 39
    0058c274bl errors.New
    0058c278str x0, [sp+264]
    0058c27cstr x1, [sp+272]
    0058c280str xzr, [sp+112]
    0058c284ldr x1, [sp+264]
    0058c288ldr x2, [sp+272]
    0058c28cstr x1, [sp+96]
    0058c290str x2, [sp+104]
    0058c294ldr x0, [sp+112]
    0058c298ldp x29, x30, [sp-8]
    0058c29cadd sp, sp, 288
    0058c2a0ret x30
    0058c2a4
    0058c2a4loc_58c2a4:
    0058c2a4stp x0, x1, [sp+8]
    0058c2a8stp x2, x3, [sp+24]
    0058c2acstp x4, x5, [sp+40]
    0058c2b0str x6, [sp+56]
    0058c2b4mov x3, x30
    0058c2b8bl runtime.morestack_noctxt.abi0
    0058c2bcldp x0, x1, [sp+8]
    0058c2c0ldp x2, x3, [sp+24]
    0058c2c4ldp x4, x5, [sp+40]
    0058c2c8ldr x6, [sp+56]
    0058c2ccb 0x58c0b0
    0058c0b0
    0058c2d0
    0058c2d0crypto/internal/fips140/ecdsa.sign[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdsa.sign[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[2] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, crypto/internal/fips140/ecdsa.PrivateKey * priv, crypto/internal/fips140/ecdsa.hmacDRBG * drbg, struct []uint8 hash)
    0058c2d0ldr x16, [x28+16]
    0058c2d4sub x17, sp, 32
    0058c2d8subs xzr, x17, x16
    0058c2dcb.ls 0x58c390
    0058c2e0str x30, [sp-160]!
    0058c2e4stur x29, [sp-8]
    0058c2e8sub x29, sp, 8
    0058c2ecstr x0, [sp+168]
    0058c2f0str x1, [sp+176]
    0058c2f4str x2, [sp+184]
    0058c2f8str x3, [sp+192]
    0058c2fcstr x4, [sp+200]
    0058c300str x5, [sp+208]
    0058c304str x6, [sp+216]
    0058c308str xzr, [sp+88]
    0058c30cstp xzr, xzr, [sp+72]
    0058c310str xzr, [sp+96]
    0058c314stp xzr, xzr, [sp+136]
    0058c318ldr x7, [sp+168]
    0058c31cldrsb x27, [x7]
    0058c320ldr x0, [x7]
    0058c324str x0, [sp+128]
    0058c328ldr x4, [sp+200]
    0058c32cldr x3, [sp+192]
    0058c330ldr x2, [sp+184]
    0058c334ldr x1, [sp+176]
    0058c338ldr x5, [sp+208]
    0058c33cldr x6, [sp+216]
    0058c340bl crypto/internal/fips140/ecdsa.signGeneric[go.shape.*crypto/internal/fips140/nistec.P521Point]
    0058c344str x0, [sp+96]
    0058c348str x1, [sp+136]
    0058c34cstr x2, [sp+144]
    0058c350ldr x7, [sp+96]
    0058c354str x7, [sp+120]
    0058c358ldr x7, [sp+136]
    0058c35cldr x8, [sp+144]
    0058c360str x7, [sp+104]
    0058c364str x8, [sp+112]
    0058c368ldr x7, [sp+120]
    0058c36cstr x7, [sp+88]
    0058c370ldr x1, [sp+104]
    0058c374ldr x2, [sp+112]
    0058c378str x1, [sp+72]
    0058c37cstr x2, [sp+80]
    0058c380ldr x0, [sp+88]
    0058c384ldur x29, [sp-8]
    0058c388ldr x30, [sp], 160
    0058c38cret x30
    0058c390
    0058c390loc_58c390:
    0058c390stp x0, x1, [sp+8]
    0058c394stp x2, x3, [sp+24]
    0058c398stp x4, x5, [sp+40]
    0058c39cstr x6, [sp+56]
    0058c3a0mov x3, x30
    0058c3a4bl runtime.morestack_noctxt.abi0
    0058c3a8ldp x0, x1, [sp+8]
    0058c3acldp x2, x3, [sp+24]
    0058c3b0ldp x4, x5, [sp+40]
    0058c3b4ldr x6, [sp+56]
    0058c3b8b 0x58c2d0
    0058c3bcudf 0
    0058c2d0
    0058c3c0
    0058c3c0crypto/internal/fips140/ecdsa.signGeneric[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdsa.signGeneric[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[6] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, crypto/internal/fips140/ecdsa.PrivateKey * priv, crypto/internal/fips140/ecdsa.hmacDRBG * drbg, struct []uint8 hash)
    0058c3c0ldr x16, [x28+16]
    0058c3c4sub x17, sp, 416
    0058c3c8subs xzr, x17, x16
    0058c3ccb.ls 0x58c998
    0058c3d0sub x20, sp, 544
    0058c3d4stp x29, x30, [x20-8]
    0058c3d8add sp, x20, 0
    0058c3dcsub x29, sp, 8
    0058c3e0str x0, [sp+552]
    0058c3e4str x1, [sp+560]
    0058c3e8str x2, [sp+568]
    0058c3ecstr x3, [sp+576]
    0058c3f0str x4, [sp+584]
    0058c3f4str x5, [sp+592]
    0058c3f8str x6, [sp+600]
    0058c3fcstr xzr, [sp+88]
    0058c400stp xzr, xzr, [sp+72]
    0058c404str xzr, [sp+384]
    0058c408str xzr, [sp+376]
    0058c40cstp xzr, xzr, [sp+360]
    0058c410stp xzr, xzr, [sp+392]
    0058c414str xzr, [sp+408]
    0058c418add x3, sp, 392
    0058c41cstr x3, [sp+296]
    0058c420ldrsb x27, [x3]
    0058c424adrp x4, 0
    0058c428add x4, x4, 2512
    0058c42cstr x4, [x3]
    0058c430ldrsb x27, [x3]
    0058c434ldr x4, [sp+576]
    0058c438adrp x27, 0x4bf000
    0058c43cldr w5, [x27+3056]
    0058c440cbz w5, 0x58c448
    0058c444b 0x58c44c
    0058c448
    0058c448loc_58c448:
    0058c448b 0x58c460
    0058c44c
    0058c44cloc_58c44c:
    0058c44cbl runtime.gcWriteBarrier2
    0058c450str x4, [x25]
    0058c454ldr x5, [x3+8]
    0058c458str x5, [x25+8]
    0058c45cb 0x58c460
    0058c460
    0058c460loc_58c460:
    0058c460str x4, [x3+8]
    0058c464ldrsb x27, [x3]
    0058c468ldr x4, [sp+552]
    0058c46cadrp x27, 0x4bf000
    0058c470ldr w5, [x27+3056]
    0058c474cbz w5, 0x58c47c
    0058c478b 0x58c480
    0058c47c
    0058c47cloc_58c47c:
    0058c47cb 0x58c494
    0058c480
    0058c480loc_58c480:
    0058c480bl runtime.gcWriteBarrier2
    0058c484str x4, [x25]
    0058c488ldr x5, [x3+16]
    0058c48cstr x5, [x25+8]
    0058c490b 0x58c494
    0058c494
    0058c494loc_58c494:
    0058c494str x4, [x3+16]
    0058c498ldr x3, [sp+552]
    0058c49cldrsb x27, [x3]
    0058c4a0ldr x0, [x3+8]
    0058c4a4str x0, [sp+288]
    0058c4a8ldr x1, [sp+560]
    0058c4acldr x2, [sp+296]
    0058c4b0bl crypto/internal/fips140/ecdsa.randomPoint[go.shape.*crypto/internal/fips140/nistec.P521Point]
    0058c4b4str x0, [sp+384]
    0058c4b8str x1, [sp+376]
    0058c4bcstr x2, [sp+360]
    0058c4c0str x3, [sp+368]
    0058c4c4ldr x3, [sp+384]
    0058c4c8str x3, [sp+528]
    0058c4ccldr x3, [sp+376]
    0058c4d0str x3, [sp+520]
    0058c4d4ldr x3, [sp+360]
    0058c4d8ldr x4, [sp+368]
    0058c4dcstr x3, [sp+504]
    0058c4e0str x4, [sp+512]
    0058c4e4ldr x3, [sp+528]
    0058c4e8str x3, [sp+120]
    0058c4ecldr x3, [sp+520]
    0058c4f0str x3, [sp+176]
    0058c4f4ldr x3, [sp+512]
    0058c4f8ldr x4, [sp+504]
    0058c4fcstr x4, [sp+128]
    0058c500str x3, [sp+136]
    0058c504cbnz x4, 0x58c50c
    0058c508b 0x58c530
    0058c50c
    0058c50cloc_58c50c:
    0058c50cstr xzr, [sp+88]
    0058c510ldr x1, [sp+128]
    0058c514ldr x2, [sp+136]
    0058c518str x1, [sp+72]
    0058c51cstr x2, [sp+80]
    0058c520ldr x0, [sp+88]
    0058c524ldp x29, x30, [sp-8]
    0058c528add sp, sp, 544
    0058c52cret x30
    0058c530
    0058c530loc_58c530:
    0058c530bl crypto/internal/fips140/bigmod.NewNat
    0058c534str x0, [sp+112]
    0058c538ldr x0, [sp+552]
    0058c53cldrsb x27, [x0]
    0058c540ldr x0, [x0+16]
    0058c544str x0, [sp+280]
    0058c548ldr x2, [sp+112]
    0058c54cldr x3, [sp+120]
    0058c550ldr x1, [sp+560]
    0058c554bl crypto/internal/fips140/ecdsa.inverse[go.shape.*crypto/internal/fips140/nistec.P521Point]
    0058c558str xzr, [sp+336]
    0058c55cstp xzr, xzr, [sp+344]
    0058c560stp xzr, xzr, [sp+360]
    0058c564ldr x26, [sp+552]
    0058c568ldrsb x27, [x26]
    0058c56cldr x0, [x26]
    0058c570ldr x1, [sp+176]
    0058c574mov x2, x0
    0058c578mov x0, x1
    0058c57cblr x2
    0058c580str x0, [sp+336]
    0058c584str x1, [sp+344]
    0058c588str x2, [sp+352]
    0058c58cstr x3, [sp+360]
    0058c590str x4, [sp+368]
    0058c594ldr x0, [sp+336]
    0058c598ldr x1, [sp+344]
    0058c59cldr x2, [sp+352]
    0058c5a0str x0, [sp+480]
    0058c5a4str x1, [sp+488]
    0058c5a8str x2, [sp+496]
    0058c5acldr x0, [sp+360]
    0058c5b0ldr x1, [sp+368]
    0058c5b4str x0, [sp+464]
    0058c5b8str x1, [sp+472]
    0058c5bcldr x0, [sp+480]
    0058c5c0ldr x1, [sp+488]
    0058c5c4ldr x2, [sp+496]
    0058c5c8str x0, [sp+152]
    0058c5ccstr x1, [sp+160]
    0058c5d0str x2, [sp+168]
    0058c5d4ldr x0, [sp+472]
    0058c5d8ldr x1, [sp+464]
    0058c5dcstr x1, [sp+128]
    0058c5e0str x0, [sp+136]
    0058c5e4cbnz x1, 0x58c5ec
    0058c5e8b 0x58c610
    0058c5ec
    0058c5ecloc_58c5ec:
    0058c5ecstr xzr, [sp+88]
    0058c5f0ldr x1, [sp+128]
    0058c5f4ldr x2, [sp+136]
    0058c5f8str x1, [sp+72]
    0058c5fcstr x2, [sp+80]
    0058c600ldr x0, [sp+88]
    0058c604ldp x29, x30, [sp-8]
    0058c608add sp, sp, 544
    0058c60cret x30
    0058c610
    0058c610loc_58c610:
    0058c610bl crypto/internal/fips140/bigmod.NewNat
    0058c614str x0, [sp+384]
    0058c618str xzr, [sp+328]
    0058c61cstp xzr, xzr, [sp+360]
    0058c620ldr x0, [sp+560]
    0058c624ldrsb x27, [x0]
    0058c628ldr x4, [x0+32]
    0058c62cstr x4, [sp+272]
    0058c630ldr x1, [sp+152]
    0058c634ldr x2, [sp+160]
    0058c638ldr x3, [sp+168]
    0058c63cldr x0, [sp+384]
    0058c640bl crypto/internal/fips140/bigmod.(*Nat).SetOverflowingBytes
    0058c644str x0, [sp+328]
    0058c648str x1, [sp+360]
    0058c64cstr x2, [sp+368]
    0058c650ldr x0, [sp+328]
    0058c654str x0, [sp+456]
    0058c658ldr x0, [sp+360]
    0058c65cldr x1, [sp+368]
    0058c660str x0, [sp+440]
    0058c664str x1, [sp+448]
    0058c668ldr x0, [sp+456]
    0058c66cstr x0, [sp+104]
    0058c670ldr x0, [sp+448]
    0058c674ldr x1, [sp+440]
    0058c678str x1, [sp+128]
    0058c67cstr x0, [sp+136]
    0058c680cbnz x1, 0x58c688
    0058c684b 0x58c6ac
    0058c688
    0058c688loc_58c688:
    0058c688str xzr, [sp+88]
    0058c68cldr x1, [sp+128]
    0058c690ldr x2, [sp+136]
    0058c694str x1, [sp+72]
    0058c698str x2, [sp+80]
    0058c69cldr x0, [sp+88]
    0058c6a0ldp x29, x30, [sp-8]
    0058c6a4add sp, sp, 544
    0058c6a8ret x30
    0058c6ac
    0058c6acloc_58c6ac:
    0058c6acldr x0, [sp+104]
    0058c6b0bl crypto/internal/fips140/bigmod.(*Nat).IsZero
    0058c6b4str x0, [sp+64]
    0058c6b8subs xzr, x0, 1
    0058c6bcb.eq 0x58c6c4
    0058c6c0b 0x58c700
    0058c6c4
    0058c6c4loc_58c6c4:
    0058c6c4adrp x0, 0x132000
    0058c6c8add x0, x0, 3216
    0058c6ccorr x1, xzr, 32
    0058c6d0bl errors.New
    0058c6d4str x0, [sp+360]
    0058c6d8str x1, [sp+368]
    0058c6dcstr xzr, [sp+88]
    0058c6e0ldr x1, [sp+360]
    0058c6e4ldr x2, [sp+368]
    0058c6e8str x1, [sp+72]
    0058c6ecstr x2, [sp+80]
    0058c6f0ldr x0, [sp+88]
    0058c6f4ldp x29, x30, [sp-8]
    0058c6f8add sp, sp, 544
    0058c6fcret x30
    0058c700
    0058c700loc_58c700:
    0058c700bl crypto/internal/fips140/bigmod.NewNat
    0058c704str x0, [sp+144]
    0058c708ldr x0, [sp+552]
    0058c70cldrsb x27, [x0]
    0058c710ldr x0, [x0+24]
    0058c714str x0, [sp+264]
    0058c718ldr x3, [sp+584]
    0058c71cldr x2, [sp+144]
    0058c720ldr x1, [sp+560]
    0058c724ldr x4, [sp+592]
    0058c728ldr x5, [sp+600]
    0058c72cbl crypto/internal/fips140/ecdsa.hashToNat[go.shape.*crypto/internal/fips140/nistec.P521Point]
    0058c730bl crypto/internal/fips140/bigmod.NewNat
    0058c734str x0, [sp+328]
    0058c738str xzr, [sp+384]
    0058c73cstp xzr, xzr, [sp+360]
    0058c740ldr x0, [sp+568]
    0058c744ldrsb x27, [x0]
    0058c748ldr x1, [x0+40]
    0058c74cldr x2, [x0+48]
    0058c750ldr x0, [x0+56]
    0058c754str x1, [sp+240]
    0058c758str x2, [sp+248]
    0058c75cstr x0, [sp+256]
    0058c760ldr x0, [sp+560]
    0058c764ldrsb x27, [x0]
    0058c768ldr x4, [x0+32]
    0058c76cstr x4, [sp+232]
    0058c770ldr x1, [sp+240]
    0058c774ldr x2, [sp+248]
    0058c778ldr x3, [sp+256]
    0058c77cldr x0, [sp+328]
    0058c780bl crypto/internal/fips140/bigmod.(*Nat).SetBytes
    0058c784str x0, [sp+384]
    0058c788str x1, [sp+360]
    0058c78cstr x2, [sp+368]
    0058c790ldr x0, [sp+384]
    0058c794str x0, [sp+432]
    0058c798ldr x0, [sp+360]
    0058c79cldr x1, [sp+368]
    0058c7a0str x0, [sp+416]
    0058c7a4str x1, [sp+424]
    0058c7a8ldr x0, [sp+432]
    0058c7acstr x0, [sp+96]
    0058c7b0ldr x0, [sp+424]
    0058c7b4ldr x1, [sp+416]
    0058c7b8str x1, [sp+128]
    0058c7bcstr x0, [sp+136]
    0058c7c0cbnz x1, 0x58c7c8
    0058c7c4b 0x58c7ec
    0058c7c8
    0058c7c8loc_58c7c8:
    0058c7c8str xzr, [sp+88]
    0058c7ccldr x1, [sp+128]
    0058c7d0ldr x2, [sp+136]
    0058c7d4str x1, [sp+72]
    0058c7d8str x2, [sp+80]
    0058c7dcldr x0, [sp+88]
    0058c7e0ldp x29, x30, [sp-8]
    0058c7e4add sp, sp, 544
    0058c7e8ret x30
    0058c7ec
    0058c7ecloc_58c7ec:
    0058c7ecldr x3, [sp+560]
    0058c7f0ldrsb x27, [x3]
    0058c7f4ldr x2, [x3+32]
    0058c7f8str x2, [sp+224]
    0058c7fcldr x0, [sp+96]
    0058c800ldr x1, [sp+104]
    0058c804bl crypto/internal/fips140/bigmod.(*Nat).Mul
    0058c808ldr x3, [sp+560]
    0058c80cldrsb x27, [x3]
    0058c810ldr x2, [x3+32]
    0058c814str x2, [sp+216]
    0058c818ldr x0, [sp+96]
    0058c81cldr x1, [sp+144]
    0058c820bl crypto/internal/fips140/bigmod.(*Nat).Add
    0058c824ldr x3, [sp+560]
    0058c828ldrsb x27, [x3]
    0058c82cldr x2, [x3+32]
    0058c830str x2, [sp+208]
    0058c834ldr x0, [sp+96]
    0058c838ldr x1, [sp+112]
    0058c83cbl crypto/internal/fips140/bigmod.(*Nat).Mul
    0058c840ldr x0, [sp+96]
    0058c844bl crypto/internal/fips140/bigmod.(*Nat).IsZero
    0058c848str x0, [sp+64]
    0058c84csubs xzr, x0, 1
    0058c850b.eq 0x58c858
    0058c854b 0x58c894
    0058c858
    0058c858loc_58c858:
    0058c858adrp x0, 0x132000
    0058c85cadd x0, x0, 3248
    0058c860orr x1, xzr, 32
    0058c864bl errors.New
    0058c868str x0, [sp+360]
    0058c86cstr x1, [sp+368]
    0058c870str xzr, [sp+88]
    0058c874ldr x1, [sp+360]
    0058c878ldr x2, [sp+368]
    0058c87cstr x1, [sp+72]
    0058c880str x2, [sp+80]
    0058c884ldr x0, [sp+88]
    0058c888ldp x29, x30, [sp-8]
    0058c88cadd sp, sp, 544
    0058c890ret x30
    0058c894
    0058c894loc_58c894:
    0058c894ldr x2, [sp+560]
    0058c898ldrsb x27, [x2]
    0058c89cldr x1, [x2+32]
    0058c8a0str x1, [sp+200]
    0058c8a4ldr x0, [sp+104]
    0058c8a8bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    0058c8acstr x0, [sp+336]
    0058c8b0str x1, [sp+344]
    0058c8b4str x2, [sp+352]
    0058c8b8ldr x2, [sp+560]
    0058c8bcldrsb x27, [x2]
    0058c8c0ldr x1, [x2+32]
    0058c8c4str x1, [sp+192]
    0058c8c8ldr x0, [sp+96]
    0058c8ccbl crypto/internal/fips140/bigmod.(*Nat).Bytes
    0058c8d0str x0, [sp+304]
    0058c8d4str x1, [sp+312]
    0058c8d8str x2, [sp+320]
    0058c8dcadrp x0, 0xbc000
    0058c8e0add x0, x0, 96
    0058c8e4bl runtime.newobject
    0058c8e8str x0, [sp+184]
    0058c8ecldr x2, [sp+336]
    0058c8f0ldr x3, [sp+344]
    0058c8f4ldr x4, [sp+352]
    0058c8f8str x3, [x0+8]
    0058c8fcstr x4, [x0+16]
    0058c900adrp x27, 0x4bf000
    0058c904ldr w3, [x27+3056]
    0058c908cbz w3, 0x58c910
    0058c90cb 0x58c914
    0058c910
    0058c910loc_58c910:
    0058c910b 0x58c928
    0058c914
    0058c914loc_58c914:
    0058c914bl runtime.gcWriteBarrier2
    0058c918str x2, [x25]
    0058c91cldr x3, [x0]
    0058c920str x3, [x25+8]
    0058c924b 0x58c928
    0058c928
    0058c928loc_58c928:
    0058c928str x2, [x0]
    0058c92cldr x3, [sp+184]
    0058c930ldrsb x27, [x3]
    0058c934ldr x4, [sp+304]
    0058c938ldr x5, [sp+312]
    0058c93cldr x6, [sp+320]
    0058c940str x5, [x3+32]
    0058c944str x6, [x3+40]
    0058c948adrp x27, 0x4bf000
    0058c94cldr w5, [x27+3056]
    0058c950cbz w5, 0x58c958
    0058c954b 0x58c95c
    0058c958
    0058c958loc_58c958:
    0058c958b 0x58c970
    0058c95c
    0058c95cloc_58c95c:
    0058c95cbl runtime.gcWriteBarrier2
    0058c960str x4, [x25]
    0058c964ldr x5, [x3+24]
    0058c968str x5, [x25+8]
    0058c96cb 0x58c970
    0058c970
    0058c970loc_58c970:
    0058c970str x4, [x3+24]
    0058c974ldr x3, [sp+184]
    0058c978str x3, [sp+88]
    0058c97cstp xzr, xzr, [sp+72]
    0058c980ldr x0, [sp+88]
    0058c984mov x1, xzr
    0058c988mov x2, xzr
    0058c98cldp x29, x30, [sp-8]
    0058c990add sp, sp, 544
    0058c994ret x30
    0058c998
    0058c998loc_58c998:
    0058c998stp x0, x1, [sp+8]
    0058c99cstp x2, x3, [sp+24]
    0058c9a0stp x4, x5, [sp+40]
    0058c9a4str x6, [sp+56]
    0058c9a8mov x3, x30
    0058c9acbl runtime.morestack_noctxt.abi0
    0058c9b0ldp x0, x1, [sp+8]
    0058c9b4ldp x2, x3, [sp+24]
    0058c9b8ldp x4, x5, [sp+40]
    0058c9bcldr x6, [sp+56]
    0058c9c0b 0x58c3c0
    0058c9c4udf 0
    0058c9c8udf 0
    0058c9ccudf 0
    0058c3c0
    0058c9d0
    0058c9d0crypto/internal/fips140/ecdsa.signGeneric[go.shape.*crypto/internal/fips140/nistec.P521Point].func1: ; void crypto/internal/fips140/ecdsa.signGeneric[go.shape.*crypto/internal/fips140/nistec.P521Point].func1(struct []uint8 b)
    0058c9d0ldr x16, [x28+16]
    0058c9d4subs xzr, sp, x16
    0058c9d8b.ls 0x58ca34
    0058c9dcstr x30, [sp-80]!
    0058c9e0stur x29, [sp-8]
    0058c9e4sub x29, sp, 8
    0058c9e8str x0, [sp+88]
    0058c9ecstr x1, [sp+96]
    0058c9f0str x2, [sp+104]
    0058c9f4ldr x4, [x26+8]
    0058c9f8str x4, [sp+56]
    0058c9fcldr x4, [x26+16]
    0058ca00str x4, [sp+64]
    0058ca04stp xzr, xzr, [sp+40]
    0058ca08ldr x1, [sp+88]
    0058ca0cldr x2, [sp+96]
    0058ca10ldr x3, [sp+104]
    0058ca14ldr x0, [sp+56]
    0058ca18bl crypto/internal/fips140/ecdsa.(*hmacDRBG).Generate
    0058ca1cstp xzr, xzr, [sp+40]
    0058ca20mov x0, xzr
    0058ca24mov x1, xzr
    0058ca28ldur x29, [sp-8]
    0058ca2cldr x30, [sp], 80
    0058ca30ret x30
    0058ca34
    0058ca34loc_58ca34:
    0058ca34stp x0, x1, [sp+8]
    0058ca38str x2, [sp+24]
    0058ca3cmov x3, x30
    0058ca40bl runtime.morestack.abi0
    0058ca44ldp x0, x1, [sp+8]
    0058ca48ldr x2, [sp+24]
    0058ca4cb 0x58c9d0
    0058c9d0
    0058ca50
    0058ca50crypto/internal/fips140/ecdsa.randomPoint[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdsa.randomPoint[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[3] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, func([]uint8) error generate)
    0058ca50ldr x16, [x28+16]
    0058ca54sub x17, sp, 240
    0058ca58subs xzr, x17, x16
    0058ca5cb.ls 0x58ce70
    0058ca60sub x20, sp, 368
    0058ca64stp x29, x30, [x20-8]
    0058ca68add sp, x20, 0
    0058ca6csub x29, sp, 8
    0058ca70str x0, [sp+376]
    0058ca74str x1, [sp+384]
    0058ca78str x2, [sp+392]
    0058ca7cstr xzr, [sp+112]
    0058ca80str xzr, [sp+96]
    0058ca84stp xzr, xzr, [sp+168]
    0058ca88b 0x58ca8c
    0058ca8c
    0058ca8cloc_58ca8c:
    0058ca8cb 0x58ca90
    0058ca90
    0058ca90loc_58ca90:
    0058ca90ldr x1, [sp+384]
    0058ca94ldrsb x27, [x1]
    0058ca98ldr x0, [x1+32]
    0058ca9cstr x0, [sp+232]
    0058caa0bl crypto/internal/fips140/bigmod.(*Modulus).Size
    0058caa4str x0, [sp+80]
    0058caa8mov x1, x0
    0058caacmov x2, x1
    0058cab0adrp x0, 0x69000
    0058cab4add x0, x0, 3072
    0058cab8bl runtime.makeslice
    0058cabcldr x1, [sp+80]
    0058cac0ldr x2, [sp+80]
    0058cac4str x0, [sp+184]
    0058cac8str x1, [sp+192]
    0058caccstr x2, [sp+200]
    0058cad0ldr x26, [sp+392]
    0058cad4ldr x3, [x26]
    0058cad8blr x3
    0058cadcstr x0, [sp+152]
    0058cae0str x1, [sp+160]
    0058cae4cbnz x0, 0x58caec
    0058cae8b 0x58cb18
    0058caec
    0058caecloc_58caec:
    0058caecstr xzr, [sp+112]
    0058caf0str xzr, [sp+96]
    0058caf4ldr x2, [sp+152]
    0058caf8ldr x3, [sp+160]
    0058cafcstr x2, [sp+168]
    0058cb00str x3, [sp+176]
    0058cb04ldr x0, [sp+112]
    0058cb08ldr x1, [sp+96]
    0058cb0cldp x29, x30, [sp-8]
    0058cb10add sp, sp, 368
    0058cb14ret x30
    0058cb18
    0058cb18loc_58cb18:
    0058cb18ldr x1, [sp+192]
    0058cb1cstr x1, [sp+80]
    0058cb20ldr x1, [sp+384]
    0058cb24ldrsb x27, [x1]
    0058cb28ldr x0, [x1+32]
    0058cb2cstr x0, [sp+224]
    0058cb30bl crypto/internal/fips140/bigmod.(*Modulus).BitLen
    0058cb34str x0, [sp+72]
    0058cb38ldr x1, [sp+80]
    0058cb3cubfm x1, x1, 61, 60
    0058cb40sub x3, x1, x0
    0058cb44str x3, [sp+56]
    0058cb48subs xzr, x3, 0
    0058cb4cb.gt 0x58cb54
    0058cb50b 0x58cc64
    0058cb54
    0058cb54loc_58cb54:
    0058cb54ldr x4, [sp+384]
    0058cb58ldrsb x27, [x4]
    0058cb5cldr x4, [x4+8]
    0058cb60subs xzr, x4, 5
    0058cb64b.ne 0x58ce6c
    0058cb68b 0x58cb6c
    0058cb6c
    0058cb6cloc_58cb6c:
    0058cb6cldr x4, [sp+384]
    0058cb70ldrsb x27, [x4]
    0058cb74ldr x1, [x4+8]
    0058cb78ldr x4, [x4]
    0058cb7csubs xzr, x1, 0
    0058cb80b.hi 0x58cb88
    0058cb84b 0x58ce64
    0058cb88
    0058cb88loc_58cb88:
    0058cb88ldr x5, [sp+384]
    0058cb8cldrsb x27, [x5]
    0058cb90ldr x1, [x5+8]
    0058cb94ldr x5, [x5]
    0058cb98ldrb w4, [x4]
    0058cb9csubs xzr, x1, 1
    0058cba0b.hi 0x58cba8
    0058cba4b 0x58ce5c
    0058cba8
    0058cba8loc_58cba8:
    0058cba8ldr x6, [sp+384]
    0058cbacldrsb x27, [x6]
    0058cbb0ldr x1, [x6+8]
    0058cbb4ldr x6, [x6]
    0058cbb8ldrb w5, [x5+1]
    0058cbbcubfm x5, x5, 56, 7
    0058cbc0orr x4, x4, x5
    0058cbc4subs xzr, x1, 2
    0058cbc8b.hi 0x58cbd0
    0058cbccb 0x58ce54
    0058cbd0
    0058cbd0loc_58cbd0:
    0058cbd0ldr x5, [sp+384]
    0058cbd4ldrsb x27, [x5]
    0058cbd8ldr x1, [x5+8]
    0058cbdcldr x5, [x5]
    0058cbe0ldrb w6, [x6+2]
    0058cbe4ubfm x6, x6, 48, 7
    0058cbe8orr x4, x4, x6
    0058cbecsubs xzr, x1, 3
    0058cbf0b.hi 0x58cbf8
    0058cbf4b 0x58ce4c
    0058cbf8
    0058cbf8loc_58cbf8:
    0058cbf8ldrb w5, [x5+3]
    0058cbfcubfm x5, x5, 40, 7
    0058cc00orr x4, x4, x5
    0058cc04movz x5, 11600
    0058cc08movk x5, 0x32350000
    0058cc0csubs wzr, w4, w5
    0058cc10b.ne 0x58ce48
    0058cc14b 0x58cc18
    0058cc18
    0058cc18loc_58cc18:
    0058cc18ldr x4, [sp+384]
    0058cc1cldrsb x27, [x4]
    0058cc20ldr x1, [x4+8]
    0058cc24ldr x4, [x4]
    0058cc28subs xzr, x1, 4
    0058cc2cb.hi 0x58cc34
    0058cc30b 0x58ce40
    0058cc34
    0058cc34loc_58cc34:
    0058cc34ldrb w4, [x4+4]
    0058cc38subs wzr, w4, 49
    0058cc3cb.ne 0x58ce28
    0058cc40b 0x58cc44
    0058cc44
    0058cc44loc_58cc44:
    0058cc44ldr x0, [sp+184]
    0058cc48ldr x1, [sp+192]
    0058cc4cldr x2, [sp+200]
    0058cc50bl crypto/internal/fips140/ecdsa.rightShift
    0058cc54str x0, [sp+184]
    0058cc58str x1, [sp+192]
    0058cc5cstr x2, [sp+200]
    0058cc60b 0x58cc68
    0058cc64
    0058cc64loc_58cc64:
    0058cc64b 0x58cc68
    0058cc68
    0058cc68loc_58cc68:
    0058cc68bl crypto/internal/fips140/bigmod.NewNat
    0058cc6cstr x0, [sp+304]
    0058cc70str xzr, [sp+296]
    0058cc74stp xzr, xzr, [sp+280]
    0058cc78ldr x0, [sp+384]
    0058cc7cldrsb x27, [x0]
    0058cc80ldr x4, [x0+32]
    0058cc84str x4, [sp+216]
    0058cc88ldr x1, [sp+184]
    0058cc8cldr x2, [sp+192]
    0058cc90ldr x3, [sp+200]
    0058cc94ldr x0, [sp+304]
    0058cc98bl crypto/internal/fips140/bigmod.(*Nat).SetBytes
    0058cc9cstr x0, [sp+296]
    0058cca0str x1, [sp+280]
    0058cca4str x2, [sp+288]
    0058cca8ldr x0, [sp+296]
    0058ccacstr x0, [sp+352]
    0058ccb0ldr x0, [sp+280]
    0058ccb4ldr x1, [sp+288]
    0058ccb8str x0, [sp+336]
    0058ccbcstr x1, [sp+344]
    0058ccc0ldr x0, [sp+352]
    0058ccc4str x0, [sp+104]
    0058ccc8ldr x0, [sp+344]
    0058ccccldr x1, [sp+336]
    0058ccd0str x1, [sp+136]
    0058ccd4str x0, [sp+144]
    0058ccd8subs xzr, x1, 0
    0058ccdccset x0, ne
    0058cce0eor x0, x0, 1
    0058cce4strb w0, [sp+55]
    0058cce8cbnz x1, 0x58ccf0
    0058ccecb 0x58ccf4
    0058ccf0
    0058ccf0loc_58ccf0:
    0058ccf0b 0x58cd10
    0058ccf4
    0058ccf4loc_58ccf4:
    0058ccf4ldr x0, [sp+104]
    0058ccf8bl crypto/internal/fips140/bigmod.(*Nat).IsZero
    0058ccfcstr x0, [sp+64]
    0058cd00subs xzr, x0, 0
    0058cd04cset x1, eq
    0058cd08strb w1, [sp+55]
    0058cd0cb 0x58cd10
    0058cd10
    0058cd10loc_58cd10:
    0058cd10ldrb w1, [sp+55]
    0058cd14tbnz w1, 0, 0x58cd1c
    0058cd18b 0x58cdf8
    0058cd1c
    0058cd1cloc_58cd1c:
    0058cd1cldr x0, [sp+384]
    0058cd20ldrsb x27, [x0]
    0058cd24ldr x26, [x0+16]
    0058cd28ldr x0, [x26]
    0058cd2cblr x0
    0058cd30str x0, [sp+272]
    0058cd34ldr x0, [sp+384]
    0058cd38ldrsb x27, [x0]
    0058cd3cldr x1, [x0+32]
    0058cd40str x1, [sp+208]
    0058cd44ldr x0, [sp+104]
    0058cd48bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    0058cd4cstr x0, [sp+248]
    0058cd50str x1, [sp+256]
    0058cd54str x2, [sp+264]
    0058cd58str xzr, [sp+240]
    0058cd5cstp xzr, xzr, [sp+280]
    0058cd60ldr x26, [sp+376]
    0058cd64ldrsb x27, [x26]
    0058cd68ldr x0, [x26]
    0058cd6cldr x1, [sp+248]
    0058cd70ldr x2, [sp+256]
    0058cd74ldr x3, [sp+264]
    0058cd78ldr x4, [sp+272]
    0058cd7cmov x5, x0
    0058cd80mov x0, x4
    0058cd84blr x5
    0058cd88str x0, [sp+240]
    0058cd8cstr x1, [sp+280]
    0058cd90str x2, [sp+288]
    0058cd94ldr x0, [sp+240]
    0058cd98str x0, [sp+328]
    0058cd9cldr x0, [sp+280]
    0058cda0ldr x1, [sp+288]
    0058cda4str x0, [sp+312]
    0058cda8str x1, [sp+320]
    0058cdacldr x0, [sp+328]
    0058cdb0str x0, [sp+88]
    0058cdb4ldr x0, [sp+312]
    0058cdb8ldr x1, [sp+320]
    0058cdbcstr x0, [sp+120]
    0058cdc0str x1, [sp+128]
    0058cdc4ldr x0, [sp+104]
    0058cdc8str x0, [sp+112]
    0058cdccldr x0, [sp+88]
    0058cdd0str x0, [sp+96]
    0058cdd4ldr x2, [sp+120]
    0058cdd8ldr x3, [sp+128]
    0058cddcstr x2, [sp+168]
    0058cde0str x3, [sp+176]
    0058cde4ldr x0, [sp+112]
    0058cde8ldr x1, [sp+96]
    0058cdecldp x29, x30, [sp-8]
    0058cdf0add sp, sp, 368
    0058cdf4ret x30
    0058cdf8
    0058cdf8loc_58cdf8:
    0058cdf8adrp x27, 0x495000
    0058cdfcldr x1, [x27+376]
    0058ce00cbnz x1, 0x58ce08
    0058ce04b 0x58ce1c
    0058ce08
    0058ce08loc_58ce08:
    0058ce08adrp x27, 0x495000
    0058ce0cldr x26, [x27+376]
    0058ce10ldr x0, [x26]
    0058ce14blr x0
    0058ce18b 0x58ce20
    0058ce1c
    0058ce1cloc_58ce1c:
    0058ce1cb 0x58ce20
    0058ce20
    0058ce20loc_58ce20:
    0058ce20b 0x58ce24
    0058ce24
    0058ce24loc_58ce24:
    0058ce24b 0x58ca8c
    0058ce28
    0058ce28loc_58ce28:
    0058ce28b 0x58ce2c
    0058ce2c
    0058ce2cloc_58ce2c:
    0058ce2cadrp x0, 0x69000
    0058ce30add x0, x0, 2944
    0058ce34adrp x1, 0x186000
    0058ce38add x1, x1, 1600
    0058ce3cbl runtime.gopanic
    0058ce40
    0058ce40loc_58ce40:
    0058ce40orr x0, xzr, 4
    0058ce44bl runtime.panicIndex
    0058ce48
    0058ce48loc_58ce48:
    0058ce48b 0x58ce2c
    0058ce4c
    0058ce4cloc_58ce4c:
    0058ce4corr x0, xzr, 3
    0058ce50bl runtime.panicIndex
    0058ce54
    0058ce54loc_58ce54:
    0058ce54orr x0, xzr, 2
    0058ce58bl runtime.panicIndex
    0058ce5c
    0058ce5cloc_58ce5c:
    0058ce5corr x0, xzr, 1
    0058ce60bl runtime.panicIndex
    0058ce64
    0058ce64loc_58ce64:
    0058ce64mov x0, xzr
    0058ce68bl runtime.panicIndex
    0058ce6c
    0058ce6cloc_58ce6c:
    0058ce6cb 0x58ce2c
    0058ce70
    0058ce70loc_58ce70:
    0058ce70stp x0, x1, [sp+8]
    0058ce74str x2, [sp+24]
    0058ce78mov x3, x30
    0058ce7cbl runtime.morestack_noctxt.abi0
    0058ce80ldp x0, x1, [sp+8]
    0058ce84ldr x2, [sp+24]
    0058ce88b 0x58ca50
    0058ce8cudf 0
    0058ca50
    0058ce90
    0058ce90crypto/internal/fips140/ecdsa.bits2octets[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdsa.bits2octets[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[2] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, struct []uint8 hash)
    0058ce90ldr x16, [x28+16]
    0058ce94sub x17, sp, 16
    0058ce98subs xzr, x17, x16
    0058ce9cb.ls 0x58cf34
    0058cea0str x30, [sp-144]!
    0058cea4stur x29, [sp-8]
    0058cea8sub x29, sp, 8
    0058ceacstr x0, [sp+152]
    0058ceb0str x1, [sp+160]
    0058ceb4str x2, [sp+168]
    0058ceb8str x3, [sp+176]
    0058cebcstr x4, [sp+184]
    0058cec0str xzr, [sp+64]
    0058cec4stp xzr, xzr, [sp+72]
    0058cec8bl crypto/internal/fips140/bigmod.NewNat
    0058ceccstr x0, [sp+88]
    0058ced0ldr x0, [sp+152]
    0058ced4ldrsb x27, [x0]
    0058ced8ldr x0, [x0]
    0058cedcstr x0, [sp+104]
    0058cee0ldr x3, [sp+168]
    0058cee4ldr x2, [sp+88]
    0058cee8ldr x1, [sp+160]
    0058ceecldr x4, [sp+176]
    0058cef0ldr x5, [sp+184]
    0058cef4bl crypto/internal/fips140/ecdsa.hashToNat[go.shape.*crypto/internal/fips140/nistec.P521Point]
    0058cef8ldr x0, [sp+160]
    0058cefcldrsb x27, [x0]
    0058cf00ldr x1, [x0+32]
    0058cf04str x1, [sp+96]
    0058cf08ldr x0, [sp+88]
    0058cf0cbl crypto/internal/fips140/bigmod.(*Nat).Bytes
    0058cf10str x0, [sp+112]
    0058cf14str x1, [sp+120]
    0058cf18str x2, [sp+128]
    0058cf1cstr x0, [sp+64]
    0058cf20str x1, [sp+72]
    0058cf24str x2, [sp+80]
    0058cf28ldur x29, [sp-8]
    0058cf2cldr x30, [sp], 144
    0058cf30ret x30
    0058cf34
    0058cf34loc_58cf34:
    0058cf34stp x0, x1, [sp+8]
    0058cf38stp x2, x3, [sp+24]
    0058cf3cstr x4, [sp+40]
    0058cf40mov x3, x30
    0058cf44bl runtime.morestack_noctxt.abi0
    0058cf48ldp x0, x1, [sp+8]
    0058cf4cldp x2, x3, [sp+24]
    0058cf50ldr x4, [sp+40]
    0058cf54b 0x58ce90
    0058cf58udf 0
    0058cf5cudf 0
    0058ce90
    0058cf60
    0058cf60crypto/internal/fips140/ecdsa.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdsa.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[3] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, struct []uint8 D, struct []uint8 Q)
    0058cf60ldr x16, [x28+16]
    0058cf64sub x17, sp, 176
    0058cf68subs xzr, x17, x16
    0058cf6cb.ls 0x58d22c
    0058cf70sub x20, sp, 304
    0058cf74stp x29, x30, [x20-8]
    0058cf78add sp, x20, 0
    0058cf7csub x29, sp, 8
    0058cf80str x0, [sp+312]
    0058cf84str x1, [sp+320]
    0058cf88str x2, [sp+328]
    0058cf8cstr x3, [sp+336]
    0058cf90str x4, [sp+344]
    0058cf94str x5, [sp+352]
    0058cf98str x6, [sp+360]
    0058cf9cstr x7, [sp+368]
    0058cfa0str xzr, [sp+64]
    0058cfa4stp xzr, xzr, [sp+48]
    0058cfa8bl crypto/internal/fips140.RecordApproved
    0058cfacstr xzr, [sp+264]
    0058cfb0stp xzr, xzr, [sp+248]
    0058cfb4ldr x0, [sp+312]
    0058cfb8ldrsb x27, [x0]
    0058cfbcldr x0, [x0]
    0058cfc0str x0, [sp+200]
    0058cfc4ldr x2, [sp+352]
    0058cfc8ldr x1, [sp+320]
    0058cfccldr x3, [sp+360]
    0058cfd0ldr x4, [sp+368]
    0058cfd4bl crypto/internal/fips140/ecdsa.NewPublicKey[go.shape.*crypto/internal/fips140/nistec.P521Point]
    0058cfd8str x0, [sp+264]
    0058cfdcstr x1, [sp+248]
    0058cfe0str x2, [sp+256]
    0058cfe4ldr x0, [sp+264]
    0058cfe8str x0, [sp+144]
    0058cfecldr x0, [sp+248]
    0058cff0ldr x1, [sp+256]
    0058cff4str x0, [sp+128]
    0058cff8str x1, [sp+136]
    0058cffcldr x0, [sp+144]
    0058d000str x0, [sp+72]
    0058d004ldr x0, [sp+136]
    0058d008ldr x1, [sp+128]
    0058d00cstr x1, [sp+104]
    0058d010str x0, [sp+112]
    0058d014cbnz x1, 0x58d01c
    0058d018b 0x58d040
    0058d01c
    0058d01cloc_58d01c:
    0058d01cstr xzr, [sp+64]
    0058d020ldr x1, [sp+104]
    0058d024ldr x2, [sp+112]
    0058d028str x1, [sp+48]
    0058d02cstr x2, [sp+56]
    0058d030ldr x0, [sp+64]
    0058d034ldp x29, x30, [sp-8]
    0058d038add sp, sp, 304
    0058d03cret x30
    0058d040
    0058d040loc_58d040:
    0058d040bl crypto/internal/fips140/bigmod.NewNat
    0058d044str x0, [sp+240]
    0058d048str xzr, [sp+232]
    0058d04cstp xzr, xzr, [sp+248]
    0058d050ldr x0, [sp+320]
    0058d054ldrsb x27, [x0]
    0058d058ldr x4, [x0+32]
    0058d05cstr x4, [sp+192]
    0058d060ldr x1, [sp+328]
    0058d064ldr x2, [sp+336]
    0058d068ldr x3, [sp+344]
    0058d06cldr x0, [sp+240]
    0058d070bl crypto/internal/fips140/bigmod.(*Nat).SetBytes
    0058d074str x0, [sp+232]
    0058d078str x1, [sp+248]
    0058d07cstr x2, [sp+256]
    0058d080ldr x0, [sp+232]
    0058d084str x0, [sp+288]
    0058d088ldr x0, [sp+248]
    0058d08cldr x1, [sp+256]
    0058d090str x0, [sp+272]
    0058d094str x1, [sp+280]
    0058d098ldr x0, [sp+288]
    0058d09cstr x0, [sp+120]
    0058d0a0ldr x0, [sp+280]
    0058d0a4ldr x1, [sp+272]
    0058d0a8str x1, [sp+104]
    0058d0acstr x0, [sp+112]
    0058d0b0cbnz x1, 0x58d0b8
    0058d0b4b 0x58d0dc
    0058d0b8
    0058d0b8loc_58d0b8:
    0058d0b8str xzr, [sp+64]
    0058d0bcldr x1, [sp+104]
    0058d0c0ldr x2, [sp+112]
    0058d0c4str x1, [sp+48]
    0058d0c8str x2, [sp+56]
    0058d0ccldr x0, [sp+64]
    0058d0d0ldp x29, x30, [sp-8]
    0058d0d4add sp, sp, 304
    0058d0d8ret x30
    0058d0dc
    0058d0dcloc_58d0dc:
    0058d0dcldr x2, [sp+320]
    0058d0e0ldrsb x27, [x2]
    0058d0e4ldr x1, [x2+32]
    0058d0e8str x1, [sp+184]
    0058d0ecldr x0, [sp+120]
    0058d0f0bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    0058d0f4str x0, [sp+208]
    0058d0f8str x1, [sp+216]
    0058d0fcstr x2, [sp+224]
    0058d100adrp x0, 0xba000
    0058d104add x0, x0, 4032
    0058d108bl runtime.newobject
    0058d10cstr x0, [sp+176]
    0058d110ldr x2, [sp+72]
    0058d114ldrsb x27, [x2]
    0058d118adrp x27, 0x4be000
    0058d11cldr w3, [x27+3056]
    0058d120cbz w3, 0x58d128
    0058d124b 0x58d12c
    0058d128
    0058d128loc_58d128:
    0058d128b 0x58d150
    0058d12c
    0058d12cloc_58d12c:
    0058d12cstr x0, [sp+160]
    0058d130str x2, [sp+152]
    0058d134mov x1, x0
    0058d138adrp x0, 0xba000
    0058d13cadd x0, x0, 3872
    0058d140bl runtime.wbMove
    0058d144ldr x0, [sp+160]
    0058d148ldr x2, [sp+152]
    0058d14cb 0x58d150
    0058d150
    0058d150loc_58d150:
    0058d150ldp x3, x4, [x2]
    0058d154ldp x5, x6, [x2+16]
    0058d158stp x3, x4, [x0]
    0058d15cstp x5, x6, [x0+16]
    0058d160ldr x3, [x2+32]
    0058d164str x3, [x0+32]
    0058d168ldr x3, [sp+176]
    0058d16cldrsb x27, [x3]
    0058d170ldr x4, [sp+208]
    0058d174ldr x5, [sp+216]
    0058d178ldr x6, [sp+224]
    0058d17cstr x5, [x3+48]
    0058d180str x6, [x3+56]
    0058d184adrp x27, 0x4be000
    0058d188ldr w5, [x27+3056]
    0058d18ccbz w5, 0x58d194
    0058d190b 0x58d198
    0058d194
    0058d194loc_58d194:
    0058d194b 0x58d1ac
    0058d198
    0058d198loc_58d198:
    0058d198bl runtime.gcWriteBarrier2
    0058d19cstr x4, [x25]
    0058d1a0ldr x5, [x3+40]
    0058d1a4str x5, [x25+8]
    0058d1a8b 0x58d1ac
    0058d1ac
    0058d1acloc_58d1ac:
    0058d1acstr x4, [x3+40]
    0058d1b0ldr x3, [sp+176]
    0058d1b4str x3, [sp+80]
    0058d1b8ldr x3, [sp+312]
    0058d1bcldrsb x27, [x3]
    0058d1c0ldr x0, [x3+8]
    0058d1c4str x0, [sp+168]
    0058d1c8ldr x2, [sp+80]
    0058d1ccldr x1, [sp+320]
    0058d1d0bl crypto/internal/fips140/ecdsa.fipsPCT[go.shape.*crypto/internal/fips140/nistec.P521Point]
    0058d1d4str x0, [sp+88]
    0058d1d8str x1, [sp+96]
    0058d1dccbnz x0, 0x58d1e4
    0058d1e0b 0x58d208
    0058d1e4
    0058d1e4loc_58d1e4:
    0058d1e4str xzr, [sp+64]
    0058d1e8ldr x1, [sp+88]
    0058d1ecldr x2, [sp+96]
    0058d1f0str x1, [sp+48]
    0058d1f4str x2, [sp+56]
    0058d1f8ldr x0, [sp+64]
    0058d1fcldp x29, x30, [sp-8]
    0058d200add sp, sp, 304
    0058d204ret x30
    0058d208
    0058d208loc_58d208:
    0058d208ldr x3, [sp+80]
    0058d20cstr x3, [sp+64]
    0058d210stp xzr, xzr, [sp+48]
    0058d214ldr x0, [sp+64]
    0058d218mov x1, xzr
    0058d21cmov x2, xzr
    0058d220ldp x29, x30, [sp-8]
    0058d224add sp, sp, 304
    0058d228ret x30
    0058d22c
    0058d22cloc_58d22c:
    0058d22cstp x0, x1, [sp+8]
    0058d230stp x2, x3, [sp+24]
    0058d234stp x4, x5, [sp+40]
    0058d238stp x6, x7, [sp+56]
    0058d23cmov x3, x30
    0058d240bl runtime.morestack_noctxt.abi0
    0058d244ldp x0, x1, [sp+8]
    0058d248ldp x2, x3, [sp+24]
    0058d24cldp x4, x5, [sp+40]
    0058d250ldp x6, x7, [sp+56]
    0058d254b 0x58cf60
    0058d258udf 0
    0058d25cudf 0
    0058cf60
    0058d260
    0058d260crypto/internal/fips140/ecdsa.fipsPCT[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdsa.fipsPCT[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[3] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, crypto/internal/fips140/ecdsa.PrivateKey * k)
    0058d260ldr x16, [x28+16]
    0058d264subs xzr, sp, x16
    0058d268b.ls 0x58d374
    0058d26cstr x30, [sp-112]!
    0058d270stur x29, [sp-8]
    0058d274sub x29, sp, 8
    0058d278str x0, [sp+120]
    0058d27cstr x1, [sp+128]
    0058d280str x2, [sp+136]
    0058d284stp xzr, xzr, [sp+32]
    0058d288stp xzr, xzr, [sp+72]
    0058d28cstp xzr, xzr, [sp+88]
    0058d290add x3, sp, 72
    0058d294str x3, [sp+48]
    0058d298ldrsb x27, [x3]
    0058d29cadrp x4, 0
    0058d2a0add x4, x4, 912
    0058d2a4str x4, [x3]
    0058d2a8ldrsb x27, [x3]
    0058d2acldr x4, [sp+136]
    0058d2b0adrp x27, 0x4be000
    0058d2b4ldr w5, [x27+3056]
    0058d2b8cbz w5, 0x58d2c0
    0058d2bcb 0x58d2c4
    0058d2c0
    0058d2c0loc_58d2c0:
    0058d2c0b 0x58d2d8
    0058d2c4
    0058d2c4loc_58d2c4:
    0058d2c4bl runtime.gcWriteBarrier2
    0058d2c8str x4, [x25]
    0058d2ccldr x5, [x3+8]
    0058d2d0str x5, [x25+8]
    0058d2d4b 0x58d2d8
    0058d2d8
    0058d2d8loc_58d2d8:
    0058d2d8str x4, [x3+8]
    0058d2dcldrsb x27, [x3]
    0058d2e0ldr x4, [sp+128]
    0058d2e4adrp x27, 0x4be000
    0058d2e8ldr w5, [x27+3056]
    0058d2eccbz w5, 0x58d2f4
    0058d2f0b 0x58d2f8
    0058d2f4
    0058d2f4loc_58d2f4:
    0058d2f4b 0x58d30c
    0058d2f8
    0058d2f8loc_58d2f8:
    0058d2f8bl runtime.gcWriteBarrier2
    0058d2fcstr x4, [x25]
    0058d300ldr x5, [x3+16]
    0058d304str x5, [x25+8]
    0058d308b 0x58d30c
    0058d30c
    0058d30cloc_58d30c:
    0058d30cstr x4, [x3+16]
    0058d310ldrsb x27, [x3]
    0058d314ldr x4, [sp+120]
    0058d318adrp x27, 0x4be000
    0058d31cldr w5, [x27+3056]
    0058d320cbz w5, 0x58d328
    0058d324b 0x58d32c
    0058d328
    0058d328loc_58d328:
    0058d328b 0x58d340
    0058d32c
    0058d32cloc_58d32c:
    0058d32cbl runtime.gcWriteBarrier2
    0058d330str x4, [x25]
    0058d334ldr x5, [x3+24]
    0058d338str x5, [x25+8]
    0058d33cb 0x58d340
    0058d340
    0058d340loc_58d340:
    0058d340str x4, [x3+24]
    0058d344ldr x2, [sp+48]
    0058d348adrp x0, 0x124000
    0058d34cadd x0, x0, 4009
    0058d350movz x1, 9
    0058d354bl crypto/internal/fips140.PCT
    0058d358str x0, [sp+56]
    0058d35cstr x1, [sp+64]
    0058d360str x0, [sp+32]
    0058d364str x1, [sp+40]
    0058d368ldur x29, [sp-8]
    0058d36cldr x30, [sp], 112
    0058d370ret x30
    0058d374
    0058d374loc_58d374:
    0058d374stp x0, x1, [sp+8]
    0058d378str x2, [sp+24]
    0058d37cmov x3, x30
    0058d380bl runtime.morestack_noctxt.abi0
    0058d384ldp x0, x1, [sp+8]
    0058d388ldr x2, [sp+24]
    0058d38cb 0x58d260
    0058d260
    0058d390
    0058d390crypto/internal/fips140/ecdsa.fipsPCT[go.shape.*crypto/internal/fips140/nistec.P521Point].func1: ; void crypto/internal/fips140/ecdsa.fipsPCT[go.shape.*crypto/internal/fips140/nistec.P521Point].func1(void)
    0058d390ldr x16, [x28+16]
    0058d394sub x17, sp, 192
    0058d398subs xzr, x17, x16
    0058d39cb.ls 0x58d538
    0058d3a0sub x20, sp, 320
    0058d3a4stp x29, x30, [x20-8]
    0058d3a8add sp, x20, 0
    0058d3acsub x29, sp, 8
    0058d3b0ldr x0, [x26+8]
    0058d3b4str x0, [sp+112]
    0058d3b8ldr x0, [x26+16]
    0058d3bcstr x0, [sp+168]
    0058d3c0ldr x0, [x26+24]
    0058d3c4str x0, [sp+176]
    0058d3c8stp xzr, xzr, [sp+88]
    0058d3ccbl crypto/internal/fips140/ecdsa.testHash
    0058d3d0str x0, [sp+120]
    0058d3d4str x1, [sp+128]
    0058d3d8str x2, [sp+136]
    0058d3dcbl crypto/internal/fips140/ecdsa.P256
    0058d3e0str x0, [sp+216]
    0058d3e4ldr x2, [sp+120]
    0058d3e8ldr x3, [sp+128]
    0058d3ecldr x4, [sp+136]
    0058d3f0mov x1, x0
    0058d3f4adrp x0, 0x185000
    0058d3f8add x0, x0, 1952
    0058d3fcbl crypto/internal/fips140/ecdsa.bits2octets[go.shape.*crypto/internal/fips140/nistec.P256Point]
    0058d400str x0, [sp+192]
    0058d404str x1, [sp+200]
    0058d408str x2, [sp+208]
    0058d40cldr x0, [sp+112]
    0058d410ldrsb x27, [x0]
    0058d414ldr x2, [x0+40]
    0058d418ldr x3, [x0+48]
    0058d41cldr x4, [x0+56]
    0058d420str x2, [sp+272]
    0058d424str x3, [sp+280]
    0058d428str x4, [sp+288]
    0058d42cldr x5, [sp+192]
    0058d430ldr x6, [sp+200]
    0058d434ldr x7, [sp+208]
    0058d438adrp x0, 0x186000
    0058d43cadd x0, x0, 1504
    0058d440adrp x1, 0x14c000
    0058d444add x1, x1, 840
    0058d448mov x8, xzr
    0058d44cmov x9, xzr
    0058d450bl crypto/internal/fips140/ecdsa.newDRBG[go.shape.*uint8]
    0058d454str x0, [sp+160]
    0058d458str xzr, [sp+184]
    0058d45cstp xzr, xzr, [sp+296]
    0058d460ldr x0, [sp+176]
    0058d464ldrsb x27, [x0]
    0058d468ldr x0, [x0]
    0058d46cstr x0, [sp+264]
    0058d470ldr x4, [sp+120]
    0058d474ldr x3, [sp+160]
    0058d478ldr x2, [sp+112]
    0058d47cldr x1, [sp+168]
    0058d480ldr x5, [sp+128]
    0058d484ldr x6, [sp+136]
    0058d488bl crypto/internal/fips140/ecdsa.sign[go.shape.*crypto/internal/fips140/nistec.P521Point]
    0058d48cstr x0, [sp+184]
    0058d490str x1, [sp+296]
    0058d494str x2, [sp+304]
    0058d498ldr x0, [sp+184]
    0058d49cstr x0, [sp+240]
    0058d4a0ldr x0, [sp+296]
    0058d4a4ldr x1, [sp+304]
    0058d4a8str x0, [sp+224]
    0058d4acstr x1, [sp+232]
    0058d4b0ldr x0, [sp+240]
    0058d4b4str x0, [sp+104]
    0058d4b8ldr x1, [sp+232]
    0058d4bcldr x0, [sp+224]
    0058d4c0str x0, [sp+144]
    0058d4c4str x1, [sp+152]
    0058d4c8cbnz x0, 0x58d4d0
    0058d4ccb 0x58d4e4
    0058d4d0
    0058d4d0loc_58d4d0:
    0058d4d0str x0, [sp+88]
    0058d4d4str x1, [sp+96]
    0058d4d8ldp x29, x30, [sp-8]
    0058d4dcadd sp, sp, 320
    0058d4e0ret x30
    0058d4e4
    0058d4e4loc_58d4e4:
    0058d4e4ldr x7, [sp+176]
    0058d4e8ldrsb x27, [x7]
    0058d4ecldr x7, [x7+8]
    0058d4f0str x7, [sp+256]
    0058d4f4ldr x2, [sp+112]
    0058d4f8ldrsb x27, [x2]
    0058d4fcstr x2, [sp+248]
    0058d500ldr x3, [sp+120]
    0058d504ldr x6, [sp+104]
    0058d508ldr x1, [sp+168]
    0058d50cldr x4, [sp+128]
    0058d510ldr x5, [sp+136]
    0058d514ldr x0, [sp+256]
    0058d518bl crypto/internal/fips140/ecdsa.Verify[go.shape.*crypto/internal/fips140/nistec.P521Point]
    0058d51cstr x0, [sp+296]
    0058d520str x1, [sp+304]
    0058d524str x0, [sp+88]
    0058d528str x1, [sp+96]
    0058d52cldp x29, x30, [sp-8]
    0058d530add sp, sp, 320
    0058d534ret x30
    0058d538
    0058d538loc_58d538:
    0058d538mov x3, x30
    0058d53cbl runtime.morestack.abi0
    0058d540b 0x58d390
    0058d544udf 0
    0058d548udf 0
    0058d54cudf 0
    0058d390
    0058d550
    0058d550crypto/internal/fips140/ecdsa.SignDeterministic[go.shape.*crypto/internal/fips140/nistec.P384Point,go.shape.interface { BlockSize() int; Reset(); Size() int; Sum([]uint8) []uint8; Write([]uint8) (int, error) }]: ; void crypto/internal/fips140/ecdsa.SignDeterministic[go.shape.*crypto/internal/fips140/nistec.P384Point,go.shape.interface { BlockSize() int; Reset(); Size() int; Sum([]uint8) []uint8; Write([]uint8) (int, error) }](uintptr[5] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P384Point] * c, int64_t h, crypto/internal/fips140/ecdsa.PrivateKey * priv, struct []uint8 hash)
    0058d550ldr x16, [x28+16]
    0058d554sub x17, sp, 160
    0058d558subs xzr, x17, x16
    0058d55cb.ls 0x58d744
    0058d560sub x20, sp, 288
    0058d564stp x29, x30, [x20-8]
    0058d568add sp, x20, 0
    0058d56csub x29, sp, 8
    0058d570str x0, [sp+296]
    0058d574str x1, [sp+304]
    0058d578str x2, [sp+312]
    0058d57cstr x3, [sp+320]
    0058d580str x4, [sp+328]
    0058d584str x5, [sp+336]
    0058d588str x6, [sp+344]
    0058d58cstr xzr, [sp+112]
    0058d590stp xzr, xzr, [sp+96]
    0058d594ldr x3, [sp+320]
    0058d598ldrsb x27, [x3]
    0058d59cldr x4, [x3]
    0058d5a0ldr x3, [x3+8]
    0058d5a4str x4, [sp+216]
    0058d5a8str x3, [sp+224]
    0058d5acldr x3, [sp+304]
    0058d5b0ldrsb x27, [x3]
    0058d5b4ldr x1, [x3]
    0058d5b8ldr x3, [x3+8]
    0058d5bcstr x1, [sp+200]
    0058d5c0str x3, [sp+208]
    0058d5c4ldr x4, [sp+224]
    0058d5c8subs xzr, x4, x3
    0058d5ccb.ne 0x58d5d4
    0058d5d0b 0x58d5d8
    0058d5d4
    0058d5d4loc_58d5d4:
    0058d5d4b 0x58d708
    0058d5d8
    0058d5d8loc_58d5d8:
    0058d5d8ldr x2, [sp+224]
    0058d5dcldr x0, [sp+216]
    0058d5e0bl runtime.memequal
    0058d5e4tbnz w0, 0, 0x58d5ec
    0058d5e8b 0x58d704
    0058d5ec
    0058d5ecloc_58d5ec:
    0058d5ecbl crypto/internal/fips140.RecordApproved
    0058d5f0adrp x27, 0x494000
    0058d5f4ldr x26, [x27+336]
    0058d5f8ldr x0, [x26]
    0058d5fcblr x0
    0058d600ldr x0, [sp+296]
    0058d604ldrsb x27, [x0]
    0058d608ldr x0, [x0+8]
    0058d60cstr x0, [sp+192]
    0058d610ldr x2, [sp+328]
    0058d614ldr x1, [sp+304]
    0058d618ldr x3, [sp+336]
    0058d61cldr x4, [sp+344]
    0058d620bl crypto/internal/fips140/ecdsa.bits2octets[go.shape.*crypto/internal/fips140/nistec.P384Point]
    0058d624str x0, [sp+240]
    0058d628str x1, [sp+248]
    0058d62cstr x2, [sp+256]
    0058d630ldr x0, [sp+296]
    0058d634ldrsb x27, [x0]
    0058d638ldr x0, [x0]
    0058d63cstr x0, [sp+184]
    0058d640ldr x0, [sp+320]
    0058d644ldrsb x27, [x0]
    0058d648ldr x2, [x0+40]
    0058d64cldr x3, [x0+48]
    0058d650ldr x4, [x0+56]
    0058d654str x2, [sp+160]
    0058d658str x3, [sp+168]
    0058d65cstr x4, [sp+176]
    0058d660ldr x1, [sp+312]
    0058d664ldr x5, [sp+240]
    0058d668ldr x6, [sp+248]
    0058d66cldr x7, [sp+256]
    0058d670ldr x0, [sp+184]
    0058d674mov x8, xzr
    0058d678mov x9, xzr
    0058d67cbl crypto/internal/fips140/ecdsa.newDRBG[go.shape.interface { BlockSize() int; Reset(); Size() int; Sum([]uint8) []uint8; Write([]uint8) (int, error) }]
    0058d680str x0, [sp+120]
    0058d684str xzr, [sp+232]
    0058d688stp xzr, xzr, [sp+264]
    0058d68cldr x0, [sp+296]
    0058d690ldrsb x27, [x0]
    0058d694ldr x0, [x0+16]
    0058d698str x0, [sp+152]
    0058d69cldr x4, [sp+328]
    0058d6a0ldr x3, [sp+120]
    0058d6a4ldr x2, [sp+320]
    0058d6a8ldr x1, [sp+304]
    0058d6acldr x5, [sp+336]
    0058d6b0ldr x6, [sp+344]
    0058d6b4bl crypto/internal/fips140/ecdsa.sign[go.shape.*crypto/internal/fips140/nistec.P384Point]
    0058d6b8str x0, [sp+232]
    0058d6bcstr x1, [sp+264]
    0058d6c0str x2, [sp+272]
    0058d6c4ldr x0, [sp+232]
    0058d6c8str x0, [sp+144]
    0058d6ccldr x0, [sp+264]
    0058d6d0ldr x1, [sp+272]
    0058d6d4str x0, [sp+128]
    0058d6d8str x1, [sp+136]
    0058d6dcldr x0, [sp+144]
    0058d6e0str x0, [sp+112]
    0058d6e4ldr x1, [sp+128]
    0058d6e8ldr x2, [sp+136]
    0058d6ecstr x1, [sp+96]
    0058d6f0str x2, [sp+104]
    0058d6f4ldr x0, [sp+112]
    0058d6f8ldp x29, x30, [sp-8]
    0058d6fcadd sp, sp, 288
    0058d700ret x30
    0058d704
    0058d704loc_58d704:
    0058d704b 0x58d708
    0058d708
    0058d708loc_58d708:
    0058d708adrp x0, 0x136000
    0058d70cadd x0, x0, 3211
    0058d710movz x1, 39
    0058d714bl errors.New
    0058d718str x0, [sp+264]
    0058d71cstr x1, [sp+272]
    0058d720str xzr, [sp+112]
    0058d724ldr x1, [sp+264]
    0058d728ldr x2, [sp+272]
    0058d72cstr x1, [sp+96]
    0058d730str x2, [sp+104]
    0058d734ldr x0, [sp+112]
    0058d738ldp x29, x30, [sp-8]
    0058d73cadd sp, sp, 288
    0058d740ret x30
    0058d744
    0058d744loc_58d744:
    0058d744stp x0, x1, [sp+8]
    0058d748stp x2, x3, [sp+24]
    0058d74cstp x4, x5, [sp+40]
    0058d750str x6, [sp+56]
    0058d754mov x3, x30
    0058d758bl runtime.morestack_noctxt.abi0
    0058d75cldp x0, x1, [sp+8]
    0058d760ldp x2, x3, [sp+24]
    0058d764ldp x4, x5, [sp+40]
    0058d768ldr x6, [sp+56]
    0058d76cb 0x58d550
    0058d550