File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    005759b0
    005759b0crypto/internal/fips140/ecdh.init.func1.1: ; void crypto/internal/fips140/ecdh.init.func1.1(void)
    005759b0ldr x16, [x28+16]
    005759b4sub x17, sp, 352
    005759b8subs xzr, x17, x16
    005759bcb.ls 0x576474
    005759c0sub x20, sp, 480
    005759c4stp x29, x30, [x20-8]
    005759c8add sp, x20, 0
    005759ccsub x29, sp, 8
    005759d0stp xzr, xzr, [sp+96]
    005759d4adrp x0, 0x88000
    005759d8add x0, x0, 2240
    005759dcbl runtime.newobject
    005759e0str x0, [sp+416]
    005759e4orr x1, xzr, 1
    005759e8strb w1, [x0]
    005759ecldr x1, [sp+416]
    005759f0ldrsb x27, [x1]
    005759f4orr x2, xzr, 2
    005759f8strb w2, [x1+1]
    005759fcldr x1, [sp+416]
    00575a00ldrsb x27, [x1]
    00575a04orr x3, xzr, 3
    00575a08strb w3, [x1+2]
    00575a0cldr x1, [sp+416]
    00575a10ldrsb x27, [x1]
    00575a14orr x4, xzr, 4
    00575a18strb w4, [x1+3]
    00575a1cldr x1, [sp+416]
    00575a20ldrsb x27, [x1]
    00575a24movz x5, 5
    00575a28strb w5, [x1+4]
    00575a2cldr x1, [sp+416]
    00575a30ldrsb x27, [x1]
    00575a34orr x5, xzr, 6
    00575a38strb w5, [x1+5]
    00575a3cldr x1, [sp+416]
    00575a40ldrsb x27, [x1]
    00575a44orr x6, xzr, 7
    00575a48strb w6, [x1+6]
    00575a4cldr x1, [sp+416]
    00575a50ldrsb x27, [x1]
    00575a54orr x6, xzr, 8
    00575a58strb w6, [x1+7]
    00575a5cldr x1, [sp+416]
    00575a60ldrsb x27, [x1]
    00575a64movz x6, 9
    00575a68strb w6, [x1+8]
    00575a6cldr x1, [sp+416]
    00575a70ldrsb x27, [x1]
    00575a74movz x6, 10
    00575a78strb w6, [x1+9]
    00575a7cldr x1, [sp+416]
    00575a80ldrsb x27, [x1]
    00575a84movz x7, 11
    00575a88strb w7, [x1+10]
    00575a8cldr x1, [sp+416]
    00575a90ldrsb x27, [x1]
    00575a94orr x7, xzr, 12
    00575a98strb w7, [x1+11]
    00575a9cldr x1, [sp+416]
    00575aa0ldrsb x27, [x1]
    00575aa4movz x8, 13
    00575aa8strb w8, [x1+12]
    00575aacldr x1, [sp+416]
    00575ab0ldrsb x27, [x1]
    00575ab4orr x9, xzr, 14
    00575ab8strb w9, [x1+13]
    00575abcldr x1, [sp+416]
    00575ac0ldrsb x27, [x1]
    00575ac4orr x9, xzr, 15
    00575ac8strb w9, [x1+14]
    00575accldr x1, [sp+416]
    00575ad0ldrsb x27, [x1]
    00575ad4orr x9, xzr, 16
    00575ad8strb w9, [x1+15]
    00575adcldr x1, [sp+416]
    00575ae0ldrsb x27, [x1]
    00575ae4movz x9, 17
    00575ae8strb w9, [x1+16]
    00575aecldr x1, [sp+416]
    00575af0ldrsb x27, [x1]
    00575af4movz x9, 18
    00575af8strb w9, [x1+17]
    00575afcldr x1, [sp+416]
    00575b00ldrsb x27, [x1]
    00575b04movz x9, 19
    00575b08strb w9, [x1+18]
    00575b0cldr x1, [sp+416]
    00575b10ldrsb x27, [x1]
    00575b14movz x9, 20
    00575b18strb w9, [x1+19]
    00575b1cldr x1, [sp+416]
    00575b20ldrsb x27, [x1]
    00575b24movz x9, 21
    00575b28strb w9, [x1+20]
    00575b2cldr x1, [sp+416]
    00575b30ldrsb x27, [x1]
    00575b34movz x9, 22
    00575b38strb w9, [x1+21]
    00575b3cldr x1, [sp+416]
    00575b40ldrsb x27, [x1]
    00575b44movz x9, 23
    00575b48strb w9, [x1+22]
    00575b4cldr x1, [sp+416]
    00575b50ldrsb x27, [x1]
    00575b54orr x9, xzr, 24
    00575b58strb w9, [x1+23]
    00575b5cldr x1, [sp+416]
    00575b60ldrsb x27, [x1]
    00575b64movz x10, 25
    00575b68strb w10, [x1+24]
    00575b6cldr x1, [sp+416]
    00575b70ldrsb x27, [x1]
    00575b74movz x10, 26
    00575b78strb w10, [x1+25]
    00575b7cldr x1, [sp+416]
    00575b80ldrsb x27, [x1]
    00575b84movz x11, 27
    00575b88strb w11, [x1+26]
    00575b8cldr x1, [sp+416]
    00575b90ldrsb x27, [x1]
    00575b94orr x11, xzr, 28
    00575b98strb w11, [x1+27]
    00575b9cldr x1, [sp+416]
    00575ba0ldrsb x27, [x1]
    00575ba4movz x11, 29
    00575ba8strb w11, [x1+28]
    00575bacldr x1, [sp+416]
    00575bb0ldrsb x27, [x1]
    00575bb4orr x11, xzr, 30
    00575bb8strb w11, [x1+29]
    00575bbcldr x1, [sp+416]
    00575bc0ldrsb x27, [x1]
    00575bc4orr x11, xzr, 31
    00575bc8strb w11, [x1+30]
    00575bccldr x1, [sp+416]
    00575bd0ldrsb x27, [x1]
    00575bd4orr x11, xzr, 32
    00575bd8strb w11, [x1+31]
    00575bdcldr x1, [sp+416]
    00575be0ldrsb x27, [x1]
    00575be4b 0x575be8
    00575be8
    00575be8loc_575be8:
    00575be8str x1, [sp+160]
    00575becorr x1, xzr, 32
    00575bf0str x1, [sp+168]
    00575bf4str x1, [sp+176]
    00575bf8adrp x0, 0x8c000
    00575bfcadd x0, x0, 2688
    00575c00bl runtime.newobject
    00575c04str x0, [sp+408]
    00575c08orr x1, xzr, 4
    00575c0cstrb w1, [x0]
    00575c10ldr x2, [sp+408]
    00575c14ldrsb x27, [x2]
    00575c18movz x3, 81
    00575c1cstrb w3, [x2+1]
    00575c20ldr x2, [sp+408]
    00575c24ldrsb x27, [x2]
    00575c28movz x4, 92
    00575c2cstrb w4, [x2+2]
    00575c30ldr x2, [sp+408]
    00575c34ldrsb x27, [x2]
    00575c38movz x4, 61
    00575c3cstrb w4, [x2+3]
    00575c40ldr x2, [sp+408]
    00575c44ldrsb x27, [x2]
    00575c48movz x4, 110
    00575c4cstrb w4, [x2+4]
    00575c50ldr x2, [sp+408]
    00575c54ldrsb x27, [x2]
    00575c58movn x4, 70
    00575c5cstrb w4, [x2+5]
    00575c60ldr x2, [sp+408]
    00575c64ldrsb x27, [x2]
    00575c68movn x5, 28
    00575c6cstrb w5, [x2+6]
    00575c70ldr x2, [sp+408]
    00575c74ldrsb x27, [x2]
    00575c78movn x5, 105
    00575c7cstrb w5, [x2+7]
    00575c80ldr x2, [sp+408]
    00575c84ldrsb x27, [x2]
    00575c88strb w4, [x2+8]
    00575c8cldr x2, [sp+408]
    00575c90ldrsb x27, [x2]
    00575c94strb w1, [x2+9]
    00575c98ldr x2, [sp+408]
    00575c9cldrsb x27, [x2]
    00575ca0movn x4, 44
    00575ca4strb w4, [x2+10]
    00575ca8ldr x2, [sp+408]
    00575cacldrsb x27, [x2]
    00575cb0movn x4, 1
    00575cb4strb w4, [x2+11]
    00575cb8ldr x2, [sp+408]
    00575cbcldrsb x27, [x2]
    00575cc0movn x4, 53
    00575cc4strb w4, [x2+12]
    00575cc8ldr x2, [sp+408]
    00575cccldrsb x27, [x2]
    00575cd0orr x5, xzr, 127
    00575cd4strb w5, [x2+13]
    00575cd8ldr x2, [sp+408]
    00575cdcldrsb x27, [x2]
    00575ce0movz x5, 84
    00575ce4strb w5, [x2+14]
    00575ce8ldr x2, [sp+408]
    00575cecldrsb x27, [x2]
    00575cf0movn x6, 2
    00575cf4strb w6, [x2+15]
    00575cf8ldr x2, [sp+408]
    00575cfcldrsb x27, [x2]
    00575d00movn x6, 50
    00575d04strb w6, [x2+16]
    00575d08ldr x2, [sp+408]
    00575d0cldrsb x27, [x2]
    00575d10orr x6, xzr, 12
    00575d14strb w6, [x2+17]
    00575d18ldr x2, [sp+408]
    00575d1cldrsb x27, [x2]
    00575d20movn x6, 62
    00575d24strb w6, [x2+18]
    00575d28ldr x2, [sp+408]
    00575d2cldrsb x27, [x2]
    00575d30movn x6, 22
    00575d34strb w6, [x2+19]
    00575d38ldr x2, [sp+408]
    00575d3cldrsb x27, [x2]
    00575d40movn x6, 104
    00575d44strb w6, [x2+20]
    00575d48ldr x2, [sp+408]
    00575d4cldrsb x27, [x2]
    00575d50movn x6, 64
    00575d54strb w6, [x2+21]
    00575d58ldr x2, [sp+408]
    00575d5cldrsb x27, [x2]
    00575d60movz x6, 55
    00575d64strb w6, [x2+22]
    00575d68ldr x2, [sp+408]
    00575d6cldrsb x27, [x2]
    00575d70movz x6, 93
    00575d74strb w6, [x2+23]
    00575d78ldr x2, [sp+408]
    00575d7cldrsb x27, [x2]
    00575d80strb w4, [x2+24]
    00575d84ldr x2, [sp+408]
    00575d88ldrsb x27, [x2]
    00575d8cstrb w3, [x2+25]
    00575d90ldr x2, [sp+408]
    00575d94ldrsb x27, [x2]
    00575d98movz x3, 90
    00575d9cstrb w3, [x2+26]
    00575da0ldr x2, [sp+408]
    00575da4ldrsb x27, [x2]
    00575da8movn x3, 47
    00575dacstrb w3, [x2+27]
    00575db0ldr x2, [sp+408]
    00575db4ldrsb x27, [x2]
    00575db8movn x3, 89
    00575dbcstrb w3, [x2+28]
    00575dc0ldr x2, [sp+408]
    00575dc4ldrsb x27, [x2]
    00575dc8movn x3, 60
    00575dccstrb w3, [x2+29]
    00575dd0ldr x2, [sp+408]
    00575dd4ldrsb x27, [x2]
    00575dd8movn x3, 75
    00575ddcstrb w3, [x2+30]
    00575de0ldr x2, [sp+408]
    00575de4ldrsb x27, [x2]
    00575de8orr x4, xzr, 3
    00575decstrb w4, [x2+31]
    00575df0ldr x2, [sp+408]
    00575df4ldrsb x27, [x2]
    00575df8movz x4, 95
    00575dfcstrb w4, [x2+32]
    00575e00ldr x2, [sp+408]
    00575e04ldrsb x27, [x2]
    00575e08movz x6, 69
    00575e0cstrb w6, [x2+33]
    00575e10ldr x2, [sp+408]
    00575e14ldrsb x27, [x2]
    00575e18movz x6, 54
    00575e1cstrb w6, [x2+34]
    00575e20ldr x2, [sp+408]
    00575e24ldrsb x27, [x2]
    00575e28movn x6, 65
    00575e2cstrb w6, [x2+35]
    00575e30ldr x2, [sp+408]
    00575e34ldrsb x27, [x2]
    00575e38movz x6, 58
    00575e3cstrb w6, [x2+36]
    00575e40ldr x2, [sp+408]
    00575e44ldrsb x27, [x2]
    00575e48movz x6, 80
    00575e4cstrb w6, [x2+37]
    00575e50ldr x2, [sp+408]
    00575e54ldrsb x27, [x2]
    00575e58movn x7, 12
    00575e5cstrb w7, [x2+38]
    00575e60ldr x2, [sp+408]
    00575e64ldrsb x27, [x2]
    00575e68orr x7, xzr, 24
    00575e6cstrb w7, [x2+39]
    00575e70ldr x2, [sp+408]
    00575e74ldrsb x27, [x2]
    00575e78movn x7, 4
    00575e7cstrb w7, [x2+40]
    00575e80ldr x2, [sp+408]
    00575e84ldrsb x27, [x2]
    00575e88movn x7, 6
    00575e8cstrb w7, [x2+41]
    00575e90ldr x2, [sp+408]
    00575e94ldrsb x27, [x2]
    00575e98movn x7, 90
    00575e9cstrb w7, [x2+42]
    00575ea0ldr x2, [sp+408]
    00575ea4ldrsb x27, [x2]
    00575ea8movz x7, 71
    00575eacstrb w7, [x2+43]
    00575eb0ldr x2, [sp+408]
    00575eb4ldrsb x27, [x2]
    00575eb8movz x7, 89
    00575ebcstrb w7, [x2+44]
    00575ec0ldr x2, [sp+408]
    00575ec4ldrsb x27, [x2]
    00575ec8orr x7, xzr, 2
    00575eccstrb w7, [x2+45]
    00575ed0ldr x2, [sp+408]
    00575ed4ldrsb x27, [x2]
    00575ed8movn x7, 93
    00575edcstrb w7, [x2+46]
    00575ee0ldr x2, [sp+408]
    00575ee4ldrsb x27, [x2]
    00575ee8movz x7, 33
    00575eecstrb w7, [x2+47]
    00575ef0ldr x2, [sp+408]
    00575ef4ldrsb x27, [x2]
    00575ef8strb w6, [x2+48]
    00575efcldr x2, [sp+408]
    00575f00ldrsb x27, [x2]
    00575f04movz x6, 43
    00575f08strb w6, [x2+49]
    00575f0cldr x2, [sp+408]
    00575f10ldrsb x27, [x2]
    00575f14movn x6, 16
    00575f18strb w6, [x2+50]
    00575f1cldr x2, [sp+408]
    00575f20ldrsb x27, [x2]
    00575f24movz x6, 13
    00575f28strb w6, [x2+51]
    00575f2cldr x2, [sp+408]
    00575f30ldrsb x27, [x2]
    00575f34movz x6, 87
    00575f38strb w6, [x2+52]
    00575f3cldr x2, [sp+408]
    00575f40ldrsb x27, [x2]
    00575f44movn x6, 31
    00575f48strb w6, [x2+53]
    00575f4cldr x2, [sp+408]
    00575f50ldrsb x27, [x2]
    00575f54movn x6, 115
    00575f58strb w6, [x2+54]
    00575f5cldr x2, [sp+408]
    00575f60ldrsb x27, [x2]
    00575f64movz x6, 83
    00575f68strb w6, [x2+55]
    00575f6cldr x2, [sp+408]
    00575f70ldrsb x27, [x2]
    00575f74movn x6, 77
    00575f78strb w6, [x2+56]
    00575f7cldr x2, [sp+408]
    00575f80ldrsb x27, [x2]
    00575f84movn x6, 51
    00575f88strb w6, [x2+57]
    00575f8cldr x2, [sp+408]
    00575f90ldrsb x27, [x2]
    00575f94movz x6, 10
    00575f98strb w6, [x2+58]
    00575f9cldr x2, [sp+408]
    00575fa0ldrsb x27, [x2]
    00575fa4movz x6, 86
    00575fa8strb w6, [x2+59]
    00575facldr x2, [sp+408]
    00575fb0ldrsb x27, [x2]
    00575fb4movn x7, 14
    00575fb8strb w7, [x2+60]
    00575fbcldr x2, [sp+408]
    00575fc0ldrsb x27, [x2]
    00575fc4movz x8, 125
    00575fc8strb w8, [x2+61]
    00575fccldr x2, [sp+408]
    00575fd0ldrsb x27, [x2]
    00575fd4movn x8, 96
    00575fd8strb w8, [x2+62]
    00575fdcldr x2, [sp+408]
    00575fe0ldrsb x27, [x2]
    00575fe4movn x8, 108
    00575fe8strb w8, [x2+63]
    00575fecldr x2, [sp+408]
    00575ff0ldrsb x27, [x2]
    00575ff4strb w5, [x2+64]
    00575ff8ldr x2, [sp+408]
    00575ffcldrsb x27, [x2]
    00576000b 0x576004
    00576004
    00576004loc_576004:
    00576004str x2, [sp+136]
    00576008movz x0, 65
    0057600cstr x0, [sp+144]
    00576010str x0, [sp+152]
    00576014add x27, sp, 63
    00576018stp xzr, xzr, [x27]
    0057601cadd x27, sp, 79
    00576020stp xzr, xzr, [x27]
    00576024add x0, sp, 63
    00576028str x0, [sp+400]
    0057602cldrsb x27, [x0]
    00576030strb w3, [x0]
    00576034ldr x0, [sp+400]
    00576038ldrsb x27, [x0]
    0057603cstrb w7, [x0+1]
    00576040ldr x0, [sp+400]
    00576044ldrsb x27, [x0]
    00576048movn x2, 3
    0057604cstrb w2, [x0+2]
    00576050ldr x0, [sp+400]
    00576054ldrsb x27, [x0]
    00576058movn x2, 49
    0057605cstrb w2, [x0+3]
    00576060ldr x0, [sp+400]
    00576064ldrsb x27, [x0]
    00576068orr x3, xzr, 64
    0057606cstrb w3, [x0+4]
    00576070ldr x0, [sp+400]
    00576074ldrsb x27, [x0]
    00576078movz x5, 115
    0057607cstrb w5, [x0+5]
    00576080ldr x0, [sp+400]
    00576084ldrsb x27, [x0]
    00576088strb w4, [x0+6]
    0057608cldr x0, [sp+400]
    00576090ldrsb x27, [x0]
    00576094movn x4, 124
    00576098strb w4, [x0+7]
    0057609cldr x0, [sp+400]
    005760a0ldrsb x27, [x0]
    005760a4movz x5, 106
    005760a8strb w5, [x0+8]
    005760acldr x0, [sp+400]
    005760b0ldrsb x27, [x0]
    005760b4movn x5, 7
    005760b8strb w5, [x0+9]
    005760bcldr x0, [sp+400]
    005760c0ldrsb x27, [x0]
    005760c4movn x5, 41
    005760c8strb w5, [x0+10]
    005760ccldr x0, [sp+400]
    005760d0ldrsb x27, [x0]
    005760d4movz x5, 49
    005760d8strb w5, [x0+11]
    005760dcldr x0, [sp+400]
    005760e0ldrsb x27, [x0]
    005760e4movz x5, 45
    005760e8strb w5, [x0+12]
    005760ecldr x0, [sp+400]
    005760f0ldrsb x27, [x0]
    005760f4movz x5, 36
    005760f8strb w5, [x0+13]
    005760fcldr x0, [sp+400]
    00576100ldrsb x27, [x0]
    00576104movn x5, 114
    00576108strb w5, [x0+14]
    0057610cldr x0, [sp+400]
    00576110ldrsb x27, [x0]
    00576114movz x5, 26
    00576118strb w5, [x0+15]
    0057611cldr x0, [sp+400]
    00576120ldrsb x27, [x0]
    00576124strb w4, [x0+16]
    00576128ldr x0, [sp+400]
    0057612cldrsb x27, [x0]
    00576130movz x4, 72
    00576134strb w4, [x0+17]
    00576138ldr x0, [sp+400]
    0057613cldrsb x27, [x0]
    00576140strb w3, [x0+18]
    00576144ldr x0, [sp+400]
    00576148ldrsb x27, [x0]
    0057614cstrb w6, [x0+19]
    00576150ldr x0, [sp+400]
    00576154ldrsb x27, [x0]
    00576158movz x3, 105
    0057615cstrb w3, [x0+20]
    00576160ldr x0, [sp+400]
    00576164ldrsb x27, [x0]
    00576168movn x3, 94
    0057616cstrb w3, [x0+21]
    00576170ldr x0, [sp+400]
    00576174ldrsb x27, [x0]
    00576178movn x3, 106
    0057617cstrb w3, [x0+22]
    00576180ldr x0, [sp+400]
    00576184ldrsb x27, [x0]
    00576188movn x3, 5
    0057618cstrb w3, [x0+23]
    00576190ldr x0, [sp+400]
    00576194ldrsb x27, [x0]
    00576198movn x3, 58
    0057619cstrb w3, [x0+24]
    005761a0ldr x0, [sp+400]
    005761a4ldrsb x27, [x0]
    005761a8movz x3, 53
    005761acstrb w3, [x0+25]
    005761b0ldr x0, [sp+400]
    005761b4ldrsb x27, [x0]
    005761b8strb w1, [x0+26]
    005761bcldr x0, [sp+400]
    005761c0ldrsb x27, [x0]
    005761c4orr x1, xzr, 6
    005761c8strb w1, [x0+27]
    005761ccldr x0, [sp+400]
    005761d0ldrsb x27, [x0]
    005761d4movn x1, 69
    005761d8strb w1, [x0+28]
    005761dcldr x0, [sp+400]
    005761e0ldrsb x27, [x0]
    005761e4movz x1, 118
    005761e8strb w1, [x0+29]
    005761ecldr x0, [sp+400]
    005761f0ldrsb x27, [x0]
    005761f4movn x1, 67
    005761f8strb w1, [x0+30]
    005761fcldr x0, [sp+400]
    00576200ldrsb x27, [x0]
    00576204strb w2, [x0+31]
    00576208ldr x0, [sp+400]
    0057620cldrsb x27, [x0]
    00576210b 0x576214
    00576214
    00576214loc_576214:
    00576214str x0, [sp+112]
    00576218orr x0, xzr, 32
    0057621cstr x0, [sp+120]
    00576220str x0, [sp+128]
    00576224stp xzr, xzr, [sp+328]
    00576228stp xzr, xzr, [sp+344]
    0057622cstp xzr, xzr, [sp+360]
    00576230stp xzr, xzr, [sp+376]
    00576234add x0, sp, 328
    00576238str x0, [sp+392]
    0057623cldrsb x27, [x0]
    00576240ldr x1, [sp+160]
    00576244ldr x2, [sp+168]
    00576248ldr x3, [sp+176]
    0057624cstr x2, [x0+48]
    00576250str x3, [x0+56]
    00576254adrp x27, 0x4d5000
    00576258ldr w2, [x27+3056]
    0057625ccbz w2, 0x576264
    00576260b 0x576268
    00576264
    00576264loc_576264:
    00576264b 0x57627c
    00576268
    00576268loc_576268:
    00576268bl runtime.gcWriteBarrier2
    0057626cstr x1, [x25]
    00576270ldr x2, [x0+40]
    00576274str x2, [x25+8]
    00576278b 0x57627c
    0057627c
    0057627cloc_57627c:
    0057627cstr x1, [x0+40]
    00576280ldrsb x27, [x0]
    00576284movz x1, 5
    00576288str x1, [x0+8]
    0057628cadrp x27, 0x4d5000
    00576290ldr w2, [x27+3056]
    00576294cbz w2, 0x57629c
    00576298b 0x5762a0
    0057629c
    0057629cloc_57629c:
    0057629cb 0x5762b0
    005762a0
    005762a0loc_5762a0:
    005762a0ldr x2, [x0]
    005762a4bl runtime.gcWriteBarrier1
    005762a8str x2, [x25]
    005762acb 0x5762b0
    005762b0
    005762b0loc_5762b0:
    005762b0adrp x2, 0x13a000
    005762b4add x2, x2, 2167
    005762b8str x2, [x0]
    005762bcldr x0, [sp+392]
    005762c0str x0, [sp+192]
    005762c4stp xzr, xzr, [sp+280]
    005762c8stp xzr, xzr, [sp+296]
    005762ccstr xzr, [sp+312]
    005762d0add x0, sp, 280
    005762d4str x0, [sp+320]
    005762d8ldrsb x27, [x0]
    005762dcstr x1, [x0+8]
    005762e0adrp x27, 0x4d5000
    005762e4ldr w1, [x27+3056]
    005762e8cbz w1, 0x5762f0
    005762ecb 0x5762f4
    005762f0
    005762f0loc_5762f0:
    005762f0b 0x576304
    005762f4
    005762f4loc_5762f4:
    005762f4ldr x1, [x0]
    005762f8bl runtime.gcWriteBarrier1
    005762fcstr x1, [x25]
    00576300b 0x576304
    00576304
    00576304loc_576304:
    00576304adrp x1, 0x13a000
    00576308add x1, x1, 2167
    0057630cstr x1, [x0]
    00576310ldrsb x27, [x0]
    00576314ldr x1, [sp+136]
    00576318ldr x2, [sp+144]
    0057631cldr x3, [sp+152]
    00576320str x2, [x0+24]
    00576324str x3, [x0+32]
    00576328adrp x27, 0x4d5000
    0057632cldr w2, [x27+3056]
    00576330cbz w2, 0x576338
    00576334b 0x57633c
    00576338
    00576338loc_576338:
    00576338b 0x576350
    0057633c
    0057633cloc_57633c:
    0057633cbl runtime.gcWriteBarrier2
    00576340str x1, [x25]
    00576344ldr x2, [x0+16]
    00576348str x2, [x25+8]
    0057634cb 0x576350
    00576350
    00576350loc_576350:
    00576350str x1, [x0+16]
    00576354ldr x0, [sp+320]
    00576358str x0, [sp+184]
    0057635cbl crypto/internal/fips140/ecdh.P256
    00576360str x0, [sp+464]
    00576364stp xzr, xzr, [sp+440]
    00576368str xzr, [sp+456]
    0057636cstp xzr, xzr, [sp+424]
    00576370ldr x3, [sp+184]
    00576374ldr x2, [sp+192]
    00576378ldr x1, [sp+464]
    0057637cadrp x0, 0x1a1000
    00576380add x0, x0, 3168
    00576384bl crypto/internal/fips140/ecdh.ecdh[go.shape.*crypto/internal/fips140/nistec.P256Point]
    00576388str x0, [sp+440]
    0057638cstr x1, [sp+448]
    00576390str x2, [sp+456]
    00576394str x3, [sp+424]
    00576398str x4, [sp+432]
    0057639cldr x0, [sp+440]
    005763a0ldr x1, [sp+448]
    005763a4ldr x2, [sp+456]
    005763a8str x0, [sp+256]
    005763acstr x1, [sp+264]
    005763b0str x2, [sp+272]
    005763b4ldr x0, [sp+424]
    005763b8ldr x1, [sp+432]
    005763bcstr x0, [sp+240]
    005763c0str x1, [sp+248]
    005763c4ldr x0, [sp+256]
    005763c8ldr x1, [sp+264]
    005763ccldr x2, [sp+272]
    005763d0str x0, [sp+200]
    005763d4str x1, [sp+208]
    005763d8str x2, [sp+216]
    005763dcldr x1, [sp+248]
    005763e0ldr x0, [sp+240]
    005763e4str x0, [sp+224]
    005763e8str x1, [sp+232]
    005763eccbnz x0, 0x5763f4
    005763f0b 0x576408
    005763f4
    005763f4loc_5763f4:
    005763f4str x0, [sp+96]
    005763f8str x1, [sp+104]
    005763fcldp x29, x30, [sp-8]
    00576400add sp, sp, 480
    00576404ret x30
    00576408
    00576408loc_576408:
    00576408ldr x3, [sp+112]
    0057640cldr x0, [sp+200]
    00576410ldr x4, [sp+120]
    00576414ldr x1, [sp+208]
    00576418ldr x5, [sp+128]
    0057641cldr x2, [sp+216]
    00576420bl bytes.Equal
    00576424strb w0, [sp+95]
    00576428tbnz w0, 0, 0x576430
    0057642cb 0x576448
    00576430
    00576430loc_576430:
    00576430stp xzr, xzr, [sp+96]
    00576434mov x0, xzr
    00576438mov x1, xzr
    0057643cldp x29, x30, [sp-8]
    00576440add sp, sp, 480
    00576444ret x30
    00576448
    00576448loc_576448:
    00576448adrp x0, 0x13f000
    0057644cadd x0, x0, 1543
    00576450movz x1, 17
    00576454bl errors.New
    00576458str x0, [sp+424]
    0057645cstr x1, [sp+432]
    00576460str x0, [sp+96]
    00576464str x1, [sp+104]
    00576468ldp x29, x30, [sp-8]
    0057646cadd sp, sp, 480
    00576470ret x30
    00576474
    00576474loc_576474:
    00576474mov x3, x30
    00576478bl runtime.morestack_noctxt.abi0
    0057647cb 0x5759b0
    005759b0
    00576480
    00576480crypto/internal/fips140/ecdh.(*PrivateKey).Bytes: ; void crypto/internal/fips140/ecdh.(*PrivateKey).Bytes(crypto/internal/fips140/ecdh.PrivateKey * priv)
    00576480str x30, [sp-48]!
    00576484stur x29, [sp-8]
    00576488sub x29, sp, 8
    0057648cstr x0, [sp+56]
    00576490str xzr, [sp+16]
    00576494stp xzr, xzr, [sp+24]
    00576498ldr x3, [sp+56]
    0057649cldrsb x27, [x3]
    005764a0ldr x0, [x3+40]
    005764a4ldr x1, [x3+48]
    005764a8ldr x2, [x3+56]
    005764acstr x0, [sp+16]
    005764b0str x1, [sp+24]
    005764b4str x2, [sp+32]
    005764b8add x29, sp, 40
    005764bcadd sp, sp, 48
    005764c0ret x30
    005764c4udf 0
    005764c8udf 0
    005764ccudf 0
    00576480
    005764d0
    005764d0crypto/internal/fips140/ecdh.(*PrivateKey).PublicKey: ; void crypto/internal/fips140/ecdh.(*PrivateKey).PublicKey(crypto/internal/fips140/ecdh.PrivateKey * priv)
    005764d0str x30, [sp-32]!
    005764d4stur x29, [sp-8]
    005764d8sub x29, sp, 8
    005764dcstr x0, [sp+40]
    005764e0str xzr, [sp+16]
    005764e4ldr x0, [sp+40]
    005764e8ldrsb x27, [x0]
    005764ecstr x0, [sp+16]
    005764f0add x29, sp, 24
    005764f4add sp, sp, 32
    005764f8ret x30
    005764fcudf 0
    005764d0
    00576500
    00576500crypto/internal/fips140/ecdh.(*PublicKey).Bytes: ; void crypto/internal/fips140/ecdh.(*PublicKey).Bytes(crypto/internal/fips140/ecdh.PublicKey * pub)
    00576500str x30, [sp-48]!
    00576504stur x29, [sp-8]
    00576508sub x29, sp, 8
    0057650cstr x0, [sp+56]
    00576510str xzr, [sp+16]
    00576514stp xzr, xzr, [sp+24]
    00576518ldr x3, [sp+56]
    0057651cldrsb x27, [x3]
    00576520ldr x0, [x3+16]
    00576524ldr x1, [x3+24]
    00576528ldr x2, [x3+32]
    0057652cstr x0, [sp+16]
    00576530str x1, [sp+24]
    00576534str x2, [sp+32]
    00576538add x29, sp, 40
    0057653cadd sp, sp, 48
    00576540ret x30
    00576544udf 0
    00576548udf 0
    0057654cudf 0
    00576500
    00576550
    00576550crypto/internal/fips140/ecdh.P256: ; void crypto/internal/fips140/ecdh.P256(void)
    00576550ldr x16, [x28+16]
    00576554subs xzr, sp, x16
    00576558b.ls 0x576654
    0057655cstr x30, [sp-64]!
    00576560stur x29, [sp-8]
    00576564sub x29, sp, 8
    00576568str xzr, [sp+40]
    0057656cadrp x0, 0xe5000
    00576570add x0, x0, 1472
    00576574bl runtime.newobject
    00576578str x0, [sp+48]
    0057657cmovz x1, 5
    00576580str x1, [x0+8]
    00576584adrp x27, 0x4d5000
    00576588ldr w1, [x27+3056]
    0057658ccbz w1, 0x576594
    00576590b 0x576598
    00576594
    00576594loc_576594:
    00576594b 0x5765a8
    00576598
    00576598loc_576598:
    00576598ldr x1, [x0]
    0057659cbl runtime.gcWriteBarrier1
    005765a0str x1, [x25]
    005765a4b 0x5765a8
    005765a8
    005765a8loc_5765a8:
    005765a8adrp x1, 0x13a000
    005765acadd x1, x1, 2167
    005765b0str x1, [x0]
    005765b4ldr x1, [sp+48]
    005765b8ldrsb x27, [x1]
    005765bcadrp x27, 0x4d5000
    005765c0ldr w2, [x27+3056]
    005765c4cbz w2, 0x5765cc
    005765c8b 0x5765d0
    005765cc
    005765ccloc_5765cc:
    005765ccb 0x5765e0
    005765d0
    005765d0loc_5765d0:
    005765d0ldr x2, [x1+16]
    005765d4bl runtime.gcWriteBarrier1
    005765d8str x2, [x25]
    005765dcb 0x5765e0
    005765e0
    005765e0loc_5765e0:
    005765e0adrp x2, 0x163000
    005765e4add x2, x2, 864
    005765e8str x2, [x1+16]
    005765ecldr x1, [sp+48]
    005765f0ldrsb x27, [x1]
    005765f4adrp x27, 0x4ad000
    005765f8ldr x2, [x27+672]
    005765fcadrp x27, 0x4ad000
    00576600ldr x3, [x27+680]
    00576604adrp x27, 0x4ad000
    00576608ldr x4, [x27+688]
    0057660cstr x3, [x1+32]
    00576610str x4, [x1+40]
    00576614adrp x27, 0x4d5000
    00576618ldr w3, [x27+3056]
    0057661ccbz w3, 0x576624
    00576620b 0x576628
    00576624
    00576624loc_576624:
    00576624b 0x57663c
    00576628
    00576628loc_576628:
    00576628bl runtime.gcWriteBarrier2
    0057662cstr x2, [x25]
    00576630ldr x3, [x1+24]
    00576634str x3, [x25+8]
    00576638b 0x57663c
    0057663c
    0057663cloc_57663c:
    0057663cstr x2, [x1+24]
    00576640ldr x0, [sp+48]
    00576644str x0, [sp+40]
    00576648ldur x29, [sp-8]
    0057664cldr x30, [sp], 64
    00576650ret x30
    00576654
    00576654loc_576654:
    00576654mov x3, x30
    00576658bl runtime.morestack_noctxt.abi0
    0057665cb 0x576550
    00576550
    00576660
    00576660crypto/internal/fips140/ecdh.P384: ; void crypto/internal/fips140/ecdh.P384(void)
    00576660ldr x16, [x28+16]
    00576664subs xzr, sp, x16
    00576668b.ls 0x576764
    0057666cstr x30, [sp-64]!
    00576670stur x29, [sp-8]
    00576674sub x29, sp, 8
    00576678str xzr, [sp+40]
    0057667cadrp x0, 0xe5000
    00576680add x0, x0, 1664
    00576684bl runtime.newobject
    00576688str x0, [sp+48]
    0057668cmovz x1, 5
    00576690str x1, [x0+8]
    00576694adrp x27, 0x4d5000
    00576698ldr w1, [x27+3056]
    0057669ccbz w1, 0x5766a4
    005766a0b 0x5766a8
    005766a4
    005766a4loc_5766a4:
    005766a4b 0x5766b8
    005766a8
    005766a8loc_5766a8:
    005766a8ldr x1, [x0]
    005766acbl runtime.gcWriteBarrier1
    005766b0str x1, [x25]
    005766b4b 0x5766b8
    005766b8
    005766b8loc_5766b8:
    005766b8adrp x1, 0x13a000
    005766bcadd x1, x1, 2172
    005766c0str x1, [x0]
    005766c4ldr x1, [sp+48]
    005766c8ldrsb x27, [x1]
    005766ccadrp x27, 0x4d5000
    005766d0ldr w2, [x27+3056]
    005766d4cbz w2, 0x5766dc
    005766d8b 0x5766e0
    005766dc
    005766dcloc_5766dc:
    005766dcb 0x5766f0
    005766e0
    005766e0loc_5766e0:
    005766e0ldr x2, [x1+16]
    005766e4bl runtime.gcWriteBarrier1
    005766e8str x2, [x25]
    005766ecb 0x5766f0
    005766f0
    005766f0loc_5766f0:
    005766f0adrp x2, 0x163000
    005766f4add x2, x2, 872
    005766f8str x2, [x1+16]
    005766fcldr x1, [sp+48]
    00576700ldrsb x27, [x1]
    00576704adrp x27, 0x4ad000
    00576708ldr x2, [x27+704]
    0057670cadrp x27, 0x4ad000
    00576710ldr x3, [x27+712]
    00576714adrp x27, 0x4ad000
    00576718ldr x4, [x27+720]
    0057671cstr x3, [x1+32]
    00576720str x4, [x1+40]
    00576724adrp x27, 0x4d5000
    00576728ldr w3, [x27+3056]
    0057672ccbz w3, 0x576734
    00576730b 0x576738
    00576734
    00576734loc_576734:
    00576734b 0x57674c
    00576738
    00576738loc_576738:
    00576738bl runtime.gcWriteBarrier2
    0057673cstr x2, [x25]
    00576740ldr x3, [x1+24]
    00576744str x3, [x25+8]
    00576748b 0x57674c
    0057674c
    0057674cloc_57674c:
    0057674cstr x2, [x1+24]
    00576750ldr x0, [sp+48]
    00576754str x0, [sp+40]
    00576758ldur x29, [sp-8]
    0057675cldr x30, [sp], 64
    00576760ret x30
    00576764
    00576764loc_576764:
    00576764mov x3, x30
    00576768bl runtime.morestack_noctxt.abi0
    0057676cb 0x576660
    00576660
    00576770
    00576770crypto/internal/fips140/ecdh.P521: ; void crypto/internal/fips140/ecdh.P521(void)
    00576770ldr x16, [x28+16]
    00576774subs xzr, sp, x16
    00576778b.ls 0x576874
    0057677cstr x30, [sp-64]!
    00576780stur x29, [sp-8]
    00576784sub x29, sp, 8
    00576788str xzr, [sp+40]
    0057678cadrp x0, 0xe5000
    00576790add x0, x0, 1856
    00576794bl runtime.newobject
    00576798str x0, [sp+48]
    0057679cmovz x1, 5
    005767a0str x1, [x0+8]
    005767a4adrp x27, 0x4d5000
    005767a8ldr w1, [x27+3056]
    005767accbz w1, 0x5767b4
    005767b0b 0x5767b8
    005767b4
    005767b4loc_5767b4:
    005767b4b 0x5767c8
    005767b8
    005767b8loc_5767b8:
    005767b8ldr x1, [x0]
    005767bcbl runtime.gcWriteBarrier1
    005767c0str x1, [x25]
    005767c4b 0x5767c8
    005767c8
    005767c8loc_5767c8:
    005767c8adrp x1, 0x13a000
    005767ccadd x1, x1, 2177
    005767d0str x1, [x0]
    005767d4ldr x1, [sp+48]
    005767d8ldrsb x27, [x1]
    005767dcadrp x27, 0x4d5000
    005767e0ldr w2, [x27+3056]
    005767e4cbz w2, 0x5767ec
    005767e8b 0x5767f0
    005767ec
    005767ecloc_5767ec:
    005767ecb 0x576800
    005767f0
    005767f0loc_5767f0:
    005767f0ldr x2, [x1+16]
    005767f4bl runtime.gcWriteBarrier1
    005767f8str x2, [x25]
    005767fcb 0x576800
    00576800
    00576800loc_576800:
    00576800adrp x2, 0x163000
    00576804add x2, x2, 880
    00576808str x2, [x1+16]
    0057680cldr x1, [sp+48]
    00576810ldrsb x27, [x1]
    00576814adrp x27, 0x4ad000
    00576818ldr x2, [x27+736]
    0057681cadrp x27, 0x4ad000
    00576820ldr x3, [x27+744]
    00576824adrp x27, 0x4ad000
    00576828ldr x4, [x27+752]
    0057682cstr x3, [x1+32]
    00576830str x4, [x1+40]
    00576834adrp x27, 0x4d5000
    00576838ldr w3, [x27+3056]
    0057683ccbz w3, 0x576844
    00576840b 0x576848
    00576844
    00576844loc_576844:
    00576844b 0x57685c
    00576848
    00576848loc_576848:
    00576848bl runtime.gcWriteBarrier2
    0057684cstr x2, [x25]
    00576850ldr x3, [x1+24]
    00576854str x3, [x25+8]
    00576858b 0x57685c
    0057685c
    0057685cloc_57685c:
    0057685cstr x2, [x1+24]
    00576860ldr x0, [sp+48]
    00576864str x0, [sp+40]
    00576868ldur x29, [sp-8]
    0057686cldr x30, [sp], 64
    00576870ret x30
    00576874
    00576874loc_576874:
    00576874mov x3, x30
    00576878bl runtime.morestack_noctxt.abi0
    0057687cb 0x576770
    00576770
    00576880
    00576880crypto/internal/fips140/ecdh.isZero: ; void crypto/internal/fips140/ecdh.isZero(struct []uint8 x)
    00576880str x30, [sp-64]!
    00576884stur x29, [sp-8]
    00576888sub x29, sp, 8
    0057688cstr x0, [sp+72]
    00576890str x1, [sp+80]
    00576894str x2, [sp+88]
    00576898strb wzr, [sp+13]
    0057689cstrb wzr, [sp+15]
    005768a0ldr x1, [sp+80]
    005768a4ldr x2, [sp+72]
    005768a8ldr x3, [sp+88]
    005768acstr x2, [sp+32]
    005768b0str x1, [sp+40]
    005768b4str x3, [sp+48]
    005768b8str xzr, [sp+24]
    005768bcstr x1, [sp+16]
    005768c0b 0x5768c4
    005768c4
    005768c4loc_5768c4:
    005768c4ldr x1, [sp+16]
    005768c8ldr x2, [sp+24]
    005768ccsubs xzr, x1, x2
    005768d0b.gt 0x5768d8
    005768d4b 0x576908
    005768d8
    005768d8loc_5768d8:
    005768d8ldr x1, [sp+24]
    005768dcldr x2, [sp+32]
    005768e0ldrb w1, [x2+x1]
    005768e4strb w1, [sp+14]
    005768e8ldrb w2, [sp+15]
    005768ecorr x1, x2, x1
    005768f0strb w1, [sp+15]
    005768f4b 0x5768f8
    005768f8
    005768f8loc_5768f8:
    005768f8ldr x1, [sp+24]
    005768fcadd x1, x1, 1
    00576900str x1, [sp+24]
    00576904b 0x5768c4
    00576908
    00576908loc_576908:
    00576908ldrb w1, [sp+15]
    0057690csubs wzr, w1, 0
    00576910cset x0, eq
    00576914strb w0, [sp+13]
    00576918add x29, sp, 56
    0057691cadd sp, sp, 64
    00576920ret x30
    00576924udf 0
    00576928udf 0
    0057692cudf 0
    00576880
    00576930
    00576930crypto/internal/fips140/ecdh.isLess: ; void crypto/internal/fips140/ecdh.isLess(struct []uint8 a, struct []uint8 b)
    00576930ldr x16, [x28+16]
    00576934sub x17, sp, 304
    00576938subs xzr, x17, x16
    0057693cb.ls 0x576c9c
    00576940sub x20, sp, 432
    00576944stp x29, x30, [x20-8]
    00576948add sp, x20, 0
    0057694csub x29, sp, 8
    00576950str x0, [sp+440]
    00576954str x1, [sp+448]
    00576958str x2, [sp+456]
    0057695cstr x3, [sp+464]
    00576960str x4, [sp+472]
    00576964str x5, [sp+480]
    00576968strb wzr, [sp+46]
    0057696cldr x3, [sp+448]
    00576970str x3, [sp+272]
    00576974str x4, [sp+264]
    00576978subs xzr, x4, x3
    0057697cb.ne 0x576c6c
    00576980b 0x576984
    00576984
    00576984loc_576984:
    00576984ldr x3, [sp+448]
    00576988str x3, [sp+264]
    0057698csubs xzr, x3, 72
    00576990b.gt 0x576c40
    00576994b 0x576998
    00576998
    00576998loc_576998:
    00576998b 0x57699c
    0057699c
    0057699cloc_57699c:
    0057699cstp xzr, xzr, [sp+120]
    005769a0stp xzr, xzr, [sp+136]
    005769a4stp xzr, xzr, [sp+152]
    005769a8stp xzr, xzr, [sp+168]
    005769acstr xzr, [sp+184]
    005769b0add x3, sp, 120
    005769b4ldrsb x27, [x3]
    005769b8b 0x5769bc
    005769bc
    005769bcloc_5769bc:
    005769bcstr x3, [sp+384]
    005769c0movz x3, 72
    005769c4str x3, [sp+392]
    005769c8str x3, [sp+400]
    005769ccb 0x5769d0
    005769d0
    005769d0loc_5769d0:
    005769d0stp xzr, xzr, [sp+48]
    005769d4stp xzr, xzr, [sp+64]
    005769d8stp xzr, xzr, [sp+80]
    005769dcstp xzr, xzr, [sp+96]
    005769e0str xzr, [sp+112]
    005769e4add x4, sp, 48
    005769e8ldrsb x27, [x4]
    005769ecb 0x5769f0
    005769f0
    005769f0loc_5769f0:
    005769f0str x4, [sp+360]
    005769f4str x3, [sp+368]
    005769f8str x3, [sp+376]
    005769fcldr x3, [sp+384]
    00576a00ldr x4, [sp+392]
    00576a04ldr x5, [sp+400]
    00576a08str x3, [sp+320]
    00576a0cstr x4, [sp+328]
    00576a10str x5, [sp+336]
    00576a14ldr x3, [sp+360]
    00576a18ldr x4, [sp+368]
    00576a1cldr x5, [sp+376]
    00576a20str x3, [sp+296]
    00576a24str x4, [sp+304]
    00576a28str x5, [sp+312]
    00576a2cstr xzr, [sp+240]
    00576a30ldr x3, [sp+448]
    00576a34str x3, [sp+232]
    00576a38b 0x576a3c
    00576a3c
    00576a3cloc_576a3c:
    00576a3cldr x3, [sp+232]
    00576a40ldr x4, [sp+240]
    00576a44subs xzr, x3, x4
    00576a48b.gt 0x576a50
    00576a4cb 0x576b04
    00576a50
    00576a50loc_576a50:
    00576a50ldr x3, [sp+240]
    00576a54str x3, [sp+216]
    00576a58ldr x4, [sp+448]
    00576a5cstr x4, [sp+264]
    00576a60ldr x4, [sp+472]
    00576a64str x4, [sp+272]
    00576a68ldr x1, [sp+472]
    00576a6cldr x5, [sp+464]
    00576a70sub x3, x4, x3
    00576a74sub x0, x3, 1
    00576a78subs xzr, x1, x0
    00576a7cb.hi 0x576a84
    00576a80b 0x576c3c
    00576a84
    00576a84loc_576a84:
    00576a84ldrb w3, [x5+x0]
    00576a88strb w3, [sp+47]
    00576a8cldr x1, [sp+448]
    00576a90ldr x3, [sp+440]
    00576a94ldr x4, [sp+264]
    00576a98ldr x5, [sp+216]
    00576a9csub x4, x4, x5
    00576aa0sub x0, x4, 1
    00576aa4subs xzr, x1, x0
    00576aa8b.hi 0x576ab0
    00576aacb 0x576c38
    00576ab0
    00576ab0loc_576ab0:
    00576ab0ldr x4, [sp+216]
    00576ab4ldr x1, [sp+328]
    00576ab8ldr x5, [sp+320]
    00576abcldrb w3, [x3+x0]
    00576ac0subs xzr, x4, x1
    00576ac4b.lo 0x576acc
    00576ac8b 0x576c30
    00576acc
    00576accloc_576acc:
    00576accstrb w3, [x5+x4]
    00576ad0ldr x0, [sp+216]
    00576ad4ldr x1, [sp+304]
    00576ad8ldr x3, [sp+296]
    00576adcldrb w4, [sp+47]
    00576ae0subs xzr, x0, x1
    00576ae4b.lo 0x576aec
    00576ae8b 0x576c2c
    00576aec
    00576aecloc_576aec:
    00576aecstrb w4, [x3+x0]
    00576af0b 0x576af4
    00576af4
    00576af4loc_576af4:
    00576af4ldr x3, [sp+240]
    00576af8add x3, x3, 1
    00576afcstr x3, [sp+240]
    00576b00b 0x576a3c
    00576b04
    00576b04loc_576b04:
    00576b04str xzr, [sp+224]
    00576b08str xzr, [sp+208]
    00576b0cb 0x576b10
    00576b10
    00576b10loc_576b10:
    00576b10ldr x3, [sp+328]
    00576b14str x3, [sp+272]
    00576b18ldr x4, [sp+208]
    00576b1csubs xzr, x4, x3
    00576b20b.lt 0x576b28
    00576b24b 0x576c08
    00576b28
    00576b28loc_576b28:
    00576b28ldr x0, [sp+208]
    00576b2cldr x1, [sp+328]
    00576b30ldr x3, [sp+320]
    00576b34ldr x4, [sp+336]
    00576b38b 0x576b3c
    00576b3c
    00576b3cloc_576b3c:
    00576b3csubs xzr, x1, x0
    00576b40b.hs 0x576b48
    00576b44b 0x576c28
    00576b48
    00576b48loc_576b48:
    00576b48sub x2, x4, x0
    00576b4csub x1, x1, x0
    00576b50sub x4, xzr, x2
    00576b54and x4, x0, x4, asr #63
    00576b58add x0, x3, x4
    00576b5cstr x0, [sp+360]
    00576b60str x1, [sp+368]
    00576b64str x2, [sp+376]
    00576b68bl crypto/internal/fips140deps/byteorder.LEUint64
    00576b6cstr x0, [sp+256]
    00576b70ldr x0, [sp+208]
    00576b74ldr x1, [sp+304]
    00576b78ldr x3, [sp+296]
    00576b7cldr x4, [sp+312]
    00576b80b 0x576b84
    00576b84
    00576b84loc_576b84:
    00576b84subs xzr, x1, x0
    00576b88b.hs 0x576b90
    00576b8cb 0x576c24
    00576b90
    00576b90loc_576b90:
    00576b90sub x2, x4, x0
    00576b94sub x1, x1, x0
    00576b98sub x4, xzr, x2
    00576b9cand x4, x0, x4, asr #63
    00576ba0add x0, x3, x4
    00576ba4str x0, [sp+384]
    00576ba8str x1, [sp+392]
    00576bacstr x2, [sp+400]
    00576bb0bl crypto/internal/fips140deps/byteorder.LEUint64
    00576bb4str x0, [sp+248]
    00576bb8ldr x3, [sp+256]
    00576bbcstr x3, [sp+200]
    00576bc0str x0, [sp+192]
    00576bc4ldr x4, [sp+224]
    00576bc8subs x5, xzr, x4
    00576bccsbcs x5, x3, x0
    00576bd0str x5, [sp+248]
    00576bd4subs x4, xzr, x4
    00576bd8sbcs x3, x3, x0
    00576bdcsbc x3, xzr, xzr
    00576be0sub x3, xzr, x3
    00576be4str x3, [sp+256]
    00576be8str x5, [sp+288]
    00576becstr x3, [sp+280]
    00576bf0str x3, [sp+224]
    00576bf4b 0x576bf8
    00576bf8
    00576bf8loc_576bf8:
    00576bf8ldr x3, [sp+208]
    00576bfcadd x3, x3, 8
    00576c00str x3, [sp+208]
    00576c04b 0x576b10
    00576c08
    00576c08loc_576c08:
    00576c08ldr x1, [sp+224]
    00576c0csubs xzr, x1, 1
    00576c10cset x0, eq
    00576c14strb w0, [sp+46]
    00576c18ldp x29, x30, [sp-8]
    00576c1cadd sp, sp, 432
    00576c20ret x30
    00576c24
    00576c24loc_576c24:
    00576c24bl runtime.panicSliceB
    00576c28
    00576c28loc_576c28:
    00576c28bl runtime.panicSliceB
    00576c2c
    00576c2cloc_576c2c:
    00576c2cbl runtime.panicIndex
    00576c30
    00576c30loc_576c30:
    00576c30mov x0, x4
    00576c34bl runtime.panicIndex
    00576c38
    00576c38loc_576c38:
    00576c38bl runtime.panicIndex
    00576c3c
    00576c3cloc_576c3c:
    00576c3cbl runtime.panicIndex
    00576c40
    00576c40loc_576c40:
    00576c40adrp x0, 0x153000
    00576c44add x0, x0, 3382
    00576c48str x0, [sp+408]
    00576c4cmovz x1, 51
    00576c50str x1, [sp+416]
    00576c54bl runtime.convTstring
    00576c58str x0, [sp+344]
    00576c5cmov x1, x0
    00576c60adrp x0, 0x7f000
    00576c64add x0, x0, 2944
    00576c68bl runtime.gopanic
    00576c6c
    00576c6cloc_576c6c:
    00576c6cadrp x0, 0x154000
    00576c70add x0, x0, 1642
    00576c74str x0, [sp+408]
    00576c78movz x1, 53
    00576c7cstr x1, [sp+416]
    00576c80bl runtime.convTstring
    00576c84str x0, [sp+352]
    00576c88mov x1, x0
    00576c8cadrp x0, 0x7f000
    00576c90add x0, x0, 2944
    00576c94bl runtime.gopanic
    00576c98hint
    00576c9c
    00576c9cloc_576c9c:
    00576c9cstp x0, x1, [sp+8]
    00576ca0stp x2, x3, [sp+24]
    00576ca4stp x4, x5, [sp+40]
    00576ca8mov x3, x30
    00576cacbl runtime.morestack_noctxt.abi0
    00576cb0ldp x0, x1, [sp+8]
    00576cb4ldp x2, x3, [sp+24]
    00576cb8ldp x4, x5, [sp+40]
    00576cbcb 0x576930
    00576930
    00576cc0
    00576cc0crypto/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[5] * 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)
    00576cc0ldr x16, [x28+16]
    00576cc4sub x17, sp, 272
    00576cc8subs xzr, x17, x16
    00576cccb.ls 0x5770c0
    00576cd0sub x20, sp, 400
    00576cd4stp x29, x30, [x20-8]
    00576cd8add sp, x20, 0
    00576cdcsub x29, sp, 8
    00576ce0str x0, [sp+408]
    00576ce4str x1, [sp+416]
    00576ce8str x2, [sp+424]
    00576cecstr x3, [sp+432]
    00576cf0str xzr, [sp+72]
    00576cf4stp xzr, xzr, [sp+80]
    00576cf8stp xzr, xzr, [sp+56]
    00576cfcldr x3, [sp+416]
    00576d00ldrsb x27, [x3]
    00576d04ldr x4, [x3]
    00576d08ldr x3, [x3+8]
    00576d0cstr x4, [sp+256]
    00576d10str x3, [sp+264]
    00576d14ldr x3, [sp+424]
    00576d18ldrsb x27, [x3]
    00576d1cldr x1, [x3]
    00576d20ldr x3, [x3+8]
    00576d24str x1, [sp+240]
    00576d28str x3, [sp+248]
    00576d2cldr x4, [sp+264]
    00576d30subs xzr, x4, x3
    00576d34b.ne 0x576d3c
    00576d38b 0x576d40
    00576d3c
    00576d3cloc_576d3c:
    00576d3cb 0x577078
    00576d40
    00576d40loc_576d40:
    00576d40ldr x2, [sp+264]
    00576d44ldr x0, [sp+256]
    00576d48bl runtime.memequal
    00576d4ctbnz w0, 0, 0x576d54
    00576d50b 0x577074
    00576d54
    00576d54loc_576d54:
    00576d54ldr x3, [sp+424]
    00576d58ldrsb x27, [x3]
    00576d5cldr x4, [x3]
    00576d60ldr x3, [x3+8]
    00576d64str x4, [sp+224]
    00576d68str x3, [sp+232]
    00576d6cldr x3, [sp+432]
    00576d70ldrsb x27, [x3]
    00576d74ldr x1, [x3]
    00576d78ldr x3, [x3+8]
    00576d7cstr x1, [sp+208]
    00576d80str x3, [sp+216]
    00576d84ldr x4, [sp+232]
    00576d88subs xzr, x4, x3
    00576d8cb.ne 0x576d94
    00576d90b 0x576d98
    00576d94
    00576d94loc_576d94:
    00576d94b 0x57702c
    00576d98
    00576d98loc_576d98:
    00576d98ldr x0, [sp+224]
    00576d9cldr x2, [sp+232]
    00576da0bl runtime.memequal
    00576da4tbnz w0, 0, 0x576dac
    00576da8b 0x577028
    00576dac
    00576dacloc_576dac:
    00576dacldr x2, [sp+424]
    00576db0ldrsb x27, [x2]
    00576db4ldr x2, [x2+24]
    00576db8str x2, [sp+48]
    00576dbcsubs xzr, x2, 1
    00576dc0b.eq 0x576dc8
    00576dc4b 0x576e10
    00576dc8
    00576dc8loc_576dc8:
    00576dc8adrp x0, 0x152000
    00576dccadd x0, x0, 324
    00576dd0movz x1, 47
    00576dd4bl errors.New
    00576dd8str x0, [sp+312]
    00576ddcstr x1, [sp+320]
    00576de0str xzr, [sp+72]
    00576de4stp xzr, xzr, [sp+80]
    00576de8ldr x3, [sp+312]
    00576decldr x4, [sp+320]
    00576df0str x3, [sp+56]
    00576df4str x4, [sp+64]
    00576df8ldr x0, [sp+72]
    00576dfcldr x1, [sp+80]
    00576e00ldr x2, [sp+88]
    00576e04ldp x29, x30, [sp-8]
    00576e08add sp, sp, 400
    00576e0cret x30
    00576e10
    00576e10loc_576e10:
    00576e10ldr x0, [sp+416]
    00576e14ldrsb x27, [x0]
    00576e18ldr x26, [x0+16]
    00576e1cldr x0, [x26]
    00576e20blr x0
    00576e24str x0, [sp+304]
    00576e28str xzr, [sp+296]
    00576e2cstp xzr, xzr, [sp+312]
    00576e30ldr x0, [sp+432]
    00576e34ldrsb x27, [x0]
    00576e38ldr x1, [x0+16]
    00576e3cldr x2, [x0+24]
    00576e40ldr x3, [x0+32]
    00576e44str x1, [sp+184]
    00576e48str x2, [sp+192]
    00576e4cstr x3, [sp+200]
    00576e50ldr x26, [sp+408]
    00576e54ldrsb x27, [x26]
    00576e58ldr x0, [x26]
    00576e5cldr x4, [sp+304]
    00576e60mov x5, x0
    00576e64mov x0, x4
    00576e68blr x5
    00576e6cstr x0, [sp+296]
    00576e70str x1, [sp+312]
    00576e74str x2, [sp+320]
    00576e78ldr x0, [sp+296]
    00576e7cstr x0, [sp+152]
    00576e80ldr x0, [sp+312]
    00576e84ldr x1, [sp+320]
    00576e88str x0, [sp+136]
    00576e8cstr x1, [sp+144]
    00576e90ldr x0, [sp+152]
    00576e94str x0, [sp+96]
    00576e98ldr x0, [sp+144]
    00576e9cldr x1, [sp+136]
    00576ea0str x1, [sp+120]
    00576ea4str x0, [sp+128]
    00576ea8cbnz x1, 0x576eb0
    00576eacb 0x576ee0
    00576eb0
    00576eb0loc_576eb0:
    00576eb0str xzr, [sp+72]
    00576eb4stp xzr, xzr, [sp+80]
    00576eb8ldr x3, [sp+120]
    00576ebcldr x4, [sp+128]
    00576ec0str x3, [sp+56]
    00576ec4str x4, [sp+64]
    00576ec8ldr x0, [sp+72]
    00576eccldr x1, [sp+80]
    00576ed0ldr x2, [sp+88]
    00576ed4ldp x29, x30, [sp-8]
    00576ed8add sp, sp, 400
    00576edcret x30
    00576ee0
    00576ee0loc_576ee0:
    00576ee0str xzr, [sp+296]
    00576ee4stp xzr, xzr, [sp+312]
    00576ee8ldr x5, [sp+424]
    00576eecldrsb x27, [x5]
    00576ef0ldr x2, [x5+40]
    00576ef4ldr x3, [x5+48]
    00576ef8ldr x4, [x5+56]
    00576efcstr x2, [sp+160]
    00576f00str x3, [sp+168]
    00576f04str x4, [sp+176]
    00576f08ldr x5, [sp+408]
    00576f0cldrsb x27, [x5]
    00576f10add x26, x5, 8
    00576f14ldr x0, [sp+96]
    00576f18ldr x1, [sp+96]
    00576f1cldr x5, [x5+8]
    00576f20blr x5
    00576f24str x0, [sp+296]
    00576f28str x1, [sp+312]
    00576f2cstr x2, [sp+320]
    00576f30ldr x5, [sp+296]
    00576f34str x5, [sp+384]
    00576f38ldr x5, [sp+320]
    00576f3cldr x6, [sp+312]
    00576f40str x6, [sp+368]
    00576f44str x5, [sp+376]
    00576f48str x6, [sp+104]
    00576f4cstr x5, [sp+112]
    00576f50cbnz x6, 0x576f58
    00576f54b 0x576f88
    00576f58
    00576f58loc_576f58:
    00576f58str xzr, [sp+72]
    00576f5cstp xzr, xzr, [sp+80]
    00576f60ldr x3, [sp+104]
    00576f64ldr x4, [sp+112]
    00576f68str x3, [sp+56]
    00576f6cstr x4, [sp+64]
    00576f70ldr x0, [sp+72]
    00576f74ldr x1, [sp+80]
    00576f78ldr x2, [sp+88]
    00576f7cldp x29, x30, [sp-8]
    00576f80add sp, sp, 400
    00576f84ret x30
    00576f88
    00576f88loc_576f88:
    00576f88str xzr, [sp+272]
    00576f8cstp xzr, xzr, [sp+280]
    00576f90stp xzr, xzr, [sp+312]
    00576f94ldr x1, [sp+408]
    00576f98ldrsb x27, [x1]
    00576f9cadd x26, x1, 16
    00576fa0ldr x0, [sp+96]
    00576fa4ldr x1, [x1+16]
    00576fa8blr x1
    00576facstr x0, [sp+272]
    00576fb0str x1, [sp+280]
    00576fb4str x2, [sp+288]
    00576fb8str x3, [sp+312]
    00576fbcstr x4, [sp+320]
    00576fc0ldr x1, [sp+272]
    00576fc4ldr x2, [sp+280]
    00576fc8ldr x3, [sp+288]
    00576fccstr x1, [sp+344]
    00576fd0str x2, [sp+352]
    00576fd4str x3, [sp+360]
    00576fd8ldr x1, [sp+312]
    00576fdcldr x2, [sp+320]
    00576fe0str x1, [sp+328]
    00576fe4str x2, [sp+336]
    00576fe8ldr x1, [sp+344]
    00576fecldr x2, [sp+352]
    00576ff0ldr x3, [sp+360]
    00576ff4str x1, [sp+72]
    00576ff8str x2, [sp+80]
    00576ffcstr x3, [sp+88]
    00577000ldr x3, [sp+328]
    00577004ldr x4, [sp+336]
    00577008str x3, [sp+56]
    0057700cstr x4, [sp+64]
    00577010ldr x0, [sp+72]
    00577014ldr x1, [sp+80]
    00577018ldr x2, [sp+88]
    0057701cldp x29, x30, [sp-8]
    00577020add sp, sp, 400
    00577024ret x30
    00577028
    00577028loc_577028:
    00577028b 0x57702c
    0057702c
    0057702cloc_57702c:
    0057702cadrp x0, 0x146000
    00577030add x0, x0, 1672
    00577034orr x1, xzr, 30
    00577038bl errors.New
    0057703cstr x0, [sp+312]
    00577040str x1, [sp+320]
    00577044str xzr, [sp+72]
    00577048stp xzr, xzr, [sp+80]
    0057704cldr x3, [sp+312]
    00577050ldr x4, [sp+320]
    00577054str x3, [sp+56]
    00577058str x4, [sp+64]
    0057705cldr x0, [sp+72]
    00577060ldr x1, [sp+80]
    00577064ldr x2, [sp+88]
    00577068ldp x29, x30, [sp-8]
    0057706cadd sp, sp, 400
    00577070ret x30
    00577074
    00577074loc_577074:
    00577074b 0x577078
    00577078
    00577078loc_577078:
    00577078adrp x0, 0x146000
    0057707cadd x0, x0, 1672
    00577080orr x1, xzr, 30
    00577084bl errors.New
    00577088str x0, [sp+312]
    0057708cstr x1, [sp+320]
    00577090str xzr, [sp+72]
    00577094stp xzr, xzr, [sp+80]
    00577098ldr x3, [sp+312]
    0057709cldr x4, [sp+320]
    005770a0str x3, [sp+56]
    005770a4str x4, [sp+64]
    005770a8ldr x0, [sp+72]
    005770acldr x1, [sp+80]
    005770b0ldr x2, [sp+88]
    005770b4ldp x29, x30, [sp-8]
    005770b8add sp, sp, 400
    005770bcret x30
    005770c0
    005770c0loc_5770c0:
    005770c0stp x0, x1, [sp+8]
    005770c4stp x2, x3, [sp+24]
    005770c8mov x3, x30
    005770ccbl runtime.morestack_noctxt.abi0
    005770d0ldp x0, x1, [sp+8]
    005770d4ldp x2, x3, [sp+24]
    005770d8b 0x576cc0
    005770dcudf 0
    00576cc0
    005770e0
    005770e0crypto/internal/fips140/edwards25519/field.init: ; void crypto/internal/fips140/edwards25519/field.init(void)
    005770e0ldr x16, [x28+16]
    005770e4subs xzr, sp, x16
    005770e8b.ls 0x5772c8
    005770ecstr x30, [sp-64]!
    005770f0stur x29, [sp-8]
    005770f4sub x29, sp, 8
    005770f8adrp x0, 0x100000
    005770fcadd x0, x0, 3648
    00577100bl runtime.newobject
    00577104str x0, [sp+48]
    00577108str xzr, [x0]
    0057710cldr x1, [sp+48]
    00577110ldrsb x27, [x1]
    00577114str xzr, [x1+8]
    00577118ldr x1, [sp+48]
    0057711cldrsb x27, [x1]
    00577120str xzr, [x1+16]
    00577124ldr x1, [sp+48]
    00577128ldrsb x27, [x1]
    0057712cstr xzr, [x1+24]
    00577130ldr x1, [sp+48]
    00577134ldrsb x27, [x1]
    00577138str xzr, [x1+32]
    0057713cldr x1, [sp+48]
    00577140adrp x27, 0x4d4000
    00577144ldr w2, [x27+3056]
    00577148cbz w2, 0x577150
    0057714cb 0x577154
    00577150
    00577150loc_577150:
    00577150b 0x57716c
    00577154
    00577154loc_577154:
    00577154bl runtime.gcWriteBarrier2
    00577158str x1, [x25]
    0057715cadrp x27, 0x4aa000
    00577160ldr x2, [x27+480]
    00577164str x2, [x25+8]
    00577168b 0x57716c
    0057716c
    0057716cloc_57716c:
    0057716cadrp x27, 0x4aa000
    00577170str x1, [x27+480]
    00577174adrp x0, 0x100000
    00577178add x0, x0, 3648
    0057717cbl runtime.newobject
    00577180str x0, [sp+40]
    00577184orr x1, xzr, 1
    00577188str x1, [x0]
    0057718cldr x1, [sp+40]
    00577190ldrsb x27, [x1]
    00577194str xzr, [x1+8]
    00577198ldr x1, [sp+40]
    0057719cldrsb x27, [x1]
    005771a0str xzr, [x1+16]
    005771a4ldr x1, [sp+40]
    005771a8ldrsb x27, [x1]
    005771acstr xzr, [x1+24]
    005771b0ldr x1, [sp+40]
    005771b4ldrsb x27, [x1]
    005771b8str xzr, [x1+32]
    005771bcldr x1, [sp+40]
    005771c0adrp x27, 0x4d4000
    005771c4ldr w2, [x27+3056]
    005771c8cbz w2, 0x5771d0
    005771ccb 0x5771d4
    005771d0
    005771d0loc_5771d0:
    005771d0b 0x5771ec
    005771d4
    005771d4loc_5771d4:
    005771d4bl runtime.gcWriteBarrier2
    005771d8str x1, [x25]
    005771dcadrp x27, 0x4aa000
    005771e0ldr x2, [x27+488]
    005771e4str x2, [x25+8]
    005771e8b 0x5771ec
    005771ec
    005771ecloc_5771ec:
    005771ecadrp x27, 0x4aa000
    005771f0str x1, [x27+488]
    005771f4adrp x0, 0x100000
    005771f8add x0, x0, 3648
    005771fcbl runtime.newobject
    00577200str x0, [sp+32]
    00577204movz x1, 41136
    00577208movk x1, 0x4a0e0000
    0057720cmovk x1, 0x1b2700000000
    00577210movk x1, 0x6000000000000
    00577214str x1, [x0]
    00577218ldr x1, [sp+32]
    0057721cldrsb x27, [x1]
    00577220movz x2, 6301
    00577224movk x2, 0xfc8f0000
    00577228movk x2, 0xd5a500000000
    0057722cstr x2, [x1+8]
    00577230ldr x1, [sp+32]
    00577234ldrsb x27, [x1]
    00577238movz x2, 3168
    0057723cmovk x2, 0x9cbd0000
    00577240movk x2, 0xef5e00000000
    00577244movk x2, 0x7000000000000
    00577248str x2, [x1+16]
    0057724cldr x1, [sp+32]
    00577250ldrsb x27, [x1]
    00577254movz x2, 19614
    00577258movk x2, 0xa6800000
    0057725cmovk x2, 0x859500000000
    00577260movk x2, 0x7000000000000
    00577264str x2, [x1+24]
    00577268ldr x1, [sp+32]
    0057726cldrsb x27, [x1]
    00577270movz x2, 64541
    00577274movk x2, 0x48040000
    00577278movk x2, 0xb83200000000
    0057727cmovk x2, 0x2000000000000
    00577280str x2, [x1+32]
    00577284ldr x1, [sp+32]
    00577288adrp x27, 0x4d4000
    0057728cldr w2, [x27+3056]
    00577290cbz w2, 0x577298
    00577294b 0x57729c
    00577298
    00577298loc_577298:
    00577298b 0x5772b4
    0057729c
    0057729cloc_57729c:
    0057729cbl runtime.gcWriteBarrier2
    005772a0str x1, [x25]
    005772a4adrp x27, 0x4aa000
    005772a8ldr x0, [x27+496]
    005772acstr x0, [x25+8]
    005772b0b 0x5772b4
    005772b4
    005772b4loc_5772b4:
    005772b4adrp x27, 0x4aa000
    005772b8str x1, [x27+496]
    005772bcldur x29, [sp-8]
    005772c0ldr x30, [sp], 64
    005772c4ret x30
    005772c8
    005772c8loc_5772c8:
    005772c8mov x3, x30
    005772ccbl runtime.morestack_noctxt.abi0
    005772d0b 0x5770e0
    005772d4udf 0
    005772d8udf 0
    005772dcudf 0
    005770e0
    005772e0
    005772e0crypto/internal/fips140/edwards25519/field.(*Element).Zero: ; void crypto/internal/fips140/edwards25519/field.(*Element).Zero(crypto/internal/fips140/edwards25519/field.Element * v)
    005772e0str x30, [sp-32]!
    005772e4stur x29, [sp-8]
    005772e8sub x29, sp, 8
    005772ecstr x0, [sp+40]
    005772f0str xzr, [sp+16]
    005772f4ldr x1, [sp+40]
    005772f8ldrsb x27, [x1]
    005772fcadrp x27, 0x4aa000
    00577300ldr x2, [x27+480]
    00577304ldrsb x27, [x2]
    00577308ldp x3, x4, [x2]
    0057730cldp x5, x6, [x2+16]
    00577310stp x3, x4, [x1]
    00577314stp x5, x6, [x1+16]
    00577318ldr x2, [x2+32]
    0057731cstr x2, [x1+32]
    00577320ldr x0, [sp+40]
    00577324str x0, [sp+16]
    00577328add x29, sp, 24
    0057732cadd sp, sp, 32
    00577330ret x30
    00577334udf 0
    00577338udf 0
    0057733cudf 0
    005772e0
    00577340
    00577340crypto/internal/fips140/edwards25519/field.(*Element).One: ; void crypto/internal/fips140/edwards25519/field.(*Element).One(crypto/internal/fips140/edwards25519/field.Element * v)
    00577340str x30, [sp-32]!
    00577344stur x29, [sp-8]
    00577348sub x29, sp, 8
    0057734cstr x0, [sp+40]
    00577350str xzr, [sp+16]
    00577354ldr x1, [sp+40]
    00577358ldrsb x27, [x1]
    0057735cadrp x27, 0x4aa000
    00577360ldr x2, [x27+488]
    00577364ldrsb x27, [x2]
    00577368ldp x3, x4, [x2]
    0057736cldp x5, x6, [x2+16]
    00577370stp x3, x4, [x1]
    00577374stp x5, x6, [x1+16]
    00577378ldr x2, [x2+32]
    0057737cstr x2, [x1+32]
    00577380ldr x0, [sp+40]
    00577384str x0, [sp+16]
    00577388add x29, sp, 24
    0057738cadd sp, sp, 32
    00577390ret x30
    00577394udf 0
    00577398udf 0
    0057739cudf 0
    00577340
    005773a0
    005773a0crypto/internal/fips140/edwards25519/field.(*Element).reduce: ; void crypto/internal/fips140/edwards25519/field.(*Element).reduce(crypto/internal/fips140/edwards25519/field.Element * v)
    005773a0ldr x16, [x28+16]
    005773a4subs xzr, sp, x16
    005773a8b.ls 0x5775a0
    005773acstr x30, [sp-48]!
    005773b0stur x29, [sp-8]
    005773b4sub x29, sp, 8
    005773b8str x0, [sp+56]
    005773bcstr xzr, [sp+32]
    005773c0ldr x0, [sp+56]
    005773c4bl crypto/internal/fips140/edwards25519/field.(*Element).carryPropagate
    005773c8ldr x1, [sp+56]
    005773ccldrsb x27, [x1]
    005773d0ldr x1, [x1]
    005773d4add x1, x1, 19
    005773d8ubfm x2, x1, 51, 63
    005773dcstr x2, [sp+24]
    005773e0ldr x2, [sp+56]
    005773e4ldrsb x27, [x2]
    005773e8ldr x2, [x2+8]
    005773ecadd x1, x2, x1, lsr #51
    005773f0ubfm x2, x1, 51, 63
    005773f4str x2, [sp+24]
    005773f8ldr x2, [sp+56]
    005773fcldrsb x27, [x2]
    00577400ldr x2, [x2+16]
    00577404add x1, x2, x1, lsr #51
    00577408ubfm x2, x1, 51, 63
    0057740cstr x2, [sp+24]
    00577410ldr x2, [sp+56]
    00577414ldrsb x27, [x2]
    00577418ldr x2, [x2+24]
    0057741cadd x1, x2, x1, lsr #51
    00577420ubfm x2, x1, 51, 63
    00577424str x2, [sp+24]
    00577428ldr x2, [sp+56]
    0057742cldrsb x27, [x2]
    00577430ldr x2, [x2+32]
    00577434add x1, x2, x1, lsr #51
    00577438ubfm x1, x1, 51, 63
    0057743cstr x1, [sp+24]
    00577440ldr x2, [sp+56]
    00577444ldrsb x27, [x2]
    00577448ldr x3, [sp+56]
    0057744cldrsb x27, [x3]
    00577450ldr x3, [x3]
    00577454movz x4, 19
    00577458madd x1, x1, x4, x3
    0057745cstr x1, [x2]
    00577460ldr x1, [sp+56]
    00577464ldrsb x27, [x1]
    00577468ldr x2, [sp+56]
    0057746cldrsb x27, [x2]
    00577470ldr x2, [x2+8]
    00577474ldr x3, [sp+56]
    00577478ldrsb x27, [x3]
    0057747cldr x3, [x3]
    00577480add x2, x2, x3, lsr #51
    00577484str x2, [x1+8]
    00577488ldr x1, [sp+56]
    0057748cldrsb x27, [x1]
    00577490ldr x2, [sp+56]
    00577494ldrsb x27, [x2]
    00577498ldr x2, [x2]
    0057749cand x2, x2, 0x7ffffffffffff
    005774a0str x2, [x1]
    005774a4ldr x1, [sp+56]
    005774a8ldrsb x27, [x1]
    005774acldr x2, [sp+56]
    005774b0ldrsb x27, [x2]
    005774b4ldr x2, [x2+16]
    005774b8ldr x3, [sp+56]
    005774bcldrsb x27, [x3]
    005774c0ldr x3, [x3+8]
    005774c4add x2, x2, x3, lsr #51
    005774c8str x2, [x1+16]
    005774ccldr x1, [sp+56]
    005774d0ldrsb x27, [x1]
    005774d4ldr x2, [sp+56]
    005774d8ldrsb x27, [x2]
    005774dcldr x2, [x2+8]
    005774e0and x2, x2, 0x7ffffffffffff
    005774e4str x2, [x1+8]
    005774e8ldr x1, [sp+56]
    005774ecldrsb x27, [x1]
    005774f0ldr x2, [sp+56]
    005774f4ldrsb x27, [x2]
    005774f8ldr x2, [x2+24]
    005774fcldr x3, [sp+56]
    00577500ldrsb x27, [x3]
    00577504ldr x3, [x3+16]
    00577508add x2, x2, x3, lsr #51
    0057750cstr x2, [x1+24]
    00577510ldr x1, [sp+56]
    00577514ldrsb x27, [x1]
    00577518ldr x2, [sp+56]
    0057751cldrsb x27, [x2]
    00577520ldr x2, [x2+16]
    00577524and x2, x2, 0x7ffffffffffff
    00577528str x2, [x1+16]
    0057752cldr x1, [sp+56]
    00577530ldrsb x27, [x1]
    00577534ldr x2, [sp+56]
    00577538ldrsb x27, [x2]
    0057753cldr x2, [x2+32]
    00577540ldr x3, [sp+56]
    00577544ldrsb x27, [x3]
    00577548ldr x3, [x3+24]
    0057754cadd x2, x2, x3, lsr #51
    00577550str x2, [x1+32]
    00577554ldr x1, [sp+56]
    00577558ldrsb x27, [x1]
    0057755cldr x2, [sp+56]
    00577560ldrsb x27, [x2]
    00577564ldr x2, [x2+24]
    00577568and x2, x2, 0x7ffffffffffff
    0057756cstr x2, [x1+24]
    00577570ldr x1, [sp+56]
    00577574ldrsb x27, [x1]
    00577578ldr x2, [sp+56]
    0057757cldrsb x27, [x2]
    00577580ldr x2, [x2+32]
    00577584and x2, x2, 0x7ffffffffffff
    00577588str x2, [x1+32]
    0057758cldr x0, [sp+56]
    00577590str x0, [sp+32]
    00577594ldur x29, [sp-8]
    00577598ldr x30, [sp], 48
    0057759cret x30
    005775a0
    005775a0loc_5775a0:
    005775a0str x0, [sp+8]
    005775a4mov x3, x30
    005775a8bl runtime.morestack_noctxt.abi0
    005775acldr x0, [sp+8]
    005775b0b 0x5773a0
    005775b4udf 0
    005775b8udf 0
    005775bcudf 0
    005773a0
    005775c0
    005775c0crypto/internal/fips140/edwards25519/field.(*Element).Add: ; void crypto/internal/fips140/edwards25519/field.(*Element).Add(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * a, crypto/internal/fips140/edwards25519/field.Element * b)
    005775c0ldr x16, [x28+16]
    005775c4subs xzr, sp, x16
    005775c8b.ls 0x5776cc
    005775ccstr x30, [sp-48]!
    005775d0stur x29, [sp-8]
    005775d4sub x29, sp, 8
    005775d8str x0, [sp+56]
    005775dcstr x1, [sp+64]
    005775e0str x2, [sp+72]
    005775e4str xzr, [sp+24]
    005775e8ldr x1, [sp+56]
    005775ecldrsb x27, [x1]
    005775f0ldr x2, [sp+64]
    005775f4ldrsb x27, [x2]
    005775f8ldr x2, [x2]
    005775fcldr x3, [sp+72]
    00577600ldrsb x27, [x3]
    00577604ldr x3, [x3]
    00577608add x2, x2, x3
    0057760cstr x2, [x1]
    00577610ldr x1, [sp+56]
    00577614ldrsb x27, [x1]
    00577618ldr x2, [sp+64]
    0057761cldrsb x27, [x2]
    00577620ldr x2, [x2+8]
    00577624ldr x3, [sp+72]
    00577628ldrsb x27, [x3]
    0057762cldr x3, [x3+8]
    00577630add x2, x2, x3
    00577634str x2, [x1+8]
    00577638ldr x1, [sp+56]
    0057763cldrsb x27, [x1]
    00577640ldr x2, [sp+64]
    00577644ldrsb x27, [x2]
    00577648ldr x2, [x2+16]
    0057764cldr x3, [sp+72]
    00577650ldrsb x27, [x3]
    00577654ldr x3, [x3+16]
    00577658add x2, x2, x3
    0057765cstr x2, [x1+16]
    00577660ldr x1, [sp+56]
    00577664ldrsb x27, [x1]
    00577668ldr x2, [sp+64]
    0057766cldrsb x27, [x2]
    00577670ldr x2, [x2+24]
    00577674ldr x3, [sp+72]
    00577678ldrsb x27, [x3]
    0057767cldr x3, [x3+24]
    00577680add x2, x2, x3
    00577684str x2, [x1+24]
    00577688ldr x1, [sp+56]
    0057768cldrsb x27, [x1]
    00577690ldr x2, [sp+64]
    00577694ldrsb x27, [x2]
    00577698ldr x2, [x2+32]
    0057769cldr x3, [sp+72]
    005776a0ldrsb x27, [x3]
    005776a4ldr x3, [x3+32]
    005776a8add x2, x2, x3
    005776acstr x2, [x1+32]
    005776b0ldr x0, [sp+56]
    005776b4bl crypto/internal/fips140/edwards25519/field.(*Element).carryPropagateGeneric
    005776b8str x0, [sp+32]
    005776bcstr x0, [sp+24]
    005776c0ldur x29, [sp-8]
    005776c4ldr x30, [sp], 48
    005776c8ret x30
    005776cc
    005776ccloc_5776cc:
    005776ccstp x0, x1, [sp+8]
    005776d0str x2, [sp+24]
    005776d4mov x3, x30
    005776d8bl runtime.morestack_noctxt.abi0
    005776dcldp x0, x1, [sp+8]
    005776e0ldr x2, [sp+24]
    005776e4b 0x5775c0
    005776e8udf 0
    005776ecudf 0
    005775c0
    005776f0
    005776f0crypto/internal/fips140/edwards25519/field.(*Element).Subtract: ; void crypto/internal/fips140/edwards25519/field.(*Element).Subtract(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * a, crypto/internal/fips140/edwards25519/field.Element * b)
    005776f0ldr x16, [x28+16]
    005776f4subs xzr, sp, x16
    005776f8b.ls 0x577828
    005776fcstr x30, [sp-48]!
    00577700stur x29, [sp-8]
    00577704sub x29, sp, 8
    00577708str x0, [sp+56]
    0057770cstr x1, [sp+64]
    00577710str x2, [sp+72]
    00577714str xzr, [sp+24]
    00577718ldr x1, [sp+56]
    0057771cldrsb x27, [x1]
    00577720ldr x2, [sp+64]
    00577724ldrsb x27, [x2]
    00577728ldr x2, [x2]
    0057772cldr x3, [sp+72]
    00577730ldrsb x27, [x3]
    00577734ldr x3, [x3]
    00577738sub x2, x2, x3
    0057773cmovn x3, 37
    00577740movk x3, 0xf000000000000
    00577744add x2, x2, x3
    00577748str x2, [x1]
    0057774cldr x1, [sp+56]
    00577750ldrsb x27, [x1]
    00577754ldr x2, [sp+64]
    00577758ldrsb x27, [x2]
    0057775cldr x2, [x2+8]
    00577760ldr x3, [sp+72]
    00577764ldrsb x27, [x3]
    00577768ldr x3, [x3+8]
    0057776csub x2, x2, x3
    00577770orr x3, xzr, 0xffffffffffffe
    00577774add x2, x2, x3
    00577778str x2, [x1+8]
    0057777cldr x1, [sp+56]
    00577780ldrsb x27, [x1]
    00577784ldr x2, [sp+64]
    00577788ldrsb x27, [x2]
    0057778cldr x2, [x2+16]
    00577790ldr x3, [sp+72]
    00577794ldrsb x27, [x3]
    00577798ldr x3, [x3+16]
    0057779csub x2, x2, x3
    005777a0orr x3, xzr, 0xffffffffffffe
    005777a4add x2, x2, x3
    005777a8str x2, [x1+16]
    005777acldr x1, [sp+56]
    005777b0ldrsb x27, [x1]
    005777b4ldr x2, [sp+64]
    005777b8ldrsb x27, [x2]
    005777bcldr x2, [x2+24]
    005777c0ldr x3, [sp+72]
    005777c4ldrsb x27, [x3]
    005777c8ldr x3, [x3+24]
    005777ccsub x2, x2, x3
    005777d0orr x3, xzr, 0xffffffffffffe
    005777d4add x2, x2, x3
    005777d8str x2, [x1+24]
    005777dcldr x1, [sp+56]
    005777e0ldrsb x27, [x1]
    005777e4ldr x2, [sp+64]
    005777e8ldrsb x27, [x2]
    005777ecldr x2, [x2+32]
    005777f0ldr x3, [sp+72]
    005777f4ldrsb x27, [x3]
    005777f8ldr x3, [x3+32]
    005777fcsub x2, x2, x3
    00577800orr x3, xzr, 0xffffffffffffe
    00577804add x2, x2, x3
    00577808str x2, [x1+32]
    0057780cldr x0, [sp+56]
    00577810bl crypto/internal/fips140/edwards25519/field.(*Element).carryPropagate
    00577814str x0, [sp+32]
    00577818str x0, [sp+24]
    0057781cldur x29, [sp-8]
    00577820ldr x30, [sp], 48
    00577824ret x30
    00577828
    00577828loc_577828:
    00577828stp x0, x1, [sp+8]
    0057782cstr x2, [sp+24]
    00577830mov x3, x30
    00577834bl runtime.morestack_noctxt.abi0
    00577838ldp x0, x1, [sp+8]
    0057783cldr x2, [sp+24]
    00577840b 0x5776f0
    00577844udf 0
    00577848udf 0
    0057784cudf 0
    005776f0
    00577850
    00577850crypto/internal/fips140/edwards25519/field.(*Element).Negate: ; void crypto/internal/fips140/edwards25519/field.(*Element).Negate(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * a)
    00577850ldr x16, [x28+16]
    00577854subs xzr, sp, x16
    00577858b.ls 0x57789c
    0057785cstr x30, [sp-64]!
    00577860stur x29, [sp-8]
    00577864sub x29, sp, 8
    00577868str x0, [sp+72]
    0057786cstr x1, [sp+80]
    00577870str xzr, [sp+40]
    00577874adrp x27, 0x4aa000
    00577878ldr x1, [x27+480]
    0057787cldr x2, [sp+80]
    00577880ldr x0, [sp+72]
    00577884bl crypto/internal/fips140/edwards25519/field.(*Element).Subtract
    00577888str x0, [sp+48]
    0057788cstr x0, [sp+40]
    00577890ldur x29, [sp-8]
    00577894ldr x30, [sp], 64
    00577898ret x30
    0057789c
    0057789cloc_57789c:
    0057789cstp x0, x1, [sp+8]
    005778a0mov x3, x30
    005778a4bl runtime.morestack_noctxt.abi0
    005778a8ldp x0, x1, [sp+8]
    005778acb 0x577850
    00577850
    005778b0
    005778b0crypto/internal/fips140/edwards25519/field.(*Element).Invert: ; void crypto/internal/fips140/edwards25519/field.(*Element).Invert(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * z)
    005778b0ldr x16, [x28+16]
    005778b4sub x17, sp, 352
    005778b8subs xzr, x17, x16
    005778bcb.ls 0x577c54
    005778c0sub x20, sp, 480
    005778c4stp x29, x30, [x20-8]
    005778c8add sp, x20, 0
    005778ccsub x29, sp, 8
    005778d0str x0, [sp+488]
    005778d4str x1, [sp+496]
    005778d8str xzr, [sp+456]
    005778dcstp xzr, xzr, [sp+280]
    005778e0stp xzr, xzr, [sp+296]
    005778e4str xzr, [sp+312]
    005778e8stp xzr, xzr, [sp+40]
    005778ecstp xzr, xzr, [sp+56]
    005778f0str xzr, [sp+72]
    005778f4stp xzr, xzr, [sp+320]
    005778f8stp xzr, xzr, [sp+336]
    005778fcstr xzr, [sp+352]
    00577900stp xzr, xzr, [sp+80]
    00577904stp xzr, xzr, [sp+96]
    00577908str xzr, [sp+112]
    0057790cstp xzr, xzr, [sp+200]
    00577910stp xzr, xzr, [sp+216]
    00577914str xzr, [sp+232]
    00577918stp xzr, xzr, [sp+160]
    0057791cstp xzr, xzr, [sp+176]
    00577920str xzr, [sp+192]
    00577924stp xzr, xzr, [sp+120]
    00577928stp xzr, xzr, [sp+136]
    0057792cstr xzr, [sp+152]
    00577930stp xzr, xzr, [sp+240]
    00577934stp xzr, xzr, [sp+256]
    00577938str xzr, [sp+272]
    0057793cstp xzr, xzr, [sp+360]
    00577940stp xzr, xzr, [sp+376]
    00577944str xzr, [sp+392]
    00577948ldr x1, [sp+496]
    0057794cadd x0, sp, 280
    00577950bl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00577954add x0, sp, 360
    00577958add x1, sp, 280
    0057795cbl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00577960add x0, sp, 360
    00577964add x1, sp, 360
    00577968bl crypto/internal/fips140/edwards25519/field.(*Element).Square
    0057796cldr x2, [sp+496]
    00577970add x0, sp, 40
    00577974add x1, sp, 360
    00577978bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    0057797cadd x0, sp, 320
    00577980add x1, sp, 40
    00577984add x2, sp, 280
    00577988bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    0057798cadd x0, sp, 360
    00577990add x1, sp, 320
    00577994bl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00577998add x0, sp, 80
    0057799cadd x1, sp, 360
    005779a0add x2, sp, 40
    005779a4bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    005779a8add x0, sp, 360
    005779acadd x1, sp, 80
    005779b0bl crypto/internal/fips140/edwards25519/field.(*Element).Square
    005779b4str xzr, [sp+448]
    005779b8b 0x5779bc
    005779bc
    005779bcloc_5779bc:
    005779bcldr x3, [sp+448]
    005779c0subs xzr, x3, 4
    005779c4b.lt 0x5779cc
    005779c8b 0x5779ec
    005779cc
    005779ccloc_5779cc:
    005779ccadd x0, sp, 360
    005779d0add x1, sp, 360
    005779d4bl crypto/internal/fips140/edwards25519/field.(*Element).Square
    005779d8b 0x5779dc
    005779dc
    005779dcloc_5779dc:
    005779dcldr x3, [sp+448]
    005779e0add x3, x3, 1
    005779e4str x3, [sp+448]
    005779e8b 0x5779bc
    005779ec
    005779ecloc_5779ec:
    005779ecadd x0, sp, 200
    005779f0add x1, sp, 360
    005779f4add x2, sp, 80
    005779f8bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    005779fcadd x0, sp, 360
    00577a00add x1, sp, 200
    00577a04bl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00577a08str xzr, [sp+440]
    00577a0cb 0x577a10
    00577a10
    00577a10loc_577a10:
    00577a10ldr x3, [sp+440]
    00577a14subs xzr, x3, 9
    00577a18b.lt 0x577a20
    00577a1cb 0x577a40
    00577a20
    00577a20loc_577a20:
    00577a20add x0, sp, 360
    00577a24add x1, sp, 360
    00577a28bl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00577a2cb 0x577a30
    00577a30
    00577a30loc_577a30:
    00577a30ldr x3, [sp+440]
    00577a34add x3, x3, 1
    00577a38str x3, [sp+440]
    00577a3cb 0x577a10
    00577a40
    00577a40loc_577a40:
    00577a40add x0, sp, 160
    00577a44add x1, sp, 360
    00577a48add x2, sp, 200
    00577a4cbl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00577a50add x0, sp, 360
    00577a54add x1, sp, 160
    00577a58bl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00577a5cstr xzr, [sp+432]
    00577a60b 0x577a64
    00577a64
    00577a64loc_577a64:
    00577a64ldr x3, [sp+432]
    00577a68subs xzr, x3, 19
    00577a6cb.lt 0x577a74
    00577a70b 0x577a94
    00577a74
    00577a74loc_577a74:
    00577a74add x0, sp, 360
    00577a78add x1, sp, 360
    00577a7cbl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00577a80b 0x577a84
    00577a84
    00577a84loc_577a84:
    00577a84ldr x3, [sp+432]
    00577a88add x3, x3, 1
    00577a8cstr x3, [sp+432]
    00577a90b 0x577a64
    00577a94
    00577a94loc_577a94:
    00577a94add x0, sp, 360
    00577a98add x1, sp, 360
    00577a9cadd x2, sp, 160
    00577aa0bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00577aa4add x0, sp, 360
    00577aa8add x1, sp, 360
    00577aacbl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00577ab0str xzr, [sp+424]
    00577ab4b 0x577ab8
    00577ab8
    00577ab8loc_577ab8:
    00577ab8ldr x3, [sp+424]
    00577abcsubs xzr, x3, 9
    00577ac0b.lt 0x577ac8
    00577ac4b 0x577ae8
    00577ac8
    00577ac8loc_577ac8:
    00577ac8add x0, sp, 360
    00577accadd x1, sp, 360
    00577ad0bl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00577ad4b 0x577ad8
    00577ad8
    00577ad8loc_577ad8:
    00577ad8ldr x3, [sp+424]
    00577adcadd x3, x3, 1
    00577ae0str x3, [sp+424]
    00577ae4b 0x577ab8
    00577ae8
    00577ae8loc_577ae8:
    00577ae8add x0, sp, 120
    00577aecadd x1, sp, 360
    00577af0add x2, sp, 200
    00577af4bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00577af8add x0, sp, 360
    00577afcadd x1, sp, 120
    00577b00bl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00577b04str xzr, [sp+416]
    00577b08b 0x577b0c
    00577b0c
    00577b0cloc_577b0c:
    00577b0cldr x3, [sp+416]
    00577b10subs xzr, x3, 49
    00577b14b.lt 0x577b1c
    00577b18b 0x577b3c
    00577b1c
    00577b1cloc_577b1c:
    00577b1cadd x0, sp, 360
    00577b20add x1, sp, 360
    00577b24bl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00577b28b 0x577b2c
    00577b2c
    00577b2cloc_577b2c:
    00577b2cldr x3, [sp+416]
    00577b30add x3, x3, 1
    00577b34str x3, [sp+416]
    00577b38b 0x577b0c
    00577b3c
    00577b3cloc_577b3c:
    00577b3cadd x0, sp, 240
    00577b40add x1, sp, 360
    00577b44add x2, sp, 120
    00577b48bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00577b4cadd x0, sp, 360
    00577b50add x1, sp, 240
    00577b54bl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00577b58str xzr, [sp+408]
    00577b5cb 0x577b60
    00577b60
    00577b60loc_577b60:
    00577b60ldr x3, [sp+408]
    00577b64subs xzr, x3, 99
    00577b68b.lt 0x577b70
    00577b6cb 0x577b90
    00577b70
    00577b70loc_577b70:
    00577b70add x0, sp, 360
    00577b74add x1, sp, 360
    00577b78bl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00577b7cb 0x577b80
    00577b80
    00577b80loc_577b80:
    00577b80ldr x3, [sp+408]
    00577b84add x3, x3, 1
    00577b88str x3, [sp+408]
    00577b8cb 0x577b60
    00577b90
    00577b90loc_577b90:
    00577b90add x0, sp, 360
    00577b94add x1, sp, 360
    00577b98add x2, sp, 240
    00577b9cbl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00577ba0add x0, sp, 360
    00577ba4add x1, sp, 360
    00577ba8bl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00577bacstr xzr, [sp+400]
    00577bb0b 0x577bb4
    00577bb4
    00577bb4loc_577bb4:
    00577bb4ldr x3, [sp+400]
    00577bb8subs xzr, x3, 49
    00577bbcb.lt 0x577bc4
    00577bc0b 0x577be4
    00577bc4
    00577bc4loc_577bc4:
    00577bc4add x0, sp, 360
    00577bc8add x1, sp, 360
    00577bccbl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00577bd0b 0x577bd4
    00577bd4
    00577bd4loc_577bd4:
    00577bd4ldr x3, [sp+400]
    00577bd8add x3, x3, 1
    00577bdcstr x3, [sp+400]
    00577be0b 0x577bb4
    00577be4
    00577be4loc_577be4:
    00577be4add x0, sp, 360
    00577be8add x1, sp, 360
    00577becadd x2, sp, 120
    00577bf0bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00577bf4add x0, sp, 360
    00577bf8add x1, sp, 360
    00577bfcbl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00577c00add x0, sp, 360
    00577c04add x1, sp, 360
    00577c08bl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00577c0cadd x0, sp, 360
    00577c10add x1, sp, 360
    00577c14bl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00577c18add x0, sp, 360
    00577c1cadd x1, sp, 360
    00577c20bl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00577c24add x0, sp, 360
    00577c28add x1, sp, 360
    00577c2cbl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00577c30ldr x0, [sp+488]
    00577c34add x1, sp, 360
    00577c38add x2, sp, 320
    00577c3cbl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00577c40str x0, [sp+464]
    00577c44str x0, [sp+456]
    00577c48ldp x29, x30, [sp-8]
    00577c4cadd sp, sp, 480
    00577c50ret x30
    00577c54
    00577c54loc_577c54:
    00577c54stp x0, x1, [sp+8]
    00577c58mov x3, x30
    00577c5cbl runtime.morestack_noctxt.abi0
    00577c60ldp x0, x1, [sp+8]
    00577c64b 0x5778b0
    00577c68udf 0
    00577c6cudf 0
    005778b0
    00577c70
    00577c70crypto/internal/fips140/edwards25519/field.(*Element).Set: ; void crypto/internal/fips140/edwards25519/field.(*Element).Set(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * a)
    00577c70str x30, [sp-32]!
    00577c74stur x29, [sp-8]
    00577c78sub x29, sp, 8
    00577c7cstr x0, [sp+40]
    00577c80str x1, [sp+48]
    00577c84str xzr, [sp+16]
    00577c88ldr x1, [sp+40]
    00577c8cldrsb x27, [x1]
    00577c90ldr x2, [sp+48]
    00577c94ldrsb x27, [x2]
    00577c98ldp x3, x4, [x2]
    00577c9cldp x5, x6, [x2+16]
    00577ca0stp x3, x4, [x1]
    00577ca4stp x5, x6, [x1+16]
    00577ca8ldr x2, [x2+32]
    00577cacstr x2, [x1+32]
    00577cb0ldr x0, [sp+40]
    00577cb4str x0, [sp+16]
    00577cb8add x29, sp, 24
    00577cbcadd sp, sp, 32
    00577cc0ret x30
    00577cc4udf 0
    00577cc8udf 0
    00577cccudf 0
    00577c70
    00577cd0
    00577cd0crypto/internal/fips140/edwards25519/field.(*Element).SetBytes: ; void crypto/internal/fips140/edwards25519/field.(*Element).SetBytes(crypto/internal/fips140/edwards25519/field.Element * v, struct []uint8 x)
    00577cd0ldr x16, [x28+16]
    00577cd4subs xzr, sp, x16
    00577cd8b.ls 0x577fbc
    00577cdcstr x30, [sp-128]!
    00577ce0stur x29, [sp-8]
    00577ce4sub x29, sp, 8
    00577ce8str x0, [sp+136]
    00577cecstr x1, [sp+144]
    00577cf0str x2, [sp+152]
    00577cf4str x3, [sp+160]
    00577cf8str xzr, [sp+72]
    00577cfcstp xzr, xzr, [sp+56]
    00577d00ldr x3, [sp+152]
    00577d04str x3, [sp+48]
    00577d08subs xzr, x3, 32
    00577d0cb.ne 0x577d14
    00577d10b 0x577d50
    00577d14
    00577d14loc_577d14:
    00577d14adrp x0, 0x150000
    00577d18add x0, x0, 2871
    00577d1cmovz x1, 46
    00577d20bl errors.New
    00577d24str x0, [sp+104]
    00577d28str x1, [sp+112]
    00577d2cstr xzr, [sp+72]
    00577d30ldr x1, [sp+104]
    00577d34ldr x2, [sp+112]
    00577d38str x1, [sp+56]
    00577d3cstr x2, [sp+64]
    00577d40ldr x0, [sp+72]
    00577d44ldur x29, [sp-8]
    00577d48ldr x30, [sp], 128
    00577d4cret x30
    00577d50
    00577d50loc_577d50:
    00577d50ldr x2, [sp+160]
    00577d54ldr x0, [sp+144]
    00577d58subs xzr, x2, 8
    00577d5cb.hs 0x577d64
    00577d60b 0x577fb0
    00577d64
    00577d64loc_577d64:
    00577d64b 0x577d68
    00577d68
    00577d68loc_577d68:
    00577d68str x0, [sp+80]
    00577d6corr x1, xzr, 8
    00577d70str x1, [sp+88]
    00577d74str x2, [sp+96]
    00577d78bl crypto/internal/fips140deps/byteorder.LEUint64
    00577d7cstr x0, [sp+40]
    00577d80ldr x3, [sp+136]
    00577d84ldrsb x27, [x3]
    00577d88str x0, [x3]
    00577d8cldr x3, [sp+136]
    00577d90ldrsb x27, [x3]
    00577d94ldr x4, [sp+136]
    00577d98ldrsb x27, [x4]
    00577d9cldr x4, [x4]
    00577da0and x4, x4, 0x7ffffffffffff
    00577da4str x4, [x3]
    00577da8ldr x2, [sp+160]
    00577dacldr x3, [sp+144]
    00577db0subs xzr, x2, 14
    00577db4b.hs 0x577dbc
    00577db8b 0x577fa8
    00577dbc
    00577dbcloc_577dbc:
    00577dbcb 0x577dc0
    00577dc0
    00577dc0loc_577dc0:
    00577dc0sub x2, x2, 6
    00577dc4sub x4, xzr, x2
    00577dc8sbfm x4, x4, 63, 63
    00577dccand x4, x4, 6
    00577dd0add x0, x3, x4
    00577dd4str x0, [sp+80]
    00577dd8orr x1, xzr, 8
    00577ddcstr x1, [sp+88]
    00577de0str x2, [sp+96]
    00577de4bl crypto/internal/fips140deps/byteorder.LEUint64
    00577de8str x0, [sp+40]
    00577decldr x3, [sp+136]
    00577df0ldrsb x27, [x3]
    00577df4ubfm x4, x0, 3, 63
    00577df8str x4, [x3+8]
    00577dfcldr x3, [sp+136]
    00577e00ldrsb x27, [x3]
    00577e04ldr x4, [sp+136]
    00577e08ldrsb x27, [x4]
    00577e0cldr x4, [x4+8]
    00577e10and x4, x4, 0x7ffffffffffff
    00577e14str x4, [x3+8]
    00577e18ldr x2, [sp+160]
    00577e1cldr x3, [sp+144]
    00577e20subs xzr, x2, 20
    00577e24b.hs 0x577e2c
    00577e28b 0x577fa0
    00577e2c
    00577e2cloc_577e2c:
    00577e2cb 0x577e30
    00577e30
    00577e30loc_577e30:
    00577e30sub x2, x2, 12
    00577e34sub x4, xzr, x2
    00577e38sbfm x4, x4, 63, 63
    00577e3cand x4, x4, 12
    00577e40add x0, x3, x4
    00577e44str x0, [sp+80]
    00577e48orr x1, xzr, 8
    00577e4cstr x1, [sp+88]
    00577e50str x2, [sp+96]
    00577e54bl crypto/internal/fips140deps/byteorder.LEUint64
    00577e58str x0, [sp+40]
    00577e5cldr x3, [sp+136]
    00577e60ldrsb x27, [x3]
    00577e64ubfm x4, x0, 6, 63
    00577e68str x4, [x3+16]
    00577e6cldr x3, [sp+136]
    00577e70ldrsb x27, [x3]
    00577e74ldr x4, [sp+136]
    00577e78ldrsb x27, [x4]
    00577e7cldr x4, [x4+16]
    00577e80and x4, x4, 0x7ffffffffffff
    00577e84str x4, [x3+16]
    00577e88ldr x2, [sp+160]
    00577e8cldr x3, [sp+144]
    00577e90subs xzr, x2, 27
    00577e94b.hs 0x577e9c
    00577e98b 0x577f98
    00577e9c
    00577e9cloc_577e9c:
    00577e9cb 0x577ea0
    00577ea0
    00577ea0loc_577ea0:
    00577ea0sub x2, x2, 19
    00577ea4sub x4, xzr, x2
    00577ea8sbfm x4, x4, 63, 63
    00577eacmovz x5, 19
    00577eb0and x4, x4, x5
    00577eb4add x0, x3, x4
    00577eb8str x0, [sp+80]
    00577ebcorr x1, xzr, 8
    00577ec0str x1, [sp+88]
    00577ec4str x2, [sp+96]
    00577ec8bl crypto/internal/fips140deps/byteorder.LEUint64
    00577eccstr x0, [sp+40]
    00577ed0ldr x3, [sp+136]
    00577ed4ldrsb x27, [x3]
    00577ed8ubfm x4, x0, 1, 63
    00577edcstr x4, [x3+24]
    00577ee0ldr x3, [sp+136]
    00577ee4ldrsb x27, [x3]
    00577ee8ldr x4, [sp+136]
    00577eecldrsb x27, [x4]
    00577ef0ldr x4, [x4+24]
    00577ef4and x4, x4, 0x7ffffffffffff
    00577ef8str x4, [x3+24]
    00577efcldr x2, [sp+160]
    00577f00ldr x3, [sp+144]
    00577f04subs xzr, x2, 32
    00577f08b.hs 0x577f10
    00577f0cb 0x577f90
    00577f10
    00577f10loc_577f10:
    00577f10b 0x577f14
    00577f14
    00577f14loc_577f14:
    00577f14sub x2, x2, 24
    00577f18sub x4, xzr, x2
    00577f1csbfm x4, x4, 63, 63
    00577f20and x4, x4, 24
    00577f24add x0, x3, x4
    00577f28str x0, [sp+80]
    00577f2corr x1, xzr, 8
    00577f30str x1, [sp+88]
    00577f34str x2, [sp+96]
    00577f38bl crypto/internal/fips140deps/byteorder.LEUint64
    00577f3cstr x0, [sp+40]
    00577f40ldr x3, [sp+136]
    00577f44ldrsb x27, [x3]
    00577f48ubfm x4, x0, 12, 63
    00577f4cstr x4, [x3+32]
    00577f50ldr x3, [sp+136]
    00577f54ldrsb x27, [x3]
    00577f58ldr x4, [sp+136]
    00577f5cldrsb x27, [x4]
    00577f60ldr x4, [x4+32]
    00577f64and x4, x4, 0x7ffffffffffff
    00577f68str x4, [x3+32]
    00577f6cldr x3, [sp+136]
    00577f70str x3, [sp+72]
    00577f74stp xzr, xzr, [sp+56]
    00577f78ldr x0, [sp+72]
    00577f7cmov x1, xzr
    00577f80mov x2, xzr
    00577f84ldur x29, [sp-8]
    00577f88ldr x30, [sp], 128
    00577f8cret x30
    00577f90
    00577f90loc_577f90:
    00577f90orr x1, xzr, 32
    00577f94bl runtime.panicSliceAcap
    00577f98
    00577f98loc_577f98:
    00577f98movz x1, 27
    00577f9cbl runtime.panicSliceAcap
    00577fa0
    00577fa0loc_577fa0:
    00577fa0movz x1, 20
    00577fa4bl runtime.panicSliceAcap
    00577fa8
    00577fa8loc_577fa8:
    00577fa8orr x1, xzr, 14
    00577facbl runtime.panicSliceAcap
    00577fb0
    00577fb0loc_577fb0:
    00577fb0orr x1, xzr, 8
    00577fb4bl runtime.panicSliceAcap
    00577fb8hint
    00577fbc
    00577fbcloc_577fbc:
    00577fbcstp x0, x1, [sp+8]
    00577fc0stp x2, x3, [sp+24]
    00577fc4mov x3, x30
    00577fc8bl runtime.morestack_noctxt.abi0
    00577fccldp x0, x1, [sp+8]
    00577fd0ldp x2, x3, [sp+24]
    00577fd4b 0x577cd0
    00577fd8udf 0
    00577fdcudf 0
    00577cd0
    00577fe0
    00577fe0crypto/internal/fips140/edwards25519/field.(*Element).Bytes: ; void crypto/internal/fips140/edwards25519/field.(*Element).Bytes(crypto/internal/fips140/edwards25519/field.Element * v)
    00577fe0ldr x16, [x28+16]
    00577fe4subs xzr, sp, x16
    00577fe8b.ls 0x57804c
    00577fecstr x30, [sp-96]!
    00577ff0stur x29, [sp-8]
    00577ff4sub x29, sp, 8
    00577ff8str x0, [sp+104]
    00577ffcstr xzr, [sp+32]
    00578000stp xzr, xzr, [sp+40]
    00578004adrp x0, 0x85000
    00578008add x0, x0, 2240
    0057800cbl runtime.newobject
    00578010str x0, [sp+80]
    00578014stp xzr, xzr, [x0]
    00578018stp xzr, xzr, [x0+16]
    0057801cldr x0, [sp+104]
    00578020ldr x1, [sp+80]
    00578024bl crypto/internal/fips140/edwards25519/field.(*Element).bytes
    00578028str x0, [sp+56]
    0057802cstr x1, [sp+64]
    00578030str x2, [sp+72]
    00578034str x0, [sp+32]
    00578038str x1, [sp+40]
    0057803cstr x2, [sp+48]
    00578040ldur x29, [sp-8]
    00578044ldr x30, [sp], 96
    00578048ret x30
    0057804c
    0057804cloc_57804c:
    0057804cstr x0, [sp+8]
    00578050mov x3, x30
    00578054bl runtime.morestack_noctxt.abi0
    00578058ldr x0, [sp+8]
    0057805cb 0x577fe0
    00577fe0
    00578060
    00578060crypto/internal/fips140/edwards25519/field.(*Element).bytes: ; void crypto/internal/fips140/edwards25519/field.(*Element).bytes(crypto/internal/fips140/edwards25519/field.Element * v, uint8[32] * out)
    00578060ldr x16, [x28+16]
    00578064sub x17, sp, 160
    00578068subs xzr, x17, x16
    0057806cb.ls 0x5782c8
    00578070sub x20, sp, 288
    00578074stp x29, x30, [x20-8]
    00578078add sp, x20, 0
    0057807csub x29, sp, 8
    00578080str x0, [sp+296]
    00578084str x1, [sp+304]
    00578088str xzr, [sp+232]
    0057808cstp xzr, xzr, [sp+240]
    00578090ldr x1, [sp+296]
    00578094ldrsb x27, [x1]
    00578098ldp x2, x3, [x1]
    0057809cldp x4, x5, [x1+16]
    005780a0stp x2, x3, [sp+72]
    005780a4stp x4, x5, [sp+88]
    005780a8ldr x1, [x1+32]
    005780acstr x1, [sp+104]
    005780b0add x0, sp, 72
    005780b4bl crypto/internal/fips140/edwards25519/field.(*Element).reduce
    005780b8stur xzr, [sp+55]
    005780bcadrp x27, 0x19e000
    005780c0add x27, x27, 3712
    005780c4ldp x1, x2, [x27]
    005780c8adrp x27, 0x19e000
    005780ccadd x27, x27, 3728
    005780d0ldp x3, x4, [x27]
    005780d4stp x1, x2, [sp+192]
    005780d8stp x3, x4, [sp+208]
    005780dcadrp x27, 0x19e000
    005780e0ldr x1, [x27+3744]
    005780e4str x1, [sp+224]
    005780e8ldr x1, [sp+72]
    005780ecstr x1, [sp+192]
    005780f0ldr x1, [sp+80]
    005780f4str x1, [sp+200]
    005780f8ldr x1, [sp+88]
    005780fcstr x1, [sp+208]
    00578100ldr x1, [sp+96]
    00578104str x1, [sp+216]
    00578108ldr x1, [sp+104]
    0057810cstr x1, [sp+224]
    00578110str xzr, [sp+184]
    00578114movz x1, 5
    00578118str x1, [sp+176]
    0057811cb 0x578120
    00578120
    00578120loc_578120:
    00578120ldr x4, [sp+176]
    00578124ldr x5, [sp+184]
    00578128subs xzr, x4, x5
    0057812cb.gt 0x578134
    00578130b 0x5781c0
    00578134
    00578134loc_578134:
    00578134ldr x4, [sp+184]
    00578138str x4, [sp+136]
    0057813cldr x5, [sp+184]
    00578140add x6, sp, 192
    00578144ldr x5, [x6+3*x5]
    00578148str x5, [sp+120]
    0057814cmovz x5, 51
    00578150madd x4, x4, x5, xzr
    00578154str x4, [sp+144]
    00578158add x4, sp, 55
    0057815cldrsb x27, [x4]
    00578160b 0x578164
    00578164
    00578164loc_578164:
    00578164str x4, [sp+256]
    00578168orr x2, xzr, 8
    0057816cstr x2, [sp+264]
    00578170str x2, [sp+272]
    00578174ldr x4, [sp+120]
    00578178ldr x5, [sp+144]
    0057817csbfm x6, x5, 63, 63
    00578180add x6, x5, x6, lsr #61
    00578184and x6, x6, -8
    00578188sub x5, x5, x6
    0057818clslv x4, x4, x5
    00578190subs xzr, x5, 64
    00578194csel x3, x4, xzr, lo
    00578198str x3, [sp+168]
    0057819cldr x0, [sp+256]
    005781a0mov x1, x2
    005781a4bl crypto/internal/fips140deps/byteorder.LEPutUint64
    005781a8ldur x4, [sp+55]
    005781acstr x4, [sp+64]
    005781b0str xzr, [sp+160]
    005781b4orr x2, xzr, 8
    005781b8str x2, [sp+152]
    005781bcb 0x5781fc
    005781c0
    005781c0loc_5781c0:
    005781c0ldr x3, [sp+304]
    005781c4ldrsb x27, [x3]
    005781c8b 0x5781cc
    005781cc
    005781ccloc_5781cc:
    005781ccstr x3, [sp+256]
    005781d0orr x2, xzr, 32
    005781d4str x2, [sp+264]
    005781d8str x2, [sp+272]
    005781dcstr x3, [sp+232]
    005781e0str x2, [sp+240]
    005781e4str x2, [sp+248]
    005781e8ldr x0, [sp+232]
    005781ecmov x1, x2
    005781f0ldp x29, x30, [sp-8]
    005781f4add sp, sp, 288
    005781f8ret x30
    005781fc
    005781fcloc_5781fc:
    005781fcldr x4, [sp+152]
    00578200ldr x5, [sp+160]
    00578204subs xzr, x4, x5
    00578208b.gt 0x578210
    0057820cb 0x57829c
    00578210
    00578210loc_578210:
    00578210ldr x4, [sp+160]
    00578214str x4, [sp+128]
    00578218ldr x4, [sp+160]
    0057821cadd x5, sp, 64
    00578220ldrb w4, [x5+x4]
    00578224strb w4, [sp+63]
    00578228ldr x4, [sp+144]
    0057822csbfm x5, x4, 63, 63
    00578230add x4, x4, x5, lsr #61
    00578234ldr x5, [sp+128]
    00578238add x0, x5, x4, asr #3
    0057823cstr x0, [sp+112]
    00578240subs xzr, x0, 32
    00578244b.ge 0x57824c
    00578248b 0x578250
    0057824c
    0057824cloc_57824c:
    0057824cb 0x5782a0
    00578250
    00578250loc_578250:
    00578250ldr x4, [sp+304]
    00578254ldrsb x27, [x4]
    00578258subs xzr, x0, 32
    0057825cb.lo 0x578264
    00578260b 0x5782bc
    00578264
    00578264loc_578264:
    00578264ldrb w4, [x4+x0]
    00578268ldr x5, [sp+304]
    0057826cldrsb x27, [x5]
    00578270ldrb w6, [sp+63]
    00578274orr x4, x4, x6
    00578278subs xzr, x0, 32
    0057827cb.lo 0x578284
    00578280b 0x5782b4
    00578284
    00578284loc_578284:
    00578284strb w4, [x5+x0]
    00578288b 0x57828c
    0057828c
    0057828cloc_57828c:
    0057828cldr x4, [sp+160]
    00578290add x4, x4, 1
    00578294str x4, [sp+160]
    00578298b 0x5781fc
    0057829c
    0057829cloc_57829c:
    0057829cb 0x5782a0
    005782a0
    005782a0loc_5782a0:
    005782a0b 0x5782a4
    005782a4
    005782a4loc_5782a4:
    005782a4ldr x4, [sp+184]
    005782a8add x4, x4, 1
    005782acstr x4, [sp+184]
    005782b0b 0x578120
    005782b4
    005782b4loc_5782b4:
    005782b4orr x1, xzr, 32
    005782b8bl runtime.panicIndex
    005782bc
    005782bcloc_5782bc:
    005782bcorr x1, xzr, 32
    005782c0bl runtime.panicIndex
    005782c4hint
    005782c8
    005782c8loc_5782c8:
    005782c8stp x0, x1, [sp+8]
    005782ccmov x3, x30
    005782d0bl runtime.morestack_noctxt.abi0
    005782d4ldp x0, x1, [sp+8]
    005782d8b 0x578060
    005782dcudf 0
    00578060