File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    002c19b0
    002c19b0crypto/rsa.SignPSS: ; void crypto/rsa.SignPSS(io.Reader rand, crypto/rsa.PrivateKey * priv, crypto.Hash hash, struct []uint8 digest, crypto/rsa.PSSOptions * opts)
    002c19b0ldr x16, [x28+16]
    002c19b4sub x17, sp, 416
    002c19b8subs xzr, x17, x16
    002c19bcb.ls 0x2c201c
    002c19c0sub x20, sp, 544
    002c19c4stp x29, x30, [x20-8]
    002c19c8add sp, x20, 0
    002c19ccsub x29, sp, 8
    002c19d0str x0, [sp+552]
    002c19d4str x1, [sp+560]
    002c19d8str x2, [sp+568]
    002c19dcstr x3, [sp+576]
    002c19e0str x4, [sp+584]
    002c19e4str x5, [sp+592]
    002c19e8str x6, [sp+600]
    002c19ecstr x7, [sp+608]
    002c19f0str xzr, [sp+144]
    002c19f4stp xzr, xzr, [sp+152]
    002c19f8stp xzr, xzr, [sp+128]
    002c19fcldr x0, [sp+568]
    002c1a00ldrsb x27, [x0]
    002c1a04str x0, [sp+312]
    002c1a08bl crypto/rsa.checkPublicKeySize
    002c1a0cstr x0, [sp+224]
    002c1a10str x1, [sp+232]
    002c1a14cbnz x0, 0x2c1a1c
    002c1a18b 0x2c1a4c
    002c1a1c
    002c1a1cloc_2c1a1c:
    002c1a1cstr xzr, [sp+144]
    002c1a20stp xzr, xzr, [sp+152]
    002c1a24ldr x3, [sp+224]
    002c1a28ldr x4, [sp+232]
    002c1a2cstr x3, [sp+128]
    002c1a30str x4, [sp+136]
    002c1a34ldr x0, [sp+144]
    002c1a38ldr x1, [sp+152]
    002c1a3cldr x2, [sp+160]
    002c1a40ldp x29, x30, [sp-8]
    002c1a44add sp, sp, 544
    002c1a48ret x30
    002c1a4c
    002c1a4cloc_2c1a4c:
    002c1a4cldr x0, [sp+608]
    002c1a50subs xzr, x0, 0
    002c1a54cset x1, ne
    002c1a58strb w1, [sp+95]
    002c1a5ccbnz x0, 0x2c1a64
    002c1a60b 0x2c1a80
    002c1a64
    002c1a64loc_2c1a64:
    002c1a64ldr x0, [sp+608]
    002c1a68ldrsb x27, [x0]
    002c1a6cldr x0, [x0+8]
    002c1a70subs xzr, x0, 0
    002c1a74cset x0, ne
    002c1a78strb w0, [sp+95]
    002c1a7cb 0x2c1a84
    002c1a80
    002c1a80loc_2c1a80:
    002c1a80b 0x2c1a84
    002c1a84
    002c1a84loc_2c1a84:
    002c1a84ldrb w0, [sp+95]
    002c1a88tbnz w0, 0, 0x2c1a90
    002c1a8cb 0x2c1aa4
    002c1a90
    002c1a90loc_2c1a90:
    002c1a90ldr x0, [sp+608]
    002c1a94ldrsb x27, [x0]
    002c1a98ldr x0, [x0+8]
    002c1a9cstr x0, [sp+576]
    002c1aa0b 0x2c1aa8
    002c1aa4
    002c1aa4loc_2c1aa4:
    002c1aa4b 0x2c1aa8
    002c1aa8
    002c1aa8loc_2c1aa8:
    002c1aa8bl crypto/internal/boring.UnreachableExceptTests
    002c1aacldr x0, [sp+576]
    002c1ab0bl crypto.Hash.New
    002c1ab4str x0, [sp+400]
    002c1ab8str x1, [sp+408]
    002c1abcbl crypto/internal/fips140hash.Unwrap
    002c1ac0str x0, [sp+176]
    002c1ac4str x1, [sp+184]
    002c1ac8ldr x0, [sp+568]
    002c1accbl crypto/rsa.checkFIPS140OnlyPrivateKey
    002c1ad0str x0, [sp+208]
    002c1ad4str x1, [sp+216]
    002c1ad8cbnz x0, 0x2c1ae0
    002c1adcb 0x2c1b10
    002c1ae0
    002c1ae0loc_2c1ae0:
    002c1ae0str xzr, [sp+144]
    002c1ae4stp xzr, xzr, [sp+152]
    002c1ae8ldr x3, [sp+208]
    002c1aecldr x4, [sp+216]
    002c1af0str x3, [sp+128]
    002c1af4str x4, [sp+136]
    002c1af8ldr x0, [sp+144]
    002c1afcldr x1, [sp+152]
    002c1b00ldr x2, [sp+160]
    002c1b04ldp x29, x30, [sp-8]
    002c1b08add sp, sp, 544
    002c1b0cret x30
    002c1b10
    002c1b10loc_2c1b10:
    002c1b10adrp x27, 0x78a000
    002c1b14ldrb w2, [x27+1551]
    002c1b18strb w2, [sp+95]
    002c1b1ctbnz w2, 0, 0x2c1b24
    002c1b20b 0x2c1b40
    002c1b24
    002c1b24loc_2c1b24:
    002c1b24ldr x0, [sp+176]
    002c1b28ldr x1, [sp+184]
    002c1b2cbl crypto/internal/fips140only.ApprovedHash
    002c1b30strb w0, [sp+94]
    002c1b34eor x2, x0, 1
    002c1b38strb w2, [sp+95]
    002c1b3cb 0x2c1b44
    002c1b40
    002c1b40loc_2c1b40:
    002c1b40b 0x2c1b44
    002c1b44
    002c1b44loc_2c1b44:
    002c1b44ldrb w2, [sp+95]
    002c1b48tbnz w2, 0, 0x2c1b50
    002c1b4cb 0x2c1b98
    002c1b50
    002c1b50loc_2c1b50:
    002c1b50adrp x0, 0x40f000
    002c1b54add x0, x0, 2236
    002c1b58orr x1, xzr, 96
    002c1b5cbl errors.New
    002c1b60str x0, [sp+384]
    002c1b64str x1, [sp+392]
    002c1b68str xzr, [sp+144]
    002c1b6cstp xzr, xzr, [sp+152]
    002c1b70ldr x3, [sp+384]
    002c1b74ldr x4, [sp+392]
    002c1b78str x3, [sp+128]
    002c1b7cstr x4, [sp+136]
    002c1b80ldr x0, [sp+144]
    002c1b84ldr x1, [sp+152]
    002c1b88ldr x2, [sp+160]
    002c1b8cldp x29, x30, [sp-8]
    002c1b90add sp, sp, 544
    002c1b94ret x30
    002c1b98
    002c1b98loc_2c1b98:
    002c1b98adrp x27, 0x78a000
    002c1b9cldrb w2, [x27+1551]
    002c1ba0strb w2, [sp+95]
    002c1ba4tbnz w2, 0, 0x2c1bac
    002c1ba8b 0x2c1bc8
    002c1bac
    002c1bacloc_2c1bac:
    002c1bacldr x0, [sp+552]
    002c1bb0ldr x1, [sp+560]
    002c1bb4bl crypto/internal/fips140only.ApprovedRandomReader
    002c1bb8strb w0, [sp+94]
    002c1bbceor x2, x0, 1
    002c1bc0strb w2, [sp+95]
    002c1bc4b 0x2c1bcc
    002c1bc8
    002c1bc8loc_2c1bc8:
    002c1bc8b 0x2c1bcc
    002c1bcc
    002c1bccloc_2c1bcc:
    002c1bccldrb w2, [sp+95]
    002c1bd0tbnz w2, 0, 0x2c1bd8
    002c1bd4b 0x2c1c20
    002c1bd8
    002c1bd8loc_2c1bd8:
    002c1bd8adrp x0, 0x40d000
    002c1bdcadd x0, x0, 991
    002c1be0movz x1, 68
    002c1be4bl errors.New
    002c1be8str x0, [sp+384]
    002c1becstr x1, [sp+392]
    002c1bf0str xzr, [sp+144]
    002c1bf4stp xzr, xzr, [sp+152]
    002c1bf8ldr x3, [sp+384]
    002c1bfcldr x4, [sp+392]
    002c1c00str x3, [sp+128]
    002c1c04str x4, [sp+136]
    002c1c08ldr x0, [sp+144]
    002c1c0cldr x1, [sp+152]
    002c1c10ldr x2, [sp+160]
    002c1c14ldp x29, x30, [sp-8]
    002c1c18add sp, sp, 544
    002c1c1cret x30
    002c1c20
    002c1c20loc_2c1c20:
    002c1c20str xzr, [sp+376]
    002c1c24stp xzr, xzr, [sp+384]
    002c1c28ldr x0, [sp+568]
    002c1c2cbl crypto/rsa.fipsPrivateKey
    002c1c30str x0, [sp+376]
    002c1c34str x1, [sp+384]
    002c1c38str x2, [sp+392]
    002c1c3cldr x1, [sp+376]
    002c1c40str x1, [sp+528]
    002c1c44ldr x1, [sp+384]
    002c1c48ldr x2, [sp+392]
    002c1c4cstr x1, [sp+512]
    002c1c50str x2, [sp+520]
    002c1c54ldr x1, [sp+528]
    002c1c58str x1, [sp+168]
    002c1c5cldr x1, [sp+520]
    002c1c60ldr x2, [sp+512]
    002c1c64str x2, [sp+192]
    002c1c68str x1, [sp+200]
    002c1c6ccbnz x2, 0x2c1c74
    002c1c70b 0x2c1ca4
    002c1c74
    002c1c74loc_2c1c74:
    002c1c74str xzr, [sp+144]
    002c1c78stp xzr, xzr, [sp+152]
    002c1c7cldr x3, [sp+192]
    002c1c80ldr x4, [sp+200]
    002c1c84str x3, [sp+128]
    002c1c88str x4, [sp+136]
    002c1c8cldr x0, [sp+144]
    002c1c90ldr x1, [sp+152]
    002c1c94ldr x2, [sp+160]
    002c1c98ldp x29, x30, [sp-8]
    002c1c9cadd sp, sp, 544
    002c1ca0ret x30
    002c1ca4
    002c1ca4loc_2c1ca4:
    002c1ca4ldr x0, [sp+608]
    002c1ca8bl crypto/rsa.(*PSSOptions).saltLength
    002c1cacstr x0, [sp+96]
    002c1cb0adrp x27, 0x78a000
    002c1cb4ldrb w1, [x27+1551]
    002c1cb8strb w1, [sp+95]
    002c1cbctbnz w1, 0, 0x2c1cc4
    002c1cc0b 0x2c1cf0
    002c1cc4
    002c1cc4loc_2c1cc4:
    002c1cc4ldr x1, [sp+176]
    002c1cc8ldrsb x27, [x1]
    002c1cccldr x0, [sp+184]
    002c1cd0ldr x1, [x1+40]
    002c1cd4blr x1
    002c1cd8str x0, [sp+112]
    002c1cdcldr x1, [sp+96]
    002c1ce0subs xzr, x0, x1
    002c1ce4cset x1, lt
    002c1ce8strb w1, [sp+95]
    002c1cecb 0x2c1cf4
    002c1cf0
    002c1cf0loc_2c1cf0:
    002c1cf0b 0x2c1cf4
    002c1cf4
    002c1cf4loc_2c1cf4:
    002c1cf4ldrb w9, [sp+95]
    002c1cf8tbnz w9, 0, 0x2c1d00
    002c1cfcb 0x2c1d48
    002c1d00
    002c1d00loc_2c1d00:
    002c1d00adrp x0, 0x40f000
    002c1d04add x0, x0, 791
    002c1d08movz x1, 85
    002c1d0cbl errors.New
    002c1d10str x0, [sp+384]
    002c1d14str x1, [sp+392]
    002c1d18str xzr, [sp+144]
    002c1d1cstp xzr, xzr, [sp+152]
    002c1d20ldr x3, [sp+384]
    002c1d24ldr x4, [sp+392]
    002c1d28str x3, [sp+128]
    002c1d2cstr x4, [sp+136]
    002c1d30ldr x0, [sp+144]
    002c1d34ldr x1, [sp+152]
    002c1d38ldr x2, [sp+160]
    002c1d3cldp x29, x30, [sp-8]
    002c1d40add sp, sp, 544
    002c1d44ret x30
    002c1d48
    002c1d48loc_2c1d48:
    002c1d48ldr x9, [sp+96]
    002c1d4cstr x9, [sp+104]
    002c1d50adds xzr, x9, 1
    002c1d54b.eq 0x2c1d5c
    002c1d58b 0x2c1d7c
    002c1d5c
    002c1d5cloc_2c1d5c:
    002c1d5cb 0x2c1d60
    002c1d60
    002c1d60loc_2c1d60:
    002c1d60ldr x1, [sp+176]
    002c1d64ldrsb x27, [x1]
    002c1d68ldr x1, [x1+40]
    002c1d6cldr x0, [sp+184]
    002c1d70blr x1
    002c1d74str x0, [sp+96]
    002c1d78b 0x2c1ec4
    002c1d7c
    002c1d7cloc_2c1d7c:
    002c1d7ccbz x9, 0x2c1d84
    002c1d80b 0x2c1e60
    002c1d84
    002c1d84loc_2c1d84:
    002c1d84b 0x2c1d88
    002c1d88
    002c1d88loc_2c1d88:
    002c1d88ldr x0, [sp+168]
    002c1d8cbl crypto/internal/fips140/rsa.(*PrivateKey).PublicKey
    002c1d90str x0, [sp+368]
    002c1d94stp xzr, xzr, [sp+384]
    002c1d98ldr x2, [sp+184]
    002c1d9cldr x1, [sp+176]
    002c1da0str x1, [sp+296]
    002c1da4str x2, [sp+304]
    002c1da8cbnz x1, 0x2c1db0
    002c1dacb 0x2c1dd0
    002c1db0
    002c1db0loc_2c1db0:
    002c1db0str x2, [sp+240]
    002c1db4ldr x1, [x1+8]
    002c1db8adrp x0, 0x74f000
    002c1dbcadd x0, x0, 3920
    002c1dc0bl runtime.typeAssert
    002c1dc4ldr x2, [sp+240]
    002c1dc8mov x1, x0
    002c1dccb 0x2c1dd4
    002c1dd0
    002c1dd0loc_2c1dd0:
    002c1dd0b 0x2c1dd4
    002c1dd4
    002c1dd4loc_2c1dd4:
    002c1dd4str x1, [sp+280]
    002c1dd8str x2, [sp+288]
    002c1ddcldr x0, [sp+368]
    002c1de0bl crypto/internal/fips140/rsa.PSSMaxSaltLength
    002c1de4str x0, [sp+112]
    002c1de8str x1, [sp+384]
    002c1decstr x2, [sp+392]
    002c1df0ldr x3, [sp+112]
    002c1df4str x3, [sp+120]
    002c1df8str x1, [sp+496]
    002c1dfcstr x2, [sp+504]
    002c1e00ldr x3, [sp+120]
    002c1e04str x3, [sp+96]
    002c1e08str x1, [sp+192]
    002c1e0cstr x2, [sp+200]
    002c1e10cbnz x1, 0x2c1e18
    002c1e14b 0x2c1e5c
    002c1e18
    002c1e18loc_2c1e18:
    002c1e18mov x0, x1
    002c1e1cmov x1, x2
    002c1e20bl crypto/rsa.fipsError
    002c1e24str x0, [sp+384]
    002c1e28str x1, [sp+392]
    002c1e2cstr xzr, [sp+144]
    002c1e30stp xzr, xzr, [sp+152]
    002c1e34ldr x3, [sp+384]
    002c1e38ldr x4, [sp+392]
    002c1e3cstr x3, [sp+128]
    002c1e40str x4, [sp+136]
    002c1e44ldr x0, [sp+144]
    002c1e48ldr x1, [sp+152]
    002c1e4cldr x2, [sp+160]
    002c1e50ldp x29, x30, [sp-8]
    002c1e54add sp, sp, 544
    002c1e58ret x30
    002c1e5c
    002c1e5cloc_2c1e5c:
    002c1e5cb 0x2c1ec4
    002c1e60
    002c1e60loc_2c1e60:
    002c1e60b 0x2c1e64
    002c1e64
    002c1e64loc_2c1e64:
    002c1e64b 0x2c1e68
    002c1e68
    002c1e68loc_2c1e68:
    002c1e68ldr x9, [sp+96]
    002c1e6csubs xzr, x9, 0
    002c1e70b.le 0x2c1e78
    002c1e74b 0x2c1ec0
    002c1e78
    002c1e78loc_2c1e78:
    002c1e78adrp x0, 0x400000
    002c1e7cadd x0, x0, 5
    002c1e80movz x1, 35
    002c1e84bl errors.New
    002c1e88str x0, [sp+384]
    002c1e8cstr x1, [sp+392]
    002c1e90str xzr, [sp+144]
    002c1e94stp xzr, xzr, [sp+152]
    002c1e98ldr x3, [sp+384]
    002c1e9cldr x4, [sp+392]
    002c1ea0str x3, [sp+128]
    002c1ea4str x4, [sp+136]
    002c1ea8ldr x0, [sp+144]
    002c1eacldr x1, [sp+152]
    002c1eb0ldr x2, [sp+160]
    002c1eb4ldp x29, x30, [sp-8]
    002c1eb8add sp, sp, 544
    002c1ebcret x30
    002c1ec0
    002c1ec0loc_2c1ec0:
    002c1ec0b 0x2c1ec4
    002c1ec4
    002c1ec4loc_2c1ec4:
    002c1ec4str xzr, [sp+344]
    002c1ec8stp xzr, xzr, [sp+352]
    002c1eccstp xzr, xzr, [sp+384]
    002c1ed0ldr x4, [sp+184]
    002c1ed4ldr x9, [sp+176]
    002c1ed8str x9, [sp+264]
    002c1edcstr x4, [sp+272]
    002c1ee0cbnz x9, 0x2c1ee8
    002c1ee4b 0x2c1f08
    002c1ee8
    002c1ee8loc_2c1ee8:
    002c1ee8str x4, [sp+240]
    002c1eecldr x1, [x9+8]
    002c1ef0adrp x0, 0x74f000
    002c1ef4add x0, x0, 3952
    002c1ef8bl runtime.typeAssert
    002c1efcldr x4, [sp+240]
    002c1f00mov x9, x0
    002c1f04b 0x2c1f0c
    002c1f08
    002c1f08loc_2c1f08:
    002c1f08b 0x2c1f0c
    002c1f0c
    002c1f0cloc_2c1f0c:
    002c1f0cstr x9, [sp+248]
    002c1f10str x4, [sp+256]
    002c1f14ldr x8, [sp+96]
    002c1f18ldr x0, [sp+552]
    002c1f1cldr x5, [sp+584]
    002c1f20ldr x2, [sp+168]
    002c1f24ldr x6, [sp+592]
    002c1f28ldr x1, [sp+560]
    002c1f2cldr x7, [sp+600]
    002c1f30mov x3, x9
    002c1f34bl crypto/internal/fips140/rsa.SignPSS
    002c1f38str x0, [sp+344]
    002c1f3cstr x1, [sp+352]
    002c1f40str x2, [sp+360]
    002c1f44str x3, [sp+384]
    002c1f48str x4, [sp+392]
    002c1f4cldr x9, [sp+344]
    002c1f50ldr x10, [sp+352]
    002c1f54ldr x11, [sp+360]
    002c1f58str x9, [sp+472]
    002c1f5cstr x10, [sp+480]
    002c1f60str x11, [sp+488]
    002c1f64ldr x9, [sp+384]
    002c1f68ldr x10, [sp+392]
    002c1f6cstr x9, [sp+456]
    002c1f70str x10, [sp+464]
    002c1f74str xzr, [sp+320]
    002c1f78stp xzr, xzr, [sp+328]
    002c1f7cstp xzr, xzr, [sp+384]
    002c1f80ldr x1, [sp+472]
    002c1f84ldr x2, [sp+480]
    002c1f88ldr x3, [sp+488]
    002c1f8cldr x4, [sp+456]
    002c1f90ldr x5, [sp+464]
    002c1f94adrp x0, 0x44f000
    002c1f98add x0, x0, 3760
    002c1f9cbl crypto/rsa.fipsError2[go.shape.[]uint8]
    002c1fa0str x0, [sp+320]
    002c1fa4str x1, [sp+328]
    002c1fa8str x2, [sp+336]
    002c1facstr x3, [sp+384]
    002c1fb0str x4, [sp+392]
    002c1fb4ldr x9, [sp+320]
    002c1fb8ldr x10, [sp+328]
    002c1fbcldr x11, [sp+336]
    002c1fc0str x9, [sp+432]
    002c1fc4str x10, [sp+440]
    002c1fc8str x11, [sp+448]
    002c1fccldr x9, [sp+384]
    002c1fd0ldr x10, [sp+392]
    002c1fd4str x9, [sp+416]
    002c1fd8str x10, [sp+424]
    002c1fdcldr x9, [sp+432]
    002c1fe0ldr x10, [sp+440]
    002c1fe4ldr x11, [sp+448]
    002c1fe8str x9, [sp+144]
    002c1fecstr x10, [sp+152]
    002c1ff0str x11, [sp+160]
    002c1ff4ldr x3, [sp+416]
    002c1ff8ldr x4, [sp+424]
    002c1ffcstr x3, [sp+128]
    002c2000str x4, [sp+136]
    002c2004ldr x0, [sp+144]
    002c2008ldr x1, [sp+152]
    002c200cldr x2, [sp+160]
    002c2010ldp x29, x30, [sp-8]
    002c2014add sp, sp, 544
    002c2018ret x30
    002c201c
    002c201cloc_2c201c:
    002c201cstp x0, x1, [sp+8]
    002c2020stp x2, x3, [sp+24]
    002c2024stp x4, x5, [sp+40]
    002c2028stp x6, x7, [sp+56]
    002c202cmov x3, x30
    002c2030bl runtime.morestack_noctxt.abi0
    002c2034ldp x0, x1, [sp+8]
    002c2038ldp x2, x3, [sp+24]
    002c203cldp x4, x5, [sp+40]
    002c2040ldp x6, x7, [sp+56]
    002c2044b 0x2c19b0
    002c2048udf 0
    002c204cudf 0
    002c19b0
    002c2050
    002c2050crypto/rsa.VerifyPSS: ; void crypto/rsa.VerifyPSS(crypto/rsa.PublicKey * pub, crypto.Hash hash, struct []uint8 digest, struct []uint8 sig, crypto/rsa.PSSOptions * opts)
    002c2050ldr x16, [x28+16]
    002c2054sub x17, sp, 272
    002c2058subs xzr, x17, x16
    002c205cb.ls 0x2c2460
    002c2060sub x20, sp, 400
    002c2064stp x29, x30, [x20-8]
    002c2068add sp, x20, 0
    002c206csub x29, sp, 8
    002c2070str x0, [sp+408]
    002c2074str x1, [sp+416]
    002c2078str x2, [sp+424]
    002c207cstr x3, [sp+432]
    002c2080str x4, [sp+440]
    002c2084str x5, [sp+448]
    002c2088str x6, [sp+456]
    002c208cstr x7, [sp+464]
    002c2090str x8, [sp+472]
    002c2094stp xzr, xzr, [sp+120]
    002c2098ldr x0, [sp+408]
    002c209cbl crypto/rsa.checkPublicKeySize
    002c20a0str x0, [sp+192]
    002c20a4str x1, [sp+200]
    002c20a8cbnz x0, 0x2c20b0
    002c20acb 0x2c20c4
    002c20b0
    002c20b0loc_2c20b0:
    002c20b0str x0, [sp+120]
    002c20b4str x1, [sp+128]
    002c20b8ldp x29, x30, [sp-8]
    002c20bcadd sp, sp, 400
    002c20c0ret x30
    002c20c4
    002c20c4loc_2c20c4:
    002c20c4ldr x0, [sp+416]
    002c20c8bl crypto.Hash.New
    002c20ccstr x0, [sp+352]
    002c20d0str x1, [sp+360]
    002c20d4bl crypto/internal/fips140hash.Unwrap
    002c20d8str x0, [sp+144]
    002c20dcstr x1, [sp+152]
    002c20e0ldr x0, [sp+408]
    002c20e4bl crypto/rsa.checkFIPS140OnlyPublicKey
    002c20e8str x0, [sp+176]
    002c20ecstr x1, [sp+184]
    002c20f0cbnz x0, 0x2c20f8
    002c20f4b 0x2c210c
    002c20f8
    002c20f8loc_2c20f8:
    002c20f8str x0, [sp+120]
    002c20fcstr x1, [sp+128]
    002c2100ldp x29, x30, [sp-8]
    002c2104add sp, sp, 400
    002c2108ret x30
    002c210c
    002c210cloc_2c210c:
    002c210cadrp x27, 0x789000
    002c2110ldrb w2, [x27+1551]
    002c2114strb w2, [sp+95]
    002c2118tbnz w2, 0, 0x2c2120
    002c211cb 0x2c213c
    002c2120
    002c2120loc_2c2120:
    002c2120ldr x0, [sp+144]
    002c2124ldr x1, [sp+152]
    002c2128bl crypto/internal/fips140only.ApprovedHash
    002c212cstrb w0, [sp+94]
    002c2130eor x2, x0, 1
    002c2134strb w2, [sp+95]
    002c2138b 0x2c2140
    002c213c
    002c213cloc_2c213c:
    002c213cb 0x2c2140
    002c2140
    002c2140loc_2c2140:
    002c2140ldrb w2, [sp+95]
    002c2144tbnz w2, 0, 0x2c214c
    002c2148b 0x2c2178
    002c214c
    002c214cloc_2c214c:
    002c214cadrp x0, 0x40e000
    002c2150add x0, x0, 2236
    002c2154orr x1, xzr, 96
    002c2158bl errors.New
    002c215cstr x0, [sp+336]
    002c2160str x1, [sp+344]
    002c2164str x0, [sp+120]
    002c2168str x1, [sp+128]
    002c216cldp x29, x30, [sp-8]
    002c2170add sp, sp, 400
    002c2174ret x30
    002c2178
    002c2178loc_2c2178:
    002c2178str xzr, [sp+328]
    002c217cstp xzr, xzr, [sp+336]
    002c2180ldr x0, [sp+408]
    002c2184bl crypto/rsa.fipsPublicKey
    002c2188str x0, [sp+328]
    002c218cstr x1, [sp+336]
    002c2190str x2, [sp+344]
    002c2194ldr x1, [sp+328]
    002c2198str x1, [sp+384]
    002c219cldr x1, [sp+336]
    002c21a0ldr x2, [sp+344]
    002c21a4str x1, [sp+368]
    002c21a8str x2, [sp+376]
    002c21acldr x1, [sp+384]
    002c21b0str x1, [sp+136]
    002c21b4ldr x1, [sp+376]
    002c21b8ldr x0, [sp+368]
    002c21bcstr x0, [sp+160]
    002c21c0str x1, [sp+168]
    002c21c4cbnz x0, 0x2c21cc
    002c21c8b 0x2c21e0
    002c21cc
    002c21ccloc_2c21cc:
    002c21ccstr x0, [sp+120]
    002c21d0str x1, [sp+128]
    002c21d4ldp x29, x30, [sp-8]
    002c21d8add sp, sp, 400
    002c21dcret x30
    002c21e0
    002c21e0loc_2c21e0:
    002c21e0ldr x0, [sp+472]
    002c21e4bl crypto/rsa.(*PSSOptions).saltLength
    002c21e8str x0, [sp+96]
    002c21ecadrp x27, 0x789000
    002c21f0ldrb w1, [x27+1551]
    002c21f4strb w1, [sp+95]
    002c21f8tbnz w1, 0, 0x2c2200
    002c21fcb 0x2c222c
    002c2200
    002c2200loc_2c2200:
    002c2200ldr x1, [sp+144]
    002c2204ldrsb x27, [x1]
    002c2208ldr x0, [sp+152]
    002c220cldr x1, [x1+40]
    002c2210blr x1
    002c2214str x0, [sp+112]
    002c2218ldr x1, [sp+96]
    002c221csubs xzr, x0, x1
    002c2220cset x1, lt
    002c2224strb w1, [sp+95]
    002c2228b 0x2c2230
    002c222c
    002c222cloc_2c222c:
    002c222cb 0x2c2230
    002c2230
    002c2230loc_2c2230:
    002c2230ldrb w10, [sp+95]
    002c2234tbnz w10, 0, 0x2c223c
    002c2238b 0x2c2268
    002c223c
    002c223cloc_2c223c:
    002c223cadrp x0, 0x40e000
    002c2240add x0, x0, 791
    002c2244movz x1, 85
    002c2248bl errors.New
    002c224cstr x0, [sp+336]
    002c2250str x1, [sp+344]
    002c2254str x0, [sp+120]
    002c2258str x1, [sp+128]
    002c225cldp x29, x30, [sp-8]
    002c2260add sp, sp, 400
    002c2264ret x30
    002c2268
    002c2268loc_2c2268:
    002c2268ldr x10, [sp+96]
    002c226cstr x10, [sp+104]
    002c2270adds xzr, x10, 1
    002c2274b.eq 0x2c227c
    002c2278b 0x2c2328
    002c227c
    002c227cloc_2c227c:
    002c227cb 0x2c2280
    002c2280
    002c2280loc_2c2280:
    002c2280ldr x1, [sp+144]
    002c2284ldrsb x27, [x1]
    002c2288ldr x1, [x1+40]
    002c228cldr x0, [sp+152]
    002c2290blr x1
    002c2294str x0, [sp+112]
    002c2298ldr x2, [sp+152]
    002c229cldr x1, [sp+144]
    002c22a0str x1, [sp+264]
    002c22a4str x2, [sp+272]
    002c22a8cbnz x1, 0x2c22b0
    002c22acb 0x2c22d0
    002c22b0
    002c22b0loc_2c22b0:
    002c22b0str x2, [sp+208]
    002c22b4ldr x1, [x1+8]
    002c22b8adrp x0, 0x74e000
    002c22bcadd x0, x0, 4016
    002c22c0bl runtime.typeAssert
    002c22c4ldr x2, [sp+208]
    002c22c8mov x1, x0
    002c22ccb 0x2c22d4
    002c22d0
    002c22d0loc_2c22d0:
    002c22d0b 0x2c22d4
    002c22d4
    002c22d4loc_2c22d4:
    002c22d4str x1, [sp+248]
    002c22d8str x2, [sp+256]
    002c22dcldr x9, [sp+112]
    002c22e0ldr x3, [sp+424]
    002c22e4ldr x6, [sp+448]
    002c22e8ldr x0, [sp+136]
    002c22ecldr x4, [sp+432]
    002c22f0ldr x7, [sp+456]
    002c22f4ldr x5, [sp+440]
    002c22f8ldr x8, [sp+464]
    002c22fcbl crypto/internal/fips140/rsa.VerifyPSSWithSaltLength
    002c2300str x0, [sp+312]
    002c2304str x1, [sp+320]
    002c2308bl crypto/rsa.fipsError
    002c230cstr x0, [sp+336]
    002c2310str x1, [sp+344]
    002c2314str x0, [sp+120]
    002c2318str x1, [sp+128]
    002c231cldp x29, x30, [sp-8]
    002c2320add sp, sp, 400
    002c2324ret x30
    002c2328
    002c2328loc_2c2328:
    002c2328cbz x10, 0x2c2330
    002c232cb 0x2c23c4
    002c2330
    002c2330loc_2c2330:
    002c2330b 0x2c2334
    002c2334
    002c2334loc_2c2334:
    002c2334ldr x2, [sp+152]
    002c2338ldr x9, [sp+144]
    002c233cstr x9, [sp+296]
    002c2340str x2, [sp+304]
    002c2344cbnz x9, 0x2c234c
    002c2348b 0x2c236c
    002c234c
    002c234cloc_2c234c:
    002c234cstr x2, [sp+208]
    002c2350ldr x1, [x9+8]
    002c2354adrp x0, 0x74e000
    002c2358add x0, x0, 3984
    002c235cbl runtime.typeAssert
    002c2360ldr x2, [sp+208]
    002c2364mov x9, x0
    002c2368b 0x2c2370
    002c236c
    002c236cloc_2c236c:
    002c236cb 0x2c2370
    002c2370
    002c2370loc_2c2370:
    002c2370str x9, [sp+280]
    002c2374str x2, [sp+288]
    002c2378ldr x3, [sp+424]
    002c237cldr x6, [sp+448]
    002c2380ldr x0, [sp+136]
    002c2384ldr x4, [sp+432]
    002c2388ldr x7, [sp+456]
    002c238cldr x5, [sp+440]
    002c2390ldr x8, [sp+464]
    002c2394mov x1, x9
    002c2398bl crypto/internal/fips140/rsa.VerifyPSS
    002c239cstr x0, [sp+336]
    002c23a0str x1, [sp+344]
    002c23a4bl crypto/rsa.fipsError
    002c23a8str x0, [sp+312]
    002c23acstr x1, [sp+320]
    002c23b0str x0, [sp+120]
    002c23b4str x1, [sp+128]
    002c23b8ldp x29, x30, [sp-8]
    002c23bcadd sp, sp, 400
    002c23c0ret x30
    002c23c4
    002c23c4loc_2c23c4:
    002c23c4b 0x2c23c8
    002c23c8
    002c23c8loc_2c23c8:
    002c23c8b 0x2c23cc
    002c23cc
    002c23ccloc_2c23cc:
    002c23ccldr x2, [sp+152]
    002c23d0ldr x10, [sp+144]
    002c23d4str x10, [sp+232]
    002c23d8str x2, [sp+240]
    002c23dccbnz x10, 0x2c23e4
    002c23e0b 0x2c2404
    002c23e4
    002c23e4loc_2c23e4:
    002c23e4str x2, [sp+208]
    002c23e8ldr x1, [x10+8]
    002c23ecadrp x0, 0x74e000
    002c23f0add x0, x0, 4048
    002c23f4bl runtime.typeAssert
    002c23f8ldr x2, [sp+208]
    002c23fcmov x10, x0
    002c2400b 0x2c2408
    002c2404
    002c2404loc_2c2404:
    002c2404b 0x2c2408
    002c2408
    002c2408loc_2c2408:
    002c2408str x10, [sp+216]
    002c240cstr x2, [sp+224]
    002c2410ldr x9, [sp+96]
    002c2414ldr x3, [sp+424]
    002c2418ldr x6, [sp+448]
    002c241cldr x0, [sp+136]
    002c2420ldr x4, [sp+432]
    002c2424ldr x7, [sp+456]
    002c2428ldr x5, [sp+440]
    002c242cldr x8, [sp+464]
    002c2430mov x1, x10
    002c2434bl crypto/internal/fips140/rsa.VerifyPSSWithSaltLength
    002c2438str x0, [sp+336]
    002c243cstr x1, [sp+344]
    002c2440bl crypto/rsa.fipsError
    002c2444str x0, [sp+312]
    002c2448str x1, [sp+320]
    002c244cstr x0, [sp+120]
    002c2450str x1, [sp+128]
    002c2454ldp x29, x30, [sp-8]
    002c2458add sp, sp, 400
    002c245cret x30
    002c2460
    002c2460loc_2c2460:
    002c2460stp x0, x1, [sp+8]
    002c2464stp x2, x3, [sp+24]
    002c2468stp x4, x5, [sp+40]
    002c246cstp x6, x7, [sp+56]
    002c2470str x8, [sp+72]
    002c2474mov x3, x30
    002c2478bl runtime.morestack_noctxt.abi0
    002c247cldp x0, x1, [sp+8]
    002c2480ldp x2, x3, [sp+24]
    002c2484ldp x4, x5, [sp+40]
    002c2488ldp x6, x7, [sp+56]
    002c248cldr x8, [sp+72]
    002c2490b 0x2c2050
    002c2494udf 0
    002c2498udf 0
    002c249cudf 0
    002c2050
    002c24a0
    002c24a0crypto/rsa.SignPKCS1v15: ; void crypto/rsa.SignPKCS1v15(io.Reader random, crypto/rsa.PrivateKey * priv, crypto.Hash hash, struct []uint8 hashed)
    002c24a0ldr x16, [x28+16]
    002c24a4sub x17, sp, 288
    002c24a8subs xzr, x17, x16
    002c24acb.ls 0x2c2840
    002c24b0sub x20, sp, 416
    002c24b4stp x29, x30, [x20-8]
    002c24b8add sp, x20, 0
    002c24bcsub x29, sp, 8
    002c24c0str x0, [sp+424]
    002c24c4str x1, [sp+432]
    002c24c8str x2, [sp+440]
    002c24ccstr x3, [sp+448]
    002c24d0str x4, [sp+456]
    002c24d4str x5, [sp+464]
    002c24d8str x6, [sp+472]
    002c24dcstr xzr, [sp+96]
    002c24e0stp xzr, xzr, [sp+104]
    002c24e4stp xzr, xzr, [sp+80]
    002c24e8stp xzr, xzr, [sp+128]
    002c24ecldr x1, [sp+448]
    002c24f0cbnz x1, 0x2c24f8
    002c24f4b 0x2c2578
    002c24f8
    002c24f8loc_2c24f8:
    002c24f8ldr x1, [sp+464]
    002c24fcstr x1, [sp+72]
    002c2500ldr x0, [sp+448]
    002c2504bl crypto.Hash.Size
    002c2508str x0, [sp+64]
    002c250cldr x1, [sp+72]
    002c2510subs xzr, x0, x1
    002c2514b.ne 0x2c251c
    002c2518b 0x2c2564
    002c251c
    002c251cloc_2c251c:
    002c251cadrp x0, 0x402000
    002c2520add x0, x0, 1619
    002c2524movz x1, 40
    002c2528bl errors.New
    002c252cstr x0, [sp+288]
    002c2530str x1, [sp+296]
    002c2534str xzr, [sp+96]
    002c2538stp xzr, xzr, [sp+104]
    002c253cldr x3, [sp+288]
    002c2540ldr x4, [sp+296]
    002c2544str x3, [sp+80]
    002c2548str x4, [sp+88]
    002c254cldr x0, [sp+96]
    002c2550ldr x1, [sp+104]
    002c2554ldr x2, [sp+112]
    002c2558ldp x29, x30, [sp-8]
    002c255cadd sp, sp, 416
    002c2560ret x30
    002c2564
    002c2564loc_2c2564:
    002c2564ldr x0, [sp+448]
    002c2568bl crypto.Hash.String
    002c256cstr x0, [sp+128]
    002c2570str x1, [sp+136]
    002c2574b 0x2c257c
    002c2578
    002c2578loc_2c2578:
    002c2578b 0x2c257c
    002c257c
    002c257cloc_2c257c:
    002c257cldr x0, [sp+440]
    002c2580ldrsb x27, [x0]
    002c2584str x0, [sp+192]
    002c2588bl crypto/rsa.checkPublicKeySize
    002c258cstr x0, [sp+176]
    002c2590str x1, [sp+184]
    002c2594cbnz x0, 0x2c259c
    002c2598b 0x2c25cc
    002c259c
    002c259cloc_2c259c:
    002c259cstr xzr, [sp+96]
    002c25a0stp xzr, xzr, [sp+104]
    002c25a4ldr x3, [sp+176]
    002c25a8ldr x4, [sp+184]
    002c25acstr x3, [sp+80]
    002c25b0str x4, [sp+88]
    002c25b4ldr x0, [sp+96]
    002c25b8ldr x1, [sp+104]
    002c25bcldr x2, [sp+112]
    002c25c0ldp x29, x30, [sp-8]
    002c25c4add sp, sp, 416
    002c25c8ret x30
    002c25cc
    002c25ccloc_2c25cc:
    002c25ccldr x0, [sp+440]
    002c25d0bl crypto/rsa.checkFIPS140OnlyPrivateKey
    002c25d4str x0, [sp+160]
    002c25d8str x1, [sp+168]
    002c25dccbnz x0, 0x2c25e4
    002c25e0b 0x2c2614
    002c25e4
    002c25e4loc_2c25e4:
    002c25e4str xzr, [sp+96]
    002c25e8stp xzr, xzr, [sp+104]
    002c25ecldr x3, [sp+160]
    002c25f0ldr x4, [sp+168]
    002c25f4str x3, [sp+80]
    002c25f8str x4, [sp+88]
    002c25fcldr x0, [sp+96]
    002c2600ldr x1, [sp+104]
    002c2604ldr x2, [sp+112]
    002c2608ldp x29, x30, [sp-8]
    002c260cadd sp, sp, 416
    002c2610ret x30
    002c2614
    002c2614loc_2c2614:
    002c2614adrp x27, 0x789000
    002c2618ldrb w2, [x27+1551]
    002c261cstrb w2, [sp+63]
    002c2620tbnz w2, 0, 0x2c2628
    002c2624b 0x2c2658
    002c2628
    002c2628loc_2c2628:
    002c2628ldr x0, [sp+448]
    002c262cbl crypto.Hash.New
    002c2630str x0, [sp+272]
    002c2634str x1, [sp+280]
    002c2638bl crypto/internal/fips140hash.Unwrap
    002c263cstr x0, [sp+256]
    002c2640str x1, [sp+264]
    002c2644bl crypto/internal/fips140only.ApprovedHash
    002c2648strb w0, [sp+62]
    002c264ceor x1, x0, 1
    002c2650strb w1, [sp+63]
    002c2654b 0x2c265c
    002c2658
    002c2658loc_2c2658:
    002c2658b 0x2c265c
    002c265c
    002c265cloc_2c265c:
    002c265cldrb w2, [sp+63]
    002c2660tbnz w2, 0, 0x2c2668
    002c2664b 0x2c26b0
    002c2668
    002c2668loc_2c2668:
    002c2668adrp x0, 0x40e000
    002c266cadd x0, x0, 2236
    002c2670orr x1, xzr, 96
    002c2674bl errors.New
    002c2678str x0, [sp+288]
    002c267cstr x1, [sp+296]
    002c2680str xzr, [sp+96]
    002c2684stp xzr, xzr, [sp+104]
    002c2688ldr x3, [sp+288]
    002c268cldr x4, [sp+296]
    002c2690str x3, [sp+80]
    002c2694str x4, [sp+88]
    002c2698ldr x0, [sp+96]
    002c269cldr x1, [sp+104]
    002c26a0ldr x2, [sp+112]
    002c26a4ldp x29, x30, [sp-8]
    002c26a8add sp, sp, 416
    002c26acret x30
    002c26b0
    002c26b0loc_2c26b0:
    002c26b0str xzr, [sp+248]
    002c26b4stp xzr, xzr, [sp+288]
    002c26b8ldr x0, [sp+440]
    002c26bcbl crypto/rsa.fipsPrivateKey
    002c26c0str x0, [sp+248]
    002c26c4str x1, [sp+288]
    002c26c8str x2, [sp+296]
    002c26ccldr x1, [sp+248]
    002c26d0str x1, [sp+400]
    002c26d4ldr x1, [sp+288]
    002c26d8ldr x2, [sp+296]
    002c26dcstr x1, [sp+384]
    002c26e0str x2, [sp+392]
    002c26e4ldr x1, [sp+400]
    002c26e8str x1, [sp+120]
    002c26ecldr x1, [sp+392]
    002c26f0ldr x2, [sp+384]
    002c26f4str x2, [sp+144]
    002c26f8str x1, [sp+152]
    002c26fccbnz x2, 0x2c2704
    002c2700b 0x2c2734
    002c2704
    002c2704loc_2c2704:
    002c2704str xzr, [sp+96]
    002c2708stp xzr, xzr, [sp+104]
    002c270cldr x3, [sp+144]
    002c2710ldr x4, [sp+152]
    002c2714str x3, [sp+80]
    002c2718str x4, [sp+88]
    002c271cldr x0, [sp+96]
    002c2720ldr x1, [sp+104]
    002c2724ldr x2, [sp+112]
    002c2728ldp x29, x30, [sp-8]
    002c272cadd sp, sp, 416
    002c2730ret x30
    002c2734
    002c2734loc_2c2734:
    002c2734str xzr, [sp+224]
    002c2738stp xzr, xzr, [sp+232]
    002c273cstp xzr, xzr, [sp+288]
    002c2740ldr x1, [sp+128]
    002c2744ldr x3, [sp+456]
    002c2748ldr x2, [sp+136]
    002c274cldr x4, [sp+464]
    002c2750ldr x5, [sp+472]
    002c2754ldr x0, [sp+120]
    002c2758bl crypto/internal/fips140/rsa.SignPKCS1v15
    002c275cstr x0, [sp+224]
    002c2760str x1, [sp+232]
    002c2764str x2, [sp+240]
    002c2768str x3, [sp+288]
    002c276cstr x4, [sp+296]
    002c2770ldr x6, [sp+224]
    002c2774ldr x7, [sp+232]
    002c2778ldr x8, [sp+240]
    002c277cstr x6, [sp+360]
    002c2780str x7, [sp+368]
    002c2784str x8, [sp+376]
    002c2788ldr x6, [sp+288]
    002c278cldr x7, [sp+296]
    002c2790str x6, [sp+344]
    002c2794str x7, [sp+352]
    002c2798str xzr, [sp+200]
    002c279cstp xzr, xzr, [sp+208]
    002c27a0stp xzr, xzr, [sp+288]
    002c27a4ldr x1, [sp+360]
    002c27a8ldr x2, [sp+368]
    002c27acldr x3, [sp+376]
    002c27b0ldr x4, [sp+344]
    002c27b4ldr x5, [sp+352]
    002c27b8adrp x0, 0x44e000
    002c27bcadd x0, x0, 3760
    002c27c0bl crypto/rsa.fipsError2[go.shape.[]uint8]
    002c27c4str x0, [sp+200]
    002c27c8str x1, [sp+208]
    002c27ccstr x2, [sp+216]
    002c27d0str x3, [sp+288]
    002c27d4str x4, [sp+296]
    002c27d8ldr x6, [sp+200]
    002c27dcldr x7, [sp+208]
    002c27e0ldr x8, [sp+216]
    002c27e4str x6, [sp+320]
    002c27e8str x7, [sp+328]
    002c27ecstr x8, [sp+336]
    002c27f0ldr x6, [sp+288]
    002c27f4ldr x7, [sp+296]
    002c27f8str x6, [sp+304]
    002c27fcstr x7, [sp+312]
    002c2800ldr x6, [sp+320]
    002c2804ldr x7, [sp+328]
    002c2808ldr x8, [sp+336]
    002c280cstr x6, [sp+96]
    002c2810str x7, [sp+104]
    002c2814str x8, [sp+112]
    002c2818ldr x3, [sp+304]
    002c281cldr x4, [sp+312]
    002c2820str x3, [sp+80]
    002c2824str x4, [sp+88]
    002c2828ldr x0, [sp+96]
    002c282cldr x1, [sp+104]
    002c2830ldr x2, [sp+112]
    002c2834ldp x29, x30, [sp-8]
    002c2838add sp, sp, 416
    002c283cret x30
    002c2840
    002c2840loc_2c2840:
    002c2840stp x0, x1, [sp+8]
    002c2844stp x2, x3, [sp+24]
    002c2848stp x4, x5, [sp+40]
    002c284cstr x6, [sp+56]
    002c2850mov x3, x30
    002c2854bl runtime.morestack_noctxt.abi0
    002c2858ldp x0, x1, [sp+8]
    002c285cldp x2, x3, [sp+24]
    002c2860ldp x4, x5, [sp+40]
    002c2864ldr x6, [sp+56]
    002c2868b 0x2c24a0
    002c286cudf 0
    002c24a0
    002c2870
    002c2870crypto/rsa.VerifyPKCS1v15: ; void crypto/rsa.VerifyPKCS1v15(crypto/rsa.PublicKey * pub, crypto.Hash hash, struct []uint8 hashed, struct []uint8 sig)
    002c2870ldr x16, [x28+16]
    002c2874sub x17, sp, 176
    002c2878subs xzr, x17, x16
    002c287cb.ls 0x2c2abc
    002c2880sub x20, sp, 304
    002c2884stp x29, x30, [x20-8]
    002c2888add sp, x20, 0
    002c288csub x29, sp, 8
    002c2890str x0, [sp+312]
    002c2894str x1, [sp+320]
    002c2898str x2, [sp+328]
    002c289cstr x3, [sp+336]
    002c28a0str x4, [sp+344]
    002c28a4str x5, [sp+352]
    002c28a8str x6, [sp+360]
    002c28acstr x7, [sp+368]
    002c28b0stp xzr, xzr, [sp+112]
    002c28b4stp xzr, xzr, [sp+136]
    002c28b8ldr x1, [sp+320]
    002c28bccbnz x1, 0x2c28c4
    002c28c0b 0x2c2928
    002c28c4
    002c28c4loc_2c28c4:
    002c28c4ldr x1, [sp+336]
    002c28c8str x1, [sp+104]
    002c28ccldr x0, [sp+320]
    002c28d0bl crypto.Hash.Size
    002c28d4str x0, [sp+96]
    002c28d8ldr x1, [sp+104]
    002c28dcsubs xzr, x0, x1
    002c28e0b.ne 0x2c28e8
    002c28e4b 0x2c2914
    002c28e8
    002c28e8loc_2c28e8:
    002c28e8adrp x0, 0x402000
    002c28ecadd x0, x0, 1619
    002c28f0movz x1, 40
    002c28f4bl errors.New
    002c28f8str x0, [sp+256]
    002c28fcstr x1, [sp+264]
    002c2900str x0, [sp+112]
    002c2904str x1, [sp+120]
    002c2908ldp x29, x30, [sp-8]
    002c290cadd sp, sp, 304
    002c2910ret x30
    002c2914
    002c2914loc_2c2914:
    002c2914ldr x0, [sp+320]
    002c2918bl crypto.Hash.String
    002c291cstr x0, [sp+136]
    002c2920str x1, [sp+144]
    002c2924b 0x2c292c
    002c2928
    002c2928loc_2c2928:
    002c2928b 0x2c292c
    002c292c
    002c292cloc_2c292c:
    002c292cldr x0, [sp+312]
    002c2930bl crypto/rsa.checkPublicKeySize
    002c2934str x0, [sp+184]
    002c2938str x1, [sp+192]
    002c293ccbnz x0, 0x2c2944
    002c2940b 0x2c2958
    002c2944
    002c2944loc_2c2944:
    002c2944str x0, [sp+112]
    002c2948str x1, [sp+120]
    002c294cldp x29, x30, [sp-8]
    002c2950add sp, sp, 304
    002c2954ret x30
    002c2958
    002c2958loc_2c2958:
    002c2958ldr x0, [sp+312]
    002c295cbl crypto/rsa.checkFIPS140OnlyPublicKey
    002c2960str x0, [sp+168]
    002c2964str x1, [sp+176]
    002c2968cbnz x0, 0x2c2970
    002c296cb 0x2c2984
    002c2970
    002c2970loc_2c2970:
    002c2970str x0, [sp+112]
    002c2974str x1, [sp+120]
    002c2978ldp x29, x30, [sp-8]
    002c297cadd sp, sp, 304
    002c2980ret x30
    002c2984
    002c2984loc_2c2984:
    002c2984adrp x27, 0x789000
    002c2988ldrb w2, [x27+1551]
    002c298cstrb w2, [sp+95]
    002c2990tbnz w2, 0, 0x2c2998
    002c2994b 0x2c29c8
    002c2998
    002c2998loc_2c2998:
    002c2998ldr x0, [sp+320]
    002c299cbl crypto.Hash.New
    002c29a0str x0, [sp+240]
    002c29a4str x1, [sp+248]
    002c29a8bl crypto/internal/fips140hash.Unwrap
    002c29acstr x0, [sp+224]
    002c29b0str x1, [sp+232]
    002c29b4bl crypto/internal/fips140only.ApprovedHash
    002c29b8strb w0, [sp+94]
    002c29bceor x1, x0, 1
    002c29c0strb w1, [sp+95]
    002c29c4b 0x2c29cc
    002c29c8
    002c29c8loc_2c29c8:
    002c29c8b 0x2c29cc
    002c29cc
    002c29ccloc_2c29cc:
    002c29ccldrb w2, [sp+95]
    002c29d0tbnz w2, 0, 0x2c29d8
    002c29d4b 0x2c2a04
    002c29d8
    002c29d8loc_2c29d8:
    002c29d8adrp x0, 0x40e000
    002c29dcadd x0, x0, 2236
    002c29e0orr x1, xzr, 96
    002c29e4bl errors.New
    002c29e8str x0, [sp+256]
    002c29ecstr x1, [sp+264]
    002c29f0str x0, [sp+112]
    002c29f4str x1, [sp+120]
    002c29f8ldp x29, x30, [sp-8]
    002c29fcadd sp, sp, 304
    002c2a00ret x30
    002c2a04
    002c2a04loc_2c2a04:
    002c2a04str xzr, [sp+216]
    002c2a08stp xzr, xzr, [sp+256]
    002c2a0cldr x0, [sp+312]
    002c2a10bl crypto/rsa.fipsPublicKey
    002c2a14str x0, [sp+216]
    002c2a18str x1, [sp+256]
    002c2a1cstr x2, [sp+264]
    002c2a20ldr x1, [sp+216]
    002c2a24str x1, [sp+288]
    002c2a28ldr x1, [sp+256]
    002c2a2cldr x2, [sp+264]
    002c2a30str x1, [sp+272]
    002c2a34str x2, [sp+280]
    002c2a38ldr x1, [sp+288]
    002c2a3cstr x1, [sp+128]
    002c2a40ldr x1, [sp+280]
    002c2a44ldr x0, [sp+272]
    002c2a48str x0, [sp+152]
    002c2a4cstr x1, [sp+160]
    002c2a50cbnz x0, 0x2c2a58
    002c2a54b 0x2c2a6c
    002c2a58
    002c2a58loc_2c2a58:
    002c2a58str x0, [sp+112]
    002c2a5cstr x1, [sp+120]
    002c2a60ldp x29, x30, [sp-8]
    002c2a64add sp, sp, 304
    002c2a68ret x30
    002c2a6c
    002c2a6cloc_2c2a6c:
    002c2a6cldr x1, [sp+136]
    002c2a70ldr x3, [sp+328]
    002c2a74ldr x6, [sp+352]
    002c2a78ldr x2, [sp+144]
    002c2a7cldr x4, [sp+336]
    002c2a80ldr x7, [sp+360]
    002c2a84ldr x5, [sp+344]
    002c2a88ldr x8, [sp+368]
    002c2a8cldr x0, [sp+128]
    002c2a90bl crypto/internal/fips140/rsa.VerifyPKCS1v15
    002c2a94str x0, [sp+256]
    002c2a98str x1, [sp+264]
    002c2a9cbl crypto/rsa.fipsError
    002c2aa0str x0, [sp+200]
    002c2aa4str x1, [sp+208]
    002c2aa8str x0, [sp+112]
    002c2aacstr x1, [sp+120]
    002c2ab0ldp x29, x30, [sp-8]
    002c2ab4add sp, sp, 304
    002c2ab8ret x30
    002c2abc
    002c2abcloc_2c2abc:
    002c2abcstp x0, x1, [sp+8]
    002c2ac0stp x2, x3, [sp+24]
    002c2ac4stp x4, x5, [sp+40]
    002c2ac8stp x6, x7, [sp+56]
    002c2accmov x3, x30
    002c2ad0bl runtime.morestack_noctxt.abi0
    002c2ad4ldp x0, x1, [sp+8]
    002c2ad8ldp x2, x3, [sp+24]
    002c2adcldp x4, x5, [sp+40]
    002c2ae0ldp x6, x7, [sp+56]
    002c2ae4b 0x2c2870
    002c2ae8udf 0
    002c2aecudf 0
    002c2870
    002c2af0
    002c2af0crypto/rsa.fipsError: ; void crypto/rsa.fipsError(error err)
    002c2af0ldr x16, [x28+16]
    002c2af4subs xzr, sp, x16
    002c2af8b.ls 0x2c2c64
    002c2afcstr x30, [sp-80]!
    002c2b00stur x29, [sp-8]
    002c2b04sub x29, sp, 8
    002c2b08str x0, [sp+88]
    002c2b0cstr x1, [sp+96]
    002c2b10stp xzr, xzr, [sp+40]
    002c2b14ldr x0, [sp+88]
    002c2b18ldr x1, [sp+96]
    002c2b1cstr x0, [sp+56]
    002c2b20str x1, [sp+64]
    002c2b24adrp x27, 0x760000
    002c2b28ldr x3, [x27+784]
    002c2b2csubs xzr, x3, x0
    002c2b30b.eq 0x2c2b38
    002c2b34b 0x2c2b78
    002c2b38
    002c2b38loc_2c2b38:
    002c2b38adrp x27, 0x760000
    002c2b3cldr x2, [x27+792]
    002c2b40bl runtime.ifaceeq
    002c2b44tbnz w0, 0, 0x2c2b4c
    002c2b48b 0x2c2b74
    002c2b4c
    002c2b4cloc_2c2b4c:
    002c2b4cb 0x2c2b50
    002c2b50
    002c2b50loc_2c2b50:
    002c2b50adrp x27, 0x75f000
    002c2b54ldr x0, [x27+4016]
    002c2b58adrp x27, 0x75f000
    002c2b5cldr x1, [x27+4024]
    002c2b60str x0, [sp+40]
    002c2b64str x1, [sp+48]
    002c2b68ldur x29, [sp-8]
    002c2b6cldr x30, [sp], 80
    002c2b70ret x30
    002c2b74
    002c2b74loc_2c2b74:
    002c2b74b 0x2c2b7c
    002c2b78
    002c2b78loc_2c2b78:
    002c2b78b 0x2c2b7c
    002c2b7c
    002c2b7cloc_2c2b7c:
    002c2b7cadrp x27, 0x760000
    002c2b80ldr x3, [x27+800]
    002c2b84ldr x4, [sp+56]
    002c2b88subs xzr, x3, x4
    002c2b8cb.eq 0x2c2b94
    002c2b90b 0x2c2bdc
    002c2b94
    002c2b94loc_2c2b94:
    002c2b94adrp x27, 0x760000
    002c2b98ldr x2, [x27+808]
    002c2b9cldr x1, [sp+64]
    002c2ba0ldr x0, [sp+56]
    002c2ba4bl runtime.ifaceeq
    002c2ba8tbnz w0, 0, 0x2c2bb0
    002c2bacb 0x2c2bd8
    002c2bb0
    002c2bb0loc_2c2bb0:
    002c2bb0b 0x2c2bb4
    002c2bb4
    002c2bb4loc_2c2bb4:
    002c2bb4adrp x27, 0x75f000
    002c2bb8ldr x0, [x27+4032]
    002c2bbcadrp x27, 0x75f000
    002c2bc0ldr x1, [x27+4040]
    002c2bc4str x0, [sp+40]
    002c2bc8str x1, [sp+48]
    002c2bccldur x29, [sp-8]
    002c2bd0ldr x30, [sp], 80
    002c2bd4ret x30
    002c2bd8
    002c2bd8loc_2c2bd8:
    002c2bd8b 0x2c2be0
    002c2bdc
    002c2bdcloc_2c2bdc:
    002c2bdcb 0x2c2be0
    002c2be0
    002c2be0loc_2c2be0:
    002c2be0adrp x27, 0x760000
    002c2be4ldr x3, [x27+768]
    002c2be8ldr x4, [sp+56]
    002c2becsubs xzr, x3, x4
    002c2bf0b.eq 0x2c2bf8
    002c2bf4b 0x2c2c40
    002c2bf8
    002c2bf8loc_2c2bf8:
    002c2bf8adrp x27, 0x760000
    002c2bfcldr x2, [x27+776]
    002c2c00ldr x0, [sp+56]
    002c2c04ldr x1, [sp+64]
    002c2c08bl runtime.ifaceeq
    002c2c0ctbnz w0, 0, 0x2c2c14
    002c2c10b 0x2c2c3c
    002c2c14
    002c2c14loc_2c2c14:
    002c2c14b 0x2c2c18
    002c2c18
    002c2c18loc_2c2c18:
    002c2c18adrp x27, 0x75f000
    002c2c1cldr x0, [x27+4000]
    002c2c20adrp x27, 0x75f000
    002c2c24ldr x1, [x27+4008]
    002c2c28str x0, [sp+40]
    002c2c2cstr x1, [sp+48]
    002c2c30ldur x29, [sp-8]
    002c2c34ldr x30, [sp], 80
    002c2c38ret x30
    002c2c3c
    002c2c3cloc_2c2c3c:
    002c2c3cb 0x2c2c44
    002c2c40
    002c2c40loc_2c2c40:
    002c2c40b 0x2c2c44
    002c2c44
    002c2c44loc_2c2c44:
    002c2c44b 0x2c2c48
    002c2c48
    002c2c48loc_2c2c48:
    002c2c48ldr x0, [sp+88]
    002c2c4cldr x1, [sp+96]
    002c2c50str x0, [sp+40]
    002c2c54str x1, [sp+48]
    002c2c58ldur x29, [sp-8]
    002c2c5cldr x30, [sp], 80
    002c2c60ret x30
    002c2c64
    002c2c64loc_2c2c64:
    002c2c64stp x0, x1, [sp+8]
    002c2c68mov x3, x30
    002c2c6cbl runtime.morestack_noctxt.abi0
    002c2c70ldp x0, x1, [sp+8]
    002c2c74b 0x2c2af0
    002c2c78udf 0
    002c2c7cudf 0
    002c2af0
    002c2c80
    002c2c80crypto/rsa.checkFIPS140OnlyPublicKey: ; void crypto/rsa.checkFIPS140OnlyPublicKey(crypto/rsa.PublicKey * pub)
    002c2c80ldr x16, [x28+16]
    002c2c84subs xzr, sp, x16
    002c2c88b.ls 0x2c2e50
    002c2c8cstr x30, [sp-96]!
    002c2c90stur x29, [sp-8]
    002c2c94sub x29, sp, 8
    002c2c98str x0, [sp+104]
    002c2c9cstp xzr, xzr, [sp+40]
    002c2ca0adrp x27, 0x789000
    002c2ca4ldrb w2, [x27+1551]
    002c2ca8tbnz w2, 0, 0x2c2cb0
    002c2cacb 0x2c2e38
    002c2cb0
    002c2cb0loc_2c2cb0:
    002c2cb0ldr x2, [sp+104]
    002c2cb4ldrsb x27, [x2]
    002c2cb8ldr x2, [x2]
    002c2cbccbnz x2, 0x2c2cc4
    002c2cc0b 0x2c2e0c
    002c2cc4
    002c2cc4loc_2c2cc4:
    002c2cc4ldr x1, [sp+104]
    002c2cc8ldrsb x27, [x1]
    002c2cccldr x0, [x1]
    002c2cd0str x0, [sp+64]
    002c2cd4bl math/big.(*Int).BitLen
    002c2cd8str x0, [sp+32]
    002c2cdcsubs xzr, x0, 2048
    002c2ce0b.lt 0x2c2ce8
    002c2ce4b 0x2c2d14
    002c2ce8
    002c2ce8loc_2c2ce8:
    002c2ce8adrp x0, 0x40d000
    002c2cecadd x0, x0, 3879
    002c2cf0movz x1, 83
    002c2cf4bl errors.New
    002c2cf8str x0, [sp+72]
    002c2cfcstr x1, [sp+80]
    002c2d00str x0, [sp+40]
    002c2d04str x1, [sp+48]
    002c2d08ldur x29, [sp-8]
    002c2d0cldr x30, [sp], 96
    002c2d10ret x30
    002c2d14
    002c2d14loc_2c2d14:
    002c2d14ldr x1, [sp+104]
    002c2d18ldrsb x27, [x1]
    002c2d1cldr x0, [x1]
    002c2d20str x0, [sp+56]
    002c2d24bl math/big.(*Int).BitLen
    002c2d28str x0, [sp+32]
    002c2d2cadd x1, x0, x0, lsr #63
    002c2d30and x1, x1, -2
    002c2d34sub x1, x0, x1
    002c2d38subs xzr, x1, 1
    002c2d3cb.eq 0x2c2d44
    002c2d40b 0x2c2d70
    002c2d44
    002c2d44loc_2c2d44:
    002c2d44adrp x0, 0x40c000
    002c2d48add x0, x0, 3820
    002c2d4cmovz x1, 74
    002c2d50bl errors.New
    002c2d54str x0, [sp+72]
    002c2d58str x1, [sp+80]
    002c2d5cstr x0, [sp+40]
    002c2d60str x1, [sp+48]
    002c2d64ldur x29, [sp-8]
    002c2d68ldr x30, [sp], 96
    002c2d6cret x30
    002c2d70
    002c2d70loc_2c2d70:
    002c2d70ldr x2, [sp+104]
    002c2d74ldrsb x27, [x2]
    002c2d78ldr x2, [x2+8]
    002c2d7csubs xzr, x2, 0x10000
    002c2d80b.le 0x2c2d88
    002c2d84b 0x2c2db4
    002c2d88
    002c2d88loc_2c2d88:
    002c2d88adrp x0, 0x40d000
    002c2d8cadd x0, x0, 2894
    002c2d90movz x1, 81
    002c2d94bl errors.New
    002c2d98str x0, [sp+72]
    002c2d9cstr x1, [sp+80]
    002c2da0str x0, [sp+40]
    002c2da4str x1, [sp+48]
    002c2da8ldur x29, [sp-8]
    002c2dacldr x30, [sp], 96
    002c2db0ret x30
    002c2db4
    002c2db4loc_2c2db4:
    002c2db4ldr x2, [sp+104]
    002c2db8ldrsb x27, [x2]
    002c2dbcldr x2, [x2+8]
    002c2dc0tbz w2, 0, 0x2c2dc8
    002c2dc4b 0x2c2df4
    002c2dc8
    002c2dc8loc_2c2dc8:
    002c2dc8adrp x0, 0x40d000
    002c2dccadd x0, x0, 547
    002c2dd0movz x1, 76
    002c2dd4bl errors.New
    002c2dd8str x0, [sp+72]
    002c2ddcstr x1, [sp+80]
    002c2de0str x0, [sp+40]
    002c2de4str x1, [sp+48]
    002c2de8ldur x29, [sp-8]
    002c2decldr x30, [sp], 96
    002c2df0ret x30
    002c2df4
    002c2df4loc_2c2df4:
    002c2df4stp xzr, xzr, [sp+40]
    002c2df8mov x0, xzr
    002c2dfcmov x1, xzr
    002c2e00ldur x29, [sp-8]
    002c2e04ldr x30, [sp], 96
    002c2e08ret x30
    002c2e0c
    002c2e0cloc_2c2e0c:
    002c2e0cadrp x0, 0x3fc000
    002c2e10add x0, x0, 3312
    002c2e14orr x1, xzr, 32
    002c2e18bl errors.New
    002c2e1cstr x0, [sp+72]
    002c2e20str x1, [sp+80]
    002c2e24str x0, [sp+40]
    002c2e28str x1, [sp+48]
    002c2e2cldur x29, [sp-8]
    002c2e30ldr x30, [sp], 96
    002c2e34ret x30
    002c2e38
    002c2e38loc_2c2e38:
    002c2e38stp xzr, xzr, [sp+40]
    002c2e3cmov x0, xzr
    002c2e40mov x1, xzr
    002c2e44ldur x29, [sp-8]
    002c2e48ldr x30, [sp], 96
    002c2e4cret x30
    002c2e50
    002c2e50loc_2c2e50:
    002c2e50str x0, [sp+8]
    002c2e54mov x3, x30
    002c2e58bl runtime.morestack_noctxt.abi0
    002c2e5cldr x0, [sp+8]
    002c2e60b 0x2c2c80
    002c2e64udf 0
    002c2e68udf 0
    002c2e6cudf 0
    002c2c80
    002c2e70
    002c2e70crypto/rsa.checkFIPS140OnlyPrivateKey: ; void crypto/rsa.checkFIPS140OnlyPrivateKey(crypto/rsa.PrivateKey * priv)
    002c2e70ldr x16, [x28+16]
    002c2e74subs xzr, sp, x16
    002c2e78b.ls 0x2c309c
    002c2e7cstr x30, [sp-128]!
    002c2e80stur x29, [sp-8]
    002c2e84sub x29, sp, 8
    002c2e88str x0, [sp+136]
    002c2e8cstp xzr, xzr, [sp+48]
    002c2e90adrp x27, 0x789000
    002c2e94ldrb w2, [x27+1551]
    002c2e98tbnz w2, 0, 0x2c2ea0
    002c2e9cb 0x2c305c
    002c2ea0
    002c2ea0loc_2c2ea0:
    002c2ea0ldr x0, [sp+136]
    002c2ea4ldrsb x27, [x0]
    002c2ea8str x0, [sp+88]
    002c2eacbl crypto/rsa.checkFIPS140OnlyPublicKey
    002c2eb0str x0, [sp+64]
    002c2eb4str x1, [sp+72]
    002c2eb8cbnz x0, 0x2c2ec0
    002c2ebcb 0x2c2ed4
    002c2ec0
    002c2ec0loc_2c2ec0:
    002c2ec0str x0, [sp+48]
    002c2ec4str x1, [sp+56]
    002c2ec8ldur x29, [sp-8]
    002c2eccldr x30, [sp], 128
    002c2ed0ret x30
    002c2ed4
    002c2ed4loc_2c2ed4:
    002c2ed4ldr x2, [sp+136]
    002c2ed8ldrsb x27, [x2]
    002c2edcldr x2, [x2+32]
    002c2ee0str x2, [sp+40]
    002c2ee4subs xzr, x2, 2
    002c2ee8b.ne 0x2c2ef0
    002c2eecb 0x2c2f1c
    002c2ef0
    002c2ef0loc_2c2ef0:
    002c2ef0adrp x0, 0x40c000
    002c2ef4add x0, x0, 3017
    002c2ef8movz x1, 72
    002c2efcbl errors.New
    002c2f00str x0, [sp+96]
    002c2f04str x1, [sp+104]
    002c2f08str x0, [sp+48]
    002c2f0cstr x1, [sp+56]
    002c2f10ldur x29, [sp-8]
    002c2f14ldr x30, [sp], 128
    002c2f18ret x30
    002c2f1c
    002c2f1cloc_2c2f1c:
    002c2f1cldr x2, [sp+136]
    002c2f20ldrsb x27, [x2]
    002c2f24ldr x1, [x2+32]
    002c2f28ldr x2, [x2+24]
    002c2f2csubs xzr, x1, 0
    002c2f30b.hi 0x2c2f38
    002c2f34b 0x2c3090
    002c2f38
    002c2f38loc_2c2f38:
    002c2f38ldr x2, [x2]
    002c2f3csubs xzr, x2, 0
    002c2f40cset x3, ne
    002c2f44eor x3, x3, 1
    002c2f48strb w3, [sp+30]
    002c2f4ccbnz x2, 0x2c2f54
    002c2f50b 0x2c2f88
    002c2f54
    002c2f54loc_2c2f54:
    002c2f54ldr x2, [sp+136]
    002c2f58ldrsb x27, [x2]
    002c2f5cldr x1, [x2+32]
    002c2f60ldr x2, [x2+24]
    002c2f64subs xzr, x1, 1
    002c2f68b.hi 0x2c2f70
    002c2f6cb 0x2c3088
    002c2f70
    002c2f70loc_2c2f70:
    002c2f70ldr x2, [x2+8]
    002c2f74subs xzr, x2, 0
    002c2f78cset x2, ne
    002c2f7ceor x2, x2, 1
    002c2f80strb w2, [sp+30]
    002c2f84b 0x2c2f8c
    002c2f88
    002c2f88loc_2c2f88:
    002c2f88b 0x2c2f8c
    002c2f8c
    002c2f8cloc_2c2f8c:
    002c2f8cldrb w2, [sp+30]
    002c2f90strb w2, [sp+31]
    002c2f94tbnz w2, 0, 0x2c2f9c
    002c2f98b 0x2c2fa0
    002c2f9c
    002c2f9cloc_2c2f9c:
    002c2f9cb 0x2c300c
    002c2fa0
    002c2fa0loc_2c2fa0:
    002c2fa0ldr x2, [sp+136]
    002c2fa4ldrsb x27, [x2]
    002c2fa8ldr x1, [x2+32]
    002c2facldr x2, [x2+24]
    002c2fb0subs xzr, x1, 0
    002c2fb4b.hi 0x2c2fbc
    002c2fb8b 0x2c3080
    002c2fbc
    002c2fbcloc_2c2fbc:
    002c2fbcldr x0, [x2]
    002c2fc0str x0, [sp+80]
    002c2fc4bl math/big.(*Int).BitLen
    002c2fc8str x0, [sp+40]
    002c2fccldr x1, [sp+136]
    002c2fd0ldrsb x27, [x1]
    002c2fd4ldr x2, [x1+32]
    002c2fd8ldr x1, [x1+24]
    002c2fdcsubs xzr, x2, 1
    002c2fe0b.hi 0x2c2fe8
    002c2fe4b 0x2c3074
    002c2fe8
    002c2fe8loc_2c2fe8:
    002c2fe8ldr x0, [x1+8]
    002c2fecstr x0, [sp+112]
    002c2ff0bl math/big.(*Int).BitLen
    002c2ff4str x0, [sp+32]
    002c2ff8ldr x1, [sp+40]
    002c2ffcsubs xzr, x0, x1
    002c3000cset x1, ne
    002c3004strb w1, [sp+31]
    002c3008b 0x2c300c
    002c300c
    002c300cloc_2c300c:
    002c300cldrb w2, [sp+31]
    002c3010tbnz w2, 0, 0x2c3018
    002c3014b 0x2c3044
    002c3018
    002c3018loc_2c3018:
    002c3018adrp x0, 0x40c000
    002c301cadd x0, x0, 2975
    002c3020movz x1, 81
    002c3024bl errors.New
    002c3028str x0, [sp+96]
    002c302cstr x1, [sp+104]
    002c3030str x0, [sp+48]
    002c3034str x1, [sp+56]
    002c3038ldur x29, [sp-8]
    002c303cldr x30, [sp], 128
    002c3040ret x30
    002c3044
    002c3044loc_2c3044:
    002c3044stp xzr, xzr, [sp+48]
    002c3048mov x0, xzr
    002c304cmov x1, xzr
    002c3050ldur x29, [sp-8]
    002c3054ldr x30, [sp], 128
    002c3058ret x30
    002c305c
    002c305cloc_2c305c:
    002c305cstp xzr, xzr, [sp+48]
    002c3060mov x0, xzr
    002c3064mov x1, xzr
    002c3068ldur x29, [sp-8]
    002c306cldr x30, [sp], 128
    002c3070ret x30
    002c3074
    002c3074loc_2c3074:
    002c3074orr x0, xzr, 1
    002c3078mov x1, x2
    002c307cbl runtime.panicIndex
    002c3080
    002c3080loc_2c3080:
    002c3080mov x0, xzr
    002c3084bl runtime.panicIndex
    002c3088
    002c3088loc_2c3088:
    002c3088orr x0, xzr, 1
    002c308cbl runtime.panicIndex
    002c3090
    002c3090loc_2c3090:
    002c3090mov x0, xzr
    002c3094bl runtime.panicIndex
    002c3098hint
    002c309c
    002c309cloc_2c309c:
    002c309cstr x0, [sp+8]
    002c30a0mov x3, x30
    002c30a4bl runtime.morestack_noctxt.abi0
    002c30a8ldr x0, [sp+8]
    002c30acb 0x2c2e70
    002c2e70
    002c30b0
    002c30b0crypto/rsa.EncryptPKCS1v15: ; void crypto/rsa.EncryptPKCS1v15(io.Reader random, crypto/rsa.PublicKey * pub, struct []uint8 msg)
    002c30b0ldr x16, [x28+16]
    002c30b4sub x17, sp, 352
    002c30b8subs xzr, x17, x16
    002c30bcb.ls 0x2c3578
    002c30c0sub x20, sp, 480
    002c30c4stp x29, x30, [x20-8]
    002c30c8add sp, x20, 0
    002c30ccsub x29, sp, 8
    002c30d0str x0, [sp+488]
    002c30d4str x1, [sp+496]
    002c30d8str x2, [sp+504]
    002c30dcstr x3, [sp+512]
    002c30e0str x4, [sp+520]
    002c30e4str x5, [sp+528]
    002c30e8str xzr, [sp+152]
    002c30ecstp xzr, xzr, [sp+160]
    002c30f0stp xzr, xzr, [sp+136]
    002c30f4adrp x27, 0x788000
    002c30f8ldrb w2, [x27+1551]
    002c30fctbnz w2, 0, 0x2c3104
    002c3100b 0x2c314c
    002c3104
    002c3104loc_2c3104:
    002c3104adrp x0, 0x40c000
    002c3108add x0, x0, 1785
    002c310cmovz x1, 78
    002c3110bl errors.New
    002c3114str x0, [sp+392]
    002c3118str x1, [sp+400]
    002c311cstr xzr, [sp+152]
    002c3120stp xzr, xzr, [sp+160]
    002c3124ldr x3, [sp+392]
    002c3128ldr x4, [sp+400]
    002c312cstr x3, [sp+136]
    002c3130str x4, [sp+144]
    002c3134ldr x0, [sp+152]
    002c3138ldr x1, [sp+160]
    002c313cldr x2, [sp+168]
    002c3140ldp x29, x30, [sp-8]
    002c3144add sp, sp, 480
    002c3148ret x30
    002c314c
    002c314cloc_2c314c:
    002c314cldr x0, [sp+504]
    002c3150bl crypto/rsa.checkPublicKeySize
    002c3154str x0, [sp+248]
    002c3158str x1, [sp+256]
    002c315ccbnz x0, 0x2c3164
    002c3160b 0x2c3194
    002c3164
    002c3164loc_2c3164:
    002c3164str xzr, [sp+152]
    002c3168stp xzr, xzr, [sp+160]
    002c316cldr x3, [sp+248]
    002c3170ldr x4, [sp+256]
    002c3174str x3, [sp+136]
    002c3178str x4, [sp+144]
    002c317cldr x0, [sp+152]
    002c3180ldr x1, [sp+160]
    002c3184ldr x2, [sp+168]
    002c3188ldp x29, x30, [sp-8]
    002c318cadd sp, sp, 480
    002c3190ret x30
    002c3194
    002c3194loc_2c3194:
    002c3194ldr x0, [sp+488]
    002c3198ldr x1, [sp+496]
    002c319cbl crypto/internal/randutil.MaybeReadByte
    002c31a0ldr x0, [sp+504]
    002c31a4bl crypto/rsa.(*PublicKey).Size
    002c31a8str x0, [sp+56]
    002c31acldr x2, [sp+520]
    002c31b0str x2, [sp+128]
    002c31b4sub x3, x0, 11
    002c31b8subs xzr, x2, x3
    002c31bcb.gt 0x2c31c4
    002c31c0b 0x2c31fc
    002c31c4
    002c31c4loc_2c31c4:
    002c31c4str xzr, [sp+152]
    002c31c8stp xzr, xzr, [sp+160]
    002c31ccadrp x27, 0x75e000
    002c31d0ldr x3, [x27+4000]
    002c31d4adrp x27, 0x75e000
    002c31d8ldr x4, [x27+4008]
    002c31dcstr x3, [sp+136]
    002c31e0str x4, [sp+144]
    002c31e4ldr x0, [sp+152]
    002c31e8ldr x1, [sp+160]
    002c31ecldr x2, [sp+168]
    002c31f0ldp x29, x30, [sp-8]
    002c31f4add sp, sp, 480
    002c31f8ret x30
    002c31fc
    002c31fcloc_2c31fc:
    002c31fcbl crypto/internal/boring.UnreachableExceptTests
    002c3200ldr x2, [sp+56]
    002c3204ldr x1, [sp+56]
    002c3208adrp x0, 0x332000
    002c320cadd x0, x0, 3072
    002c3210bl runtime.makeslice
    002c3214ldr x1, [sp+56]
    002c3218ldr x2, [sp+56]
    002c321cstr x0, [sp+264]
    002c3220str x1, [sp+272]
    002c3224str x2, [sp+280]
    002c3228subs xzr, x1, 1
    002c322cb.hi 0x2c3234
    002c3230b 0x2c356c
    002c3234
    002c3234loc_2c3234:
    002c3234orr x5, xzr, 2
    002c3238strb w5, [x0+1]
    002c323cldr x5, [sp+272]
    002c3240str x5, [sp+128]
    002c3244ldr x6, [sp+520]
    002c3248str x6, [sp+120]
    002c324csub x5, x5, x6
    002c3250sub x1, x5, 1
    002c3254str x1, [sp+112]
    002c3258ldr x2, [sp+280]
    002c325cldr x6, [sp+264]
    002c3260subs xzr, x2, x1
    002c3264b.hs 0x2c326c
    002c3268b 0x2c3568
    002c326c
    002c326cloc_2c326c:
    002c326csubs xzr, x1, 2
    002c3270b.hs 0x2c3278
    002c3274b 0x2c3560
    002c3278
    002c3278loc_2c3278:
    002c3278sub x7, x2, 2
    002c327csub x8, xzr, x7
    002c3280sub x5, x5, 3
    002c3284sbfm x8, x8, 63, 63
    002c3288and x8, x8, 2
    002c328cadd x6, x6, x8
    002c3290str x6, [sp+368]
    002c3294str x5, [sp+376]
    002c3298str x7, [sp+384]
    002c329cldr x5, [sp+272]
    002c32a0str x5, [sp+104]
    002c32a4ldr x6, [sp+520]
    002c32a8str x6, [sp+96]
    002c32acsub x0, x5, x6
    002c32b0str x0, [sp+88]
    002c32b4ldr x1, [sp+272]
    002c32b8ldr x7, [sp+264]
    002c32bcldr x8, [sp+280]
    002c32c0b 0x2c32c4
    002c32c4
    002c32c4loc_2c32c4:
    002c32c4subs xzr, x1, x0
    002c32c8b.hs 0x2c32d0
    002c32ccb 0x2c355c
    002c32d0
    002c32d0loc_2c32d0:
    002c32d0add x8, x8, x6
    002c32d4sub x8, x8, x5
    002c32d8add x6, x1, x6
    002c32dcsub x5, x6, x5
    002c32e0sub x6, xzr, x8
    002c32e4and x6, x0, x6, asr #63
    002c32e8add x6, x7, x6
    002c32ecstr x6, [sp+344]
    002c32f0str x5, [sp+352]
    002c32f4str x8, [sp+360]
    002c32f8ldr x5, [sp+368]
    002c32fcldr x6, [sp+376]
    002c3300ldr x7, [sp+384]
    002c3304str x5, [sp+176]
    002c3308str x6, [sp+184]
    002c330cstr x7, [sp+192]
    002c3310ldr x5, [sp+344]
    002c3314ldr x6, [sp+352]
    002c3318ldr x7, [sp+360]
    002c331cstr x5, [sp+200]
    002c3320str x6, [sp+208]
    002c3324str x7, [sp+216]
    002c3328ldr x3, [sp+488]
    002c332cldr x0, [sp+176]
    002c3330ldr x1, [sp+184]
    002c3334ldr x4, [sp+496]
    002c3338ldr x2, [sp+192]
    002c333cbl crypto/rsa.nonZeroRandomBytes
    002c3340str x0, [sp+232]
    002c3344str x1, [sp+240]
    002c3348cbnz x0, 0x2c3350
    002c334cb 0x2c3380
    002c3350
    002c3350loc_2c3350:
    002c3350str xzr, [sp+152]
    002c3354stp xzr, xzr, [sp+160]
    002c3358ldr x3, [sp+232]
    002c335cldr x4, [sp+240]
    002c3360str x3, [sp+136]
    002c3364str x4, [sp+144]
    002c3368ldr x0, [sp+152]
    002c336cldr x1, [sp+160]
    002c3370ldr x2, [sp+168]
    002c3374ldp x29, x30, [sp-8]
    002c3378add sp, sp, 480
    002c337cret x30
    002c3380
    002c3380loc_2c3380:
    002c3380ldr x3, [sp+272]
    002c3384str x3, [sp+88]
    002c3388ldr x4, [sp+520]
    002c338cstr x4, [sp+96]
    002c3390sub x3, x3, x4
    002c3394sub x0, x3, 1
    002c3398str x0, [sp+80]
    002c339cldr x1, [sp+272]
    002c33a0ldr x3, [sp+264]
    002c33a4subs xzr, x1, x0
    002c33a8b.hi 0x2c33b0
    002c33acb 0x2c3558
    002c33b0
    002c33b0loc_2c33b0:
    002c33b0strb wzr, [x3+x0]
    002c33b4ldr x3, [sp+200]
    002c33b8ldr x4, [sp+208]
    002c33bcldr x5, [sp+216]
    002c33c0str x3, [sp+312]
    002c33c4str x4, [sp+320]
    002c33c8str x5, [sp+328]
    002c33ccldr x3, [sp+520]
    002c33d0ldr x4, [sp+512]
    002c33d4ldr x5, [sp+528]
    002c33d8str x4, [sp+288]
    002c33dcstr x3, [sp+296]
    002c33e0str x5, [sp+304]
    002c33e4ldr x4, [sp+320]
    002c33e8str x4, [sp+72]
    002c33ecsubs xzr, x4, x3
    002c33f0b.gt 0x2c33f8
    002c33f4b 0x2c3400
    002c33f8
    002c33f8loc_2c33f8:
    002c33f8str x3, [sp+72]
    002c33fcb 0x2c3404
    002c3400
    002c3400loc_2c3400:
    002c3400b 0x2c3404
    002c3404
    002c3404loc_2c3404:
    002c3404ldr x3, [sp+288]
    002c3408ldr x4, [sp+312]
    002c340csubs xzr, x3, x4
    002c3410b.ne 0x2c3418
    002c3414b 0x2c3434
    002c3418
    002c3418loc_2c3418:
    002c3418ldr x3, [sp+72]
    002c341cstr x3, [sp+64]
    002c3420ldr x2, [sp+64]
    002c3424ldr x1, [sp+288]
    002c3428ldr x0, [sp+312]
    002c342cbl runtime.memmove
    002c3430b 0x2c3438
    002c3434
    002c3434loc_2c3434:
    002c3434b 0x2c3438
    002c3438
    002c3438loc_2c3438:
    002c3438str xzr, [sp+336]
    002c343cstp xzr, xzr, [sp+392]
    002c3440ldr x0, [sp+504]
    002c3444bl crypto/rsa.fipsPublicKey
    002c3448str x0, [sp+336]
    002c344cstr x1, [sp+392]
    002c3450str x2, [sp+400]
    002c3454ldr x1, [sp+336]
    002c3458str x1, [sp+464]
    002c345cldr x1, [sp+392]
    002c3460ldr x2, [sp+400]
    002c3464str x1, [sp+448]
    002c3468str x2, [sp+456]
    002c346cldr x1, [sp+464]
    002c3470str x1, [sp+224]
    002c3474ldr x1, [sp+456]
    002c3478ldr x2, [sp+448]
    002c347cstr x2, [sp+232]
    002c3480str x1, [sp+240]
    002c3484cbnz x2, 0x2c348c
    002c3488b 0x2c34bc
    002c348c
    002c348cloc_2c348c:
    002c348cstr xzr, [sp+152]
    002c3490stp xzr, xzr, [sp+160]
    002c3494ldr x3, [sp+232]
    002c3498ldr x4, [sp+240]
    002c349cstr x3, [sp+136]
    002c34a0str x4, [sp+144]
    002c34a4ldr x0, [sp+152]
    002c34a8ldr x1, [sp+160]
    002c34acldr x2, [sp+168]
    002c34b0ldp x29, x30, [sp-8]
    002c34b4add sp, sp, 480
    002c34b8ret x30
    002c34bc
    002c34bcloc_2c34bc:
    002c34bcstr xzr, [sp+344]
    002c34c0stp xzr, xzr, [sp+352]
    002c34c4stp xzr, xzr, [sp+392]
    002c34c8ldr x1, [sp+264]
    002c34ccldr x2, [sp+272]
    002c34d0ldr x3, [sp+280]
    002c34d4ldr x0, [sp+224]
    002c34d8bl crypto/internal/fips140/rsa.Encrypt
    002c34dcstr x0, [sp+344]
    002c34e0str x1, [sp+352]
    002c34e4str x2, [sp+360]
    002c34e8str x3, [sp+392]
    002c34ecstr x4, [sp+400]
    002c34f0ldr x4, [sp+344]
    002c34f4ldr x5, [sp+352]
    002c34f8ldr x6, [sp+360]
    002c34fcstr x4, [sp+424]
    002c3500str x5, [sp+432]
    002c3504str x6, [sp+440]
    002c3508ldr x4, [sp+392]
    002c350cldr x5, [sp+400]
    002c3510str x4, [sp+408]
    002c3514str x5, [sp+416]
    002c3518ldr x4, [sp+424]
    002c351cldr x5, [sp+432]
    002c3520ldr x6, [sp+440]
    002c3524str x4, [sp+152]
    002c3528str x5, [sp+160]
    002c352cstr x6, [sp+168]
    002c3530ldr x3, [sp+408]
    002c3534ldr x4, [sp+416]
    002c3538str x3, [sp+136]
    002c353cstr x4, [sp+144]
    002c3540ldr x0, [sp+152]
    002c3544ldr x1, [sp+160]
    002c3548ldr x2, [sp+168]
    002c354cldp x29, x30, [sp-8]
    002c3550add sp, sp, 480
    002c3554ret x30
    002c3558
    002c3558loc_2c3558:
    002c3558bl runtime.panicIndex
    002c355c
    002c355cloc_2c355c:
    002c355cbl runtime.panicSliceB
    002c3560
    002c3560loc_2c3560:
    002c3560orr x0, xzr, 2
    002c3564bl runtime.panicSliceB
    002c3568
    002c3568loc_2c3568:
    002c3568bl runtime.panicSliceAcap
    002c356c
    002c356cloc_2c356c:
    002c356corr x0, xzr, 1
    002c3570bl runtime.panicIndex
    002c3574hint
    002c3578
    002c3578loc_2c3578:
    002c3578stp x0, x1, [sp+8]
    002c357cstp x2, x3, [sp+24]
    002c3580stp x4, x5, [sp+40]
    002c3584mov x3, x30
    002c3588bl runtime.morestack_noctxt.abi0
    002c358cldp x0, x1, [sp+8]
    002c3590ldp x2, x3, [sp+24]
    002c3594ldp x4, x5, [sp+40]
    002c3598b 0x2c30b0
    002c359cudf 0
    002c30b0
    002c35a0
    002c35a0crypto/rsa.nonZeroRandomBytes: ; void crypto/rsa.nonZeroRandomBytes(struct []uint8 s, io.Reader random)
    002c35a0ldr x16, [x28+16]
    002c35a4sub x17, sp, 64
    002c35a8subs xzr, x17, x16
    002c35acb.ls 0x2c37b0
    002c35b0str x30, [sp-192]!
    002c35b4stur x29, [sp-8]
    002c35b8sub x29, sp, 8
    002c35bcstr x0, [sp+200]
    002c35c0str x1, [sp+208]
    002c35c4str x2, [sp+216]
    002c35c8str x3, [sp+224]
    002c35ccstr x4, [sp+232]
    002c35d0stp xzr, xzr, [sp+96]
    002c35d4stp xzr, xzr, [sp+112]
    002c35d8ldr x0, [sp+224]
    002c35dcldr x2, [sp+200]
    002c35e0ldr x3, [sp+208]
    002c35e4ldr x1, [sp+232]
    002c35e8ldr x4, [sp+216]
    002c35ecbl io.ReadFull
    002c35f0str x0, [sp+56]
    002c35f4str x1, [sp+112]
    002c35f8str x2, [sp+120]
    002c35fcldr x5, [sp+56]
    002c3600str x5, [sp+72]
    002c3604str x1, [sp+144]
    002c3608str x2, [sp+152]
    002c360cstr x1, [sp+96]
    002c3610str x2, [sp+104]
    002c3614cbnz x1, 0x2c361c
    002c3618b 0x2c3630
    002c361c
    002c361cloc_2c361c:
    002c361cmov x0, x1
    002c3620mov x1, x2
    002c3624ldur x29, [sp-8]
    002c3628ldr x30, [sp], 192
    002c362cret x30
    002c3630
    002c3630loc_2c3630:
    002c3630str xzr, [sp+48]
    002c3634b 0x2c3638
    002c3638
    002c3638loc_2c3638:
    002c3638ldr x5, [sp+208]
    002c363cstr x5, [sp+56]
    002c3640ldr x6, [sp+48]
    002c3644subs xzr, x5, x6
    002c3648b.gt 0x2c3650
    002c364cb 0x2c3654
    002c3650
    002c3650loc_2c3650:
    002c3650b 0x2c3668
    002c3654
    002c3654loc_2c3654:
    002c3654ldr x0, [sp+96]
    002c3658ldr x1, [sp+104]
    002c365cldur x29, [sp-8]
    002c3660ldr x30, [sp], 192
    002c3664ret x30
    002c3668
    002c3668loc_2c3668:
    002c3668ldr x0, [sp+48]
    002c366cldr x1, [sp+208]
    002c3670ldr x5, [sp+200]
    002c3674subs xzr, x1, x0
    002c3678b.hi 0x2c3680
    002c367cb 0x2c37a8
    002c3680
    002c3680loc_2c3680:
    002c3680ldrb w5, [x5+x0]
    002c3684cbz w5, 0x2c368c
    002c3688b 0x2c3784
    002c368c
    002c368cloc_2c368c:
    002c368cldr x5, [sp+48]
    002c3690add x1, x5, 1
    002c3694str x1, [sp+88]
    002c3698ldr x0, [sp+48]
    002c369cldr x2, [sp+216]
    002c36a0ldr x6, [sp+200]
    002c36a4subs xzr, x2, x1
    002c36a8b.hs 0x2c36b0
    002c36acb 0x2c37a4
    002c36b0
    002c36b0loc_2c36b0:
    002c36b0subs xzr, x0, x1
    002c36b4b.ls 0x2c36bc
    002c36b8b 0x2c37a0
    002c36bc
    002c36bcloc_2c36bc:
    002c36bcsub x7, x2, x0
    002c36c0sub x5, x5, x0
    002c36c4sub x8, xzr, x7
    002c36c8and x8, x0, x8, asr #63
    002c36ccadd x6, x6, x8
    002c36d0add x5, x5, 1
    002c36d4str x6, [sp+160]
    002c36d8str x5, [sp+168]
    002c36dcstr x7, [sp+176]
    002c36e0stp xzr, xzr, [sp+112]
    002c36e4ldr x0, [sp+224]
    002c36e8ldr x1, [sp+232]
    002c36ecldr x2, [sp+160]
    002c36f0ldr x3, [sp+168]
    002c36f4ldr x4, [sp+176]
    002c36f8bl io.ReadFull
    002c36fcstr x0, [sp+80]
    002c3700str x1, [sp+112]
    002c3704str x2, [sp+120]
    002c3708ldr x5, [sp+80]
    002c370cstr x5, [sp+64]
    002c3710str x1, [sp+128]
    002c3714str x2, [sp+136]
    002c3718str x1, [sp+96]
    002c371cstr x2, [sp+104]
    002c3720cbnz x1, 0x2c3728
    002c3724b 0x2c373c
    002c3728
    002c3728loc_2c3728:
    002c3728mov x0, x1
    002c372cmov x1, x2
    002c3730ldur x29, [sp-8]
    002c3734ldr x30, [sp], 192
    002c3738ret x30
    002c373c
    002c373cloc_2c373c:
    002c373cldr x0, [sp+48]
    002c3740ldr x1, [sp+208]
    002c3744ldr x5, [sp+200]
    002c3748subs xzr, x1, x0
    002c374cb.hi 0x2c3754
    002c3750b 0x2c379c
    002c3754
    002c3754loc_2c3754:
    002c3754ldrb w5, [x5+x0]
    002c3758ldr x0, [sp+48]
    002c375cldr x1, [sp+208]
    002c3760ldr x6, [sp+200]
    002c3764movz x7, 66
    002c3768eor x5, x5, x7
    002c376csubs xzr, x1, x0
    002c3770b.hi 0x2c3778
    002c3774b 0x2c3798
    002c3778
    002c3778loc_2c3778:
    002c3778strb w5, [x6+x0]
    002c377cb 0x2c3780
    002c3780
    002c3780loc_2c3780:
    002c3780b 0x2c3668
    002c3784
    002c3784loc_2c3784:
    002c3784b 0x2c3788
    002c3788
    002c3788loc_2c3788:
    002c3788ldr x5, [sp+48]
    002c378cadd x5, x5, 1
    002c3790str x5, [sp+48]
    002c3794b 0x2c3638
    002c3798
    002c3798loc_2c3798:
    002c3798bl runtime.panicIndex
    002c379c
    002c379cloc_2c379c:
    002c379cbl runtime.panicIndex
    002c37a0
    002c37a0loc_2c37a0:
    002c37a0bl runtime.panicSliceB
    002c37a4
    002c37a4loc_2c37a4:
    002c37a4bl runtime.panicSliceAcap
    002c37a8
    002c37a8loc_2c37a8:
    002c37a8bl runtime.panicIndex
    002c37achint
    002c37b0
    002c37b0loc_2c37b0:
    002c37b0stp x0, x1, [sp+8]
    002c37b4stp x2, x3, [sp+24]
    002c37b8str x4, [sp+40]
    002c37bcmov x3, x30
    002c37c0bl runtime.morestack_noctxt.abi0
    002c37c4ldp x0, x1, [sp+8]
    002c37c8ldp x2, x3, [sp+24]
    002c37ccldr x4, [sp+40]
    002c37d0b 0x2c35a0
    002c37d4udf 0
    002c37d8udf 0
    002c37dcudf 0
    002c35a0
    002c37e0
    002c37e0crypto/rsa.(*PublicKey).Size: ; void crypto/rsa.(*PublicKey).Size(crypto/rsa.PublicKey * pub)
    002c37e0ldr x16, [x28+16]
    002c37e4subs xzr, sp, x16
    002c37e8b.ls 0x2c3838
    002c37ecstr x30, [sp-48]!
    002c37f0stur x29, [sp-8]
    002c37f4sub x29, sp, 8
    002c37f8str x0, [sp+56]
    002c37fcstr xzr, [sp+16]
    002c3800ldrsb x27, [x0]
    002c3804ldr x0, [x0]
    002c3808str x0, [sp+32]
    002c380cbl math/big.(*Int).BitLen
    002c3810str x0, [sp+24]
    002c3814add x1, x0, 7
    002c3818sbfm x1, x1, 63, 63
    002c381cadd x1, x0, x1, lsr #61
    002c3820add x1, x1, 7
    002c3824sbfm x0, x1, 3, 63
    002c3828str x0, [sp+16]
    002c382cldur x29, [sp-8]
    002c3830ldr x30, [sp], 48
    002c3834ret x30
    002c3838
    002c3838loc_2c3838:
    002c3838str x0, [sp+8]
    002c383cmov x3, x30
    002c3840bl runtime.morestack_noctxt.abi0
    002c3844ldr x0, [sp+8]
    002c3848b 0x2c37e0
    002c384cudf 0
    002c37e0
    002c3850
    002c3850crypto/rsa.(*PublicKey).Equal: ; void crypto/rsa.(*PublicKey).Equal(crypto/rsa.PublicKey * pub, crypto.PublicKey x)
    002c3850ldr x16, [x28+16]
    002c3854subs xzr, sp, x16
    002c3858b.ls 0x2c3968
    002c385cstr x30, [sp-80]!
    002c3860stur x29, [sp-8]
    002c3864sub x29, sp, 8
    002c3868str x0, [sp+88]
    002c386cstr x1, [sp+96]
    002c3870str x2, [sp+104]
    002c3874strb wzr, [sp+27]
    002c3878str xzr, [sp+40]
    002c387cldr x2, [sp+96]
    002c3880ldr x3, [sp+104]
    002c3884adrp x4, 0x35b000
    002c3888add x4, x4, 1056
    002c388csubs xzr, x2, x4
    002c3890b.eq 0x2c3898
    002c3894b 0x2c38a0
    002c3898
    002c3898loc_2c3898:
    002c3898orr x0, xzr, 1
    002c389cb 0x2c38ac
    002c38a0
    002c38a0loc_2c38a0:
    002c38a0mov x0, xzr
    002c38a4mov x3, xzr
    002c38a8b 0x2c38ac
    002c38ac
    002c38acloc_2c38ac:
    002c38acstr x3, [sp+40]
    002c38b0strb w0, [sp+30]
    002c38b4ldr x2, [sp+40]
    002c38b8str x2, [sp+48]
    002c38bcldrb w2, [sp+30]
    002c38c0strb w2, [sp+31]
    002c38c4ldr x2, [sp+48]
    002c38c8str x2, [sp+32]
    002c38ccldrb w2, [sp+31]
    002c38d0strb w2, [sp+28]
    002c38d4tbnz w2, 0, 0x2c38dc
    002c38d8b 0x2c3954
    002c38dc
    002c38dcloc_2c38dc:
    002c38dcldr x2, [sp+88]
    002c38e0ldrsb x27, [x2]
    002c38e4ldr x2, [x2]
    002c38e8str x2, [sp+64]
    002c38ecldr x2, [sp+32]
    002c38f0ldrsb x27, [x2]
    002c38f4ldr x1, [x2]
    002c38f8str x1, [sp+56]
    002c38fcldr x0, [sp+64]
    002c3900bl crypto/rsa.bigIntEqual
    002c3904strb w0, [sp+29]
    002c3908strb w0, [sp+30]
    002c390ctbnz w0, 0, 0x2c3914
    002c3910b 0x2c393c
    002c3914
    002c3914loc_2c3914:
    002c3914ldr x1, [sp+88]
    002c3918ldrsb x27, [x1]
    002c391cldr x1, [x1+8]
    002c3920ldr x2, [sp+32]
    002c3924ldrsb x27, [x2]
    002c3928ldr x2, [x2+8]
    002c392csubs xzr, x2, x1
    002c3930cset x1, eq
    002c3934strb w1, [sp+30]
    002c3938b 0x2c3940
    002c393c
    002c393cloc_2c393c:
    002c393cb 0x2c3940
    002c3940
    002c3940loc_2c3940:
    002c3940ldrb w0, [sp+30]
    002c3944strb w0, [sp+27]
    002c3948ldur x29, [sp-8]
    002c394cldr x30, [sp], 80
    002c3950ret x30
    002c3954
    002c3954loc_2c3954:
    002c3954strb wzr, [sp+27]
    002c3958mov x0, xzr
    002c395cldur x29, [sp-8]
    002c3960ldr x30, [sp], 80
    002c3964ret x30
    002c3968
    002c3968loc_2c3968:
    002c3968stp x0, x1, [sp+8]
    002c396cstr x2, [sp+24]
    002c3970mov x3, x30
    002c3974bl runtime.morestack_noctxt.abi0
    002c3978ldp x0, x1, [sp+8]
    002c397cldr x2, [sp+24]
    002c3980b 0x2c3850
    002c3984udf 0
    002c3988udf 0
    002c398cudf 0
    002c3850
    002c3990
    002c3990crypto/rsa.(*PrivateKey).Public: ; void crypto/rsa.(*PrivateKey).Public(crypto/rsa.PrivateKey * priv)
    002c3990str x30, [sp-48]!
    002c3994stur x29, [sp-8]
    002c3998sub x29, sp, 8
    002c399cstr x0, [sp+56]
    002c39a0stp xzr, xzr, [sp+16]
    002c39a4ldr x2, [sp+56]
    002c39a8ldrsb x27, [x2]
    002c39acstr x2, [sp+32]
    002c39b0adrp x3, 0x35b000
    002c39b4add x3, x3, 1056
    002c39b8str x3, [sp+16]
    002c39bcstr x2, [sp+24]
    002c39c0ldr x0, [sp+16]
    002c39c4ldr x1, [sp+24]
    002c39c8add x29, sp, 40
    002c39ccadd sp, sp, 48
    002c39d0ret x30
    002c39d4udf 0
    002c39d8udf 0
    002c39dcudf 0
    002c3990
    002c39e0
    002c39e0crypto/rsa.bigIntEqual: ; void crypto/rsa.bigIntEqual(math/big.Int * a, math/big.Int * b)
    002c39e0ldr x16, [x28+16]
    002c39e4subs xzr, sp, x16
    002c39e8b.ls 0x2c3a7c
    002c39ecstr x30, [sp-128]!
    002c39f0stur x29, [sp-8]
    002c39f4sub x29, sp, 8
    002c39f8str x0, [sp+136]
    002c39fcstr x1, [sp+144]
    002c3a00strb wzr, [sp+63]
    002c3a04ldr x0, [sp+136]
    002c3a08bl math/big.(*Int).Bytes
    002c3a0cstr x0, [sp+96]
    002c3a10str x1, [sp+104]
    002c3a14str x2, [sp+112]
    002c3a18ldr x0, [sp+144]
    002c3a1cbl math/big.(*Int).Bytes
    002c3a20str x0, [sp+72]
    002c3a24str x1, [sp+80]
    002c3a28str x2, [sp+88]
    002c3a2cldr x3, [sp+96]
    002c3a30ldr x4, [sp+104]
    002c3a34ldr x5, [sp+112]
    002c3a38mov x6, x0
    002c3a3cmov x0, x3
    002c3a40mov x7, x1
    002c3a44mov x1, x4
    002c3a48mov x8, x2
    002c3a4cmov x2, x5
    002c3a50mov x3, x6
    002c3a54mov x4, x7
    002c3a58mov x5, x8
    002c3a5cbl crypto/subtle.ConstantTimeCompare
    002c3a60str x0, [sp+64]
    002c3a64subs xzr, x0, 1
    002c3a68cset x0, eq
    002c3a6cstrb w0, [sp+63]
    002c3a70ldur x29, [sp-8]
    002c3a74ldr x30, [sp], 128
    002c3a78ret x30
    002c3a7c
    002c3a7cloc_2c3a7c:
    002c3a7cstp x0, x1, [sp+8]
    002c3a80mov x3, x30
    002c3a84bl runtime.morestack_noctxt.abi0
    002c3a88ldp x0, x1, [sp+8]
    002c3a8cb 0x2c39e0
    002c39e0
    002c3a90
    002c3a90crypto/rsa.(*PrivateKey).Sign: ; void crypto/rsa.(*PrivateKey).Sign(crypto/rsa.PrivateKey * priv, io.Reader rand, struct []uint8 digest, crypto.SignerOpts opts)
    002c3a90ldr x16, [x28+16]
    002c3a94sub x17, sp, 160
    002c3a98subs xzr, x17, x16
    002c3a9cb.ls 0x2c3cb8
    002c3aa0sub x20, sp, 288
    002c3aa4stp x29, x30, [x20-8]
    002c3aa8add sp, x20, 0
    002c3aacsub x29, sp, 8
    002c3ab0str x0, [sp+296]
    002c3ab4str x1, [sp+304]
    002c3ab8str x2, [sp+312]
    002c3abcstr x3, [sp+320]
    002c3ac0str x4, [sp+328]
    002c3ac4str x5, [sp+336]
    002c3ac8str x6, [sp+344]
    002c3accstr x7, [sp+352]
    002c3ad0str xzr, [sp+112]
    002c3ad4stp xzr, xzr, [sp+120]
    002c3ad8stp xzr, xzr, [sp+96]
    002c3adcstr xzr, [sp+192]
    002c3ae0ldr x8, [sp+344]
    002c3ae4ldr x9, [sp+352]
    002c3ae8adrp x10, 0x452000
    002c3aecadd x10, x10, 2912
    002c3af0subs xzr, x8, x10
    002c3af4b.eq 0x2c3afc
    002c3af8b 0x2c3b04
    002c3afc
    002c3afcloc_2c3afc:
    002c3afcorr x0, xzr, 1
    002c3b00b 0x2c3b10
    002c3b04
    002c3b04loc_2c3b04:
    002c3b04mov x0, xzr
    002c3b08mov x9, xzr
    002c3b0cb 0x2c3b10
    002c3b10
    002c3b10loc_2c3b10:
    002c3b10str x9, [sp+192]
    002c3b14strb w0, [sp+79]
    002c3b18ldr x8, [sp+192]
    002c3b1cstr x8, [sp+144]
    002c3b20ldrb w8, [sp+79]
    002c3b24strb w8, [sp+78]
    002c3b28ldr x8, [sp+144]
    002c3b2cstr x8, [sp+136]
    002c3b30ldrb w8, [sp+78]
    002c3b34strb w8, [sp+77]
    002c3b38tbnz w8, 0, 0x2c3b40
    002c3b3cb 0x2c3bf8
    002c3b40
    002c3b40loc_2c3b40:
    002c3b40str xzr, [sp+168]
    002c3b44stp xzr, xzr, [sp+176]
    002c3b48stp xzr, xzr, [sp+152]
    002c3b4cldr x8, [sp+136]
    002c3b50ldrsb x27, [x8]
    002c3b54ldr x3, [x8+8]
    002c3b58str x3, [sp+80]
    002c3b5cldr x0, [sp+304]
    002c3b60ldr x4, [sp+320]
    002c3b64ldr x7, [sp+136]
    002c3b68ldr x2, [sp+296]
    002c3b6cldr x5, [sp+328]
    002c3b70ldr x1, [sp+312]
    002c3b74ldr x6, [sp+336]
    002c3b78bl crypto/rsa.SignPSS
    002c3b7cstr x0, [sp+168]
    002c3b80str x1, [sp+176]
    002c3b84str x2, [sp+184]
    002c3b88str x3, [sp+152]
    002c3b8cstr x4, [sp+160]
    002c3b90ldr x8, [sp+168]
    002c3b94ldr x9, [sp+176]
    002c3b98ldr x10, [sp+184]
    002c3b9cstr x8, [sp+256]
    002c3ba0str x9, [sp+264]
    002c3ba4str x10, [sp+272]
    002c3ba8ldr x8, [sp+152]
    002c3bacldr x9, [sp+160]
    002c3bb0str x8, [sp+240]
    002c3bb4str x9, [sp+248]
    002c3bb8ldr x8, [sp+256]
    002c3bbcldr x9, [sp+264]
    002c3bc0ldr x10, [sp+272]
    002c3bc4str x8, [sp+112]
    002c3bc8str x9, [sp+120]
    002c3bccstr x10, [sp+128]
    002c3bd0ldr x3, [sp+240]
    002c3bd4ldr x4, [sp+248]
    002c3bd8str x3, [sp+96]
    002c3bdcstr x4, [sp+104]
    002c3be0ldr x0, [sp+112]
    002c3be4ldr x1, [sp+120]
    002c3be8ldr x2, [sp+128]
    002c3becldp x29, x30, [sp-8]
    002c3bf0add sp, sp, 288
    002c3bf4ret x30
    002c3bf8
    002c3bf8loc_2c3bf8:
    002c3bf8ldr x1, [sp+344]
    002c3bfcldrsb x27, [x1]
    002c3c00ldr x1, [x1+24]
    002c3c04ldr x0, [sp+352]
    002c3c08blr x1
    002c3c0cstr x0, [sp+88]
    002c3c10str xzr, [sp+168]
    002c3c14stp xzr, xzr, [sp+176]
    002c3c18stp xzr, xzr, [sp+152]
    002c3c1cldr x3, [sp+88]
    002c3c20ldr x4, [sp+320]
    002c3c24ldr x2, [sp+296]
    002c3c28ldr x5, [sp+328]
    002c3c2cldr x1, [sp+312]
    002c3c30ldr x6, [sp+336]
    002c3c34ldr x0, [sp+304]
    002c3c38bl crypto/rsa.SignPKCS1v15
    002c3c3cstr x0, [sp+168]
    002c3c40str x1, [sp+176]
    002c3c44str x2, [sp+184]
    002c3c48str x3, [sp+152]
    002c3c4cstr x4, [sp+160]
    002c3c50ldr x1, [sp+168]
    002c3c54ldr x2, [sp+176]
    002c3c58ldr x3, [sp+184]
    002c3c5cstr x1, [sp+216]
    002c3c60str x2, [sp+224]
    002c3c64str x3, [sp+232]
    002c3c68ldr x1, [sp+152]
    002c3c6cldr x2, [sp+160]
    002c3c70str x1, [sp+200]
    002c3c74str x2, [sp+208]
    002c3c78ldr x1, [sp+216]
    002c3c7cldr x2, [sp+224]
    002c3c80ldr x3, [sp+232]
    002c3c84str x1, [sp+112]
    002c3c88str x2, [sp+120]
    002c3c8cstr x3, [sp+128]
    002c3c90ldr x3, [sp+200]
    002c3c94ldr x4, [sp+208]
    002c3c98str x3, [sp+96]
    002c3c9cstr x4, [sp+104]
    002c3ca0ldr x0, [sp+112]
    002c3ca4ldr x1, [sp+120]
    002c3ca8ldr x2, [sp+128]
    002c3cacldp x29, x30, [sp-8]
    002c3cb0add sp, sp, 288
    002c3cb4ret x30
    002c3cb8
    002c3cb8loc_2c3cb8:
    002c3cb8stp x0, x1, [sp+8]
    002c3cbcstp x2, x3, [sp+24]
    002c3cc0stp x4, x5, [sp+40]
    002c3cc4stp x6, x7, [sp+56]
    002c3cc8mov x3, x30
    002c3cccbl runtime.morestack_noctxt.abi0
    002c3cd0ldp x0, x1, [sp+8]
    002c3cd4ldp x2, x3, [sp+24]
    002c3cd8ldp x4, x5, [sp+40]
    002c3cdcldp x6, x7, [sp+56]
    002c3ce0b 0x2c3a90
    002c3ce4udf 0
    002c3ce8udf 0
    002c3cecudf 0
    002c3a90