File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    005a7990
    005a7990crypto/internal/fips140/rsa.mgf1XOR: ; void crypto/internal/fips140/rsa.mgf1XOR(struct []uint8 out, crypto/internal/fips140.Hash hash, struct []uint8 seed)
    005a7990ldr x16, [x28+16]
    005a7994sub x17, sp, 32
    005a7998subs xzr, x17, x16
    005a799cb.ls 0x5a7bb4
    005a79a0str x30, [sp-160]!
    005a79a4stur x29, [sp-8]
    005a79a8sub x29, sp, 8
    005a79acstr x0, [sp+168]
    005a79b0str x1, [sp+176]
    005a79b4str x2, [sp+184]
    005a79b8str x3, [sp+192]
    005a79bcstr x4, [sp+200]
    005a79c0str x5, [sp+208]
    005a79c4str x6, [sp+216]
    005a79c8str x7, [sp+224]
    005a79ccadrp x0, 0x57000
    005a79d0add x0, x0, 1504
    005a79d4bl runtime.newobject
    005a79d8str x0, [sp+144]
    005a79dcstr wzr, [x0]
    005a79e0str xzr, [sp+96]
    005a79e4stp xzr, xzr, [sp+104]
    005a79e8str xzr, [sp+64]
    005a79ecb 0x5a79f0
    005a79f0
    005a79f0loc_5a79f0:
    005a79f0ldr x1, [sp+176]
    005a79f4str x1, [sp+72]
    005a79f8ldr x2, [sp+64]
    005a79fcsubs xzr, x1, x2
    005a7a00b.gt 0x5a7a08
    005a7a04b 0x5a7ac0
    005a7a08
    005a7a08loc_5a7a08:
    005a7a08ldr x1, [sp+192]
    005a7a0cldrsb x27, [x1]
    005a7a10ldr x1, [x1+32]
    005a7a14ldr x0, [sp+200]
    005a7a18blr x1
    005a7a1cldr x2, [sp+216]
    005a7a20ldr x3, [sp+224]
    005a7a24ldr x1, [sp+192]
    005a7a28ldrsb x27, [x1]
    005a7a2cldr x1, [x1+56]
    005a7a30ldr x4, [sp+208]
    005a7a34ldr x0, [sp+200]
    005a7a38mov x5, x1
    005a7a3cmov x1, x4
    005a7a40blr x5
    005a7a44ldr x1, [sp+144]
    005a7a48ldrsb x27, [x1]
    005a7a4cb 0x5a7a50
    005a7a50
    005a7a50loc_5a7a50:
    005a7a50str x1, [sp+120]
    005a7a54orr x3, xzr, 4
    005a7a58str x3, [sp+128]
    005a7a5cstr x3, [sp+136]
    005a7a60ldr x4, [sp+192]
    005a7a64ldrsb x27, [x4]
    005a7a68ldr x0, [sp+200]
    005a7a6cldr x4, [x4+56]
    005a7a70mov x2, x3
    005a7a74blr x4
    005a7a78ldr x1, [sp+96]
    005a7a7cldr x3, [sp+112]
    005a7a80b 0x5a7a84
    005a7a84
    005a7a84loc_5a7a84:
    005a7a84b 0x5a7a88
    005a7a88
    005a7a88loc_5a7a88:
    005a7a88str x1, [sp+120]
    005a7a8cstr xzr, [sp+128]
    005a7a90str x3, [sp+136]
    005a7a94ldr x4, [sp+192]
    005a7a98ldrsb x27, [x4]
    005a7a9cldr x0, [sp+200]
    005a7aa0ldr x4, [x4+48]
    005a7aa4mov x2, xzr
    005a7aa8blr x4
    005a7aacstr x0, [sp+96]
    005a7ab0str x1, [sp+104]
    005a7ab4str x2, [sp+112]
    005a7ab8str xzr, [sp+56]
    005a7abcb 0x5a7acc
    005a7ac0
    005a7ac0loc_5a7ac0:
    005a7ac0ldur x29, [sp-8]
    005a7ac4ldr x30, [sp], 160
    005a7ac8ret x30
    005a7acc
    005a7accloc_5a7acc:
    005a7accldr x2, [sp+104]
    005a7ad0str x2, [sp+88]
    005a7ad4ldr x3, [sp+56]
    005a7ad8subs xzr, x2, x3
    005a7adccset x2, gt
    005a7ae0strb w2, [sp+55]
    005a7ae4b.gt 0x5a7aec
    005a7ae8b 0x5a7b08
    005a7aec
    005a7aecloc_5a7aec:
    005a7aecldr x2, [sp+176]
    005a7af0str x2, [sp+80]
    005a7af4ldr x3, [sp+64]
    005a7af8subs xzr, x2, x3
    005a7afccset x2, gt
    005a7b00strb w2, [sp+55]
    005a7b04b 0x5a7b0c
    005a7b08
    005a7b08loc_5a7b08:
    005a7b08b 0x5a7b0c
    005a7b0c
    005a7b0cloc_5a7b0c:
    005a7b0cldrb w2, [sp+55]
    005a7b10tbnz w2, 0, 0x5a7b18
    005a7b14b 0x5a7b90
    005a7b18
    005a7b18loc_5a7b18:
    005a7b18ldr x0, [sp+64]
    005a7b1cldr x1, [sp+176]
    005a7b20ldr x2, [sp+168]
    005a7b24subs xzr, x1, x0
    005a7b28b.hi 0x5a7b30
    005a7b2cb 0x5a7bac
    005a7b30
    005a7b30loc_5a7b30:
    005a7b30ldrb w2, [x2+x0]
    005a7b34ldr x0, [sp+56]
    005a7b38ldr x1, [sp+104]
    005a7b3cldr x3, [sp+96]
    005a7b40subs xzr, x1, x0
    005a7b44b.hi 0x5a7b4c
    005a7b48b 0x5a7ba8
    005a7b4c
    005a7b4cloc_5a7b4c:
    005a7b4cldr x4, [sp+64]
    005a7b50ldr x1, [sp+176]
    005a7b54ldr x5, [sp+168]
    005a7b58ldrb w3, [x3+x0]
    005a7b5ceor x2, x2, x3
    005a7b60subs xzr, x1, x4
    005a7b64b.hi 0x5a7b6c
    005a7b68b 0x5a7ba0
    005a7b6c
    005a7b6cloc_5a7b6c:
    005a7b6cstrb w2, [x5+x4]
    005a7b70ldr x2, [sp+64]
    005a7b74add x2, x2, 1
    005a7b78str x2, [sp+64]
    005a7b7cb 0x5a7b80
    005a7b80
    005a7b80loc_5a7b80:
    005a7b80ldr x2, [sp+56]
    005a7b84add x2, x2, 1
    005a7b88str x2, [sp+56]
    005a7b8cb 0x5a7acc
    005a7b90
    005a7b90loc_5a7b90:
    005a7b90ldr x0, [sp+144]
    005a7b94bl crypto/internal/fips140/rsa.incCounter
    005a7b98b 0x5a7b9c
    005a7b9c
    005a7b9cloc_5a7b9c:
    005a7b9cb 0x5a79f0
    005a7ba0
    005a7ba0loc_5a7ba0:
    005a7ba0mov x0, x4
    005a7ba4bl runtime.panicIndex
    005a7ba8
    005a7ba8loc_5a7ba8:
    005a7ba8bl runtime.panicIndex
    005a7bac
    005a7bacloc_5a7bac:
    005a7bacbl runtime.panicIndex
    005a7bb0hint
    005a7bb4
    005a7bb4loc_5a7bb4:
    005a7bb4stp x0, x1, [sp+8]
    005a7bb8stp x2, x3, [sp+24]
    005a7bbcstp x4, x5, [sp+40]
    005a7bc0stp x6, x7, [sp+56]
    005a7bc4mov x3, x30
    005a7bc8bl runtime.morestack_noctxt.abi0
    005a7bccldp x0, x1, [sp+8]
    005a7bd0ldp x2, x3, [sp+24]
    005a7bd4ldp x4, x5, [sp+40]
    005a7bd8ldp x6, x7, [sp+56]
    005a7bdcb 0x5a7990
    005a7990
    005a7be0
    005a7be0crypto/internal/fips140/rsa.emsaPSSEncode: ; void crypto/internal/fips140/rsa.emsaPSSEncode(struct []uint8 mHash, int emBits, struct []uint8 salt, crypto/internal/fips140.Hash hash)
    005a7be0ldr x16, [x28+16]
    005a7be4sub x17, sp, 240
    005a7be8subs xzr, x17, x16
    005a7becb.ls 0x5a80c8
    005a7bf0sub x20, sp, 368
    005a7bf4stp x29, x30, [x20-8]
    005a7bf8add sp, x20, 0
    005a7bfcsub x29, sp, 8
    005a7c00str x0, [sp+376]
    005a7c04str x1, [sp+384]
    005a7c08str x2, [sp+392]
    005a7c0cstr x3, [sp+400]
    005a7c10str x4, [sp+408]
    005a7c14str x5, [sp+416]
    005a7c18str x6, [sp+424]
    005a7c1cstr x7, [sp+432]
    005a7c20str x8, [sp+440]
    005a7c24str xzr, [sp+168]
    005a7c28stp xzr, xzr, [sp+176]
    005a7c2cstp xzr, xzr, [sp+152]
    005a7c30ldr x1, [sp+432]
    005a7c34ldrsb x27, [x1]
    005a7c38ldr x1, [x1+40]
    005a7c3cldr x0, [sp+440]
    005a7c40blr x1
    005a7c44str x0, [sp+96]
    005a7c48ldr x1, [sp+416]
    005a7c4cstr x1, [sp+80]
    005a7c50ldr x2, [sp+400]
    005a7c54add x3, x2, 7
    005a7c58sbfm x3, x3, 63, 63
    005a7c5cadd x2, x2, x3, lsr #61
    005a7c60add x2, x2, 7
    005a7c64sbfm x3, x2, 3, 63
    005a7c68str x3, [sp+104]
    005a7c6cldr x4, [sp+384]
    005a7c70str x4, [sp+144]
    005a7c74subs xzr, x0, x4
    005a7c78b.ne 0x5a7c80
    005a7c7cb 0x5a7cc8
    005a7c80
    005a7c80loc_5a7c80:
    005a7c80adrp x0, 0x121000
    005a7c84add x0, x0, 2757
    005a7c88orr x1, xzr, 48
    005a7c8cbl errors.New
    005a7c90str x0, [sp+336]
    005a7c94str x1, [sp+344]
    005a7c98str xzr, [sp+168]
    005a7c9cstp xzr, xzr, [sp+176]
    005a7ca0ldr x3, [sp+336]
    005a7ca4ldr x4, [sp+344]
    005a7ca8str x3, [sp+152]
    005a7cacstr x4, [sp+160]
    005a7cb0ldr x0, [sp+168]
    005a7cb4ldr x1, [sp+176]
    005a7cb8ldr x2, [sp+184]
    005a7cbcldp x29, x30, [sp-8]
    005a7cc0add sp, sp, 368
    005a7cc4ret x30
    005a7cc8
    005a7cc8loc_5a7cc8:
    005a7cc8add x5, x0, x1
    005a7cccadd x5, x5, 2
    005a7cd0subs xzr, x5, x2, asr #3
    005a7cd4b.gt 0x5a7cdc
    005a7cd8b 0x5a7d14
    005a7cdc
    005a7cdcloc_5a7cdc:
    005a7cdcstr xzr, [sp+168]
    005a7ce0stp xzr, xzr, [sp+176]
    005a7ce4adrp x27, 0x47b000
    005a7ce8ldr x3, [x27+768]
    005a7cecadrp x27, 0x47b000
    005a7cf0ldr x4, [x27+776]
    005a7cf4str x3, [sp+152]
    005a7cf8str x4, [sp+160]
    005a7cfcldr x0, [sp+168]
    005a7d00ldr x1, [sp+176]
    005a7d04ldr x2, [sp+184]
    005a7d08ldp x29, x30, [sp-8]
    005a7d0cadd sp, sp, 368
    005a7d10ret x30
    005a7d14
    005a7d14loc_5a7d14:
    005a7d14adrp x0, 0x4e000
    005a7d18add x0, x0, 3072
    005a7d1cmov x1, x3
    005a7d20mov x2, x1
    005a7d24bl runtime.makeslice
    005a7d28ldr x2, [sp+104]
    005a7d2cldr x3, [sp+104]
    005a7d30str x0, [sp+216]
    005a7d34str x3, [sp+224]
    005a7d38str x2, [sp+232]
    005a7d3cldr x3, [sp+80]
    005a7d40ldr x4, [sp+104]
    005a7d44ldr x5, [sp+96]
    005a7d48add x3, x3, x5
    005a7d4csub x3, x4, x3
    005a7d50sub x4, x3, 2
    005a7d54str x4, [sp+88]
    005a7d58ldr x4, [sp+80]
    005a7d5cadd x3, x3, x4
    005a7d60sub x1, x3, 1
    005a7d64str x1, [sp+144]
    005a7d68ldr x3, [sp+216]
    005a7d6csubs xzr, x2, x1
    005a7d70b.hs 0x5a7d78
    005a7d74b 0x5a80c0
    005a7d78
    005a7d78loc_5a7d78:
    005a7d78b 0x5a7d7c
    005a7d7c
    005a7d7cloc_5a7d7c:
    005a7d7cstr x3, [sp+240]
    005a7d80str x1, [sp+248]
    005a7d84str x2, [sp+256]
    005a7d88ldr x3, [sp+88]
    005a7d8cldr x4, [sp+80]
    005a7d90add x3, x3, x4
    005a7d94add x0, x3, 1
    005a7d98str x0, [sp+144]
    005a7d9cldr x4, [sp+104]
    005a7da0sub x1, x4, 1
    005a7da4str x1, [sp+136]
    005a7da8ldr x2, [sp+232]
    005a7dacldr x5, [sp+216]
    005a7db0subs xzr, x2, x1
    005a7db4b.hs 0x5a7dbc
    005a7db8b 0x5a80bc
    005a7dbc
    005a7dbcloc_5a7dbc:
    005a7dbcsubs xzr, x1, x0
    005a7dc0b.hs 0x5a7dc8
    005a7dc4b 0x5a80b8
    005a7dc8
    005a7dc8loc_5a7dc8:
    005a7dc8sub x1, x2, x3
    005a7dccsub x2, x4, x3
    005a7dd0sub x1, x1, 1
    005a7dd4sub x3, xzr, x1
    005a7dd8and x3, x0, x3, asr #63
    005a7ddcadd x3, x5, x3
    005a7de0str x3, [sp+192]
    005a7de4sub x2, x2, 2
    005a7de8str x2, [sp+200]
    005a7decstr x1, [sp+208]
    005a7df0adrp x0, 0x57000
    005a7df4add x0, x0, 1600
    005a7df8bl runtime.newobject
    005a7dfcstr x0, [sp+352]
    005a7e00str xzr, [x0]
    005a7e04ldr x1, [sp+432]
    005a7e08ldrsb x27, [x1]
    005a7e0cldr x1, [x1+32]
    005a7e10ldr x0, [sp+440]
    005a7e14blr x1
    005a7e18ldr x1, [sp+352]
    005a7e1cldrsb x27, [x1]
    005a7e20b 0x5a7e24
    005a7e24
    005a7e24loc_5a7e24:
    005a7e24str x1, [sp+312]
    005a7e28orr x3, xzr, 8
    005a7e2cstr x3, [sp+320]
    005a7e30str x3, [sp+328]
    005a7e34ldr x4, [sp+432]
    005a7e38ldrsb x27, [x4]
    005a7e3cldr x0, [sp+440]
    005a7e40ldr x4, [x4+56]
    005a7e44mov x2, x3
    005a7e48blr x4
    005a7e4cldr x2, [sp+384]
    005a7e50ldr x3, [sp+392]
    005a7e54ldr x4, [sp+432]
    005a7e58ldrsb x27, [x4]
    005a7e5cldr x4, [x4+56]
    005a7e60ldr x1, [sp+376]
    005a7e64ldr x0, [sp+440]
    005a7e68blr x4
    005a7e6cldr x2, [sp+416]
    005a7e70ldr x3, [sp+424]
    005a7e74ldr x4, [sp+432]
    005a7e78ldrsb x27, [x4]
    005a7e7cldr x4, [x4+56]
    005a7e80ldr x1, [sp+408]
    005a7e84ldr x0, [sp+440]
    005a7e88blr x4
    005a7e8cldr x1, [sp+192]
    005a7e90ldr x3, [sp+208]
    005a7e94b 0x5a7e98
    005a7e98
    005a7e98loc_5a7e98:
    005a7e98b 0x5a7e9c
    005a7e9c
    005a7e9cloc_5a7e9c:
    005a7e9cstr x1, [sp+312]
    005a7ea0str xzr, [sp+320]
    005a7ea4str x3, [sp+328]
    005a7ea8ldr x4, [sp+432]
    005a7eacldrsb x27, [x4]
    005a7eb0ldr x0, [sp+440]
    005a7eb4ldr x4, [x4+48]
    005a7eb8mov x2, xzr
    005a7ebcblr x4
    005a7ec0str x0, [sp+192]
    005a7ec4str x1, [sp+200]
    005a7ec8str x2, [sp+208]
    005a7eccldr x0, [sp+88]
    005a7ed0ldr x1, [sp+248]
    005a7ed4ldr x4, [sp+240]
    005a7ed8subs xzr, x1, x0
    005a7edcb.hi 0x5a7ee4
    005a7ee0b 0x5a80b4
    005a7ee4
    005a7ee4loc_5a7ee4:
    005a7ee4orr x8, xzr, 1
    005a7ee8strb w8, [x4+x0]
    005a7eecldr x8, [sp+88]
    005a7ef0add x0, x8, 1
    005a7ef4str x0, [sp+136]
    005a7ef8ldr x1, [sp+248]
    005a7efcldr x9, [sp+240]
    005a7f00ldr x10, [sp+256]
    005a7f04b 0x5a7f08
    005a7f08
    005a7f08loc_5a7f08:
    005a7f08subs xzr, x1, x0
    005a7f0cb.hs 0x5a7f14
    005a7f10b 0x5a80b0
    005a7f14
    005a7f14loc_5a7f14:
    005a7f14sub x11, x1, x8
    005a7f18sub x8, x10, x8
    005a7f1csub x8, x8, 1
    005a7f20sub x10, x11, 1
    005a7f24sub x11, xzr, x8
    005a7f28and x11, x0, x11, asr #63
    005a7f2cadd x9, x9, x11
    005a7f30str x9, [sp+312]
    005a7f34str x10, [sp+320]
    005a7f38str x8, [sp+328]
    005a7f3cstr x9, [sp+288]
    005a7f40str x10, [sp+296]
    005a7f44str x8, [sp+304]
    005a7f48ldr x8, [sp+416]
    005a7f4cldr x9, [sp+408]
    005a7f50ldr x10, [sp+424]
    005a7f54str x9, [sp+264]
    005a7f58str x8, [sp+272]
    005a7f5cstr x10, [sp+280]
    005a7f60ldr x9, [sp+296]
    005a7f64str x9, [sp+128]
    005a7f68subs xzr, x9, x8
    005a7f6cb.gt 0x5a7f74
    005a7f70b 0x5a7f7c
    005a7f74
    005a7f74loc_5a7f74:
    005a7f74str x8, [sp+128]
    005a7f78b 0x5a7f80
    005a7f7c
    005a7f7cloc_5a7f7c:
    005a7f7cb 0x5a7f80
    005a7f80
    005a7f80loc_5a7f80:
    005a7f80ldr x8, [sp+264]
    005a7f84ldr x9, [sp+288]
    005a7f88subs xzr, x8, x9
    005a7f8cb.ne 0x5a7f94
    005a7f90b 0x5a7fb0
    005a7f94
    005a7f94loc_5a7f94:
    005a7f94ldr x3, [sp+128]
    005a7f98str x3, [sp+120]
    005a7f9cldr x2, [sp+120]
    005a7fa0ldr x1, [sp+264]
    005a7fa4ldr x0, [sp+288]
    005a7fa8bl runtime.memmove
    005a7facb 0x5a7fb4
    005a7fb0
    005a7fb0loc_5a7fb0:
    005a7fb0b 0x5a7fb4
    005a7fb4
    005a7fb4loc_5a7fb4:
    005a7fb4ldr x3, [sp+432]
    005a7fb8ldr x0, [sp+240]
    005a7fbcldr x5, [sp+192]
    005a7fc0ldr x1, [sp+248]
    005a7fc4ldr x6, [sp+200]
    005a7fc8ldr x4, [sp+440]
    005a7fccldr x2, [sp+256]
    005a7fd0ldr x7, [sp+208]
    005a7fd4bl crypto/internal/fips140/rsa.mgf1XOR
    005a7fd8ldr x1, [sp+248]
    005a7fdcldr x8, [sp+240]
    005a7fe0subs xzr, x1, 0
    005a7fe4b.hi 0x5a7fec
    005a7fe8b 0x5a80a8
    005a7fec
    005a7fecloc_5a7fec:
    005a7fecldrb w5, [x8]
    005a7ff0ldr x6, [sp+104]
    005a7ff4ubfm x6, x6, 61, 60
    005a7ff8ldr x7, [sp+400]
    005a7ffcsub x6, x6, x7
    005a8000tbz x6, 63, 0x5a8008
    005a8004b 0x5a80a4
    005a8008
    005a8008loc_5a8008:
    005a8008ldr x1, [sp+248]
    005a800cldr x7, [sp+240]
    005a8010orr x8, xzr, 255
    005a8014lsrv x8, x8, x6
    005a8018subs xzr, x6, 64
    005a801ccsel x6, x8, xzr, lo
    005a8020and x5, x5, x6
    005a8024subs xzr, x1, 0
    005a8028b.hi 0x5a8030
    005a802cb 0x5a809c
    005a8030
    005a8030loc_5a8030:
    005a8030strb w5, [x7]
    005a8034ldr x5, [sp+104]
    005a8038sub x0, x5, 1
    005a803cstr x0, [sp+112]
    005a8040ldr x1, [sp+224]
    005a8044ldr x5, [sp+216]
    005a8048subs xzr, x1, x0
    005a804cb.hi 0x5a8054
    005a8050b 0x5a8098
    005a8054
    005a8054loc_5a8054:
    005a8054movn x6, 67
    005a8058strb w6, [x5+x0]
    005a805cldr x5, [sp+216]
    005a8060ldr x6, [sp+224]
    005a8064ldr x7, [sp+232]
    005a8068str x5, [sp+168]
    005a806cstr x6, [sp+176]
    005a8070str x7, [sp+184]
    005a8074stp xzr, xzr, [sp+152]
    005a8078ldr x0, [sp+168]
    005a807cldr x1, [sp+176]
    005a8080ldr x2, [sp+184]
    005a8084mov x3, xzr
    005a8088mov x4, xzr
    005a808cldp x29, x30, [sp-8]
    005a8090add sp, sp, 368
    005a8094ret x30
    005a8098
    005a8098loc_5a8098:
    005a8098bl runtime.panicIndex
    005a809c
    005a809cloc_5a809c:
    005a809cmov x0, xzr
    005a80a0bl runtime.panicIndex
    005a80a4
    005a80a4loc_5a80a4:
    005a80a4bl runtime.panicshift
    005a80a8
    005a80a8loc_5a80a8:
    005a80a8mov x0, xzr
    005a80acbl runtime.panicIndex
    005a80b0
    005a80b0loc_5a80b0:
    005a80b0bl runtime.panicSliceB
    005a80b4
    005a80b4loc_5a80b4:
    005a80b4bl runtime.panicIndex
    005a80b8
    005a80b8loc_5a80b8:
    005a80b8bl runtime.panicSliceB
    005a80bc
    005a80bcloc_5a80bc:
    005a80bcbl runtime.panicSliceAcap
    005a80c0
    005a80c0loc_5a80c0:
    005a80c0bl runtime.panicSliceAcap
    005a80c4hint
    005a80c8
    005a80c8loc_5a80c8:
    005a80c8stp x0, x1, [sp+8]
    005a80ccstp x2, x3, [sp+24]
    005a80d0stp x4, x5, [sp+40]
    005a80d4stp x6, x7, [sp+56]
    005a80d8str x8, [sp+72]
    005a80dcmov x3, x30
    005a80e0bl runtime.morestack_noctxt.abi0
    005a80e4ldp x0, x1, [sp+8]
    005a80e8ldp x2, x3, [sp+24]
    005a80ecldp x4, x5, [sp+40]
    005a80f0ldp x6, x7, [sp+56]
    005a80f4ldr x8, [sp+72]
    005a80f8b 0x5a7be0
    005a80fcudf 0
    005a7be0
    005a8100
    005a8100crypto/internal/fips140/rsa.emsaPSSVerify: ; void crypto/internal/fips140/rsa.emsaPSSVerify(struct []uint8 mHash, struct []uint8 em, int emBits, int sLen, crypto/internal/fips140.Hash hash)
    005a8100ldr x16, [x28+16]
    005a8104sub x17, sp, 208
    005a8108subs xzr, x17, x16
    005a810cb.ls 0x5a8740
    005a8110sub x20, sp, 336
    005a8114stp x29, x30, [x20-8]
    005a8118add sp, x20, 0
    005a811csub x29, sp, 8
    005a8120str x0, [sp+344]
    005a8124str x1, [sp+352]
    005a8128str x2, [sp+360]
    005a812cstr x3, [sp+368]
    005a8130str x4, [sp+376]
    005a8134str x5, [sp+384]
    005a8138str x6, [sp+392]
    005a813cstr x7, [sp+400]
    005a8140str x8, [sp+408]
    005a8144str x9, [sp+416]
    005a8148stp xzr, xzr, [sp+144]
    005a814cldr x1, [sp+408]
    005a8150ldrsb x27, [x1]
    005a8154ldr x1, [x1+40]
    005a8158ldr x0, [sp+416]
    005a815cblr x1
    005a8160str x0, [sp+96]
    005a8164ldr x1, [sp+392]
    005a8168add x2, x1, 7
    005a816csbfm x2, x2, 63, 63
    005a8170add x1, x1, x2, lsr #61
    005a8174add x1, x1, 7
    005a8178sbfm x2, x1, 3, 63
    005a817cstr x2, [sp+104]
    005a8180ldr x3, [sp+376]
    005a8184str x3, [sp+136]
    005a8188subs xzr, x3, x1, asr #3
    005a818cb.ne 0x5a8194
    005a8190b 0x5a81c0
    005a8194
    005a8194loc_5a8194:
    005a8194adrp x0, 0x11c000
    005a8198add x0, x0, 2299
    005a819cmovz x1, 40
    005a81a0bl errors.New
    005a81a4str x0, [sp+304]
    005a81a8str x1, [sp+312]
    005a81acstr x0, [sp+144]
    005a81b0str x1, [sp+152]
    005a81b4ldp x29, x30, [sp-8]
    005a81b8add sp, sp, 336
    005a81bcret x30
    005a81c0
    005a81c0loc_5a81c0:
    005a81c0ldr x8, [sp+352]
    005a81c4str x8, [sp+136]
    005a81c8subs xzr, x0, x8
    005a81ccb.ne 0x5a81d4
    005a81d0b 0x5a81f8
    005a81d4
    005a81d4loc_5a81d4:
    005a81d4adrp x27, 0x47a000
    005a81d8ldr x0, [x27+800]
    005a81dcadrp x27, 0x47a000
    005a81e0ldr x1, [x27+808]
    005a81e4str x0, [sp+144]
    005a81e8str x1, [sp+152]
    005a81ecldp x29, x30, [sp-8]
    005a81f0add sp, sp, 336
    005a81f4ret x30
    005a81f8
    005a81f8loc_5a81f8:
    005a81f8ldr x8, [sp+400]
    005a81fcadd x8, x0, x8
    005a8200add x8, x8, 2
    005a8204subs xzr, x8, x1, asr #3
    005a8208b.gt 0x5a8210
    005a820cb 0x5a8234
    005a8210
    005a8210loc_5a8210:
    005a8210adrp x27, 0x47a000
    005a8214ldr x0, [x27+800]
    005a8218adrp x27, 0x47a000
    005a821cldr x1, [x27+808]
    005a8220str x0, [sp+144]
    005a8224str x1, [sp+152]
    005a8228ldp x29, x30, [sp-8]
    005a822cadd sp, sp, 336
    005a8230ret x30
    005a8234
    005a8234loc_5a8234:
    005a8234ldr x1, [sp+376]
    005a8238ldr x8, [sp+368]
    005a823csub x9, x2, 1
    005a8240subs xzr, x1, x9
    005a8244b.hi 0x5a824c
    005a8248b 0x5a8734
    005a824c
    005a824cloc_5a824c:
    005a824cldrb w8, [x8+x9]
    005a8250subs wzr, w8, 188
    005a8254b.ne 0x5a825c
    005a8258b 0x5a8280
    005a825c
    005a825cloc_5a825c:
    005a825cadrp x27, 0x47a000
    005a8260ldr x0, [x27+800]
    005a8264adrp x27, 0x47a000
    005a8268ldr x1, [x27+808]
    005a826cstr x0, [sp+144]
    005a8270str x1, [sp+152]
    005a8274ldp x29, x30, [sp-8]
    005a8278add sp, sp, 336
    005a827cret x30
    005a8280
    005a8280loc_5a8280:
    005a8280sub x8, x2, x0
    005a8284sub x1, x8, 1
    005a8288str x1, [sp+136]
    005a828cldr x2, [sp+384]
    005a8290ldr x8, [sp+368]
    005a8294subs xzr, x2, x1
    005a8298b.hs 0x5a82a0
    005a829cb 0x5a8730
    005a82a0
    005a82a0loc_5a82a0:
    005a82a0b 0x5a82a4
    005a82a4
    005a82a4loc_5a82a4:
    005a82a4str x8, [sp+232]
    005a82a8str x1, [sp+240]
    005a82acstr x2, [sp+248]
    005a82b0ldr x8, [sp+96]
    005a82b4ldr x9, [sp+104]
    005a82b8sub x10, x9, x8
    005a82bcsub x0, x10, 1
    005a82c0str x0, [sp+136]
    005a82c4ldr x10, [sp+104]
    005a82c8sub x1, x10, 1
    005a82ccstr x1, [sp+128]
    005a82d0ldr x2, [sp+384]
    005a82d4ldr x11, [sp+368]
    005a82d8subs xzr, x2, x1
    005a82dcb.hs 0x5a82e4
    005a82e0b 0x5a872c
    005a82e4
    005a82e4loc_5a82e4:
    005a82e4subs xzr, x1, x0
    005a82e8b.hs 0x5a82f0
    005a82ecb 0x5a8728
    005a82f0
    005a82f0loc_5a82f0:
    005a82f0add x10, x10, x8
    005a82f4sub x10, x10, x9
    005a82f8add x8, x2, x8
    005a82fcsub x8, x8, x9
    005a8300add x8, x8, 1
    005a8304sub x9, xzr, x8
    005a8308and x9, x0, x9, asr #63
    005a830cadd x9, x11, x9
    005a8310str x9, [sp+208]
    005a8314str x10, [sp+216]
    005a8318str x8, [sp+224]
    005a831cldr x8, [sp+104]
    005a8320ubfm x8, x8, 61, 60
    005a8324ldr x9, [sp+392]
    005a8328sub x8, x8, x9
    005a832ctbz x8, 63, 0x5a8334
    005a8330b 0x5a8724
    005a8334
    005a8334loc_5a8334:
    005a8334orr x9, xzr, 255
    005a8338lsrv x9, x9, x8
    005a833csubs xzr, x8, 64
    005a8340csel x8, x9, xzr, lo
    005a8344strb w8, [sp+78]
    005a8348ldr x1, [sp+376]
    005a834cldr x9, [sp+368]
    005a8350subs xzr, x1, 0
    005a8354b.hi 0x5a835c
    005a8358b 0x5a871c
    005a835c
    005a835cloc_5a835c:
    005a835cldrb w9, [x9]
    005a8360bic x8, x9, x8
    005a8364ubfm x8, x8, 0, 7
    005a8368cbnz w8, 0x5a8370
    005a836cb 0x5a8394
    005a8370
    005a8370loc_5a8370:
    005a8370adrp x27, 0x47a000
    005a8374ldr x0, [x27+800]
    005a8378adrp x27, 0x47a000
    005a837cldr x1, [x27+808]
    005a8380str x0, [sp+144]
    005a8384str x1, [sp+152]
    005a8388ldp x29, x30, [sp-8]
    005a838cadd sp, sp, 336
    005a8390ret x30
    005a8394
    005a8394loc_5a8394:
    005a8394ldr x3, [sp+408]
    005a8398ldr x0, [sp+232]
    005a839cldr x5, [sp+208]
    005a83a0ldr x1, [sp+240]
    005a83a4ldr x6, [sp+216]
    005a83a8ldr x4, [sp+416]
    005a83acldr x2, [sp+248]
    005a83b0ldr x7, [sp+224]
    005a83b4bl crypto/internal/fips140/rsa.mgf1XOR
    005a83b8ldr x1, [sp+240]
    005a83bcldr x8, [sp+232]
    005a83c0subs xzr, x1, 0
    005a83c4b.hi 0x5a83cc
    005a83c8b 0x5a8714
    005a83cc
    005a83ccloc_5a83cc:
    005a83ccldr x1, [sp+240]
    005a83d0ldrb w4, [x8]
    005a83d4ldr x5, [sp+232]
    005a83d8ldrb w6, [sp+78]
    005a83dcand x4, x4, x6
    005a83e0subs xzr, x1, 0
    005a83e4b.hi 0x5a83ec
    005a83e8b 0x5a870c
    005a83ec
    005a83ecloc_5a83ec:
    005a83ecstrb w4, [x5]
    005a83f0ldr x4, [sp+400]
    005a83f4adds xzr, x4, 1
    005a83f8b.eq 0x5a8400
    005a83fcb 0x5a845c
    005a8400
    005a8400loc_5a8400:
    005a8400ldr x0, [sp+232]
    005a8404ldr x1, [sp+240]
    005a8408ldr x2, [sp+248]
    005a840corr x3, xzr, 1
    005a8410bl bytes.IndexByte
    005a8414str x0, [sp+88]
    005a8418tbnz x0, 63, 0x5a8420
    005a841cb 0x5a8444
    005a8420
    005a8420loc_5a8420:
    005a8420adrp x27, 0x47a000
    005a8424ldr x0, [x27+800]
    005a8428adrp x27, 0x47a000
    005a842cldr x1, [x27+808]
    005a8430str x0, [sp+144]
    005a8434str x1, [sp+152]
    005a8438ldp x29, x30, [sp-8]
    005a843cadd sp, sp, 336
    005a8440ret x30
    005a8444
    005a8444loc_5a8444:
    005a8444ldr x3, [sp+240]
    005a8448str x3, [sp+128]
    005a844csub x3, x3, x0
    005a8450sub x3, x3, 1
    005a8454str x3, [sp+400]
    005a8458b 0x5a8460
    005a845c
    005a845cloc_5a845c:
    005a845cb 0x5a8460
    005a8460
    005a8460loc_5a8460:
    005a8460ldr x3, [sp+96]
    005a8464ldr x4, [sp+400]
    005a8468subs xzr, x3, x4
    005a846cb.lt 0x5a8474
    005a8470b 0x5a847c
    005a8474
    005a8474loc_5a8474:
    005a8474bl crypto/internal/fips140.RecordNonApproved
    005a8478b 0x5a8480
    005a847c
    005a847cloc_5a847c:
    005a847cb 0x5a8480
    005a8480
    005a8480loc_5a8480:
    005a8480ldr x3, [sp+96]
    005a8484ldr x4, [sp+104]
    005a8488ldr x5, [sp+400]
    005a848cadd x3, x3, x5
    005a8490sub x3, x4, x3
    005a8494sub x1, x3, 2
    005a8498str x1, [sp+80]
    005a849cldr x2, [sp+248]
    005a84a0ldr x3, [sp+232]
    005a84a4subs xzr, x2, x1
    005a84a8b.hs 0x5a84b0
    005a84acb 0x5a8708
    005a84b0
    005a84b0loc_5a84b0:
    005a84b0b 0x5a84b4
    005a84b4
    005a84b4loc_5a84b4:
    005a84b4str x3, [sp+280]
    005a84b8str x1, [sp+288]
    005a84bcstr x2, [sp+296]
    005a84c0str x3, [sp+256]
    005a84c4str x1, [sp+264]
    005a84c8str x2, [sp+272]
    005a84ccstr xzr, [sp+120]
    005a84d0str x1, [sp+112]
    005a84d4b 0x5a84d8
    005a84d8
    005a84d8loc_5a84d8:
    005a84d8ldr x2, [sp+112]
    005a84dcldr x3, [sp+120]
    005a84e0subs xzr, x2, x3
    005a84e4b.gt 0x5a84ec
    005a84e8b 0x5a853c
    005a84ec
    005a84ecloc_5a84ec:
    005a84ecldr x2, [sp+120]
    005a84f0ldr x3, [sp+256]
    005a84f4ldrb w2, [x3+x2]
    005a84f8strb w2, [sp+77]
    005a84fccbnz w2, 0x5a8504
    005a8500b 0x5a8528
    005a8504
    005a8504loc_5a8504:
    005a8504adrp x27, 0x47a000
    005a8508ldr x0, [x27+800]
    005a850cadrp x27, 0x47a000
    005a8510ldr x1, [x27+808]
    005a8514str x0, [sp+144]
    005a8518str x1, [sp+152]
    005a851cldp x29, x30, [sp-8]
    005a8520add sp, sp, 336
    005a8524ret x30
    005a8528
    005a8528loc_5a8528:
    005a8528b 0x5a852c
    005a852c
    005a852cloc_5a852c:
    005a852cldr x2, [sp+120]
    005a8530add x2, x2, 1
    005a8534str x2, [sp+120]
    005a8538b 0x5a84d8
    005a853c
    005a853cloc_5a853c:
    005a853cldr x0, [sp+80]
    005a8540ldr x1, [sp+240]
    005a8544ldr x2, [sp+232]
    005a8548subs xzr, x1, x0
    005a854cb.hi 0x5a8554
    005a8550b 0x5a8704
    005a8554
    005a8554loc_5a8554:
    005a8554ldrb w2, [x2+x0]
    005a8558subs wzr, w2, 1
    005a855cb.ne 0x5a8564
    005a8560b 0x5a8588
    005a8564
    005a8564loc_5a8564:
    005a8564adrp x27, 0x47a000
    005a8568ldr x0, [x27+800]
    005a856cadrp x27, 0x47a000
    005a8570ldr x1, [x27+808]
    005a8574str x0, [sp+144]
    005a8578str x1, [sp+152]
    005a857cldp x29, x30, [sp-8]
    005a8580add sp, sp, 336
    005a8584ret x30
    005a8588
    005a8588loc_5a8588:
    005a8588ldr x2, [sp+240]
    005a858cstr x2, [sp+128]
    005a8590ldr x3, [sp+400]
    005a8594sub x0, x2, x3
    005a8598str x0, [sp+136]
    005a859cldr x1, [sp+240]
    005a85a0ldr x4, [sp+248]
    005a85a4ldr x5, [sp+232]
    005a85a8b 0x5a85ac
    005a85ac
    005a85acloc_5a85ac:
    005a85acsubs xzr, x1, x0
    005a85b0b.hs 0x5a85b8
    005a85b4b 0x5a8700
    005a85b8
    005a85b8loc_5a85b8:
    005a85b8add x4, x4, x3
    005a85bcsub x4, x4, x2
    005a85c0add x1, x1, x3
    005a85c4sub x1, x1, x2
    005a85c8sub x2, xzr, x4
    005a85ccand x2, x0, x2, asr #63
    005a85d0add x2, x5, x2
    005a85d4str x2, [sp+160]
    005a85d8str x1, [sp+168]
    005a85dcstr x4, [sp+176]
    005a85e0ldr x1, [sp+408]
    005a85e4ldrsb x27, [x1]
    005a85e8ldr x1, [x1+32]
    005a85ecldr x0, [sp+416]
    005a85f0blr x1
    005a85f4adrp x0, 0x56000
    005a85f8add x0, x0, 1600
    005a85fcbl runtime.newobject
    005a8600str x0, [sp+320]
    005a8604str xzr, [x0]
    005a8608ldr x1, [sp+320]
    005a860cldrsb x27, [x1]
    005a8610b 0x5a8614
    005a8614
    005a8614loc_5a8614:
    005a8614str x1, [sp+256]
    005a8618orr x3, xzr, 8
    005a861cstr x3, [sp+264]
    005a8620str x3, [sp+272]
    005a8624ldr x4, [sp+408]
    005a8628ldrsb x27, [x4]
    005a862cldr x0, [sp+416]
    005a8630ldr x4, [x4+56]
    005a8634mov x2, x3
    005a8638blr x4
    005a863cldr x2, [sp+352]
    005a8640ldr x3, [sp+360]
    005a8644ldr x4, [sp+408]
    005a8648ldrsb x27, [x4]
    005a864cldr x4, [x4+56]
    005a8650ldr x1, [sp+344]
    005a8654ldr x0, [sp+416]
    005a8658blr x4
    005a865cldr x2, [sp+168]
    005a8660ldr x3, [sp+176]
    005a8664ldr x4, [sp+408]
    005a8668ldrsb x27, [x4]
    005a866cldr x4, [x4+56]
    005a8670ldr x1, [sp+160]
    005a8674ldr x0, [sp+416]
    005a8678blr x4
    005a867cldr x4, [sp+408]
    005a8680ldrsb x27, [x4]
    005a8684ldr x4, [x4+48]
    005a8688ldr x0, [sp+416]
    005a868cmov x1, xzr
    005a8690mov x2, xzr
    005a8694mov x3, x2
    005a8698blr x4
    005a869cstr x0, [sp+184]
    005a86a0str x1, [sp+192]
    005a86a4str x2, [sp+200]
    005a86a8ldr x4, [sp+216]
    005a86acldr x5, [sp+224]
    005a86b0ldr x3, [sp+208]
    005a86b4bl bytes.Equal
    005a86b8strb w0, [sp+79]
    005a86bctbnz w0, 0, 0x5a86c4
    005a86c0b 0x5a86dc
    005a86c4
    005a86c4loc_5a86c4:
    005a86c4stp xzr, xzr, [sp+144]
    005a86c8mov x0, xzr
    005a86ccmov x1, xzr
    005a86d0ldp x29, x30, [sp-8]
    005a86d4add sp, sp, 336
    005a86d8ret x30
    005a86dc
    005a86dcloc_5a86dc:
    005a86dcadrp x27, 0x47a000
    005a86e0ldr x0, [x27+800]
    005a86e4adrp x27, 0x47a000
    005a86e8ldr x1, [x27+808]
    005a86ecstr x0, [sp+144]
    005a86f0str x1, [sp+152]
    005a86f4ldp x29, x30, [sp-8]
    005a86f8add sp, sp, 336
    005a86fcret x30
    005a8700
    005a8700loc_5a8700:
    005a8700bl runtime.panicSliceB
    005a8704
    005a8704loc_5a8704:
    005a8704bl runtime.panicIndex
    005a8708
    005a8708loc_5a8708:
    005a8708bl runtime.panicSliceAcap
    005a870c
    005a870cloc_5a870c:
    005a870cmov x0, xzr
    005a8710bl runtime.panicIndex
    005a8714
    005a8714loc_5a8714:
    005a8714mov x0, xzr
    005a8718bl runtime.panicIndex
    005a871c
    005a871cloc_5a871c:
    005a871cmov x0, xzr
    005a8720bl runtime.panicIndex
    005a8724
    005a8724loc_5a8724:
    005a8724bl runtime.panicshift
    005a8728
    005a8728loc_5a8728:
    005a8728bl runtime.panicSliceB
    005a872c
    005a872cloc_5a872c:
    005a872cbl runtime.panicSliceAcap
    005a8730
    005a8730loc_5a8730:
    005a8730bl runtime.panicSliceAcap
    005a8734
    005a8734loc_5a8734:
    005a8734mov x0, x9
    005a8738bl runtime.panicIndex
    005a873chint
    005a8740
    005a8740loc_5a8740:
    005a8740stp x0, x1, [sp+8]
    005a8744stp x2, x3, [sp+24]
    005a8748stp x4, x5, [sp+40]
    005a874cstp x6, x7, [sp+56]
    005a8750stp x8, x9, [sp+72]
    005a8754mov x3, x30
    005a8758bl runtime.morestack_noctxt.abi0
    005a875cldp x0, x1, [sp+8]
    005a8760ldp x2, x3, [sp+24]
    005a8764ldp x4, x5, [sp+40]
    005a8768ldp x6, x7, [sp+56]
    005a876cldp x8, x9, [sp+72]
    005a8770b 0x5a8100
    005a8774udf 0
    005a8778udf 0
    005a877cudf 0
    005a8100
    005a8780
    005a8780crypto/internal/fips140/rsa.PSSMaxSaltLength: ; void crypto/internal/fips140/rsa.PSSMaxSaltLength(crypto/internal/fips140/rsa.PublicKey * pub, crypto/internal/fips140.Hash hash)
    005a8780ldr x16, [x28+16]
    005a8784subs xzr, sp, x16
    005a8788b.ls 0x5a88e0
    005a878cstr x30, [sp-96]!
    005a8790stur x29, [sp-8]
    005a8794sub x29, sp, 8
    005a8798str x0, [sp+104]
    005a879cstr x1, [sp+112]
    005a87a0str x2, [sp+120]
    005a87a4str xzr, [sp+32]
    005a87a8stp xzr, xzr, [sp+64]
    005a87acldr x1, [sp+104]
    005a87b0ldrsb x27, [x1]
    005a87b4ldr x0, [x1]
    005a87b8str x0, [sp+80]
    005a87bcbl crypto/internal/fips140/bigmod.(*Modulus).BitLen
    005a87c0str x0, [sp+56]
    005a87c4ldr x1, [sp+112]
    005a87c8ldrsb x27, [x1]
    005a87ccldr x0, [sp+120]
    005a87d0ldr x1, [x1+40]
    005a87d4blr x1
    005a87d8str x0, [sp+48]
    005a87dcldr x1, [sp+56]
    005a87e0add x2, x1, 6
    005a87e4sbfm x2, x2, 63, 63
    005a87e8add x1, x1, x2, lsr #61
    005a87ecadd x1, x1, 6
    005a87f0sbfm x1, x1, 3, 63
    005a87f4sub x1, x1, x0
    005a87f8sub x1, x1, 2
    005a87fcstr x1, [sp+40]
    005a8800tbnz x1, 63, 0x5a8808
    005a8804b 0x5a8834
    005a8808
    005a8808loc_5a8808:
    005a8808str xzr, [sp+32]
    005a880cadrp x27, 0x47a000
    005a8810ldr x1, [x27+768]
    005a8814adrp x27, 0x47a000
    005a8818ldr x2, [x27+776]
    005a881cstr x1, [sp+64]
    005a8820str x2, [sp+72]
    005a8824ldr x0, [sp+32]
    005a8828ldur x29, [sp-8]
    005a882cldr x30, [sp], 96
    005a8830ret x30
    005a8834
    005a8834loc_5a8834:
    005a8834adrp x27, 0x4a3000
    005a8838ldrb w3, [x27+1548]
    005a883cstrb w3, [sp+31]
    005a8840tbnz w3, 0, 0x5a8848
    005a8844b 0x5a8874
    005a8848
    005a8848loc_5a8848:
    005a8848ldr x1, [sp+112]
    005a884cldrsb x27, [x1]
    005a8850ldr x0, [sp+120]
    005a8854ldr x1, [x1+40]
    005a8858blr x1
    005a885cstr x0, [sp+48]
    005a8860ldr x1, [sp+40]
    005a8864subs xzr, x0, x1
    005a8868cset x1, lt
    005a886cstrb w1, [sp+31]
    005a8870b 0x5a8878
    005a8874
    005a8874loc_5a8874:
    005a8874b 0x5a8878
    005a8878
    005a8878loc_5a8878:
    005a8878ldrb w3, [sp+31]
    005a887ctbnz w3, 0, 0x5a8884
    005a8880b 0x5a88bc
    005a8884
    005a8884loc_5a8884:
    005a8884ldr x1, [sp+112]
    005a8888ldrsb x27, [x1]
    005a888cldr x1, [x1+40]
    005a8890ldr x0, [sp+120]
    005a8894blr x1
    005a8898str x0, [sp+48]
    005a889cstr x0, [sp+32]
    005a88a0stp xzr, xzr, [sp+64]
    005a88a4ldr x0, [sp+32]
    005a88a8mov x1, xzr
    005a88acmov x2, xzr
    005a88b0ldur x29, [sp-8]
    005a88b4ldr x30, [sp], 96
    005a88b8ret x30
    005a88bc
    005a88bcloc_5a88bc:
    005a88bcldr x3, [sp+40]
    005a88c0str x3, [sp+32]
    005a88c4stp xzr, xzr, [sp+64]
    005a88c8ldr x0, [sp+32]
    005a88ccmov x1, xzr
    005a88d0mov x2, xzr
    005a88d4ldur x29, [sp-8]
    005a88d8ldr x30, [sp], 96
    005a88dcret x30
    005a88e0
    005a88e0loc_5a88e0:
    005a88e0stp x0, x1, [sp+8]
    005a88e4str x2, [sp+24]
    005a88e8mov x3, x30
    005a88ecbl runtime.morestack_noctxt.abi0
    005a88f0ldp x0, x1, [sp+8]
    005a88f4ldr x2, [sp+24]
    005a88f8b 0x5a8780
    005a88fcudf 0
    005a8780
    005a8900
    005a8900crypto/internal/fips140/rsa.SignPSS: ; void crypto/internal/fips140/rsa.SignPSS(io.Reader rand, crypto/internal/fips140/rsa.PrivateKey * priv, crypto/internal/fips140.Hash hash, struct []uint8 hashed, int saltLength)
    005a8900ldr x16, [x28+16]
    005a8904sub x17, sp, 352
    005a8908subs xzr, x17, x16
    005a890cb.ls 0x5a8d4c
    005a8910sub x20, sp, 480
    005a8914stp x29, x30, [x20-8]
    005a8918add sp, x20, 0
    005a891csub x29, sp, 8
    005a8920str x0, [sp+488]
    005a8924str x1, [sp+496]
    005a8928str x2, [sp+504]
    005a892cstr x3, [sp+512]
    005a8930str x4, [sp+520]
    005a8934str x5, [sp+528]
    005a8938str x6, [sp+536]
    005a893cstr x7, [sp+544]
    005a8940str x8, [sp+552]
    005a8944str xzr, [sp+160]
    005a8948stp xzr, xzr, [sp+168]
    005a894cstp xzr, xzr, [sp+144]
    005a8950adrp x27, 0x479000
    005a8954ldr x26, [x27+456]
    005a8958ldr x0, [x26]
    005a895cblr x0
    005a8960bl crypto/internal/fips140.RecordApproved
    005a8964ldr x0, [sp+512]
    005a8968ldr x1, [sp+520]
    005a896cbl crypto/internal/fips140/rsa.checkApprovedHash
    005a8970ldr x0, [sp+552]
    005a8974tbnz x0, 63, 0x5a897c
    005a8978b 0x5a89c4
    005a897c
    005a897cloc_5a897c:
    005a897cadrp x0, 0x11d000
    005a8980add x0, x0, 2671
    005a8984movz x1, 42
    005a8988bl errors.New
    005a898cstr x0, [sp+376]
    005a8990str x1, [sp+384]
    005a8994str xzr, [sp+160]
    005a8998stp xzr, xzr, [sp+168]
    005a899cldr x3, [sp+376]
    005a89a0ldr x4, [sp+384]
    005a89a4str x3, [sp+144]
    005a89a8str x4, [sp+152]
    005a89acldr x0, [sp+160]
    005a89b0ldr x1, [sp+168]
    005a89b4ldr x2, [sp+176]
    005a89b8ldp x29, x30, [sp-8]
    005a89bcadd sp, sp, 480
    005a89c0ret x30
    005a89c4
    005a89c4loc_5a89c4:
    005a89c4ldr x1, [sp+512]
    005a89c8ldrsb x27, [x1]
    005a89ccldr x1, [x1+40]
    005a89d0ldr x0, [sp+520]
    005a89d4blr x1
    005a89d8str x0, [sp+136]
    005a89dcldr x1, [sp+552]
    005a89e0subs xzr, x0, x1
    005a89e4b.lt 0x5a89ec
    005a89e8b 0x5a89f4
    005a89ec
    005a89ecloc_5a89ec:
    005a89ecbl crypto/internal/fips140.RecordNonApproved
    005a89f0b 0x5a89f8
    005a89f4
    005a89f4loc_5a89f4:
    005a89f4b 0x5a89f8
    005a89f8
    005a89f8loc_5a89f8:
    005a89f8ldr x2, [sp+552]
    005a89fcldr x1, [sp+552]
    005a8a00adrp x0, 0x4d000
    005a8a04add x0, x0, 3072
    005a8a08bl runtime.makeslice
    005a8a0cldr x3, [sp+552]
    005a8a10ldr x4, [sp+552]
    005a8a14str x0, [sp+184]
    005a8a18str x3, [sp+192]
    005a8a1cstr x4, [sp+200]
    005a8a20ldr x5, [sp+488]
    005a8a24ldr x1, [sp+496]
    005a8a28mov x2, x0
    005a8a2cmov x0, x5
    005a8a30bl crypto/internal/fips140/drbg.ReadWithReaderDeterministic
    005a8a34str x0, [sp+224]
    005a8a38str x1, [sp+232]
    005a8a3ccbnz x0, 0x5a8a44
    005a8a40b 0x5a8a74
    005a8a44
    005a8a44loc_5a8a44:
    005a8a44str xzr, [sp+160]
    005a8a48stp xzr, xzr, [sp+168]
    005a8a4cldr x3, [sp+224]
    005a8a50ldr x4, [sp+232]
    005a8a54str x3, [sp+144]
    005a8a58str x4, [sp+152]
    005a8a5cldr x0, [sp+160]
    005a8a60ldr x1, [sp+168]
    005a8a64ldr x2, [sp+176]
    005a8a68ldp x29, x30, [sp-8]
    005a8a6cadd sp, sp, 480
    005a8a70ret x30
    005a8a74
    005a8a74loc_5a8a74:
    005a8a74ldr x1, [sp+504]
    005a8a78ldrsb x27, [x1]
    005a8a7cldr x0, [x1]
    005a8a80str x0, [sp+344]
    005a8a84bl crypto/internal/fips140/bigmod.(*Modulus).BitLen
    005a8a88str x0, [sp+136]
    005a8a8csub x1, x0, 1
    005a8a90str x1, [sp+104]
    005a8a94str xzr, [sp+352]
    005a8a98stp xzr, xzr, [sp+360]
    005a8a9cstp xzr, xzr, [sp+376]
    005a8aa0ldr x7, [sp+512]
    005a8aa4ldr x5, [sp+192]
    005a8aa8ldr x8, [sp+520]
    005a8aacldr x6, [sp+200]
    005a8ab0ldr x3, [sp+104]
    005a8ab4ldr x0, [sp+528]
    005a8ab8ldr x4, [sp+184]
    005a8abcldr x1, [sp+536]
    005a8ac0ldr x2, [sp+544]
    005a8ac4bl crypto/internal/fips140/rsa.emsaPSSEncode
    005a8ac8str x0, [sp+352]
    005a8accstr x1, [sp+360]
    005a8ad0str x2, [sp+368]
    005a8ad4str x3, [sp+376]
    005a8ad8str x4, [sp+384]
    005a8adcldr x1, [sp+352]
    005a8ae0ldr x2, [sp+360]
    005a8ae4ldr x3, [sp+368]
    005a8ae8str x1, [sp+448]
    005a8aecstr x2, [sp+456]
    005a8af0str x3, [sp+464]
    005a8af4ldr x1, [sp+376]
    005a8af8ldr x2, [sp+384]
    005a8afcstr x1, [sp+432]
    005a8b00str x2, [sp+440]
    005a8b04ldr x1, [sp+448]
    005a8b08ldr x2, [sp+456]
    005a8b0cldr x3, [sp+464]
    005a8b10str x1, [sp+264]
    005a8b14str x2, [sp+272]
    005a8b18str x3, [sp+280]
    005a8b1cldr x1, [sp+440]
    005a8b20ldr x2, [sp+432]
    005a8b24str x2, [sp+208]
    005a8b28str x1, [sp+216]
    005a8b2ccbnz x2, 0x5a8b34
    005a8b30b 0x5a8b64
    005a8b34
    005a8b34loc_5a8b34:
    005a8b34str xzr, [sp+160]
    005a8b38stp xzr, xzr, [sp+168]
    005a8b3cldr x3, [sp+208]
    005a8b40ldr x4, [sp+216]
    005a8b44str x3, [sp+144]
    005a8b48str x4, [sp+152]
    005a8b4cldr x0, [sp+160]
    005a8b50ldr x1, [sp+168]
    005a8b54ldr x2, [sp+176]
    005a8b58ldp x29, x30, [sp-8]
    005a8b5cadd sp, sp, 480
    005a8b60ret x30
    005a8b64
    005a8b64loc_5a8b64:
    005a8b64ldr x1, [sp+272]
    005a8b68str x1, [sp+136]
    005a8b6cldr x0, [sp+504]
    005a8b70ldrsb x27, [x0]
    005a8b74str x0, [sp+336]
    005a8b78bl crypto/internal/fips140/rsa.(*PublicKey).Size
    005a8b7cstr x0, [sp+128]
    005a8b80ldr x1, [sp+136]
    005a8b84str x1, [sp+96]
    005a8b88str x0, [sp+88]
    005a8b8csubs xzr, x0, x1
    005a8b90b.gt 0x5a8b98
    005a8b94b 0x5a8ca0
    005a8b98
    005a8b98loc_5a8b98:
    005a8b98mov x1, x0
    005a8b9cmov x2, x1
    005a8ba0adrp x0, 0x4d000
    005a8ba4add x0, x0, 3072
    005a8ba8bl runtime.makeslice
    005a8bacldr x1, [sp+88]
    005a8bb0ldr x3, [sp+88]
    005a8bb4str x0, [sp+240]
    005a8bb8str x1, [sp+248]
    005a8bbcstr x3, [sp+256]
    005a8bc0ldr x4, [sp+96]
    005a8bc4ldr x5, [sp+88]
    005a8bc8sub x0, x5, x4
    005a8bccstr x0, [sp+128]
    005a8bd0ldr x6, [sp+240]
    005a8bd4b 0x5a8bd8
    005a8bd8
    005a8bd8loc_5a8bd8:
    005a8bd8subs xzr, x1, x0
    005a8bdcb.hs 0x5a8be4
    005a8be0b 0x5a8d44
    005a8be4
    005a8be4loc_5a8be4:
    005a8be4add x7, x3, x4
    005a8be8sub x7, x7, x5
    005a8becadd x8, x1, x4
    005a8bf0sub x5, x8, x5
    005a8bf4sub x8, xzr, x7
    005a8bf8and x8, x0, x8, asr #63
    005a8bfcadd x6, x6, x8
    005a8c00str x6, [sp+352]
    005a8c04str x5, [sp+360]
    005a8c08str x7, [sp+368]
    005a8c0cstr x6, [sp+312]
    005a8c10str x5, [sp+320]
    005a8c14str x7, [sp+328]
    005a8c18ldr x5, [sp+272]
    005a8c1cldr x6, [sp+264]
    005a8c20ldr x7, [sp+280]
    005a8c24str x6, [sp+288]
    005a8c28str x5, [sp+296]
    005a8c2cstr x7, [sp+304]
    005a8c30ldr x6, [sp+320]
    005a8c34str x6, [sp+120]
    005a8c38subs xzr, x6, x5
    005a8c3cb.gt 0x5a8c44
    005a8c40b 0x5a8c4c
    005a8c44
    005a8c44loc_5a8c44:
    005a8c44str x5, [sp+120]
    005a8c48b 0x5a8c50
    005a8c4c
    005a8c4cloc_5a8c4c:
    005a8c4cb 0x5a8c50
    005a8c50
    005a8c50loc_5a8c50:
    005a8c50ldr x5, [sp+288]
    005a8c54ldr x6, [sp+312]
    005a8c58subs xzr, x5, x6
    005a8c5cb.ne 0x5a8c64
    005a8c60b 0x5a8c80
    005a8c64
    005a8c64loc_5a8c64:
    005a8c64ldr x3, [sp+120]
    005a8c68str x3, [sp+112]
    005a8c6cldr x2, [sp+112]
    005a8c70ldr x1, [sp+288]
    005a8c74ldr x0, [sp+312]
    005a8c78bl runtime.memmove
    005a8c7cb 0x5a8c84
    005a8c80
    005a8c80loc_5a8c80:
    005a8c80b 0x5a8c84
    005a8c84
    005a8c84loc_5a8c84:
    005a8c84ldr x5, [sp+240]
    005a8c88ldr x6, [sp+248]
    005a8c8cldr x7, [sp+256]
    005a8c90str x5, [sp+264]
    005a8c94str x6, [sp+272]
    005a8c98str x7, [sp+280]
    005a8c9cb 0x5a8ca4
    005a8ca0
    005a8ca0loc_5a8ca0:
    005a8ca0b 0x5a8ca4
    005a8ca4
    005a8ca4loc_5a8ca4:
    005a8ca4str xzr, [sp+352]
    005a8ca8stp xzr, xzr, [sp+360]
    005a8cacstp xzr, xzr, [sp+376]
    005a8cb0ldr x1, [sp+264]
    005a8cb4ldr x2, [sp+272]
    005a8cb8ldr x3, [sp+280]
    005a8cbcldr x0, [sp+504]
    005a8cc0orr x4, xzr, 1
    005a8cc4bl crypto/internal/fips140/rsa.decrypt
    005a8cc8str x0, [sp+352]
    005a8cccstr x1, [sp+360]
    005a8cd0str x2, [sp+368]
    005a8cd4str x3, [sp+376]
    005a8cd8str x4, [sp+384]
    005a8cdcldr x5, [sp+352]
    005a8ce0ldr x6, [sp+360]
    005a8ce4ldr x7, [sp+368]
    005a8ce8str x5, [sp+408]
    005a8cecstr x6, [sp+416]
    005a8cf0str x7, [sp+424]
    005a8cf4ldr x5, [sp+376]
    005a8cf8ldr x6, [sp+384]
    005a8cfcstr x5, [sp+392]
    005a8d00str x6, [sp+400]
    005a8d04ldr x5, [sp+408]
    005a8d08ldr x6, [sp+416]
    005a8d0cldr x7, [sp+424]
    005a8d10str x5, [sp+160]
    005a8d14str x6, [sp+168]
    005a8d18str x7, [sp+176]
    005a8d1cldr x3, [sp+392]
    005a8d20ldr x4, [sp+400]
    005a8d24str x3, [sp+144]
    005a8d28str x4, [sp+152]
    005a8d2cldr x0, [sp+160]
    005a8d30ldr x1, [sp+168]
    005a8d34ldr x2, [sp+176]
    005a8d38ldp x29, x30, [sp-8]
    005a8d3cadd sp, sp, 480
    005a8d40ret x30
    005a8d44
    005a8d44loc_5a8d44:
    005a8d44bl runtime.panicSliceB
    005a8d48hint
    005a8d4c
    005a8d4cloc_5a8d4c:
    005a8d4cstp x0, x1, [sp+8]
    005a8d50stp x2, x3, [sp+24]
    005a8d54stp x4, x5, [sp+40]
    005a8d58stp x6, x7, [sp+56]
    005a8d5cstr x8, [sp+72]
    005a8d60mov x3, x30
    005a8d64bl runtime.morestack_noctxt.abi0
    005a8d68ldp x0, x1, [sp+8]
    005a8d6cldp x2, x3, [sp+24]
    005a8d70ldp x4, x5, [sp+40]
    005a8d74ldp x6, x7, [sp+56]
    005a8d78ldr x8, [sp+72]
    005a8d7cb 0x5a8900
    005a8900
    005a8d80
    005a8d80crypto/internal/fips140/rsa.VerifyPSS: ; void crypto/internal/fips140/rsa.VerifyPSS(crypto/internal/fips140/rsa.PublicKey * pub, crypto/internal/fips140.Hash hash, struct []uint8 digest, struct []uint8 sig)
    005a8d80ldr x16, [x28+16]
    005a8d84subs xzr, sp, x16
    005a8d88b.ls 0x5a8e08
    005a8d8cstr x30, [sp-128]!
    005a8d90stur x29, [sp-8]
    005a8d94sub x29, sp, 8
    005a8d98str x0, [sp+136]
    005a8d9cstr x1, [sp+144]
    005a8da0str x2, [sp+152]
    005a8da4str x3, [sp+160]
    005a8da8str x4, [sp+168]
    005a8dacstr x5, [sp+176]
    005a8db0str x6, [sp+184]
    005a8db4str x7, [sp+192]
    005a8db8str x8, [sp+200]
    005a8dbcstp xzr, xzr, [sp+88]
    005a8dc0ldr x1, [sp+144]
    005a8dc4ldr x3, [sp+160]
    005a8dc8ldr x6, [sp+184]
    005a8dccldr x4, [sp+168]
    005a8dd0ldr x7, [sp+192]
    005a8dd4ldr x2, [sp+152]
    005a8dd8ldr x5, [sp+176]
    005a8ddcldr x8, [sp+200]
    005a8de0ldr x0, [sp+136]
    005a8de4movn x9, 0
    005a8de8bl crypto/internal/fips140/rsa.verifyPSS
    005a8decstr x0, [sp+104]
    005a8df0str x1, [sp+112]
    005a8df4str x0, [sp+88]
    005a8df8str x1, [sp+96]
    005a8dfcldur x29, [sp-8]
    005a8e00ldr x30, [sp], 128
    005a8e04ret x30
    005a8e08
    005a8e08loc_5a8e08:
    005a8e08stp x0, x1, [sp+8]
    005a8e0cstp x2, x3, [sp+24]
    005a8e10stp x4, x5, [sp+40]
    005a8e14stp x6, x7, [sp+56]
    005a8e18str x8, [sp+72]
    005a8e1cmov x3, x30
    005a8e20bl runtime.morestack_noctxt.abi0
    005a8e24ldp x0, x1, [sp+8]
    005a8e28ldp x2, x3, [sp+24]
    005a8e2cldp x4, x5, [sp+40]
    005a8e30ldp x6, x7, [sp+56]
    005a8e34ldr x8, [sp+72]
    005a8e38b 0x5a8d80
    005a8e3cudf 0
    005a8d80
    005a8e40
    005a8e40crypto/internal/fips140/rsa.VerifyPSSWithSaltLength: ; void crypto/internal/fips140/rsa.VerifyPSSWithSaltLength(crypto/internal/fips140/rsa.PublicKey * pub, crypto/internal/fips140.Hash hash, struct []uint8 digest, struct []uint8 sig, int saltLength)
    005a8e40ldr x16, [x28+16]
    005a8e44subs xzr, sp, x16
    005a8e48b.ls 0x5a8f04
    005a8e4cstr x30, [sp-128]!
    005a8e50stur x29, [sp-8]
    005a8e54sub x29, sp, 8
    005a8e58str x0, [sp+136]
    005a8e5cstr x1, [sp+144]
    005a8e60str x2, [sp+152]
    005a8e64str x3, [sp+160]
    005a8e68str x4, [sp+168]
    005a8e6cstr x5, [sp+176]
    005a8e70str x6, [sp+184]
    005a8e74str x7, [sp+192]
    005a8e78str x8, [sp+200]
    005a8e7cstr x9, [sp+208]
    005a8e80stp xzr, xzr, [sp+88]
    005a8e84ldr x10, [sp+208]
    005a8e88tbnz x10, 63, 0x5a8e90
    005a8e8cb 0x5a8ebc
    005a8e90
    005a8e90loc_5a8e90:
    005a8e90adrp x0, 0x11d000
    005a8e94add x0, x0, 2671
    005a8e98movz x1, 42
    005a8e9cbl errors.New
    005a8ea0str x0, [sp+104]
    005a8ea4str x1, [sp+112]
    005a8ea8str x0, [sp+88]
    005a8eacstr x1, [sp+96]
    005a8eb0ldur x29, [sp-8]
    005a8eb4ldr x30, [sp], 128
    005a8eb8ret x30
    005a8ebc
    005a8ebcloc_5a8ebc:
    005a8ebcldr x9, [sp+208]
    005a8ec0ldr x1, [sp+144]
    005a8ec4ldr x3, [sp+160]
    005a8ec8ldr x6, [sp+184]
    005a8eccldr x4, [sp+168]
    005a8ed0ldr x7, [sp+192]
    005a8ed4ldr x2, [sp+152]
    005a8ed8ldr x5, [sp+176]
    005a8edcldr x8, [sp+200]
    005a8ee0ldr x0, [sp+136]
    005a8ee4bl crypto/internal/fips140/rsa.verifyPSS
    005a8ee8str x0, [sp+104]
    005a8eecstr x1, [sp+112]
    005a8ef0str x0, [sp+88]
    005a8ef4str x1, [sp+96]
    005a8ef8ldur x29, [sp-8]
    005a8efcldr x30, [sp], 128
    005a8f00ret x30
    005a8f04
    005a8f04loc_5a8f04:
    005a8f04stp x0, x1, [sp+8]
    005a8f08stp x2, x3, [sp+24]
    005a8f0cstp x4, x5, [sp+40]
    005a8f10stp x6, x7, [sp+56]
    005a8f14stp x8, x9, [sp+72]
    005a8f18mov x3, x30
    005a8f1cbl runtime.morestack_noctxt.abi0
    005a8f20ldp x0, x1, [sp+8]
    005a8f24ldp x2, x3, [sp+24]
    005a8f28ldp x4, x5, [sp+40]
    005a8f2cldp x6, x7, [sp+56]
    005a8f30ldp x8, x9, [sp+72]
    005a8f34b 0x5a8e40
    005a8f38udf 0
    005a8f3cudf 0
    005a8e40
    005a8f40
    005a8f40crypto/internal/fips140/rsa.verifyPSS: ; void crypto/internal/fips140/rsa.verifyPSS(crypto/internal/fips140/rsa.PublicKey * pub, crypto/internal/fips140.Hash hash, struct []uint8 digest, struct []uint8 sig, int saltLength)
    005a8f40ldr x16, [x28+16]
    005a8f44sub x17, sp, 192
    005a8f48subs xzr, x17, x16
    005a8f4cb.ls 0x5a9290
    005a8f50sub x20, sp, 320
    005a8f54stp x29, x30, [x20-8]
    005a8f58add sp, x20, 0
    005a8f5csub x29, sp, 8
    005a8f60str x0, [sp+328]
    005a8f64str x1, [sp+336]
    005a8f68str x2, [sp+344]
    005a8f6cstr x3, [sp+352]
    005a8f70str x4, [sp+360]
    005a8f74str x5, [sp+368]
    005a8f78str x6, [sp+376]
    005a8f7cstr x7, [sp+384]
    005a8f80str x8, [sp+392]
    005a8f84str x9, [sp+400]
    005a8f88stp xzr, xzr, [sp+136]
    005a8f8cadrp x27, 0x479000
    005a8f90ldr x26, [x27+456]
    005a8f94ldr x0, [x26]
    005a8f98blr x0
    005a8f9cbl crypto/internal/fips140.RecordApproved
    005a8fa0ldr x0, [sp+336]
    005a8fa4ldr x1, [sp+344]
    005a8fa8bl crypto/internal/fips140/rsa.checkApprovedHash
    005a8facstp xzr, xzr, [sp+256]
    005a8fb0ldr x0, [sp+328]
    005a8fb4bl crypto/internal/fips140/rsa.checkPublicKey
    005a8fb8strb w0, [sp+103]
    005a8fbcstr x1, [sp+256]
    005a8fc0str x2, [sp+264]
    005a8fc4ldrb w0, [sp+103]
    005a8fc8strb w0, [sp+102]
    005a8fccldr x0, [sp+256]
    005a8fd0ldr x1, [sp+264]
    005a8fd4str x0, [sp+208]
    005a8fd8str x1, [sp+216]
    005a8fdcldrb w0, [sp+102]
    005a8fe0strb w0, [sp+101]
    005a8fe4ldr x1, [sp+216]
    005a8fe8ldr x0, [sp+208]
    005a8fecstr x0, [sp+168]
    005a8ff0str x1, [sp+176]
    005a8ff4cbnz x0, 0x5a8ffc
    005a8ff8b 0x5a9010
    005a8ffc
    005a8ffcloc_5a8ffc:
    005a8ffcstr x0, [sp+136]
    005a9000str x1, [sp+144]
    005a9004ldp x29, x30, [sp-8]
    005a9008add sp, sp, 320
    005a900cret x30
    005a9010
    005a9010loc_5a9010:
    005a9010ldrb w1, [sp+101]
    005a9014tbnz w1, 0, 0x5a901c
    005a9018b 0x5a9020
    005a901c
    005a901cloc_5a901c:
    005a901cb 0x5a9028
    005a9020
    005a9020loc_5a9020:
    005a9020bl crypto/internal/fips140.RecordNonApproved
    005a9024b 0x5a9028
    005a9028
    005a9028loc_5a9028:
    005a9028b 0x5a902c
    005a902c
    005a902cloc_5a902c:
    005a902cldr x1, [sp+384]
    005a9030str x1, [sp+128]
    005a9034ldr x0, [sp+328]
    005a9038bl crypto/internal/fips140/rsa.(*PublicKey).Size
    005a903cstr x0, [sp+120]
    005a9040ldr x1, [sp+128]
    005a9044subs xzr, x0, x1
    005a9048b.ne 0x5a9050
    005a904cb 0x5a9074
    005a9050
    005a9050loc_5a9050:
    005a9050adrp x27, 0x479000
    005a9054ldr x0, [x27+800]
    005a9058adrp x27, 0x479000
    005a905cldr x1, [x27+808]
    005a9060str x0, [sp+136]
    005a9064str x1, [sp+144]
    005a9068ldp x29, x30, [sp-8]
    005a906cadd sp, sp, 320
    005a9070ret x30
    005a9074
    005a9074loc_5a9074:
    005a9074ldr x1, [sp+328]
    005a9078ldrsb x27, [x1]
    005a907cldr x0, [x1]
    005a9080str x0, [sp+224]
    005a9084bl crypto/internal/fips140/bigmod.(*Modulus).BitLen
    005a9088str x0, [sp+120]
    005a908csub x1, x0, 1
    005a9090str x1, [sp+112]
    005a9094add x1, x0, 6
    005a9098sbfm x1, x1, 63, 63
    005a909cadd x1, x0, x1, lsr #61
    005a90a0add x1, x1, 6
    005a90a4sbfm x1, x1, 3, 63
    005a90a8str x1, [sp+104]
    005a90acstr xzr, [sp+232]
    005a90b0stp xzr, xzr, [sp+240]
    005a90b4stp xzr, xzr, [sp+256]
    005a90b8ldr x1, [sp+376]
    005a90bcldr x2, [sp+384]
    005a90c0ldr x3, [sp+392]
    005a90c4ldr x0, [sp+328]
    005a90c8bl crypto/internal/fips140/rsa.encrypt
    005a90ccstr x0, [sp+232]
    005a90d0str x1, [sp+240]
    005a90d4str x2, [sp+248]
    005a90d8str x3, [sp+256]
    005a90dcstr x4, [sp+264]
    005a90e0ldr x1, [sp+232]
    005a90e4ldr x2, [sp+240]
    005a90e8ldr x3, [sp+248]
    005a90ecstr x1, [sp+288]
    005a90f0str x2, [sp+296]
    005a90f4str x3, [sp+304]
    005a90f8ldr x1, [sp+256]
    005a90fcldr x2, [sp+264]
    005a9100str x1, [sp+272]
    005a9104str x2, [sp+280]
    005a9108ldr x1, [sp+288]
    005a910cldr x2, [sp+296]
    005a9110ldr x3, [sp+304]
    005a9114str x1, [sp+184]
    005a9118str x2, [sp+192]
    005a911cstr x3, [sp+200]
    005a9120ldr x1, [sp+280]
    005a9124ldr x2, [sp+272]
    005a9128str x2, [sp+152]
    005a912cstr x1, [sp+160]
    005a9130cbnz x2, 0x5a9138
    005a9134b 0x5a915c
    005a9138
    005a9138loc_5a9138:
    005a9138adrp x27, 0x479000
    005a913cldr x0, [x27+800]
    005a9140adrp x27, 0x479000
    005a9144ldr x1, [x27+808]
    005a9148str x0, [sp+136]
    005a914cstr x1, [sp+144]
    005a9150ldp x29, x30, [sp-8]
    005a9154add sp, sp, 320
    005a9158ret x30
    005a915c
    005a915cloc_5a915c:
    005a915cb 0x5a9160
    005a9160
    005a9160loc_5a9160:
    005a9160ldr x10, [sp+192]
    005a9164str x10, [sp+120]
    005a9168ldr x11, [sp+104]
    005a916csubs xzr, x10, x11
    005a9170cset x10, gt
    005a9174strb w10, [sp+103]
    005a9178b.gt 0x5a9180
    005a917cb 0x5a9198
    005a9180
    005a9180loc_5a9180:
    005a9180ldr x10, [sp+192]
    005a9184str x10, [sp+128]
    005a9188subs xzr, x10, 0
    005a918ccset x10, ne
    005a9190strb w10, [sp+103]
    005a9194b 0x5a919c
    005a9198
    005a9198loc_5a9198:
    005a9198b 0x5a919c
    005a919c
    005a919cloc_5a919c:
    005a919cldrb w10, [sp+103]
    005a91a0tbnz w10, 0, 0x5a91a8
    005a91a4b 0x5a9234
    005a91a8
    005a91a8loc_5a91a8:
    005a91a8ldr x1, [sp+192]
    005a91acldr x10, [sp+184]
    005a91b0subs xzr, x1, 0
    005a91b4b.hi 0x5a91bc
    005a91b8b 0x5a9284
    005a91bc
    005a91bcloc_5a91bc:
    005a91bcldrb w10, [x10]
    005a91c0cbnz w10, 0x5a91c8
    005a91c4b 0x5a91ec
    005a91c8
    005a91c8loc_5a91c8:
    005a91c8adrp x27, 0x479000
    005a91ccldr x0, [x27+800]
    005a91d0adrp x27, 0x479000
    005a91d4ldr x1, [x27+808]
    005a91d8str x0, [sp+136]
    005a91dcstr x1, [sp+144]
    005a91e0ldp x29, x30, [sp-8]
    005a91e4add sp, sp, 320
    005a91e8ret x30
    005a91ec
    005a91ecloc_5a91ec:
    005a91ecldr x1, [sp+192]
    005a91f0ldr x10, [sp+184]
    005a91f4ldr x11, [sp+200]
    005a91f8b 0x5a91fc
    005a91fc
    005a91fcloc_5a91fc:
    005a91fcsubs xzr, x1, 1
    005a9200b.hs 0x5a9208
    005a9204b 0x5a927c
    005a9208
    005a9208loc_5a9208:
    005a9208sub x11, x11, 1
    005a920csub x12, xzr, x11
    005a9210sub x13, x1, 1
    005a9214sbfm x12, x12, 63, 63
    005a9218and x12, x12, 1
    005a921cadd x10, x10, x12
    005a9220str x10, [sp+184]
    005a9224str x13, [sp+192]
    005a9228str x11, [sp+200]
    005a922cb 0x5a9230
    005a9230
    005a9230loc_5a9230:
    005a9230b 0x5a9160
    005a9234
    005a9234loc_5a9234:
    005a9234ldr x7, [sp+400]
    005a9238ldr x9, [sp+344]
    005a923cldr x6, [sp+112]
    005a9240ldr x8, [sp+336]
    005a9244ldr x0, [sp+352]
    005a9248ldr x3, [sp+184]
    005a924cldr x1, [sp+360]
    005a9250ldr x4, [sp+192]
    005a9254ldr x2, [sp+368]
    005a9258ldr x5, [sp+200]
    005a925cbl crypto/internal/fips140/rsa.emsaPSSVerify
    005a9260str x0, [sp+256]
    005a9264str x1, [sp+264]
    005a9268str x0, [sp+136]
    005a926cstr x1, [sp+144]
    005a9270ldp x29, x30, [sp-8]
    005a9274add sp, sp, 320
    005a9278ret x30
    005a927c
    005a927cloc_5a927c:
    005a927corr x0, xzr, 1
    005a9280bl runtime.panicSliceB
    005a9284
    005a9284loc_5a9284:
    005a9284mov x0, xzr
    005a9288bl runtime.panicIndex
    005a928chint
    005a9290
    005a9290loc_5a9290:
    005a9290stp x0, x1, [sp+8]
    005a9294stp x2, x3, [sp+24]
    005a9298stp x4, x5, [sp+40]
    005a929cstp x6, x7, [sp+56]
    005a92a0stp x8, x9, [sp+72]
    005a92a4mov x3, x30
    005a92a8bl runtime.morestack_noctxt.abi0
    005a92acldp x0, x1, [sp+8]
    005a92b0ldp x2, x3, [sp+24]
    005a92b4ldp x4, x5, [sp+40]
    005a92b8ldp x6, x7, [sp+56]
    005a92bcldp x8, x9, [sp+72]
    005a92c0b 0x5a8f40
    005a92c4udf 0
    005a92c8udf 0
    005a92ccudf 0
    005a8f40
    005a92d0
    005a92d0crypto/internal/fips140/rsa.checkApprovedHash: ; void crypto/internal/fips140/rsa.checkApprovedHash(crypto/internal/fips140.Hash hash)
    005a92d0ldr x16, [x28+16]
    005a92d4subs xzr, sp, x16
    005a92d8b.ls 0x5a9424
    005a92dcstr x30, [sp-48]!
    005a92e0stur x29, [sp-8]
    005a92e4sub x29, sp, 8
    005a92e8str x0, [sp+56]
    005a92ecstr x1, [sp+64]
    005a92f0str x0, [sp+24]
    005a92f4str x1, [sp+32]
    005a92f8cbnz x0, 0x5a9300
    005a92fcb 0x5a940c
    005a9300
    005a9300loc_5a9300:
    005a9300ldr w0, [x0+16]
    005a9304str w0, [sp+20]
    005a9308movz x1, 29181
    005a930cmovk x1, 0x3bd60000
    005a9310subs wzr, w0, w1
    005a9314b.eq 0x5a931c
    005a9318b 0x5a9358
    005a931c
    005a931cloc_5a931c:
    005a931cldr x0, [sp+24]
    005a9320adrp x1, 0x170000
    005a9324add x1, x1, 2976
    005a9328subs xzr, x0, x1
    005a932cb.eq 0x5a9334
    005a9330b 0x5a933c
    005a9334
    005a9334loc_5a9334:
    005a9334orr x0, xzr, 1
    005a9338b 0x5a9344
    005a933c
    005a933cloc_5a933c:
    005a933cmov x0, xzr
    005a9340b 0x5a9344
    005a9344
    005a9344loc_5a9344:
    005a9344strb w0, [sp+19]
    005a9348tbnz w0, 0, 0x5a9350
    005a934cb 0x5a9354
    005a9350
    005a9350loc_5a9350:
    005a9350b 0x5a93f4
    005a9354
    005a9354loc_5a9354:
    005a9354b 0x5a9408
    005a9358
    005a9358loc_5a9358:
    005a9358movz x1, 11855
    005a935cmovk x1, 0x4e730000
    005a9360subs wzr, w0, w1
    005a9364b.eq 0x5a936c
    005a9368b 0x5a93a8
    005a936c
    005a936cloc_5a936c:
    005a936cldr x0, [sp+24]
    005a9370adrp x1, 0x170000
    005a9374add x1, x1, 2912
    005a9378subs xzr, x0, x1
    005a937cb.eq 0x5a9384
    005a9380b 0x5a938c
    005a9384
    005a9384loc_5a9384:
    005a9384orr x0, xzr, 1
    005a9388b 0x5a9394
    005a938c
    005a938cloc_5a938c:
    005a938cmov x0, xzr
    005a9390b 0x5a9394
    005a9394
    005a9394loc_5a9394:
    005a9394strb w0, [sp+19]
    005a9398tbnz w0, 0, 0x5a93a0
    005a939cb 0x5a93a4
    005a93a0
    005a93a0loc_5a93a0:
    005a93a0b 0x5a93f4
    005a93a4
    005a93a4loc_5a93a4:
    005a93a4b 0x5a9404
    005a93a8
    005a93a8loc_5a93a8:
    005a93a8movz x1, 3329
    005a93acmovk x1, 0x450000
    005a93b0adds wzr, w0, w1
    005a93b4b.eq 0x5a93bc
    005a93b8b 0x5a93fc
    005a93bc
    005a93bcloc_5a93bc:
    005a93bcldr x0, [sp+24]
    005a93c0adrp x1, 0x170000
    005a93c4add x1, x1, 3168
    005a93c8subs xzr, x0, x1
    005a93ccb.eq 0x5a93d4
    005a93d0b 0x5a93dc
    005a93d4
    005a93d4loc_5a93d4:
    005a93d4orr x0, xzr, 1
    005a93d8b 0x5a93e4
    005a93dc
    005a93dcloc_5a93dc:
    005a93dcmov x0, xzr
    005a93e0b 0x5a93e4
    005a93e4
    005a93e4loc_5a93e4:
    005a93e4strb w0, [sp+19]
    005a93e8tbnz w0, 0, 0x5a93f0
    005a93ecb 0x5a93f8
    005a93f0
    005a93f0loc_5a93f0:
    005a93f0b 0x5a93f4
    005a93f4
    005a93f4loc_5a93f4:
    005a93f4b 0x5a9418
    005a93f8
    005a93f8loc_5a93f8:
    005a93f8b 0x5a9400
    005a93fc
    005a93fcloc_5a93fc:
    005a93fcb 0x5a9400
    005a9400
    005a9400loc_5a9400:
    005a9400b 0x5a9404
    005a9404
    005a9404loc_5a9404:
    005a9404b 0x5a9408
    005a9408
    005a9408loc_5a9408:
    005a9408b 0x5a9410
    005a940c
    005a940cloc_5a940c:
    005a940cb 0x5a9410
    005a9410
    005a9410loc_5a9410:
    005a9410bl crypto/internal/fips140.RecordNonApproved
    005a9414b 0x5a9418
    005a9418
    005a9418loc_5a9418:
    005a9418ldur x29, [sp-8]
    005a941cldr x30, [sp], 48
    005a9420ret x30
    005a9424
    005a9424loc_5a9424:
    005a9424stp x0, x1, [sp+8]
    005a9428mov x3, x30
    005a942cbl runtime.morestack_noctxt.abi0
    005a9430ldp x0, x1, [sp+8]
    005a9434b 0x5a92d0
    005a9438udf 0
    005a943cudf 0
    005a92d0
    005a9440
    005a9440crypto/internal/fips140/rsa.(*PublicKey).Size: ; void crypto/internal/fips140/rsa.(*PublicKey).Size(crypto/internal/fips140/rsa.PublicKey * pub)
    005a9440ldr x16, [x28+16]
    005a9444subs xzr, sp, x16
    005a9448b.ls 0x5a9498
    005a944cstr x30, [sp-48]!
    005a9450stur x29, [sp-8]
    005a9454sub x29, sp, 8
    005a9458str x0, [sp+56]
    005a945cstr xzr, [sp+16]
    005a9460ldrsb x27, [x0]
    005a9464ldr x0, [x0]
    005a9468str x0, [sp+32]
    005a946cbl crypto/internal/fips140/bigmod.(*Modulus).BitLen
    005a9470str x0, [sp+24]
    005a9474add x1, x0, 7
    005a9478sbfm x1, x1, 63, 63
    005a947cadd x1, x0, x1, lsr #61
    005a9480add x1, x1, 7
    005a9484sbfm x0, x1, 3, 63
    005a9488str x0, [sp+16]
    005a948cldur x29, [sp-8]
    005a9490ldr x30, [sp], 48
    005a9494ret x30
    005a9498
    005a9498loc_5a9498:
    005a9498str x0, [sp+8]
    005a949cmov x3, x30
    005a94a0bl runtime.morestack_noctxt.abi0
    005a94a4ldr x0, [sp+8]
    005a94a8b 0x5a9440
    005a94acudf 0
    005a9440
    005a94b0
    005a94b0crypto/internal/fips140/rsa.(*PrivateKey).PublicKey: ; void crypto/internal/fips140/rsa.(*PrivateKey).PublicKey(crypto/internal/fips140/rsa.PrivateKey * priv)
    005a94b0str x30, [sp-32]!
    005a94b4stur x29, [sp-8]
    005a94b8sub x29, sp, 8
    005a94bcstr x0, [sp+40]
    005a94c0str xzr, [sp+16]
    005a94c4ldr x0, [sp+40]
    005a94c8ldrsb x27, [x0]
    005a94ccstr x0, [sp+16]
    005a94d0add x29, sp, 24
    005a94d4add sp, sp, 32
    005a94d8ret x30
    005a94dcudf 0
    005a94b0
    005a94e0
    005a94e0crypto/internal/fips140/rsa.NewPrivateKey: ; void crypto/internal/fips140/rsa.NewPrivateKey(struct []uint8 N, int e, struct []uint8 d, struct []uint8 P, struct []uint8 Q)
    005a94e0ldr x16, [x28+16]
    005a94e4sub x17, sp, 176
    005a94e8subs xzr, x17, x16
    005a94ecb.ls 0x5a97b8
    005a94f0sub x20, sp, 304
    005a94f4stp x29, x30, [x20-8]
    005a94f8add sp, x20, 0
    005a94fcsub x29, sp, 8
    005a9500str x0, [sp+312]
    005a9504str x1, [sp+320]
    005a9508str x2, [sp+328]
    005a950cstr x3, [sp+336]
    005a9510str x4, [sp+344]
    005a9514str x5, [sp+352]
    005a9518str x6, [sp+360]
    005a951cstr x7, [sp+368]
    005a9520str x8, [sp+376]
    005a9524str x9, [sp+384]
    005a9528str x10, [sp+392]
    005a952cstr x11, [sp+400]
    005a9530str x12, [sp+408]
    005a9534str xzr, [sp+72]
    005a9538stp xzr, xzr, [sp+56]
    005a953cstr xzr, [sp+176]
    005a9540stp xzr, xzr, [sp+160]
    005a9544ldr x0, [sp+312]
    005a9548ldr x1, [sp+320]
    005a954cldr x2, [sp+328]
    005a9550bl crypto/internal/fips140/bigmod.NewModulus
    005a9554str x0, [sp+176]
    005a9558str x1, [sp+160]
    005a955cstr x2, [sp+168]
    005a9560ldr x3, [sp+176]
    005a9564str x3, [sp+128]
    005a9568ldr x3, [sp+168]
    005a956cldr x4, [sp+160]
    005a9570str x4, [sp+280]
    005a9574str x3, [sp+288]
    005a9578ldr x3, [sp+128]
    005a957cstr x3, [sp+96]
    005a9580ldr x3, [sp+288]
    005a9584ldr x4, [sp+280]
    005a9588str x4, [sp+104]
    005a958cstr x3, [sp+112]
    005a9590cbnz x4, 0x5a9598
    005a9594b 0x5a95bc
    005a9598
    005a9598loc_5a9598:
    005a9598str xzr, [sp+72]
    005a959cldr x1, [sp+104]
    005a95a0ldr x2, [sp+112]
    005a95a4str x1, [sp+56]
    005a95a8str x2, [sp+64]
    005a95acldr x0, [sp+72]
    005a95b0ldp x29, x30, [sp-8]
    005a95b4add sp, sp, 304
    005a95b8ret x30
    005a95bc
    005a95bcloc_5a95bc:
    005a95bcstr xzr, [sp+176]
    005a95c0stp xzr, xzr, [sp+160]
    005a95c4ldr x0, [sp+368]
    005a95c8ldr x1, [sp+376]
    005a95ccldr x2, [sp+384]
    005a95d0bl crypto/internal/fips140/bigmod.NewModulus
    005a95d4str x0, [sp+176]
    005a95d8str x1, [sp+160]
    005a95dcstr x2, [sp+168]
    005a95e0ldr x3, [sp+176]
    005a95e4str x3, [sp+272]
    005a95e8ldr x3, [sp+168]
    005a95ecldr x4, [sp+160]
    005a95f0str x4, [sp+256]
    005a95f4str x3, [sp+264]
    005a95f8ldr x3, [sp+272]
    005a95fcstr x3, [sp+88]
    005a9600ldr x3, [sp+264]
    005a9604ldr x4, [sp+256]
    005a9608str x4, [sp+104]
    005a960cstr x3, [sp+112]
    005a9610cbnz x4, 0x5a9618
    005a9614b 0x5a963c
    005a9618
    005a9618loc_5a9618:
    005a9618str xzr, [sp+72]
    005a961cldr x1, [sp+104]
    005a9620ldr x2, [sp+112]
    005a9624str x1, [sp+56]
    005a9628str x2, [sp+64]
    005a962cldr x0, [sp+72]
    005a9630ldp x29, x30, [sp-8]
    005a9634add sp, sp, 304
    005a9638ret x30
    005a963c
    005a963cloc_5a963c:
    005a963cstr xzr, [sp+176]
    005a9640stp xzr, xzr, [sp+160]
    005a9644ldr x0, [sp+392]
    005a9648ldr x1, [sp+400]
    005a964cldr x2, [sp+408]
    005a9650bl crypto/internal/fips140/bigmod.NewModulus
    005a9654str x0, [sp+176]
    005a9658str x1, [sp+160]
    005a965cstr x2, [sp+168]
    005a9660ldr x3, [sp+176]
    005a9664str x3, [sp+248]
    005a9668ldr x3, [sp+168]
    005a966cldr x4, [sp+160]
    005a9670str x4, [sp+232]
    005a9674str x3, [sp+240]
    005a9678ldr x3, [sp+248]
    005a967cstr x3, [sp+80]
    005a9680ldr x3, [sp+240]
    005a9684ldr x4, [sp+232]
    005a9688str x4, [sp+104]
    005a968cstr x3, [sp+112]
    005a9690cbnz x4, 0x5a9698
    005a9694b 0x5a96bc
    005a9698
    005a9698loc_5a9698:
    005a9698str xzr, [sp+72]
    005a969cldr x1, [sp+104]
    005a96a0ldr x2, [sp+112]
    005a96a4str x1, [sp+56]
    005a96a8str x2, [sp+64]
    005a96acldr x0, [sp+72]
    005a96b0ldp x29, x30, [sp-8]
    005a96b4add sp, sp, 304
    005a96b8ret x30
    005a96bc
    005a96bcloc_5a96bc:
    005a96bcbl crypto/internal/fips140/bigmod.NewNat
    005a96c0str x0, [sp+152]
    005a96c4str xzr, [sp+144]
    005a96c8stp xzr, xzr, [sp+160]
    005a96ccldr x1, [sp+344]
    005a96d0ldr x4, [sp+96]
    005a96d4ldr x2, [sp+352]
    005a96d8ldr x3, [sp+360]
    005a96dcldr x0, [sp+152]
    005a96e0bl crypto/internal/fips140/bigmod.(*Nat).SetBytes
    005a96e4str x0, [sp+144]
    005a96e8str x1, [sp+160]
    005a96ecstr x2, [sp+168]
    005a96f0ldr x0, [sp+144]
    005a96f4str x0, [sp+224]
    005a96f8ldr x0, [sp+160]
    005a96fcldr x1, [sp+168]
    005a9700str x0, [sp+208]
    005a9704str x1, [sp+216]
    005a9708ldr x0, [sp+224]
    005a970cstr x0, [sp+120]
    005a9710ldr x0, [sp+216]
    005a9714ldr x1, [sp+208]
    005a9718str x1, [sp+104]
    005a971cstr x0, [sp+112]
    005a9720cbnz x1, 0x5a9728
    005a9724b 0x5a974c
    005a9728
    005a9728loc_5a9728:
    005a9728str xzr, [sp+72]
    005a972cldr x1, [sp+104]
    005a9730ldr x2, [sp+112]
    005a9734str x1, [sp+56]
    005a9738str x2, [sp+64]
    005a973cldr x0, [sp+72]
    005a9740ldp x29, x30, [sp-8]
    005a9744add sp, sp, 304
    005a9748ret x30
    005a974c
    005a974cloc_5a974c:
    005a974cstr xzr, [sp+136]
    005a9750stp xzr, xzr, [sp+160]
    005a9754ldr x1, [sp+336]
    005a9758ldr x2, [sp+120]
    005a975cldr x3, [sp+88]
    005a9760ldr x4, [sp+80]
    005a9764ldr x0, [sp+96]
    005a9768bl crypto/internal/fips140/rsa.newPrivateKey
    005a976cstr x0, [sp+136]
    005a9770str x1, [sp+160]
    005a9774str x2, [sp+168]
    005a9778ldr x5, [sp+136]
    005a977cstr x5, [sp+200]
    005a9780ldr x5, [sp+160]
    005a9784ldr x6, [sp+168]
    005a9788str x5, [sp+184]
    005a978cstr x6, [sp+192]
    005a9790ldr x5, [sp+200]
    005a9794str x5, [sp+72]
    005a9798ldr x1, [sp+184]
    005a979cldr x2, [sp+192]
    005a97a0str x1, [sp+56]
    005a97a4str x2, [sp+64]
    005a97a8ldr x0, [sp+72]
    005a97acldp x29, x30, [sp-8]
    005a97b0add sp, sp, 304
    005a97b4ret x30
    005a97b8
    005a97b8loc_5a97b8:
    005a97b8stp x0, x1, [sp+8]
    005a97bcstp x2, x3, [sp+24]
    005a97c0stp x4, x5, [sp+40]
    005a97c4stp x6, x7, [sp+56]
    005a97c8stp x8, x9, [sp+72]
    005a97ccstp x10, x11, [sp+88]
    005a97d0str x12, [sp+104]
    005a97d4mov x3, x30
    005a97d8bl runtime.morestack_noctxt.abi0
    005a97dcldp x0, x1, [sp+8]
    005a97e0ldp x2, x3, [sp+24]
    005a97e4ldp x4, x5, [sp+40]
    005a97e8ldp x6, x7, [sp+56]
    005a97ecldp x8, x9, [sp+72]
    005a97f0ldp x10, x11, [sp+88]
    005a97f4ldr x12, [sp+104]
    005a97f8b 0x5a94e0
    005a97fcudf 0
    005a94e0
    005a9800
    005a9800crypto/internal/fips140/rsa.newPrivateKey: ; void crypto/internal/fips140/rsa.newPrivateKey(crypto/internal/fips140/bigmod.Modulus * n, int e, crypto/internal/fips140/bigmod.Nat * d, crypto/internal/fips140/bigmod.Modulus * p, crypto/internal/fips140/bigmod.Modulus * q)
    005a9800ldr x16, [x28+16]
    005a9804sub x17, sp, 256
    005a9808subs xzr, x17, x16
    005a980cb.ls 0x5a9d3c
    005a9810sub x20, sp, 384
    005a9814stp x29, x30, [x20-8]
    005a9818add sp, x20, 0
    005a981csub x29, sp, 8
    005a9820str x0, [sp+392]
    005a9824str x1, [sp+400]
    005a9828str x2, [sp+408]
    005a982cstr x3, [sp+416]
    005a9830str x4, [sp+424]
    005a9834str xzr, [sp+80]
    005a9838stp xzr, xzr, [sp+64]
    005a983cldr x0, [sp+416]
    005a9840bl crypto/internal/fips140/bigmod.(*Modulus).Nat
    005a9844str x0, [sp+320]
    005a9848ldr x1, [sp+416]
    005a984cbl crypto/internal/fips140/bigmod.(*Nat).SubOne
    005a9850str x0, [sp+152]
    005a9854ldr x1, [sp+416]
    005a9858bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    005a985cstr x0, [sp+296]
    005a9860str x1, [sp+304]
    005a9864str x2, [sp+312]
    005a9868str xzr, [sp+288]
    005a986cstp xzr, xzr, [sp+272]
    005a9870ldr x0, [sp+296]
    005a9874ldr x1, [sp+304]
    005a9878ldr x2, [sp+312]
    005a987cbl crypto/internal/fips140/bigmod.NewModulus
    005a9880str x0, [sp+288]
    005a9884str x1, [sp+272]
    005a9888str x2, [sp+280]
    005a988cldr x1, [sp+288]
    005a9890str x1, [sp+368]
    005a9894ldr x1, [sp+272]
    005a9898ldr x2, [sp+280]
    005a989cstr x1, [sp+352]
    005a98a0str x2, [sp+360]
    005a98a4ldr x1, [sp+368]
    005a98a8str x1, [sp+144]
    005a98acldr x1, [sp+360]
    005a98b0ldr x2, [sp+352]
    005a98b4str x2, [sp+176]
    005a98b8str x1, [sp+184]
    005a98bccbnz x2, 0x5a98c4
    005a98c0b 0x5a98e8
    005a98c4
    005a98c4loc_5a98c4:
    005a98c4str xzr, [sp+80]
    005a98c8ldr x1, [sp+176]
    005a98ccldr x2, [sp+184]
    005a98d0str x1, [sp+64]
    005a98d4str x2, [sp+72]
    005a98d8ldr x0, [sp+80]
    005a98dcldp x29, x30, [sp-8]
    005a98e0add sp, sp, 384
    005a98e4ret x30
    005a98e8
    005a98e8loc_5a98e8:
    005a98e8bl crypto/internal/fips140/bigmod.NewNat
    005a98ecstr x0, [sp+320]
    005a98f0ldr x1, [sp+408]
    005a98f4ldr x2, [sp+144]
    005a98f8bl crypto/internal/fips140/bigmod.(*Nat).Mod
    005a98fcstr x0, [sp+264]
    005a9900ldr x1, [sp+144]
    005a9904bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    005a9908str x0, [sp+216]
    005a990cstr x1, [sp+224]
    005a9910str x2, [sp+232]
    005a9914ldr x0, [sp+424]
    005a9918bl crypto/internal/fips140/bigmod.(*Modulus).Nat
    005a991cstr x0, [sp+264]
    005a9920ldr x1, [sp+424]
    005a9924bl crypto/internal/fips140/bigmod.(*Nat).SubOne
    005a9928str x0, [sp+96]
    005a992cldr x1, [sp+424]
    005a9930bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    005a9934str x0, [sp+296]
    005a9938str x1, [sp+304]
    005a993cstr x2, [sp+312]
    005a9940str xzr, [sp+288]
    005a9944stp xzr, xzr, [sp+272]
    005a9948ldr x0, [sp+296]
    005a994cldr x1, [sp+304]
    005a9950ldr x2, [sp+312]
    005a9954bl crypto/internal/fips140/bigmod.NewModulus
    005a9958str x0, [sp+288]
    005a995cstr x1, [sp+272]
    005a9960str x2, [sp+280]
    005a9964ldr x0, [sp+288]
    005a9968str x0, [sp+344]
    005a996cldr x0, [sp+272]
    005a9970ldr x1, [sp+280]
    005a9974str x0, [sp+328]
    005a9978str x1, [sp+336]
    005a997cldr x0, [sp+344]
    005a9980str x0, [sp+88]
    005a9984ldr x0, [sp+336]
    005a9988ldr x1, [sp+328]
    005a998cstr x1, [sp+176]
    005a9990str x0, [sp+184]
    005a9994cbnz x1, 0x5a999c
    005a9998b 0x5a99c0
    005a999c
    005a999cloc_5a999c:
    005a999cstr xzr, [sp+80]
    005a99a0ldr x1, [sp+176]
    005a99a4ldr x2, [sp+184]
    005a99a8str x1, [sp+64]
    005a99acstr x2, [sp+72]
    005a99b0ldr x0, [sp+80]
    005a99b4ldp x29, x30, [sp-8]
    005a99b8add sp, sp, 384
    005a99bcret x30
    005a99c0
    005a99c0loc_5a99c0:
    005a99c0bl crypto/internal/fips140/bigmod.NewNat
    005a99c4str x0, [sp+264]
    005a99c8ldr x1, [sp+408]
    005a99ccldr x2, [sp+88]
    005a99d0bl crypto/internal/fips140/bigmod.(*Nat).Mod
    005a99d4str x0, [sp+320]
    005a99d8ldr x1, [sp+88]
    005a99dcbl crypto/internal/fips140/bigmod.(*Nat).Bytes
    005a99e0str x0, [sp+192]
    005a99e4str x1, [sp+200]
    005a99e8str x2, [sp+208]
    005a99ecldr x0, [sp+416]
    005a99f0bl crypto/internal/fips140/bigmod.(*Modulus).Nat
    005a99f4str x0, [sp+320]
    005a99f8bl crypto/internal/fips140/bigmod.(*Nat).IsOdd
    005a99fcstr x0, [sp+56]
    005a9a00cbz x0, 0x5a9a08
    005a9a04b 0x5a9a44
    005a9a08
    005a9a08loc_5a9a08:
    005a9a08adrp x0, 0x10e000
    005a9a0cadd x0, x0, 2097
    005a9a10movz x1, 21
    005a9a14bl errors.New
    005a9a18str x0, [sp+272]
    005a9a1cstr x1, [sp+280]
    005a9a20str xzr, [sp+80]
    005a9a24ldr x1, [sp+272]
    005a9a28ldr x2, [sp+280]
    005a9a2cstr x1, [sp+64]
    005a9a30str x2, [sp+72]
    005a9a34ldr x0, [sp+80]
    005a9a38ldp x29, x30, [sp-8]
    005a9a3cadd sp, sp, 384
    005a9a40ret x30
    005a9a44
    005a9a44loc_5a9a44:
    005a9a44ldr x0, [sp+416]
    005a9a48bl crypto/internal/fips140/bigmod.(*Modulus).Nat
    005a9a4cstr x0, [sp+320]
    005a9a50ldr x1, [sp+416]
    005a9a54bl crypto/internal/fips140/bigmod.(*Nat).SubOne
    005a9a58str x0, [sp+264]
    005a9a5cldr x1, [sp+416]
    005a9a60bl crypto/internal/fips140/bigmod.(*Nat).SubOne
    005a9a64str x0, [sp+256]
    005a9a68ldr x1, [sp+416]
    005a9a6cbl crypto/internal/fips140/bigmod.(*Nat).Bytes
    005a9a70str x0, [sp+120]
    005a9a74str x1, [sp+128]
    005a9a78str x2, [sp+136]
    005a9a7cbl crypto/internal/fips140/bigmod.NewNat
    005a9a80str x0, [sp+256]
    005a9a84ldr x0, [sp+424]
    005a9a88bl crypto/internal/fips140/bigmod.(*Modulus).Nat
    005a9a8cstr x0, [sp+264]
    005a9a90ldr x2, [sp+416]
    005a9a94ldr x1, [sp+256]
    005a9a98mov x3, x0
    005a9a9cmov x0, x1
    005a9aa0mov x1, x3
    005a9aa4bl crypto/internal/fips140/bigmod.(*Nat).Mod
    005a9aa8str x0, [sp+104]
    005a9aacldr x5, [sp+416]
    005a9ab0ldr x3, [sp+128]
    005a9ab4ldr x4, [sp+136]
    005a9ab8ldr x2, [sp+120]
    005a9abcmov x1, x0
    005a9ac0bl crypto/internal/fips140/bigmod.(*Nat).Exp
    005a9ac4adrp x0, 0xe3000
    005a9ac8add x0, x0, 1760
    005a9accbl runtime.newobject
    005a9ad0str x0, [sp+248]
    005a9ad4adrp x27, 0x4a2000
    005a9ad8ldr w1, [x27+3056]
    005a9adccbz w1, 0x5a9ae4
    005a9ae0b 0x5a9ae8
    005a9ae4
    005a9ae4loc_5a9ae4:
    005a9ae4b 0x5a9b04
    005a9ae8
    005a9ae8loc_5a9ae8:
    005a9ae8str x0, [sp+240]
    005a9aecmov x1, x0
    005a9af0adrp x0, 0xe3000
    005a9af4add x0, x0, 1760
    005a9af8bl runtime.wbZero
    005a9afcldr x0, [sp+240]
    005a9b00b 0x5a9b04
    005a9b04
    005a9b04loc_5a9b04:
    005a9b04mov x20, x0
    005a9b08adr x27, 16
    005a9b0cstp x29, x27, [sp-24]
    005a9b10sub x29, sp, 24
    005a9b14bl fn_87cf8
    005a9b18sub x29, sp, 8
    005a9b1cstr xzr, [x0+96]
    005a9b20ldr x1, [sp+248]
    005a9b24ldrsb x27, [x1]
    005a9b28ldr x2, [sp+392]
    005a9b2cadrp x27, 0x4a2000
    005a9b30ldr w3, [x27+3056]
    005a9b34cbz w3, 0x5a9b3c
    005a9b38b 0x5a9b40
    005a9b3c
    005a9b3cloc_5a9b3c:
    005a9b3cb 0x5a9b54
    005a9b40
    005a9b40loc_5a9b40:
    005a9b40bl runtime.gcWriteBarrier2
    005a9b44str x2, [x25]
    005a9b48ldr x3, [x1]
    005a9b4cstr x3, [x25+8]
    005a9b50b 0x5a9b54
    005a9b54
    005a9b54loc_5a9b54:
    005a9b54str x2, [x1]
    005a9b58ldr x1, [sp+248]
    005a9b5cldrsb x27, [x1]
    005a9b60ldr x2, [sp+400]
    005a9b64str x2, [x1+8]
    005a9b68ldr x1, [sp+248]
    005a9b6cldrsb x27, [x1]
    005a9b70ldr x2, [sp+408]
    005a9b74adrp x27, 0x4a2000
    005a9b78ldr w3, [x27+3056]
    005a9b7ccbz w3, 0x5a9b84
    005a9b80b 0x5a9b88
    005a9b84
    005a9b84loc_5a9b84:
    005a9b84b 0x5a9b9c
    005a9b88
    005a9b88loc_5a9b88:
    005a9b88bl runtime.gcWriteBarrier2
    005a9b8cstr x2, [x25]
    005a9b90ldr x3, [x1+16]
    005a9b94str x3, [x25+8]
    005a9b98b 0x5a9b9c
    005a9b9c
    005a9b9cloc_5a9b9c:
    005a9b9cstr x2, [x1+16]
    005a9ba0ldr x1, [sp+248]
    005a9ba4ldrsb x27, [x1]
    005a9ba8ldr x2, [sp+416]
    005a9bacadrp x27, 0x4a2000
    005a9bb0ldr w3, [x27+3056]
    005a9bb4cbz w3, 0x5a9bbc
    005a9bb8b 0x5a9bc0
    005a9bbc
    005a9bbcloc_5a9bbc:
    005a9bbcb 0x5a9bd4
    005a9bc0
    005a9bc0loc_5a9bc0:
    005a9bc0bl runtime.gcWriteBarrier2
    005a9bc4str x2, [x25]
    005a9bc8ldr x3, [x1+24]
    005a9bccstr x3, [x25+8]
    005a9bd0b 0x5a9bd4
    005a9bd4
    005a9bd4loc_5a9bd4:
    005a9bd4str x2, [x1+24]
    005a9bd8ldr x1, [sp+248]
    005a9bdcldrsb x27, [x1]
    005a9be0ldr x2, [sp+424]
    005a9be4adrp x27, 0x4a2000
    005a9be8ldr w3, [x27+3056]
    005a9beccbz w3, 0x5a9bf4
    005a9bf0b 0x5a9bf8
    005a9bf4
    005a9bf4loc_5a9bf4:
    005a9bf4b 0x5a9c0c
    005a9bf8
    005a9bf8loc_5a9bf8:
    005a9bf8bl runtime.gcWriteBarrier2
    005a9bfcstr x2, [x25]
    005a9c00ldr x3, [x1+32]
    005a9c04str x3, [x25+8]
    005a9c08b 0x5a9c0c
    005a9c0c
    005a9c0cloc_5a9c0c:
    005a9c0cstr x2, [x1+32]
    005a9c10ldr x1, [sp+248]
    005a9c14ldrsb x27, [x1]
    005a9c18ldr x2, [sp+216]
    005a9c1cldr x3, [sp+224]
    005a9c20ldr x4, [sp+232]
    005a9c24str x3, [x1+48]
    005a9c28str x4, [x1+56]
    005a9c2cadrp x27, 0x4a2000
    005a9c30ldr w3, [x27+3056]
    005a9c34cbz w3, 0x5a9c3c
    005a9c38b 0x5a9c40
    005a9c3c
    005a9c3cloc_5a9c3c:
    005a9c3cb 0x5a9c54
    005a9c40
    005a9c40loc_5a9c40:
    005a9c40bl runtime.gcWriteBarrier2
    005a9c44str x2, [x25]
    005a9c48ldr x3, [x1+40]
    005a9c4cstr x3, [x25+8]
    005a9c50b 0x5a9c54
    005a9c54
    005a9c54loc_5a9c54:
    005a9c54str x2, [x1+40]
    005a9c58ldr x1, [sp+248]
    005a9c5cldrsb x27, [x1]
    005a9c60ldr x2, [sp+192]
    005a9c64ldr x3, [sp+208]
    005a9c68ldr x4, [sp+200]
    005a9c6cstr x4, [x1+72]
    005a9c70str x3, [x1+80]
    005a9c74adrp x27, 0x4a2000
    005a9c78ldr w3, [x27+3056]
    005a9c7ccbz w3, 0x5a9c84
    005a9c80b 0x5a9c88
    005a9c84
    005a9c84loc_5a9c84:
    005a9c84b 0x5a9c9c
    005a9c88
    005a9c88loc_5a9c88:
    005a9c88bl runtime.gcWriteBarrier2
    005a9c8cstr x2, [x25]
    005a9c90ldr x3, [x1+64]
    005a9c94str x3, [x25+8]
    005a9c98b 0x5a9c9c
    005a9c9c
    005a9c9cloc_5a9c9c:
    005a9c9cstr x2, [x1+64]
    005a9ca0ldr x1, [sp+248]
    005a9ca4ldrsb x27, [x1]
    005a9ca8ldr x2, [sp+104]
    005a9cacadrp x27, 0x4a2000
    005a9cb0ldr w3, [x27+3056]
    005a9cb4cbz w3, 0x5a9cbc
    005a9cb8b 0x5a9cc0
    005a9cbc
    005a9cbcloc_5a9cbc:
    005a9cbcb 0x5a9cd4
    005a9cc0
    005a9cc0loc_5a9cc0:
    005a9cc0bl runtime.gcWriteBarrier2
    005a9cc4str x2, [x25]
    005a9cc8ldr x3, [x1+88]
    005a9cccstr x3, [x25+8]
    005a9cd0b 0x5a9cd4
    005a9cd4
    005a9cd4loc_5a9cd4:
    005a9cd4str x2, [x1+88]
    005a9cd8ldr x0, [sp+248]
    005a9cdcstr x0, [sp+112]
    005a9ce0bl crypto/internal/fips140/rsa.checkPrivateKey
    005a9ce4str x0, [sp+160]
    005a9ce8str x1, [sp+168]
    005a9ceccbnz x0, 0x5a9cf4
    005a9cf0b 0x5a9d18
    005a9cf4
    005a9cf4loc_5a9cf4:
    005a9cf4str xzr, [sp+80]
    005a9cf8ldr x1, [sp+160]
    005a9cfcldr x2, [sp+168]
    005a9d00str x1, [sp+64]
    005a9d04str x2, [sp+72]
    005a9d08ldr x0, [sp+80]
    005a9d0cldp x29, x30, [sp-8]
    005a9d10add sp, sp, 384
    005a9d14ret x30
    005a9d18
    005a9d18loc_5a9d18:
    005a9d18ldr x3, [sp+112]
    005a9d1cstr x3, [sp+80]
    005a9d20stp xzr, xzr, [sp+64]
    005a9d24ldr x0, [sp+80]
    005a9d28mov x1, xzr
    005a9d2cmov x2, xzr
    005a9d30ldp x29, x30, [sp-8]
    005a9d34add sp, sp, 384
    005a9d38ret x30
    005a9d3c
    005a9d3cloc_5a9d3c:
    005a9d3cstp x0, x1, [sp+8]
    005a9d40stp x2, x3, [sp+24]
    005a9d44str x4, [sp+40]
    005a9d48mov x3, x30
    005a9d4cbl runtime.morestack_noctxt.abi0
    005a9d50ldp x0, x1, [sp+8]
    005a9d54ldp x2, x3, [sp+24]
    005a9d58ldr x4, [sp+40]
    005a9d5cb 0x5a9800
    005a9800