File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    00587a80
    00587a80crypto/internal/fips140/ecdsa.randomPoint[go.shape.*crypto/internal/fips140/nistec.P256Point]: ; void crypto/internal/fips140/ecdsa.randomPoint[go.shape.*crypto/internal/fips140/nistec.P256Point](uintptr[3] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P256Point] * c, func([]uint8) error generate)
    00587a80ldr x16, [x28+16]
    00587a84sub x17, sp, 272
    00587a88subs xzr, x17, x16
    00587a8cb.ls 0x587eb8
    00587a90sub x20, sp, 400
    00587a94stp x29, x30, [x20-8]
    00587a98add sp, x20, 0
    00587a9csub x29, sp, 8
    00587aa0str x0, [sp+408]
    00587aa4str x1, [sp+416]
    00587aa8str x2, [sp+424]
    00587aacstr xzr, [sp+120]
    00587ab0str xzr, [sp+104]
    00587ab4stp xzr, xzr, [sp+176]
    00587ab8b 0x587abc
    00587abc
    00587abcloc_587abc:
    00587abcb 0x587ac0
    00587ac0
    00587ac0loc_587ac0:
    00587ac0ldr x1, [sp+416]
    00587ac4ldrsb x27, [x1]
    00587ac8ldr x0, [x1+32]
    00587accstr x0, [sp+248]
    00587ad0bl crypto/internal/fips140/bigmod.(*Modulus).Size
    00587ad4str x0, [sp+88]
    00587ad8mov x1, x0
    00587adcmov x2, x1
    00587ae0adrp x0, 0x6e000
    00587ae4add x0, x0, 3072
    00587ae8bl runtime.makeslice
    00587aecldr x1, [sp+88]
    00587af0ldr x2, [sp+88]
    00587af4str x0, [sp+192]
    00587af8str x1, [sp+200]
    00587afcstr x2, [sp+208]
    00587b00ldr x26, [sp+424]
    00587b04ldr x3, [x26]
    00587b08blr x3
    00587b0cstr x0, [sp+160]
    00587b10str x1, [sp+168]
    00587b14cbnz x0, 0x587b1c
    00587b18b 0x587b48
    00587b1c
    00587b1cloc_587b1c:
    00587b1cstr xzr, [sp+120]
    00587b20str xzr, [sp+104]
    00587b24ldr x2, [sp+160]
    00587b28ldr x3, [sp+168]
    00587b2cstr x2, [sp+176]
    00587b30str x3, [sp+184]
    00587b34ldr x0, [sp+120]
    00587b38ldr x1, [sp+104]
    00587b3cldp x29, x30, [sp-8]
    00587b40add sp, sp, 400
    00587b44ret x30
    00587b48
    00587b48loc_587b48:
    00587b48ldr x1, [sp+200]
    00587b4cstr x1, [sp+88]
    00587b50ldr x1, [sp+416]
    00587b54ldrsb x27, [x1]
    00587b58ldr x0, [x1+32]
    00587b5cstr x0, [sp+240]
    00587b60bl crypto/internal/fips140/bigmod.(*Modulus).BitLen
    00587b64str x0, [sp+80]
    00587b68ldr x1, [sp+88]
    00587b6cubfm x1, x1, 61, 60
    00587b70sub x3, x1, x0
    00587b74str x3, [sp+64]
    00587b78subs xzr, x3, 0
    00587b7cb.gt 0x587b84
    00587b80b 0x587c94
    00587b84
    00587b84loc_587b84:
    00587b84ldr x4, [sp+416]
    00587b88ldrsb x27, [x4]
    00587b8cldr x4, [x4+8]
    00587b90subs xzr, x4, 5
    00587b94b.ne 0x587eb4
    00587b98b 0x587b9c
    00587b9c
    00587b9cloc_587b9c:
    00587b9cldr x4, [sp+416]
    00587ba0ldrsb x27, [x4]
    00587ba4ldr x1, [x4+8]
    00587ba8ldr x4, [x4]
    00587bacsubs xzr, x1, 0
    00587bb0b.hi 0x587bb8
    00587bb4b 0x587eac
    00587bb8
    00587bb8loc_587bb8:
    00587bb8ldr x5, [sp+416]
    00587bbcldrsb x27, [x5]
    00587bc0ldr x1, [x5+8]
    00587bc4ldr x5, [x5]
    00587bc8ldrb w4, [x4]
    00587bccsubs xzr, x1, 1
    00587bd0b.hi 0x587bd8
    00587bd4b 0x587ea4
    00587bd8
    00587bd8loc_587bd8:
    00587bd8ldr x6, [sp+416]
    00587bdcldrsb x27, [x6]
    00587be0ldr x1, [x6+8]
    00587be4ldr x6, [x6]
    00587be8ldrb w5, [x5+1]
    00587becubfm x5, x5, 56, 7
    00587bf0orr x4, x4, x5
    00587bf4subs xzr, x1, 2
    00587bf8b.hi 0x587c00
    00587bfcb 0x587e9c
    00587c00
    00587c00loc_587c00:
    00587c00ldr x5, [sp+416]
    00587c04ldrsb x27, [x5]
    00587c08ldr x1, [x5+8]
    00587c0cldr x5, [x5]
    00587c10ldrb w6, [x6+2]
    00587c14ubfm x6, x6, 48, 7
    00587c18orr x4, x4, x6
    00587c1csubs xzr, x1, 3
    00587c20b.hi 0x587c28
    00587c24b 0x587e94
    00587c28
    00587c28loc_587c28:
    00587c28ldrb w5, [x5+3]
    00587c2cubfm x5, x5, 40, 7
    00587c30orr x4, x4, x5
    00587c34movz x5, 11600
    00587c38movk x5, 0x32350000
    00587c3csubs wzr, w4, w5
    00587c40b.ne 0x587e90
    00587c44b 0x587c48
    00587c48
    00587c48loc_587c48:
    00587c48ldr x4, [sp+416]
    00587c4cldrsb x27, [x4]
    00587c50ldr x1, [x4+8]
    00587c54ldr x4, [x4]
    00587c58subs xzr, x1, 4
    00587c5cb.hi 0x587c64
    00587c60b 0x587e88
    00587c64
    00587c64loc_587c64:
    00587c64ldrb w4, [x4+4]
    00587c68subs wzr, w4, 49
    00587c6cb.ne 0x587e58
    00587c70b 0x587c74
    00587c74
    00587c74loc_587c74:
    00587c74ldr x0, [sp+192]
    00587c78ldr x1, [sp+200]
    00587c7cldr x2, [sp+208]
    00587c80bl crypto/internal/fips140/ecdsa.rightShift
    00587c84str x0, [sp+192]
    00587c88str x1, [sp+200]
    00587c8cstr x2, [sp+208]
    00587c90b 0x587c98
    00587c94
    00587c94loc_587c94:
    00587c94b 0x587c98
    00587c98
    00587c98loc_587c98:
    00587c98bl crypto/internal/fips140/bigmod.NewNat
    00587c9cstr x0, [sp+320]
    00587ca0str xzr, [sp+312]
    00587ca4stp xzr, xzr, [sp+296]
    00587ca8ldr x0, [sp+416]
    00587cacldrsb x27, [x0]
    00587cb0ldr x4, [x0+32]
    00587cb4str x4, [sp+224]
    00587cb8ldr x1, [sp+192]
    00587cbcldr x2, [sp+200]
    00587cc0ldr x3, [sp+208]
    00587cc4ldr x0, [sp+320]
    00587cc8bl crypto/internal/fips140/bigmod.(*Nat).SetBytes
    00587cccstr x0, [sp+312]
    00587cd0str x1, [sp+296]
    00587cd4str x2, [sp+304]
    00587cd8ldr x0, [sp+312]
    00587cdcstr x0, [sp+384]
    00587ce0ldr x0, [sp+296]
    00587ce4ldr x1, [sp+304]
    00587ce8str x0, [sp+368]
    00587cecstr x1, [sp+376]
    00587cf0ldr x0, [sp+384]
    00587cf4str x0, [sp+112]
    00587cf8ldr x0, [sp+376]
    00587cfcldr x1, [sp+368]
    00587d00str x1, [sp+144]
    00587d04str x0, [sp+152]
    00587d08subs xzr, x1, 0
    00587d0ccset x0, ne
    00587d10eor x0, x0, 1
    00587d14strb w0, [sp+63]
    00587d18cbnz x1, 0x587d20
    00587d1cb 0x587d24
    00587d20
    00587d20loc_587d20:
    00587d20b 0x587d40
    00587d24
    00587d24loc_587d24:
    00587d24ldr x0, [sp+112]
    00587d28bl crypto/internal/fips140/bigmod.(*Nat).IsZero
    00587d2cstr x0, [sp+72]
    00587d30subs xzr, x0, 0
    00587d34cset x1, eq
    00587d38strb w1, [sp+63]
    00587d3cb 0x587d40
    00587d40
    00587d40loc_587d40:
    00587d40ldrb w1, [sp+63]
    00587d44tbnz w1, 0, 0x587d4c
    00587d48b 0x587e28
    00587d4c
    00587d4cloc_587d4c:
    00587d4cldr x0, [sp+416]
    00587d50ldrsb x27, [x0]
    00587d54ldr x26, [x0+16]
    00587d58ldr x0, [x26]
    00587d5cblr x0
    00587d60str x0, [sp+288]
    00587d64ldr x0, [sp+416]
    00587d68ldrsb x27, [x0]
    00587d6cldr x1, [x0+32]
    00587d70str x1, [sp+216]
    00587d74ldr x0, [sp+112]
    00587d78bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    00587d7cstr x0, [sp+264]
    00587d80str x1, [sp+272]
    00587d84str x2, [sp+280]
    00587d88str xzr, [sp+256]
    00587d8cstp xzr, xzr, [sp+296]
    00587d90ldr x26, [sp+408]
    00587d94ldrsb x27, [x26]
    00587d98ldr x0, [x26]
    00587d9cldr x1, [sp+264]
    00587da0ldr x2, [sp+272]
    00587da4ldr x3, [sp+280]
    00587da8ldr x4, [sp+288]
    00587dacmov x5, x0
    00587db0mov x0, x4
    00587db4blr x5
    00587db8str x0, [sp+256]
    00587dbcstr x1, [sp+296]
    00587dc0str x2, [sp+304]
    00587dc4ldr x0, [sp+256]
    00587dc8str x0, [sp+360]
    00587dccldr x0, [sp+296]
    00587dd0ldr x1, [sp+304]
    00587dd4str x0, [sp+344]
    00587dd8str x1, [sp+352]
    00587ddcldr x0, [sp+360]
    00587de0str x0, [sp+96]
    00587de4ldr x0, [sp+344]
    00587de8ldr x1, [sp+352]
    00587decstr x0, [sp+128]
    00587df0str x1, [sp+136]
    00587df4ldr x0, [sp+112]
    00587df8str x0, [sp+120]
    00587dfcldr x0, [sp+96]
    00587e00str x0, [sp+104]
    00587e04ldr x2, [sp+128]
    00587e08ldr x3, [sp+136]
    00587e0cstr x2, [sp+176]
    00587e10str x3, [sp+184]
    00587e14ldr x0, [sp+120]
    00587e18ldr x1, [sp+104]
    00587e1cldp x29, x30, [sp-8]
    00587e20add sp, sp, 400
    00587e24ret x30
    00587e28
    00587e28loc_587e28:
    00587e28adrp x27, 0x49a000
    00587e2cldr x1, [x27+376]
    00587e30cbnz x1, 0x587e38
    00587e34b 0x587e4c
    00587e38
    00587e38loc_587e38:
    00587e38adrp x27, 0x49a000
    00587e3cldr x26, [x27+376]
    00587e40ldr x0, [x26]
    00587e44blr x0
    00587e48b 0x587e50
    00587e4c
    00587e4cloc_587e4c:
    00587e4cb 0x587e50
    00587e50
    00587e50loc_587e50:
    00587e50b 0x587e54
    00587e54
    00587e54loc_587e54:
    00587e54b 0x587abc
    00587e58
    00587e58loc_587e58:
    00587e58b 0x587e5c
    00587e5c
    00587e5cloc_587e5c:
    00587e5cadrp x0, 0x143000
    00587e60add x0, x0, 323
    00587e64str x0, [sp+328]
    00587e68movz x1, 52
    00587e6cstr x1, [sp+336]
    00587e70bl runtime.convTstring
    00587e74str x0, [sp+232]
    00587e78mov x1, x0
    00587e7cadrp x0, 0x6e000
    00587e80add x0, x0, 2944
    00587e84bl runtime.gopanic
    00587e88
    00587e88loc_587e88:
    00587e88orr x0, xzr, 4
    00587e8cbl runtime.panicIndex
    00587e90
    00587e90loc_587e90:
    00587e90b 0x587e5c
    00587e94
    00587e94loc_587e94:
    00587e94orr x0, xzr, 3
    00587e98bl runtime.panicIndex
    00587e9c
    00587e9cloc_587e9c:
    00587e9corr x0, xzr, 2
    00587ea0bl runtime.panicIndex
    00587ea4
    00587ea4loc_587ea4:
    00587ea4orr x0, xzr, 1
    00587ea8bl runtime.panicIndex
    00587eac
    00587eacloc_587eac:
    00587eacmov x0, xzr
    00587eb0bl runtime.panicIndex
    00587eb4
    00587eb4loc_587eb4:
    00587eb4b 0x587e5c
    00587eb8
    00587eb8loc_587eb8:
    00587eb8stp x0, x1, [sp+8]
    00587ebcstr x2, [sp+24]
    00587ec0mov x3, x30
    00587ec4bl runtime.morestack_noctxt.abi0
    00587ec8ldp x0, x1, [sp+8]
    00587eccldr x2, [sp+24]
    00587ed0b 0x587a80
    00587ed4udf 0
    00587ed8udf 0
    00587edcudf 0
    00587a80
    00587ee0
    00587ee0crypto/internal/fips140/ecdsa.newDRBG[go.shape.*uint8]: ; void crypto/internal/fips140/ecdsa.newDRBG[go.shape.*uint8](uintptr[3] * dict, int64_t hash, struct []uint8 entropy, struct []uint8 nonce, crypto/internal/fips140/ecdsa.personalizationString s)
    00587ee0ldr x16, [x28+16]
    00587ee4sub x17, sp, 608
    00587ee8subs xzr, x17, x16
    00587eecb.ls 0x5888b4
    00587ef0sub x20, sp, 736
    00587ef4stp x29, x30, [x20-8]
    00587ef8add sp, x20, 0
    00587efcsub x29, sp, 8
    00587f00str x0, [sp+744]
    00587f04str x1, [sp+752]
    00587f08str x2, [sp+760]
    00587f0cstr x3, [sp+768]
    00587f10str x4, [sp+776]
    00587f14str x5, [sp+784]
    00587f18str x6, [sp+792]
    00587f1cstr x7, [sp+800]
    00587f20str x8, [sp+808]
    00587f24str x9, [sp+816]
    00587f28str xzr, [sp+168]
    00587f2cbl crypto/internal/fips140.RecordApproved
    00587f30adrp x0, 0xe1000
    00587f34add x0, x0, 2336
    00587f38bl runtime.newobject
    00587f3cstr x0, [sp+640]
    00587f40adrp x27, 0x4c4000
    00587f44ldr w1, [x27+3056]
    00587f48cbz w1, 0x587f50
    00587f4cb 0x587f54
    00587f50
    00587f50loc_587f50:
    00587f50b 0x587f70
    00587f54
    00587f54loc_587f54:
    00587f54str x0, [sp+360]
    00587f58mov x1, x0
    00587f5cadrp x0, 0xe1000
    00587f60add x0, x0, 2336
    00587f64bl runtime.wbZero
    00587f68ldr x0, [sp+360]
    00587f6cb 0x587f70
    00587f70
    00587f70loc_587f70:
    00587f70stp xzr, xzr, [x0]
    00587f74stp xzr, xzr, [x0+16]
    00587f78stp xzr, xzr, [x0+32]
    00587f7cadrp x0, 0xc6000
    00587f80add x0, x0, 1984
    00587f84bl runtime.newobject
    00587f88str x0, [sp+632]
    00587f8cadrp x1, 4096
    00587f90add x1, x1, 2288
    00587f94str x1, [x0]
    00587f98ldr x1, [sp+752]
    00587f9cldr x2, [sp+632]
    00587fa0ldrsb x27, [x2]
    00587fa4adrp x27, 0x4c4000
    00587fa8ldr w3, [x27+3056]
    00587faccbz w3, 0x587fb4
    00587fb0b 0x587fb8
    00587fb4
    00587fb4loc_587fb4:
    00587fb4b 0x587fcc
    00587fb8
    00587fb8loc_587fb8:
    00587fb8bl runtime.gcWriteBarrier2
    00587fbcstr x1, [x25]
    00587fc0ldr x0, [x2+8]
    00587fc4str x0, [x25+8]
    00587fc8b 0x587fcc
    00587fcc
    00587fccloc_587fcc:
    00587fccstr x1, [x2+8]
    00587fd0ldr x0, [sp+744]
    00587fd4ldr x1, [sp+632]
    00587fd8ldrsb x27, [x1]
    00587fdcadrp x27, 0x4c4000
    00587fe0ldr w2, [x27+3056]
    00587fe4cbz w2, 0x587fec
    00587fe8b 0x587ff0
    00587fec
    00587fecloc_587fec:
    00587fecb 0x588004
    00587ff0
    00587ff0loc_587ff0:
    00587ff0bl runtime.gcWriteBarrier2
    00587ff4str x0, [x25]
    00587ff8ldr x2, [x1+16]
    00587ffcstr x2, [x25+8]
    00588000b 0x588004
    00588004
    00588004loc_588004:
    00588004str x0, [x1+16]
    00588008ldr x0, [sp+640]
    0058800cldrsb x27, [x0]
    00588010ldr x1, [sp+632]
    00588014adrp x27, 0x4c3000
    00588018ldr w2, [x27+3056]
    0058801ccbz w2, 0x588024
    00588020b 0x588028
    00588024
    00588024loc_588024:
    00588024b 0x58803c
    00588028
    00588028loc_588028:
    00588028bl runtime.gcWriteBarrier2
    0058802cstr x1, [x25]
    00588030ldr x2, [x0]
    00588034str x2, [x25+8]
    00588038b 0x58803c
    0058803c
    0058803cloc_58803c:
    0058803cstr x1, [x0]
    00588040ldr x0, [sp+640]
    00588044str x0, [sp+280]
    00588048ldr x26, [sp+752]
    0058804cldr x0, [x26]
    00588050blr x0
    00588054str x0, [sp+720]
    00588058ldr x26, [sp+744]
    0058805cldrsb x27, [x26]
    00588060ldr x1, [x26]
    00588064blr x1
    00588068str x0, [sp+72]
    0058806cmov x1, x0
    00588070mov x2, x1
    00588074adrp x0, 0x6d000
    00588078add x0, x0, 3072
    0058807cbl runtime.makeslice
    00588080ldr x1, [sp+72]
    00588084ldr x2, [sp+72]
    00588088str x0, [sp+336]
    0058808cstr x1, [sp+344]
    00588090str x2, [sp+352]
    00588094strb wzr, [sp+63]
    00588098add x0, sp, 63
    0058809cstr x0, [sp+600]
    005880a0ldrsb x27, [x0]
    005880a4orr x1, xzr, 1
    005880a8strb w1, [x0]
    005880acldr x0, [sp+600]
    005880b0ldrsb x27, [x0]
    005880b4b 0x5880b8
    005880b8
    005880b8loc_5880b8:
    005880b8str x0, [sp+608]
    005880bcorr x2, xzr, 1
    005880c0str x2, [sp+616]
    005880c4str x2, [sp+624]
    005880c8ldr x3, [sp+72]
    005880ccmov x1, x2
    005880d0bl bytes.Repeat
    005880d4str x0, [sp+696]
    005880d8str x1, [sp+704]
    005880dcstr x2, [sp+712]
    005880e0ldr x4, [sp+280]
    005880e4ldrsb x27, [x4]
    005880e8str x1, [x4+24]
    005880ecstr x2, [x4+32]
    005880f0adrp x27, 0x4c3000
    005880f4ldr w5, [x27+3056]
    005880f8cbz w5, 0x588100
    005880fcb 0x588104
    00588100
    00588100loc_588100:
    00588100b 0x588118
    00588104
    00588104loc_588104:
    00588104bl runtime.gcWriteBarrier2
    00588108str x0, [x25]
    0058810cldr x5, [x4+16]
    00588110str x5, [x25+8]
    00588114b 0x588118
    00588118
    00588118loc_588118:
    00588118str x0, [x4+16]
    0058811cldr x5, [sp+744]
    00588120ldrsb x27, [x5]
    00588124ldr x0, [x5+8]
    00588128str x0, [sp+592]
    0058812cldr x2, [sp+336]
    00588130ldr x1, [sp+752]
    00588134ldr x3, [sp+344]
    00588138ldr x4, [sp+352]
    0058813cbl crypto/internal/fips140/hmac.New[go.shape.*uint8]
    00588140str x0, [sp+272]
    00588144ldr x5, [sp+280]
    00588148ldrsb x27, [x5]
    0058814cldr x1, [x5+16]
    00588150ldr x2, [x5+24]
    00588154ldr x3, [x5+32]
    00588158str x1, [sp+568]
    0058815cstr x2, [sp+576]
    00588160str x3, [sp+584]
    00588164ldr x0, [sp+272]
    00588168bl crypto/internal/fips140/hmac.(*HMAC).Write
    0058816cadrp x0, 0x75000
    00588170add x0, x0, 2432
    00588174bl runtime.newobject
    00588178str x0, [sp+536]
    0058817cstrb wzr, [x0]
    00588180ldr x1, [sp+536]
    00588184ldrsb x27, [x1]
    00588188b 0x58818c
    0058818c
    0058818cloc_58818c:
    0058818cstr x1, [sp+544]
    00588190orr x3, xzr, 1
    00588194str x3, [sp+552]
    00588198str x3, [sp+560]
    0058819cldr x0, [sp+272]
    005881a0mov x2, x3
    005881a4bl crypto/internal/fips140/hmac.(*HMAC).Write
    005881a8ldr x1, [sp+760]
    005881acldr x2, [sp+768]
    005881b0ldr x3, [sp+776]
    005881b4ldr x0, [sp+272]
    005881b8bl crypto/internal/fips140/hmac.(*HMAC).Write
    005881bcldr x1, [sp+784]
    005881c0ldr x2, [sp+792]
    005881c4ldr x3, [sp+800]
    005881c8ldr x0, [sp+272]
    005881ccbl crypto/internal/fips140/hmac.(*HMAC).Write
    005881d0ldr x4, [sp+816]
    005881d4ldr x5, [sp+808]
    005881d8str x5, [sp+520]
    005881dcstr x4, [sp+528]
    005881e0cbnz x5, 0x5881e8
    005881e4b 0x58833c
    005881e8
    005881e8loc_5881e8:
    005881e8ldr w4, [x5+16]
    005881ecstr w4, [sp+68]
    005881f0movz x5, 18868
    005881f4movk x5, 0x65c0000
    005881f8subs wzr, w4, w5
    005881fcb.eq 0x588204
    00588200b 0x588268
    00588204
    00588204loc_588204:
    00588204ldr x4, [sp+520]
    00588208adrp x5, 0x18e000
    0058820cadd x5, x5, 768
    00588210subs xzr, x4, x5
    00588214b.eq 0x58821c
    00588218b 0x588224
    0058821c
    0058821cloc_58821c:
    0058821corr x0, xzr, 1
    00588220b 0x58822c
    00588224
    00588224loc_588224:
    00588224mov x0, xzr
    00588228b 0x58822c
    0058822c
    0058822cloc_58822c:
    0058822cstrb w0, [sp+62]
    00588230tbnz w0, 0, 0x588238
    00588234b 0x588264
    00588238
    00588238loc_588238:
    00588238b 0x58823c
    0058823c
    0058823cloc_58823c:
    0058823cldr x4, [sp+528]
    00588240ldr x1, [x4]
    00588244ldr x2, [x4+8]
    00588248ldr x3, [x4+16]
    0058824cstr x1, [sp+248]
    00588250str x2, [sp+256]
    00588254str x3, [sp+264]
    00588258ldr x0, [sp+272]
    0058825cbl crypto/internal/fips140/hmac.(*HMAC).Write
    00588260b 0x588340
    00588264
    00588264loc_588264:
    00588264b 0x588338
    00588268
    00588268loc_588268:
    00588268movz x5, 51315
    0058826cmovk x5, 0x11760000
    00588270subs wzr, w4, w5
    00588274b.eq 0x58827c
    00588278b 0x588330
    0058827c
    0058827cloc_58827c:
    0058827cldr x4, [sp+520]
    00588280adrp x5, 0x18e000
    00588284add x5, x5, 800
    00588288subs xzr, x4, x5
    0058828cb.eq 0x588294
    00588290b 0x58829c
    00588294
    00588294loc_588294:
    00588294orr x0, xzr, 1
    00588298b 0x5882a4
    0058829c
    0058829cloc_58829c:
    0058829cmov x0, xzr
    005882a0b 0x5882a4
    005882a4
    005882a4loc_5882a4:
    005882a4strb w0, [sp+62]
    005882a8tbnz w0, 0, 0x5882b0
    005882acb 0x58832c
    005882b0
    005882b0loc_5882b0:
    005882b0b 0x5882b4
    005882b4
    005882b4loc_5882b4:
    005882b4ldr x4, [sp+528]
    005882b8ldr x5, [x4]
    005882bcldr x6, [x4+8]
    005882c0ldr x4, [x4+16]
    005882c4str x5, [sp+224]
    005882c8str x6, [sp+232]
    005882ccstr x4, [sp+240]
    005882d0ldr x4, [sp+280]
    005882d4ldrsb x27, [x4]
    005882d8ldr x4, [x4+24]
    005882dcstr x4, [sp+160]
    005882e0ldr x5, [sp+768]
    005882e4str x5, [sp+152]
    005882e8add x4, x4, x5
    005882ecldr x5, [sp+792]
    005882f0str x5, [sp+144]
    005882f4add x4, x4, x5
    005882f8add x4, x4, 1
    005882fcstr x4, [sp+88]
    00588300ldr x4, [sp+232]
    00588304ldr x5, [sp+224]
    00588308ldr x6, [sp+240]
    0058830cstr x5, [sp+672]
    00588310str x4, [sp+680]
    00588314str x6, [sp+688]
    00588318str xzr, [sp+136]
    0058831cstr x4, [sp+128]
    00588320ldr x4, [sp+672]
    00588324str x4, [sp+120]
    00588328b 0x588830
    0058832c
    0058832cloc_58832c:
    0058832cb 0x588334
    00588330
    00588330loc_588330:
    00588330b 0x588334
    00588334
    00588334loc_588334:
    00588334b 0x588338
    00588338
    00588338loc_588338:
    00588338b 0x588340
    0058833c
    0058833cloc_58833c:
    0058833cb 0x588340
    00588340
    00588340loc_588340:
    00588340ldr x1, [sp+336]
    00588344ldr x3, [sp+352]
    00588348b 0x58834c
    0058834c
    0058834cloc_58834c:
    0058834cb 0x588350
    00588350
    00588350loc_588350:
    00588350str x1, [sp+696]
    00588354str xzr, [sp+704]
    00588358str x3, [sp+712]
    0058835cldr x0, [sp+272]
    00588360mov x2, xzr
    00588364bl crypto/internal/fips140/hmac.(*HMAC).Sum
    00588368str x0, [sp+336]
    0058836cstr x1, [sp+344]
    00588370str x2, [sp+352]
    00588374ldr x4, [sp+744]
    00588378ldrsb x27, [x4]
    0058837cldr x0, [x4+8]
    00588380str x0, [sp+504]
    00588384ldr x2, [sp+336]
    00588388ldr x1, [sp+752]
    0058838cldr x3, [sp+344]
    00588390ldr x4, [sp+352]
    00588394bl crypto/internal/fips140/hmac.New[go.shape.*uint8]
    00588398str x0, [sp+272]
    0058839cldr x4, [sp+280]
    005883a0ldrsb x27, [x4]
    005883a4ldr x1, [x4+16]
    005883a8ldr x2, [x4+24]
    005883acldr x3, [x4+32]
    005883b0str x1, [sp+480]
    005883b4str x2, [sp+488]
    005883b8str x3, [sp+496]
    005883bcldr x0, [sp+272]
    005883c0bl crypto/internal/fips140/hmac.(*HMAC).Write
    005883c4ldr x4, [sp+280]
    005883c8ldrsb x27, [x4]
    005883ccldr x1, [x4+16]
    005883d0ldr x3, [x4+32]
    005883d4b 0x5883d8
    005883d8
    005883d8loc_5883d8:
    005883d8b 0x5883dc
    005883dc
    005883dcloc_5883dc:
    005883dcstr x1, [sp+696]
    005883e0str xzr, [sp+704]
    005883e4str x3, [sp+712]
    005883e8ldr x0, [sp+272]
    005883ecmov x2, xzr
    005883f0bl crypto/internal/fips140/hmac.(*HMAC).Sum
    005883f4str x0, [sp+648]
    005883f8str x1, [sp+656]
    005883fcstr x2, [sp+664]
    00588400ldr x4, [sp+280]
    00588404ldrsb x27, [x4]
    00588408str x1, [x4+24]
    0058840cstr x2, [x4+32]
    00588410adrp x27, 0x4c3000
    00588414ldr w5, [x27+3056]
    00588418cbz w5, 0x588420
    0058841cb 0x588424
    00588420
    00588420loc_588420:
    00588420b 0x588438
    00588424
    00588424loc_588424:
    00588424bl runtime.gcWriteBarrier2
    00588428str x0, [x25]
    0058842cldr x1, [x4+16]
    00588430str x1, [x25+8]
    00588434b 0x588438
    00588438
    00588438loc_588438:
    00588438str x0, [x4+16]
    0058843cldr x0, [sp+272]
    00588440bl crypto/internal/fips140/hmac.(*HMAC).Reset
    00588444ldr x1, [sp+280]
    00588448ldrsb x27, [x1]
    0058844cldr x2, [x1+16]
    00588450ldr x3, [x1+24]
    00588454ldr x1, [x1+32]
    00588458str x2, [sp+456]
    0058845cstr x3, [sp+464]
    00588460str x1, [sp+472]
    00588464ldr x0, [sp+272]
    00588468mov x4, x1
    0058846cmov x1, x2
    00588470mov x2, x3
    00588474mov x3, x4
    00588478bl crypto/internal/fips140/hmac.(*HMAC).Write
    0058847cadrp x0, 0x75000
    00588480add x0, x0, 2432
    00588484bl runtime.newobject
    00588488str x0, [sp+424]
    0058848corr x1, xzr, 1
    00588490strb w1, [x0]
    00588494ldr x1, [sp+424]
    00588498ldrsb x27, [x1]
    0058849cb 0x5884a0
    005884a0
    005884a0loc_5884a0:
    005884a0str x1, [sp+432]
    005884a4orr x3, xzr, 1
    005884a8str x3, [sp+440]
    005884acstr x3, [sp+448]
    005884b0ldr x0, [sp+272]
    005884b4mov x2, x3
    005884b8bl crypto/internal/fips140/hmac.(*HMAC).Write
    005884bcldr x1, [sp+760]
    005884c0ldr x2, [sp+768]
    005884c4ldr x3, [sp+776]
    005884c8ldr x0, [sp+272]
    005884ccbl crypto/internal/fips140/hmac.(*HMAC).Write
    005884d0ldr x1, [sp+784]
    005884d4ldr x2, [sp+792]
    005884d8ldr x3, [sp+800]
    005884dcldr x0, [sp+272]
    005884e0bl crypto/internal/fips140/hmac.(*HMAC).Write
    005884e4ldr x4, [sp+816]
    005884e8ldr x5, [sp+808]
    005884ecstr x5, [sp+408]
    005884f0str x4, [sp+416]
    005884f4cbnz x5, 0x5884fc
    005884f8b 0x588650
    005884fc
    005884fcloc_5884fc:
    005884fcldr w4, [x5+16]
    00588500str w4, [sp+64]
    00588504movz x5, 18868
    00588508movk x5, 0x65c0000
    0058850csubs wzr, w4, w5
    00588510b.eq 0x588518
    00588514b 0x58857c
    00588518
    00588518loc_588518:
    00588518ldr x4, [sp+408]
    0058851cadrp x5, 0x18e000
    00588520add x5, x5, 768
    00588524subs xzr, x4, x5
    00588528b.eq 0x588530
    0058852cb 0x588538
    00588530
    00588530loc_588530:
    00588530orr x0, xzr, 1
    00588534b 0x588540
    00588538
    00588538loc_588538:
    00588538mov x0, xzr
    0058853cb 0x588540
    00588540
    00588540loc_588540:
    00588540strb w0, [sp+61]
    00588544tbnz w0, 0, 0x58854c
    00588548b 0x588578
    0058854c
    0058854cloc_58854c:
    0058854cb 0x588550
    00588550
    00588550loc_588550:
    00588550ldr x4, [sp+416]
    00588554ldr x1, [x4]
    00588558ldr x2, [x4+8]
    0058855cldr x3, [x4+16]
    00588560str x1, [sp+200]
    00588564str x2, [sp+208]
    00588568str x3, [sp+216]
    0058856cldr x0, [sp+272]
    00588570bl crypto/internal/fips140/hmac.(*HMAC).Write
    00588574b 0x588654
    00588578
    00588578loc_588578:
    00588578b 0x58864c
    0058857c
    0058857cloc_58857c:
    0058857cmovz x5, 51315
    00588580movk x5, 0x11760000
    00588584subs wzr, w4, w5
    00588588b.eq 0x588590
    0058858cb 0x588644
    00588590
    00588590loc_588590:
    00588590ldr x4, [sp+408]
    00588594adrp x5, 0x18e000
    00588598add x5, x5, 800
    0058859csubs xzr, x4, x5
    005885a0b.eq 0x5885a8
    005885a4b 0x5885b0
    005885a8
    005885a8loc_5885a8:
    005885a8orr x0, xzr, 1
    005885acb 0x5885b8
    005885b0
    005885b0loc_5885b0:
    005885b0mov x0, xzr
    005885b4b 0x5885b8
    005885b8
    005885b8loc_5885b8:
    005885b8strb w0, [sp+61]
    005885bctbnz w0, 0, 0x5885c4
    005885c0b 0x588640
    005885c4
    005885c4loc_5885c4:
    005885c4b 0x5885c8
    005885c8
    005885c8loc_5885c8:
    005885c8ldr x4, [sp+416]
    005885ccldr x5, [x4]
    005885d0ldr x6, [x4+8]
    005885d4ldr x4, [x4+16]
    005885d8str x5, [sp+176]
    005885dcstr x6, [sp+184]
    005885e0str x4, [sp+192]
    005885e4ldr x4, [sp+280]
    005885e8ldrsb x27, [x4]
    005885ecldr x4, [x4+24]
    005885f0str x4, [sp+144]
    005885f4ldr x5, [sp+768]
    005885f8str x5, [sp+152]
    005885fcadd x4, x4, x5
    00588600ldr x5, [sp+792]
    00588604str x5, [sp+160]
    00588608add x4, x4, x5
    0058860cadd x4, x4, 1
    00588610str x4, [sp+80]
    00588614ldr x4, [sp+184]
    00588618ldr x5, [sp+176]
    0058861cldr x6, [sp+192]
    00588620str x5, [sp+672]
    00588624str x4, [sp+680]
    00588628str x6, [sp+688]
    0058862cstr xzr, [sp+112]
    00588630str x4, [sp+104]
    00588634ldr x4, [sp+672]
    00588638str x4, [sp+96]
    0058863cb 0x5887ac
    00588640
    00588640loc_588640:
    00588640b 0x588648
    00588644
    00588644loc_588644:
    00588644b 0x588648
    00588648
    00588648loc_588648:
    00588648b 0x58864c
    0058864c
    0058864cloc_58864c:
    0058864cb 0x588654
    00588650
    00588650loc_588650:
    00588650b 0x588654
    00588654
    00588654loc_588654:
    00588654ldr x1, [sp+336]
    00588658ldr x3, [sp+352]
    0058865cb 0x588660
    00588660
    00588660loc_588660:
    00588660b 0x588664
    00588664
    00588664loc_588664:
    00588664str x1, [sp+648]
    00588668str xzr, [sp+656]
    0058866cstr x3, [sp+664]
    00588670ldr x0, [sp+272]
    00588674mov x2, xzr
    00588678bl crypto/internal/fips140/hmac.(*HMAC).Sum
    0058867cstr x0, [sp+336]
    00588680str x1, [sp+344]
    00588684str x2, [sp+352]
    00588688ldr x4, [sp+744]
    0058868cldrsb x27, [x4]
    00588690ldr x0, [x4+8]
    00588694str x0, [sp+392]
    00588698ldr x2, [sp+336]
    0058869cldr x1, [sp+752]
    005886a0ldr x3, [sp+344]
    005886a4ldr x4, [sp+352]
    005886a8bl crypto/internal/fips140/hmac.New[go.shape.*uint8]
    005886acstr x0, [sp+272]
    005886b0ldr x4, [sp+280]
    005886b4ldrsb x27, [x4]
    005886b8ldr x1, [x4+16]
    005886bcldr x2, [x4+24]
    005886c0ldr x3, [x4+32]
    005886c4str x1, [sp+368]
    005886c8str x2, [sp+376]
    005886ccstr x3, [sp+384]
    005886d0ldr x0, [sp+272]
    005886d4bl crypto/internal/fips140/hmac.(*HMAC).Write
    005886d8ldr x4, [sp+280]
    005886dcldrsb x27, [x4]
    005886e0ldr x1, [x4+16]
    005886e4ldr x3, [x4+32]
    005886e8b 0x5886ec
    005886ec
    005886ecloc_5886ec:
    005886ecb 0x5886f0
    005886f0
    005886f0loc_5886f0:
    005886f0str x1, [sp+648]
    005886f4str xzr, [sp+656]
    005886f8str x3, [sp+664]
    005886fcldr x0, [sp+272]
    00588700mov x2, xzr
    00588704bl crypto/internal/fips140/hmac.(*HMAC).Sum
    00588708str x0, [sp+696]
    0058870cstr x1, [sp+704]
    00588710str x2, [sp+712]
    00588714ldr x4, [sp+280]
    00588718ldrsb x27, [x4]
    0058871cstr x1, [x4+24]
    00588720str x2, [x4+32]
    00588724adrp x27, 0x4c3000
    00588728ldr w5, [x27+3056]
    0058872ccbz w5, 0x588734
    00588730b 0x588738
    00588734
    00588734loc_588734:
    00588734b 0x58874c
    00588738
    00588738loc_588738:
    00588738bl runtime.gcWriteBarrier2
    0058873cstr x0, [x25]
    00588740ldr x1, [x4+16]
    00588744str x1, [x25+8]
    00588748b 0x58874c
    0058874c
    0058874cloc_58874c:
    0058874cstr x0, [x4+16]
    00588750ldr x1, [sp+280]
    00588754ldrsb x27, [x1]
    00588758ldr x2, [sp+272]
    0058875cadrp x27, 0x4c3000
    00588760ldr w3, [x27+3056]
    00588764cbz w3, 0x58876c
    00588768b 0x588770
    0058876c
    0058876cloc_58876c:
    0058876cb 0x588784
    00588770
    00588770loc_588770:
    00588770bl runtime.gcWriteBarrier2
    00588774str x2, [x25]
    00588778ldr x3, [x1+8]
    0058877cstr x3, [x25+8]
    00588780b 0x588784
    00588784
    00588784loc_588784:
    00588784str x2, [x1+8]
    00588788ldr x1, [sp+280]
    0058878cldrsb x27, [x1]
    00588790orr x2, xzr, 1
    00588794str x2, [x1+40]
    00588798ldr x0, [sp+280]
    0058879cstr x0, [sp+168]
    005887a0ldp x29, x30, [sp-8]
    005887a4add sp, sp, 736
    005887a8ret x30
    005887ac
    005887acloc_5887ac:
    005887acldr x4, [sp+104]
    005887b0ldr x5, [sp+112]
    005887b4subs xzr, x4, x5
    005887b8b.gt 0x5887c0
    005887bcb 0x58882c
    005887c0
    005887c0loc_5887c0:
    005887c0ldr x2, [sp+96]
    005887c4str x2, [sp+400]
    005887c8ldr x2, [sp+400]
    005887ccldr x3, [x2]
    005887d0ldr x4, [x2+8]
    005887d4ldr x2, [x2+16]
    005887d8str x3, [sp+288]
    005887dcstr x4, [sp+296]
    005887e0str x2, [sp+304]
    005887e4ldr x1, [sp+80]
    005887e8ldr x0, [sp+272]
    005887ecbl crypto/internal/fips140/ecdsa.pad000
    005887f0ldr x1, [sp+288]
    005887f4ldr x2, [sp+296]
    005887f8ldr x3, [sp+304]
    005887fcldr x0, [sp+272]
    00588800bl crypto/internal/fips140/hmac.(*HMAC).Write
    00588804ldr x2, [sp+296]
    00588808str x2, [sp+80]
    0058880cb 0x588810
    00588810
    00588810loc_588810:
    00588810ldr x4, [sp+112]
    00588814add x4, x4, 1
    00588818str x4, [sp+112]
    0058881cldr x4, [sp+400]
    00588820add x4, x4, 24
    00588824str x4, [sp+96]
    00588828b 0x5887ac
    0058882c
    0058882cloc_58882c:
    0058882cb 0x588654
    00588830
    00588830loc_588830:
    00588830ldr x4, [sp+128]
    00588834ldr x5, [sp+136]
    00588838subs xzr, x4, x5
    0058883cb.gt 0x588844
    00588840b 0x5888b0
    00588844
    00588844loc_588844:
    00588844ldr x2, [sp+120]
    00588848str x2, [sp+512]
    0058884cldr x2, [sp+512]
    00588850ldr x3, [x2]
    00588854ldr x4, [x2+8]
    00588858ldr x2, [x2+16]
    0058885cstr x3, [sp+312]
    00588860str x4, [sp+320]
    00588864str x2, [sp+328]
    00588868ldr x1, [sp+88]
    0058886cldr x0, [sp+272]
    00588870bl crypto/internal/fips140/ecdsa.pad000
    00588874ldr x1, [sp+312]
    00588878ldr x2, [sp+320]
    0058887cldr x3, [sp+328]
    00588880ldr x0, [sp+272]
    00588884bl crypto/internal/fips140/hmac.(*HMAC).Write
    00588888ldr x2, [sp+320]
    0058888cstr x2, [sp+88]
    00588890b 0x588894
    00588894
    00588894loc_588894:
    00588894ldr x4, [sp+136]
    00588898add x4, x4, 1
    0058889cstr x4, [sp+136]
    005888a0ldr x4, [sp+512]
    005888a4add x4, x4, 24
    005888a8str x4, [sp+120]
    005888acb 0x588830
    005888b0
    005888b0loc_5888b0:
    005888b0b 0x588340
    005888b4
    005888b4loc_5888b4:
    005888b4stp x0, x1, [sp+8]
    005888b8stp x2, x3, [sp+24]
    005888bcstp x4, x5, [sp+40]
    005888c0stp x6, x7, [sp+56]
    005888c4stp x8, x9, [sp+72]
    005888c8mov x3, x30
    005888ccbl runtime.morestack_noctxt.abi0
    005888d0ldp x0, x1, [sp+8]
    005888d4ldp x2, x3, [sp+24]
    005888d8ldp x4, x5, [sp+40]
    005888dcldp x6, x7, [sp+56]
    005888e0ldp x8, x9, [sp+72]
    005888e4b 0x587ee0
    005888e8udf 0
    005888ecudf 0
    00587ee0
    005888f0
    005888f0crypto/internal/fips140/ecdsa.newDRBG[go.shape.*uint8].func1: ; void crypto/internal/fips140/ecdsa.newDRBG[go.shape.*uint8].func1(struct []uint8 key)
    005888f0ldr x16, [x28+16]
    005888f4subs xzr, sp, x16
    005888f8b.ls 0x588960
    005888fcstr x30, [sp-96]!
    00588900stur x29, [sp-8]
    00588904sub x29, sp, 8
    00588908str x0, [sp+104]
    0058890cstr x1, [sp+112]
    00588910str x2, [sp+120]
    00588914ldr x5, [x26+8]
    00588918str x5, [sp+56]
    0058891cldr x5, [x26+16]
    00588920str x5, [sp+64]
    00588924str xzr, [sp+48]
    00588928ldr x5, [sp+64]
    0058892cldrsb x27, [x5]
    00588930ldr x0, [x5+8]
    00588934str x0, [sp+72]
    00588938ldr x2, [sp+104]
    0058893cldr x1, [sp+56]
    00588940ldr x3, [sp+112]
    00588944ldr x4, [sp+120]
    00588948bl crypto/internal/fips140/hmac.New[go.shape.*uint8]
    0058894cstr x0, [sp+80]
    00588950str x0, [sp+48]
    00588954ldur x29, [sp-8]
    00588958ldr x30, [sp], 96
    0058895cret x30
    00588960
    00588960loc_588960:
    00588960stp x0, x1, [sp+8]
    00588964str x2, [sp+24]
    00588968mov x3, x30
    0058896cbl runtime.morestack.abi0
    00588970ldp x0, x1, [sp+8]
    00588974ldr x2, [sp+24]
    00588978b 0x5888f0
    0058897cudf 0
    005888f0
    00588980
    00588980crypto/internal/fips140/ecdsa.precomputeParams[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdsa.precomputeParams[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[1] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, struct []uint8 order)
    00588980ldr x16, [x28+16]
    00588984sub x17, sp, 176
    00588988subs xzr, x17, x16
    0058898cb.ls 0x588bc0
    00588990sub x20, sp, 304
    00588994stp x29, x30, [x20-8]
    00588998add sp, x20, 0
    0058899csub x29, sp, 8
    005889a0str x0, [sp+312]
    005889a4str x1, [sp+320]
    005889a8str x2, [sp+328]
    005889acstr x3, [sp+336]
    005889b0str x4, [sp+344]
    005889b4stp xzr, xzr, [sp+72]
    005889b8str xzr, [sp+88]
    005889bcstp xzr, xzr, [sp+280]
    005889c0ldr x0, [sp+328]
    005889c4ldr x1, [sp+336]
    005889c8ldr x2, [sp+344]
    005889ccbl crypto/internal/fips140/bigmod.NewModulus
    005889d0str x0, [sp+88]
    005889d4str x1, [sp+280]
    005889d8str x2, [sp+288]
    005889dcldr x3, [sp+88]
    005889e0str x3, [sp+136]
    005889e4ldr x3, [sp+280]
    005889e8ldr x4, [sp+288]
    005889ecstr x3, [sp+120]
    005889f0str x4, [sp+128]
    005889f4ldr x3, [sp+320]
    005889f8ldrsb x27, [x3]
    005889fcldr x4, [sp+136]
    00588a00adrp x27, 0x4c3000
    00588a04ldr w5, [x27+3056]
    00588a08cbz w5, 0x588a10
    00588a0cb 0x588a14
    00588a10
    00588a10loc_588a10:
    00588a10b 0x588a28
    00588a14
    00588a14loc_588a14:
    00588a14bl runtime.gcWriteBarrier2
    00588a18str x4, [x25]
    00588a1cldr x2, [x3+32]
    00588a20str x2, [x25+8]
    00588a24b 0x588a28
    00588a28
    00588a28loc_588a28:
    00588a28str x4, [x3+32]
    00588a2cldr x2, [sp+128]
    00588a30ldr x3, [sp+120]
    00588a34str x3, [sp+72]
    00588a38str x2, [sp+80]
    00588a3ccbnz x3, 0x588b88
    00588a40b 0x588a44
    00588a44
    00588a44loc_588a44:
    00588a44bl crypto/internal/fips140/bigmod.NewNat
    00588a48str x0, [sp+272]
    00588a4cstr xzr, [sp+264]
    00588a50stp xzr, xzr, [sp+280]
    00588a54strb wzr, [sp+63]
    00588a58add x0, sp, 63
    00588a5cstr x0, [sp+176]
    00588a60ldrsb x27, [x0]
    00588a64orr x1, xzr, 2
    00588a68strb w1, [x0]
    00588a6cldr x0, [sp+176]
    00588a70ldrsb x27, [x0]
    00588a74b 0x588a78
    00588a78
    00588a78loc_588a78:
    00588a78str x0, [sp+184]
    00588a7corr x5, xzr, 1
    00588a80str x5, [sp+192]
    00588a84str x5, [sp+200]
    00588a88ldr x5, [sp+320]
    00588a8cldrsb x27, [x5]
    00588a90ldr x4, [x5+32]
    00588a94str x4, [sp+168]
    00588a98ldr x1, [sp+184]
    00588a9cldr x2, [sp+192]
    00588aa0ldr x3, [sp+200]
    00588aa4ldr x0, [sp+272]
    00588aa8bl crypto/internal/fips140/bigmod.(*Nat).SetBytes
    00588aacstr x0, [sp+264]
    00588ab0str x1, [sp+280]
    00588ab4str x2, [sp+288]
    00588ab8ldr x5, [sp+264]
    00588abcstr x5, [sp+112]
    00588ac0ldr x5, [sp+280]
    00588ac4ldr x6, [sp+288]
    00588ac8str x5, [sp+96]
    00588accstr x6, [sp+104]
    00588ad0ldr x5, [sp+112]
    00588ad4str x5, [sp+64]
    00588ad8bl crypto/internal/fips140/bigmod.NewNat
    00588adcstr x0, [sp+264]
    00588ae0ldr x5, [sp+320]
    00588ae4ldrsb x27, [x5]
    00588ae8ldr x1, [x5+32]
    00588aecstr x1, [sp+160]
    00588af0ldr x0, [sp+264]
    00588af4bl crypto/internal/fips140/bigmod.(*Nat).ExpandFor
    00588af8str x0, [sp+272]
    00588afcldr x5, [sp+320]
    00588b00ldrsb x27, [x5]
    00588b04ldr x2, [x5+32]
    00588b08str x2, [sp+152]
    00588b0cldr x1, [sp+64]
    00588b10ldr x0, [sp+272]
    00588b14bl crypto/internal/fips140/bigmod.(*Nat).Sub
    00588b18str x0, [sp+256]
    00588b1cldr x5, [sp+320]
    00588b20ldrsb x27, [x5]
    00588b24ldr x1, [x5+32]
    00588b28str x1, [sp+144]
    00588b2cldr x0, [sp+256]
    00588b30bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    00588b34str x0, [sp+232]
    00588b38str x1, [sp+240]
    00588b3cstr x2, [sp+248]
    00588b40ldr x5, [sp+320]
    00588b44ldrsb x27, [x5]
    00588b48str x1, [x5+48]
    00588b4cstr x2, [x5+56]
    00588b50adrp x27, 0x4c3000
    00588b54ldr w6, [x27+3056]
    00588b58cbz w6, 0x588b60
    00588b5cb 0x588b64
    00588b60
    00588b60loc_588b60:
    00588b60b 0x588b78
    00588b64
    00588b64loc_588b64:
    00588b64bl runtime.gcWriteBarrier2
    00588b68str x0, [x25]
    00588b6cldr x1, [x5+40]
    00588b70str x1, [x25+8]
    00588b74b 0x588b78
    00588b78
    00588b78loc_588b78:
    00588b78str x0, [x5+40]
    00588b7cldp x29, x30, [sp-8]
    00588b80add sp, sp, 304
    00588b84ret x30
    00588b88
    00588b88loc_588b88:
    00588b88str x3, [sp+216]
    00588b8cstr x2, [sp+224]
    00588b90str x3, [sp+208]
    00588b94ldr x2, [sp+208]
    00588b98cbnz x2, 0x588ba0
    00588b9cb 0x588bbc
    00588ba0
    00588ba0loc_588ba0:
    00588ba0ldr x2, [sp+208]
    00588ba4ldr x2, [x2+8]
    00588ba8str x2, [sp+208]
    00588bacb 0x588bb0
    00588bb0
    00588bb0loc_588bb0:
    00588bb0ldr x0, [sp+208]
    00588bb4ldr x1, [sp+224]
    00588bb8bl runtime.gopanic
    00588bbc
    00588bbcloc_588bbc:
    00588bbcb 0x588bb0
    00588bc0
    00588bc0loc_588bc0:
    00588bc0stp x0, x1, [sp+8]
    00588bc4stp x2, x3, [sp+24]
    00588bc8str x4, [sp+40]
    00588bccmov x3, x30
    00588bd0bl runtime.morestack_noctxt.abi0
    00588bd4ldp x0, x1, [sp+8]
    00588bd8ldp x2, x3, [sp+24]
    00588bdcldr x4, [sp+40]
    00588be0b 0x588980
    00588be4udf 0
    00588be8udf 0
    00588becudf 0
    00588980
    00588bf0
    00588bf0crypto/internal/fips140/ecdsa.precomputeParams[go.shape.*crypto/internal/fips140/nistec.P384Point]: ; void crypto/internal/fips140/ecdsa.precomputeParams[go.shape.*crypto/internal/fips140/nistec.P384Point](uintptr[1] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P384Point] * c, struct []uint8 order)
    00588bf0ldr x16, [x28+16]
    00588bf4sub x17, sp, 176
    00588bf8subs xzr, x17, x16
    00588bfcb.ls 0x588e30
    00588c00sub x20, sp, 304
    00588c04stp x29, x30, [x20-8]
    00588c08add sp, x20, 0
    00588c0csub x29, sp, 8
    00588c10str x0, [sp+312]
    00588c14str x1, [sp+320]
    00588c18str x2, [sp+328]
    00588c1cstr x3, [sp+336]
    00588c20str x4, [sp+344]
    00588c24stp xzr, xzr, [sp+72]
    00588c28str xzr, [sp+88]
    00588c2cstp xzr, xzr, [sp+280]
    00588c30ldr x0, [sp+328]
    00588c34ldr x1, [sp+336]
    00588c38ldr x2, [sp+344]
    00588c3cbl crypto/internal/fips140/bigmod.NewModulus
    00588c40str x0, [sp+88]
    00588c44str x1, [sp+280]
    00588c48str x2, [sp+288]
    00588c4cldr x3, [sp+88]
    00588c50str x3, [sp+136]
    00588c54ldr x3, [sp+280]
    00588c58ldr x4, [sp+288]
    00588c5cstr x3, [sp+120]
    00588c60str x4, [sp+128]
    00588c64ldr x3, [sp+320]
    00588c68ldrsb x27, [x3]
    00588c6cldr x4, [sp+136]
    00588c70adrp x27, 0x4c3000
    00588c74ldr w5, [x27+3056]
    00588c78cbz w5, 0x588c80
    00588c7cb 0x588c84
    00588c80
    00588c80loc_588c80:
    00588c80b 0x588c98
    00588c84
    00588c84loc_588c84:
    00588c84bl runtime.gcWriteBarrier2
    00588c88str x4, [x25]
    00588c8cldr x2, [x3+32]
    00588c90str x2, [x25+8]
    00588c94b 0x588c98
    00588c98
    00588c98loc_588c98:
    00588c98str x4, [x3+32]
    00588c9cldr x2, [sp+128]
    00588ca0ldr x3, [sp+120]
    00588ca4str x3, [sp+72]
    00588ca8str x2, [sp+80]
    00588caccbnz x3, 0x588df8
    00588cb0b 0x588cb4
    00588cb4
    00588cb4loc_588cb4:
    00588cb4bl crypto/internal/fips140/bigmod.NewNat
    00588cb8str x0, [sp+272]
    00588cbcstr xzr, [sp+264]
    00588cc0stp xzr, xzr, [sp+280]
    00588cc4strb wzr, [sp+63]
    00588cc8add x0, sp, 63
    00588cccstr x0, [sp+176]
    00588cd0ldrsb x27, [x0]
    00588cd4orr x1, xzr, 2
    00588cd8strb w1, [x0]
    00588cdcldr x0, [sp+176]
    00588ce0ldrsb x27, [x0]
    00588ce4b 0x588ce8
    00588ce8
    00588ce8loc_588ce8:
    00588ce8str x0, [sp+184]
    00588cecorr x5, xzr, 1
    00588cf0str x5, [sp+192]
    00588cf4str x5, [sp+200]
    00588cf8ldr x5, [sp+320]
    00588cfcldrsb x27, [x5]
    00588d00ldr x4, [x5+32]
    00588d04str x4, [sp+168]
    00588d08ldr x1, [sp+184]
    00588d0cldr x2, [sp+192]
    00588d10ldr x3, [sp+200]
    00588d14ldr x0, [sp+272]
    00588d18bl crypto/internal/fips140/bigmod.(*Nat).SetBytes
    00588d1cstr x0, [sp+264]
    00588d20str x1, [sp+280]
    00588d24str x2, [sp+288]
    00588d28ldr x5, [sp+264]
    00588d2cstr x5, [sp+112]
    00588d30ldr x5, [sp+280]
    00588d34ldr x6, [sp+288]
    00588d38str x5, [sp+96]
    00588d3cstr x6, [sp+104]
    00588d40ldr x5, [sp+112]
    00588d44str x5, [sp+64]
    00588d48bl crypto/internal/fips140/bigmod.NewNat
    00588d4cstr x0, [sp+264]
    00588d50ldr x5, [sp+320]
    00588d54ldrsb x27, [x5]
    00588d58ldr x1, [x5+32]
    00588d5cstr x1, [sp+160]
    00588d60ldr x0, [sp+264]
    00588d64bl crypto/internal/fips140/bigmod.(*Nat).ExpandFor
    00588d68str x0, [sp+272]
    00588d6cldr x5, [sp+320]
    00588d70ldrsb x27, [x5]
    00588d74ldr x2, [x5+32]
    00588d78str x2, [sp+152]
    00588d7cldr x1, [sp+64]
    00588d80ldr x0, [sp+272]
    00588d84bl crypto/internal/fips140/bigmod.(*Nat).Sub
    00588d88str x0, [sp+256]
    00588d8cldr x5, [sp+320]
    00588d90ldrsb x27, [x5]
    00588d94ldr x1, [x5+32]
    00588d98str x1, [sp+144]
    00588d9cldr x0, [sp+256]
    00588da0bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    00588da4str x0, [sp+232]
    00588da8str x1, [sp+240]
    00588dacstr x2, [sp+248]
    00588db0ldr x5, [sp+320]
    00588db4ldrsb x27, [x5]
    00588db8str x1, [x5+48]
    00588dbcstr x2, [x5+56]
    00588dc0adrp x27, 0x4c3000
    00588dc4ldr w6, [x27+3056]
    00588dc8cbz w6, 0x588dd0
    00588dccb 0x588dd4
    00588dd0
    00588dd0loc_588dd0:
    00588dd0b 0x588de8
    00588dd4
    00588dd4loc_588dd4:
    00588dd4bl runtime.gcWriteBarrier2
    00588dd8str x0, [x25]
    00588ddcldr x1, [x5+40]
    00588de0str x1, [x25+8]
    00588de4b 0x588de8
    00588de8
    00588de8loc_588de8:
    00588de8str x0, [x5+40]
    00588decldp x29, x30, [sp-8]
    00588df0add sp, sp, 304
    00588df4ret x30
    00588df8
    00588df8loc_588df8:
    00588df8str x3, [sp+216]
    00588dfcstr x2, [sp+224]
    00588e00str x3, [sp+208]
    00588e04ldr x2, [sp+208]
    00588e08cbnz x2, 0x588e10
    00588e0cb 0x588e2c
    00588e10
    00588e10loc_588e10:
    00588e10ldr x2, [sp+208]
    00588e14ldr x2, [x2+8]
    00588e18str x2, [sp+208]
    00588e1cb 0x588e20
    00588e20
    00588e20loc_588e20:
    00588e20ldr x0, [sp+208]
    00588e24ldr x1, [sp+224]
    00588e28bl runtime.gopanic
    00588e2c
    00588e2cloc_588e2c:
    00588e2cb 0x588e20
    00588e30
    00588e30loc_588e30:
    00588e30stp x0, x1, [sp+8]
    00588e34stp x2, x3, [sp+24]
    00588e38str x4, [sp+40]
    00588e3cmov x3, x30
    00588e40bl runtime.morestack_noctxt.abi0
    00588e44ldp x0, x1, [sp+8]
    00588e48ldp x2, x3, [sp+24]
    00588e4cldr x4, [sp+40]
    00588e50b 0x588bf0
    00588e54udf 0
    00588e58udf 0
    00588e5cudf 0
    00588bf0
    00588e60
    00588e60crypto/internal/fips140/ecdsa.precomputeParams[go.shape.*crypto/internal/fips140/nistec.P256Point]: ; void crypto/internal/fips140/ecdsa.precomputeParams[go.shape.*crypto/internal/fips140/nistec.P256Point](uintptr[1] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P256Point] * c, struct []uint8 order)
    00588e60ldr x16, [x28+16]
    00588e64sub x17, sp, 176
    00588e68subs xzr, x17, x16
    00588e6cb.ls 0x5890a0
    00588e70sub x20, sp, 304
    00588e74stp x29, x30, [x20-8]
    00588e78add sp, x20, 0
    00588e7csub x29, sp, 8
    00588e80str x0, [sp+312]
    00588e84str x1, [sp+320]
    00588e88str x2, [sp+328]
    00588e8cstr x3, [sp+336]
    00588e90str x4, [sp+344]
    00588e94stp xzr, xzr, [sp+72]
    00588e98str xzr, [sp+88]
    00588e9cstp xzr, xzr, [sp+280]
    00588ea0ldr x0, [sp+328]
    00588ea4ldr x1, [sp+336]
    00588ea8ldr x2, [sp+344]
    00588eacbl crypto/internal/fips140/bigmod.NewModulus
    00588eb0str x0, [sp+88]
    00588eb4str x1, [sp+280]
    00588eb8str x2, [sp+288]
    00588ebcldr x3, [sp+88]
    00588ec0str x3, [sp+136]
    00588ec4ldr x3, [sp+280]
    00588ec8ldr x4, [sp+288]
    00588eccstr x3, [sp+120]
    00588ed0str x4, [sp+128]
    00588ed4ldr x3, [sp+320]
    00588ed8ldrsb x27, [x3]
    00588edcldr x4, [sp+136]
    00588ee0adrp x27, 0x4c3000
    00588ee4ldr w5, [x27+3056]
    00588ee8cbz w5, 0x588ef0
    00588eecb 0x588ef4
    00588ef0
    00588ef0loc_588ef0:
    00588ef0b 0x588f08
    00588ef4
    00588ef4loc_588ef4:
    00588ef4bl runtime.gcWriteBarrier2
    00588ef8str x4, [x25]
    00588efcldr x2, [x3+32]
    00588f00str x2, [x25+8]
    00588f04b 0x588f08
    00588f08
    00588f08loc_588f08:
    00588f08str x4, [x3+32]
    00588f0cldr x2, [sp+128]
    00588f10ldr x3, [sp+120]
    00588f14str x3, [sp+72]
    00588f18str x2, [sp+80]
    00588f1ccbnz x3, 0x589068
    00588f20b 0x588f24
    00588f24
    00588f24loc_588f24:
    00588f24bl crypto/internal/fips140/bigmod.NewNat
    00588f28str x0, [sp+272]
    00588f2cstr xzr, [sp+264]
    00588f30stp xzr, xzr, [sp+280]
    00588f34strb wzr, [sp+63]
    00588f38add x0, sp, 63
    00588f3cstr x0, [sp+176]
    00588f40ldrsb x27, [x0]
    00588f44orr x1, xzr, 2
    00588f48strb w1, [x0]
    00588f4cldr x0, [sp+176]
    00588f50ldrsb x27, [x0]
    00588f54b 0x588f58
    00588f58
    00588f58loc_588f58:
    00588f58str x0, [sp+184]
    00588f5corr x5, xzr, 1
    00588f60str x5, [sp+192]
    00588f64str x5, [sp+200]
    00588f68ldr x5, [sp+320]
    00588f6cldrsb x27, [x5]
    00588f70ldr x4, [x5+32]
    00588f74str x4, [sp+168]
    00588f78ldr x1, [sp+184]
    00588f7cldr x2, [sp+192]
    00588f80ldr x3, [sp+200]
    00588f84ldr x0, [sp+272]
    00588f88bl crypto/internal/fips140/bigmod.(*Nat).SetBytes
    00588f8cstr x0, [sp+264]
    00588f90str x1, [sp+280]
    00588f94str x2, [sp+288]
    00588f98ldr x5, [sp+264]
    00588f9cstr x5, [sp+112]
    00588fa0ldr x5, [sp+280]
    00588fa4ldr x6, [sp+288]
    00588fa8str x5, [sp+96]
    00588facstr x6, [sp+104]
    00588fb0ldr x5, [sp+112]
    00588fb4str x5, [sp+64]
    00588fb8bl crypto/internal/fips140/bigmod.NewNat
    00588fbcstr x0, [sp+264]
    00588fc0ldr x5, [sp+320]
    00588fc4ldrsb x27, [x5]
    00588fc8ldr x1, [x5+32]
    00588fccstr x1, [sp+160]
    00588fd0ldr x0, [sp+264]
    00588fd4bl crypto/internal/fips140/bigmod.(*Nat).ExpandFor
    00588fd8str x0, [sp+272]
    00588fdcldr x5, [sp+320]
    00588fe0ldrsb x27, [x5]
    00588fe4ldr x2, [x5+32]
    00588fe8str x2, [sp+152]
    00588fecldr x1, [sp+64]
    00588ff0ldr x0, [sp+272]
    00588ff4bl crypto/internal/fips140/bigmod.(*Nat).Sub
    00588ff8str x0, [sp+256]
    00588ffcldr x5, [sp+320]
    00589000ldrsb x27, [x5]
    00589004ldr x1, [x5+32]
    00589008str x1, [sp+144]
    0058900cldr x0, [sp+256]
    00589010bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    00589014str x0, [sp+232]
    00589018str x1, [sp+240]
    0058901cstr x2, [sp+248]
    00589020ldr x5, [sp+320]
    00589024ldrsb x27, [x5]
    00589028str x1, [x5+48]
    0058902cstr x2, [x5+56]
    00589030adrp x27, 0x4c2000
    00589034ldr w6, [x27+3056]
    00589038cbz w6, 0x589040
    0058903cb 0x589044
    00589040
    00589040loc_589040:
    00589040b 0x589058
    00589044
    00589044loc_589044:
    00589044bl runtime.gcWriteBarrier2
    00589048str x0, [x25]
    0058904cldr x1, [x5+40]
    00589050str x1, [x25+8]
    00589054b 0x589058
    00589058
    00589058loc_589058:
    00589058str x0, [x5+40]
    0058905cldp x29, x30, [sp-8]
    00589060add sp, sp, 304
    00589064ret x30
    00589068
    00589068loc_589068:
    00589068str x3, [sp+216]
    0058906cstr x2, [sp+224]
    00589070str x3, [sp+208]
    00589074ldr x2, [sp+208]
    00589078cbnz x2, 0x589080
    0058907cb 0x58909c
    00589080
    00589080loc_589080:
    00589080ldr x2, [sp+208]
    00589084ldr x2, [x2+8]
    00589088str x2, [sp+208]
    0058908cb 0x589090
    00589090
    00589090loc_589090:
    00589090ldr x0, [sp+208]
    00589094ldr x1, [sp+224]
    00589098bl runtime.gopanic
    0058909c
    0058909cloc_58909c:
    0058909cb 0x589090
    005890a0
    005890a0loc_5890a0:
    005890a0stp x0, x1, [sp+8]
    005890a4stp x2, x3, [sp+24]
    005890a8str x4, [sp+40]
    005890acmov x3, x30
    005890b0bl runtime.morestack_noctxt.abi0
    005890b4ldp x0, x1, [sp+8]
    005890b8ldp x2, x3, [sp+24]
    005890bcldr x4, [sp+40]
    005890c0b 0x588e60
    005890c4udf 0
    005890c8udf 0
    005890ccudf 0
    00588e60
    005890d0
    005890d0crypto/internal/fips140/ecdsa.precomputeParams[go.shape.*crypto/internal/fips140/nistec.P224Point]: ; void crypto/internal/fips140/ecdsa.precomputeParams[go.shape.*crypto/internal/fips140/nistec.P224Point](uintptr[1] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P224Point] * c, struct []uint8 order)
    005890d0ldr x16, [x28+16]
    005890d4sub x17, sp, 176
    005890d8subs xzr, x17, x16
    005890dcb.ls 0x589310
    005890e0sub x20, sp, 304
    005890e4stp x29, x30, [x20-8]
    005890e8add sp, x20, 0
    005890ecsub x29, sp, 8
    005890f0str x0, [sp+312]
    005890f4str x1, [sp+320]
    005890f8str x2, [sp+328]
    005890fcstr x3, [sp+336]
    00589100str x4, [sp+344]
    00589104stp xzr, xzr, [sp+72]
    00589108str xzr, [sp+88]
    0058910cstp xzr, xzr, [sp+280]
    00589110ldr x0, [sp+328]
    00589114ldr x1, [sp+336]
    00589118ldr x2, [sp+344]
    0058911cbl crypto/internal/fips140/bigmod.NewModulus
    00589120str x0, [sp+88]
    00589124str x1, [sp+280]
    00589128str x2, [sp+288]
    0058912cldr x3, [sp+88]
    00589130str x3, [sp+136]
    00589134ldr x3, [sp+280]
    00589138ldr x4, [sp+288]
    0058913cstr x3, [sp+120]
    00589140str x4, [sp+128]
    00589144ldr x3, [sp+320]
    00589148ldrsb x27, [x3]
    0058914cldr x4, [sp+136]
    00589150adrp x27, 0x4c2000
    00589154ldr w5, [x27+3056]
    00589158cbz w5, 0x589160
    0058915cb 0x589164
    00589160
    00589160loc_589160:
    00589160b 0x589178
    00589164
    00589164loc_589164:
    00589164bl runtime.gcWriteBarrier2
    00589168str x4, [x25]
    0058916cldr x2, [x3+32]
    00589170str x2, [x25+8]
    00589174b 0x589178
    00589178
    00589178loc_589178:
    00589178str x4, [x3+32]
    0058917cldr x2, [sp+128]
    00589180ldr x3, [sp+120]
    00589184str x3, [sp+72]
    00589188str x2, [sp+80]
    0058918ccbnz x3, 0x5892d8
    00589190b 0x589194
    00589194
    00589194loc_589194:
    00589194bl crypto/internal/fips140/bigmod.NewNat
    00589198str x0, [sp+272]
    0058919cstr xzr, [sp+264]
    005891a0stp xzr, xzr, [sp+280]
    005891a4strb wzr, [sp+63]
    005891a8add x0, sp, 63
    005891acstr x0, [sp+176]
    005891b0ldrsb x27, [x0]
    005891b4orr x1, xzr, 2
    005891b8strb w1, [x0]
    005891bcldr x0, [sp+176]
    005891c0ldrsb x27, [x0]
    005891c4b 0x5891c8
    005891c8
    005891c8loc_5891c8:
    005891c8str x0, [sp+184]
    005891ccorr x5, xzr, 1
    005891d0str x5, [sp+192]
    005891d4str x5, [sp+200]
    005891d8ldr x5, [sp+320]
    005891dcldrsb x27, [x5]
    005891e0ldr x4, [x5+32]
    005891e4str x4, [sp+168]
    005891e8ldr x1, [sp+184]
    005891ecldr x2, [sp+192]
    005891f0ldr x3, [sp+200]
    005891f4ldr x0, [sp+272]
    005891f8bl crypto/internal/fips140/bigmod.(*Nat).SetBytes
    005891fcstr x0, [sp+264]
    00589200str x1, [sp+280]
    00589204str x2, [sp+288]
    00589208ldr x5, [sp+264]
    0058920cstr x5, [sp+112]
    00589210ldr x5, [sp+280]
    00589214ldr x6, [sp+288]
    00589218str x5, [sp+96]
    0058921cstr x6, [sp+104]
    00589220ldr x5, [sp+112]
    00589224str x5, [sp+64]
    00589228bl crypto/internal/fips140/bigmod.NewNat
    0058922cstr x0, [sp+264]
    00589230ldr x5, [sp+320]
    00589234ldrsb x27, [x5]
    00589238ldr x1, [x5+32]
    0058923cstr x1, [sp+160]
    00589240ldr x0, [sp+264]
    00589244bl crypto/internal/fips140/bigmod.(*Nat).ExpandFor
    00589248str x0, [sp+272]
    0058924cldr x5, [sp+320]
    00589250ldrsb x27, [x5]
    00589254ldr x2, [x5+32]
    00589258str x2, [sp+152]
    0058925cldr x1, [sp+64]
    00589260ldr x0, [sp+272]
    00589264bl crypto/internal/fips140/bigmod.(*Nat).Sub
    00589268str x0, [sp+256]
    0058926cldr x5, [sp+320]
    00589270ldrsb x27, [x5]
    00589274ldr x1, [x5+32]
    00589278str x1, [sp+144]
    0058927cldr x0, [sp+256]
    00589280bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    00589284str x0, [sp+232]
    00589288str x1, [sp+240]
    0058928cstr x2, [sp+248]
    00589290ldr x5, [sp+320]
    00589294ldrsb x27, [x5]
    00589298str x1, [x5+48]
    0058929cstr x2, [x5+56]
    005892a0adrp x27, 0x4c2000
    005892a4ldr w6, [x27+3056]
    005892a8cbz w6, 0x5892b0
    005892acb 0x5892b4
    005892b0
    005892b0loc_5892b0:
    005892b0b 0x5892c8
    005892b4
    005892b4loc_5892b4:
    005892b4bl runtime.gcWriteBarrier2
    005892b8str x0, [x25]
    005892bcldr x1, [x5+40]
    005892c0str x1, [x25+8]
    005892c4b 0x5892c8
    005892c8
    005892c8loc_5892c8:
    005892c8str x0, [x5+40]
    005892ccldp x29, x30, [sp-8]
    005892d0add sp, sp, 304
    005892d4ret x30
    005892d8
    005892d8loc_5892d8:
    005892d8str x3, [sp+216]
    005892dcstr x2, [sp+224]
    005892e0str x3, [sp+208]
    005892e4ldr x2, [sp+208]
    005892e8cbnz x2, 0x5892f0
    005892ecb 0x58930c
    005892f0
    005892f0loc_5892f0:
    005892f0ldr x2, [sp+208]
    005892f4ldr x2, [x2+8]
    005892f8str x2, [sp+208]
    005892fcb 0x589300
    00589300
    00589300loc_589300:
    00589300ldr x0, [sp+208]
    00589304ldr x1, [sp+224]
    00589308bl runtime.gopanic
    0058930c
    0058930cloc_58930c:
    0058930cb 0x589300
    00589310
    00589310loc_589310:
    00589310stp x0, x1, [sp+8]
    00589314stp x2, x3, [sp+24]
    00589318str x4, [sp+40]
    0058931cmov x3, x30
    00589320bl runtime.morestack_noctxt.abi0
    00589324ldp x0, x1, [sp+8]
    00589328ldp x2, x3, [sp+24]
    0058932cldr x4, [sp+40]
    00589330b 0x5890d0
    00589334udf 0
    00589338udf 0
    0058933cudf 0
    005890d0
    00589340
    00589340crypto/internal/fips140/ecdsa.Verify[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdsa.Verify[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.PublicKey * pub, struct []uint8 hash, crypto/internal/fips140/ecdsa.Signature * sig)
    00589340ldr x16, [x28+16]
    00589344sub x17, sp, 16
    00589348subs xzr, x17, x16
    0058934cb.ls 0x589460
    00589350str x30, [sp-144]!
    00589354stur x29, [sp-8]
    00589358sub x29, sp, 8
    0058935cstr x0, [sp+152]
    00589360str x1, [sp+160]
    00589364str x2, [sp+168]
    00589368str x3, [sp+176]
    0058936cstr x4, [sp+184]
    00589370str x5, [sp+192]
    00589374str x6, [sp+200]
    00589378stp xzr, xzr, [sp+64]
    0058937cldr x3, [sp+168]
    00589380ldrsb x27, [x3]
    00589384ldr x4, [x3]
    00589388ldr x3, [x3+8]
    0058938cstr x4, [sp+104]
    00589390str x3, [sp+112]
    00589394ldr x3, [sp+160]
    00589398ldrsb x27, [x3]
    0058939cldr x1, [x3]
    005893a0ldr x3, [x3+8]
    005893a4str x1, [sp+88]
    005893a8str x3, [sp+96]
    005893acldr x4, [sp+112]
    005893b0subs xzr, x4, x3
    005893b4b.ne 0x5893bc
    005893b8b 0x5893c0
    005893bc
    005893bcloc_5893bc:
    005893bcb 0x589434
    005893c0
    005893c0loc_5893c0:
    005893c0ldr x2, [sp+112]
    005893c4ldr x0, [sp+104]
    005893c8bl runtime.memequal
    005893cctbnz w0, 0, 0x5893d4
    005893d0b 0x589430
    005893d4
    005893d4loc_5893d4:
    005893d4bl crypto/internal/fips140.RecordApproved
    005893d8adrp x27, 0x498000
    005893dcldr x26, [x27+328]
    005893e0ldr x0, [x26]
    005893e4blr x0
    005893e8ldr x0, [sp+152]
    005893ecldrsb x27, [x0]
    005893f0ldr x0, [x0]
    005893f4str x0, [sp+80]
    005893f8ldr x3, [sp+176]
    005893fcldr x2, [sp+168]
    00589400ldr x6, [sp+200]
    00589404ldr x1, [sp+160]
    00589408ldr x4, [sp+184]
    0058940cldr x5, [sp+192]
    00589410bl crypto/internal/fips140/ecdsa.verify[go.shape.*crypto/internal/fips140/nistec.P521Point]
    00589414str x0, [sp+120]
    00589418str x1, [sp+128]
    0058941cstr x0, [sp+64]
    00589420str x1, [sp+72]
    00589424ldur x29, [sp-8]
    00589428ldr x30, [sp], 144
    0058942cret x30
    00589430
    00589430loc_589430:
    00589430b 0x589434
    00589434
    00589434loc_589434:
    00589434adrp x0, 0x13a000
    00589438add x0, x0, 576
    0058943cmovz x1, 38
    00589440bl errors.New
    00589444str x0, [sp+120]
    00589448str x1, [sp+128]
    0058944cstr x0, [sp+64]
    00589450str x1, [sp+72]
    00589454ldur x29, [sp-8]
    00589458ldr x30, [sp], 144
    0058945cret x30
    00589460
    00589460loc_589460:
    00589460stp x0, x1, [sp+8]
    00589464stp x2, x3, [sp+24]
    00589468stp x4, x5, [sp+40]
    0058946cstr x6, [sp+56]
    00589470mov x3, x30
    00589474bl runtime.morestack_noctxt.abi0
    00589478ldp x0, x1, [sp+8]
    0058947cldp x2, x3, [sp+24]
    00589480ldp x4, x5, [sp+40]
    00589484ldr x6, [sp+56]
    00589488b 0x589340
    0058948cudf 0
    00589340
    00589490
    00589490crypto/internal/fips140/ecdsa.verify[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdsa.verify[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.PublicKey * pub, struct []uint8 hash, crypto/internal/fips140/ecdsa.Signature * sig)
    00589490ldr x16, [x28+16]
    00589494subs xzr, sp, x16
    00589498b.ls 0x589510
    0058949cstr x30, [sp-112]!
    005894a0stur x29, [sp-8]
    005894a4sub x29, sp, 8
    005894a8str x0, [sp+120]
    005894acstr x1, [sp+128]
    005894b0str x2, [sp+136]
    005894b4str x3, [sp+144]
    005894b8str x4, [sp+152]
    005894bcstr x5, [sp+160]
    005894c0str x6, [sp+168]
    005894c4stp xzr, xzr, [sp+64]
    005894c8ldr x7, [sp+120]
    005894ccldrsb x27, [x7]
    005894d0ldr x0, [x7]
    005894d4str x0, [sp+80]
    005894d8ldr x3, [sp+144]
    005894dcldr x2, [sp+136]
    005894e0ldr x6, [sp+168]
    005894e4ldr x1, [sp+128]
    005894e8ldr x4, [sp+152]
    005894ecldr x5, [sp+160]
    005894f0bl crypto/internal/fips140/ecdsa.verifyGeneric[go.shape.*crypto/internal/fips140/nistec.P521Point]
    005894f4str x0, [sp+88]
    005894f8str x1, [sp+96]
    005894fcstr x0, [sp+64]
    00589500str x1, [sp+72]
    00589504ldur x29, [sp-8]
    00589508ldr x30, [sp], 112
    0058950cret x30
    00589510
    00589510loc_589510:
    00589510stp x0, x1, [sp+8]
    00589514stp x2, x3, [sp+24]
    00589518stp x4, x5, [sp+40]
    0058951cstr x6, [sp+56]
    00589520mov x3, x30
    00589524bl runtime.morestack_noctxt.abi0
    00589528ldp x0, x1, [sp+8]
    0058952cldp x2, x3, [sp+24]
    00589530ldp x4, x5, [sp+40]
    00589534ldr x6, [sp+56]
    00589538b 0x589490
    0058953cudf 0
    00589490
    00589540
    00589540crypto/internal/fips140/ecdsa.verifyGeneric[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdsa.verifyGeneric[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[9] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, crypto/internal/fips140/ecdsa.PublicKey * pub, struct []uint8 hash, crypto/internal/fips140/ecdsa.Signature * sig)
    00589540ldr x16, [x28+16]
    00589544sub x17, sp, 464
    00589548subs xzr, x17, x16
    0058954cb.ls 0x589be0
    00589550sub x20, sp, 592
    00589554stp x29, x30, [x20-8]
    00589558add sp, x20, 0
    0058955csub x29, sp, 8
    00589560str x0, [sp+600]
    00589564str x1, [sp+608]
    00589568str x2, [sp+616]
    0058956cstr x3, [sp+624]
    00589570str x4, [sp+632]
    00589574str x5, [sp+640]
    00589578str x6, [sp+648]
    0058957cstp xzr, xzr, [sp+64]
    00589580ldr x0, [sp+608]
    00589584ldrsb x27, [x0]
    00589588ldr x26, [x0+16]
    0058958cldr x0, [x26]
    00589590blr x0
    00589594str x0, [sp+416]
    00589598str xzr, [sp+408]
    0058959cstp xzr, xzr, [sp+392]
    005895a0ldr x0, [sp+616]
    005895a4ldrsb x27, [x0]
    005895a8ldr x1, [x0+16]
    005895acldr x2, [x0+24]
    005895b0ldr x3, [x0+32]
    005895b4str x1, [sp+328]
    005895b8str x2, [sp+336]
    005895bcstr x3, [sp+344]
    005895c0ldr x26, [sp+600]
    005895c4ldrsb x27, [x26]
    005895c8ldr x0, [x26]
    005895ccldr x4, [sp+416]
    005895d0mov x5, x0
    005895d4mov x0, x4
    005895d8blr x5
    005895dcstr x0, [sp+408]
    005895e0str x1, [sp+392]
    005895e4str x2, [sp+400]
    005895e8ldr x0, [sp+408]
    005895ecstr x0, [sp+200]
    005895f0ldr x0, [sp+392]
    005895f4ldr x1, [sp+400]
    005895f8str x0, [sp+184]
    005895fcstr x1, [sp+192]
    00589600ldr x0, [sp+200]
    00589604str x0, [sp+176]
    00589608ldr x1, [sp+192]
    0058960cldr x0, [sp+184]
    00589610str x0, [sp+128]
    00589614str x1, [sp+136]
    00589618cbnz x0, 0x589620
    0058961cb 0x589634
    00589620
    00589620loc_589620:
    00589620str x0, [sp+64]
    00589624str x1, [sp+72]
    00589628ldp x29, x30, [sp-8]
    0058962cadd sp, sp, 592
    00589630ret x30
    00589634
    00589634loc_589634:
    00589634bl crypto/internal/fips140/bigmod.NewNat
    00589638str x0, [sp+384]
    0058963cstr xzr, [sp+376]
    00589640stp xzr, xzr, [sp+392]
    00589644ldr x0, [sp+648]
    00589648ldrsb x27, [x0]
    0058964cldr x1, [x0]
    00589650ldr x2, [x0+8]
    00589654ldr x0, [x0+16]
    00589658str x1, [sp+304]
    0058965cstr x2, [sp+312]
    00589660str x0, [sp+320]
    00589664ldr x0, [sp+608]
    00589668ldrsb x27, [x0]
    0058966cldr x4, [x0+32]
    00589670str x4, [sp+296]
    00589674ldr x1, [sp+304]
    00589678ldr x2, [sp+312]
    0058967cldr x3, [sp+320]
    00589680ldr x0, [sp+384]
    00589684bl crypto/internal/fips140/bigmod.(*Nat).SetBytes
    00589688str x0, [sp+376]
    0058968cstr x1, [sp+392]
    00589690str x2, [sp+400]
    00589694ldr x0, [sp+376]
    00589698str x0, [sp+576]
    0058969cldr x0, [sp+392]
    005896a0ldr x1, [sp+400]
    005896a4str x0, [sp+560]
    005896a8str x1, [sp+568]
    005896acldr x0, [sp+576]
    005896b0str x0, [sp+104]
    005896b4ldr x1, [sp+568]
    005896b8ldr x0, [sp+560]
    005896bcstr x0, [sp+128]
    005896c0str x1, [sp+136]
    005896c4cbnz x0, 0x5896cc
    005896c8b 0x5896e0
    005896cc
    005896ccloc_5896cc:
    005896ccstr x0, [sp+64]
    005896d0str x1, [sp+72]
    005896d4ldp x29, x30, [sp-8]
    005896d8add sp, sp, 592
    005896dcret x30
    005896e0
    005896e0loc_5896e0:
    005896e0ldr x0, [sp+104]
    005896e4bl crypto/internal/fips140/bigmod.(*Nat).IsZero
    005896e8str x0, [sp+56]
    005896ecsubs xzr, x0, 1
    005896f0b.eq 0x5896f8
    005896f4b 0x589724
    005896f8
    005896f8loc_5896f8:
    005896f8adrp x0, 0x137000
    005896fcadd x0, x0, 4031
    00589700movz x1, 35
    00589704bl errors.New
    00589708str x0, [sp+392]
    0058970cstr x1, [sp+400]
    00589710str x0, [sp+64]
    00589714str x1, [sp+72]
    00589718ldp x29, x30, [sp-8]
    0058971cadd sp, sp, 592
    00589720ret x30
    00589724
    00589724loc_589724:
    00589724bl crypto/internal/fips140/bigmod.NewNat
    00589728str x0, [sp+376]
    0058972cstr xzr, [sp+384]
    00589730stp xzr, xzr, [sp+392]
    00589734ldr x0, [sp+648]
    00589738ldrsb x27, [x0]
    0058973cldr x1, [x0+24]
    00589740ldr x2, [x0+32]
    00589744ldr x0, [x0+40]
    00589748str x1, [sp+272]
    0058974cstr x2, [sp+280]
    00589750str x0, [sp+288]
    00589754ldr x0, [sp+608]
    00589758ldrsb x27, [x0]
    0058975cldr x4, [x0+32]
    00589760str x4, [sp+264]
    00589764ldr x1, [sp+272]
    00589768ldr x2, [sp+280]
    0058976cldr x3, [sp+288]
    00589770ldr x0, [sp+376]
    00589774bl crypto/internal/fips140/bigmod.(*Nat).SetBytes
    00589778str x0, [sp+384]
    0058977cstr x1, [sp+392]
    00589780str x2, [sp+400]
    00589784ldr x0, [sp+384]
    00589788str x0, [sp+552]
    0058978cldr x0, [sp+392]
    00589790ldr x1, [sp+400]
    00589794str x0, [sp+536]
    00589798str x1, [sp+544]
    0058979cldr x0, [sp+552]
    005897a0str x0, [sp+96]
    005897a4ldr x1, [sp+544]
    005897a8ldr x0, [sp+536]
    005897acstr x0, [sp+128]
    005897b0str x1, [sp+136]
    005897b4cbnz x0, 0x5897bc
    005897b8b 0x5897d0
    005897bc
    005897bcloc_5897bc:
    005897bcstr x0, [sp+64]
    005897c0str x1, [sp+72]
    005897c4ldp x29, x30, [sp-8]
    005897c8add sp, sp, 592
    005897ccret x30
    005897d0
    005897d0loc_5897d0:
    005897d0ldr x0, [sp+96]
    005897d4bl crypto/internal/fips140/bigmod.(*Nat).IsZero
    005897d8str x0, [sp+56]
    005897dcsubs xzr, x0, 1
    005897e0b.eq 0x5897e8
    005897e4b 0x589814
    005897e8
    005897e8loc_5897e8:
    005897e8adrp x0, 0x137000
    005897ecadd x0, x0, 4066
    005897f0movz x1, 35
    005897f4bl errors.New
    005897f8str x0, [sp+392]
    005897fcstr x1, [sp+400]
    00589800str x0, [sp+64]
    00589804str x1, [sp+72]
    00589808ldp x29, x30, [sp-8]
    0058980cadd sp, sp, 592
    00589810ret x30
    00589814
    00589814loc_589814:
    00589814bl crypto/internal/fips140/bigmod.NewNat
    00589818str x0, [sp+144]
    0058981cldr x0, [sp+600]
    00589820ldrsb x27, [x0]
    00589824ldr x0, [x0+40]
    00589828str x0, [sp+256]
    0058982cldr x3, [sp+624]
    00589830ldr x2, [sp+144]
    00589834ldr x1, [sp+608]
    00589838ldr x4, [sp+632]
    0058983cldr x5, [sp+640]
    00589840bl crypto/internal/fips140/ecdsa.hashToNat[go.shape.*crypto/internal/fips140/nistec.P521Point]
    00589844bl crypto/internal/fips140/bigmod.NewNat
    00589848str x0, [sp+80]
    0058984cldr x0, [sp+600]
    00589850ldrsb x27, [x0]
    00589854ldr x0, [x0+48]
    00589858str x0, [sp+248]
    0058985cldr x2, [sp+80]
    00589860ldr x3, [sp+96]
    00589864ldr x1, [sp+608]
    00589868bl crypto/internal/fips140/ecdsa.inverse[go.shape.*crypto/internal/fips140/nistec.P521Point]
    0058986cldr x0, [sp+608]
    00589870ldrsb x27, [x0]
    00589874ldr x26, [x0+16]
    00589878ldr x0, [x26]
    0058987cblr x0
    00589880str x0, [sp+408]
    00589884ldr x0, [sp+608]
    00589888ldrsb x27, [x0]
    0058988cldr x2, [x0+32]
    00589890str x2, [sp+240]
    00589894ldr x0, [sp+144]
    00589898ldr x1, [sp+80]
    0058989cbl crypto/internal/fips140/bigmod.(*Nat).Mul
    005898a0str x0, [sp+384]
    005898a4ldr x0, [sp+608]
    005898a8ldrsb x27, [x0]
    005898acldr x1, [x0+32]
    005898b0str x1, [sp+232]
    005898b4ldr x0, [sp+384]
    005898b8bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    005898bcstr x0, [sp+352]
    005898c0str x1, [sp+360]
    005898c4str x2, [sp+368]
    005898c8str xzr, [sp+416]
    005898ccstp xzr, xzr, [sp+392]
    005898d0ldr x0, [sp+600]
    005898d4ldrsb x27, [x0]
    005898d8add x26, x0, 8
    005898dcldr x0, [x0+8]
    005898e0ldr x1, [sp+352]
    005898e4ldr x2, [sp+360]
    005898e8ldr x3, [sp+368]
    005898ecldr x4, [sp+408]
    005898f0mov x5, x0
    005898f4mov x0, x4
    005898f8blr x5
    005898fcstr x0, [sp+416]
    00589900str x1, [sp+392]
    00589904str x2, [sp+400]
    00589908ldr x0, [sp+416]
    0058990cstr x0, [sp+528]
    00589910ldr x0, [sp+392]
    00589914ldr x1, [sp+400]
    00589918str x0, [sp+512]
    0058991cstr x1, [sp+520]
    00589920ldr x0, [sp+528]
    00589924str x0, [sp+120]
    00589928ldr x1, [sp+520]
    0058992cldr x0, [sp+512]
    00589930str x0, [sp+128]
    00589934str x1, [sp+136]
    00589938cbnz x0, 0x589940
    0058993cb 0x589954
    00589940
    00589940loc_589940:
    00589940str x0, [sp+64]
    00589944str x1, [sp+72]
    00589948ldp x29, x30, [sp-8]
    0058994cadd sp, sp, 592
    00589950ret x30
    00589954
    00589954loc_589954:
    00589954ldr x3, [sp+608]
    00589958ldrsb x27, [x3]
    0058995cldr x2, [x3+32]
    00589960str x2, [sp+224]
    00589964ldr x0, [sp+80]
    00589968ldr x1, [sp+104]
    0058996cbl crypto/internal/fips140/bigmod.(*Nat).Mul
    00589970str x0, [sp+384]
    00589974ldr x3, [sp+608]
    00589978ldrsb x27, [x3]
    0058997cldr x1, [x3+32]
    00589980str x1, [sp+216]
    00589984ldr x0, [sp+384]
    00589988bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    0058998cstr x0, [sp+352]
    00589990str x1, [sp+360]
    00589994str x2, [sp+368]
    00589998str xzr, [sp+416]
    0058999cstp xzr, xzr, [sp+392]
    005899a0ldr x3, [sp+600]
    005899a4ldrsb x27, [x3]
    005899a8add x26, x3, 16
    005899acldr x0, [sp+176]
    005899b0ldr x1, [sp+176]
    005899b4ldr x3, [x3+16]
    005899b8ldr x2, [sp+352]
    005899bcldr x4, [sp+360]
    005899c0ldr x5, [sp+368]
    005899c4mov x6, x3
    005899c8mov x3, x4
    005899ccmov x4, x5
    005899d0blr x6
    005899d4str x0, [sp+416]
    005899d8str x1, [sp+392]
    005899dcstr x2, [sp+400]
    005899e0ldr x3, [sp+416]
    005899e4str x3, [sp+504]
    005899e8ldr x3, [sp+392]
    005899ecldr x4, [sp+400]
    005899f0str x3, [sp+488]
    005899f4str x4, [sp+496]
    005899f8ldr x3, [sp+504]
    005899fcstr x3, [sp+112]
    00589a00ldr x1, [sp+496]
    00589a04ldr x0, [sp+488]
    00589a08str x0, [sp+128]
    00589a0cstr x1, [sp+136]
    00589a10cbnz x0, 0x589a18
    00589a14b 0x589a2c
    00589a18
    00589a18loc_589a18:
    00589a18str x0, [sp+64]
    00589a1cstr x1, [sp+72]
    00589a20ldp x29, x30, [sp-8]
    00589a24add sp, sp, 592
    00589a28ret x30
    00589a2c
    00589a2cloc_589a2c:
    00589a2cldr x3, [sp+600]
    00589a30ldrsb x27, [x3]
    00589a34add x26, x3, 24
    00589a38ldr x0, [sp+120]
    00589a3cldr x1, [sp+120]
    00589a40ldr x2, [sp+112]
    00589a44ldr x3, [x3+24]
    00589a48blr x3
    00589a4cstr x0, [sp+416]
    00589a50str xzr, [sp+352]
    00589a54stp xzr, xzr, [sp+360]
    00589a58stp xzr, xzr, [sp+392]
    00589a5cldr x3, [sp+600]
    00589a60ldrsb x27, [x3]
    00589a64add x26, x3, 32
    00589a68ldr x3, [x3+32]
    00589a6cldr x0, [sp+416]
    00589a70blr x3
    00589a74str x0, [sp+352]
    00589a78str x1, [sp+360]
    00589a7cstr x2, [sp+368]
    00589a80str x3, [sp+392]
    00589a84str x4, [sp+400]
    00589a88ldr x3, [sp+352]
    00589a8cldr x4, [sp+360]
    00589a90ldr x5, [sp+368]
    00589a94str x3, [sp+464]
    00589a98str x4, [sp+472]
    00589a9cstr x5, [sp+480]
    00589aa0ldr x3, [sp+392]
    00589aa4ldr x4, [sp+400]
    00589aa8str x3, [sp+448]
    00589aacstr x4, [sp+456]
    00589ab0ldr x3, [sp+464]
    00589ab4ldr x4, [sp+472]
    00589ab8ldr x5, [sp+480]
    00589abcstr x3, [sp+152]
    00589ac0str x4, [sp+160]
    00589ac4str x5, [sp+168]
    00589ac8ldr x1, [sp+456]
    00589accldr x0, [sp+448]
    00589ad0str x0, [sp+128]
    00589ad4str x1, [sp+136]
    00589ad8cbnz x0, 0x589ae0
    00589adcb 0x589af4
    00589ae0
    00589ae0loc_589ae0:
    00589ae0str x0, [sp+64]
    00589ae4str x1, [sp+72]
    00589ae8ldp x29, x30, [sp-8]
    00589aecadd sp, sp, 592
    00589af0ret x30
    00589af4
    00589af4loc_589af4:
    00589af4bl crypto/internal/fips140/bigmod.NewNat
    00589af8str x0, [sp+384]
    00589afcstr xzr, [sp+376]
    00589b00stp xzr, xzr, [sp+392]
    00589b04ldr x0, [sp+608]
    00589b08ldrsb x27, [x0]
    00589b0cldr x4, [x0+32]
    00589b10str x4, [sp+208]
    00589b14ldr x1, [sp+152]
    00589b18ldr x2, [sp+160]
    00589b1cldr x3, [sp+168]
    00589b20ldr x0, [sp+384]
    00589b24bl crypto/internal/fips140/bigmod.(*Nat).SetOverflowingBytes
    00589b28str x0, [sp+376]
    00589b2cstr x1, [sp+392]
    00589b30str x2, [sp+400]
    00589b34ldr x0, [sp+376]
    00589b38str x0, [sp+440]
    00589b3cldr x0, [sp+392]
    00589b40ldr x1, [sp+400]
    00589b44str x0, [sp+424]
    00589b48str x1, [sp+432]
    00589b4cldr x0, [sp+440]
    00589b50str x0, [sp+88]
    00589b54ldr x1, [sp+432]
    00589b58ldr x0, [sp+424]
    00589b5cstr x0, [sp+128]
    00589b60str x1, [sp+136]
    00589b64cbnz x0, 0x589b6c
    00589b68b 0x589b80
    00589b6c
    00589b6cloc_589b6c:
    00589b6cstr x0, [sp+64]
    00589b70str x1, [sp+72]
    00589b74ldp x29, x30, [sp-8]
    00589b78add sp, sp, 592
    00589b7cret x30
    00589b80
    00589b80loc_589b80:
    00589b80ldr x1, [sp+104]
    00589b84ldr x0, [sp+88]
    00589b88bl crypto/internal/fips140/bigmod.(*Nat).Equal
    00589b8cstr x0, [sp+56]
    00589b90subs xzr, x0, 1
    00589b94b.ne 0x589b9c
    00589b98b 0x589bc8
    00589b9c
    00589b9cloc_589b9c:
    00589b9cadrp x0, 0x135000
    00589ba0add x0, x0, 351
    00589ba4orr x1, xzr, 31
    00589ba8bl errors.New
    00589bacstr x0, [sp+392]
    00589bb0str x1, [sp+400]
    00589bb4str x0, [sp+64]
    00589bb8str x1, [sp+72]
    00589bbcldp x29, x30, [sp-8]
    00589bc0add sp, sp, 592
    00589bc4ret x30
    00589bc8
    00589bc8loc_589bc8:
    00589bc8stp xzr, xzr, [sp+64]
    00589bccmov x0, xzr
    00589bd0mov x1, xzr
    00589bd4ldp x29, x30, [sp-8]
    00589bd8add sp, sp, 592
    00589bdcret x30
    00589be0
    00589be0loc_589be0:
    00589be0stp x0, x1, [sp+8]
    00589be4stp x2, x3, [sp+24]
    00589be8stp x4, x5, [sp+40]
    00589becstr x6, [sp+56]
    00589bf0mov x3, x30
    00589bf4bl runtime.morestack_noctxt.abi0
    00589bf8ldp x0, x1, [sp+8]
    00589bfcldp x2, x3, [sp+24]
    00589c00ldp x4, x5, [sp+40]
    00589c04ldr x6, [sp+56]
    00589c08b 0x589540
    00589c0cudf 0
    00589540
    00589c10
    00589c10crypto/internal/fips140/ecdsa.inverse[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdsa.inverse[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[1] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, crypto/internal/fips140/bigmod.Nat * kInv, crypto/internal/fips140/bigmod.Nat * k)
    00589c10ldr x16, [x28+16]
    00589c14sub x17, sp, 176
    00589c18subs xzr, x17, x16
    00589c1cb.ls 0x589df0
    00589c20sub x20, sp, 304
    00589c24stp x29, x30, [x20-8]
    00589c28add sp, x20, 0
    00589c2csub x29, sp, 8
    00589c30str x0, [sp+312]
    00589c34str x1, [sp+320]
    00589c38str x2, [sp+328]
    00589c3cstr x3, [sp+336]
    00589c40ldrsb x27, [x1]
    00589c44ldr x6, [x1+24]
    00589c48cbnz x6, 0x589c50
    00589c4cb 0x589d80
    00589c50
    00589c50loc_589c50:
    00589c50ldrsb x27, [x1]
    00589c54ldr x1, [x1+32]
    00589c58str x1, [sp+200]
    00589c5cldr x0, [sp+336]
    00589c60bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    00589c64str x0, [sp+256]
    00589c68str x1, [sp+264]
    00589c6cstr x2, [sp+272]
    00589c70str xzr, [sp+232]
    00589c74stp xzr, xzr, [sp+240]
    00589c78stp xzr, xzr, [sp+216]
    00589c7cldr x2, [sp+320]
    00589c80ldrsb x27, [x2]
    00589c84ldr x26, [x2+24]
    00589c88ldr x2, [x26]
    00589c8cldr x0, [sp+256]
    00589c90ldr x1, [sp+264]
    00589c94ldr x3, [sp+272]
    00589c98mov x4, x2
    00589c9cmov x2, x3
    00589ca0blr x4
    00589ca4str x0, [sp+232]
    00589ca8str x1, [sp+240]
    00589cacstr x2, [sp+248]
    00589cb0str x3, [sp+216]
    00589cb4str x4, [sp+224]
    00589cb8ldr x2, [sp+232]
    00589cbcldr x3, [sp+240]
    00589cc0ldr x4, [sp+248]
    00589cc4str x2, [sp+136]
    00589cc8str x3, [sp+144]
    00589cccstr x4, [sp+152]
    00589cd0ldr x2, [sp+216]
    00589cd4ldr x3, [sp+224]
    00589cd8str x2, [sp+120]
    00589cdcstr x3, [sp+128]
    00589ce0ldr x2, [sp+136]
    00589ce4ldr x3, [sp+144]
    00589ce8ldr x4, [sp+152]
    00589cecstr x2, [sp+56]
    00589cf0str x3, [sp+64]
    00589cf4str x4, [sp+72]
    00589cf8ldr x2, [sp+128]
    00589cfcldr x3, [sp+120]
    00589d00str x3, [sp+96]
    00589d04str x2, [sp+104]
    00589d08cbnz x3, 0x589d10
    00589d0cb 0x589d14
    00589d10
    00589d10loc_589d10:
    00589d10b 0x589d84
    00589d14
    00589d14loc_589d14:
    00589d14str xzr, [sp+208]
    00589d18stp xzr, xzr, [sp+216]
    00589d1cldr x5, [sp+320]
    00589d20ldrsb x27, [x5]
    00589d24ldr x4, [x5+32]
    00589d28str x4, [sp+192]
    00589d2cldr x1, [sp+56]
    00589d30ldr x0, [sp+328]
    00589d34ldr x2, [sp+64]
    00589d38ldr x3, [sp+72]
    00589d3cbl crypto/internal/fips140/bigmod.(*Nat).SetBytes
    00589d40str x0, [sp+208]
    00589d44str x1, [sp+216]
    00589d48str x2, [sp+224]
    00589d4cldr x5, [sp+208]
    00589d50str x5, [sp+112]
    00589d54ldr x5, [sp+224]
    00589d58ldr x6, [sp+216]
    00589d5cstr x6, [sp+280]
    00589d60str x5, [sp+288]
    00589d64str x6, [sp+80]
    00589d68str x5, [sp+88]
    00589d6ccbnz x6, 0x589dd8
    00589d70b 0x589d74
    00589d74
    00589d74loc_589d74:
    00589d74ldp x29, x30, [sp-8]
    00589d78add sp, sp, 304
    00589d7cret x30
    00589d80
    00589d80loc_589d80:
    00589d80b 0x589d84
    00589d84
    00589d84loc_589d84:
    00589d84ldr x6, [sp+320]
    00589d88ldrsb x27, [x6]
    00589d8cldr x7, [x6+40]
    00589d90ldr x8, [x6+48]
    00589d94ldr x6, [x6+56]
    00589d98str x7, [sp+168]
    00589d9cstr x8, [sp+176]
    00589da0str x6, [sp+184]
    00589da4ldr x6, [sp+320]
    00589da8ldrsb x27, [x6]
    00589dacldr x5, [x6+32]
    00589db0str x5, [sp+160]
    00589db4ldr x0, [sp+328]
    00589db8ldr x1, [sp+336]
    00589dbcldr x2, [sp+168]
    00589dc0ldr x3, [sp+176]
    00589dc4ldr x4, [sp+184]
    00589dc8bl crypto/internal/fips140/bigmod.(*Nat).Exp
    00589dccldp x29, x30, [sp-8]
    00589dd0add sp, sp, 304
    00589dd4ret x30
    00589dd8
    00589dd8loc_589dd8:
    00589dd8adrp x0, 0x6c000
    00589ddcadd x0, x0, 2944
    00589de0adrp x1, 0x189000
    00589de4add x1, x1, 1568
    00589de8bl runtime.gopanic
    00589dechint
    00589df0
    00589df0loc_589df0:
    00589df0stp x0, x1, [sp+8]
    00589df4stp x2, x3, [sp+24]
    00589df8mov x3, x30
    00589dfcbl runtime.morestack_noctxt.abi0
    00589e00ldp x0, x1, [sp+8]
    00589e04ldp x2, x3, [sp+24]
    00589e08b 0x589c10
    00589e0cudf 0
    00589c10
    00589e10
    00589e10crypto/internal/fips140/ecdsa.hashToNat[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdsa.hashToNat[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[1] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, crypto/internal/fips140/bigmod.Nat * e, struct []uint8 hash)
    00589e10ldr x16, [x28+16]
    00589e14sub x17, sp, 48
    00589e18subs xzr, x17, x16
    00589e1cb.ls 0x589f78
    00589e20str x30, [sp-176]!
    00589e24stur x29, [sp-8]
    00589e28sub x29, sp, 8
    00589e2cstr x0, [sp+184]
    00589e30str x1, [sp+192]
    00589e34str x2, [sp+200]
    00589e38str x3, [sp+208]
    00589e3cstr x4, [sp+216]
    00589e40str x5, [sp+224]
    00589e44ldr x1, [sp+192]
    00589e48ldrsb x27, [x1]
    00589e4cldr x0, [x1+32]
    00589e50str x0, [sp+136]
    00589e54bl crypto/internal/fips140/bigmod.(*Modulus).Size
    00589e58str x0, [sp+48]
    00589e5cldr x1, [sp+216]
    00589e60str x1, [sp+64]
    00589e64subs xzr, x0, x1
    00589e68b.le 0x589e70
    00589e6cb 0x589ee8
    00589e70
    00589e70loc_589e70:
    00589e70ldr x2, [sp+224]
    00589e74subs xzr, x0, x2
    00589e78b.ls 0x589e80
    00589e7cb 0x589f6c
    00589e80
    00589e80loc_589e80:
    00589e80b 0x589e84
    00589e84
    00589e84loc_589e84:
    00589e84str x0, [sp+216]
    00589e88str x0, [sp+64]
    00589e8cldr x1, [sp+192]
    00589e90ldrsb x27, [x1]
    00589e94ldr x0, [x1+32]
    00589e98str x0, [sp+128]
    00589e9cbl crypto/internal/fips140/bigmod.(*Modulus).BitLen
    00589ea0str x0, [sp+72]
    00589ea4ldr x1, [sp+64]
    00589ea8ubfm x1, x1, 61, 60
    00589eacsub x3, x1, x0
    00589eb0str x3, [sp+56]
    00589eb4subs xzr, x3, 0
    00589eb8b.gt 0x589ec0
    00589ebcb 0x589ee0
    00589ec0
    00589ec0loc_589ec0:
    00589ec0ldr x0, [sp+208]
    00589ec4ldr x1, [sp+216]
    00589ec8ldr x2, [sp+224]
    00589eccbl crypto/internal/fips140/ecdsa.rightShift
    00589ed0str x0, [sp+208]
    00589ed4str x1, [sp+216]
    00589ed8str x2, [sp+224]
    00589edcb 0x589ee4
    00589ee0
    00589ee0loc_589ee0:
    00589ee0b 0x589ee4
    00589ee4
    00589ee4loc_589ee4:
    00589ee4b 0x589eec
    00589ee8
    00589ee8loc_589ee8:
    00589ee8b 0x589eec
    00589eec
    00589eecloc_589eec:
    00589eecstr xzr, [sp+160]
    00589ef0stp xzr, xzr, [sp+144]
    00589ef4ldr x5, [sp+192]
    00589ef8ldrsb x27, [x5]
    00589efcldr x4, [x5+32]
    00589f00str x4, [sp+120]
    00589f04ldr x1, [sp+208]
    00589f08ldr x0, [sp+200]
    00589f0cldr x2, [sp+216]
    00589f10ldr x3, [sp+224]
    00589f14bl crypto/internal/fips140/bigmod.(*Nat).SetOverflowingBytes
    00589f18str x0, [sp+160]
    00589f1cstr x1, [sp+144]
    00589f20str x2, [sp+152]
    00589f24ldr x5, [sp+160]
    00589f28str x5, [sp+112]
    00589f2cldr x5, [sp+152]
    00589f30ldr x6, [sp+144]
    00589f34str x6, [sp+96]
    00589f38str x5, [sp+104]
    00589f3cstr x6, [sp+80]
    00589f40str x5, [sp+88]
    00589f44cbnz x6, 0x589f58
    00589f48b 0x589f4c
    00589f4c
    00589f4cloc_589f4c:
    00589f4cldur x29, [sp-8]
    00589f50ldr x30, [sp], 176
    00589f54ret x30
    00589f58
    00589f58loc_589f58:
    00589f58adrp x0, 0x6c000
    00589f5cadd x0, x0, 2944
    00589f60adrp x1, 0x189000
    00589f64add x1, x1, 1584
    00589f68bl runtime.gopanic
    00589f6c
    00589f6cloc_589f6c:
    00589f6cmov x1, x0
    00589f70bl runtime.panicSliceAcap
    00589f74hint
    00589f78
    00589f78loc_589f78:
    00589f78stp x0, x1, [sp+8]
    00589f7cstp x2, x3, [sp+24]
    00589f80stp x4, x5, [sp+40]
    00589f84mov x3, x30
    00589f88bl runtime.morestack_noctxt.abi0
    00589f8cldp x0, x1, [sp+8]
    00589f90ldp x2, x3, [sp+24]
    00589f94ldp x4, x5, [sp+40]
    00589f98b 0x589e10
    00589f9cudf 0
    00589e10