File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    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
    005782e0
    005782e0crypto/internal/fips140/edwards25519/field.(*Element).Equal: ; void crypto/internal/fips140/edwards25519/field.(*Element).Equal(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * u)
    005782e0ldr x16, [x28+16]
    005782e4sub x17, sp, 48
    005782e8subs xzr, x17, x16
    005782ecb.ls 0x578384
    005782f0str x30, [sp-176]!
    005782f4stur x29, [sp-8]
    005782f8sub x29, sp, 8
    005782fcstr x0, [sp+184]
    00578300str x1, [sp+192]
    00578304str xzr, [sp+56]
    00578308mov x0, x1
    0057830cbl crypto/internal/fips140/edwards25519/field.(*Element).Bytes
    00578310str x0, [sp+144]
    00578314str x1, [sp+152]
    00578318str x2, [sp+160]
    0057831cldr x0, [sp+184]
    00578320bl crypto/internal/fips140/edwards25519/field.(*Element).Bytes
    00578324str x0, [sp+120]
    00578328str x1, [sp+128]
    0057832cstr x2, [sp+136]
    00578330ldr x1, [sp+144]
    00578334ldr x2, [sp+152]
    00578338ldr x3, [sp+160]
    0057833cstr x1, [sp+96]
    00578340str x2, [sp+104]
    00578344str x3, [sp+112]
    00578348ldr x3, [sp+120]
    0057834cldr x4, [sp+128]
    00578350ldr x5, [sp+136]
    00578354str x3, [sp+72]
    00578358str x4, [sp+80]
    0057835cstr x5, [sp+88]
    00578360ldr x0, [sp+96]
    00578364ldr x1, [sp+104]
    00578368ldr x2, [sp+112]
    0057836cbl crypto/internal/fips140/subtle.ConstantTimeCompare
    00578370str x0, [sp+64]
    00578374str x0, [sp+56]
    00578378ldur x29, [sp-8]
    0057837cldr x30, [sp], 176
    00578380ret x30
    00578384
    00578384loc_578384:
    00578384stp x0, x1, [sp+8]
    00578388mov x3, x30
    0057838cbl runtime.morestack_noctxt.abi0
    00578390ldp x0, x1, [sp+8]
    00578394b 0x5782e0
    00578398udf 0
    0057839cudf 0
    005782e0
    005783a0
    005783a0crypto/internal/fips140/edwards25519/field.mask64Bits: ; void crypto/internal/fips140/edwards25519/field.mask64Bits(int cond)
    005783a0str x30, [sp-32]!
    005783a4stur x29, [sp-8]
    005783a8sub x29, sp, 8
    005783acstr x0, [sp+40]
    005783b0str xzr, [sp+16]
    005783b4sub x0, xzr, x0
    005783b8str x0, [sp+16]
    005783bcadd x29, sp, 24
    005783c0add sp, sp, 32
    005783c4ret x30
    005783c8udf 0
    005783ccudf 0
    005783a0
    005783d0
    005783d0crypto/internal/fips140/edwards25519/field.(*Element).Select: ; void crypto/internal/fips140/edwards25519/field.(*Element).Select(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * a, crypto/internal/fips140/edwards25519/field.Element * b, int cond)
    005783d0ldr x16, [x28+16]
    005783d4subs xzr, sp, x16
    005783d8b.ls 0x57852c
    005783dcstr x30, [sp-48]!
    005783e0stur x29, [sp-8]
    005783e4sub x29, sp, 8
    005783e8str x0, [sp+56]
    005783ecstr x1, [sp+64]
    005783f0str x2, [sp+72]
    005783f4str x3, [sp+80]
    005783f8str xzr, [sp+32]
    005783fcldr x0, [sp+80]
    00578400bl crypto/internal/fips140/edwards25519/field.mask64Bits
    00578404str x0, [sp+24]
    00578408ldr x1, [sp+56]
    0057840cldrsb x27, [x1]
    00578410ldr x2, [sp+64]
    00578414ldrsb x27, [x2]
    00578418ldr x2, [x2]
    0057841cand x2, x0, x2
    00578420ldr x3, [sp+72]
    00578424ldrsb x27, [x3]
    00578428ldr x3, [x3]
    0057842cbic x3, x3, x0
    00578430orr x2, x2, x3
    00578434str x2, [x1]
    00578438ldr x1, [sp+56]
    0057843cldrsb x27, [x1]
    00578440ldr x2, [sp+24]
    00578444ldr x3, [sp+64]
    00578448ldrsb x27, [x3]
    0057844cldr x3, [x3+8]
    00578450and x2, x2, x3
    00578454ldr x3, [sp+24]
    00578458ldr x4, [sp+72]
    0057845cldrsb x27, [x4]
    00578460ldr x4, [x4+8]
    00578464bic x3, x4, x3
    00578468orr x2, x2, x3
    0057846cstr x2, [x1+8]
    00578470ldr x1, [sp+56]
    00578474ldrsb x27, [x1]
    00578478ldr x2, [sp+24]
    0057847cldr x3, [sp+64]
    00578480ldrsb x27, [x3]
    00578484ldr x3, [x3+16]
    00578488and x2, x2, x3
    0057848cldr x3, [sp+24]
    00578490ldr x4, [sp+72]
    00578494ldrsb x27, [x4]
    00578498ldr x4, [x4+16]
    0057849cbic x3, x4, x3
    005784a0orr x2, x2, x3
    005784a4str x2, [x1+16]
    005784a8ldr x1, [sp+56]
    005784acldrsb x27, [x1]
    005784b0ldr x2, [sp+24]
    005784b4ldr x3, [sp+64]
    005784b8ldrsb x27, [x3]
    005784bcldr x3, [x3+24]
    005784c0and x2, x2, x3
    005784c4ldr x3, [sp+24]
    005784c8ldr x4, [sp+72]
    005784ccldrsb x27, [x4]
    005784d0ldr x4, [x4+24]
    005784d4bic x3, x4, x3
    005784d8orr x2, x2, x3
    005784dcstr x2, [x1+24]
    005784e0ldr x1, [sp+56]
    005784e4ldrsb x27, [x1]
    005784e8ldr x2, [sp+24]
    005784ecldr x3, [sp+64]
    005784f0ldrsb x27, [x3]
    005784f4ldr x3, [x3+32]
    005784f8and x2, x2, x3
    005784fcldr x3, [sp+24]
    00578500ldr x4, [sp+72]
    00578504ldrsb x27, [x4]
    00578508ldr x4, [x4+32]
    0057850cbic x3, x4, x3
    00578510orr x2, x2, x3
    00578514str x2, [x1+32]
    00578518ldr x0, [sp+56]
    0057851cstr x0, [sp+32]
    00578520ldur x29, [sp-8]
    00578524ldr x30, [sp], 48
    00578528ret x30
    0057852c
    0057852cloc_57852c:
    0057852cstp x0, x1, [sp+8]
    00578530stp x2, x3, [sp+24]
    00578534mov x3, x30
    00578538bl runtime.morestack_noctxt.abi0
    0057853cldp x0, x1, [sp+8]
    00578540ldp x2, x3, [sp+24]
    00578544b 0x5783d0
    00578548udf 0
    0057854cudf 0
    005783d0
    00578550
    00578550crypto/internal/fips140/edwards25519/field.(*Element).Swap: ; void crypto/internal/fips140/edwards25519/field.(*Element).Swap(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * u, int cond)
    00578550ldr x16, [x28+16]
    00578554subs xzr, sp, x16
    00578558b.ls 0x57877c
    0057855cstr x30, [sp-48]!
    00578560stur x29, [sp-8]
    00578564sub x29, sp, 8
    00578568str x0, [sp+56]
    0057856cstr x1, [sp+64]
    00578570str x2, [sp+72]
    00578574mov x0, x2
    00578578bl crypto/internal/fips140/edwards25519/field.mask64Bits
    0057857cstr x0, [sp+32]
    00578580ldr x1, [sp+56]
    00578584ldrsb x27, [x1]
    00578588ldr x1, [x1]
    0057858cldr x2, [sp+64]
    00578590ldrsb x27, [x2]
    00578594ldr x2, [x2]
    00578598eor x1, x1, x2
    0057859cand x1, x0, x1
    005785a0str x1, [sp+24]
    005785a4ldr x2, [sp+56]
    005785a8ldrsb x27, [x2]
    005785acldr x3, [sp+56]
    005785b0ldrsb x27, [x3]
    005785b4ldr x3, [x3]
    005785b8eor x1, x3, x1
    005785bcstr x1, [x2]
    005785c0ldr x1, [sp+64]
    005785c4ldrsb x27, [x1]
    005785c8ldr x2, [sp+64]
    005785ccldrsb x27, [x2]
    005785d0ldr x2, [x2]
    005785d4ldr x3, [sp+24]
    005785d8eor x2, x2, x3
    005785dcstr x2, [x1]
    005785e0ldr x1, [sp+32]
    005785e4ldr x2, [sp+56]
    005785e8ldrsb x27, [x2]
    005785ecldr x2, [x2+8]
    005785f0ldr x3, [sp+64]
    005785f4ldrsb x27, [x3]
    005785f8ldr x3, [x3+8]
    005785fceor x2, x2, x3
    00578600and x1, x1, x2
    00578604str x1, [sp+24]
    00578608ldr x2, [sp+56]
    0057860cldrsb x27, [x2]
    00578610ldr x3, [sp+56]
    00578614ldrsb x27, [x3]
    00578618ldr x3, [x3+8]
    0057861ceor x1, x3, x1
    00578620str x1, [x2+8]
    00578624ldr x1, [sp+64]
    00578628ldrsb x27, [x1]
    0057862cldr x2, [sp+64]
    00578630ldrsb x27, [x2]
    00578634ldr x2, [x2+8]
    00578638ldr x3, [sp+24]
    0057863ceor x2, x2, x3
    00578640str x2, [x1+8]
    00578644ldr x1, [sp+32]
    00578648ldr x2, [sp+56]
    0057864cldrsb x27, [x2]
    00578650ldr x2, [x2+16]
    00578654ldr x3, [sp+64]
    00578658ldrsb x27, [x3]
    0057865cldr x3, [x3+16]
    00578660eor x2, x2, x3
    00578664and x1, x1, x2
    00578668str x1, [sp+24]
    0057866cldr x2, [sp+56]
    00578670ldrsb x27, [x2]
    00578674ldr x3, [sp+56]
    00578678ldrsb x27, [x3]
    0057867cldr x3, [x3+16]
    00578680eor x1, x3, x1
    00578684str x1, [x2+16]
    00578688ldr x1, [sp+64]
    0057868cldrsb x27, [x1]
    00578690ldr x2, [sp+64]
    00578694ldrsb x27, [x2]
    00578698ldr x2, [x2+16]
    0057869cldr x3, [sp+24]
    005786a0eor x2, x2, x3
    005786a4str x2, [x1+16]
    005786a8ldr x1, [sp+32]
    005786acldr x2, [sp+56]
    005786b0ldrsb x27, [x2]
    005786b4ldr x2, [x2+24]
    005786b8ldr x3, [sp+64]
    005786bcldrsb x27, [x3]
    005786c0ldr x3, [x3+24]
    005786c4eor x2, x2, x3
    005786c8and x1, x1, x2
    005786ccstr x1, [sp+24]
    005786d0ldr x2, [sp+56]
    005786d4ldrsb x27, [x2]
    005786d8ldr x3, [sp+56]
    005786dcldrsb x27, [x3]
    005786e0ldr x3, [x3+24]
    005786e4eor x1, x3, x1
    005786e8str x1, [x2+24]
    005786ecldr x1, [sp+64]
    005786f0ldrsb x27, [x1]
    005786f4ldr x2, [sp+64]
    005786f8ldrsb x27, [x2]
    005786fcldr x2, [x2+24]
    00578700ldr x3, [sp+24]
    00578704eor x2, x2, x3
    00578708str x2, [x1+24]
    0057870cldr x1, [sp+32]
    00578710ldr x2, [sp+56]
    00578714ldrsb x27, [x2]
    00578718ldr x2, [x2+32]
    0057871cldr x3, [sp+64]
    00578720ldrsb x27, [x3]
    00578724ldr x3, [x3+32]
    00578728eor x2, x2, x3
    0057872cand x1, x1, x2
    00578730str x1, [sp+24]
    00578734ldr x2, [sp+56]
    00578738ldrsb x27, [x2]
    0057873cldr x3, [sp+56]
    00578740ldrsb x27, [x3]
    00578744ldr x3, [x3+32]
    00578748eor x1, x3, x1
    0057874cstr x1, [x2+32]
    00578750ldr x1, [sp+64]
    00578754ldrsb x27, [x1]
    00578758ldr x2, [sp+64]
    0057875cldrsb x27, [x2]
    00578760ldr x2, [x2+32]
    00578764ldr x3, [sp+24]
    00578768eor x2, x2, x3
    0057876cstr x2, [x1+32]
    00578770ldur x29, [sp-8]
    00578774ldr x30, [sp], 48
    00578778ret x30
    0057877c
    0057877cloc_57877c:
    0057877cstp x0, x1, [sp+8]
    00578780str x2, [sp+24]
    00578784mov x3, x30
    00578788bl runtime.morestack_noctxt.abi0
    0057878cldp x0, x1, [sp+8]
    00578790ldr x2, [sp+24]
    00578794b 0x578550
    00578798udf 0
    0057879cudf 0
    00578550
    005787a0
    005787a0crypto/internal/fips140/edwards25519/field.(*Element).IsNegative: ; void crypto/internal/fips140/edwards25519/field.(*Element).IsNegative(crypto/internal/fips140/edwards25519/field.Element * v)
    005787a0ldr x16, [x28+16]
    005787a4subs xzr, sp, x16
    005787a8b.ls 0x578800
    005787acstr x30, [sp-64]!
    005787b0stur x29, [sp-8]
    005787b4sub x29, sp, 8
    005787b8str x0, [sp+72]
    005787bcstr xzr, [sp+24]
    005787c0bl crypto/internal/fips140/edwards25519/field.(*Element).Bytes
    005787c4str x0, [sp+32]
    005787c8str x1, [sp+40]
    005787ccstr x2, [sp+48]
    005787d0subs xzr, x1, 0
    005787d4b.hi 0x5787dc
    005787d8b 0x5787f4
    005787dc
    005787dcloc_5787dc:
    005787dcldrb w1, [x0]
    005787e0and x0, x1, 1
    005787e4str x0, [sp+24]
    005787e8ldur x29, [sp-8]
    005787ecldr x30, [sp], 64
    005787f0ret x30
    005787f4
    005787f4loc_5787f4:
    005787f4mov x0, xzr
    005787f8bl runtime.panicIndex
    005787fchint
    00578800
    00578800loc_578800:
    00578800str x0, [sp+8]
    00578804mov x3, x30
    00578808bl runtime.morestack_noctxt.abi0
    0057880cldr x0, [sp+8]
    00578810b 0x5787a0
    00578814udf 0
    00578818udf 0
    0057881cudf 0
    005787a0
    00578820
    00578820crypto/internal/fips140/edwards25519/field.(*Element).Absolute: ; void crypto/internal/fips140/edwards25519/field.(*Element).Absolute(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * u)
    00578820ldr x16, [x28+16]
    00578824subs xzr, sp, x16
    00578828b.ls 0x5788a4
    0057882cstr x30, [sp-128]!
    00578830stur x29, [sp-8]
    00578834sub x29, sp, 8
    00578838str x0, [sp+136]
    0057883cstr x1, [sp+144]
    00578840str xzr, [sp+88]
    00578844stp xzr, xzr, [sp+40]
    00578848stp xzr, xzr, [sp+56]
    0057884cstr xzr, [sp+72]
    00578850add x0, sp, 40
    00578854str x0, [sp+112]
    00578858ldr x1, [sp+144]
    0057885cbl crypto/internal/fips140/edwards25519/field.(*Element).Negate
    00578860str x0, [sp+104]
    00578864ldr x0, [sp+144]
    00578868bl crypto/internal/fips140/edwards25519/field.(*Element).IsNegative
    0057886cstr x0, [sp+80]
    00578870ldr x2, [sp+136]
    00578874ldr x3, [sp+144]
    00578878ldr x1, [sp+104]
    0057887cmov x4, x0
    00578880mov x0, x2
    00578884mov x2, x3
    00578888mov x3, x4
    0057888cbl crypto/internal/fips140/edwards25519/field.(*Element).Select
    00578890str x0, [sp+96]
    00578894str x0, [sp+88]
    00578898ldur x29, [sp-8]
    0057889cldr x30, [sp], 128
    005788a0ret x30
    005788a4
    005788a4loc_5788a4:
    005788a4stp x0, x1, [sp+8]
    005788a8mov x3, x30
    005788acbl runtime.morestack_noctxt.abi0
    005788b0ldp x0, x1, [sp+8]
    005788b4b 0x578820
    005788b8udf 0
    005788bcudf 0
    00578820
    005788c0
    005788c0crypto/internal/fips140/edwards25519/field.(*Element).Multiply: ; void crypto/internal/fips140/edwards25519/field.(*Element).Multiply(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * x, crypto/internal/fips140/edwards25519/field.Element * y)
    005788c0ldr x16, [x28+16]
    005788c4subs xzr, sp, x16
    005788c8b.ls 0x57890c
    005788ccstr x30, [sp-48]!
    005788d0stur x29, [sp-8]
    005788d4sub x29, sp, 8
    005788d8str x0, [sp+56]
    005788dcstr x1, [sp+64]
    005788e0str x2, [sp+72]
    005788e4str xzr, [sp+32]
    005788e8ldr x1, [sp+64]
    005788ecldr x2, [sp+72]
    005788f0ldr x0, [sp+56]
    005788f4bl crypto/internal/fips140/edwards25519/field.feMul
    005788f8ldr x0, [sp+56]
    005788fcstr x0, [sp+32]
    00578900ldur x29, [sp-8]
    00578904ldr x30, [sp], 48
    00578908ret x30
    0057890c
    0057890cloc_57890c:
    0057890cstp x0, x1, [sp+8]
    00578910str x2, [sp+24]
    00578914mov x3, x30
    00578918bl runtime.morestack_noctxt.abi0
    0057891cldp x0, x1, [sp+8]
    00578920ldr x2, [sp+24]
    00578924b 0x5788c0
    00578928udf 0
    0057892cudf 0
    005788c0
    00578930
    00578930crypto/internal/fips140/edwards25519/field.(*Element).Square: ; void crypto/internal/fips140/edwards25519/field.(*Element).Square(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * x)
    00578930ldr x16, [x28+16]
    00578934subs xzr, sp, x16
    00578938b.ls 0x578974
    0057893cstr x30, [sp-48]!
    00578940stur x29, [sp-8]
    00578944sub x29, sp, 8
    00578948str x0, [sp+56]
    0057894cstr x1, [sp+64]
    00578950str xzr, [sp+32]
    00578954ldr x1, [sp+64]
    00578958ldr x0, [sp+56]
    0057895cbl crypto/internal/fips140/edwards25519/field.feSquare
    00578960ldr x0, [sp+56]
    00578964str x0, [sp+32]
    00578968ldur x29, [sp-8]
    0057896cldr x30, [sp], 48
    00578970ret x30
    00578974
    00578974loc_578974:
    00578974stp x0, x1, [sp+8]
    00578978mov x3, x30
    0057897cbl runtime.morestack_noctxt.abi0
    00578980ldp x0, x1, [sp+8]
    00578984b 0x578930
    00578988udf 0
    0057898cudf 0
    00578930
    00578990
    00578990crypto/internal/fips140/edwards25519/field.(*Element).Mult32: ; void crypto/internal/fips140/edwards25519/field.(*Element).Mult32(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * x, uint32 y)
    00578990ldr x16, [x28+16]
    00578994sub x17, sp, 128
    00578998subs xzr, x17, x16
    0057899cb.ls 0x578b3c
    005789a0sub x20, sp, 256
    005789a4stp x29, x30, [x20-8]
    005789a8add sp, x20, 0
    005789acsub x29, sp, 8
    005789b0str x0, [sp+264]
    005789b4str x1, [sp+272]
    005789b8str w2, [sp+280]
    005789bcstr xzr, [sp+240]
    005789c0ldr x2, [sp+272]
    005789c4ldrsb x27, [x2]
    005789c8ldr x0, [x2]
    005789ccstr x0, [sp+152]
    005789d0ldr w1, [sp+280]
    005789d4bl crypto/internal/fips140/edwards25519/field.mul51
    005789d8str x0, [sp+168]
    005789dcstr x1, [sp+160]
    005789e0str x0, [sp+112]
    005789e4str x1, [sp+104]
    005789e8str x0, [sp+88]
    005789ecstr x1, [sp+96]
    005789f0ldr x2, [sp+272]
    005789f4ldrsb x27, [x2]
    005789f8ldr x0, [x2+8]
    005789fcstr x0, [sp+144]
    00578a00ldr w1, [sp+280]
    00578a04bl crypto/internal/fips140/edwards25519/field.mul51
    00578a08str x0, [sp+160]
    00578a0cstr x1, [sp+168]
    00578a10str x0, [sp+232]
    00578a14str x1, [sp+224]
    00578a18str x0, [sp+72]
    00578a1cstr x1, [sp+80]
    00578a20ldr x2, [sp+272]
    00578a24ldrsb x27, [x2]
    00578a28ldr x0, [x2+16]
    00578a2cstr x0, [sp+136]
    00578a30ldr w1, [sp+280]
    00578a34bl crypto/internal/fips140/edwards25519/field.mul51
    00578a38str x0, [sp+168]
    00578a3cstr x1, [sp+160]
    00578a40str x0, [sp+216]
    00578a44str x1, [sp+208]
    00578a48str x0, [sp+56]
    00578a4cstr x1, [sp+64]
    00578a50ldr x2, [sp+272]
    00578a54ldrsb x27, [x2]
    00578a58ldr x0, [x2+24]
    00578a5cstr x0, [sp+128]
    00578a60ldr w1, [sp+280]
    00578a64bl crypto/internal/fips140/edwards25519/field.mul51
    00578a68str x0, [sp+160]
    00578a6cstr x1, [sp+168]
    00578a70str x0, [sp+200]
    00578a74str x1, [sp+192]
    00578a78str x0, [sp+40]
    00578a7cstr x1, [sp+48]
    00578a80ldr x2, [sp+272]
    00578a84ldrsb x27, [x2]
    00578a88ldr x0, [x2+32]
    00578a8cstr x0, [sp+120]
    00578a90ldr w1, [sp+280]
    00578a94bl crypto/internal/fips140/edwards25519/field.mul51
    00578a98str x0, [sp+168]
    00578a9cstr x1, [sp+160]
    00578aa0str x0, [sp+184]
    00578aa4str x1, [sp+176]
    00578aa8str x0, [sp+24]
    00578aacstr x1, [sp+32]
    00578ab0ldr x2, [sp+264]
    00578ab4ldrsb x27, [x2]
    00578ab8ldr x3, [sp+88]
    00578abcmovz x4, 19
    00578ac0madd x3, x1, x4, x3
    00578ac4str x3, [x2]
    00578ac8ldr x2, [sp+264]
    00578accldrsb x27, [x2]
    00578ad0ldr x3, [sp+96]
    00578ad4ldr x4, [sp+72]
    00578ad8add x3, x4, x3
    00578adcstr x3, [x2+8]
    00578ae0ldr x2, [sp+264]
    00578ae4ldrsb x27, [x2]
    00578ae8ldr x3, [sp+80]
    00578aecldr x4, [sp+56]
    00578af0add x3, x4, x3
    00578af4str x3, [x2+16]
    00578af8ldr x2, [sp+264]
    00578afcldrsb x27, [x2]
    00578b00ldr x3, [sp+64]
    00578b04ldr x4, [sp+40]
    00578b08add x3, x4, x3
    00578b0cstr x3, [x2+24]
    00578b10ldr x2, [sp+264]
    00578b14ldrsb x27, [x2]
    00578b18ldr x3, [sp+48]
    00578b1cldr x4, [sp+24]
    00578b20add x3, x4, x3
    00578b24str x3, [x2+32]
    00578b28ldr x0, [sp+264]
    00578b2cstr x0, [sp+240]
    00578b30ldp x29, x30, [sp-8]
    00578b34add sp, sp, 256
    00578b38ret x30
    00578b3c
    00578b3cloc_578b3c:
    00578b3cstp x0, x1, [sp+8]
    00578b40str w2, [sp+24]
    00578b44mov x3, x30
    00578b48bl runtime.morestack_noctxt.abi0
    00578b4cldp x0, x1, [sp+8]
    00578b50ldr w2, [sp+24]
    00578b54b 0x578990
    00578b58udf 0
    00578b5cudf 0
    00578990
    00578b60
    00578b60crypto/internal/fips140/edwards25519/field.mul51: ; void crypto/internal/fips140/edwards25519/field.mul51(uint64 a, uint32 b)
    00578b60str x30, [sp-80]!
    00578b64stur x29, [sp-8]
    00578b68sub x29, sp, 8
    00578b6cstr x0, [sp+88]
    00578b70str w1, [sp+96]
    00578b74str xzr, [sp+24]
    00578b78str xzr, [sp+32]
    00578b7cldr w2, [sp+96]
    00578b80madd x3, x0, x2, xzr
    00578b84umulh x2, x0, x2
    00578b88str x2, [sp+48]
    00578b8cstr x3, [sp+40]
    00578b90str x2, [sp+64]
    00578b94str x3, [sp+56]
    00578b98str x2, [sp+16]
    00578b9cstr x3, [sp+8]
    00578ba0and x0, x3, 0x7ffffffffffff
    00578ba4str x0, [sp+24]
    00578ba8extr x1, x2, x3, 51
    00578bacstr x1, [sp+32]
    00578bb0add x29, sp, 72
    00578bb4add sp, sp, 80
    00578bb8ret x30
    00578bbcudf 0
    00578b60
    00578bc0
    00578bc0crypto/internal/fips140/edwards25519/field.(*Element).Pow22523: ; void crypto/internal/fips140/edwards25519/field.(*Element).Pow22523(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * x)
    00578bc0ldr x16, [x28+16]
    00578bc4sub x17, sp, 112
    00578bc8subs xzr, x17, x16
    00578bccb.ls 0x578f28
    00578bd0str x30, [sp-240]!
    00578bd4stur x29, [sp-8]
    00578bd8sub x29, sp, 8
    00578bdcstr x0, [sp+248]
    00578be0str x1, [sp+256]
    00578be4str xzr, [sp+216]
    00578be8stp xzr, xzr, [sp+120]
    00578becstp xzr, xzr, [sp+136]
    00578bf0str xzr, [sp+152]
    00578bf4stp xzr, xzr, [sp+80]
    00578bf8stp xzr, xzr, [sp+96]
    00578bfcstr xzr, [sp+112]
    00578c00stp xzr, xzr, [sp+40]
    00578c04stp xzr, xzr, [sp+56]
    00578c08str xzr, [sp+72]
    00578c0cldr x1, [sp+256]
    00578c10add x0, sp, 120
    00578c14bl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00578c18add x0, sp, 80
    00578c1cadd x1, sp, 120
    00578c20bl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00578c24add x0, sp, 80
    00578c28add x1, sp, 80
    00578c2cbl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00578c30ldr x1, [sp+256]
    00578c34add x0, sp, 80
    00578c38add x2, sp, 80
    00578c3cbl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00578c40add x0, sp, 120
    00578c44add x1, sp, 120
    00578c48add x2, sp, 80
    00578c4cbl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00578c50add x0, sp, 120
    00578c54add x1, sp, 120
    00578c58bl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00578c5cadd x0, sp, 120
    00578c60add x1, sp, 80
    00578c64add x2, sp, 120
    00578c68bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00578c6cadd x0, sp, 80
    00578c70add x1, sp, 120
    00578c74bl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00578c78orr x2, xzr, 1
    00578c7cstr x2, [sp+208]
    00578c80b 0x578c84
    00578c84
    00578c84loc_578c84:
    00578c84ldr x3, [sp+208]
    00578c88subs xzr, x3, 5
    00578c8cb.lt 0x578c94
    00578c90b 0x578cb8
    00578c94
    00578c94loc_578c94:
    00578c94add x0, sp, 80
    00578c98add x1, sp, 80
    00578c9cbl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00578ca0b 0x578ca4
    00578ca4
    00578ca4loc_578ca4:
    00578ca4ldr x3, [sp+208]
    00578ca8add x3, x3, 1
    00578cacstr x3, [sp+208]
    00578cb0orr x2, xzr, 1
    00578cb4b 0x578c84
    00578cb8
    00578cb8loc_578cb8:
    00578cb8add x0, sp, 120
    00578cbcadd x1, sp, 80
    00578cc0add x2, sp, 120
    00578cc4bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00578cc8add x0, sp, 80
    00578cccadd x1, sp, 120
    00578cd0bl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00578cd4orr x3, xzr, 1
    00578cd8str x3, [sp+200]
    00578cdcb 0x578ce0
    00578ce0
    00578ce0loc_578ce0:
    00578ce0ldr x4, [sp+200]
    00578ce4subs xzr, x4, 10
    00578ce8b.lt 0x578cf0
    00578cecb 0x578d14
    00578cf0
    00578cf0loc_578cf0:
    00578cf0add x0, sp, 80
    00578cf4add x1, sp, 80
    00578cf8bl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00578cfcb 0x578d00
    00578d00
    00578d00loc_578d00:
    00578d00ldr x4, [sp+200]
    00578d04add x4, x4, 1
    00578d08str x4, [sp+200]
    00578d0corr x3, xzr, 1
    00578d10b 0x578ce0
    00578d14
    00578d14loc_578d14:
    00578d14add x0, sp, 80
    00578d18add x1, sp, 80
    00578d1cadd x2, sp, 120
    00578d20bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00578d24add x0, sp, 40
    00578d28add x1, sp, 80
    00578d2cbl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00578d30orr x3, xzr, 1
    00578d34str x3, [sp+192]
    00578d38b 0x578d3c
    00578d3c
    00578d3cloc_578d3c:
    00578d3cldr x4, [sp+192]
    00578d40subs xzr, x4, 20
    00578d44b.lt 0x578d4c
    00578d48b 0x578d70
    00578d4c
    00578d4cloc_578d4c:
    00578d4cadd x0, sp, 40
    00578d50add x1, sp, 40
    00578d54bl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00578d58b 0x578d5c
    00578d5c
    00578d5cloc_578d5c:
    00578d5cldr x4, [sp+192]
    00578d60add x4, x4, 1
    00578d64str x4, [sp+192]
    00578d68orr x3, xzr, 1
    00578d6cb 0x578d3c
    00578d70
    00578d70loc_578d70:
    00578d70add x0, sp, 80
    00578d74add x1, sp, 40
    00578d78add x2, sp, 80
    00578d7cbl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00578d80add x0, sp, 80
    00578d84add x1, sp, 80
    00578d88bl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00578d8corr x3, xzr, 1
    00578d90str x3, [sp+184]
    00578d94b 0x578d98
    00578d98
    00578d98loc_578d98:
    00578d98ldr x4, [sp+184]
    00578d9csubs xzr, x4, 10
    00578da0b.lt 0x578da8
    00578da4b 0x578dcc
    00578da8
    00578da8loc_578da8:
    00578da8add x0, sp, 80
    00578dacadd x1, sp, 80
    00578db0bl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00578db4b 0x578db8
    00578db8
    00578db8loc_578db8:
    00578db8ldr x4, [sp+184]
    00578dbcadd x4, x4, 1
    00578dc0str x4, [sp+184]
    00578dc4orr x3, xzr, 1
    00578dc8b 0x578d98
    00578dcc
    00578dccloc_578dcc:
    00578dccadd x0, sp, 120
    00578dd0add x1, sp, 80
    00578dd4add x2, sp, 120
    00578dd8bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00578ddcadd x0, sp, 80
    00578de0add x1, sp, 120
    00578de4bl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00578de8orr x3, xzr, 1
    00578decstr x3, [sp+176]
    00578df0b 0x578df4
    00578df4
    00578df4loc_578df4:
    00578df4ldr x4, [sp+176]
    00578df8subs xzr, x4, 50
    00578dfcb.lt 0x578e04
    00578e00b 0x578e28
    00578e04
    00578e04loc_578e04:
    00578e04add x0, sp, 80
    00578e08add x1, sp, 80
    00578e0cbl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00578e10b 0x578e14
    00578e14
    00578e14loc_578e14:
    00578e14ldr x4, [sp+176]
    00578e18add x4, x4, 1
    00578e1cstr x4, [sp+176]
    00578e20orr x3, xzr, 1
    00578e24b 0x578df4
    00578e28
    00578e28loc_578e28:
    00578e28add x0, sp, 80
    00578e2cadd x1, sp, 80
    00578e30add x2, sp, 120
    00578e34bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00578e38add x0, sp, 40
    00578e3cadd x1, sp, 80
    00578e40bl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00578e44orr x3, xzr, 1
    00578e48str x3, [sp+168]
    00578e4cb 0x578e50
    00578e50
    00578e50loc_578e50:
    00578e50ldr x4, [sp+168]
    00578e54subs xzr, x4, 100
    00578e58b.lt 0x578e60
    00578e5cb 0x578e84
    00578e60
    00578e60loc_578e60:
    00578e60add x0, sp, 40
    00578e64add x1, sp, 40
    00578e68bl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00578e6cb 0x578e70
    00578e70
    00578e70loc_578e70:
    00578e70ldr x4, [sp+168]
    00578e74add x4, x4, 1
    00578e78str x4, [sp+168]
    00578e7corr x3, xzr, 1
    00578e80b 0x578e50
    00578e84
    00578e84loc_578e84:
    00578e84add x0, sp, 80
    00578e88add x1, sp, 40
    00578e8cadd x2, sp, 80
    00578e90bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00578e94add x0, sp, 80
    00578e98add x1, sp, 80
    00578e9cbl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00578ea0orr x3, xzr, 1
    00578ea4str x3, [sp+160]
    00578ea8b 0x578eac
    00578eac
    00578eacloc_578eac:
    00578eacldr x3, [sp+160]
    00578eb0subs xzr, x3, 50
    00578eb4b.lt 0x578ebc
    00578eb8b 0x578edc
    00578ebc
    00578ebcloc_578ebc:
    00578ebcadd x0, sp, 80
    00578ec0add x1, sp, 80
    00578ec4bl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00578ec8b 0x578ecc
    00578ecc
    00578eccloc_578ecc:
    00578eccldr x3, [sp+160]
    00578ed0add x3, x3, 1
    00578ed4str x3, [sp+160]
    00578ed8b 0x578eac
    00578edc
    00578edcloc_578edc:
    00578edcadd x0, sp, 120
    00578ee0add x1, sp, 80
    00578ee4add x2, sp, 120
    00578ee8bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00578eecadd x0, sp, 120
    00578ef0add x1, sp, 120
    00578ef4bl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00578ef8add x0, sp, 120
    00578efcadd x1, sp, 120
    00578f00bl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00578f04ldr x2, [sp+256]
    00578f08ldr x0, [sp+248]
    00578f0cadd x1, sp, 120
    00578f10bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00578f14str x0, [sp+224]
    00578f18str x0, [sp+216]
    00578f1cldur x29, [sp-8]
    00578f20ldr x30, [sp], 240
    00578f24ret x30
    00578f28
    00578f28loc_578f28:
    00578f28stp x0, x1, [sp+8]
    00578f2cmov x3, x30
    00578f30bl runtime.morestack_noctxt.abi0
    00578f34ldp x0, x1, [sp+8]
    00578f38b 0x578bc0
    00578f3cudf 0
    00578bc0
    00578f40
    00578f40crypto/internal/fips140/edwards25519/field.(*Element).SqrtRatio: ; void crypto/internal/fips140/edwards25519/field.(*Element).SqrtRatio(crypto/internal/fips140/edwards25519/field.Element * r, crypto/internal/fips140/edwards25519/field.Element * u, crypto/internal/fips140/edwards25519/field.Element * v)
    00578f40ldr x16, [x28+16]
    00578f44sub x17, sp, 368
    00578f48subs xzr, x17, x16
    00578f4cb.ls 0x579194
    00578f50sub x20, sp, 496
    00578f54stp x29, x30, [x20-8]
    00578f58add sp, x20, 0
    00578f5csub x29, sp, 8
    00578f60str x0, [sp+504]
    00578f64str x1, [sp+512]
    00578f68str x2, [sp+520]
    00578f6cstr xzr, [sp+464]
    00578f70str xzr, [sp+48]
    00578f74stp xzr, xzr, [sp+360]
    00578f78stp xzr, xzr, [sp+376]
    00578f7cstr xzr, [sp+392]
    00578f80add x2, sp, 360
    00578f84str x2, [sp+432]
    00578f88stp xzr, xzr, [sp+320]
    00578f8cstp xzr, xzr, [sp+336]
    00578f90str xzr, [sp+352]
    00578f94add x0, sp, 320
    00578f98str x0, [sp+480]
    00578f9cldr x1, [sp+520]
    00578fa0bl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00578fa4str x0, [sp+400]
    00578fa8stp xzr, xzr, [sp+280]
    00578facstp xzr, xzr, [sp+296]
    00578fb0str xzr, [sp+312]
    00578fb4add x2, sp, 280
    00578fb8str x2, [sp+480]
    00578fbcldr x0, [sp+432]
    00578fc0ldr x1, [sp+400]
    00578fc4ldr x2, [sp+520]
    00578fc8bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00578fccstr x0, [sp+472]
    00578fd0ldr x1, [sp+512]
    00578fd4ldr x2, [sp+480]
    00578fd8mov x3, x0
    00578fdcmov x0, x2
    00578fe0mov x2, x3
    00578fe4bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00578fe8str x0, [sp+416]
    00578fecstp xzr, xzr, [sp+240]
    00578ff0stp xzr, xzr, [sp+256]
    00578ff4str xzr, [sp+272]
    00578ff8add x2, sp, 240
    00578ffcstr x2, [sp+472]
    00579000ldr x0, [sp+432]
    00579004ldr x1, [sp+400]
    00579008bl crypto/internal/fips140/edwards25519/field.(*Element).Square
    0057900cstr x0, [sp+480]
    00579010ldr x1, [sp+416]
    00579014ldr x2, [sp+472]
    00579018mov x3, x0
    0057901cmov x0, x2
    00579020mov x2, x3
    00579024bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00579028str x0, [sp+408]
    0057902cstp xzr, xzr, [sp+200]
    00579030stp xzr, xzr, [sp+216]
    00579034str xzr, [sp+232]
    00579038add x2, sp, 200
    0057903cstr x2, [sp+480]
    00579040ldr x0, [sp+432]
    00579044ldr x1, [sp+408]
    00579048bl crypto/internal/fips140/edwards25519/field.(*Element).Pow22523
    0057904cstr x0, [sp+472]
    00579050ldr x1, [sp+416]
    00579054ldr x2, [sp+480]
    00579058mov x3, x0
    0057905cmov x0, x2
    00579060mov x2, x3
    00579064bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00579068str x0, [sp+440]
    0057906cstp xzr, xzr, [sp+160]
    00579070stp xzr, xzr, [sp+176]
    00579074str xzr, [sp+192]
    00579078add x2, sp, 160
    0057907cstr x2, [sp+472]
    00579080ldr x0, [sp+432]
    00579084ldr x1, [sp+440]
    00579088bl crypto/internal/fips140/edwards25519/field.(*Element).Square
    0057908cstr x0, [sp+480]
    00579090ldr x1, [sp+520]
    00579094ldr x2, [sp+472]
    00579098mov x3, x0
    0057909cmov x0, x2
    005790a0mov x2, x3
    005790a4bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    005790a8str x0, [sp+456]
    005790acstp xzr, xzr, [sp+120]
    005790b0stp xzr, xzr, [sp+136]
    005790b4str xzr, [sp+152]
    005790b8add x0, sp, 120
    005790bcstr x0, [sp+480]
    005790c0ldr x1, [sp+512]
    005790c4bl crypto/internal/fips140/edwards25519/field.(*Element).Negate
    005790c8str x0, [sp+424]
    005790ccldr x1, [sp+512]
    005790d0ldr x0, [sp+456]
    005790d4bl crypto/internal/fips140/edwards25519/field.(*Element).Equal
    005790d8str x0, [sp+72]
    005790dcldr x1, [sp+424]
    005790e0ldr x0, [sp+456]
    005790e4bl crypto/internal/fips140/edwards25519/field.(*Element).Equal
    005790e8str x0, [sp+64]
    005790ecldr x1, [sp+424]
    005790f0adrp x27, 0x4a8000
    005790f4ldr x2, [x27+496]
    005790f8ldr x0, [sp+432]
    005790fcbl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00579100str x0, [sp+480]
    00579104ldr x2, [sp+456]
    00579108mov x1, x0
    0057910cmov x0, x2
    00579110bl crypto/internal/fips140/edwards25519/field.(*Element).Equal
    00579114str x0, [sp+56]
    00579118stp xzr, xzr, [sp+80]
    0057911cstp xzr, xzr, [sp+96]
    00579120str xzr, [sp+112]
    00579124add x0, sp, 80
    00579128str x0, [sp+480]
    0057912cldr x1, [sp+440]
    00579130adrp x27, 0x4a8000
    00579134ldr x2, [x27+496]
    00579138bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    0057913cstr x0, [sp+448]
    00579140ldr x2, [sp+440]
    00579144ldr x3, [sp+440]
    00579148ldr x4, [sp+64]
    0057914cldr x5, [sp+56]
    00579150orr x4, x4, x5
    00579154mov x1, x0
    00579158mov x0, x3
    0057915cmov x3, x4
    00579160bl crypto/internal/fips140/edwards25519/field.(*Element).Select
    00579164ldr x1, [sp+440]
    00579168ldr x0, [sp+504]
    0057916cbl crypto/internal/fips140/edwards25519/field.(*Element).Absolute
    00579170ldr x0, [sp+504]
    00579174str x0, [sp+464]
    00579178ldr x2, [sp+72]
    0057917cldr x3, [sp+64]
    00579180orr x1, x2, x3
    00579184str x1, [sp+48]
    00579188ldp x29, x30, [sp-8]
    0057918cadd sp, sp, 496
    00579190ret x30
    00579194
    00579194loc_579194:
    00579194stp x0, x1, [sp+8]
    00579198str x2, [sp+24]
    0057919cmov x3, x30
    005791a0bl runtime.morestack_noctxt.abi0
    005791a4ldp x0, x1, [sp+8]
    005791a8ldr x2, [sp+24]
    005791acb 0x578f40
    00578f40
    005791b0
    005791b0crypto/internal/fips140/edwards25519/field.feMul: ; void crypto/internal/fips140/edwards25519/field.feMul(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * x, crypto/internal/fips140/edwards25519/field.Element * y)
    005791b0ldr x16, [x28+16]
    005791b4subs xzr, sp, x16
    005791b8b.ls 0x5791e4
    005791bcstr x30, [sp-48]!
    005791c0stur x29, [sp-8]
    005791c4sub x29, sp, 8
    005791c8str x0, [sp+56]
    005791ccstr x1, [sp+64]
    005791d0str x2, [sp+72]
    005791d4bl crypto/internal/fips140/edwards25519/field.feMulGeneric
    005791d8ldur x29, [sp-8]
    005791dcldr x30, [sp], 48
    005791e0ret x30
    005791e4
    005791e4loc_5791e4:
    005791e4stp x0, x1, [sp+8]
    005791e8str x2, [sp+24]
    005791ecmov x3, x30
    005791f0bl runtime.morestack_noctxt.abi0
    005791f4ldp x0, x1, [sp+8]
    005791f8ldr x2, [sp+24]
    005791fcb 0x5791b0
    005791b0
    00579200
    00579200crypto/internal/fips140/edwards25519/field.feSquare: ; void crypto/internal/fips140/edwards25519/field.feSquare(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * x)
    00579200ldr x16, [x28+16]
    00579204subs xzr, sp, x16
    00579208b.ls 0x579230
    0057920cstr x30, [sp-32]!
    00579210stur x29, [sp-8]
    00579214sub x29, sp, 8
    00579218str x0, [sp+40]
    0057921cstr x1, [sp+48]
    00579220bl crypto/internal/fips140/edwards25519/field.feSquareGeneric
    00579224ldur x29, [sp-8]
    00579228ldr x30, [sp], 32
    0057922cret x30
    00579230
    00579230loc_579230:
    00579230stp x0, x1, [sp+8]
    00579234mov x3, x30
    00579238bl runtime.morestack_noctxt.abi0
    0057923cldp x0, x1, [sp+8]
    00579240b 0x579200
    00579244udf 0
    00579248udf 0
    0057924cudf 0
    00579200
    00579250
    00579250crypto/internal/fips140/edwards25519/field.(*Element).carryPropagate: ; void crypto/internal/fips140/edwards25519/field.(*Element).carryPropagate(crypto/internal/fips140/edwards25519/field.Element * v)
    00579250ldr x16, [x28+16]
    00579254subs xzr, sp, x16
    00579258b.ls 0x579290
    0057925cstr x30, [sp-32]!
    00579260stur x29, [sp-8]
    00579264sub x29, sp, 8
    00579268str x0, [sp+40]
    0057926cstr xzr, [sp+16]
    00579270ldr x0, [sp+40]
    00579274str x0, [sp+8]
    00579278bl crypto/internal/fips140/edwards25519/field.carryPropagate.abi0
    0057927cldr x0, [sp+40]
    00579280str x0, [sp+16]
    00579284ldur x29, [sp-8]
    00579288ldr x30, [sp], 32
    0057928cret x30
    00579290
    00579290loc_579290:
    00579290str x0, [sp+8]
    00579294mov x3, x30
    00579298bl runtime.morestack_noctxt.abi0
    0057929cldr x0, [sp+8]
    005792a0b 0x579250
    005792a4udf 0
    005792a8udf 0
    005792acudf 0
    00579250
    005792b0
    005792b0crypto/internal/fips140/edwards25519/field.mul64: ; void crypto/internal/fips140/edwards25519/field.mul64(uint64 a, uint64 b)
    005792b0str x30, [sp-80]!
    005792b4stur x29, [sp-8]
    005792b8sub x29, sp, 8
    005792bcstr x0, [sp+88]
    005792c0str x1, [sp+96]
    005792c4stp xzr, xzr, [sp+8]
    005792c8madd x2, x0, x1, xzr
    005792ccumulh x3, x0, x1
    005792d0str x3, [sp+48]
    005792d4str x2, [sp+40]
    005792d8str x3, [sp+64]
    005792dcstr x2, [sp+56]
    005792e0str x3, [sp+32]
    005792e4str x2, [sp+24]
    005792e8stp xzr, xzr, [sp+8]
    005792ecstr x2, [sp+8]
    005792f0ldr x1, [sp+32]
    005792f4str x1, [sp+16]
    005792f8mov x0, x2
    005792fcadd x29, sp, 72
    00579300add sp, sp, 80
    00579304ret x30
    00579308udf 0
    0057930cudf 0
    005792b0
    00579310
    00579310crypto/internal/fips140/edwards25519/field.addMul64: ; void crypto/internal/fips140/edwards25519/field.addMul64(crypto/internal/fips140/edwards25519/field.uint128 v, uint64 a, uint64 b)
    00579310ldr x16, [x28+16]
    00579314subs xzr, sp, x16
    00579318b.ls 0x5793d4
    0057931cstr x30, [sp-128]!
    00579320stur x29, [sp-8]
    00579324sub x29, sp, 8
    00579328str x0, [sp+136]
    0057932cstr x1, [sp+144]
    00579330str x2, [sp+152]
    00579334str x3, [sp+160]
    00579338stp xzr, xzr, [sp+16]
    0057933cmadd x4, x2, x3, xzr
    00579340umulh x2, x2, x3
    00579344str x2, [sp+88]
    00579348str x4, [sp+80]
    0057934cstr x2, [sp+72]
    00579350str x4, [sp+64]
    00579354str x2, [sp+40]
    00579358str x4, [sp+32]
    0057935cldr x2, [sp+136]
    00579360adds x3, x4, x2
    00579364str x3, [sp+80]
    00579368adds x5, x4, x2
    0057936cadc x5, xzr, xzr
    00579370str x5, [sp+88]
    00579374str x3, [sp+56]
    00579378str x5, [sp+112]
    0057937cstr x3, [sp+32]
    00579380str x5, [sp+48]
    00579384ldr x3, [sp+40]
    00579388ldr x5, [sp+144]
    0057938cadcs x6, x3, x5
    00579390adds x6, x4, x2
    00579394adcs x1, x3, x5
    00579398str x1, [sp+88]
    0057939cadds x2, x4, x2
    005793a0adcs x2, x3, x5
    005793a4adc x2, xzr, xzr
    005793a8str x2, [sp+80]
    005793acstr x1, [sp+104]
    005793b0str x2, [sp+96]
    005793b4str x1, [sp+40]
    005793b8stp xzr, xzr, [sp+16]
    005793bcldr x0, [sp+32]
    005793c0str x0, [sp+16]
    005793c4str x1, [sp+24]
    005793c8add x29, sp, 120
    005793ccadd sp, sp, 128
    005793d0ret x30
    005793d4
    005793d4loc_5793d4:
    005793d4stp x0, x1, [sp+8]
    005793d8stp x2, x3, [sp+24]
    005793dcmov x3, x30
    005793e0bl runtime.morestack_noctxt.abi0
    005793e4ldp x0, x1, [sp+8]
    005793e8ldp x2, x3, [sp+24]
    005793ecb 0x579310
    00579310
    005793f0
    005793f0crypto/internal/fips140/edwards25519/field.shiftRightBy51: ; void crypto/internal/fips140/edwards25519/field.shiftRightBy51(crypto/internal/fips140/edwards25519/field.uint128 a)
    005793f0str x30, [sp-32]!
    005793f4stur x29, [sp-8]
    005793f8sub x29, sp, 8
    005793fcstr x0, [sp+40]
    00579400str x1, [sp+48]
    00579404str xzr, [sp+16]
    00579408extr x0, x1, x0, 51
    0057940cstr x0, [sp+16]
    00579410add x29, sp, 24
    00579414add sp, sp, 32
    00579418ret x30
    0057941cudf 0
    005793f0
    00579420
    00579420crypto/internal/fips140/edwards25519/field.feMulGeneric: ; void crypto/internal/fips140/edwards25519/field.feMulGeneric(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * a, crypto/internal/fips140/edwards25519/field.Element * b)
    00579420ldr x16, [x28+16]
    00579424sub x17, sp, 240
    00579428subs xzr, x17, x16
    0057942cb.ls 0x579844
    00579430sub x20, sp, 368
    00579434stp x29, x30, [x20-8]
    00579438add sp, x20, 0
    0057943csub x29, sp, 8
    00579440str x0, [sp+376]
    00579444str x1, [sp+384]
    00579448str x2, [sp+392]
    0057944cldrsb x27, [x1]
    00579450ldr x2, [x1]
    00579454str x2, [sp+312]
    00579458ldrsb x27, [x1]
    0057945cldr x2, [x1+8]
    00579460str x2, [sp+304]
    00579464ldrsb x27, [x1]
    00579468ldr x2, [x1+16]
    0057946cstr x2, [sp+288]
    00579470ldr x2, [sp+384]
    00579474ldrsb x27, [x2]
    00579478ldr x2, [x2+24]
    0057947cstr x2, [sp+272]
    00579480ldr x2, [sp+384]
    00579484ldrsb x27, [x2]
    00579488ldr x2, [x2+32]
    0057948cstr x2, [sp+256]
    00579490ldr x2, [sp+392]
    00579494ldrsb x27, [x2]
    00579498ldr x2, [x2]
    0057949cstr x2, [sp+240]
    005794a0ldr x2, [sp+392]
    005794a4ldrsb x27, [x2]
    005794a8ldr x2, [x2+8]
    005794acstr x2, [sp+232]
    005794b0ldr x2, [sp+392]
    005794b4ldrsb x27, [x2]
    005794b8ldr x2, [x2+16]
    005794bcstr x2, [sp+224]
    005794c0ldr x2, [sp+392]
    005794c4ldrsb x27, [x2]
    005794c8ldr x2, [x2+24]
    005794ccstr x2, [sp+216]
    005794d0ldr x2, [sp+392]
    005794d4ldrsb x27, [x2]
    005794d8ldr x2, [x2+32]
    005794dcstr x2, [sp+208]
    005794e0ldr x2, [sp+304]
    005794e4movz x3, 19
    005794e8madd x2, x2, x3, xzr
    005794ecstr x2, [sp+296]
    005794f0ldr x2, [sp+288]
    005794f4madd x2, x2, x3, xzr
    005794f8str x2, [sp+280]
    005794fcldr x2, [sp+272]
    00579500madd x2, x2, x3, xzr
    00579504str x2, [sp+264]
    00579508ldr x2, [sp+256]
    0057950cmadd x2, x2, x3, xzr
    00579510str x2, [sp+248]
    00579514ldr x1, [sp+240]
    00579518ldr x0, [sp+312]
    0057951cbl crypto/internal/fips140/edwards25519/field.mul64
    00579520str x0, [sp+152]
    00579524str x1, [sp+160]
    00579528ldr x2, [sp+296]
    0057952cldr x3, [sp+208]
    00579530bl crypto/internal/fips140/edwards25519/field.addMul64
    00579534str x0, [sp+152]
    00579538str x1, [sp+160]
    0057953cldr x2, [sp+280]
    00579540ldr x3, [sp+216]
    00579544bl crypto/internal/fips140/edwards25519/field.addMul64
    00579548str x0, [sp+152]
    0057954cstr x1, [sp+160]
    00579550ldr x2, [sp+264]
    00579554ldr x3, [sp+224]
    00579558bl crypto/internal/fips140/edwards25519/field.addMul64
    0057955cstr x0, [sp+152]
    00579560str x1, [sp+160]
    00579564ldr x2, [sp+248]
    00579568ldr x3, [sp+232]
    0057956cbl crypto/internal/fips140/edwards25519/field.addMul64
    00579570str x0, [sp+152]
    00579574str x1, [sp+160]
    00579578ldr x1, [sp+232]
    0057957cldr x0, [sp+312]
    00579580bl crypto/internal/fips140/edwards25519/field.mul64
    00579584str x0, [sp+136]
    00579588str x1, [sp+144]
    0057958cldr x2, [sp+304]
    00579590ldr x3, [sp+240]
    00579594bl crypto/internal/fips140/edwards25519/field.addMul64
    00579598str x0, [sp+136]
    0057959cstr x1, [sp+144]
    005795a0ldr x2, [sp+280]
    005795a4ldr x3, [sp+208]
    005795a8bl crypto/internal/fips140/edwards25519/field.addMul64
    005795acstr x0, [sp+136]
    005795b0str x1, [sp+144]
    005795b4ldr x2, [sp+264]
    005795b8ldr x3, [sp+216]
    005795bcbl crypto/internal/fips140/edwards25519/field.addMul64
    005795c0str x0, [sp+136]
    005795c4str x1, [sp+144]
    005795c8ldr x2, [sp+248]
    005795ccldr x3, [sp+224]
    005795d0bl crypto/internal/fips140/edwards25519/field.addMul64
    005795d4str x0, [sp+136]
    005795d8str x1, [sp+144]
    005795dcldr x1, [sp+224]
    005795e0ldr x0, [sp+312]
    005795e4bl crypto/internal/fips140/edwards25519/field.mul64
    005795e8str x0, [sp+120]
    005795ecstr x1, [sp+128]
    005795f0ldr x2, [sp+304]
    005795f4ldr x3, [sp+232]
    005795f8bl crypto/internal/fips140/edwards25519/field.addMul64
    005795fcstr x0, [sp+120]
    00579600str x1, [sp+128]
    00579604ldr x2, [sp+288]
    00579608ldr x3, [sp+240]
    0057960cbl crypto/internal/fips140/edwards25519/field.addMul64
    00579610str x0, [sp+120]
    00579614str x1, [sp+128]
    00579618ldr x2, [sp+264]
    0057961cldr x3, [sp+208]
    00579620bl crypto/internal/fips140/edwards25519/field.addMul64
    00579624str x0, [sp+120]
    00579628str x1, [sp+128]
    0057962cldr x2, [sp+248]
    00579630ldr x3, [sp+216]
    00579634bl crypto/internal/fips140/edwards25519/field.addMul64
    00579638str x0, [sp+120]
    0057963cstr x1, [sp+128]
    00579640ldr x1, [sp+216]
    00579644ldr x0, [sp+312]
    00579648bl crypto/internal/fips140/edwards25519/field.mul64
    0057964cstr x0, [sp+104]
    00579650str x1, [sp+112]
    00579654ldr x2, [sp+304]
    00579658ldr x3, [sp+224]
    0057965cbl crypto/internal/fips140/edwards25519/field.addMul64
    00579660str x0, [sp+104]
    00579664str x1, [sp+112]
    00579668ldr x2, [sp+288]
    0057966cldr x3, [sp+232]
    00579670bl crypto/internal/fips140/edwards25519/field.addMul64
    00579674str x0, [sp+104]
    00579678str x1, [sp+112]
    0057967cldr x2, [sp+272]
    00579680ldr x3, [sp+240]
    00579684bl crypto/internal/fips140/edwards25519/field.addMul64
    00579688str x0, [sp+104]
    0057968cstr x1, [sp+112]
    00579690ldr x2, [sp+248]
    00579694ldr x3, [sp+208]
    00579698bl crypto/internal/fips140/edwards25519/field.addMul64
    0057969cstr x0, [sp+104]
    005796a0str x1, [sp+112]
    005796a4ldr x1, [sp+208]
    005796a8ldr x0, [sp+312]
    005796acbl crypto/internal/fips140/edwards25519/field.mul64
    005796b0str x0, [sp+88]
    005796b4str x1, [sp+96]
    005796b8ldr x2, [sp+304]
    005796bcldr x3, [sp+216]
    005796c0bl crypto/internal/fips140/edwards25519/field.addMul64
    005796c4str x0, [sp+88]
    005796c8str x1, [sp+96]
    005796ccldr x2, [sp+288]
    005796d0ldr x3, [sp+224]
    005796d4bl crypto/internal/fips140/edwards25519/field.addMul64
    005796d8str x0, [sp+88]
    005796dcstr x1, [sp+96]
    005796e0ldr x2, [sp+272]
    005796e4ldr x3, [sp+232]
    005796e8bl crypto/internal/fips140/edwards25519/field.addMul64
    005796ecstr x0, [sp+88]
    005796f0str x1, [sp+96]
    005796f4ldr x2, [sp+256]
    005796f8ldr x3, [sp+240]
    005796fcbl crypto/internal/fips140/edwards25519/field.addMul64
    00579700str x0, [sp+88]
    00579704str x1, [sp+96]
    00579708ldr x0, [sp+152]
    0057970cldr x1, [sp+160]
    00579710bl crypto/internal/fips140/edwards25519/field.shiftRightBy51
    00579714str x0, [sp+200]
    00579718ldr x0, [sp+136]
    0057971cldr x1, [sp+144]
    00579720bl crypto/internal/fips140/edwards25519/field.shiftRightBy51
    00579724str x0, [sp+192]
    00579728ldr x0, [sp+120]
    0057972cldr x1, [sp+128]
    00579730bl crypto/internal/fips140/edwards25519/field.shiftRightBy51
    00579734str x0, [sp+184]
    00579738ldr x0, [sp+104]
    0057973cldr x1, [sp+112]
    00579740bl crypto/internal/fips140/edwards25519/field.shiftRightBy51
    00579744str x0, [sp+176]
    00579748ldr x0, [sp+88]
    0057974cldr x1, [sp+96]
    00579750bl crypto/internal/fips140/edwards25519/field.shiftRightBy51
    00579754str x0, [sp+168]
    00579758ldr x2, [sp+152]
    0057975cand x2, x2, 0x7ffffffffffff
    00579760movz x3, 19
    00579764madd x2, x3, x0, x2
    00579768str x2, [sp+80]
    0057976cldr x2, [sp+136]
    00579770and x2, x2, 0x7ffffffffffff
    00579774ldr x3, [sp+200]
    00579778add x2, x2, x3
    0057977cstr x2, [sp+72]
    00579780ldr x2, [sp+120]
    00579784and x2, x2, 0x7ffffffffffff
    00579788ldr x3, [sp+192]
    0057978cadd x2, x2, x3
    00579790str x2, [sp+64]
    00579794ldr x2, [sp+104]
    00579798and x2, x2, 0x7ffffffffffff
    0057979cldr x3, [sp+184]
    005797a0add x2, x2, x3
    005797a4str x2, [sp+56]
    005797a8ldr x2, [sp+88]
    005797acand x2, x2, 0x7ffffffffffff
    005797b0ldr x3, [sp+176]
    005797b4add x2, x2, x3
    005797b8str x2, [sp+48]
    005797bcadrp x27, 0x19d000
    005797c0add x27, x27, 3712
    005797c4ldp x2, x3, [x27]
    005797c8adrp x27, 0x19d000
    005797ccadd x27, x27, 3728
    005797d0ldp x4, x5, [x27]
    005797d4stp x2, x3, [sp+320]
    005797d8stp x4, x5, [sp+336]
    005797dcadrp x27, 0x19d000
    005797e0ldr x2, [x27+3744]
    005797e4str x2, [sp+352]
    005797e8ldr x2, [sp+80]
    005797ecstr x2, [sp+320]
    005797f0ldr x2, [sp+72]
    005797f4str x2, [sp+328]
    005797f8ldr x2, [sp+64]
    005797fcstr x2, [sp+336]
    00579800ldr x2, [sp+56]
    00579804str x2, [sp+344]
    00579808ldr x2, [sp+48]
    0057980cstr x2, [sp+352]
    00579810ldr x2, [sp+376]
    00579814ldrsb x27, [x2]
    00579818ldp x3, x4, [sp+320]
    0057981cldp x5, x6, [sp+336]
    00579820stp x3, x4, [x2]
    00579824stp x5, x6, [x2+16]
    00579828ldr x3, [sp+352]
    0057982cstr x3, [x2+32]
    00579830ldr x0, [sp+376]
    00579834bl crypto/internal/fips140/edwards25519/field.(*Element).carryPropagate
    00579838ldp x29, x30, [sp-8]
    0057983cadd sp, sp, 368
    00579840ret x30
    00579844
    00579844loc_579844:
    00579844stp x0, x1, [sp+8]
    00579848str x2, [sp+24]
    0057984cmov x3, x30
    00579850bl runtime.morestack_noctxt.abi0
    00579854ldp x0, x1, [sp+8]
    00579858ldr x2, [sp+24]
    0057985cb 0x579420
    00579420