File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    0056e7b0
    0056e7b0crypto/internal/fips140/nistec.(*P384Point).ScalarMult: ; void crypto/internal/fips140/nistec.(*P384Point).ScalarMult(crypto/internal/fips140/nistec.P384Point * p, crypto/internal/fips140/nistec.P384Point * q, struct []uint8 scalar)
    0056e7b0ldr x16, [x28+16]
    0056e7b4sub x17, sp, 416
    0056e7b8subs xzr, x17, x16
    0056e7bcb.ls 0x56eb90
    0056e7c0sub x20, sp, 544
    0056e7c4stp x29, x30, [x20-8]
    0056e7c8add sp, x20, 0
    0056e7ccsub x29, sp, 8
    0056e7d0str x0, [sp+552]
    0056e7d4str x1, [sp+560]
    0056e7d8str x2, [sp+568]
    0056e7dcstr x3, [sp+576]
    0056e7e0str x4, [sp+584]
    0056e7e4str xzr, [sp+96]
    0056e7e8stp xzr, xzr, [sp+80]
    0056e7ecbl crypto/internal/fips140/nistec.NewP384Point
    0056e7f0str x0, [sp+528]
    0056e7f4bl crypto/internal/fips140/nistec.NewP384Point
    0056e7f8str x0, [sp+520]
    0056e7fcbl crypto/internal/fips140/nistec.NewP384Point
    0056e800str x0, [sp+512]
    0056e804bl crypto/internal/fips140/nistec.NewP384Point
    0056e808str x0, [sp+504]
    0056e80cbl crypto/internal/fips140/nistec.NewP384Point
    0056e810str x0, [sp+496]
    0056e814bl crypto/internal/fips140/nistec.NewP384Point
    0056e818str x0, [sp+488]
    0056e81cbl crypto/internal/fips140/nistec.NewP384Point
    0056e820str x0, [sp+480]
    0056e824bl crypto/internal/fips140/nistec.NewP384Point
    0056e828str x0, [sp+472]
    0056e82cbl crypto/internal/fips140/nistec.NewP384Point
    0056e830str x0, [sp+464]
    0056e834bl crypto/internal/fips140/nistec.NewP384Point
    0056e838str x0, [sp+456]
    0056e83cbl crypto/internal/fips140/nistec.NewP384Point
    0056e840str x0, [sp+448]
    0056e844bl crypto/internal/fips140/nistec.NewP384Point
    0056e848str x0, [sp+440]
    0056e84cbl crypto/internal/fips140/nistec.NewP384Point
    0056e850str x0, [sp+432]
    0056e854bl crypto/internal/fips140/nistec.NewP384Point
    0056e858str x0, [sp+424]
    0056e85cbl crypto/internal/fips140/nistec.NewP384Point
    0056e860str x0, [sp+416]
    0056e864add x21, sp, 272
    0056e868adrp x20, 0x1bb000
    0056e86cadd x20, x20, 3232
    0056e870adr x27, 16
    0056e874stp x29, x27, [sp-24]
    0056e878sub x29, sp, 24
    0056e87cbl fn_87ee8
    0056e880sub x29, sp, 8
    0056e884adrp x27, 0x1bb000
    0056e888ldr x0, [x27+3344]
    0056e88cstr x0, [sp+384]
    0056e890ldr x0, [sp+528]
    0056e894str x0, [sp+272]
    0056e898ldr x0, [sp+520]
    0056e89cstr x0, [sp+280]
    0056e8a0ldr x0, [sp+512]
    0056e8a4str x0, [sp+288]
    0056e8a8ldr x0, [sp+504]
    0056e8acstr x0, [sp+296]
    0056e8b0ldr x0, [sp+496]
    0056e8b4str x0, [sp+304]
    0056e8b8ldr x0, [sp+488]
    0056e8bcstr x0, [sp+312]
    0056e8c0ldr x0, [sp+480]
    0056e8c4str x0, [sp+320]
    0056e8c8ldr x0, [sp+472]
    0056e8ccstr x0, [sp+328]
    0056e8d0ldr x0, [sp+464]
    0056e8d4str x0, [sp+336]
    0056e8d8ldr x0, [sp+456]
    0056e8dcstr x0, [sp+344]
    0056e8e0ldr x0, [sp+448]
    0056e8e4str x0, [sp+352]
    0056e8e8ldr x0, [sp+440]
    0056e8ecstr x0, [sp+360]
    0056e8f0ldr x0, [sp+432]
    0056e8f4str x0, [sp+368]
    0056e8f8ldr x0, [sp+424]
    0056e8fcstr x0, [sp+376]
    0056e900ldr x0, [sp+416]
    0056e904str x0, [sp+384]
    0056e908add x21, sp, 104
    0056e90cadd x20, sp, 272
    0056e910adr x27, 16
    0056e914stp x29, x27, [sp-24]
    0056e918sub x29, sp, 24
    0056e91cbl fn_87ee8
    0056e920sub x29, sp, 8
    0056e924ldr x0, [sp+384]
    0056e928str x0, [sp+216]
    0056e92cldr x0, [sp+104]
    0056e930str x0, [sp+264]
    0056e934ldr x1, [sp+560]
    0056e938bl crypto/internal/fips140/nistec.(*P384Point).Set
    0056e93corr x0, xzr, 1
    0056e940str x0, [sp+56]
    0056e944b 0x56e948
    0056e948
    0056e948loc_56e948:
    0056e948ldr x2, [sp+56]
    0056e94csubs xzr, x2, 15
    0056e950b.lt 0x56e958
    0056e954b 0x56e9fc
    0056e958
    0056e958loc_56e958:
    0056e958ldr x0, [sp+56]
    0056e95csubs xzr, x0, 15
    0056e960b.lo 0x56e968
    0056e964b 0x56eb84
    0056e968
    0056e968loc_56e968:
    0056e968add x2, sp, 104
    0056e96cldr x2, [x2+3*x0]
    0056e970str x2, [sp+256]
    0056e974ldr x2, [sp+56]
    0056e978add x2, x2, x2, lsr #63
    0056e97csbfm x0, x2, 1, 63
    0056e980subs xzr, x0, 15
    0056e984b.lo 0x56e98c
    0056e988b 0x56eb7c
    0056e98c
    0056e98cloc_56e98c:
    0056e98cadd x2, sp, 104
    0056e990ldr x1, [x2+3*x0]
    0056e994str x1, [sp+248]
    0056e998ldr x0, [sp+256]
    0056e99cbl crypto/internal/fips140/nistec.(*P384Point).Double
    0056e9a0ldr x2, [sp+56]
    0056e9a4add x0, x2, 1
    0056e9a8subs xzr, x0, 15
    0056e9acb.lo 0x56e9b4
    0056e9b0b 0x56eb74
    0056e9b4
    0056e9b4loc_56e9b4:
    0056e9b4add x3, sp, 104
    0056e9b8ldr x3, [x3+3*x0]
    0056e9bcstr x3, [sp+240]
    0056e9c0ldr x0, [sp+56]
    0056e9c4subs xzr, x0, 15
    0056e9c8b.lo 0x56e9d0
    0056e9ccb 0x56eb6c
    0056e9d0
    0056e9d0loc_56e9d0:
    0056e9d0add x3, sp, 104
    0056e9d4ldr x1, [x3+3*x0]
    0056e9d8str x1, [sp+232]
    0056e9dcldr x2, [sp+560]
    0056e9e0ldr x0, [sp+240]
    0056e9e4bl crypto/internal/fips140/nistec.(*P384Point).Add
    0056e9e8b 0x56e9ec
    0056e9ec
    0056e9ecloc_56e9ec:
    0056e9ecldr x2, [sp+56]
    0056e9f0add x2, x2, 2
    0056e9f4str x2, [sp+56]
    0056e9f8b 0x56e948
    0056e9fc
    0056e9fcloc_56e9fc:
    0056e9fcbl crypto/internal/fips140/nistec.NewP384Point
    0056ea00str x0, [sp+224]
    0056ea04bl crypto/internal/fips140/nistec.NewP384Point
    0056ea08str x0, [sp+416]
    0056ea0cldr x1, [sp+552]
    0056ea10mov x2, x0
    0056ea14mov x0, x1
    0056ea18mov x1, x2
    0056ea1cbl crypto/internal/fips140/nistec.(*P384Point).Set
    0056ea20ldr x0, [sp+576]
    0056ea24ldr x1, [sp+568]
    0056ea28ldr x2, [sp+584]
    0056ea2cstr x1, [sp+392]
    0056ea30str x0, [sp+400]
    0056ea34str x2, [sp+408]
    0056ea38str xzr, [sp+72]
    0056ea3cstr x0, [sp+64]
    0056ea40b 0x56ea44
    0056ea44
    0056ea44loc_56ea44:
    0056ea44ldr x3, [sp+64]
    0056ea48ldr x4, [sp+72]
    0056ea4csubs xzr, x3, x4
    0056ea50b.gt 0x56ea58
    0056ea54b 0x56eb48
    0056ea58
    0056ea58loc_56ea58:
    0056ea58ldr x3, [sp+72]
    0056ea5cstr x3, [sp+48]
    0056ea60ldr x3, [sp+72]
    0056ea64ldr x4, [sp+392]
    0056ea68ldrb w3, [x4+x3]
    0056ea6cstrb w3, [sp+47]
    0056ea70ldr x3, [sp+48]
    0056ea74cbnz x3, 0x56ea7c
    0056ea78b 0x56eab0
    0056ea7c
    0056ea7cloc_56ea7c:
    0056ea7cldr x1, [sp+552]
    0056ea80ldr x0, [sp+552]
    0056ea84bl crypto/internal/fips140/nistec.(*P384Point).Double
    0056ea88ldr x1, [sp+552]
    0056ea8cldr x0, [sp+552]
    0056ea90bl crypto/internal/fips140/nistec.(*P384Point).Double
    0056ea94ldr x1, [sp+552]
    0056ea98ldr x0, [sp+552]
    0056ea9cbl crypto/internal/fips140/nistec.(*P384Point).Double
    0056eaa0ldr x1, [sp+552]
    0056eaa4ldr x0, [sp+552]
    0056eaa8bl crypto/internal/fips140/nistec.(*P384Point).Double
    0056eaacb 0x56eab4
    0056eab0
    0056eab0loc_56eab0:
    0056eab0b 0x56eab4
    0056eab4
    0056eab4loc_56eab4:
    0056eab4ldrb w3, [sp+47]
    0056eab8ubfm x2, x3, 4, 7
    0056eabcstrb w2, [sp+46]
    0056eac0ldr x1, [sp+224]
    0056eac4add x0, sp, 104
    0056eac8bl crypto/internal/fips140/nistec.(*p384Table).Select
    0056eaccldr x1, [sp+552]
    0056ead0ldr x2, [sp+224]
    0056ead4ldr x0, [sp+552]
    0056ead8bl crypto/internal/fips140/nistec.(*P384Point).Add
    0056eadcldr x1, [sp+552]
    0056eae0ldr x0, [sp+552]
    0056eae4bl crypto/internal/fips140/nistec.(*P384Point).Double
    0056eae8ldr x1, [sp+552]
    0056eaecldr x0, [sp+552]
    0056eaf0bl crypto/internal/fips140/nistec.(*P384Point).Double
    0056eaf4ldr x1, [sp+552]
    0056eaf8ldr x0, [sp+552]
    0056eafcbl crypto/internal/fips140/nistec.(*P384Point).Double
    0056eb00ldr x1, [sp+552]
    0056eb04ldr x0, [sp+552]
    0056eb08bl crypto/internal/fips140/nistec.(*P384Point).Double
    0056eb0cldrb w3, [sp+47]
    0056eb10and x2, x3, 15
    0056eb14strb w2, [sp+46]
    0056eb18ldr x1, [sp+224]
    0056eb1cadd x0, sp, 104
    0056eb20bl crypto/internal/fips140/nistec.(*p384Table).Select
    0056eb24ldr x1, [sp+552]
    0056eb28ldr x2, [sp+224]
    0056eb2cldr x0, [sp+552]
    0056eb30bl crypto/internal/fips140/nistec.(*P384Point).Add
    0056eb34b 0x56eb38
    0056eb38
    0056eb38loc_56eb38:
    0056eb38ldr x3, [sp+72]
    0056eb3cadd x3, x3, 1
    0056eb40str x3, [sp+72]
    0056eb44b 0x56ea44
    0056eb48
    0056eb48loc_56eb48:
    0056eb48ldr x3, [sp+552]
    0056eb4cstr x3, [sp+96]
    0056eb50stp xzr, xzr, [sp+80]
    0056eb54ldr x0, [sp+96]
    0056eb58mov x1, xzr
    0056eb5cmov x2, xzr
    0056eb60ldp x29, x30, [sp-8]
    0056eb64add sp, sp, 544
    0056eb68ret x30
    0056eb6c
    0056eb6cloc_56eb6c:
    0056eb6corr x1, xzr, 15
    0056eb70bl runtime.panicIndex
    0056eb74
    0056eb74loc_56eb74:
    0056eb74orr x1, xzr, 15
    0056eb78bl runtime.panicIndex
    0056eb7c
    0056eb7cloc_56eb7c:
    0056eb7corr x1, xzr, 15
    0056eb80bl runtime.panicIndex
    0056eb84
    0056eb84loc_56eb84:
    0056eb84orr x1, xzr, 15
    0056eb88bl runtime.panicIndex
    0056eb8chint
    0056eb90
    0056eb90loc_56eb90:
    0056eb90stp x0, x1, [sp+8]
    0056eb94stp x2, x3, [sp+24]
    0056eb98str x4, [sp+40]
    0056eb9cmov x3, x30
    0056eba0bl runtime.morestack_noctxt.abi0
    0056eba4ldp x0, x1, [sp+8]
    0056eba8ldp x2, x3, [sp+24]
    0056ebacldr x4, [sp+40]
    0056ebb0b 0x56e7b0
    0056ebb4udf 0
    0056ebb8udf 0
    0056ebbcudf 0
    0056e7b0
    0056ebc0
    0056ebc0crypto/internal/fips140/nistec.(*P384Point).generatorTable: ; void crypto/internal/fips140/nistec.(*P384Point).generatorTable(crypto/internal/fips140/nistec.P384Point * p)
    0056ebc0ldr x16, [x28+16]
    0056ebc4subs xzr, sp, x16
    0056ebc8b.ls 0x56ec0c
    0056ebccstr x30, [sp-48]!
    0056ebd0stur x29, [sp-8]
    0056ebd4sub x29, sp, 8
    0056ebd8str x0, [sp+56]
    0056ebdcstr xzr, [sp+32]
    0056ebe0adrp x0, 0x4dd000
    0056ebe4add x0, x0, 2768
    0056ebe8adrp x1, 0x16c000
    0056ebecadd x1, x1, 584
    0056ebf0bl sync.(*Once).Do
    0056ebf4adrp x27, 0x4b3000
    0056ebf8ldr x0, [x27+432]
    0056ebfcstr x0, [sp+32]
    0056ec00ldur x29, [sp-8]
    0056ec04ldr x30, [sp], 48
    0056ec08ret x30
    0056ec0c
    0056ec0cloc_56ec0c:
    0056ec0cstr x0, [sp+8]
    0056ec10mov x3, x30
    0056ec14bl runtime.morestack_noctxt.abi0
    0056ec18ldr x0, [sp+8]
    0056ec1cb 0x56ebc0
    0056ebc0
    0056ec20
    0056ec20crypto/internal/fips140/nistec.(*P384Point).ScalarBaseMult: ; void crypto/internal/fips140/nistec.(*P384Point).ScalarBaseMult(crypto/internal/fips140/nistec.P384Point * p, struct []uint8 scalar)
    0056ec20ldr x16, [x28+16]
    0056ec24sub x17, sp, 64
    0056ec28subs xzr, x17, x16
    0056ec2cb.ls 0x56ee1c
    0056ec30str x30, [sp-192]!
    0056ec34stur x29, [sp-8]
    0056ec38sub x29, sp, 8
    0056ec3cstr x0, [sp+200]
    0056ec40str x1, [sp+208]
    0056ec44str x2, [sp+216]
    0056ec48str x3, [sp+224]
    0056ec4cstr xzr, [sp+96]
    0056ec50stp xzr, xzr, [sp+80]
    0056ec54ldr x2, [sp+216]
    0056ec58str x2, [sp+56]
    0056ec5csubs xzr, x2, 48
    0056ec60b.ne 0x56ec68
    0056ec64b 0x56eca4
    0056ec68
    0056ec68loc_56ec68:
    0056ec68adrp x0, 0x149000
    0056ec6cadd x0, x0, 2076
    0056ec70movz x1, 21
    0056ec74bl errors.New
    0056ec78str x0, [sp+168]
    0056ec7cstr x1, [sp+176]
    0056ec80str xzr, [sp+96]
    0056ec84ldr x1, [sp+168]
    0056ec88ldr x2, [sp+176]
    0056ec8cstr x1, [sp+80]
    0056ec90str x2, [sp+88]
    0056ec94ldr x0, [sp+96]
    0056ec98ldur x29, [sp-8]
    0056ec9cldr x30, [sp], 192
    0056eca0ret x30
    0056eca4
    0056eca4loc_56eca4:
    0056eca4ldr x0, [sp+200]
    0056eca8bl crypto/internal/fips140/nistec.(*P384Point).generatorTable
    0056ecacstr x0, [sp+104]
    0056ecb0bl crypto/internal/fips140/nistec.NewP384Point
    0056ecb4str x0, [sp+112]
    0056ecb8bl crypto/internal/fips140/nistec.NewP384Point
    0056ecbcstr x0, [sp+160]
    0056ecc0ldr x1, [sp+200]
    0056ecc4mov x2, x0
    0056ecc8mov x0, x1
    0056ecccmov x1, x2
    0056ecd0bl crypto/internal/fips140/nistec.(*P384Point).Set
    0056ecd4movz x1, 95
    0056ecd8str x1, [sp+48]
    0056ecdcldr x1, [sp+216]
    0056ece0ldr x2, [sp+208]
    0056ece4ldr x3, [sp+224]
    0056ece8str x2, [sp+136]
    0056ececstr x1, [sp+144]
    0056ecf0str x3, [sp+152]
    0056ecf4str xzr, [sp+72]
    0056ecf8str x1, [sp+64]
    0056ecfcb 0x56ed00
    0056ed00
    0056ed00loc_56ed00:
    0056ed00ldr x3, [sp+64]
    0056ed04ldr x4, [sp+72]
    0056ed08subs xzr, x3, x4
    0056ed0cb.gt 0x56ed14
    0056ed10b 0x56ede4
    0056ed14
    0056ed14loc_56ed14:
    0056ed14ldr x3, [sp+72]
    0056ed18ldr x4, [sp+136]
    0056ed1cldrb w3, [x4+x3]
    0056ed20strb w3, [sp+47]
    0056ed24ubfm x3, x3, 4, 7
    0056ed28strb w3, [sp+46]
    0056ed2cldr x0, [sp+48]
    0056ed30ldr x3, [sp+104]
    0056ed34ldrsb x27, [x3]
    0056ed38subs xzr, x0, 96
    0056ed3cb.lo 0x56ed44
    0056ed40b 0x56ee10
    0056ed44
    0056ed44loc_56ed44:
    0056ed44orr x4, xzr, 120
    0056ed48madd x0, x4, x0, x3
    0056ed4cstr x0, [sp+128]
    0056ed50ldrb w2, [sp+46]
    0056ed54ldr x1, [sp+112]
    0056ed58bl crypto/internal/fips140/nistec.(*p384Table).Select
    0056ed5cldr x1, [sp+200]
    0056ed60ldr x2, [sp+112]
    0056ed64ldr x0, [sp+200]
    0056ed68bl crypto/internal/fips140/nistec.(*P384Point).Add
    0056ed6cldr x3, [sp+48]
    0056ed70sub x3, x3, 1
    0056ed74str x3, [sp+48]
    0056ed78ldrb w3, [sp+47]
    0056ed7cand x3, x3, 15
    0056ed80strb w3, [sp+46]
    0056ed84ldr x0, [sp+48]
    0056ed88ldr x3, [sp+104]
    0056ed8cldrsb x27, [x3]
    0056ed90subs xzr, x0, 96
    0056ed94b.lo 0x56ed9c
    0056ed98b 0x56ee08
    0056ed9c
    0056ed9cloc_56ed9c:
    0056ed9corr x4, xzr, 120
    0056eda0madd x0, x4, x0, x3
    0056eda4str x0, [sp+120]
    0056eda8ldrb w2, [sp+46]
    0056edacldr x1, [sp+112]
    0056edb0bl crypto/internal/fips140/nistec.(*p384Table).Select
    0056edb4ldr x1, [sp+200]
    0056edb8ldr x2, [sp+112]
    0056edbcldr x0, [sp+200]
    0056edc0bl crypto/internal/fips140/nistec.(*P384Point).Add
    0056edc4ldr x3, [sp+48]
    0056edc8sub x3, x3, 1
    0056edccstr x3, [sp+48]
    0056edd0b 0x56edd4
    0056edd4
    0056edd4loc_56edd4:
    0056edd4ldr x3, [sp+72]
    0056edd8add x3, x3, 1
    0056eddcstr x3, [sp+72]
    0056ede0b 0x56ed00
    0056ede4
    0056ede4loc_56ede4:
    0056ede4ldr x3, [sp+200]
    0056ede8str x3, [sp+96]
    0056edecstp xzr, xzr, [sp+80]
    0056edf0ldr x0, [sp+96]
    0056edf4mov x1, xzr
    0056edf8mov x2, xzr
    0056edfcldur x29, [sp-8]
    0056ee00ldr x30, [sp], 192
    0056ee04ret x30
    0056ee08
    0056ee08loc_56ee08:
    0056ee08orr x1, xzr, 96
    0056ee0cbl runtime.panicIndex
    0056ee10
    0056ee10loc_56ee10:
    0056ee10orr x1, xzr, 96
    0056ee14bl runtime.panicIndex
    0056ee18hint
    0056ee1c
    0056ee1cloc_56ee1c:
    0056ee1cstp x0, x1, [sp+8]
    0056ee20stp x2, x3, [sp+24]
    0056ee24mov x3, x30
    0056ee28bl runtime.morestack_noctxt.abi0
    0056ee2cldp x0, x1, [sp+8]
    0056ee30ldp x2, x3, [sp+24]
    0056ee34b 0x56ec20
    0056ee38udf 0
    0056ee3cudf 0
    0056ec20
    0056ee40
    0056ee40crypto/internal/fips140/nistec.p384Sqrt: ; void crypto/internal/fips140/nistec.p384Sqrt(crypto/internal/fips140/nistec/fiat.P384Element * e, crypto/internal/fips140/nistec/fiat.P384Element * x)
    0056ee40ldr x16, [x28+16]
    0056ee44sub x17, sp, 48
    0056ee48subs xzr, x17, x16
    0056ee4cb.ls 0x56eef0
    0056ee50str x30, [sp-176]!
    0056ee54stur x29, [sp-8]
    0056ee58sub x29, sp, 8
    0056ee5cstr x0, [sp+184]
    0056ee60str x1, [sp+192]
    0056ee64strb wzr, [sp+39]
    0056ee68stp xzr, xzr, [sp+88]
    0056ee6cstp xzr, xzr, [sp+104]
    0056ee70stp xzr, xzr, [sp+120]
    0056ee74add x0, sp, 88
    0056ee78str x0, [sp+152]
    0056ee7cldr x1, [sp+192]
    0056ee80bl crypto/internal/fips140/nistec.p384SqrtCandidate
    0056ee84stp xzr, xzr, [sp+40]
    0056ee88stp xzr, xzr, [sp+56]
    0056ee8cstp xzr, xzr, [sp+72]
    0056ee90add x0, sp, 40
    0056ee94str x0, [sp+160]
    0056ee98ldr x1, [sp+152]
    0056ee9cbl crypto/internal/fips140/nistec/fiat.(*P384Element).Square
    0056eea0str x0, [sp+144]
    0056eea4ldr x1, [sp+192]
    0056eea8bl crypto/internal/fips140/nistec/fiat.(*P384Element).Equal
    0056eeacstr x0, [sp+136]
    0056eeb0subs xzr, x0, 1
    0056eeb4b.ne 0x56eebc
    0056eeb8b 0x56eed0
    0056eebc
    0056eebcloc_56eebc:
    0056eebcstrb wzr, [sp+39]
    0056eec0mov x0, xzr
    0056eec4ldur x29, [sp-8]
    0056eec8ldr x30, [sp], 176
    0056eeccret x30
    0056eed0
    0056eed0loc_56eed0:
    0056eed0ldr x1, [sp+152]
    0056eed4ldr x0, [sp+184]
    0056eed8bl crypto/internal/fips140/nistec/fiat.(*P384Element).Set
    0056eedcorr x0, xzr, 1
    0056eee0strb w0, [sp+39]
    0056eee4ldur x29, [sp-8]
    0056eee8ldr x30, [sp], 176
    0056eeecret x30
    0056eef0
    0056eef0loc_56eef0:
    0056eef0stp x0, x1, [sp+8]
    0056eef4mov x3, x30
    0056eef8bl runtime.morestack_noctxt.abi0
    0056eefcldp x0, x1, [sp+8]
    0056ef00b 0x56ee40
    0056ef04udf 0
    0056ef08udf 0
    0056ef0cudf 0
    0056ee40
    0056ef10
    0056ef10crypto/internal/fips140/nistec.p384SqrtCandidate: ; void crypto/internal/fips140/nistec.p384SqrtCandidate(crypto/internal/fips140/nistec/fiat.P384Element * z, crypto/internal/fips140/nistec/fiat.P384Element * x)
    0056ef10ldr x16, [x28+16]
    0056ef14sub x17, sp, 176
    0056ef18subs xzr, x17, x16
    0056ef1cb.ls 0x56f358
    0056ef20sub x20, sp, 304
    0056ef24stp x29, x30, [x20-8]
    0056ef28add sp, x20, 0
    0056ef2csub x29, sp, 8
    0056ef30str x0, [sp+312]
    0056ef34str x1, [sp+320]
    0056ef38stp xzr, xzr, [sp+224]
    0056ef3cstp xzr, xzr, [sp+240]
    0056ef40stp xzr, xzr, [sp+256]
    0056ef44add x2, sp, 224
    0056ef48str x2, [sp+288]
    0056ef4cstp xzr, xzr, [sp+176]
    0056ef50stp xzr, xzr, [sp+192]
    0056ef54stp xzr, xzr, [sp+208]
    0056ef58add x2, sp, 176
    0056ef5cstr x2, [sp+280]
    0056ef60stp xzr, xzr, [sp+128]
    0056ef64stp xzr, xzr, [sp+144]
    0056ef68stp xzr, xzr, [sp+160]
    0056ef6cadd x2, sp, 128
    0056ef70str x2, [sp+272]
    0056ef74ldr x1, [sp+320]
    0056ef78ldr x0, [sp+312]
    0056ef7cbl crypto/internal/fips140/nistec/fiat.(*P384Element).Square
    0056ef80ldr x1, [sp+320]
    0056ef84ldr x2, [sp+312]
    0056ef88ldr x0, [sp+312]
    0056ef8cbl crypto/internal/fips140/nistec/fiat.(*P384Element).Mul
    0056ef90ldr x1, [sp+312]
    0056ef94ldr x0, [sp+312]
    0056ef98bl crypto/internal/fips140/nistec/fiat.(*P384Element).Square
    0056ef9cldr x1, [sp+320]
    0056efa0ldr x2, [sp+312]
    0056efa4ldr x0, [sp+288]
    0056efa8bl crypto/internal/fips140/nistec/fiat.(*P384Element).Mul
    0056efacldr x1, [sp+288]
    0056efb0ldr x0, [sp+312]
    0056efb4bl crypto/internal/fips140/nistec/fiat.(*P384Element).Square
    0056efb8orr x2, xzr, 1
    0056efbcstr x2, [sp+120]
    0056efc0b 0x56efc4
    0056efc4
    0056efc4loc_56efc4:
    0056efc4ldr x3, [sp+120]
    0056efc8subs xzr, x3, 3
    0056efccb.lt 0x56efd4
    0056efd0b 0x56eff8
    0056efd4
    0056efd4loc_56efd4:
    0056efd4ldr x1, [sp+312]
    0056efd8ldr x0, [sp+312]
    0056efdcbl crypto/internal/fips140/nistec/fiat.(*P384Element).Square
    0056efe0b 0x56efe4
    0056efe4
    0056efe4loc_56efe4:
    0056efe4ldr x3, [sp+120]
    0056efe8add x3, x3, 1
    0056efecstr x3, [sp+120]
    0056eff0orr x2, xzr, 1
    0056eff4b 0x56efc4
    0056eff8
    0056eff8loc_56eff8:
    0056eff8ldr x1, [sp+288]
    0056effcldr x2, [sp+312]
    0056f000ldr x0, [sp+280]
    0056f004bl crypto/internal/fips140/nistec/fiat.(*P384Element).Mul
    0056f008ldr x1, [sp+280]
    0056f00cldr x0, [sp+272]
    0056f010bl crypto/internal/fips140/nistec/fiat.(*P384Element).Square
    0056f014ldr x1, [sp+320]
    0056f018ldr x2, [sp+272]
    0056f01cldr x0, [sp+312]
    0056f020bl crypto/internal/fips140/nistec/fiat.(*P384Element).Mul
    0056f024str xzr, [sp+112]
    0056f028b 0x56f02c
    0056f02c
    0056f02cloc_56f02c:
    0056f02cldr x3, [sp+112]
    0056f030subs xzr, x3, 5
    0056f034b.lt 0x56f03c
    0056f038b 0x56f05c
    0056f03c
    0056f03cloc_56f03c:
    0056f03cldr x1, [sp+272]
    0056f040ldr x0, [sp+272]
    0056f044bl crypto/internal/fips140/nistec/fiat.(*P384Element).Square
    0056f048b 0x56f04c
    0056f04c
    0056f04cloc_56f04c:
    0056f04cldr x3, [sp+112]
    0056f050add x3, x3, 1
    0056f054str x3, [sp+112]
    0056f058b 0x56f02c
    0056f05c
    0056f05cloc_56f05c:
    0056f05cldr x1, [sp+280]
    0056f060ldr x2, [sp+272]
    0056f064ldr x0, [sp+280]
    0056f068bl crypto/internal/fips140/nistec/fiat.(*P384Element).Mul
    0056f06cldr x1, [sp+280]
    0056f070ldr x0, [sp+272]
    0056f074bl crypto/internal/fips140/nistec/fiat.(*P384Element).Square
    0056f078orr x3, xzr, 1
    0056f07cstr x3, [sp+104]
    0056f080b 0x56f084
    0056f084
    0056f084loc_56f084:
    0056f084ldr x4, [sp+104]
    0056f088subs xzr, x4, 12
    0056f08cb.lt 0x56f094
    0056f090b 0x56f0b8
    0056f094
    0056f094loc_56f094:
    0056f094ldr x1, [sp+272]
    0056f098ldr x0, [sp+272]
    0056f09cbl crypto/internal/fips140/nistec/fiat.(*P384Element).Square
    0056f0a0b 0x56f0a4
    0056f0a4
    0056f0a4loc_56f0a4:
    0056f0a4ldr x4, [sp+104]
    0056f0a8add x4, x4, 1
    0056f0acstr x4, [sp+104]
    0056f0b0orr x3, xzr, 1
    0056f0b4b 0x56f084
    0056f0b8
    0056f0b8loc_56f0b8:
    0056f0b8ldr x1, [sp+280]
    0056f0bcldr x2, [sp+272]
    0056f0c0ldr x0, [sp+280]
    0056f0c4bl crypto/internal/fips140/nistec/fiat.(*P384Element).Mul
    0056f0c8str xzr, [sp+96]
    0056f0ccb 0x56f0d0
    0056f0d0
    0056f0d0loc_56f0d0:
    0056f0d0ldr x3, [sp+96]
    0056f0d4subs xzr, x3, 7
    0056f0d8b.lt 0x56f0e0
    0056f0dcb 0x56f100
    0056f0e0
    0056f0e0loc_56f0e0:
    0056f0e0ldr x1, [sp+280]
    0056f0e4ldr x0, [sp+280]
    0056f0e8bl crypto/internal/fips140/nistec/fiat.(*P384Element).Square
    0056f0ecb 0x56f0f0
    0056f0f0
    0056f0f0loc_56f0f0:
    0056f0f0ldr x3, [sp+96]
    0056f0f4add x3, x3, 1
    0056f0f8str x3, [sp+96]
    0056f0fcb 0x56f0d0
    0056f100
    0056f100loc_56f100:
    0056f100ldr x1, [sp+312]
    0056f104ldr x2, [sp+280]
    0056f108ldr x0, [sp+280]
    0056f10cbl crypto/internal/fips140/nistec/fiat.(*P384Element).Mul
    0056f110ldr x1, [sp+280]
    0056f114ldr x0, [sp+312]
    0056f118bl crypto/internal/fips140/nistec/fiat.(*P384Element).Square
    0056f11cldr x1, [sp+320]
    0056f120ldr x2, [sp+312]
    0056f124ldr x0, [sp+312]
    0056f128bl crypto/internal/fips140/nistec/fiat.(*P384Element).Mul
    0056f12cldr x1, [sp+312]
    0056f130ldr x0, [sp+272]
    0056f134bl crypto/internal/fips140/nistec/fiat.(*P384Element).Square
    0056f138orr x3, xzr, 1
    0056f13cstr x3, [sp+88]
    0056f140b 0x56f144
    0056f144
    0056f144loc_56f144:
    0056f144ldr x4, [sp+88]
    0056f148subs xzr, x4, 31
    0056f14cb.lt 0x56f154
    0056f150b 0x56f178
    0056f154
    0056f154loc_56f154:
    0056f154ldr x1, [sp+272]
    0056f158ldr x0, [sp+272]
    0056f15cbl crypto/internal/fips140/nistec/fiat.(*P384Element).Square
    0056f160b 0x56f164
    0056f164
    0056f164loc_56f164:
    0056f164ldr x4, [sp+88]
    0056f168add x4, x4, 1
    0056f16cstr x4, [sp+88]
    0056f170orr x3, xzr, 1
    0056f174b 0x56f144
    0056f178
    0056f178loc_56f178:
    0056f178ldr x1, [sp+280]
    0056f17cldr x2, [sp+272]
    0056f180ldr x0, [sp+280]
    0056f184bl crypto/internal/fips140/nistec/fiat.(*P384Element).Mul
    0056f188ldr x1, [sp+280]
    0056f18cldr x0, [sp+272]
    0056f190bl crypto/internal/fips140/nistec/fiat.(*P384Element).Square
    0056f194orr x3, xzr, 1
    0056f198str x3, [sp+80]
    0056f19cb 0x56f1a0
    0056f1a0
    0056f1a0loc_56f1a0:
    0056f1a0ldr x4, [sp+80]
    0056f1a4subs xzr, x4, 63
    0056f1a8b.lt 0x56f1b0
    0056f1acb 0x56f1d4
    0056f1b0
    0056f1b0loc_56f1b0:
    0056f1b0ldr x1, [sp+272]
    0056f1b4ldr x0, [sp+272]
    0056f1b8bl crypto/internal/fips140/nistec/fiat.(*P384Element).Square
    0056f1bcb 0x56f1c0
    0056f1c0
    0056f1c0loc_56f1c0:
    0056f1c0ldr x4, [sp+80]
    0056f1c4add x4, x4, 1
    0056f1c8str x4, [sp+80]
    0056f1ccorr x3, xzr, 1
    0056f1d0b 0x56f1a0
    0056f1d4
    0056f1d4loc_56f1d4:
    0056f1d4ldr x1, [sp+280]
    0056f1d8ldr x2, [sp+272]
    0056f1dcldr x0, [sp+280]
    0056f1e0bl crypto/internal/fips140/nistec/fiat.(*P384Element).Mul
    0056f1e4ldr x1, [sp+280]
    0056f1e8ldr x0, [sp+272]
    0056f1ecbl crypto/internal/fips140/nistec/fiat.(*P384Element).Square
    0056f1f0orr x3, xzr, 1
    0056f1f4str x3, [sp+72]
    0056f1f8b 0x56f1fc
    0056f1fc
    0056f1fcloc_56f1fc:
    0056f1fcldr x3, [sp+72]
    0056f200subs xzr, x3, 126
    0056f204b.lt 0x56f20c
    0056f208b 0x56f22c
    0056f20c
    0056f20cloc_56f20c:
    0056f20cldr x1, [sp+272]
    0056f210ldr x0, [sp+272]
    0056f214bl crypto/internal/fips140/nistec/fiat.(*P384Element).Square
    0056f218b 0x56f21c
    0056f21c
    0056f21cloc_56f21c:
    0056f21cldr x3, [sp+72]
    0056f220add x3, x3, 1
    0056f224str x3, [sp+72]
    0056f228b 0x56f1fc
    0056f22c
    0056f22cloc_56f22c:
    0056f22cldr x1, [sp+280]
    0056f230ldr x2, [sp+272]
    0056f234ldr x0, [sp+280]
    0056f238bl crypto/internal/fips140/nistec/fiat.(*P384Element).Mul
    0056f23cstr xzr, [sp+64]
    0056f240b 0x56f244
    0056f244
    0056f244loc_56f244:
    0056f244ldr x3, [sp+64]
    0056f248subs xzr, x3, 3
    0056f24cb.lt 0x56f254
    0056f250b 0x56f274
    0056f254
    0056f254loc_56f254:
    0056f254ldr x1, [sp+280]
    0056f258ldr x0, [sp+280]
    0056f25cbl crypto/internal/fips140/nistec/fiat.(*P384Element).Square
    0056f260b 0x56f264
    0056f264
    0056f264loc_56f264:
    0056f264ldr x3, [sp+64]
    0056f268add x3, x3, 1
    0056f26cstr x3, [sp+64]
    0056f270b 0x56f244
    0056f274
    0056f274loc_56f274:
    0056f274ldr x1, [sp+288]
    0056f278ldr x2, [sp+280]
    0056f27cldr x0, [sp+288]
    0056f280bl crypto/internal/fips140/nistec/fiat.(*P384Element).Mul
    0056f284str xzr, [sp+56]
    0056f288b 0x56f28c
    0056f28c
    0056f28cloc_56f28c:
    0056f28cldr x3, [sp+56]
    0056f290subs xzr, x3, 33
    0056f294b.lt 0x56f29c
    0056f298b 0x56f2bc
    0056f29c
    0056f29cloc_56f29c:
    0056f29cldr x1, [sp+288]
    0056f2a0ldr x0, [sp+288]
    0056f2a4bl crypto/internal/fips140/nistec/fiat.(*P384Element).Square
    0056f2a8b 0x56f2ac
    0056f2ac
    0056f2acloc_56f2ac:
    0056f2acldr x3, [sp+56]
    0056f2b0add x3, x3, 1
    0056f2b4str x3, [sp+56]
    0056f2b8b 0x56f28c
    0056f2bc
    0056f2bcloc_56f2bc:
    0056f2bcldr x1, [sp+312]
    0056f2c0ldr x2, [sp+288]
    0056f2c4ldr x0, [sp+312]
    0056f2c8bl crypto/internal/fips140/nistec/fiat.(*P384Element).Mul
    0056f2ccstr xzr, [sp+48]
    0056f2d0b 0x56f2d4
    0056f2d4
    0056f2d4loc_56f2d4:
    0056f2d4ldr x3, [sp+48]
    0056f2d8subs xzr, x3, 64
    0056f2dcb.lt 0x56f2e4
    0056f2e0b 0x56f304
    0056f2e4
    0056f2e4loc_56f2e4:
    0056f2e4ldr x1, [sp+312]
    0056f2e8ldr x0, [sp+312]
    0056f2ecbl crypto/internal/fips140/nistec/fiat.(*P384Element).Square
    0056f2f0b 0x56f2f4
    0056f2f4
    0056f2f4loc_56f2f4:
    0056f2f4ldr x3, [sp+48]
    0056f2f8add x3, x3, 1
    0056f2fcstr x3, [sp+48]
    0056f300b 0x56f2d4
    0056f304
    0056f304loc_56f304:
    0056f304ldr x1, [sp+320]
    0056f308ldr x2, [sp+312]
    0056f30cldr x0, [sp+312]
    0056f310bl crypto/internal/fips140/nistec/fiat.(*P384Element).Mul
    0056f314str xzr, [sp+40]
    0056f318b 0x56f31c
    0056f31c
    0056f31cloc_56f31c:
    0056f31cldr x2, [sp+40]
    0056f320subs xzr, x2, 30
    0056f324b.lt 0x56f32c
    0056f328b 0x56f34c
    0056f32c
    0056f32cloc_56f32c:
    0056f32cldr x1, [sp+312]
    0056f330ldr x0, [sp+312]
    0056f334bl crypto/internal/fips140/nistec/fiat.(*P384Element).Square
    0056f338b 0x56f33c
    0056f33c
    0056f33cloc_56f33c:
    0056f33cldr x2, [sp+40]
    0056f340add x2, x2, 1
    0056f344str x2, [sp+40]
    0056f348b 0x56f31c
    0056f34c
    0056f34cloc_56f34c:
    0056f34cldp x29, x30, [sp-8]
    0056f350add sp, sp, 304
    0056f354ret x30
    0056f358
    0056f358loc_56f358:
    0056f358stp x0, x1, [sp+8]
    0056f35cmov x3, x30
    0056f360bl runtime.morestack_noctxt.abi0
    0056f364ldp x0, x1, [sp+8]
    0056f368b 0x56ef10
    0056f36cudf 0
    0056ef10
    0056f370
    0056f370crypto/internal/fips140/nistec.NewP521Point: ; void crypto/internal/fips140/nistec.NewP521Point(void)
    0056f370ldr x16, [x28+16]
    0056f374subs xzr, sp, x16
    0056f378b.ls 0x56f488
    0056f37cstr x30, [sp-96]!
    0056f380stur x29, [sp-8]
    0056f384sub x29, sp, 8
    0056f388str xzr, [sp+40]
    0056f38cadrp x0, 0xbf000
    0056f390add x0, x0, 2784
    0056f394bl runtime.newobject
    0056f398str x0, [sp+80]
    0056f39cadrp x0, 0xbf000
    0056f3a0add x0, x0, 2784
    0056f3a4bl runtime.newobject
    0056f3a8str x0, [sp+72]
    0056f3acbl crypto/internal/fips140/nistec/fiat.(*P521Element).One
    0056f3b0str x0, [sp+64]
    0056f3b4adrp x0, 0xbf000
    0056f3b8add x0, x0, 2784
    0056f3bcbl runtime.newobject
    0056f3c0str x0, [sp+56]
    0056f3c4adrp x0, 0xea000
    0056f3c8add x0, x0, 3904
    0056f3ccbl runtime.newobject
    0056f3d0str x0, [sp+48]
    0056f3d4ldr x1, [sp+80]
    0056f3d8adrp x27, 0x4dc000
    0056f3dcldr w2, [x27+3056]
    0056f3e0cbz w2, 0x56f3e8
    0056f3e4b 0x56f3ec
    0056f3e8
    0056f3e8loc_56f3e8:
    0056f3e8b 0x56f400
    0056f3ec
    0056f3ecloc_56f3ec:
    0056f3ecbl runtime.gcWriteBarrier2
    0056f3f0str x1, [x25]
    0056f3f4ldr x2, [x0]
    0056f3f8str x2, [x25+8]
    0056f3fcb 0x56f400
    0056f400
    0056f400loc_56f400:
    0056f400str x1, [x0]
    0056f404ldr x1, [sp+48]
    0056f408ldrsb x27, [x1]
    0056f40cldr x2, [sp+64]
    0056f410adrp x27, 0x4dc000
    0056f414ldr w3, [x27+3056]
    0056f418cbz w3, 0x56f420
    0056f41cb 0x56f424
    0056f420
    0056f420loc_56f420:
    0056f420b 0x56f438
    0056f424
    0056f424loc_56f424:
    0056f424bl runtime.gcWriteBarrier2
    0056f428str x2, [x25]
    0056f42cldr x3, [x1+8]
    0056f430str x3, [x25+8]
    0056f434b 0x56f438
    0056f438
    0056f438loc_56f438:
    0056f438str x2, [x1+8]
    0056f43cldr x1, [sp+48]
    0056f440ldrsb x27, [x1]
    0056f444ldr x2, [sp+56]
    0056f448adrp x27, 0x4dc000
    0056f44cldr w3, [x27+3056]
    0056f450cbz w3, 0x56f458
    0056f454b 0x56f45c
    0056f458
    0056f458loc_56f458:
    0056f458b 0x56f470
    0056f45c
    0056f45cloc_56f45c:
    0056f45cbl runtime.gcWriteBarrier2
    0056f460str x2, [x25]
    0056f464ldr x3, [x1+16]
    0056f468str x3, [x25+8]
    0056f46cb 0x56f470
    0056f470
    0056f470loc_56f470:
    0056f470str x2, [x1+16]
    0056f474ldr x0, [sp+48]
    0056f478str x0, [sp+40]
    0056f47cldur x29, [sp-8]
    0056f480ldr x30, [sp], 96
    0056f484ret x30
    0056f488
    0056f488loc_56f488:
    0056f488mov x3, x30
    0056f48cbl runtime.morestack_noctxt.abi0
    0056f490b 0x56f370
    0056f494udf 0
    0056f498udf 0
    0056f49cudf 0
    0056f370
    0056f4a0
    0056f4a0crypto/internal/fips140/nistec.(*P521Point).SetGenerator: ; void crypto/internal/fips140/nistec.(*P521Point).SetGenerator(crypto/internal/fips140/nistec.P521Point * p)
    0056f4a0ldr x16, [x28+16]
    0056f4a4sub x17, sp, 96
    0056f4a8subs xzr, x17, x16
    0056f4acb.ls 0x56fdb4
    0056f4b0str x30, [sp-224]!
    0056f4b4stur x29, [sp-8]
    0056f4b8sub x29, sp, 8
    0056f4bcstr x0, [sp+232]
    0056f4c0str xzr, [sp+120]
    0056f4c4add x27, sp, 54
    0056f4c8stp xzr, xzr, [x27]
    0056f4ccadd x27, sp, 70
    0056f4d0stp xzr, xzr, [x27]
    0056f4d4add x27, sp, 86
    0056f4d8stp xzr, xzr, [x27]
    0056f4dcadd x27, sp, 102
    0056f4e0stp xzr, xzr, [x27]
    0056f4e4str xzr, [sp+112]
    0056f4e8add x4, sp, 54
    0056f4ecstr x4, [sp+184]
    0056f4f0ldrsb x27, [x4]
    0056f4f4strb wzr, [x4]
    0056f4f8ldr x4, [sp+184]
    0056f4fcldrsb x27, [x4]
    0056f500movn x5, 57
    0056f504strb w5, [x4+1]
    0056f508ldr x4, [sp+184]
    0056f50cldrsb x27, [x4]
    0056f510movn x5, 122
    0056f514strb w5, [x4+2]
    0056f518ldr x4, [sp+184]
    0056f51cldrsb x27, [x4]
    0056f520movn x6, 113
    0056f524strb w6, [x4+3]
    0056f528ldr x4, [sp+184]
    0056f52cldrsb x27, [x4]
    0056f530orr x6, xzr, 6
    0056f534strb w6, [x4+4]
    0056f538ldr x4, [sp+184]
    0056f53cldrsb x27, [x4]
    0056f540movn x6, 72
    0056f544strb w6, [x4+5]
    0056f548ldr x4, [sp+184]
    0056f54cldrsb x27, [x4]
    0056f550orr x6, xzr, 4
    0056f554strb w6, [x4+6]
    0056f558ldr x4, [sp+184]
    0056f55cldrsb x27, [x4]
    0056f560strb w6, [x4+7]
    0056f564ldr x4, [sp+184]
    0056f568ldrsb x27, [x4]
    0056f56cmovn x7, 22
    0056f570strb w7, [x4+8]
    0056f574ldr x4, [sp+184]
    0056f578ldrsb x27, [x4]
    0056f57cmovn x7, 50
    0056f580strb w7, [x4+9]
    0056f584ldr x4, [sp+184]
    0056f588ldrsb x27, [x4]
    0056f58cmovn x7, 97
    0056f590strb w7, [x4+10]
    0056f594ldr x4, [sp+184]
    0056f598ldrsb x27, [x4]
    0056f59corr x7, xzr, 62
    0056f5a0strb w7, [x4+11]
    0056f5a4ldr x4, [sp+184]
    0056f5a8ldrsb x27, [x4]
    0056f5acmovn x8, 52
    0056f5b0strb w8, [x4+12]
    0056f5b4ldr x4, [sp+184]
    0056f5b8ldrsb x27, [x4]
    0056f5bcmovz x8, 102
    0056f5c0strb w8, [x4+13]
    0056f5c4ldr x4, [sp+184]
    0056f5c8ldrsb x27, [x4]
    0056f5ccmovz x9, 35
    0056f5d0strb w9, [x4+14]
    0056f5d4ldr x4, [sp+184]
    0056f5d8ldrsb x27, [x4]
    0056f5dcmovn x9, 106
    0056f5e0strb w9, [x4+15]
    0056f5e4ldr x4, [sp+184]
    0056f5e8ldrsb x27, [x4]
    0056f5ecmovn x9, 75
    0056f5f0strb w9, [x4+16]
    0056f5f4ldr x4, [sp+184]
    0056f5f8ldrsb x27, [x4]
    0056f5fcmovz x10, 66
    0056f600strb w10, [x4+17]
    0056f604ldr x4, [sp+184]
    0056f608ldrsb x27, [x4]
    0056f60cmovn x11, 99
    0056f610strb w11, [x4+18]
    0056f614ldr x4, [sp+184]
    0056f618ldrsb x27, [x4]
    0056f61cmovz x11, 100
    0056f620strb w11, [x4+19]
    0056f624ldr x4, [sp+184]
    0056f628ldrsb x27, [x4]
    0056f62cmovn x11, 126
    0056f630strb w11, [x4+20]
    0056f634ldr x4, [sp+184]
    0056f638ldrsb x27, [x4]
    0056f63cmovz x11, 57
    0056f640strb w11, [x4+21]
    0056f644ldr x4, [sp+184]
    0056f648ldrsb x27, [x4]
    0056f64cmovz x12, 5
    0056f650strb w12, [x4+22]
    0056f654ldr x4, [sp+184]
    0056f658ldrsb x27, [x4]
    0056f65corr x12, xzr, 63
    0056f660strb w12, [x4+23]
    0056f664ldr x4, [sp+184]
    0056f668ldrsb x27, [x4]
    0056f66cmovn x13, 74
    0056f670strb w13, [x4+24]
    0056f674ldr x4, [sp+184]
    0056f678ldrsb x27, [x4]
    0056f67cmovz x13, 33
    0056f680strb w13, [x4+25]
    0056f684ldr x4, [sp+184]
    0056f688ldrsb x27, [x4]
    0056f68cmovn x13, 7
    0056f690strb w13, [x4+26]
    0056f694ldr x4, [sp+184]
    0056f698ldrsb x27, [x4]
    0056f69cmovz x13, 40
    0056f6a0strb w13, [x4+27]
    0056f6a4ldr x4, [sp+184]
    0056f6a8ldrsb x27, [x4]
    0056f6acmovn x14, 80
    0056f6b0strb w14, [x4+28]
    0056f6b4ldr x4, [sp+184]
    0056f6b8ldrsb x27, [x4]
    0056f6bcorr x15, xzr, 96
    0056f6c0strb w15, [x4+29]
    0056f6c4ldr x4, [sp+184]
    0056f6c8ldrsb x27, [x4]
    0056f6ccmovz x15, 107
    0056f6d0strb w15, [x4+30]
    0056f6d4ldr x4, [sp+184]
    0056f6d8ldrsb x27, [x4]
    0056f6dcmovz x15, 77
    0056f6e0strb w15, [x4+31]
    0056f6e4ldr x4, [sp+184]
    0056f6e8ldrsb x27, [x4]
    0056f6ecmovz x15, 61
    0056f6f0strb w15, [x4+32]
    0056f6f4ldr x4, [sp+184]
    0056f6f8ldrsb x27, [x4]
    0056f6fcmovn x15, 69
    0056f700strb w15, [x4+33]
    0056f704ldr x4, [sp+184]
    0056f708ldrsb x27, [x4]
    0056f70cmovn x15, 94
    0056f710strb w15, [x4+34]
    0056f714ldr x4, [sp+184]
    0056f718ldrsb x27, [x4]
    0056f71cmovz x15, 75
    0056f720strb w15, [x4+35]
    0056f724ldr x4, [sp+184]
    0056f728ldrsb x27, [x4]
    0056f72cmovz x15, 94
    0056f730strb w15, [x4+36]
    0056f734ldr x4, [sp+184]
    0056f738ldrsb x27, [x4]
    0056f73cmovz x16, 119
    0056f740strb w16, [x4+37]
    0056f744ldr x4, [sp+184]
    0056f748ldrsb x27, [x4]
    0056f74cmovn x16, 16
    0056f750strb w16, [x4+38]
    0056f754ldr x4, [sp+184]
    0056f758ldrsb x27, [x4]
    0056f75cmovn x16, 24
    0056f760strb w16, [x4+39]
    0056f764ldr x4, [sp+184]
    0056f768ldrsb x27, [x4]
    0056f76cmovz x16, 89
    0056f770strb w16, [x4+40]
    0056f774ldr x4, [sp+184]
    0056f778ldrsb x27, [x4]
    0056f77cstrb w13, [x4+41]
    0056f780ldr x4, [sp+184]
    0056f784ldrsb x27, [x4]
    0056f788movn x13, 1
    0056f78cstrb w13, [x4+42]
    0056f790ldr x4, [sp+184]
    0056f794ldrsb x27, [x4]
    0056f798movz x13, 29
    0056f79cstrb w13, [x4+43]
    0056f7a0ldr x4, [sp+184]
    0056f7a4ldrsb x27, [x4]
    0056f7a8movn x13, 62
    0056f7acstrb w13, [x4+44]
    0056f7b0ldr x4, [sp+184]
    0056f7b4ldrsb x27, [x4]
    0056f7b8movz x16, 39
    0056f7bcstrb w16, [x4+45]
    0056f7c0ldr x4, [sp+184]
    0056f7c4ldrsb x27, [x4]
    0056f7c8movn x17, 93
    0056f7ccstrb w17, [x4+46]
    0056f7d0ldr x4, [sp+184]
    0056f7d4ldrsb x27, [x4]
    0056f7d8movn x19, 0
    0056f7dcstrb w19, [x4+47]
    0056f7e0ldr x4, [sp+184]
    0056f7e4ldrsb x27, [x4]
    0056f7e8movn x19, 87
    0056f7ecstrb w19, [x4+48]
    0056f7f0ldr x4, [sp+184]
    0056f7f4ldrsb x27, [x4]
    0056f7f8movn x19, 33
    0056f7fcstrb w19, [x4+49]
    0056f800ldr x4, [sp+184]
    0056f804ldrsb x27, [x4]
    0056f808movz x19, 51
    0056f80cstrb w19, [x4+50]
    0056f810ldr x4, [sp+184]
    0056f814ldrsb x27, [x4]
    0056f818movz x19, 72
    0056f81cstrb w19, [x4+51]
    0056f820ldr x4, [sp+184]
    0056f824ldrsb x27, [x4]
    0056f828movn x19, 76
    0056f82cstrb w19, [x4+52]
    0056f830ldr x4, [sp+184]
    0056f834ldrsb x27, [x4]
    0056f838strb w13, [x4+53]
    0056f83cldr x4, [sp+184]
    0056f840ldrsb x27, [x4]
    0056f844strb w5, [x4+54]
    0056f848ldr x4, [sp+184]
    0056f84cldrsb x27, [x4]
    0056f850movz x5, 106
    0056f854strb w5, [x4+55]
    0056f858ldr x4, [sp+184]
    0056f85cldrsb x27, [x4]
    0056f860strb w10, [x4+56]
    0056f864ldr x4, [sp+184]
    0056f868ldrsb x27, [x4]
    0056f86cmovn x10, 100
    0056f870strb w10, [x4+57]
    0056f874ldr x4, [sp+184]
    0056f878ldrsb x27, [x4]
    0056f87cmovn x13, 6
    0056f880strb w13, [x4+58]
    0056f884ldr x4, [sp+184]
    0056f888ldrsb x27, [x4]
    0056f88corr x13, xzr, 126
    0056f890strb w13, [x4+59]
    0056f894ldr x4, [sp+184]
    0056f898ldrsb x27, [x4]
    0056f89cstrb w13, [x4+60]
    0056f8a0ldr x4, [sp+184]
    0056f8a4ldrsb x27, [x4]
    0056f8a8movz x13, 49
    0056f8acstrb w13, [x4+61]
    0056f8b0ldr x4, [sp+184]
    0056f8b4ldrsb x27, [x4]
    0056f8b8movn x13, 61
    0056f8bcstrb w13, [x4+62]
    0056f8c0ldr x4, [sp+184]
    0056f8c4ldrsb x27, [x4]
    0056f8c8movn x19, 26
    0056f8ccstrb w19, [x4+63]
    0056f8d0ldr x4, [sp+184]
    0056f8d4ldrsb x27, [x4]
    0056f8d8movn x19, 66
    0056f8dcstrb w19, [x4+64]
    0056f8e0ldr x4, [sp+184]
    0056f8e4ldrsb x27, [x4]
    0056f8e8strb w8, [x4+65]
    0056f8ecldr x4, [sp+184]
    0056f8f0ldrsb x27, [x4]
    0056f8f4b 0x56f8f8
    0056f8f8
    0056f8f8loc_56f8f8:
    0056f8f8str x4, [sp+192]
    0056f8fcmovz x4, 66
    0056f900str x4, [sp+200]
    0056f904str x4, [sp+208]
    0056f908ldr x4, [sp+232]
    0056f90cldrsb x27, [x4]
    0056f910ldr x0, [x4]
    0056f914str x0, [sp+176]
    0056f918ldr x1, [sp+192]
    0056f91cldr x2, [sp+200]
    0056f920ldr x3, [sp+208]
    0056f924bl crypto/internal/fips140/nistec/fiat.(*P521Element).SetBytes
    0056f928add x27, sp, 54
    0056f92cstp xzr, xzr, [x27]
    0056f930add x27, sp, 70
    0056f934stp xzr, xzr, [x27]
    0056f938add x27, sp, 86
    0056f93cstp xzr, xzr, [x27]
    0056f940add x27, sp, 102
    0056f944stp xzr, xzr, [x27]
    0056f948str xzr, [sp+112]
    0056f94cadd x4, sp, 54
    0056f950str x4, [sp+144]
    0056f954ldrsb x27, [x4]
    0056f958orr x5, xzr, 1
    0056f95cstrb w5, [x4]
    0056f960ldr x4, [sp+144]
    0056f964ldrsb x27, [x4]
    0056f968orr x6, xzr, 24
    0056f96cstrb w6, [x4+1]
    0056f970ldr x4, [sp+144]
    0056f974ldrsb x27, [x4]
    0056f978movz x6, 57
    0056f97cstrb w6, [x4+2]
    0056f980ldr x4, [sp+144]
    0056f984ldrsb x27, [x4]
    0056f988movz x6, 41
    0056f98cstrb w6, [x4+3]
    0056f990ldr x4, [sp+144]
    0056f994ldrsb x27, [x4]
    0056f998movz x6, 106
    0056f99cstrb w6, [x4+4]
    0056f9a0ldr x4, [sp+144]
    0056f9a4ldrsb x27, [x4]
    0056f9a8orr x6, xzr, 120
    0056f9acstrb w6, [x4+5]
    0056f9b0ldr x4, [sp+144]
    0056f9b4ldrsb x27, [x4]
    0056f9b8movn x6, 101
    0056f9bcstrb w6, [x4+6]
    0056f9c0ldr x4, [sp+144]
    0056f9c4ldrsb x27, [x4]
    0056f9c8movz x6, 59
    0056f9ccstrb w6, [x4+7]
    0056f9d0ldr x4, [sp+144]
    0056f9d4ldrsb x27, [x4]
    0056f9d8movn x6, 63
    0056f9dcstrb w6, [x4+8]
    0056f9e0ldr x4, [sp+144]
    0056f9e4ldrsb x27, [x4]
    0056f9e8orr x6, xzr, 4
    0056f9ecstrb w6, [x4+9]
    0056f9f0ldr x4, [sp+144]
    0056f9f4ldrsb x27, [x4]
    0056f9f8movz x6, 92
    0056f9fcstrb w6, [x4+10]
    0056fa00ldr x4, [sp+144]
    0056fa04ldrsb x27, [x4]
    0056fa08movn x6, 117
    0056fa0cstrb w6, [x4+11]
    0056fa10ldr x4, [sp+144]
    0056fa14ldrsb x27, [x4]
    0056fa18movz x6, 95
    0056fa1cstrb w6, [x4+12]
    0056fa20ldr x4, [sp+144]
    0056fa24ldrsb x27, [x4]
    0056fa28movn x6, 75
    0056fa2cstrb w6, [x4+13]
    0056fa30ldr x4, [sp+144]
    0056fa34ldrsb x27, [x4]
    0056fa38movz x6, 44
    0056fa3cstrb w6, [x4+14]
    0056fa40ldr x4, [sp+144]
    0056fa44ldrsb x27, [x4]
    0056fa48movz x7, 125
    0056fa4cstrb w7, [x4+15]
    0056fa50ldr x4, [sp+144]
    0056fa54ldrsb x27, [x4]
    0056fa58movz x7, 27
    0056fa5cstrb w7, [x4+16]
    0056fa60ldr x4, [sp+144]
    0056fa64ldrsb x27, [x4]
    0056fa68movn x7, 38
    0056fa6cstrb w7, [x4+17]
    0056fa70ldr x4, [sp+144]
    0056fa74ldrsb x27, [x4]
    0056fa78movn x7, 103
    0056fa7cstrb w7, [x4+18]
    0056fa80ldr x4, [sp+144]
    0056fa84ldrsb x27, [x4]
    0056fa88movn x7, 10
    0056fa8cstrb w7, [x4+19]
    0056fa90ldr x4, [sp+144]
    0056fa94ldrsb x27, [x4]
    0056fa98movz x7, 68
    0056fa9cstrb w7, [x4+20]
    0056faa0ldr x4, [sp+144]
    0056faa4ldrsb x27, [x4]
    0056faa8movz x8, 73
    0056faacstrb w8, [x4+21]
    0056fab0ldr x4, [sp+144]
    0056fab4ldrsb x27, [x4]
    0056fab8movz x8, 87
    0056fabcstrb w8, [x4+22]
    0056fac0ldr x4, [sp+144]
    0056fac4ldrsb x27, [x4]
    0056fac8movn x8, 100
    0056faccstrb w8, [x4+23]
    0056fad0ldr x4, [sp+144]
    0056fad4ldrsb x27, [x4]
    0056fad8strb w7, [x4+24]
    0056fadcldr x4, [sp+144]
    0056fae0ldrsb x27, [x4]
    0056fae4movz x7, 104
    0056fae8strb w7, [x4+25]
    0056faecldr x4, [sp+144]
    0056faf0ldrsb x27, [x4]
    0056faf4movz x7, 23
    0056faf8strb w7, [x4+26]
    0056fafcldr x4, [sp+144]
    0056fb00ldrsb x27, [x4]
    0056fb04movn x8, 80
    0056fb08strb w8, [x4+27]
    0056fb0cldr x4, [sp+144]
    0056fb10ldrsb x27, [x4]
    0056fb14movn x8, 66
    0056fb18strb w8, [x4+28]
    0056fb1cldr x4, [sp+144]
    0056fb20ldrsb x27, [x4]
    0056fb24strb w7, [x4+29]
    0056fb28ldr x4, [sp+144]
    0056fb2cldrsb x27, [x4]
    0056fb30movz x7, 39
    0056fb34strb w7, [x4+30]
    0056fb38ldr x4, [sp+144]
    0056fb3cldrsb x27, [x4]
    0056fb40orr x7, xzr, 62
    0056fb44strb w7, [x4+31]
    0056fb48ldr x4, [sp+144]
    0056fb4cldrsb x27, [x4]
    0056fb50movz x7, 102
    0056fb54strb w7, [x4+32]
    0056fb58ldr x4, [sp+144]
    0056fb5cldrsb x27, [x4]
    0056fb60strb w6, [x4+33]
    0056fb64ldr x4, [sp+144]
    0056fb68ldrsb x27, [x4]
    0056fb6cmovn x6, 104
    0056fb70strb w6, [x4+34]
    0056fb74ldr x4, [sp+144]
    0056fb78ldrsb x27, [x4]
    0056fb7cmovn x6, 17
    0056fb80strb w6, [x4+35]
    0056fb84ldr x4, [sp+144]
    0056fb88ldrsb x27, [x4]
    0056fb8cmovz x6, 114
    0056fb90strb w6, [x4+36]
    0056fb94ldr x4, [sp+144]
    0056fb98ldrsb x27, [x4]
    0056fb9cmovn x8, 102
    0056fba0strb w8, [x4+37]
    0056fba4ldr x4, [sp+144]
    0056fba8ldrsb x27, [x4]
    0056fbacmovz x8, 94
    0056fbb0strb w8, [x4+38]
    0056fbb4ldr x4, [sp+144]
    0056fbb8ldrsb x27, [x4]
    0056fbbcmovn x8, 11
    0056fbc0strb w8, [x4+39]
    0056fbc4ldr x4, [sp+144]
    0056fbc8ldrsb x27, [x4]
    0056fbccmovz x8, 38
    0056fbd0strb w8, [x4+40]
    0056fbd4ldr x4, [sp+144]
    0056fbd8ldrsb x27, [x4]
    0056fbdcorr x8, xzr, 64
    0056fbe0strb w8, [x4+41]
    0056fbe4ldr x4, [sp+144]
    0056fbe8ldrsb x27, [x4]
    0056fbecmovn x9, 58
    0056fbf0strb w9, [x4+42]
    0056fbf4ldr x4, [sp+144]
    0056fbf8ldrsb x27, [x4]
    0056fbfcmovz x9, 80
    0056fc00strb w9, [x4+43]
    0056fc04ldr x4, [sp+144]
    0056fc08ldrsb x27, [x4]
    0056fc0cmovn x10, 70
    0056fc10strb w10, [x4+44]
    0056fc14ldr x4, [sp+144]
    0056fc18ldrsb x27, [x4]
    0056fc1cstrb w5, [x4+45]
    0056fc20ldr x4, [sp+144]
    0056fc24ldrsb x27, [x4]
    0056fc28orr x5, xzr, 63
    0056fc2cstrb w5, [x4+46]
    0056fc30ldr x4, [sp+144]
    0056fc34ldrsb x27, [x4]
    0056fc38movn x5, 82
    0056fc3cstrb w5, [x4+47]
    0056fc40ldr x4, [sp+144]
    0056fc44ldrsb x27, [x4]
    0056fc48orr x5, xzr, 7
    0056fc4cstrb w5, [x4+48]
    0056fc50ldr x4, [sp+144]
    0056fc54ldrsb x27, [x4]
    0056fc58movz x5, 97
    0056fc5cstrb w5, [x4+49]
    0056fc60ldr x4, [sp+144]
    0056fc64ldrsb x27, [x4]
    0056fc68movz x5, 53
    0056fc6cstrb w5, [x4+50]
    0056fc70ldr x4, [sp+144]
    0056fc74ldrsb x27, [x4]
    0056fc78orr x5, xzr, 60
    0056fc7cstrb w5, [x4+51]
    0056fc80ldr x4, [sp+144]
    0056fc84ldrsb x27, [x4]
    0056fc88orr x5, xzr, 112
    0056fc8cstrb w5, [x4+52]
    0056fc90ldr x4, [sp+144]
    0056fc94ldrsb x27, [x4]
    0056fc98movn x5, 121
    0056fc9cstrb w5, [x4+53]
    0056fca0ldr x4, [sp+144]
    0056fca4ldrsb x27, [x4]
    0056fca8movn x5, 93
    0056fcacstrb w5, [x4+54]
    0056fcb0ldr x4, [sp+144]
    0056fcb4ldrsb x27, [x4]
    0056fcb8strb w6, [x4+55]
    0056fcbcldr x4, [sp+144]
    0056fcc0ldrsb x27, [x4]
    0056fcc4movn x5, 61
    0056fcc8strb w5, [x4+56]
    0056fcccldr x4, [sp+144]
    0056fcd0ldrsb x27, [x4]
    0056fcd4strb w8, [x4+57]
    0056fcd8ldr x4, [sp+144]
    0056fcdcldrsb x27, [x4]
    0056fce0movn x5, 119
    0056fce4strb w5, [x4+58]
    0056fce8ldr x4, [sp+144]
    0056fcecldrsb x27, [x4]
    0056fcf0movn x5, 65
    0056fcf4strb w5, [x4+59]
    0056fcf8ldr x4, [sp+144]
    0056fcfcldrsb x27, [x4]
    0056fd00movn x5, 107
    0056fd04strb w5, [x4+60]
    0056fd08ldr x4, [sp+144]
    0056fd0cldrsb x27, [x4]
    0056fd10movz x5, 118
    0056fd14strb w5, [x4+61]
    0056fd18ldr x4, [sp+144]
    0056fd1cldrsb x27, [x4]
    0056fd20movn x5, 96
    0056fd24strb w5, [x4+62]
    0056fd28ldr x4, [sp+144]
    0056fd2cldrsb x27, [x4]
    0056fd30movn x5, 46
    0056fd34strb w5, [x4+63]
    0056fd38ldr x4, [sp+144]
    0056fd3cldrsb x27, [x4]
    0056fd40strb w7, [x4+64]
    0056fd44ldr x4, [sp+144]
    0056fd48ldrsb x27, [x4]
    0056fd4cstrb w9, [x4+65]
    0056fd50ldr x4, [sp+144]
    0056fd54ldrsb x27, [x4]
    0056fd58b 0x56fd5c
    0056fd5c
    0056fd5cloc_56fd5c:
    0056fd5cstr x4, [sp+152]
    0056fd60movz x4, 66
    0056fd64str x4, [sp+160]
    0056fd68str x4, [sp+168]
    0056fd6cldr x4, [sp+232]
    0056fd70ldrsb x27, [x4]
    0056fd74ldr x0, [x4+8]
    0056fd78str x0, [sp+136]
    0056fd7cldr x1, [sp+152]
    0056fd80ldr x2, [sp+160]
    0056fd84ldr x3, [sp+168]
    0056fd88bl crypto/internal/fips140/nistec/fiat.(*P521Element).SetBytes
    0056fd8cldr x4, [sp+232]
    0056fd90ldrsb x27, [x4]
    0056fd94ldr x0, [x4+16]
    0056fd98str x0, [sp+128]
    0056fd9cbl crypto/internal/fips140/nistec/fiat.(*P521Element).One
    0056fda0ldr x0, [sp+232]
    0056fda4str x0, [sp+120]
    0056fda8ldur x29, [sp-8]
    0056fdacldr x30, [sp], 224
    0056fdb0ret x30
    0056fdb4
    0056fdb4loc_56fdb4:
    0056fdb4str x0, [sp+8]
    0056fdb8mov x3, x30
    0056fdbcbl runtime.morestack_noctxt.abi0
    0056fdc0ldr x0, [sp+8]
    0056fdc4b 0x56f4a0
    0056fdc8udf 0
    0056fdccudf 0
    0056f4a0
    0056fdd0
    0056fdd0crypto/internal/fips140/nistec.(*P521Point).Set: ; void crypto/internal/fips140/nistec.(*P521Point).Set(crypto/internal/fips140/nistec.P521Point * p, crypto/internal/fips140/nistec.P521Point * q)
    0056fdd0ldr x16, [x28+16]
    0056fdd4subs xzr, sp, x16
    0056fdd8b.ls 0x56fe80
    0056fddcstr x30, [sp-96]!
    0056fde0stur x29, [sp-8]
    0056fde4sub x29, sp, 8
    0056fde8str x0, [sp+104]
    0056fdecstr x1, [sp+112]
    0056fdf0str xzr, [sp+32]
    0056fdf4ldr x2, [sp+104]
    0056fdf8ldrsb x27, [x2]
    0056fdfcldr x2, [x2]
    0056fe00str x2, [sp+80]
    0056fe04ldr x2, [sp+112]
    0056fe08ldrsb x27, [x2]
    0056fe0cldr x1, [x2]
    0056fe10str x1, [sp+72]
    0056fe14ldr x0, [sp+80]
    0056fe18bl crypto/internal/fips140/nistec/fiat.(*P521Element).Set
    0056fe1cldr x2, [sp+104]
    0056fe20ldrsb x27, [x2]
    0056fe24ldr x2, [x2+8]
    0056fe28str x2, [sp+64]
    0056fe2cldr x2, [sp+112]
    0056fe30ldrsb x27, [x2]
    0056fe34ldr x1, [x2+8]
    0056fe38str x1, [sp+56]
    0056fe3cldr x0, [sp+64]
    0056fe40bl crypto/internal/fips140/nistec/fiat.(*P521Element).Set
    0056fe44ldr x2, [sp+104]
    0056fe48ldrsb x27, [x2]
    0056fe4cldr x2, [x2+16]
    0056fe50str x2, [sp+48]
    0056fe54ldr x2, [sp+112]
    0056fe58ldrsb x27, [x2]
    0056fe5cldr x1, [x2+16]
    0056fe60str x1, [sp+40]
    0056fe64ldr x0, [sp+48]
    0056fe68bl crypto/internal/fips140/nistec/fiat.(*P521Element).Set
    0056fe6cldr x0, [sp+104]
    0056fe70str x0, [sp+32]
    0056fe74ldur x29, [sp-8]
    0056fe78ldr x30, [sp], 96
    0056fe7cret x30
    0056fe80
    0056fe80loc_56fe80:
    0056fe80stp x0, x1, [sp+8]
    0056fe84mov x3, x30
    0056fe88bl runtime.morestack_noctxt.abi0
    0056fe8cldp x0, x1, [sp+8]
    0056fe90b 0x56fdd0
    0056fe94udf 0
    0056fe98udf 0
    0056fe9cudf 0
    0056fdd0
    0056fea0
    0056fea0crypto/internal/fips140/nistec.(*P521Point).SetBytes: ; void crypto/internal/fips140/nistec.(*P521Point).SetBytes(crypto/internal/fips140/nistec.P521Point * p, struct []uint8 b)
    0056fea0ldr x16, [x28+16]
    0056fea4sub x17, sp, 624
    0056fea8subs xzr, x17, x16
    0056feacb.ls 0x5705a4
    0056feb0sub x20, sp, 752
    0056feb4stp x29, x30, [x20-8]
    0056feb8add sp, x20, 0
    0056febcsub x29, sp, 8
    0056fec0str x0, [sp+760]
    0056fec4str x1, [sp+768]
    0056fec8str x2, [sp+776]
    0056feccstr x3, [sp+784]
    0056fed0str xzr, [sp+456]
    0056fed4stp xzr, xzr, [sp+440]
    0056fed8ldr x4, [sp+776]
    0056fedcstr x4, [sp+432]
    0056fee0subs xzr, x4, 1
    0056fee4cset x4, eq
    0056fee8strb w4, [sp+55]
    0056feecb.eq 0x56fef4
    0056fef0b 0x56ff1c
    0056fef4
    0056fef4loc_56fef4:
    0056fef4ldr x1, [sp+776]
    0056fef8ldr x4, [sp+768]
    0056fefcsubs xzr, x1, 0
    0056ff00b.hi 0x56ff08
    0056ff04b 0x570598
    0056ff08
    0056ff08loc_56ff08:
    0056ff08ldrb w4, [x4]
    0056ff0csubs wzr, w4, 0
    0056ff10cset x4, eq
    0056ff14strb w4, [sp+55]
    0056ff18b 0x56ff20
    0056ff1c
    0056ff1cloc_56ff1c:
    0056ff1cb 0x56ff20
    0056ff20
    0056ff20loc_56ff20:
    0056ff20ldrb w4, [sp+55]
    0056ff24tbnz w4, 0, 0x56ff2c
    0056ff28b 0x56ff70
    0056ff2c
    0056ff2cloc_56ff2c:
    0056ff2cb 0x56ff30
    0056ff30
    0056ff30loc_56ff30:
    0056ff30bl crypto/internal/fips140/nistec.NewP521Point
    0056ff34str x0, [sp+696]
    0056ff38ldr x1, [sp+760]
    0056ff3cmov x2, x0
    0056ff40mov x0, x1
    0056ff44mov x1, x2
    0056ff48bl crypto/internal/fips140/nistec.(*P521Point).Set
    0056ff4cstr x0, [sp+688]
    0056ff50str x0, [sp+456]
    0056ff54stp xzr, xzr, [sp+440]
    0056ff58ldr x0, [sp+456]
    0056ff5cmov x1, xzr
    0056ff60mov x2, xzr
    0056ff64ldp x29, x30, [sp-8]
    0056ff68add sp, sp, 752
    0056ff6cret x30
    0056ff70
    0056ff70loc_56ff70:
    0056ff70ldr x4, [sp+776]
    0056ff74str x4, [sp+424]
    0056ff78subs xzr, x4, 133
    0056ff7ccset x4, eq
    0056ff80strb w4, [sp+54]
    0056ff84b.eq 0x56ff8c
    0056ff88b 0x56ffb4
    0056ff8c
    0056ff8cloc_56ff8c:
    0056ff8cldr x1, [sp+776]
    0056ff90ldr x4, [sp+768]
    0056ff94subs xzr, x1, 0
    0056ff98b.hi 0x56ffa0
    0056ff9cb 0x570590
    0056ffa0
    0056ffa0loc_56ffa0:
    0056ffa0ldrb w4, [x4]
    0056ffa4subs wzr, w4, 4
    0056ffa8cset x4, eq
    0056ffacstrb w4, [sp+54]
    0056ffb0b 0x56ffb8
    0056ffb4
    0056ffb4loc_56ffb4:
    0056ffb4b 0x56ffb8
    0056ffb8
    0056ffb8loc_56ffb8:
    0056ffb8ldrb w4, [sp+54]
    0056ffbctbnz w4, 0, 0x56ffc4
    0056ffc0b 0x570238
    0056ffc4
    0056ffc4loc_56ffc4:
    0056ffc4b 0x56ffc8
    0056ffc8
    0056ffc8loc_56ffc8:
    0056ffc8stp xzr, xzr, [sp+344]
    0056ffccstp xzr, xzr, [sp+360]
    0056ffd0stp xzr, xzr, [sp+376]
    0056ffd4stp xzr, xzr, [sp+392]
    0056ffd8str xzr, [sp+408]
    0056ffdcadd x4, sp, 344
    0056ffe0str x4, [sp+680]
    0056ffe4ldr x2, [sp+784]
    0056ffe8ldr x4, [sp+768]
    0056ffecsubs xzr, x2, 67
    0056fff0b.hs 0x56fff8
    0056fff4b 0x570588
    0056fff8
    0056fff8loc_56fff8:
    0056fff8b 0x56fffc
    0056fffc
    0056fffcloc_56fffc:
    0056fffcsub x5, x2, 1
    00570000sub x6, xzr, x5
    00570004sbfm x6, x6, 63, 63
    00570008and x6, x6, 1
    0057000cadd x4, x4, x6
    00570010str x4, [sp+656]
    00570014movz x4, 66
    00570018str x4, [sp+664]
    0057001cstr x5, [sp+672]
    00570020str xzr, [sp+648]
    00570024add x27, sp, 632
    00570028stp xzr, xzr, [x27]
    0057002cldr x1, [sp+656]
    00570030ldr x2, [sp+664]
    00570034ldr x3, [sp+672]
    00570038ldr x0, [sp+680]
    0057003cbl crypto/internal/fips140/nistec/fiat.(*P521Element).SetBytes
    00570040str x0, [sp+648]
    00570044str x1, [sp+632]
    00570048str x2, [sp+640]
    0057004cldr x4, [sp+648]
    00570050str x4, [sp+576]
    00570054ldr x4, [sp+632]
    00570058ldr x5, [sp+640]
    0057005cstr x4, [sp+560]
    00570060str x5, [sp+568]
    00570064ldr x4, [sp+576]
    00570068str x4, [sp+488]
    0057006cldr x4, [sp+568]
    00570070ldr x5, [sp+560]
    00570074str x5, [sp+536]
    00570078str x4, [sp+544]
    0057007ccbnz x5, 0x570084
    00570080b 0x5700a8
    00570084
    00570084loc_570084:
    00570084str xzr, [sp+456]
    00570088ldr x1, [sp+536]
    0057008cldr x2, [sp+544]
    00570090str x1, [sp+440]
    00570094str x2, [sp+448]
    00570098ldr x0, [sp+456]
    0057009cldp x29, x30, [sp-8]
    005700a0add sp, sp, 752
    005700a4ret x30
    005700a8
    005700a8loc_5700a8:
    005700a8stp xzr, xzr, [sp+272]
    005700acstp xzr, xzr, [sp+288]
    005700b0stp xzr, xzr, [sp+304]
    005700b4stp xzr, xzr, [sp+320]
    005700b8str xzr, [sp+336]
    005700bcadd x4, sp, 272
    005700c0str x4, [sp+648]
    005700c4ldr x1, [sp+776]
    005700c8ldr x4, [sp+768]
    005700ccldr x5, [sp+784]
    005700d0b 0x5700d4
    005700d4
    005700d4loc_5700d4:
    005700d4subs xzr, x1, 67
    005700d8b.hs 0x5700e0
    005700dcb 0x570580
    005700e0
    005700e0loc_5700e0:
    005700e0sub x5, x5, 67
    005700e4sub x6, xzr, x5
    005700e8sbfm x6, x6, 63, 63
    005700ecsub x7, x1, 67
    005700f0movz x8, 67
    005700f4and x6, x6, x8
    005700f8add x4, x4, x6
    005700fcstr x4, [sp+656]
    00570100str x7, [sp+664]
    00570104str x5, [sp+672]
    00570108str xzr, [sp+680]
    0057010cadd x27, sp, 632
    00570110stp xzr, xzr, [x27]
    00570114ldr x1, [sp+656]
    00570118ldr x2, [sp+664]
    0057011cldr x3, [sp+672]
    00570120ldr x0, [sp+648]
    00570124bl crypto/internal/fips140/nistec/fiat.(*P521Element).SetBytes
    00570128str x0, [sp+680]
    0057012cstr x1, [sp+632]
    00570130str x2, [sp+640]
    00570134ldr x4, [sp+680]
    00570138str x4, [sp+552]
    0057013cldr x4, [sp+632]
    00570140ldr x5, [sp+640]
    00570144str x4, [sp+728]
    00570148str x5, [sp+736]
    0057014cldr x4, [sp+552]
    00570150str x4, [sp+472]
    00570154ldr x4, [sp+736]
    00570158ldr x5, [sp+728]
    0057015cstr x5, [sp+536]
    00570160str x4, [sp+544]
    00570164cbnz x5, 0x57016c
    00570168b 0x570190
    0057016c
    0057016cloc_57016c:
    0057016cstr xzr, [sp+456]
    00570170ldr x1, [sp+536]
    00570174ldr x2, [sp+544]
    00570178str x1, [sp+440]
    0057017cstr x2, [sp+448]
    00570180ldr x0, [sp+456]
    00570184ldp x29, x30, [sp-8]
    00570188add sp, sp, 752
    0057018cret x30
    00570190
    00570190loc_570190:
    00570190ldr x1, [sp+472]
    00570194ldr x0, [sp+488]
    00570198bl crypto/internal/fips140/nistec.p521CheckOnCurve
    0057019cstr x0, [sp+520]
    005701a0str x1, [sp+528]
    005701a4cbnz x0, 0x5701ac
    005701a8b 0x5701d0
    005701ac
    005701acloc_5701ac:
    005701acstr xzr, [sp+456]
    005701b0ldr x1, [sp+520]
    005701b4ldr x2, [sp+528]
    005701b8str x1, [sp+440]
    005701bcstr x2, [sp+448]
    005701c0ldr x0, [sp+456]
    005701c4ldp x29, x30, [sp-8]
    005701c8add sp, sp, 752
    005701ccret x30
    005701d0
    005701d0loc_5701d0:
    005701d0ldr x2, [sp+760]
    005701d4ldrsb x27, [x2]
    005701d8ldr x0, [x2]
    005701dcstr x0, [sp+624]
    005701e0ldr x1, [sp+488]
    005701e4bl crypto/internal/fips140/nistec/fiat.(*P521Element).Set
    005701e8ldr x2, [sp+760]
    005701ecldrsb x27, [x2]
    005701f0ldr x0, [x2+8]
    005701f4str x0, [sp+616]
    005701f8ldr x1, [sp+472]
    005701fcbl crypto/internal/fips140/nistec/fiat.(*P521Element).Set
    00570200ldr x2, [sp+760]
    00570204ldrsb x27, [x2]
    00570208ldr x0, [x2+16]
    0057020cstr x0, [sp+608]
    00570210bl crypto/internal/fips140/nistec/fiat.(*P521Element).One
    00570214ldr x2, [sp+760]
    00570218str x2, [sp+456]
    0057021cstp xzr, xzr, [sp+440]
    00570220ldr x0, [sp+456]
    00570224mov x1, xzr
    00570228mov x2, xzr
    0057022cldp x29, x30, [sp-8]
    00570230add sp, sp, 752
    00570234ret x30
    00570238
    00570238loc_570238:
    00570238ldr x4, [sp+776]
    0057023cstr x4, [sp+416]
    00570240subs xzr, x4, 67
    00570244cset x4, eq
    00570248strb w4, [sp+53]
    0057024cb.eq 0x570254
    00570250b 0x5702b8
    00570254
    00570254loc_570254:
    00570254ldr x1, [sp+776]
    00570258ldr x4, [sp+768]
    0057025csubs xzr, x1, 0
    00570260b.hi 0x570268
    00570264b 0x570578
    00570268
    00570268loc_570268:
    00570268ldrb w4, [x4]
    0057026csubs wzr, w4, 2
    00570270cset x4, eq
    00570274strb w4, [sp+52]
    00570278b.eq 0x570280
    0057027cb 0x570284
    00570280
    00570280loc_570280:
    00570280b 0x5702ac
    00570284
    00570284loc_570284:
    00570284ldr x1, [sp+776]
    00570288ldr x4, [sp+768]
    0057028csubs xzr, x1, 0
    00570290b.hi 0x570298
    00570294b 0x570570
    00570298
    00570298loc_570298:
    00570298ldrb w4, [x4]
    0057029csubs wzr, w4, 3
    005702a0cset x4, eq
    005702a4strb w4, [sp+52]
    005702a8b 0x5702ac
    005702ac
    005702acloc_5702ac:
    005702acldrb w4, [sp+52]
    005702b0strb w4, [sp+53]
    005702b4b 0x5702bc
    005702b8
    005702b8loc_5702b8:
    005702b8b 0x5702bc
    005702bc
    005702bcloc_5702bc:
    005702bcldrb w4, [sp+53]
    005702c0tbnz w4, 0, 0x5702c8
    005702c4b 0x570518
    005702c8
    005702c8loc_5702c8:
    005702c8b 0x5702cc
    005702cc
    005702ccloc_5702cc:
    005702ccstp xzr, xzr, [sp+200]
    005702d0stp xzr, xzr, [sp+216]
    005702d4stp xzr, xzr, [sp+232]
    005702d8stp xzr, xzr, [sp+248]
    005702dcstr xzr, [sp+264]
    005702e0add x4, sp, 200
    005702e4str x4, [sp+680]
    005702e8ldr x1, [sp+776]
    005702ecldr x4, [sp+768]
    005702f0ldr x5, [sp+784]
    005702f4b 0x5702f8
    005702f8
    005702f8loc_5702f8:
    005702f8subs xzr, x1, 1
    005702fcb.hs 0x570304
    00570300b 0x570568
    00570304
    00570304loc_570304:
    00570304sub x5, x5, 1
    00570308sub x6, xzr, x5
    0057030csub x7, x1, 1
    00570310sbfm x6, x6, 63, 63
    00570314and x6, x6, 1
    00570318add x4, x4, x6
    0057031cstr x4, [sp+656]
    00570320str x7, [sp+664]
    00570324str x5, [sp+672]
    00570328str xzr, [sp+648]
    0057032cadd x27, sp, 632
    00570330stp xzr, xzr, [x27]
    00570334ldr x1, [sp+656]
    00570338ldr x2, [sp+664]
    0057033cldr x3, [sp+672]
    00570340ldr x0, [sp+680]
    00570344bl crypto/internal/fips140/nistec/fiat.(*P521Element).SetBytes
    00570348str x0, [sp+648]
    0057034cstr x1, [sp+632]
    00570350str x2, [sp+640]
    00570354ldr x4, [sp+648]
    00570358str x4, [sp+720]
    0057035cldr x4, [sp+632]
    00570360ldr x5, [sp+640]
    00570364str x4, [sp+704]
    00570368str x5, [sp+712]
    0057036cldr x4, [sp+720]
    00570370str x4, [sp+480]
    00570374ldr x4, [sp+712]
    00570378ldr x5, [sp+704]
    0057037cstr x5, [sp+504]
    00570380str x4, [sp+512]
    00570384cbnz x5, 0x57038c
    00570388b 0x5703b0
    0057038c
    0057038cloc_57038c:
    0057038cstr xzr, [sp+456]
    00570390ldr x1, [sp+504]
    00570394ldr x2, [sp+512]
    00570398str x1, [sp+440]
    0057039cstr x2, [sp+448]
    005703a0ldr x0, [sp+456]
    005703a4ldp x29, x30, [sp-8]
    005703a8add sp, sp, 752
    005703acret x30
    005703b0
    005703b0loc_5703b0:
    005703b0stp xzr, xzr, [sp+128]
    005703b4stp xzr, xzr, [sp+144]
    005703b8stp xzr, xzr, [sp+160]
    005703bcstp xzr, xzr, [sp+176]
    005703c0str xzr, [sp+192]
    005703c4add x0, sp, 128
    005703c8str x0, [sp+648]
    005703ccldr x1, [sp+480]
    005703d0bl crypto/internal/fips140/nistec.p521Polynomial
    005703d4str x0, [sp+464]
    005703d8mov x1, x0
    005703dcbl crypto/internal/fips140/nistec.p521Sqrt
    005703e0strb w0, [sp+52]
    005703e4tbnz w0, 0, 0x5703ec
    005703e8b 0x5704dc
    005703ec
    005703ecloc_5703ec:
    005703ecstp xzr, xzr, [sp+56]
    005703f0stp xzr, xzr, [sp+72]
    005703f4stp xzr, xzr, [sp+88]
    005703f8stp xzr, xzr, [sp+104]
    005703fcstr xzr, [sp+120]
    00570400add x1, sp, 56
    00570404str x1, [sp+496]
    00570408ldr x2, [sp+464]
    0057040cmov x0, x1
    00570410bl crypto/internal/fips140/nistec/fiat.(*P521Element).Sub
    00570414ldr x0, [sp+464]
    00570418bl crypto/internal/fips140/nistec/fiat.(*P521Element).Bytes
    0057041cstr x0, [sp+656]
    00570420str x1, [sp+664]
    00570424str x2, [sp+672]
    00570428subs xzr, x1, 65
    0057042cb.hi 0x570434
    00570430b 0x570560
    00570434
    00570434loc_570434:
    00570434ldrb w4, [x0+65]
    00570438and x4, x4, 1
    0057043cldr x1, [sp+776]
    00570440ldr x5, [sp+768]
    00570444subs xzr, x1, 0
    00570448b.hi 0x570450
    0057044cb 0x570558
    00570450
    00570450loc_570450:
    00570450ldrb w5, [x5]
    00570454and x5, x5, 1
    00570458eor x4, x4, x5
    0057045cstrb w4, [sp+51]
    00570460ldr x1, [sp+496]
    00570464ldr x2, [sp+464]
    00570468ldr x0, [sp+464]
    0057046cubfm x3, x4, 0, 7
    00570470bl crypto/internal/fips140/nistec/fiat.(*P521Element).Select
    00570474ldr x4, [sp+760]
    00570478ldrsb x27, [x4]
    0057047cldr x0, [x4]
    00570480str x0, [sp+600]
    00570484ldr x1, [sp+480]
    00570488bl crypto/internal/fips140/nistec/fiat.(*P521Element).Set
    0057048cldr x4, [sp+760]
    00570490ldrsb x27, [x4]
    00570494ldr x0, [x4+8]
    00570498str x0, [sp+592]
    0057049cldr x1, [sp+464]
    005704a0bl crypto/internal/fips140/nistec/fiat.(*P521Element).Set
    005704a4ldr x4, [sp+760]
    005704a8ldrsb x27, [x4]
    005704acldr x0, [x4+16]
    005704b0str x0, [sp+584]
    005704b4bl crypto/internal/fips140/nistec/fiat.(*P521Element).One
    005704b8ldr x4, [sp+760]
    005704bcstr x4, [sp+456]
    005704c0stp xzr, xzr, [sp+440]
    005704c4ldr x0, [sp+456]
    005704c8mov x1, xzr
    005704ccmov x2, xzr
    005704d0ldp x29, x30, [sp-8]
    005704d4add sp, sp, 752
    005704d8ret x30
    005704dc
    005704dcloc_5704dc:
    005704dcadrp x0, 0x153000
    005704e0add x0, x0, 1070
    005704e4movz x1, 38
    005704e8bl errors.New
    005704ecstr x0, [sp+632]
    005704f0str x1, [sp+640]
    005704f4str xzr, [sp+456]
    005704f8ldr x1, [sp+632]
    005704fcldr x2, [sp+640]
    00570500str x1, [sp+440]
    00570504str x2, [sp+448]
    00570508ldr x0, [sp+456]
    0057050cldp x29, x30, [sp-8]
    00570510add sp, sp, 752
    00570514ret x30
    00570518
    00570518loc_570518:
    00570518b 0x57051c
    0057051c
    0057051cloc_57051c:
    0057051cadrp x0, 0x14b000
    00570520add x0, x0, 1426
    00570524movz x1, 27
    00570528bl errors.New
    0057052cstr x0, [sp+632]
    00570530str x1, [sp+640]
    00570534str xzr, [sp+456]
    00570538ldr x1, [sp+632]
    0057053cldr x2, [sp+640]
    00570540str x1, [sp+440]
    00570544str x2, [sp+448]
    00570548ldr x0, [sp+456]
    0057054cldp x29, x30, [sp-8]
    00570550add sp, sp, 752
    00570554ret x30
    00570558
    00570558loc_570558:
    00570558mov x0, xzr
    0057055cbl runtime.panicIndex
    00570560
    00570560loc_570560:
    00570560movz x0, 65
    00570564bl runtime.panicIndex
    00570568
    00570568loc_570568:
    00570568orr x0, xzr, 1
    0057056cbl runtime.panicSliceB
    00570570
    00570570loc_570570:
    00570570mov x0, xzr
    00570574bl runtime.panicIndex
    00570578
    00570578loc_570578:
    00570578mov x0, xzr
    0057057cbl runtime.panicIndex
    00570580
    00570580loc_570580:
    00570580movz x0, 67
    00570584bl runtime.panicSliceB
    00570588
    00570588loc_570588:
    00570588movz x1, 67
    0057058cbl runtime.panicSliceAcap
    00570590
    00570590loc_570590:
    00570590mov x0, xzr
    00570594bl runtime.panicIndex
    00570598
    00570598loc_570598:
    00570598mov x0, xzr
    0057059cbl runtime.panicIndex
    005705a0hint
    005705a4
    005705a4loc_5705a4:
    005705a4stp x0, x1, [sp+8]
    005705a8stp x2, x3, [sp+24]
    005705acmov x3, x30
    005705b0bl runtime.morestack_noctxt.abi0
    005705b4ldp x0, x1, [sp+8]
    005705b8ldp x2, x3, [sp+24]
    005705bcb 0x56fea0
    0056fea0
    005705c0
    005705c0crypto/internal/fips140/nistec.p521B: ; void crypto/internal/fips140/nistec.p521B(void)
    005705c0ldr x16, [x28+16]
    005705c4subs xzr, sp, x16
    005705c8b.ls 0x570608
    005705ccstr x30, [sp-48]!
    005705d0stur x29, [sp-8]
    005705d4sub x29, sp, 8
    005705d8str xzr, [sp+32]
    005705dcadrp x0, 0x4db000
    005705e0add x0, x0, 2784
    005705e4adrp x1, 0x16a000
    005705e8add x1, x1, 624
    005705ecbl sync.(*Once).Do
    005705f0adrp x27, 0x4b1000
    005705f4ldr x0, [x27+440]
    005705f8str x0, [sp+32]
    005705fcldur x29, [sp-8]
    00570600ldr x30, [sp], 48
    00570604ret x30
    00570608
    00570608loc_570608:
    00570608mov x3, x30
    0057060cbl runtime.morestack_noctxt.abi0
    00570610b 0x5705c0
    00570614udf 0
    00570618udf 0
    0057061cudf 0
    005705c0
    00570620
    00570620crypto/internal/fips140/nistec.p521Polynomial: ; void crypto/internal/fips140/nistec.p521Polynomial(crypto/internal/fips140/nistec/fiat.P521Element * y2, crypto/internal/fips140/nistec/fiat.P521Element * x)
    00570620ldr x16, [x28+16]
    00570624sub x17, sp, 16
    00570628subs xzr, x17, x16
    0057062cb.ls 0x5706e0
    00570630str x30, [sp-144]!
    00570634stur x29, [sp-8]
    00570638sub x29, sp, 8
    0057063cstr x0, [sp+152]
    00570640str x1, [sp+160]
    00570644str xzr, [sp+104]
    00570648ldr x1, [sp+160]
    0057064cldr x0, [sp+152]
    00570650bl crypto/internal/fips140/nistec/fiat.(*P521Element).Square
    00570654ldr x1, [sp+152]
    00570658ldr x2, [sp+160]
    0057065cldr x0, [sp+152]
    00570660bl crypto/internal/fips140/nistec/fiat.(*P521Element).Mul
    00570664stp xzr, xzr, [sp+32]
    00570668stp xzr, xzr, [sp+48]
    0057066cstp xzr, xzr, [sp+64]
    00570670stp xzr, xzr, [sp+80]
    00570674str xzr, [sp+96]
    00570678add x0, sp, 32
    0057067cstr x0, [sp+128]
    00570680ldr x1, [sp+160]
    00570684ldr x2, [sp+160]
    00570688bl crypto/internal/fips140/nistec/fiat.(*P521Element).Add
    0057068cstr x0, [sp+112]
    00570690ldr x2, [sp+160]
    00570694mov x1, x0
    00570698bl crypto/internal/fips140/nistec/fiat.(*P521Element).Add
    0057069cldr x1, [sp+152]
    005706a0ldr x2, [sp+112]
    005706a4ldr x0, [sp+152]
    005706a8bl crypto/internal/fips140/nistec/fiat.(*P521Element).Sub
    005706acbl crypto/internal/fips140/nistec.p521B
    005706b0str x0, [sp+128]
    005706b4ldr x2, [sp+152]
    005706b8ldr x1, [sp+152]
    005706bcmov x3, x0
    005706c0mov x0, x2
    005706c4mov x2, x3
    005706c8bl crypto/internal/fips140/nistec/fiat.(*P521Element).Add
    005706ccstr x0, [sp+120]
    005706d0str x0, [sp+104]
    005706d4ldur x29, [sp-8]
    005706d8ldr x30, [sp], 144
    005706dcret x30
    005706e0
    005706e0loc_5706e0:
    005706e0stp x0, x1, [sp+8]
    005706e4mov x3, x30
    005706e8bl runtime.morestack_noctxt.abi0
    005706ecldp x0, x1, [sp+8]
    005706f0b 0x570620
    005706f4udf 0
    005706f8udf 0
    005706fcudf 0
    00570620
    00570700
    00570700crypto/internal/fips140/nistec.p521CheckOnCurve: ; void crypto/internal/fips140/nistec.p521CheckOnCurve(crypto/internal/fips140/nistec/fiat.P521Element * x, crypto/internal/fips140/nistec/fiat.P521Element * y)
    00570700ldr x16, [x28+16]
    00570704sub x17, sp, 112
    00570708subs xzr, x17, x16
    0057070cb.ls 0x5707dc
    00570710str x30, [sp-240]!
    00570714stur x29, [sp-8]
    00570718sub x29, sp, 8
    0057071cstr x0, [sp+248]
    00570720str x1, [sp+256]
    00570724stp xzr, xzr, [sp+176]
    00570728stp xzr, xzr, [sp+96]
    0057072cstp xzr, xzr, [sp+112]
    00570730stp xzr, xzr, [sp+128]
    00570734stp xzr, xzr, [sp+144]
    00570738str xzr, [sp+160]
    0057073cadd x0, sp, 96
    00570740str x0, [sp+224]
    00570744ldr x1, [sp+248]
    00570748bl crypto/internal/fips140/nistec.p521Polynomial
    0057074cstr x0, [sp+192]
    00570750stp xzr, xzr, [sp+24]
    00570754stp xzr, xzr, [sp+40]
    00570758stp xzr, xzr, [sp+56]
    0057075cstp xzr, xzr, [sp+72]
    00570760str xzr, [sp+88]
    00570764add x0, sp, 24
    00570768str x0, [sp+224]
    0057076cldr x1, [sp+256]
    00570770bl crypto/internal/fips140/nistec/fiat.(*P521Element).Square
    00570774str x0, [sp+200]
    00570778ldr x2, [sp+192]
    0057077cmov x1, x0
    00570780mov x0, x2
    00570784bl crypto/internal/fips140/nistec/fiat.(*P521Element).Equal
    00570788str x0, [sp+168]
    0057078csubs xzr, x0, 1
    00570790b.ne 0x570798
    00570794b 0x5707c4
    00570798
    00570798loc_570798:
    00570798adrp x0, 0x148000
    0057079cadd x0, x0, 3537
    005707a0movz x1, 23
    005707a4bl errors.New
    005707a8str x0, [sp+208]
    005707acstr x1, [sp+216]
    005707b0str x0, [sp+176]
    005707b4str x1, [sp+184]
    005707b8ldur x29, [sp-8]
    005707bcldr x30, [sp], 240
    005707c0ret x30
    005707c4
    005707c4loc_5707c4:
    005707c4stp xzr, xzr, [sp+176]
    005707c8mov x0, xzr
    005707ccmov x1, xzr
    005707d0ldur x29, [sp-8]
    005707d4ldr x30, [sp], 240
    005707d8ret x30
    005707dc
    005707dcloc_5707dc:
    005707dcstp x0, x1, [sp+8]
    005707e0mov x3, x30
    005707e4bl runtime.morestack_noctxt.abi0
    005707e8ldp x0, x1, [sp+8]
    005707ecb 0x570700
    00570700
    005707f0
    005707f0crypto/internal/fips140/nistec.(*P521Point).Bytes: ; void crypto/internal/fips140/nistec.(*P521Point).Bytes(crypto/internal/fips140/nistec.P521Point * p)
    005707f0ldr x16, [x28+16]
    005707f4subs xzr, sp, x16
    005707f8b.ls 0x570870
    005707fcstr x30, [sp-96]!
    00570800stur x29, [sp-8]
    00570804sub x29, sp, 8
    00570808str x0, [sp+104]
    0057080cstr xzr, [sp+32]
    00570810stp xzr, xzr, [sp+40]
    00570814adrp x0, 0x96000
    00570818add x0, x0, 672
    0057081cbl runtime.newobject
    00570820str x0, [sp+80]
    00570824mov x20, x0
    00570828adr x27, 16
    0057082cstp x29, x27, [sp-24]
    00570830sub x29, sp, 24
    00570834bl fn_87cf0
    00570838sub x29, sp, 8
    0057083cstur xzr, [x0+125]
    00570840ldr x0, [sp+104]
    00570844ldr x1, [sp+80]
    00570848bl crypto/internal/fips140/nistec.(*P521Point).bytes
    0057084cstr x0, [sp+56]
    00570850str x1, [sp+64]
    00570854str x2, [sp+72]
    00570858str x0, [sp+32]
    0057085cstr x1, [sp+40]
    00570860str x2, [sp+48]
    00570864ldur x29, [sp-8]
    00570868ldr x30, [sp], 96
    0057086cret x30
    00570870
    00570870loc_570870:
    00570870str x0, [sp+8]
    00570874mov x3, x30
    00570878bl runtime.morestack_noctxt.abi0
    0057087cldr x0, [sp+8]
    00570880b 0x5707f0
    00570884udf 0
    00570888udf 0
    0057088cudf 0
    005707f0
    00570890
    00570890crypto/internal/fips140/nistec.(*P521Point).bytes: ; void crypto/internal/fips140/nistec.(*P521Point).bytes(crypto/internal/fips140/nistec.P521Point * p, uint8[133] * out)
    00570890ldr x16, [x28+16]
    00570894sub x17, sp, 416
    00570898subs xzr, x17, x16
    0057089cb.ls 0x570b9c
    005708a0sub x20, sp, 544
    005708a4stp x29, x30, [x20-8]
    005708a8add sp, x20, 0
    005708acsub x29, sp, 8
    005708b0str x0, [sp+552]
    005708b4str x1, [sp+560]
    005708b8str xzr, [sp+312]
    005708bcstp xzr, xzr, [sp+320]
    005708c0ldr x1, [sp+552]
    005708c4ldrsb x27, [x1]
    005708c8ldr x0, [x1+16]
    005708ccstr x0, [sp+520]
    005708d0bl crypto/internal/fips140/nistec/fiat.(*P521Element).IsZero
    005708d4str x0, [sp+56]
    005708d8subs xzr, x0, 1
    005708dcb.eq 0x5708e4
    005708e0b 0x570938
    005708e4
    005708e4loc_5708e4:
    005708e4ldr x3, [sp+560]
    005708e8ldrsb x27, [x3]
    005708ecb 0x5708f0
    005708f0
    005708f0loc_5708f0:
    005708f0b 0x5708f4
    005708f4
    005708f4loc_5708f4:
    005708f4str x3, [sp+408]
    005708f8str xzr, [sp+416]
    005708fcmovz x2, 133
    00570900str x2, [sp+424]
    00570904b 0x570908
    00570908
    00570908loc_570908:
    00570908strb wzr, [x3]
    0057090cstr x3, [sp+384]
    00570910orr x1, xzr, 1
    00570914str x1, [sp+392]
    00570918str x2, [sp+400]
    0057091cstr x3, [sp+312]
    00570920str x1, [sp+320]
    00570924str x2, [sp+328]
    00570928ldr x0, [sp+312]
    0057092cldp x29, x30, [sp-8]
    00570930add sp, sp, 544
    00570934ret x30
    00570938
    00570938loc_570938:
    00570938stp xzr, xzr, [sp+240]
    0057093cstp xzr, xzr, [sp+256]
    00570940stp xzr, xzr, [sp+272]
    00570944stp xzr, xzr, [sp+288]
    00570948str xzr, [sp+304]
    0057094cadd x2, sp, 240
    00570950str x2, [sp+528]
    00570954ldr x2, [sp+552]
    00570958ldrsb x27, [x2]
    0057095cldr x1, [x2+16]
    00570960str x1, [sp+512]
    00570964ldr x0, [sp+528]
    00570968bl crypto/internal/fips140/nistec/fiat.(*P521Element).Invert
    0057096cstr x0, [sp+336]
    00570970stp xzr, xzr, [sp+168]
    00570974stp xzr, xzr, [sp+184]
    00570978stp xzr, xzr, [sp+200]
    0057097cstp xzr, xzr, [sp+216]
    00570980str xzr, [sp+232]
    00570984add x2, sp, 168
    00570988str x2, [sp+528]
    0057098cldr x2, [sp+552]
    00570990ldrsb x27, [x2]
    00570994ldr x1, [x2]
    00570998str x1, [sp+504]
    0057099cldr x2, [sp+336]
    005709a0ldr x0, [sp+528]
    005709a4bl crypto/internal/fips140/nistec/fiat.(*P521Element).Mul
    005709a8str x0, [sp+352]
    005709acstp xzr, xzr, [sp+96]
    005709b0stp xzr, xzr, [sp+112]
    005709b4stp xzr, xzr, [sp+128]
    005709b8stp xzr, xzr, [sp+144]
    005709bcstr xzr, [sp+160]
    005709c0add x2, sp, 96
    005709c4str x2, [sp+528]
    005709c8ldr x2, [sp+552]
    005709ccldrsb x27, [x2]
    005709d0ldr x1, [x2+8]
    005709d4str x1, [sp+496]
    005709d8ldr x2, [sp+336]
    005709dcldr x0, [sp+528]
    005709e0bl crypto/internal/fips140/nistec/fiat.(*P521Element).Mul
    005709e4str x0, [sp+344]
    005709e8ldr x2, [sp+560]
    005709ecldrsb x27, [x2]
    005709f0b 0x5709f4
    005709f4
    005709f4loc_5709f4:
    005709f4b 0x5709f8
    005709f8
    005709f8loc_5709f8:
    005709f8str x2, [sp+384]
    005709fcstr xzr, [sp+392]
    00570a00movz x1, 133
    00570a04str x1, [sp+400]
    00570a08b 0x570a0c
    00570a0c
    00570a0cloc_570a0c:
    00570a0corr x3, xzr, 4
    00570a10strb w3, [x2]
    00570a14str x2, [sp+360]
    00570a18orr x2, xzr, 1
    00570a1cstr x2, [sp+368]
    00570a20str x1, [sp+376]
    00570a24ldr x0, [sp+352]
    00570a28bl crypto/internal/fips140/nistec/fiat.(*P521Element).Bytes
    00570a2cstr x0, [sp+384]
    00570a30str x1, [sp+392]
    00570a34str x2, [sp+400]
    00570a38ldr x2, [sp+376]
    00570a3cldr x0, [sp+360]
    00570a40ldr x1, [sp+368]
    00570a44str x0, [sp+472]
    00570a48str x1, [sp+480]
    00570a4cstr x2, [sp+488]
    00570a50ldr x3, [sp+392]
    00570a54add x1, x1, x3
    00570a58str x1, [sp+88]
    00570a5csubs xzr, x2, x1
    00570a60b.hs 0x570a68
    00570a64b 0x570a70
    00570a68
    00570a68loc_570a68:
    00570a68str x1, [sp+480]
    00570a6cb 0x570a90
    00570a70
    00570a70loc_570a70:
    00570a70ldr x3, [sp+392]
    00570a74adrp x4, 0x85000
    00570a78add x4, x4, 3072
    00570a7cbl runtime.growslice
    00570a80str x0, [sp+472]
    00570a84str x1, [sp+480]
    00570a88str x2, [sp+488]
    00570a8cb 0x570a90
    00570a90
    00570a90loc_570a90:
    00570a90ldr x3, [sp+392]
    00570a94str x3, [sp+80]
    00570a98ldr x3, [sp+88]
    00570a9cldr x4, [sp+392]
    00570aa0sub x3, x3, x4
    00570aa4ldr x4, [sp+472]
    00570aa8add x0, x4, x3
    00570aacstr x0, [sp+464]
    00570ab0ldr x2, [sp+80]
    00570ab4ldr x1, [sp+384]
    00570ab8bl runtime.memmove
    00570abcldr x3, [sp+472]
    00570ac0ldr x4, [sp+480]
    00570ac4ldr x5, [sp+488]
    00570ac8str x3, [sp+360]
    00570accstr x4, [sp+368]
    00570ad0str x5, [sp+376]
    00570ad4ldr x0, [sp+344]
    00570ad8bl crypto/internal/fips140/nistec/fiat.(*P521Element).Bytes
    00570adcstr x0, [sp+384]
    00570ae0str x1, [sp+392]
    00570ae4str x2, [sp+400]
    00570ae8ldr x2, [sp+376]
    00570aecldr x0, [sp+360]
    00570af0ldr x3, [sp+368]
    00570af4str x0, [sp+440]
    00570af8str x3, [sp+448]
    00570afcstr x2, [sp+456]
    00570b00ldr x4, [sp+392]
    00570b04add x1, x3, x4
    00570b08str x1, [sp+72]
    00570b0csubs xzr, x2, x1
    00570b10b.hs 0x570b18
    00570b14b 0x570b20
    00570b18
    00570b18loc_570b18:
    00570b18str x1, [sp+448]
    00570b1cb 0x570b40
    00570b20
    00570b20loc_570b20:
    00570b20ldr x3, [sp+392]
    00570b24adrp x4, 0x85000
    00570b28add x4, x4, 3072
    00570b2cbl runtime.growslice
    00570b30str x0, [sp+440]
    00570b34str x1, [sp+448]
    00570b38str x2, [sp+456]
    00570b3cb 0x570b40
    00570b40
    00570b40loc_570b40:
    00570b40ldr x3, [sp+392]
    00570b44str x3, [sp+64]
    00570b48ldr x3, [sp+72]
    00570b4cldr x4, [sp+392]
    00570b50sub x3, x3, x4
    00570b54ldr x4, [sp+440]
    00570b58add x0, x4, x3
    00570b5cstr x0, [sp+432]
    00570b60ldr x2, [sp+64]
    00570b64ldr x1, [sp+384]
    00570b68bl runtime.memmove
    00570b6cldr x0, [sp+440]
    00570b70ldr x1, [sp+448]
    00570b74ldr x2, [sp+456]
    00570b78str x0, [sp+360]
    00570b7cstr x1, [sp+368]
    00570b80str x2, [sp+376]
    00570b84str x0, [sp+312]
    00570b88str x1, [sp+320]
    00570b8cstr x2, [sp+328]
    00570b90ldp x29, x30, [sp-8]
    00570b94add sp, sp, 544
    00570b98ret x30
    00570b9c
    00570b9cloc_570b9c:
    00570b9cstp x0, x1, [sp+8]
    00570ba0mov x3, x30
    00570ba4bl runtime.morestack_noctxt.abi0
    00570ba8ldp x0, x1, [sp+8]
    00570bacb 0x570890
    00570890