File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    0057aee0
    0057aee0crypto/internal/fips140/ecdh.ECDH[go.shape.*crypto/internal/fips140/nistec.P384Point]: ; void crypto/internal/fips140/ecdh.ECDH[go.shape.*crypto/internal/fips140/nistec.P384Point](uintptr[2] * dict, crypto/internal/fips140/ecdh.Curve[go.shape.*crypto/internal/fips140/nistec.P384Point] * c, crypto/internal/fips140/ecdh.PrivateKey * k, crypto/internal/fips140/ecdh.PublicKey * peer)
    0057aee0ldr x16, [x28+16]
    0057aee4sub x17, sp, 48
    0057aee8subs xzr, x17, x16
    0057aeecb.ls 0x57afd4
    0057aef0str x30, [sp-176]!
    0057aef4stur x29, [sp-8]
    0057aef8sub x29, sp, 8
    0057aefcstr x0, [sp+184]
    0057af00str x1, [sp+192]
    0057af04str x2, [sp+200]
    0057af08str x3, [sp+208]
    0057af0cstr xzr, [sp+56]
    0057af10stp xzr, xzr, [sp+64]
    0057af14stp xzr, xzr, [sp+40]
    0057af18adrp x27, 0x4a7000
    0057af1cldr x26, [x27+472]
    0057af20ldr x0, [x26]
    0057af24blr x0
    0057af28bl crypto/internal/fips140.RecordApproved
    0057af2cstr xzr, [sp+96]
    0057af30stp xzr, xzr, [sp+104]
    0057af34stp xzr, xzr, [sp+80]
    0057af38ldr x0, [sp+184]
    0057af3cldrsb x27, [x0]
    0057af40ldr x0, [x0]
    0057af44str x0, [sp+160]
    0057af48ldr x3, [sp+208]
    0057af4cldr x2, [sp+200]
    0057af50ldr x1, [sp+192]
    0057af54bl crypto/internal/fips140/ecdh.ecdh[go.shape.*crypto/internal/fips140/nistec.P384Point]
    0057af58str x0, [sp+96]
    0057af5cstr x1, [sp+104]
    0057af60str x2, [sp+112]
    0057af64str x3, [sp+80]
    0057af68str x4, [sp+88]
    0057af6cldr x0, [sp+96]
    0057af70ldr x1, [sp+104]
    0057af74ldr x2, [sp+112]
    0057af78str x0, [sp+136]
    0057af7cstr x1, [sp+144]
    0057af80str x2, [sp+152]
    0057af84ldr x0, [sp+80]
    0057af88ldr x1, [sp+88]
    0057af8cstr x0, [sp+120]
    0057af90str x1, [sp+128]
    0057af94ldr x0, [sp+136]
    0057af98ldr x1, [sp+144]
    0057af9cldr x2, [sp+152]
    0057afa0str x0, [sp+56]
    0057afa4str x1, [sp+64]
    0057afa8str x2, [sp+72]
    0057afacldr x3, [sp+120]
    0057afb0ldr x4, [sp+128]
    0057afb4str x3, [sp+40]
    0057afb8str x4, [sp+48]
    0057afbcldr x0, [sp+56]
    0057afc0ldr x1, [sp+64]
    0057afc4ldr x2, [sp+72]
    0057afc8ldur x29, [sp-8]
    0057afccldr x30, [sp], 176
    0057afd0ret x30
    0057afd4
    0057afd4loc_57afd4:
    0057afd4stp x0, x1, [sp+8]
    0057afd8stp x2, x3, [sp+24]
    0057afdcmov x3, x30
    0057afe0bl runtime.morestack_noctxt.abi0
    0057afe4ldp x0, x1, [sp+8]
    0057afe8ldp x2, x3, [sp+24]
    0057afecb 0x57aee0
    0057aee0
    0057aff0
    0057aff0crypto/internal/fips140/ecdh.ecdh[go.shape.*crypto/internal/fips140/nistec.P384Point]: ; void crypto/internal/fips140/ecdh.ecdh[go.shape.*crypto/internal/fips140/nistec.P384Point](uintptr[5] * dict, crypto/internal/fips140/ecdh.Curve[go.shape.*crypto/internal/fips140/nistec.P384Point] * c, crypto/internal/fips140/ecdh.PrivateKey * k, crypto/internal/fips140/ecdh.PublicKey * peer)
    0057aff0ldr x16, [x28+16]
    0057aff4sub x17, sp, 272
    0057aff8subs xzr, x17, x16
    0057affcb.ls 0x57b3f0
    0057b000sub x20, sp, 400
    0057b004stp x29, x30, [x20-8]
    0057b008add sp, x20, 0
    0057b00csub x29, sp, 8
    0057b010str x0, [sp+408]
    0057b014str x1, [sp+416]
    0057b018str x2, [sp+424]
    0057b01cstr x3, [sp+432]
    0057b020str xzr, [sp+72]
    0057b024stp xzr, xzr, [sp+80]
    0057b028stp xzr, xzr, [sp+56]
    0057b02cldr x3, [sp+416]
    0057b030ldrsb x27, [x3]
    0057b034ldr x4, [x3]
    0057b038ldr x3, [x3+8]
    0057b03cstr x4, [sp+256]
    0057b040str x3, [sp+264]
    0057b044ldr x3, [sp+424]
    0057b048ldrsb x27, [x3]
    0057b04cldr x1, [x3]
    0057b050ldr x3, [x3+8]
    0057b054str x1, [sp+240]
    0057b058str x3, [sp+248]
    0057b05cldr x4, [sp+264]
    0057b060subs xzr, x4, x3
    0057b064b.ne 0x57b06c
    0057b068b 0x57b070
    0057b06c
    0057b06cloc_57b06c:
    0057b06cb 0x57b3a8
    0057b070
    0057b070loc_57b070:
    0057b070ldr x2, [sp+264]
    0057b074ldr x0, [sp+256]
    0057b078bl runtime.memequal
    0057b07ctbnz w0, 0, 0x57b084
    0057b080b 0x57b3a4
    0057b084
    0057b084loc_57b084:
    0057b084ldr x3, [sp+424]
    0057b088ldrsb x27, [x3]
    0057b08cldr x4, [x3]
    0057b090ldr x3, [x3+8]
    0057b094str x4, [sp+224]
    0057b098str x3, [sp+232]
    0057b09cldr x3, [sp+432]
    0057b0a0ldrsb x27, [x3]
    0057b0a4ldr x1, [x3]
    0057b0a8ldr x3, [x3+8]
    0057b0acstr x1, [sp+208]
    0057b0b0str x3, [sp+216]
    0057b0b4ldr x4, [sp+232]
    0057b0b8subs xzr, x4, x3
    0057b0bcb.ne 0x57b0c4
    0057b0c0b 0x57b0c8
    0057b0c4
    0057b0c4loc_57b0c4:
    0057b0c4b 0x57b35c
    0057b0c8
    0057b0c8loc_57b0c8:
    0057b0c8ldr x0, [sp+224]
    0057b0ccldr x2, [sp+232]
    0057b0d0bl runtime.memequal
    0057b0d4tbnz w0, 0, 0x57b0dc
    0057b0d8b 0x57b358
    0057b0dc
    0057b0dcloc_57b0dc:
    0057b0dcldr x2, [sp+424]
    0057b0e0ldrsb x27, [x2]
    0057b0e4ldr x2, [x2+24]
    0057b0e8str x2, [sp+48]
    0057b0ecsubs xzr, x2, 1
    0057b0f0b.eq 0x57b0f8
    0057b0f4b 0x57b140
    0057b0f8
    0057b0f8loc_57b0f8:
    0057b0f8adrp x0, 0x14d000
    0057b0fcadd x0, x0, 324
    0057b100movz x1, 47
    0057b104bl errors.New
    0057b108str x0, [sp+312]
    0057b10cstr x1, [sp+320]
    0057b110str xzr, [sp+72]
    0057b114stp xzr, xzr, [sp+80]
    0057b118ldr x3, [sp+312]
    0057b11cldr x4, [sp+320]
    0057b120str x3, [sp+56]
    0057b124str x4, [sp+64]
    0057b128ldr x0, [sp+72]
    0057b12cldr x1, [sp+80]
    0057b130ldr x2, [sp+88]
    0057b134ldp x29, x30, [sp-8]
    0057b138add sp, sp, 400
    0057b13cret x30
    0057b140
    0057b140loc_57b140:
    0057b140ldr x0, [sp+416]
    0057b144ldrsb x27, [x0]
    0057b148ldr x26, [x0+16]
    0057b14cldr x0, [x26]
    0057b150blr x0
    0057b154str x0, [sp+304]
    0057b158str xzr, [sp+296]
    0057b15cstp xzr, xzr, [sp+312]
    0057b160ldr x0, [sp+432]
    0057b164ldrsb x27, [x0]
    0057b168ldr x1, [x0+16]
    0057b16cldr x2, [x0+24]
    0057b170ldr x3, [x0+32]
    0057b174str x1, [sp+184]
    0057b178str x2, [sp+192]
    0057b17cstr x3, [sp+200]
    0057b180ldr x26, [sp+408]
    0057b184ldrsb x27, [x26]
    0057b188ldr x0, [x26]
    0057b18cldr x4, [sp+304]
    0057b190mov x5, x0
    0057b194mov x0, x4
    0057b198blr x5
    0057b19cstr x0, [sp+296]
    0057b1a0str x1, [sp+312]
    0057b1a4str x2, [sp+320]
    0057b1a8ldr x0, [sp+296]
    0057b1acstr x0, [sp+152]
    0057b1b0ldr x0, [sp+312]
    0057b1b4ldr x1, [sp+320]
    0057b1b8str x0, [sp+136]
    0057b1bcstr x1, [sp+144]
    0057b1c0ldr x0, [sp+152]
    0057b1c4str x0, [sp+96]
    0057b1c8ldr x0, [sp+144]
    0057b1ccldr x1, [sp+136]
    0057b1d0str x1, [sp+120]
    0057b1d4str x0, [sp+128]
    0057b1d8cbnz x1, 0x57b1e0
    0057b1dcb 0x57b210
    0057b1e0
    0057b1e0loc_57b1e0:
    0057b1e0str xzr, [sp+72]
    0057b1e4stp xzr, xzr, [sp+80]
    0057b1e8ldr x3, [sp+120]
    0057b1ecldr x4, [sp+128]
    0057b1f0str x3, [sp+56]
    0057b1f4str x4, [sp+64]
    0057b1f8ldr x0, [sp+72]
    0057b1fcldr x1, [sp+80]
    0057b200ldr x2, [sp+88]
    0057b204ldp x29, x30, [sp-8]
    0057b208add sp, sp, 400
    0057b20cret x30
    0057b210
    0057b210loc_57b210:
    0057b210str xzr, [sp+296]
    0057b214stp xzr, xzr, [sp+312]
    0057b218ldr x5, [sp+424]
    0057b21cldrsb x27, [x5]
    0057b220ldr x2, [x5+40]
    0057b224ldr x3, [x5+48]
    0057b228ldr x4, [x5+56]
    0057b22cstr x2, [sp+160]
    0057b230str x3, [sp+168]
    0057b234str x4, [sp+176]
    0057b238ldr x5, [sp+408]
    0057b23cldrsb x27, [x5]
    0057b240add x26, x5, 8
    0057b244ldr x0, [sp+96]
    0057b248ldr x1, [sp+96]
    0057b24cldr x5, [x5+8]
    0057b250blr x5
    0057b254str x0, [sp+296]
    0057b258str x1, [sp+312]
    0057b25cstr x2, [sp+320]
    0057b260ldr x5, [sp+296]
    0057b264str x5, [sp+384]
    0057b268ldr x5, [sp+320]
    0057b26cldr x6, [sp+312]
    0057b270str x6, [sp+368]
    0057b274str x5, [sp+376]
    0057b278str x6, [sp+104]
    0057b27cstr x5, [sp+112]
    0057b280cbnz x6, 0x57b288
    0057b284b 0x57b2b8
    0057b288
    0057b288loc_57b288:
    0057b288str xzr, [sp+72]
    0057b28cstp xzr, xzr, [sp+80]
    0057b290ldr x3, [sp+104]
    0057b294ldr x4, [sp+112]
    0057b298str x3, [sp+56]
    0057b29cstr x4, [sp+64]
    0057b2a0ldr x0, [sp+72]
    0057b2a4ldr x1, [sp+80]
    0057b2a8ldr x2, [sp+88]
    0057b2acldp x29, x30, [sp-8]
    0057b2b0add sp, sp, 400
    0057b2b4ret x30
    0057b2b8
    0057b2b8loc_57b2b8:
    0057b2b8str xzr, [sp+272]
    0057b2bcstp xzr, xzr, [sp+280]
    0057b2c0stp xzr, xzr, [sp+312]
    0057b2c4ldr x1, [sp+408]
    0057b2c8ldrsb x27, [x1]
    0057b2ccadd x26, x1, 16
    0057b2d0ldr x0, [sp+96]
    0057b2d4ldr x1, [x1+16]
    0057b2d8blr x1
    0057b2dcstr x0, [sp+272]
    0057b2e0str x1, [sp+280]
    0057b2e4str x2, [sp+288]
    0057b2e8str x3, [sp+312]
    0057b2ecstr x4, [sp+320]
    0057b2f0ldr x1, [sp+272]
    0057b2f4ldr x2, [sp+280]
    0057b2f8ldr x3, [sp+288]
    0057b2fcstr x1, [sp+344]
    0057b300str x2, [sp+352]
    0057b304str x3, [sp+360]
    0057b308ldr x1, [sp+312]
    0057b30cldr x2, [sp+320]
    0057b310str x1, [sp+328]
    0057b314str x2, [sp+336]
    0057b318ldr x1, [sp+344]
    0057b31cldr x2, [sp+352]
    0057b320ldr x3, [sp+360]
    0057b324str x1, [sp+72]
    0057b328str x2, [sp+80]
    0057b32cstr x3, [sp+88]
    0057b330ldr x3, [sp+328]
    0057b334ldr x4, [sp+336]
    0057b338str x3, [sp+56]
    0057b33cstr x4, [sp+64]
    0057b340ldr x0, [sp+72]
    0057b344ldr x1, [sp+80]
    0057b348ldr x2, [sp+88]
    0057b34cldp x29, x30, [sp-8]
    0057b350add sp, sp, 400
    0057b354ret x30
    0057b358
    0057b358loc_57b358:
    0057b358b 0x57b35c
    0057b35c
    0057b35cloc_57b35c:
    0057b35cadrp x0, 0x142000
    0057b360add x0, x0, 1672
    0057b364orr x1, xzr, 30
    0057b368bl errors.New
    0057b36cstr x0, [sp+312]
    0057b370str x1, [sp+320]
    0057b374str xzr, [sp+72]
    0057b378stp xzr, xzr, [sp+80]
    0057b37cldr x3, [sp+312]
    0057b380ldr x4, [sp+320]
    0057b384str x3, [sp+56]
    0057b388str x4, [sp+64]
    0057b38cldr x0, [sp+72]
    0057b390ldr x1, [sp+80]
    0057b394ldr x2, [sp+88]
    0057b398ldp x29, x30, [sp-8]
    0057b39cadd sp, sp, 400
    0057b3a0ret x30
    0057b3a4
    0057b3a4loc_57b3a4:
    0057b3a4b 0x57b3a8
    0057b3a8
    0057b3a8loc_57b3a8:
    0057b3a8adrp x0, 0x142000
    0057b3acadd x0, x0, 1672
    0057b3b0orr x1, xzr, 30
    0057b3b4bl errors.New
    0057b3b8str x0, [sp+312]
    0057b3bcstr x1, [sp+320]
    0057b3c0str xzr, [sp+72]
    0057b3c4stp xzr, xzr, [sp+80]
    0057b3c8ldr x3, [sp+312]
    0057b3ccldr x4, [sp+320]
    0057b3d0str x3, [sp+56]
    0057b3d4str x4, [sp+64]
    0057b3d8ldr x0, [sp+72]
    0057b3dcldr x1, [sp+80]
    0057b3e0ldr x2, [sp+88]
    0057b3e4ldp x29, x30, [sp-8]
    0057b3e8add sp, sp, 400
    0057b3ecret x30
    0057b3f0
    0057b3f0loc_57b3f0:
    0057b3f0stp x0, x1, [sp+8]
    0057b3f4stp x2, x3, [sp+24]
    0057b3f8mov x3, x30
    0057b3fcbl runtime.morestack_noctxt.abi0
    0057b400ldp x0, x1, [sp+8]
    0057b404ldp x2, x3, [sp+24]
    0057b408b 0x57aff0
    0057b40cudf 0
    0057aff0
    0057b410
    0057b410crypto/internal/fips140/ecdh.NewPublicKey[go.shape.*crypto/internal/fips140/nistec.P384Point]: ; void crypto/internal/fips140/ecdh.NewPublicKey[go.shape.*crypto/internal/fips140/nistec.P384Point](uintptr[2] * dict, crypto/internal/fips140/ecdh.Curve[go.shape.*crypto/internal/fips140/nistec.P384Point] * c, struct []uint8 key)
    0057b410ldr x16, [x28+16]
    0057b414sub x17, sp, 64
    0057b418subs xzr, x17, x16
    0057b41cb.ls 0x57b65c
    0057b420str x30, [sp-192]!
    0057b424stur x29, [sp-8]
    0057b428sub x29, sp, 8
    0057b42cstr x0, [sp+200]
    0057b430str x1, [sp+208]
    0057b434str x2, [sp+216]
    0057b438str x3, [sp+224]
    0057b43cstr x4, [sp+232]
    0057b440str xzr, [sp+72]
    0057b444stp xzr, xzr, [sp+56]
    0057b448ldr x2, [sp+224]
    0057b44cstr x2, [sp+48]
    0057b450subs xzr, x2, 0
    0057b454cset x3, eq
    0057b458strb w3, [sp+47]
    0057b45ccbz x2, 0x57b464
    0057b460b 0x57b468
    0057b464
    0057b464loc_57b464:
    0057b464b 0x57b490
    0057b468
    0057b468loc_57b468:
    0057b468ldr x1, [sp+224]
    0057b46cldr x2, [sp+216]
    0057b470subs xzr, x1, 0
    0057b474b.hi 0x57b47c
    0057b478b 0x57b650
    0057b47c
    0057b47cloc_57b47c:
    0057b47cldrb w2, [x2]
    0057b480subs wzr, w2, 4
    0057b484cset x2, ne
    0057b488strb w2, [sp+47]
    0057b48cb 0x57b490
    0057b490
    0057b490loc_57b490:
    0057b490ldrb w2, [sp+47]
    0057b494tbnz w2, 0, 0x57b49c
    0057b498b 0x57b4d8
    0057b49c
    0057b49cloc_57b49c:
    0057b49cadrp x0, 0x143000
    0057b4a0add x0, x0, 444
    0057b4a4orr x1, xzr, 31
    0057b4a8bl errors.New
    0057b4acstr x0, [sp+168]
    0057b4b0str x1, [sp+176]
    0057b4b4str xzr, [sp+72]
    0057b4b8ldr x1, [sp+168]
    0057b4bcldr x2, [sp+176]
    0057b4c0str x1, [sp+56]
    0057b4c4str x2, [sp+64]
    0057b4c8ldr x0, [sp+72]
    0057b4ccldur x29, [sp-8]
    0057b4d0ldr x30, [sp], 192
    0057b4d4ret x30
    0057b4d8
    0057b4d8loc_57b4d8:
    0057b4d8ldr x0, [sp+208]
    0057b4dcldrsb x27, [x0]
    0057b4e0ldr x26, [x0+16]
    0057b4e4ldr x0, [x26]
    0057b4e8blr x0
    0057b4ecstr x0, [sp+160]
    0057b4f0str xzr, [sp+152]
    0057b4f4stp xzr, xzr, [sp+168]
    0057b4f8ldr x26, [sp+200]
    0057b4fcldrsb x27, [x26]
    0057b500ldr x0, [x26]
    0057b504ldr x1, [sp+216]
    0057b508ldr x2, [sp+224]
    0057b50cldr x3, [sp+232]
    0057b510ldr x4, [sp+160]
    0057b514mov x5, x0
    0057b518mov x0, x4
    0057b51cblr x5
    0057b520str x0, [sp+152]
    0057b524str x1, [sp+168]
    0057b528str x2, [sp+176]
    0057b52cldr x0, [sp+152]
    0057b530str x0, [sp+112]
    0057b534ldr x0, [sp+176]
    0057b538ldr x1, [sp+168]
    0057b53cstr x1, [sp+96]
    0057b540str x0, [sp+104]
    0057b544str x1, [sp+80]
    0057b548str x0, [sp+88]
    0057b54ccbnz x1, 0x57b554
    0057b550b 0x57b578
    0057b554
    0057b554loc_57b554:
    0057b554str xzr, [sp+72]
    0057b558ldr x1, [sp+80]
    0057b55cldr x2, [sp+88]
    0057b560str x1, [sp+56]
    0057b564str x2, [sp+64]
    0057b568ldr x0, [sp+72]
    0057b56cldur x29, [sp-8]
    0057b570ldr x30, [sp], 192
    0057b574ret x30
    0057b578
    0057b578loc_57b578:
    0057b578ldr x0, [sp+216]
    0057b57cldr x1, [sp+224]
    0057b580ldr x2, [sp+232]
    0057b584bl bytes.Clone
    0057b588str x0, [sp+128]
    0057b58cstr x1, [sp+136]
    0057b590str x2, [sp+144]
    0057b594adrp x0, 0xcd000
    0057b598add x0, x0, 736
    0057b59cbl runtime.newobject
    0057b5a0str x0, [sp+120]
    0057b5a4ldr x3, [sp+208]
    0057b5a8ldrsb x27, [x3]
    0057b5acldr x4, [x3]
    0057b5b0ldr x3, [x3+8]
    0057b5b4str x3, [x0+8]
    0057b5b8adrp x27, 0x4d0000
    0057b5bcldr w3, [x27+3056]
    0057b5c0cbz w3, 0x57b5c8
    0057b5c4b 0x57b5cc
    0057b5c8
    0057b5c8loc_57b5c8:
    0057b5c8b 0x57b5e0
    0057b5cc
    0057b5ccloc_57b5cc:
    0057b5ccbl runtime.gcWriteBarrier2
    0057b5d0str x4, [x25]
    0057b5d4ldr x3, [x0]
    0057b5d8str x3, [x25+8]
    0057b5dcb 0x57b5e0
    0057b5e0
    0057b5e0loc_57b5e0:
    0057b5e0str x4, [x0]
    0057b5e4ldr x3, [sp+120]
    0057b5e8ldrsb x27, [x3]
    0057b5ecldr x4, [sp+128]
    0057b5f0ldr x5, [sp+136]
    0057b5f4ldr x6, [sp+144]
    0057b5f8str x5, [x3+24]
    0057b5fcstr x6, [x3+32]
    0057b600adrp x27, 0x4d0000
    0057b604ldr w5, [x27+3056]
    0057b608cbz w5, 0x57b610
    0057b60cb 0x57b614
    0057b610
    0057b610loc_57b610:
    0057b610b 0x57b628
    0057b614
    0057b614loc_57b614:
    0057b614bl runtime.gcWriteBarrier2
    0057b618str x4, [x25]
    0057b61cldr x5, [x3+16]
    0057b620str x5, [x25+8]
    0057b624b 0x57b628
    0057b628
    0057b628loc_57b628:
    0057b628str x4, [x3+16]
    0057b62cldr x3, [sp+120]
    0057b630str x3, [sp+72]
    0057b634stp xzr, xzr, [sp+56]
    0057b638ldr x0, [sp+72]
    0057b63cmov x1, xzr
    0057b640mov x2, xzr
    0057b644ldur x29, [sp-8]
    0057b648ldr x30, [sp], 192
    0057b64cret x30
    0057b650
    0057b650loc_57b650:
    0057b650mov x0, xzr
    0057b654bl runtime.panicIndex
    0057b658hint
    0057b65c
    0057b65cloc_57b65c:
    0057b65cstp x0, x1, [sp+8]
    0057b660stp x2, x3, [sp+24]
    0057b664str x4, [sp+40]
    0057b668mov x3, x30
    0057b66cbl runtime.morestack_noctxt.abi0
    0057b670ldp x0, x1, [sp+8]
    0057b674ldp x2, x3, [sp+24]
    0057b678ldr x4, [sp+40]
    0057b67cb 0x57b410
    0057b410
    0057b680
    0057b680crypto/internal/fips140/ecdh.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P384Point]: ; void crypto/internal/fips140/ecdh.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P384Point](uintptr[4] * dict, crypto/internal/fips140/ecdh.Curve[go.shape.*crypto/internal/fips140/nistec.P384Point] * c, struct []uint8 key)
    0057b680ldr x16, [x28+16]
    0057b684sub x17, sp, 272
    0057b688subs xzr, x17, x16
    0057b68cb.ls 0x57bb34
    0057b690sub x20, sp, 400
    0057b694stp x29, x30, [x20-8]
    0057b698add sp, x20, 0
    0057b69csub x29, sp, 8
    0057b6a0str x0, [sp+408]
    0057b6a4str x1, [sp+416]
    0057b6a8str x2, [sp+424]
    0057b6acstr x3, [sp+432]
    0057b6b0str x4, [sp+440]
    0057b6b4str xzr, [sp+96]
    0057b6b8stp xzr, xzr, [sp+80]
    0057b6bcldr x6, [sp+432]
    0057b6c0str x6, [sp+72]
    0057b6c4ldr x7, [sp+416]
    0057b6c8ldrsb x27, [x7]
    0057b6ccldr x7, [x7+32]
    0057b6d0str x7, [sp+64]
    0057b6d4subs xzr, x6, x7
    0057b6d8cset x6, ne
    0057b6dcstrb w6, [sp+62]
    0057b6e0b.ne 0x57b6e8
    0057b6e4b 0x57b6ec
    0057b6e8
    0057b6e8loc_57b6e8:
    0057b6e8b 0x57b708
    0057b6ec
    0057b6ecloc_57b6ec:
    0057b6ecldr x0, [sp+424]
    0057b6f0ldr x1, [sp+432]
    0057b6f4ldr x2, [sp+440]
    0057b6f8bl crypto/internal/fips140/ecdh.isZero
    0057b6fcstrb w0, [sp+61]
    0057b700strb w0, [sp+62]
    0057b704b 0x57b708
    0057b708
    0057b708loc_57b708:
    0057b708ldrb w6, [sp+62]
    0057b70cstrb w6, [sp+63]
    0057b710tbnz w6, 0, 0x57b718
    0057b714b 0x57b71c
    0057b718
    0057b718loc_57b718:
    0057b718b 0x57b75c
    0057b71c
    0057b71cloc_57b71c:
    0057b71cldr x6, [sp+416]
    0057b720ldrsb x27, [x6]
    0057b724ldr x3, [x6+24]
    0057b728ldr x4, [x6+32]
    0057b72cldr x5, [x6+40]
    0057b730str x3, [sp+240]
    0057b734str x4, [sp+248]
    0057b738str x5, [sp+256]
    0057b73cldr x0, [sp+424]
    0057b740ldr x1, [sp+432]
    0057b744ldr x2, [sp+440]
    0057b748bl crypto/internal/fips140/ecdh.isLess
    0057b74cstrb w0, [sp+61]
    0057b750eor x6, x0, 1
    0057b754strb w6, [sp+63]
    0057b758b 0x57b75c
    0057b75c
    0057b75cloc_57b75c:
    0057b75cldrb w2, [sp+63]
    0057b760tbnz w2, 0, 0x57b768
    0057b764b 0x57b7a4
    0057b768
    0057b768loc_57b768:
    0057b768adrp x0, 0x143000
    0057b76cadd x0, x0, 3504
    0057b770orr x1, xzr, 32
    0057b774bl errors.New
    0057b778str x0, [sp+376]
    0057b77cstr x1, [sp+384]
    0057b780str xzr, [sp+96]
    0057b784ldr x1, [sp+376]
    0057b788ldr x2, [sp+384]
    0057b78cstr x1, [sp+80]
    0057b790str x2, [sp+88]
    0057b794ldr x0, [sp+96]
    0057b798ldp x29, x30, [sp-8]
    0057b79cadd sp, sp, 400
    0057b7a0ret x30
    0057b7a4
    0057b7a4loc_57b7a4:
    0057b7a4ldr x0, [sp+416]
    0057b7a8ldrsb x27, [x0]
    0057b7acldr x26, [x0+16]
    0057b7b0ldr x0, [x26]
    0057b7b4blr x0
    0057b7b8str x0, [sp+368]
    0057b7bcstr xzr, [sp+360]
    0057b7c0stp xzr, xzr, [sp+376]
    0057b7c4ldr x26, [sp+408]
    0057b7c8ldrsb x27, [x26]
    0057b7ccldr x0, [x26]
    0057b7d0ldr x1, [sp+424]
    0057b7d4ldr x2, [sp+432]
    0057b7d8ldr x3, [sp+440]
    0057b7dcldr x4, [sp+368]
    0057b7e0mov x5, x0
    0057b7e4mov x0, x4
    0057b7e8blr x5
    0057b7ecstr x0, [sp+360]
    0057b7f0str x1, [sp+376]
    0057b7f4str x2, [sp+384]
    0057b7f8ldr x0, [sp+360]
    0057b7fcstr x0, [sp+192]
    0057b800ldr x0, [sp+376]
    0057b804ldr x1, [sp+384]
    0057b808str x0, [sp+176]
    0057b80cstr x1, [sp+184]
    0057b810ldr x0, [sp+192]
    0057b814str x0, [sp+128]
    0057b818ldr x0, [sp+184]
    0057b81cldr x1, [sp+176]
    0057b820str x1, [sp+160]
    0057b824str x0, [sp+168]
    0057b828cbnz x1, 0x57bb1c
    0057b82cb 0x57b830
    0057b830
    0057b830loc_57b830:
    0057b830ldr x1, [sp+408]
    0057b834ldrsb x27, [x1]
    0057b838add x26, x1, 8
    0057b83cldr x0, [sp+128]
    0057b840ldr x1, [x1+8]
    0057b844blr x1
    0057b848str x0, [sp+104]
    0057b84cstr x1, [sp+112]
    0057b850str x2, [sp+120]
    0057b854str x1, [sp+64]
    0057b858subs xzr, x1, 1
    0057b85cb.eq 0x57bb08
    0057b860b 0x57b864
    0057b864
    0057b864loc_57b864:
    0057b864stp xzr, xzr, [sp+288]
    0057b868stp xzr, xzr, [sp+304]
    0057b86cstp xzr, xzr, [sp+320]
    0057b870stp xzr, xzr, [sp+336]
    0057b874str xzr, [sp+352]
    0057b878add x3, sp, 288
    0057b87cstr x3, [sp+232]
    0057b880ldrsb x27, [x3]
    0057b884adrp x4, 0
    0057b888add x4, x4, 2912
    0057b88cstr x4, [x3]
    0057b890ldrsb x27, [x3]
    0057b894ldr x4, [sp+416]
    0057b898adrp x27, 0x4d0000
    0057b89cldr w5, [x27+3056]
    0057b8a0cbz w5, 0x57b8a8
    0057b8a4b 0x57b8ac
    0057b8a8
    0057b8a8loc_57b8a8:
    0057b8a8b 0x57b8c0
    0057b8ac
    0057b8acloc_57b8ac:
    0057b8acbl runtime.gcWriteBarrier2
    0057b8b0str x4, [x25]
    0057b8b4ldr x5, [x3+8]
    0057b8b8str x5, [x25+8]
    0057b8bcb 0x57b8c0
    0057b8c0
    0057b8c0loc_57b8c0:
    0057b8c0str x4, [x3+8]
    0057b8c4ldrsb x27, [x3]
    0057b8c8ldr x4, [sp+424]
    0057b8ccldr x5, [sp+432]
    0057b8d0ldr x6, [sp+440]
    0057b8d4str x5, [x3+24]
    0057b8d8str x6, [x3+32]
    0057b8dcadrp x27, 0x4d0000
    0057b8e0ldr w5, [x27+3056]
    0057b8e4cbz w5, 0x57b8ec
    0057b8e8b 0x57b8f0
    0057b8ec
    0057b8ecloc_57b8ec:
    0057b8ecb 0x57b904
    0057b8f0
    0057b8f0loc_57b8f0:
    0057b8f0bl runtime.gcWriteBarrier2
    0057b8f4str x4, [x25]
    0057b8f8ldr x5, [x3+16]
    0057b8fcstr x5, [x25+8]
    0057b900b 0x57b904
    0057b904
    0057b904loc_57b904:
    0057b904str x4, [x3+16]
    0057b908ldr x3, [sp+104]
    0057b90cldr x4, [sp+112]
    0057b910ldr x5, [sp+120]
    0057b914ldr x6, [sp+232]
    0057b918ldrsb x27, [x6]
    0057b91cstr x4, [x6+48]
    0057b920str x5, [x6+56]
    0057b924adrp x27, 0x4d0000
    0057b928ldr w4, [x27+3056]
    0057b92ccbz w4, 0x57b934
    0057b930b 0x57b938
    0057b934
    0057b934loc_57b934:
    0057b934b 0x57b94c
    0057b938
    0057b938loc_57b938:
    0057b938bl runtime.gcWriteBarrier2
    0057b93cstr x3, [x25]
    0057b940ldr x4, [x6+40]
    0057b944str x4, [x25+8]
    0057b948b 0x57b94c
    0057b94c
    0057b94cloc_57b94c:
    0057b94cstr x3, [x6+40]
    0057b950ldr x3, [sp+408]
    0057b954ldr x4, [sp+232]
    0057b958ldrsb x27, [x4]
    0057b95cadrp x27, 0x4d0000
    0057b960ldr w5, [x27+3056]
    0057b964cbz w5, 0x57b96c
    0057b968b 0x57b970
    0057b96c
    0057b96cloc_57b96c:
    0057b96cb 0x57b984
    0057b970
    0057b970loc_57b970:
    0057b970bl runtime.gcWriteBarrier2
    0057b974str x3, [x25]
    0057b978ldr x5, [x4+64]
    0057b97cstr x5, [x25+8]
    0057b980b 0x57b984
    0057b984
    0057b984loc_57b984:
    0057b984str x3, [x4+64]
    0057b988ldr x2, [sp+232]
    0057b98cadrp x0, 0x136000
    0057b990add x0, x0, 2052
    0057b994orr x1, xzr, 8
    0057b998bl crypto/internal/fips140.PCT
    0057b99cstr x0, [sp+144]
    0057b9a0str x1, [sp+152]
    0057b9a4cbnz x0, 0x57bad0
    0057b9a8b 0x57b9ac
    0057b9ac
    0057b9acloc_57b9ac:
    0057b9acldr x0, [sp+424]
    0057b9b0ldr x1, [sp+432]
    0057b9b4ldr x2, [sp+440]
    0057b9b8bl bytes.Clone
    0057b9bcstr x0, [sp+264]
    0057b9c0str x1, [sp+272]
    0057b9c4str x2, [sp+280]
    0057b9c8adrp x0, 0xcd000
    0057b9ccadd x0, x0, 896
    0057b9d0bl runtime.newobject
    0057b9d4str x0, [sp+200]
    0057b9d8ldr x3, [sp+264]
    0057b9dcldr x4, [sp+272]
    0057b9e0ldr x5, [sp+280]
    0057b9e4str x4, [x0+48]
    0057b9e8str x5, [x0+56]
    0057b9ecadrp x27, 0x4d0000
    0057b9f0ldr w4, [x27+3056]
    0057b9f4cbz w4, 0x57b9fc
    0057b9f8b 0x57ba00
    0057b9fc
    0057b9fcloc_57b9fc:
    0057b9fcb 0x57ba14
    0057ba00
    0057ba00loc_57ba00:
    0057ba00bl runtime.gcWriteBarrier2
    0057ba04str x3, [x25]
    0057ba08ldr x4, [x0+40]
    0057ba0cstr x4, [x25+8]
    0057ba10b 0x57ba14
    0057ba14
    0057ba14loc_57ba14:
    0057ba14str x3, [x0+40]
    0057ba18ldr x3, [sp+200]
    0057ba1cldrsb x27, [x3]
    0057ba20ldr x4, [sp+416]
    0057ba24ldrsb x27, [x4]
    0057ba28ldr x5, [x4]
    0057ba2cldr x4, [x4+8]
    0057ba30str x4, [x3+8]
    0057ba34adrp x27, 0x4d0000
    0057ba38ldr w4, [x27+3056]
    0057ba3ccbz w4, 0x57ba44
    0057ba40b 0x57ba48
    0057ba44
    0057ba44loc_57ba44:
    0057ba44b 0x57ba5c
    0057ba48
    0057ba48loc_57ba48:
    0057ba48bl runtime.gcWriteBarrier2
    0057ba4cstr x5, [x25]
    0057ba50ldr x4, [x3]
    0057ba54str x4, [x25+8]
    0057ba58b 0x57ba5c
    0057ba5c
    0057ba5cloc_57ba5c:
    0057ba5cstr x5, [x3]
    0057ba60ldr x3, [sp+200]
    0057ba64ldrsb x27, [x3]
    0057ba68ldr x4, [sp+104]
    0057ba6cldr x5, [sp+112]
    0057ba70ldr x6, [sp+120]
    0057ba74str x5, [x3+24]
    0057ba78str x6, [x3+32]
    0057ba7cadrp x27, 0x4d0000
    0057ba80ldr w5, [x27+3056]
    0057ba84cbz w5, 0x57ba8c
    0057ba88b 0x57ba90
    0057ba8c
    0057ba8cloc_57ba8c:
    0057ba8cb 0x57baa4
    0057ba90
    0057ba90loc_57ba90:
    0057ba90bl runtime.gcWriteBarrier2
    0057ba94str x4, [x25]
    0057ba98ldr x5, [x3+16]
    0057ba9cstr x5, [x25+8]
    0057baa0b 0x57baa4
    0057baa4
    0057baa4loc_57baa4:
    0057baa4str x4, [x3+16]
    0057baa8ldr x3, [sp+200]
    0057baacstr x3, [sp+136]
    0057bab0str x3, [sp+96]
    0057bab4stp xzr, xzr, [sp+80]
    0057bab8ldr x0, [sp+96]
    0057babcmov x1, xzr
    0057bac0mov x2, xzr
    0057bac4ldp x29, x30, [sp-8]
    0057bac8add sp, sp, 400
    0057baccret x30
    0057bad0
    0057bad0loc_57bad0:
    0057bad0str x0, [sp+216]
    0057bad4str x1, [sp+224]
    0057bad8str x0, [sp+208]
    0057badcldr x2, [sp+208]
    0057bae0cbnz x2, 0x57bae8
    0057bae4b 0x57bb04
    0057bae8
    0057bae8loc_57bae8:
    0057bae8ldr x2, [sp+208]
    0057baecldr x2, [x2+8]
    0057baf0str x2, [sp+208]
    0057baf4b 0x57baf8
    0057baf8
    0057baf8loc_57baf8:
    0057baf8ldr x0, [sp+208]
    0057bafcldr x1, [sp+224]
    0057bb00bl runtime.gopanic
    0057bb04
    0057bb04loc_57bb04:
    0057bb04b 0x57baf8
    0057bb08
    0057bb08loc_57bb08:
    0057bb08adrp x0, 0x7a000
    0057bb0cadd x0, x0, 2944
    0057bb10adrp x1, 0x197000
    0057bb14add x1, x1, 2720
    0057bb18bl runtime.gopanic
    0057bb1c
    0057bb1cloc_57bb1c:
    0057bb1cadrp x0, 0x7a000
    0057bb20add x0, x0, 2944
    0057bb24adrp x1, 0x197000
    0057bb28add x1, x1, 2704
    0057bb2cbl runtime.gopanic
    0057bb30hint
    0057bb34
    0057bb34loc_57bb34:
    0057bb34stp x0, x1, [sp+8]
    0057bb38stp x2, x3, [sp+24]
    0057bb3cstr x4, [sp+40]
    0057bb40mov x3, x30
    0057bb44bl runtime.morestack_noctxt.abi0
    0057bb48ldp x0, x1, [sp+8]
    0057bb4cldp x2, x3, [sp+24]
    0057bb50ldr x4, [sp+40]
    0057bb54b 0x57b680
    0057bb58udf 0
    0057bb5cudf 0
    0057b680
    0057bb60
    0057bb60crypto/internal/fips140/ecdh.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P384Point].func1: ; void crypto/internal/fips140/ecdh.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P384Point].func1(void)
    0057bb60ldr x16, [x28+16]
    0057bb64sub x17, sp, 128
    0057bb68subs xzr, x17, x16
    0057bb6cb.ls 0x57bce8
    0057bb70sub x20, sp, 256
    0057bb74stp x29, x30, [x20-8]
    0057bb78add sp, x20, 0
    0057bb7csub x29, sp, 8
    0057bb80ldr x0, [x26+8]
    0057bb84str x0, [sp+152]
    0057bb88ldr x0, [x26+16]
    0057bb8cldr x1, [x26+24]
    0057bb90ldr x2, [x26+32]
    0057bb94str x0, [sp+112]
    0057bb98str x1, [sp+120]
    0057bb9cstr x2, [sp+128]
    0057bba0ldr x0, [x26+40]
    0057bba4ldr x1, [x26+48]
    0057bba8ldr x2, [x26+56]
    0057bbacstr x0, [sp+80]
    0057bbb0str x1, [sp+88]
    0057bbb4str x2, [sp+96]
    0057bbb8ldr x0, [x26+64]
    0057bbbcstr x0, [sp+160]
    0057bbc0stp xzr, xzr, [sp+64]
    0057bbc4ldr x0, [sp+152]
    0057bbc8ldrsb x27, [x0]
    0057bbccldr x26, [x0+16]
    0057bbd0ldr x0, [x26]
    0057bbd4blr x0
    0057bbd8str x0, [sp+216]
    0057bbdcstr xzr, [sp+208]
    0057bbe0stp xzr, xzr, [sp+192]
    0057bbe4ldr x26, [sp+160]
    0057bbe8ldrsb x27, [x26]
    0057bbecldr x0, [x26]
    0057bbf0ldr x1, [sp+112]
    0057bbf4ldr x2, [sp+120]
    0057bbf8ldr x3, [sp+128]
    0057bbfcldr x4, [sp+216]
    0057bc00mov x5, x0
    0057bc04mov x0, x4
    0057bc08blr x5
    0057bc0cstr x0, [sp+208]
    0057bc10str x1, [sp+192]
    0057bc14str x2, [sp+200]
    0057bc18ldr x0, [sp+208]
    0057bc1cstr x0, [sp+240]
    0057bc20ldr x0, [sp+192]
    0057bc24ldr x1, [sp+200]
    0057bc28str x0, [sp+224]
    0057bc2cstr x1, [sp+232]
    0057bc30ldr x0, [sp+240]
    0057bc34str x0, [sp+104]
    0057bc38ldr x1, [sp+232]
    0057bc3cldr x0, [sp+224]
    0057bc40str x0, [sp+136]
    0057bc44str x1, [sp+144]
    0057bc48cbnz x0, 0x57bc50
    0057bc4cb 0x57bc64
    0057bc50
    0057bc50loc_57bc50:
    0057bc50str x0, [sp+64]
    0057bc54str x1, [sp+72]
    0057bc58ldp x29, x30, [sp-8]
    0057bc5cadd sp, sp, 256
    0057bc60ret x30
    0057bc64
    0057bc64loc_57bc64:
    0057bc64ldr x1, [sp+160]
    0057bc68ldrsb x27, [x1]
    0057bc6cadd x26, x1, 8
    0057bc70ldr x0, [sp+104]
    0057bc74ldr x1, [x1+8]
    0057bc78blr x1
    0057bc7cstr x0, [sp+168]
    0057bc80str x1, [sp+176]
    0057bc84str x2, [sp+184]
    0057bc88ldr x3, [sp+80]
    0057bc8cldr x4, [sp+88]
    0057bc90ldr x5, [sp+96]
    0057bc94bl bytes.Equal
    0057bc98strb w0, [sp+63]
    0057bc9ctbnz w0, 0, 0x57bca4
    0057bca0b 0x57bcbc
    0057bca4
    0057bca4loc_57bca4:
    0057bca4stp xzr, xzr, [sp+64]
    0057bca8mov x0, xzr
    0057bcacmov x1, xzr
    0057bcb0ldp x29, x30, [sp-8]
    0057bcb4add sp, sp, 256
    0057bcb8ret x30
    0057bcbc
    0057bcbcloc_57bcbc:
    0057bcbcadrp x0, 0x14e000
    0057bcc0add x0, x0, 1758
    0057bcc4movz x1, 50
    0057bcc8bl errors.New
    0057bcccstr x0, [sp+192]
    0057bcd0str x1, [sp+200]
    0057bcd4str x0, [sp+64]
    0057bcd8str x1, [sp+72]
    0057bcdcldp x29, x30, [sp-8]
    0057bce0add sp, sp, 256
    0057bce4ret x30
    0057bce8
    0057bce8loc_57bce8:
    0057bce8mov x3, x30
    0057bcecbl runtime.morestack.abi0
    0057bcf0b 0x57bb60
    0057bcf4udf 0
    0057bcf8udf 0
    0057bcfcudf 0
    0057bb60
    0057bd00
    0057bd00crypto/internal/fips140/ecdh.GenerateKey[go.shape.*crypto/internal/fips140/nistec.P384Point]: ; void crypto/internal/fips140/ecdh.GenerateKey[go.shape.*crypto/internal/fips140/nistec.P384Point](uintptr[2] * dict, crypto/internal/fips140/ecdh.Curve[go.shape.*crypto/internal/fips140/nistec.P384Point] * c, io.Reader rand)
    0057bd00ldr x16, [x28+16]
    0057bd04sub x17, sp, 96
    0057bd08subs xzr, x17, x16
    0057bd0cb.ls 0x57c070
    0057bd10str x30, [sp-224]!
    0057bd14stur x29, [sp-8]
    0057bd18sub x29, sp, 8
    0057bd1cstr x0, [sp+232]
    0057bd20str x1, [sp+240]
    0057bd24str x2, [sp+248]
    0057bd28str x3, [sp+256]
    0057bd2cstr xzr, [sp+88]
    0057bd30stp xzr, xzr, [sp+72]
    0057bd34bl crypto/internal/fips140.RecordApproved
    0057bd38b 0x57bd3c
    0057bd3c
    0057bd3cloc_57bd3c:
    0057bd3cb 0x57bd40
    0057bd40
    0057bd40loc_57bd40:
    0057bd40ldr x3, [sp+240]
    0057bd44ldrsb x27, [x3]
    0057bd48ldr x2, [x3+32]
    0057bd4cstr x2, [sp+64]
    0057bd50adrp x0, 0x7a000
    0057bd54add x0, x0, 3072
    0057bd58mov x1, x2
    0057bd5cbl runtime.makeslice
    0057bd60ldr x3, [sp+64]
    0057bd64ldr x4, [sp+64]
    0057bd68str x0, [sp+104]
    0057bd6cstr x3, [sp+112]
    0057bd70str x4, [sp+120]
    0057bd74ldr x5, [sp+248]
    0057bd78ldr x1, [sp+256]
    0057bd7cmov x2, x0
    0057bd80mov x0, x5
    0057bd84bl crypto/internal/fips140/drbg.ReadWithReader
    0057bd88str x0, [sp+144]
    0057bd8cstr x1, [sp+152]
    0057bd90cbnz x0, 0x57bd98
    0057bd94b 0x57bdbc
    0057bd98
    0057bd98loc_57bd98:
    0057bd98str xzr, [sp+88]
    0057bd9cldr x1, [sp+144]
    0057bda0ldr x2, [sp+152]
    0057bda4str x1, [sp+72]
    0057bda8str x2, [sp+80]
    0057bdacldr x0, [sp+88]
    0057bdb0ldur x29, [sp-8]
    0057bdb4ldr x30, [sp], 224
    0057bdb8ret x30
    0057bdbc
    0057bdbcloc_57bdbc:
    0057bdbcldr x1, [sp+112]
    0057bdc0ldr x5, [sp+104]
    0057bdc4subs xzr, x1, 1
    0057bdc8b.hi 0x57bdd0
    0057bdccb 0x57c064
    0057bdd0
    0057bdd0loc_57bdd0:
    0057bdd0ldr x1, [sp+112]
    0057bdd4ldr x6, [sp+104]
    0057bdd8ldrb w5, [x5+1]
    0057bddcmovz x7, 66
    0057bde0eor x5, x5, x7
    0057bde4subs xzr, x1, 1
    0057bde8b.hi 0x57bdf0
    0057bdecb 0x57c05c
    0057bdf0
    0057bdf0loc_57bdf0:
    0057bdf0strb w5, [x6+1]
    0057bdf4ldr x5, [sp+240]
    0057bdf8ldrsb x27, [x5]
    0057bdfcldr x5, [x5+8]
    0057be00subs xzr, x5, 5
    0057be04cset x5, eq
    0057be08b.eq 0x57be10
    0057be0cb 0x57bebc
    0057be10
    0057be10loc_57be10:
    0057be10ldr x5, [sp+240]
    0057be14ldrsb x27, [x5]
    0057be18ldr x1, [x5+8]
    0057be1cldr x5, [x5]
    0057be20subs xzr, x1, 0
    0057be24b.hi 0x57be2c
    0057be28b 0x57c054
    0057be2c
    0057be2cloc_57be2c:
    0057be2cldr x6, [sp+240]
    0057be30ldrsb x27, [x6]
    0057be34ldr x1, [x6+8]
    0057be38ldr x6, [x6]
    0057be3cldrb w5, [x5]
    0057be40subs xzr, x1, 1
    0057be44b.hi 0x57be4c
    0057be48b 0x57c04c
    0057be4c
    0057be4cloc_57be4c:
    0057be4cldr x7, [sp+240]
    0057be50ldrsb x27, [x7]
    0057be54ldr x1, [x7+8]
    0057be58ldr x7, [x7]
    0057be5cldrb w6, [x6+1]
    0057be60ubfm x6, x6, 56, 7
    0057be64orr x5, x5, x6
    0057be68subs xzr, x1, 2
    0057be6cb.hi 0x57be74
    0057be70b 0x57c044
    0057be74
    0057be74loc_57be74:
    0057be74ldr x6, [sp+240]
    0057be78ldrsb x27, [x6]
    0057be7cldr x1, [x6+8]
    0057be80ldr x6, [x6]
    0057be84ldrb w7, [x7+2]
    0057be88ubfm x7, x7, 48, 7
    0057be8corr x5, x5, x7
    0057be90subs xzr, x1, 3
    0057be94b.hi 0x57be9c
    0057be98b 0x57c03c
    0057be9c
    0057be9cloc_57be9c:
    0057be9cldrb w6, [x6+3]
    0057bea0ubfm x6, x6, 40, 7
    0057bea4orr x6, x5, x6
    0057bea8movz x7, 11600
    0057beacmovk x7, 0x32350000
    0057beb0subs wzr, w6, w7
    0057beb4cset x5, eq
    0057beb8b 0x57bec0
    0057bebc
    0057bebcloc_57bebc:
    0057bebcb 0x57bec0
    0057bec0
    0057bec0loc_57bec0:
    0057bec0tbnz w5, 0, 0x57bec8
    0057bec4b 0x57bef4
    0057bec8
    0057bec8loc_57bec8:
    0057bec8ldr x5, [sp+240]
    0057beccldrsb x27, [x5]
    0057bed0ldr x1, [x5+8]
    0057bed4ldr x5, [x5]
    0057bed8subs xzr, x1, 4
    0057bedcb.hi 0x57bee4
    0057bee0b 0x57c034
    0057bee4
    0057bee4loc_57bee4:
    0057bee4ldrb w6, [x5+4]
    0057bee8subs wzr, w6, 49
    0057beeccset x5, eq
    0057bef0b 0x57bef8
    0057bef4
    0057bef4loc_57bef4:
    0057bef4b 0x57bef8
    0057bef8
    0057bef8loc_57bef8:
    0057bef8strb w5, [sp+63]
    0057befctbnz w5, 0, 0x57bf04
    0057bf00b 0x57bf34
    0057bf04
    0057bf04loc_57bf04:
    0057bf04ldr x5, [sp+240]
    0057bf08ldrsb x27, [x5]
    0057bf0cldr x1, [x5+32]
    0057bf10ldr x5, [x5+24]
    0057bf14subs xzr, x1, 0
    0057bf18b.hi 0x57bf20
    0057bf1cb 0x57c02c
    0057bf20
    0057bf20loc_57bf20:
    0057bf20ldrb w5, [x5]
    0057bf24ands wzr, w5, 254
    0057bf28cset x5, eq
    0057bf2cstrb w5, [sp+63]
    0057bf30b 0x57bf38
    0057bf34
    0057bf34loc_57bf34:
    0057bf34b 0x57bf38
    0057bf38
    0057bf38loc_57bf38:
    0057bf38ldrb w5, [sp+63]
    0057bf3ctbnz w5, 0, 0x57bf44
    0057bf40b 0x57bf7c
    0057bf44
    0057bf44loc_57bf44:
    0057bf44ldr x1, [sp+112]
    0057bf48ldr x5, [sp+104]
    0057bf4csubs xzr, x1, 0
    0057bf50b.hi 0x57bf58
    0057bf54b 0x57c024
    0057bf58
    0057bf58loc_57bf58:
    0057bf58ldr x1, [sp+112]
    0057bf5cldrb w5, [x5]
    0057bf60ldr x6, [sp+104]
    0057bf64and x5, x5, 1
    0057bf68subs xzr, x1, 0
    0057bf6cb.hi 0x57bf74
    0057bf70b 0x57c01c
    0057bf74
    0057bf74loc_57bf74:
    0057bf74strb w5, [x6]
    0057bf78b 0x57bf80
    0057bf7c
    0057bf7cloc_57bf7c:
    0057bf7cb 0x57bf80
    0057bf80
    0057bf80loc_57bf80:
    0057bf80str xzr, [sp+192]
    0057bf84stp xzr, xzr, [sp+176]
    0057bf88ldr x5, [sp+232]
    0057bf8cldrsb x27, [x5]
    0057bf90ldr x0, [x5]
    0057bf94str x0, [sp+168]
    0057bf98ldr x2, [sp+104]
    0057bf9cldr x1, [sp+240]
    0057bfa0ldr x3, [sp+112]
    0057bfa4ldr x4, [sp+120]
    0057bfa8bl crypto/internal/fips140/ecdh.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P384Point]
    0057bfacstr x0, [sp+192]
    0057bfb0str x1, [sp+176]
    0057bfb4str x2, [sp+184]
    0057bfb8ldr x5, [sp+192]
    0057bfbcstr x5, [sp+160]
    0057bfc0ldr x5, [sp+176]
    0057bfc4ldr x6, [sp+184]
    0057bfc8str x5, [sp+200]
    0057bfccstr x6, [sp+208]
    0057bfd0ldr x5, [sp+160]
    0057bfd4str x5, [sp+96]
    0057bfd8ldr x5, [sp+208]
    0057bfdcldr x6, [sp+200]
    0057bfe0str x6, [sp+128]
    0057bfe4str x5, [sp+136]
    0057bfe8cbnz x6, 0x57bff0
    0057bfecb 0x57bff8
    0057bff0
    0057bff0loc_57bff0:
    0057bff0b 0x57bff4
    0057bff4
    0057bff4loc_57bff4:
    0057bff4b 0x57bd3c
    0057bff8
    0057bff8loc_57bff8:
    0057bff8ldr x3, [sp+96]
    0057bffcstr x3, [sp+88]
    0057c000stp xzr, xzr, [sp+72]
    0057c004ldr x0, [sp+88]
    0057c008mov x1, xzr
    0057c00cmov x2, xzr
    0057c010ldur x29, [sp-8]
    0057c014ldr x30, [sp], 224
    0057c018ret x30
    0057c01c
    0057c01cloc_57c01c:
    0057c01cmov x0, xzr
    0057c020bl runtime.panicIndex
    0057c024
    0057c024loc_57c024:
    0057c024mov x0, xzr
    0057c028bl runtime.panicIndex
    0057c02c
    0057c02cloc_57c02c:
    0057c02cmov x0, xzr
    0057c030bl runtime.panicIndex
    0057c034
    0057c034loc_57c034:
    0057c034orr x0, xzr, 4
    0057c038bl runtime.panicIndex
    0057c03c
    0057c03cloc_57c03c:
    0057c03corr x0, xzr, 3
    0057c040bl runtime.panicIndex
    0057c044
    0057c044loc_57c044:
    0057c044orr x0, xzr, 2
    0057c048bl runtime.panicIndex
    0057c04c
    0057c04cloc_57c04c:
    0057c04corr x0, xzr, 1
    0057c050bl runtime.panicIndex
    0057c054
    0057c054loc_57c054:
    0057c054mov x0, xzr
    0057c058bl runtime.panicIndex
    0057c05c
    0057c05cloc_57c05c:
    0057c05corr x0, xzr, 1
    0057c060bl runtime.panicIndex
    0057c064
    0057c064loc_57c064:
    0057c064orr x0, xzr, 1
    0057c068bl runtime.panicIndex
    0057c06chint
    0057c070
    0057c070loc_57c070:
    0057c070stp x0, x1, [sp+8]
    0057c074stp x2, x3, [sp+24]
    0057c078mov x3, x30
    0057c07cbl runtime.morestack_noctxt.abi0
    0057c080ldp x0, x1, [sp+8]
    0057c084ldp x2, x3, [sp+24]
    0057c088b 0x57bd00
    0057c08cudf 0
    0057bd00
    0057c090
    0057c090crypto/internal/fips140/ecdh.ECDH[go.shape.*crypto/internal/fips140/nistec.P256Point]: ; void crypto/internal/fips140/ecdh.ECDH[go.shape.*crypto/internal/fips140/nistec.P256Point](uintptr[2] * dict, crypto/internal/fips140/ecdh.Curve[go.shape.*crypto/internal/fips140/nistec.P256Point] * c, crypto/internal/fips140/ecdh.PrivateKey * k, crypto/internal/fips140/ecdh.PublicKey * peer)
    0057c090ldr x16, [x28+16]
    0057c094sub x17, sp, 48
    0057c098subs xzr, x17, x16
    0057c09cb.ls 0x57c184
    0057c0a0str x30, [sp-176]!
    0057c0a4stur x29, [sp-8]
    0057c0a8sub x29, sp, 8
    0057c0acstr x0, [sp+184]
    0057c0b0str x1, [sp+192]
    0057c0b4str x2, [sp+200]
    0057c0b8str x3, [sp+208]
    0057c0bcstr xzr, [sp+56]
    0057c0c0stp xzr, xzr, [sp+64]
    0057c0c4stp xzr, xzr, [sp+40]
    0057c0c8adrp x27, 0x4a5000
    0057c0ccldr x26, [x27+472]
    0057c0d0ldr x0, [x26]
    0057c0d4blr x0
    0057c0d8bl crypto/internal/fips140.RecordApproved
    0057c0dcstr xzr, [sp+96]
    0057c0e0stp xzr, xzr, [sp+104]
    0057c0e4stp xzr, xzr, [sp+80]
    0057c0e8ldr x0, [sp+184]
    0057c0ecldrsb x27, [x0]
    0057c0f0ldr x0, [x0]
    0057c0f4str x0, [sp+160]
    0057c0f8ldr x3, [sp+208]
    0057c0fcldr x2, [sp+200]
    0057c100ldr x1, [sp+192]
    0057c104bl crypto/internal/fips140/ecdh.ecdh[go.shape.*crypto/internal/fips140/nistec.P256Point]
    0057c108str x0, [sp+96]
    0057c10cstr x1, [sp+104]
    0057c110str x2, [sp+112]
    0057c114str x3, [sp+80]
    0057c118str x4, [sp+88]
    0057c11cldr x0, [sp+96]
    0057c120ldr x1, [sp+104]
    0057c124ldr x2, [sp+112]
    0057c128str x0, [sp+136]
    0057c12cstr x1, [sp+144]
    0057c130str x2, [sp+152]
    0057c134ldr x0, [sp+80]
    0057c138ldr x1, [sp+88]
    0057c13cstr x0, [sp+120]
    0057c140str x1, [sp+128]
    0057c144ldr x0, [sp+136]
    0057c148ldr x1, [sp+144]
    0057c14cldr x2, [sp+152]
    0057c150str x0, [sp+56]
    0057c154str x1, [sp+64]
    0057c158str x2, [sp+72]
    0057c15cldr x3, [sp+120]
    0057c160ldr x4, [sp+128]
    0057c164str x3, [sp+40]
    0057c168str x4, [sp+48]
    0057c16cldr x0, [sp+56]
    0057c170ldr x1, [sp+64]
    0057c174ldr x2, [sp+72]
    0057c178ldur x29, [sp-8]
    0057c17cldr x30, [sp], 176
    0057c180ret x30
    0057c184
    0057c184loc_57c184:
    0057c184stp x0, x1, [sp+8]
    0057c188stp x2, x3, [sp+24]
    0057c18cmov x3, x30
    0057c190bl runtime.morestack_noctxt.abi0
    0057c194ldp x0, x1, [sp+8]
    0057c198ldp x2, x3, [sp+24]
    0057c19cb 0x57c090
    0057c090
    0057c1a0
    0057c1a0crypto/internal/fips140/ecdh.NewPublicKey[go.shape.*crypto/internal/fips140/nistec.P256Point]: ; void crypto/internal/fips140/ecdh.NewPublicKey[go.shape.*crypto/internal/fips140/nistec.P256Point](uintptr[2] * dict, crypto/internal/fips140/ecdh.Curve[go.shape.*crypto/internal/fips140/nistec.P256Point] * c, struct []uint8 key)
    0057c1a0ldr x16, [x28+16]
    0057c1a4sub x17, sp, 64
    0057c1a8subs xzr, x17, x16
    0057c1acb.ls 0x57c3ec
    0057c1b0str x30, [sp-192]!
    0057c1b4stur x29, [sp-8]
    0057c1b8sub x29, sp, 8
    0057c1bcstr x0, [sp+200]
    0057c1c0str x1, [sp+208]
    0057c1c4str x2, [sp+216]
    0057c1c8str x3, [sp+224]
    0057c1ccstr x4, [sp+232]
    0057c1d0str xzr, [sp+72]
    0057c1d4stp xzr, xzr, [sp+56]
    0057c1d8ldr x2, [sp+224]
    0057c1dcstr x2, [sp+48]
    0057c1e0subs xzr, x2, 0
    0057c1e4cset x3, eq
    0057c1e8strb w3, [sp+47]
    0057c1eccbz x2, 0x57c1f4
    0057c1f0b 0x57c1f8
    0057c1f4
    0057c1f4loc_57c1f4:
    0057c1f4b 0x57c220
    0057c1f8
    0057c1f8loc_57c1f8:
    0057c1f8ldr x1, [sp+224]
    0057c1fcldr x2, [sp+216]
    0057c200subs xzr, x1, 0
    0057c204b.hi 0x57c20c
    0057c208b 0x57c3e0
    0057c20c
    0057c20cloc_57c20c:
    0057c20cldrb w2, [x2]
    0057c210subs wzr, w2, 4
    0057c214cset x2, ne
    0057c218strb w2, [sp+47]
    0057c21cb 0x57c220
    0057c220
    0057c220loc_57c220:
    0057c220ldrb w2, [sp+47]
    0057c224tbnz w2, 0, 0x57c22c
    0057c228b 0x57c268
    0057c22c
    0057c22cloc_57c22c:
    0057c22cadrp x0, 0x142000
    0057c230add x0, x0, 444
    0057c234orr x1, xzr, 31
    0057c238bl errors.New
    0057c23cstr x0, [sp+168]
    0057c240str x1, [sp+176]
    0057c244str xzr, [sp+72]
    0057c248ldr x1, [sp+168]
    0057c24cldr x2, [sp+176]
    0057c250str x1, [sp+56]
    0057c254str x2, [sp+64]
    0057c258ldr x0, [sp+72]
    0057c25cldur x29, [sp-8]
    0057c260ldr x30, [sp], 192
    0057c264ret x30
    0057c268
    0057c268loc_57c268:
    0057c268ldr x0, [sp+208]
    0057c26cldrsb x27, [x0]
    0057c270ldr x26, [x0+16]
    0057c274ldr x0, [x26]
    0057c278blr x0
    0057c27cstr x0, [sp+160]
    0057c280str xzr, [sp+152]
    0057c284stp xzr, xzr, [sp+168]
    0057c288ldr x26, [sp+200]
    0057c28cldrsb x27, [x26]
    0057c290ldr x0, [x26]
    0057c294ldr x1, [sp+216]
    0057c298ldr x2, [sp+224]
    0057c29cldr x3, [sp+232]
    0057c2a0ldr x4, [sp+160]
    0057c2a4mov x5, x0
    0057c2a8mov x0, x4
    0057c2acblr x5
    0057c2b0str x0, [sp+152]
    0057c2b4str x1, [sp+168]
    0057c2b8str x2, [sp+176]
    0057c2bcldr x0, [sp+152]
    0057c2c0str x0, [sp+112]
    0057c2c4ldr x0, [sp+176]
    0057c2c8ldr x1, [sp+168]
    0057c2ccstr x1, [sp+96]
    0057c2d0str x0, [sp+104]
    0057c2d4str x1, [sp+80]
    0057c2d8str x0, [sp+88]
    0057c2dccbnz x1, 0x57c2e4
    0057c2e0b 0x57c308
    0057c2e4
    0057c2e4loc_57c2e4:
    0057c2e4str xzr, [sp+72]
    0057c2e8ldr x1, [sp+80]
    0057c2ecldr x2, [sp+88]
    0057c2f0str x1, [sp+56]
    0057c2f4str x2, [sp+64]
    0057c2f8ldr x0, [sp+72]
    0057c2fcldur x29, [sp-8]
    0057c300ldr x30, [sp], 192
    0057c304ret x30
    0057c308
    0057c308loc_57c308:
    0057c308ldr x0, [sp+216]
    0057c30cldr x1, [sp+224]
    0057c310ldr x2, [sp+232]
    0057c314bl bytes.Clone
    0057c318str x0, [sp+128]
    0057c31cstr x1, [sp+136]
    0057c320str x2, [sp+144]
    0057c324adrp x0, 0xcc000
    0057c328add x0, x0, 736
    0057c32cbl runtime.newobject
    0057c330str x0, [sp+120]
    0057c334ldr x3, [sp+208]
    0057c338ldrsb x27, [x3]
    0057c33cldr x4, [x3]
    0057c340ldr x3, [x3+8]
    0057c344str x3, [x0+8]
    0057c348adrp x27, 0x4cf000
    0057c34cldr w3, [x27+3056]
    0057c350cbz w3, 0x57c358
    0057c354b 0x57c35c
    0057c358
    0057c358loc_57c358:
    0057c358b 0x57c370
    0057c35c
    0057c35cloc_57c35c:
    0057c35cbl runtime.gcWriteBarrier2
    0057c360str x4, [x25]
    0057c364ldr x3, [x0]
    0057c368str x3, [x25+8]
    0057c36cb 0x57c370
    0057c370
    0057c370loc_57c370:
    0057c370str x4, [x0]
    0057c374ldr x3, [sp+120]
    0057c378ldrsb x27, [x3]
    0057c37cldr x4, [sp+128]
    0057c380ldr x5, [sp+136]
    0057c384ldr x6, [sp+144]
    0057c388str x5, [x3+24]
    0057c38cstr x6, [x3+32]
    0057c390adrp x27, 0x4cf000
    0057c394ldr w5, [x27+3056]
    0057c398cbz w5, 0x57c3a0
    0057c39cb 0x57c3a4
    0057c3a0
    0057c3a0loc_57c3a0:
    0057c3a0b 0x57c3b8
    0057c3a4
    0057c3a4loc_57c3a4:
    0057c3a4bl runtime.gcWriteBarrier2
    0057c3a8str x4, [x25]
    0057c3acldr x5, [x3+16]
    0057c3b0str x5, [x25+8]
    0057c3b4b 0x57c3b8
    0057c3b8
    0057c3b8loc_57c3b8:
    0057c3b8str x4, [x3+16]
    0057c3bcldr x3, [sp+120]
    0057c3c0str x3, [sp+72]
    0057c3c4stp xzr, xzr, [sp+56]
    0057c3c8ldr x0, [sp+72]
    0057c3ccmov x1, xzr
    0057c3d0mov x2, xzr
    0057c3d4ldur x29, [sp-8]
    0057c3d8ldr x30, [sp], 192
    0057c3dcret x30
    0057c3e0
    0057c3e0loc_57c3e0:
    0057c3e0mov x0, xzr
    0057c3e4bl runtime.panicIndex
    0057c3e8hint
    0057c3ec
    0057c3ecloc_57c3ec:
    0057c3ecstp x0, x1, [sp+8]
    0057c3f0stp x2, x3, [sp+24]
    0057c3f4str x4, [sp+40]
    0057c3f8mov x3, x30
    0057c3fcbl runtime.morestack_noctxt.abi0
    0057c400ldp x0, x1, [sp+8]
    0057c404ldp x2, x3, [sp+24]
    0057c408ldr x4, [sp+40]
    0057c40cb 0x57c1a0
    0057c1a0
    0057c410
    0057c410crypto/internal/fips140/ecdh.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P256Point]: ; void crypto/internal/fips140/ecdh.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P256Point](uintptr[4] * dict, crypto/internal/fips140/ecdh.Curve[go.shape.*crypto/internal/fips140/nistec.P256Point] * c, struct []uint8 key)
    0057c410ldr x16, [x28+16]
    0057c414sub x17, sp, 272
    0057c418subs xzr, x17, x16
    0057c41cb.ls 0x57c8c4
    0057c420sub x20, sp, 400
    0057c424stp x29, x30, [x20-8]
    0057c428add sp, x20, 0
    0057c42csub x29, sp, 8
    0057c430str x0, [sp+408]
    0057c434str x1, [sp+416]
    0057c438str x2, [sp+424]
    0057c43cstr x3, [sp+432]
    0057c440str x4, [sp+440]
    0057c444str xzr, [sp+96]
    0057c448stp xzr, xzr, [sp+80]
    0057c44cldr x6, [sp+432]
    0057c450str x6, [sp+72]
    0057c454ldr x7, [sp+416]
    0057c458ldrsb x27, [x7]
    0057c45cldr x7, [x7+32]
    0057c460str x7, [sp+64]
    0057c464subs xzr, x6, x7
    0057c468cset x6, ne
    0057c46cstrb w6, [sp+62]
    0057c470b.ne 0x57c478
    0057c474b 0x57c47c
    0057c478
    0057c478loc_57c478:
    0057c478b 0x57c498
    0057c47c
    0057c47cloc_57c47c:
    0057c47cldr x0, [sp+424]
    0057c480ldr x1, [sp+432]
    0057c484ldr x2, [sp+440]
    0057c488bl crypto/internal/fips140/ecdh.isZero
    0057c48cstrb w0, [sp+61]
    0057c490strb w0, [sp+62]
    0057c494b 0x57c498
    0057c498
    0057c498loc_57c498:
    0057c498ldrb w6, [sp+62]
    0057c49cstrb w6, [sp+63]
    0057c4a0tbnz w6, 0, 0x57c4a8
    0057c4a4b 0x57c4ac
    0057c4a8
    0057c4a8loc_57c4a8:
    0057c4a8b 0x57c4ec
    0057c4ac
    0057c4acloc_57c4ac:
    0057c4acldr x6, [sp+416]
    0057c4b0ldrsb x27, [x6]
    0057c4b4ldr x3, [x6+24]
    0057c4b8ldr x4, [x6+32]
    0057c4bcldr x5, [x6+40]
    0057c4c0str x3, [sp+240]
    0057c4c4str x4, [sp+248]
    0057c4c8str x5, [sp+256]
    0057c4ccldr x0, [sp+424]
    0057c4d0ldr x1, [sp+432]
    0057c4d4ldr x2, [sp+440]
    0057c4d8bl crypto/internal/fips140/ecdh.isLess
    0057c4dcstrb w0, [sp+61]
    0057c4e0eor x6, x0, 1
    0057c4e4strb w6, [sp+63]
    0057c4e8b 0x57c4ec
    0057c4ec
    0057c4ecloc_57c4ec:
    0057c4ecldrb w2, [sp+63]
    0057c4f0tbnz w2, 0, 0x57c4f8
    0057c4f4b 0x57c534
    0057c4f8
    0057c4f8loc_57c4f8:
    0057c4f8adrp x0, 0x142000
    0057c4fcadd x0, x0, 3504
    0057c500orr x1, xzr, 32
    0057c504bl errors.New
    0057c508str x0, [sp+376]
    0057c50cstr x1, [sp+384]
    0057c510str xzr, [sp+96]
    0057c514ldr x1, [sp+376]
    0057c518ldr x2, [sp+384]
    0057c51cstr x1, [sp+80]
    0057c520str x2, [sp+88]
    0057c524ldr x0, [sp+96]
    0057c528ldp x29, x30, [sp-8]
    0057c52cadd sp, sp, 400
    0057c530ret x30
    0057c534
    0057c534loc_57c534:
    0057c534ldr x0, [sp+416]
    0057c538ldrsb x27, [x0]
    0057c53cldr x26, [x0+16]
    0057c540ldr x0, [x26]
    0057c544blr x0
    0057c548str x0, [sp+368]
    0057c54cstr xzr, [sp+360]
    0057c550stp xzr, xzr, [sp+376]
    0057c554ldr x26, [sp+408]
    0057c558ldrsb x27, [x26]
    0057c55cldr x0, [x26]
    0057c560ldr x1, [sp+424]
    0057c564ldr x2, [sp+432]
    0057c568ldr x3, [sp+440]
    0057c56cldr x4, [sp+368]
    0057c570mov x5, x0
    0057c574mov x0, x4
    0057c578blr x5
    0057c57cstr x0, [sp+360]
    0057c580str x1, [sp+376]
    0057c584str x2, [sp+384]
    0057c588ldr x0, [sp+360]
    0057c58cstr x0, [sp+192]
    0057c590ldr x0, [sp+376]
    0057c594ldr x1, [sp+384]
    0057c598str x0, [sp+176]
    0057c59cstr x1, [sp+184]
    0057c5a0ldr x0, [sp+192]
    0057c5a4str x0, [sp+128]
    0057c5a8ldr x0, [sp+184]
    0057c5acldr x1, [sp+176]
    0057c5b0str x1, [sp+160]
    0057c5b4str x0, [sp+168]
    0057c5b8cbnz x1, 0x57c8ac
    0057c5bcb 0x57c5c0
    0057c5c0
    0057c5c0loc_57c5c0:
    0057c5c0ldr x1, [sp+408]
    0057c5c4ldrsb x27, [x1]
    0057c5c8add x26, x1, 8
    0057c5ccldr x0, [sp+128]
    0057c5d0ldr x1, [x1+8]
    0057c5d4blr x1
    0057c5d8str x0, [sp+104]
    0057c5dcstr x1, [sp+112]
    0057c5e0str x2, [sp+120]
    0057c5e4str x1, [sp+64]
    0057c5e8subs xzr, x1, 1
    0057c5ecb.eq 0x57c898
    0057c5f0b 0x57c5f4
    0057c5f4
    0057c5f4loc_57c5f4:
    0057c5f4stp xzr, xzr, [sp+288]
    0057c5f8stp xzr, xzr, [sp+304]
    0057c5fcstp xzr, xzr, [sp+320]
    0057c600stp xzr, xzr, [sp+336]
    0057c604str xzr, [sp+352]
    0057c608add x3, sp, 288
    0057c60cstr x3, [sp+232]
    0057c610ldrsb x27, [x3]
    0057c614adrp x4, 0
    0057c618add x4, x4, 2288
    0057c61cstr x4, [x3]
    0057c620ldrsb x27, [x3]
    0057c624ldr x4, [sp+416]
    0057c628adrp x27, 0x4cf000
    0057c62cldr w5, [x27+3056]
    0057c630cbz w5, 0x57c638
    0057c634b 0x57c63c
    0057c638
    0057c638loc_57c638:
    0057c638b 0x57c650
    0057c63c
    0057c63cloc_57c63c:
    0057c63cbl runtime.gcWriteBarrier2
    0057c640str x4, [x25]
    0057c644ldr x5, [x3+8]
    0057c648str x5, [x25+8]
    0057c64cb 0x57c650
    0057c650
    0057c650loc_57c650:
    0057c650str x4, [x3+8]
    0057c654ldrsb x27, [x3]
    0057c658ldr x4, [sp+424]
    0057c65cldr x5, [sp+432]
    0057c660ldr x6, [sp+440]
    0057c664str x5, [x3+24]
    0057c668str x6, [x3+32]
    0057c66cadrp x27, 0x4cf000
    0057c670ldr w5, [x27+3056]
    0057c674cbz w5, 0x57c67c
    0057c678b 0x57c680
    0057c67c
    0057c67cloc_57c67c:
    0057c67cb 0x57c694
    0057c680
    0057c680loc_57c680:
    0057c680bl runtime.gcWriteBarrier2
    0057c684str x4, [x25]
    0057c688ldr x5, [x3+16]
    0057c68cstr x5, [x25+8]
    0057c690b 0x57c694
    0057c694
    0057c694loc_57c694:
    0057c694str x4, [x3+16]
    0057c698ldr x3, [sp+104]
    0057c69cldr x4, [sp+112]
    0057c6a0ldr x5, [sp+120]
    0057c6a4ldr x6, [sp+232]
    0057c6a8ldrsb x27, [x6]
    0057c6acstr x4, [x6+48]
    0057c6b0str x5, [x6+56]
    0057c6b4adrp x27, 0x4cf000
    0057c6b8ldr w4, [x27+3056]
    0057c6bccbz w4, 0x57c6c4
    0057c6c0b 0x57c6c8
    0057c6c4
    0057c6c4loc_57c6c4:
    0057c6c4b 0x57c6dc
    0057c6c8
    0057c6c8loc_57c6c8:
    0057c6c8bl runtime.gcWriteBarrier2
    0057c6ccstr x3, [x25]
    0057c6d0ldr x4, [x6+40]
    0057c6d4str x4, [x25+8]
    0057c6d8b 0x57c6dc
    0057c6dc
    0057c6dcloc_57c6dc:
    0057c6dcstr x3, [x6+40]
    0057c6e0ldr x3, [sp+408]
    0057c6e4ldr x4, [sp+232]
    0057c6e8ldrsb x27, [x4]
    0057c6ecadrp x27, 0x4cf000
    0057c6f0ldr w5, [x27+3056]
    0057c6f4cbz w5, 0x57c6fc
    0057c6f8b 0x57c700
    0057c6fc
    0057c6fcloc_57c6fc:
    0057c6fcb 0x57c714
    0057c700
    0057c700loc_57c700:
    0057c700bl runtime.gcWriteBarrier2
    0057c704str x3, [x25]
    0057c708ldr x5, [x4+64]
    0057c70cstr x5, [x25+8]
    0057c710b 0x57c714
    0057c714
    0057c714loc_57c714:
    0057c714str x3, [x4+64]
    0057c718ldr x2, [sp+232]
    0057c71cadrp x0, 0x135000
    0057c720add x0, x0, 2052
    0057c724orr x1, xzr, 8
    0057c728bl crypto/internal/fips140.PCT
    0057c72cstr x0, [sp+144]
    0057c730str x1, [sp+152]
    0057c734cbnz x0, 0x57c860
    0057c738b 0x57c73c
    0057c73c
    0057c73cloc_57c73c:
    0057c73cldr x0, [sp+424]
    0057c740ldr x1, [sp+432]
    0057c744ldr x2, [sp+440]
    0057c748bl bytes.Clone
    0057c74cstr x0, [sp+264]
    0057c750str x1, [sp+272]
    0057c754str x2, [sp+280]
    0057c758adrp x0, 0xcc000
    0057c75cadd x0, x0, 896
    0057c760bl runtime.newobject
    0057c764str x0, [sp+200]
    0057c768ldr x3, [sp+264]
    0057c76cldr x4, [sp+272]
    0057c770ldr x5, [sp+280]
    0057c774str x4, [x0+48]
    0057c778str x5, [x0+56]
    0057c77cadrp x27, 0x4cf000
    0057c780ldr w4, [x27+3056]
    0057c784cbz w4, 0x57c78c
    0057c788b 0x57c790
    0057c78c
    0057c78cloc_57c78c:
    0057c78cb 0x57c7a4
    0057c790
    0057c790loc_57c790:
    0057c790bl runtime.gcWriteBarrier2
    0057c794str x3, [x25]
    0057c798ldr x4, [x0+40]
    0057c79cstr x4, [x25+8]
    0057c7a0b 0x57c7a4
    0057c7a4
    0057c7a4loc_57c7a4:
    0057c7a4str x3, [x0+40]
    0057c7a8ldr x3, [sp+200]
    0057c7acldrsb x27, [x3]
    0057c7b0ldr x4, [sp+416]
    0057c7b4ldrsb x27, [x4]
    0057c7b8ldr x5, [x4]
    0057c7bcldr x4, [x4+8]
    0057c7c0str x4, [x3+8]
    0057c7c4adrp x27, 0x4cf000
    0057c7c8ldr w4, [x27+3056]
    0057c7cccbz w4, 0x57c7d4
    0057c7d0b 0x57c7d8
    0057c7d4
    0057c7d4loc_57c7d4:
    0057c7d4b 0x57c7ec
    0057c7d8
    0057c7d8loc_57c7d8:
    0057c7d8bl runtime.gcWriteBarrier2
    0057c7dcstr x5, [x25]
    0057c7e0ldr x4, [x3]
    0057c7e4str x4, [x25+8]
    0057c7e8b 0x57c7ec
    0057c7ec
    0057c7ecloc_57c7ec:
    0057c7ecstr x5, [x3]
    0057c7f0ldr x3, [sp+200]
    0057c7f4ldrsb x27, [x3]
    0057c7f8ldr x4, [sp+104]
    0057c7fcldr x5, [sp+112]
    0057c800ldr x6, [sp+120]
    0057c804str x5, [x3+24]
    0057c808str x6, [x3+32]
    0057c80cadrp x27, 0x4cf000
    0057c810ldr w5, [x27+3056]
    0057c814cbz w5, 0x57c81c
    0057c818b 0x57c820
    0057c81c
    0057c81cloc_57c81c:
    0057c81cb 0x57c834
    0057c820
    0057c820loc_57c820:
    0057c820bl runtime.gcWriteBarrier2
    0057c824str x4, [x25]
    0057c828ldr x5, [x3+16]
    0057c82cstr x5, [x25+8]
    0057c830b 0x57c834
    0057c834
    0057c834loc_57c834:
    0057c834str x4, [x3+16]
    0057c838ldr x3, [sp+200]
    0057c83cstr x3, [sp+136]
    0057c840str x3, [sp+96]
    0057c844stp xzr, xzr, [sp+80]
    0057c848ldr x0, [sp+96]
    0057c84cmov x1, xzr
    0057c850mov x2, xzr
    0057c854ldp x29, x30, [sp-8]
    0057c858add sp, sp, 400
    0057c85cret x30
    0057c860
    0057c860loc_57c860:
    0057c860str x0, [sp+216]
    0057c864str x1, [sp+224]
    0057c868str x0, [sp+208]
    0057c86cldr x2, [sp+208]
    0057c870cbnz x2, 0x57c878
    0057c874b 0x57c894
    0057c878
    0057c878loc_57c878:
    0057c878ldr x2, [sp+208]
    0057c87cldr x2, [x2+8]
    0057c880str x2, [sp+208]
    0057c884b 0x57c888
    0057c888
    0057c888loc_57c888:
    0057c888ldr x0, [sp+208]
    0057c88cldr x1, [sp+224]
    0057c890bl runtime.gopanic
    0057c894
    0057c894loc_57c894:
    0057c894b 0x57c888
    0057c898
    0057c898loc_57c898:
    0057c898adrp x0, 0x79000
    0057c89cadd x0, x0, 2944
    0057c8a0adrp x1, 0x196000
    0057c8a4add x1, x1, 2720
    0057c8a8bl runtime.gopanic
    0057c8ac
    0057c8acloc_57c8ac:
    0057c8acadrp x0, 0x79000
    0057c8b0add x0, x0, 2944
    0057c8b4adrp x1, 0x196000
    0057c8b8add x1, x1, 2704
    0057c8bcbl runtime.gopanic
    0057c8c0hint
    0057c8c4
    0057c8c4loc_57c8c4:
    0057c8c4stp x0, x1, [sp+8]
    0057c8c8stp x2, x3, [sp+24]
    0057c8ccstr x4, [sp+40]
    0057c8d0mov x3, x30
    0057c8d4bl runtime.morestack_noctxt.abi0
    0057c8d8ldp x0, x1, [sp+8]
    0057c8dcldp x2, x3, [sp+24]
    0057c8e0ldr x4, [sp+40]
    0057c8e4b 0x57c410
    0057c8e8udf 0
    0057c8ecudf 0
    0057c410
    0057c8f0
    0057c8f0crypto/internal/fips140/ecdh.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P256Point].func1: ; void crypto/internal/fips140/ecdh.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P256Point].func1(void)
    0057c8f0ldr x16, [x28+16]
    0057c8f4sub x17, sp, 128
    0057c8f8subs xzr, x17, x16
    0057c8fcb.ls 0x57ca78
    0057c900sub x20, sp, 256
    0057c904stp x29, x30, [x20-8]
    0057c908add sp, x20, 0
    0057c90csub x29, sp, 8
    0057c910ldr x0, [x26+8]
    0057c914str x0, [sp+152]
    0057c918ldr x0, [x26+16]
    0057c91cldr x1, [x26+24]
    0057c920ldr x2, [x26+32]
    0057c924str x0, [sp+112]
    0057c928str x1, [sp+120]
    0057c92cstr x2, [sp+128]
    0057c930ldr x0, [x26+40]
    0057c934ldr x1, [x26+48]
    0057c938ldr x2, [x26+56]
    0057c93cstr x0, [sp+80]
    0057c940str x1, [sp+88]
    0057c944str x2, [sp+96]
    0057c948ldr x0, [x26+64]
    0057c94cstr x0, [sp+160]
    0057c950stp xzr, xzr, [sp+64]
    0057c954ldr x0, [sp+152]
    0057c958ldrsb x27, [x0]
    0057c95cldr x26, [x0+16]
    0057c960ldr x0, [x26]
    0057c964blr x0
    0057c968str x0, [sp+216]
    0057c96cstr xzr, [sp+208]
    0057c970stp xzr, xzr, [sp+192]
    0057c974ldr x26, [sp+160]
    0057c978ldrsb x27, [x26]
    0057c97cldr x0, [x26]
    0057c980ldr x1, [sp+112]
    0057c984ldr x2, [sp+120]
    0057c988ldr x3, [sp+128]
    0057c98cldr x4, [sp+216]
    0057c990mov x5, x0
    0057c994mov x0, x4
    0057c998blr x5
    0057c99cstr x0, [sp+208]
    0057c9a0str x1, [sp+192]
    0057c9a4str x2, [sp+200]
    0057c9a8ldr x0, [sp+208]
    0057c9acstr x0, [sp+240]
    0057c9b0ldr x0, [sp+192]
    0057c9b4ldr x1, [sp+200]
    0057c9b8str x0, [sp+224]
    0057c9bcstr x1, [sp+232]
    0057c9c0ldr x0, [sp+240]
    0057c9c4str x0, [sp+104]
    0057c9c8ldr x1, [sp+232]
    0057c9ccldr x0, [sp+224]
    0057c9d0str x0, [sp+136]
    0057c9d4str x1, [sp+144]
    0057c9d8cbnz x0, 0x57c9e0
    0057c9dcb 0x57c9f4
    0057c9e0
    0057c9e0loc_57c9e0:
    0057c9e0str x0, [sp+64]
    0057c9e4str x1, [sp+72]
    0057c9e8ldp x29, x30, [sp-8]
    0057c9ecadd sp, sp, 256
    0057c9f0ret x30
    0057c9f4
    0057c9f4loc_57c9f4:
    0057c9f4ldr x1, [sp+160]
    0057c9f8ldrsb x27, [x1]
    0057c9fcadd x26, x1, 8
    0057ca00ldr x0, [sp+104]
    0057ca04ldr x1, [x1+8]
    0057ca08blr x1
    0057ca0cstr x0, [sp+168]
    0057ca10str x1, [sp+176]
    0057ca14str x2, [sp+184]
    0057ca18ldr x3, [sp+80]
    0057ca1cldr x4, [sp+88]
    0057ca20ldr x5, [sp+96]
    0057ca24bl bytes.Equal
    0057ca28strb w0, [sp+63]
    0057ca2ctbnz w0, 0, 0x57ca34
    0057ca30b 0x57ca4c
    0057ca34
    0057ca34loc_57ca34:
    0057ca34stp xzr, xzr, [sp+64]
    0057ca38mov x0, xzr
    0057ca3cmov x1, xzr
    0057ca40ldp x29, x30, [sp-8]
    0057ca44add sp, sp, 256
    0057ca48ret x30
    0057ca4c
    0057ca4cloc_57ca4c:
    0057ca4cadrp x0, 0x14d000
    0057ca50add x0, x0, 1758
    0057ca54movz x1, 50
    0057ca58bl errors.New
    0057ca5cstr x0, [sp+192]
    0057ca60str x1, [sp+200]
    0057ca64str x0, [sp+64]
    0057ca68str x1, [sp+72]
    0057ca6cldp x29, x30, [sp-8]
    0057ca70add sp, sp, 256
    0057ca74ret x30
    0057ca78
    0057ca78loc_57ca78:
    0057ca78mov x3, x30
    0057ca7cbl runtime.morestack.abi0
    0057ca80b 0x57c8f0
    0057ca84udf 0
    0057ca88udf 0
    0057ca8cudf 0
    0057c8f0
    0057ca90
    0057ca90crypto/internal/fips140/ecdh.GenerateKey[go.shape.*crypto/internal/fips140/nistec.P256Point]: ; void crypto/internal/fips140/ecdh.GenerateKey[go.shape.*crypto/internal/fips140/nistec.P256Point](uintptr[2] * dict, crypto/internal/fips140/ecdh.Curve[go.shape.*crypto/internal/fips140/nistec.P256Point] * c, io.Reader rand)
    0057ca90ldr x16, [x28+16]
    0057ca94sub x17, sp, 96
    0057ca98subs xzr, x17, x16
    0057ca9cb.ls 0x57ce00
    0057caa0str x30, [sp-224]!
    0057caa4stur x29, [sp-8]
    0057caa8sub x29, sp, 8
    0057caacstr x0, [sp+232]
    0057cab0str x1, [sp+240]
    0057cab4str x2, [sp+248]
    0057cab8str x3, [sp+256]
    0057cabcstr xzr, [sp+88]
    0057cac0stp xzr, xzr, [sp+72]
    0057cac4bl crypto/internal/fips140.RecordApproved
    0057cac8b 0x57cacc
    0057cacc
    0057caccloc_57cacc:
    0057caccb 0x57cad0
    0057cad0
    0057cad0loc_57cad0:
    0057cad0ldr x3, [sp+240]
    0057cad4ldrsb x27, [x3]
    0057cad8ldr x2, [x3+32]
    0057cadcstr x2, [sp+64]
    0057cae0adrp x0, 0x79000
    0057cae4add x0, x0, 3072
    0057cae8mov x1, x2
    0057caecbl runtime.makeslice
    0057caf0ldr x3, [sp+64]
    0057caf4ldr x4, [sp+64]
    0057caf8str x0, [sp+104]
    0057cafcstr x3, [sp+112]
    0057cb00str x4, [sp+120]
    0057cb04ldr x5, [sp+248]
    0057cb08ldr x1, [sp+256]
    0057cb0cmov x2, x0
    0057cb10mov x0, x5
    0057cb14bl crypto/internal/fips140/drbg.ReadWithReader
    0057cb18str x0, [sp+144]
    0057cb1cstr x1, [sp+152]
    0057cb20cbnz x0, 0x57cb28
    0057cb24b 0x57cb4c
    0057cb28
    0057cb28loc_57cb28:
    0057cb28str xzr, [sp+88]
    0057cb2cldr x1, [sp+144]
    0057cb30ldr x2, [sp+152]
    0057cb34str x1, [sp+72]
    0057cb38str x2, [sp+80]
    0057cb3cldr x0, [sp+88]
    0057cb40ldur x29, [sp-8]
    0057cb44ldr x30, [sp], 224
    0057cb48ret x30
    0057cb4c
    0057cb4cloc_57cb4c:
    0057cb4cldr x1, [sp+112]
    0057cb50ldr x5, [sp+104]
    0057cb54subs xzr, x1, 1
    0057cb58b.hi 0x57cb60
    0057cb5cb 0x57cdf4
    0057cb60
    0057cb60loc_57cb60:
    0057cb60ldr x1, [sp+112]
    0057cb64ldr x6, [sp+104]
    0057cb68ldrb w5, [x5+1]
    0057cb6cmovz x7, 66
    0057cb70eor x5, x5, x7
    0057cb74subs xzr, x1, 1
    0057cb78b.hi 0x57cb80
    0057cb7cb 0x57cdec
    0057cb80
    0057cb80loc_57cb80:
    0057cb80strb w5, [x6+1]
    0057cb84ldr x5, [sp+240]
    0057cb88ldrsb x27, [x5]
    0057cb8cldr x5, [x5+8]
    0057cb90subs xzr, x5, 5
    0057cb94cset x5, eq
    0057cb98b.eq 0x57cba0
    0057cb9cb 0x57cc4c
    0057cba0
    0057cba0loc_57cba0:
    0057cba0ldr x5, [sp+240]
    0057cba4ldrsb x27, [x5]
    0057cba8ldr x1, [x5+8]
    0057cbacldr x5, [x5]
    0057cbb0subs xzr, x1, 0
    0057cbb4b.hi 0x57cbbc
    0057cbb8b 0x57cde4
    0057cbbc
    0057cbbcloc_57cbbc:
    0057cbbcldr x6, [sp+240]
    0057cbc0ldrsb x27, [x6]
    0057cbc4ldr x1, [x6+8]
    0057cbc8ldr x6, [x6]
    0057cbccldrb w5, [x5]
    0057cbd0subs xzr, x1, 1
    0057cbd4b.hi 0x57cbdc
    0057cbd8b 0x57cddc
    0057cbdc
    0057cbdcloc_57cbdc:
    0057cbdcldr x7, [sp+240]
    0057cbe0ldrsb x27, [x7]
    0057cbe4ldr x1, [x7+8]
    0057cbe8ldr x7, [x7]
    0057cbecldrb w6, [x6+1]
    0057cbf0ubfm x6, x6, 56, 7
    0057cbf4orr x5, x5, x6
    0057cbf8subs xzr, x1, 2
    0057cbfcb.hi 0x57cc04
    0057cc00b 0x57cdd4
    0057cc04
    0057cc04loc_57cc04:
    0057cc04ldr x6, [sp+240]
    0057cc08ldrsb x27, [x6]
    0057cc0cldr x1, [x6+8]
    0057cc10ldr x6, [x6]
    0057cc14ldrb w7, [x7+2]
    0057cc18ubfm x7, x7, 48, 7
    0057cc1corr x5, x5, x7
    0057cc20subs xzr, x1, 3
    0057cc24b.hi 0x57cc2c
    0057cc28b 0x57cdcc
    0057cc2c
    0057cc2cloc_57cc2c:
    0057cc2cldrb w6, [x6+3]
    0057cc30ubfm x6, x6, 40, 7
    0057cc34orr x6, x5, x6
    0057cc38movz x7, 11600
    0057cc3cmovk x7, 0x32350000
    0057cc40subs wzr, w6, w7
    0057cc44cset x5, eq
    0057cc48b 0x57cc50
    0057cc4c
    0057cc4cloc_57cc4c:
    0057cc4cb 0x57cc50
    0057cc50
    0057cc50loc_57cc50:
    0057cc50tbnz w5, 0, 0x57cc58
    0057cc54b 0x57cc84
    0057cc58
    0057cc58loc_57cc58:
    0057cc58ldr x5, [sp+240]
    0057cc5cldrsb x27, [x5]
    0057cc60ldr x1, [x5+8]
    0057cc64ldr x5, [x5]
    0057cc68subs xzr, x1, 4
    0057cc6cb.hi 0x57cc74
    0057cc70b 0x57cdc4
    0057cc74
    0057cc74loc_57cc74:
    0057cc74ldrb w6, [x5+4]
    0057cc78subs wzr, w6, 49
    0057cc7ccset x5, eq
    0057cc80b 0x57cc88
    0057cc84
    0057cc84loc_57cc84:
    0057cc84b 0x57cc88
    0057cc88
    0057cc88loc_57cc88:
    0057cc88strb w5, [sp+63]
    0057cc8ctbnz w5, 0, 0x57cc94
    0057cc90b 0x57ccc4
    0057cc94
    0057cc94loc_57cc94:
    0057cc94ldr x5, [sp+240]
    0057cc98ldrsb x27, [x5]
    0057cc9cldr x1, [x5+32]
    0057cca0ldr x5, [x5+24]
    0057cca4subs xzr, x1, 0
    0057cca8b.hi 0x57ccb0
    0057ccacb 0x57cdbc
    0057ccb0
    0057ccb0loc_57ccb0:
    0057ccb0ldrb w5, [x5]
    0057ccb4ands wzr, w5, 254
    0057ccb8cset x5, eq
    0057ccbcstrb w5, [sp+63]
    0057ccc0b 0x57ccc8
    0057ccc4
    0057ccc4loc_57ccc4:
    0057ccc4b 0x57ccc8
    0057ccc8
    0057ccc8loc_57ccc8:
    0057ccc8ldrb w5, [sp+63]
    0057cccctbnz w5, 0, 0x57ccd4
    0057ccd0b 0x57cd0c
    0057ccd4
    0057ccd4loc_57ccd4:
    0057ccd4ldr x1, [sp+112]
    0057ccd8ldr x5, [sp+104]
    0057ccdcsubs xzr, x1, 0
    0057cce0b.hi 0x57cce8
    0057cce4b 0x57cdb4
    0057cce8
    0057cce8loc_57cce8:
    0057cce8ldr x1, [sp+112]
    0057ccecldrb w5, [x5]
    0057ccf0ldr x6, [sp+104]
    0057ccf4and x5, x5, 1
    0057ccf8subs xzr, x1, 0
    0057ccfcb.hi 0x57cd04
    0057cd00b 0x57cdac
    0057cd04
    0057cd04loc_57cd04:
    0057cd04strb w5, [x6]
    0057cd08b 0x57cd10
    0057cd0c
    0057cd0cloc_57cd0c:
    0057cd0cb 0x57cd10
    0057cd10
    0057cd10loc_57cd10:
    0057cd10str xzr, [sp+192]
    0057cd14stp xzr, xzr, [sp+176]
    0057cd18ldr x5, [sp+232]
    0057cd1cldrsb x27, [x5]
    0057cd20ldr x0, [x5]
    0057cd24str x0, [sp+168]
    0057cd28ldr x2, [sp+104]
    0057cd2cldr x1, [sp+240]
    0057cd30ldr x3, [sp+112]
    0057cd34ldr x4, [sp+120]
    0057cd38bl crypto/internal/fips140/ecdh.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P256Point]
    0057cd3cstr x0, [sp+192]
    0057cd40str x1, [sp+176]
    0057cd44str x2, [sp+184]
    0057cd48ldr x5, [sp+192]
    0057cd4cstr x5, [sp+160]
    0057cd50ldr x5, [sp+176]
    0057cd54ldr x6, [sp+184]
    0057cd58str x5, [sp+200]
    0057cd5cstr x6, [sp+208]
    0057cd60ldr x5, [sp+160]
    0057cd64str x5, [sp+96]
    0057cd68ldr x5, [sp+208]
    0057cd6cldr x6, [sp+200]
    0057cd70str x6, [sp+128]
    0057cd74str x5, [sp+136]
    0057cd78cbnz x6, 0x57cd80
    0057cd7cb 0x57cd88
    0057cd80
    0057cd80loc_57cd80:
    0057cd80b 0x57cd84
    0057cd84
    0057cd84loc_57cd84:
    0057cd84b 0x57cacc
    0057cd88
    0057cd88loc_57cd88:
    0057cd88ldr x3, [sp+96]
    0057cd8cstr x3, [sp+88]
    0057cd90stp xzr, xzr, [sp+72]
    0057cd94ldr x0, [sp+88]
    0057cd98mov x1, xzr
    0057cd9cmov x2, xzr
    0057cda0ldur x29, [sp-8]
    0057cda4ldr x30, [sp], 224
    0057cda8ret x30
    0057cdac
    0057cdacloc_57cdac:
    0057cdacmov x0, xzr
    0057cdb0bl runtime.panicIndex
    0057cdb4
    0057cdb4loc_57cdb4:
    0057cdb4mov x0, xzr
    0057cdb8bl runtime.panicIndex
    0057cdbc
    0057cdbcloc_57cdbc:
    0057cdbcmov x0, xzr
    0057cdc0bl runtime.panicIndex
    0057cdc4
    0057cdc4loc_57cdc4:
    0057cdc4orr x0, xzr, 4
    0057cdc8bl runtime.panicIndex
    0057cdcc
    0057cdccloc_57cdcc:
    0057cdccorr x0, xzr, 3
    0057cdd0bl runtime.panicIndex
    0057cdd4
    0057cdd4loc_57cdd4:
    0057cdd4orr x0, xzr, 2
    0057cdd8bl runtime.panicIndex
    0057cddc
    0057cddcloc_57cddc:
    0057cddcorr x0, xzr, 1
    0057cde0bl runtime.panicIndex
    0057cde4
    0057cde4loc_57cde4:
    0057cde4mov x0, xzr
    0057cde8bl runtime.panicIndex
    0057cdec
    0057cdecloc_57cdec:
    0057cdecorr x0, xzr, 1
    0057cdf0bl runtime.panicIndex
    0057cdf4
    0057cdf4loc_57cdf4:
    0057cdf4orr x0, xzr, 1
    0057cdf8bl runtime.panicIndex
    0057cdfchint
    0057ce00
    0057ce00loc_57ce00:
    0057ce00stp x0, x1, [sp+8]
    0057ce04stp x2, x3, [sp+24]
    0057ce08mov x3, x30
    0057ce0cbl runtime.morestack_noctxt.abi0
    0057ce10ldp x0, x1, [sp+8]
    0057ce14ldp x2, x3, [sp+24]
    0057ce18b 0x57ca90
    0057ce1cudf 0
    0057ca90
    0057ce20
    0057ce20crypto/internal/fips140/bigmod.init: ; void crypto/internal/fips140/bigmod.init(void)
    0057ce20str x30, [sp-32]!
    0057ce24stur x29, [sp-8]
    0057ce28sub x29, sp, 8
    0057ce2cadrp x27, 0x4cf000
    0057ce30ldrb w0, [x27+1569]
    0057ce34strb w0, [sp+23]
    0057ce38tbnz w0, 0, 0x57ce40
    0057ce3cb 0x57ce50
    0057ce40
    0057ce40loc_57ce40:
    0057ce40adrp x27, 0x4cf000
    0057ce44ldrb w0, [x27+1572]
    0057ce48strb w0, [sp+23]
    0057ce4cb 0x57ce54
    0057ce50
    0057ce50loc_57ce50:
    0057ce50b 0x57ce54
    0057ce54
    0057ce54loc_57ce54:
    0057ce54ldrb w0, [sp+23]
    0057ce58adrp x27, 0x4cf000
    0057ce5cstrb w0, [x27+1579]
    0057ce60add x29, sp, 24
    0057ce64add sp, sp, 32
    0057ce68ret x30
    0057ce6cudf 0
    0057ce20
    0057ce70
    0057ce70crypto/internal/fips140/bigmod.not: ; void crypto/internal/fips140/bigmod.not(crypto/internal/fips140/bigmod.choice c)
    0057ce70str x30, [sp-32]!
    0057ce74stur x29, [sp-8]
    0057ce78sub x29, sp, 8
    0057ce7cstr x0, [sp+40]
    0057ce80str xzr, [sp+16]
    0057ce84eor x0, x0, 1
    0057ce88str x0, [sp+16]
    0057ce8cadd x29, sp, 24
    0057ce90add sp, sp, 32
    0057ce94ret x30
    0057ce98udf 0
    0057ce9cudf 0
    0057ce70
    0057cea0
    0057cea0crypto/internal/fips140/bigmod.ctMask: ; void crypto/internal/fips140/bigmod.ctMask(crypto/internal/fips140/bigmod.choice on)
    0057cea0str x30, [sp-32]!
    0057cea4stur x29, [sp-8]
    0057cea8sub x29, sp, 8
    0057ceacstr x0, [sp+40]
    0057ceb0str xzr, [sp+16]
    0057ceb4sub x0, xzr, x0
    0057ceb8str x0, [sp+16]
    0057cebcadd x29, sp, 24
    0057cec0add sp, sp, 32
    0057cec4ret x30
    0057cec8udf 0
    0057ceccudf 0
    0057cea0
    0057ced0
    0057ced0crypto/internal/fips140/bigmod.ctEq: ; void crypto/internal/fips140/bigmod.ctEq(uint x, uint y)
    0057ced0ldr x16, [x28+16]
    0057ced4subs xzr, sp, x16
    0057ced8b.ls 0x57cf64
    0057cedcstr x30, [sp-112]!
    0057cee0stur x29, [sp-8]
    0057cee4sub x29, sp, 8
    0057cee8str x0, [sp+120]
    0057ceecstr x1, [sp+128]
    0057cef0str xzr, [sp+24]
    0057cef4subs x2, x0, x1
    0057cef8sbc x2, xzr, xzr
    0057cefcsub x2, xzr, x2
    0057cf00subs x1, x0, x1
    0057cf04str x1, [sp+48]
    0057cf08str x2, [sp+96]
    0057cf0cstr x1, [sp+80]
    0057cf10str x2, [sp+72]
    0057cf14str x2, [sp+40]
    0057cf18ldr x1, [sp+120]
    0057cf1cldr x2, [sp+128]
    0057cf20subs x3, x2, x1
    0057cf24sbc x3, xzr, xzr
    0057cf28sub x3, xzr, x3
    0057cf2csubs x1, x2, x1
    0057cf30str x1, [sp+96]
    0057cf34str x3, [sp+48]
    0057cf38str x1, [sp+64]
    0057cf3cstr x3, [sp+56]
    0057cf40str x3, [sp+32]
    0057cf44ldr x1, [sp+40]
    0057cf48orr x0, x1, x3
    0057cf4cbl crypto/internal/fips140/bigmod.not
    0057cf50str x0, [sp+88]
    0057cf54str x0, [sp+24]
    0057cf58ldur x29, [sp-8]
    0057cf5cldr x30, [sp], 112
    0057cf60ret x30
    0057cf64
    0057cf64loc_57cf64:
    0057cf64stp x0, x1, [sp+8]
    0057cf68mov x3, x30
    0057cf6cbl runtime.morestack_noctxt.abi0
    0057cf70ldp x0, x1, [sp+8]
    0057cf74b 0x57ced0
    0057cf78udf 0
    0057cf7cudf 0
    0057ced0