File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
Loading..
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
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
00579860
00579860crypto/internal/fips140/edwards25519/field.feSquareGeneric: ; void crypto/internal/fips140/edwards25519/field.feSquareGeneric(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * a)
00579860ldr x16, [x28+16]
00579864sub x17, sp, 224
00579868subs xzr, x17, x16
0057986cb.ls 0x579b8c
00579870sub x20, sp, 352
00579874stp x29, x30, [x20-8]
00579878add sp, x20, 0
0057987csub x29, sp, 8
00579880str x0, [sp+360]
00579884str x1, [sp+368]
00579888ldrsb x27, [x1]
0057988cldr x2, [x1]
00579890str x2, [sp+256]
00579894ldrsb x27, [x1]
00579898ldr x2, [x1+8]
0057989cstr x2, [sp+240]
005798a0ldrsb x27, [x1]
005798a4ldr x2, [x1+16]
005798a8str x2, [sp+216]
005798acldrsb x27, [x1]
005798b0ldr x2, [x1+24]
005798b4str x2, [sp+200]
005798b8ldr x2, [sp+368]
005798bcldrsb x27, [x2]
005798c0ldr x2, [x2+32]
005798c4str x2, [sp+176]
005798c8ldr x2, [sp+256]
005798ccubfm x2, x2, 63, 62
005798d0str x2, [sp+248]
005798d4ldr x2, [sp+240]
005798d8ubfm x2, x2, 63, 62
005798dcstr x2, [sp+232]
005798e0ldr x2, [sp+240]
005798e4movz x3, 38
005798e8madd x2, x2, x3, xzr
005798ecstr x2, [sp+224]
005798f0ldr x2, [sp+216]
005798f4madd x2, x2, x3, xzr
005798f8str x2, [sp+208]
005798fcldr x2, [sp+200]
00579900madd x2, x2, x3, xzr
00579904str x2, [sp+184]
00579908ldr x2, [sp+200]
0057990cmovz x3, 19
00579910madd x2, x2, x3, xzr
00579914str x2, [sp+192]
00579918ldr x2, [sp+176]
0057991cmadd x2, x2, x3, xzr
00579920str x2, [sp+168]
00579924ldr x1, [sp+256]
00579928ldr x0, [sp+256]
0057992cbl crypto/internal/fips140/edwards25519/field.mul64
00579930str x0, [sp+152]
00579934str x1, [sp+160]
00579938ldr x2, [sp+224]
0057993cldr x3, [sp+176]
00579940bl crypto/internal/fips140/edwards25519/field.addMul64
00579944str x0, [sp+152]
00579948str x1, [sp+160]
0057994cldr x2, [sp+208]
00579950ldr x3, [sp+200]
00579954bl crypto/internal/fips140/edwards25519/field.addMul64
00579958str x0, [sp+152]
0057995cstr x1, [sp+160]
00579960ldr x1, [sp+240]
00579964ldr x0, [sp+248]
00579968bl crypto/internal/fips140/edwards25519/field.mul64
0057996cstr x0, [sp+136]
00579970str x1, [sp+144]
00579974ldr x2, [sp+208]
00579978ldr x3, [sp+176]
0057997cbl crypto/internal/fips140/edwards25519/field.addMul64
00579980str x0, [sp+136]
00579984str x1, [sp+144]
00579988ldr x2, [sp+192]
0057998cldr x3, [sp+200]
00579990bl crypto/internal/fips140/edwards25519/field.addMul64
00579994str x0, [sp+136]
00579998str x1, [sp+144]
0057999cldr x1, [sp+216]
005799a0ldr x0, [sp+248]
005799a4bl crypto/internal/fips140/edwards25519/field.mul64
005799a8str x0, [sp+120]
005799acstr x1, [sp+128]
005799b0ldr x2, [sp+240]
005799b4ldr x3, [sp+240]
005799b8bl crypto/internal/fips140/edwards25519/field.addMul64
005799bcstr x0, [sp+120]
005799c0str x1, [sp+128]
005799c4ldr x2, [sp+184]
005799c8ldr x3, [sp+176]
005799ccbl crypto/internal/fips140/edwards25519/field.addMul64
005799d0str x0, [sp+120]
005799d4str x1, [sp+128]
005799d8ldr x1, [sp+200]
005799dcldr x0, [sp+248]
005799e0bl crypto/internal/fips140/edwards25519/field.mul64
005799e4str x0, [sp+104]
005799e8str x1, [sp+112]
005799ecldr x2, [sp+232]
005799f0ldr x3, [sp+216]
005799f4bl crypto/internal/fips140/edwards25519/field.addMul64
005799f8str x0, [sp+104]
005799fcstr x1, [sp+112]
00579a00ldr x2, [sp+168]
00579a04ldr x3, [sp+176]
00579a08bl crypto/internal/fips140/edwards25519/field.addMul64
00579a0cstr x0, [sp+104]
00579a10str x1, [sp+112]
00579a14ldr x1, [sp+176]
00579a18ldr x0, [sp+248]
00579a1cbl crypto/internal/fips140/edwards25519/field.mul64
00579a20str x0, [sp+88]
00579a24str x1, [sp+96]
00579a28ldr x2, [sp+232]
00579a2cldr x3, [sp+200]
00579a30bl crypto/internal/fips140/edwards25519/field.addMul64
00579a34str x0, [sp+88]
00579a38str x1, [sp+96]
00579a3cldr x2, [sp+216]
00579a40ldr x3, [sp+216]
00579a44bl crypto/internal/fips140/edwards25519/field.addMul64
00579a48str x0, [sp+88]
00579a4cstr x1, [sp+96]
00579a50ldr x0, [sp+152]
00579a54ldr x1, [sp+160]
00579a58bl crypto/internal/fips140/edwards25519/field.shiftRightBy51
00579a5cstr x0, [sp+296]
00579a60ldr x0, [sp+136]
00579a64ldr x1, [sp+144]
00579a68bl crypto/internal/fips140/edwards25519/field.shiftRightBy51
00579a6cstr x0, [sp+288]
00579a70ldr x0, [sp+120]
00579a74ldr x1, [sp+128]
00579a78bl crypto/internal/fips140/edwards25519/field.shiftRightBy51
00579a7cstr x0, [sp+280]
00579a80ldr x0, [sp+104]
00579a84ldr x1, [sp+112]
00579a88bl crypto/internal/fips140/edwards25519/field.shiftRightBy51
00579a8cstr x0, [sp+272]
00579a90ldr x0, [sp+88]
00579a94ldr x1, [sp+96]
00579a98bl crypto/internal/fips140/edwards25519/field.shiftRightBy51
00579a9cstr x0, [sp+264]
00579aa0ldr x2, [sp+152]
00579aa4and x2, x2, 0x7ffffffffffff
00579aa8movz x3, 19
00579aacmadd x2, x3, x0, x2
00579ab0str x2, [sp+80]
00579ab4ldr x2, [sp+136]
00579ab8and x2, x2, 0x7ffffffffffff
00579abcldr x3, [sp+296]
00579ac0add x2, x2, x3
00579ac4str x2, [sp+72]
00579ac8ldr x2, [sp+120]
00579accand x2, x2, 0x7ffffffffffff
00579ad0ldr x3, [sp+288]
00579ad4add x2, x2, x3
00579ad8str x2, [sp+64]
00579adcldr x2, [sp+104]
00579ae0and x2, x2, 0x7ffffffffffff
00579ae4ldr x3, [sp+280]
00579ae8add x2, x2, x3
00579aecstr x2, [sp+56]
00579af0ldr x2, [sp+88]
00579af4and x2, x2, 0x7ffffffffffff
00579af8ldr x3, [sp+272]
00579afcadd x2, x2, x3
00579b00str x2, [sp+48]
00579b04adrp x27, 0x19d000
00579b08add x27, x27, 3712
00579b0cldp x2, x3, [x27]
00579b10adrp x27, 0x19d000
00579b14add x27, x27, 3728
00579b18ldp x4, x5, [x27]
00579b1cstp x2, x3, [sp+304]
00579b20stp x4, x5, [sp+320]
00579b24adrp x27, 0x19d000
00579b28ldr x2, [x27+3744]
00579b2cstr x2, [sp+336]
00579b30ldr x2, [sp+80]
00579b34str x2, [sp+304]
00579b38ldr x2, [sp+72]
00579b3cstr x2, [sp+312]
00579b40ldr x2, [sp+64]
00579b44str x2, [sp+320]
00579b48ldr x2, [sp+56]
00579b4cstr x2, [sp+328]
00579b50ldr x2, [sp+48]
00579b54str x2, [sp+336]
00579b58ldr x2, [sp+360]
00579b5cldrsb x27, [x2]
00579b60ldp x3, x4, [sp+304]
00579b64ldp x5, x6, [sp+320]
00579b68stp x3, x4, [x2]
00579b6cstp x5, x6, [x2+16]
00579b70ldr x3, [sp+336]
00579b74str x3, [x2+32]
00579b78ldr x0, [sp+360]
00579b7cbl crypto/internal/fips140/edwards25519/field.(*Element).carryPropagate
00579b80ldp x29, x30, [sp-8]
00579b84add sp, sp, 352
00579b88ret x30
00579b8c
00579b8cloc_579b8c:
00579b8cstp x0, x1, [sp+8]
00579b90mov x3, x30
00579b94bl runtime.morestack_noctxt.abi0
00579b98ldp x0, x1, [sp+8]
00579b9cb 0x579860
00579860
00579860crypto/internal/fips140/edwards25519/field.feSquareGeneric: ; void crypto/internal/fips140/edwards25519/field.feSquareGeneric(crypto/internal/fips140/edwards25519/field.Element * v, crypto/internal/fips140/edwards25519/field.Element * a)
00579860ldr x16, [x28+16]
00579864sub x17, sp, 224
00579868subs xzr, x17, x16
0057986cb.ls 0x579b8c
00579870sub x20, sp, 352
00579874stp x29, x30, [x20-8]
00579878add sp, x20, 0
0057987csub x29, sp, 8
00579880str x0, [sp+360]
00579884str x1, [sp+368]
00579888ldrsb x27, [x1]
0057988cldr x2, [x1]
00579890str x2, [sp+256]
00579894ldrsb x27, [x1]
00579898ldr x2, [x1+8]
0057989cstr x2, [sp+240]
005798a0ldrsb x27, [x1]
005798a4ldr x2, [x1+16]
005798a8str x2, [sp+216]
005798acldrsb x27, [x1]
005798b0ldr x2, [x1+24]
005798b4str x2, [sp+200]
005798b8ldr x2, [sp+368]
005798bcldrsb x27, [x2]
005798c0ldr x2, [x2+32]
005798c4str x2, [sp+176]
005798c8ldr x2, [sp+256]
005798ccubfm x2, x2, 63, 62
005798d0str x2, [sp+248]
005798d4ldr x2, [sp+240]
005798d8ubfm x2, x2, 63, 62
005798dcstr x2, [sp+232]
005798e0ldr x2, [sp+240]
005798e4movz x3, 38
005798e8madd x2, x2, x3, xzr
005798ecstr x2, [sp+224]
005798f0ldr x2, [sp+216]
005798f4madd x2, x2, x3, xzr
005798f8str x2, [sp+208]
005798fcldr x2, [sp+200]
00579900madd x2, x2, x3, xzr
00579904str x2, [sp+184]
00579908ldr x2, [sp+200]
0057990cmovz x3, 19
00579910madd x2, x2, x3, xzr
00579914str x2, [sp+192]
00579918ldr x2, [sp+176]
0057991cmadd x2, x2, x3, xzr
00579920str x2, [sp+168]
00579924ldr x1, [sp+256]
00579928ldr x0, [sp+256]
0057992cbl crypto/internal/fips140/edwards25519/field.mul64
00579930str x0, [sp+152]
00579934str x1, [sp+160]
00579938ldr x2, [sp+224]
0057993cldr x3, [sp+176]
00579940bl crypto/internal/fips140/edwards25519/field.addMul64
00579944str x0, [sp+152]
00579948str x1, [sp+160]
0057994cldr x2, [sp+208]
00579950ldr x3, [sp+200]
00579954bl crypto/internal/fips140/edwards25519/field.addMul64
00579958str x0, [sp+152]
0057995cstr x1, [sp+160]
00579960ldr x1, [sp+240]
00579964ldr x0, [sp+248]
00579968bl crypto/internal/fips140/edwards25519/field.mul64
0057996cstr x0, [sp+136]
00579970str x1, [sp+144]
00579974ldr x2, [sp+208]
00579978ldr x3, [sp+176]
0057997cbl crypto/internal/fips140/edwards25519/field.addMul64
00579980str x0, [sp+136]
00579984str x1, [sp+144]
00579988ldr x2, [sp+192]
0057998cldr x3, [sp+200]
00579990bl crypto/internal/fips140/edwards25519/field.addMul64
00579994str x0, [sp+136]
00579998str x1, [sp+144]
0057999cldr x1, [sp+216]
005799a0ldr x0, [sp+248]
005799a4bl crypto/internal/fips140/edwards25519/field.mul64
005799a8str x0, [sp+120]
005799acstr x1, [sp+128]
005799b0ldr x2, [sp+240]
005799b4ldr x3, [sp+240]
005799b8bl crypto/internal/fips140/edwards25519/field.addMul64
005799bcstr x0, [sp+120]
005799c0str x1, [sp+128]
005799c4ldr x2, [sp+184]
005799c8ldr x3, [sp+176]
005799ccbl crypto/internal/fips140/edwards25519/field.addMul64
005799d0str x0, [sp+120]
005799d4str x1, [sp+128]
005799d8ldr x1, [sp+200]
005799dcldr x0, [sp+248]
005799e0bl crypto/internal/fips140/edwards25519/field.mul64
005799e4str x0, [sp+104]
005799e8str x1, [sp+112]
005799ecldr x2, [sp+232]
005799f0ldr x3, [sp+216]
005799f4bl crypto/internal/fips140/edwards25519/field.addMul64
005799f8str x0, [sp+104]
005799fcstr x1, [sp+112]
00579a00ldr x2, [sp+168]
00579a04ldr x3, [sp+176]
00579a08bl crypto/internal/fips140/edwards25519/field.addMul64
00579a0cstr x0, [sp+104]
00579a10str x1, [sp+112]
00579a14ldr x1, [sp+176]
00579a18ldr x0, [sp+248]
00579a1cbl crypto/internal/fips140/edwards25519/field.mul64
00579a20str x0, [sp+88]
00579a24str x1, [sp+96]
00579a28ldr x2, [sp+232]
00579a2cldr x3, [sp+200]
00579a30bl crypto/internal/fips140/edwards25519/field.addMul64
00579a34str x0, [sp+88]
00579a38str x1, [sp+96]
00579a3cldr x2, [sp+216]
00579a40ldr x3, [sp+216]
00579a44bl crypto/internal/fips140/edwards25519/field.addMul64
00579a48str x0, [sp+88]
00579a4cstr x1, [sp+96]
00579a50ldr x0, [sp+152]
00579a54ldr x1, [sp+160]
00579a58bl crypto/internal/fips140/edwards25519/field.shiftRightBy51
00579a5cstr x0, [sp+296]
00579a60ldr x0, [sp+136]
00579a64ldr x1, [sp+144]
00579a68bl crypto/internal/fips140/edwards25519/field.shiftRightBy51
00579a6cstr x0, [sp+288]
00579a70ldr x0, [sp+120]
00579a74ldr x1, [sp+128]
00579a78bl crypto/internal/fips140/edwards25519/field.shiftRightBy51
00579a7cstr x0, [sp+280]
00579a80ldr x0, [sp+104]
00579a84ldr x1, [sp+112]
00579a88bl crypto/internal/fips140/edwards25519/field.shiftRightBy51
00579a8cstr x0, [sp+272]
00579a90ldr x0, [sp+88]
00579a94ldr x1, [sp+96]
00579a98bl crypto/internal/fips140/edwards25519/field.shiftRightBy51
00579a9cstr x0, [sp+264]
00579aa0ldr x2, [sp+152]
00579aa4and x2, x2, 0x7ffffffffffff
00579aa8movz x3, 19
00579aacmadd x2, x3, x0, x2
00579ab0str x2, [sp+80]
00579ab4ldr x2, [sp+136]
00579ab8and x2, x2, 0x7ffffffffffff
00579abcldr x3, [sp+296]
00579ac0add x2, x2, x3
00579ac4str x2, [sp+72]
00579ac8ldr x2, [sp+120]
00579accand x2, x2, 0x7ffffffffffff
00579ad0ldr x3, [sp+288]
00579ad4add x2, x2, x3
00579ad8str x2, [sp+64]
00579adcldr x2, [sp+104]
00579ae0and x2, x2, 0x7ffffffffffff
00579ae4ldr x3, [sp+280]
00579ae8add x2, x2, x3
00579aecstr x2, [sp+56]
00579af0ldr x2, [sp+88]
00579af4and x2, x2, 0x7ffffffffffff
00579af8ldr x3, [sp+272]
00579afcadd x2, x2, x3
00579b00str x2, [sp+48]
00579b04adrp x27, 0x19d000
00579b08add x27, x27, 3712
00579b0cldp x2, x3, [x27]
00579b10adrp x27, 0x19d000
00579b14add x27, x27, 3728
00579b18ldp x4, x5, [x27]
00579b1cstp x2, x3, [sp+304]
00579b20stp x4, x5, [sp+320]
00579b24adrp x27, 0x19d000
00579b28ldr x2, [x27+3744]
00579b2cstr x2, [sp+336]
00579b30ldr x2, [sp+80]
00579b34str x2, [sp+304]
00579b38ldr x2, [sp+72]
00579b3cstr x2, [sp+312]
00579b40ldr x2, [sp+64]
00579b44str x2, [sp+320]
00579b48ldr x2, [sp+56]
00579b4cstr x2, [sp+328]
00579b50ldr x2, [sp+48]
00579b54str x2, [sp+336]
00579b58ldr x2, [sp+360]
00579b5cldrsb x27, [x2]
00579b60ldp x3, x4, [sp+304]
00579b64ldp x5, x6, [sp+320]
00579b68stp x3, x4, [x2]
00579b6cstp x5, x6, [x2+16]
00579b70ldr x3, [sp+336]
00579b74str x3, [x2+32]
00579b78ldr x0, [sp+360]
00579b7cbl crypto/internal/fips140/edwards25519/field.(*Element).carryPropagate
00579b80ldp x29, x30, [sp-8]
00579b84add sp, sp, 352
00579b88ret x30
00579b8c
00579b8cloc_579b8c:
00579b8cstp x0, x1, [sp+8]
00579b90mov x3, x30
00579b94bl runtime.morestack_noctxt.abi0
00579b98ldp x0, x1, [sp+8]
00579b9cb 0x579860
00579860
00579ba0
00579ba0crypto/internal/fips140/edwards25519/field.(*Element).carryPropagateGeneric: ; void crypto/internal/fips140/edwards25519/field.(*Element).carryPropagateGeneric(crypto/internal/fips140/edwards25519/field.Element * v)
00579ba0str x30, [sp-64]!
00579ba4stur x29, [sp-8]
00579ba8sub x29, sp, 8
00579bacstr x0, [sp+72]
00579bb0str xzr, [sp+48]
00579bb4ldr x1, [sp+72]
00579bb8ldrsb x27, [x1]
00579bbcldr x1, [x1]
00579bc0ubfm x1, x1, 51, 63
00579bc4str x1, [sp+40]
00579bc8ldr x1, [sp+72]
00579bccldrsb x27, [x1]
00579bd0ldr x1, [x1+8]
00579bd4ubfm x1, x1, 51, 63
00579bd8str x1, [sp+32]
00579bdcldr x1, [sp+72]
00579be0ldrsb x27, [x1]
00579be4ldr x1, [x1+16]
00579be8ubfm x1, x1, 51, 63
00579becstr x1, [sp+24]
00579bf0ldr x1, [sp+72]
00579bf4ldrsb x27, [x1]
00579bf8ldr x1, [x1+24]
00579bfcubfm x1, x1, 51, 63
00579c00str x1, [sp+16]
00579c04ldr x1, [sp+72]
00579c08ldrsb x27, [x1]
00579c0cldr x1, [x1+32]
00579c10ubfm x1, x1, 51, 63
00579c14str x1, [sp+8]
00579c18ldr x2, [sp+72]
00579c1cldrsb x27, [x2]
00579c20ldr x3, [sp+72]
00579c24ldrsb x27, [x3]
00579c28ldr x3, [x3]
00579c2cand x3, x3, 0x7ffffffffffff
00579c30movz x4, 19
00579c34madd x1, x4, x1, x3
00579c38str x1, [x2]
00579c3cldr x1, [sp+72]
00579c40ldrsb x27, [x1]
00579c44ldr x2, [sp+72]
00579c48ldrsb x27, [x2]
00579c4cldr x2, [x2+8]
00579c50and x2, x2, 0x7ffffffffffff
00579c54ldr x3, [sp+40]
00579c58add x2, x2, x3
00579c5cstr x2, [x1+8]
00579c60ldr x1, [sp+72]
00579c64ldrsb x27, [x1]
00579c68ldr x2, [sp+72]
00579c6cldrsb x27, [x2]
00579c70ldr x2, [x2+16]
00579c74and x2, x2, 0x7ffffffffffff
00579c78ldr x3, [sp+32]
00579c7cadd x2, x2, x3
00579c80str x2, [x1+16]
00579c84ldr x1, [sp+72]
00579c88ldrsb x27, [x1]
00579c8cldr x2, [sp+72]
00579c90ldrsb x27, [x2]
00579c94ldr x2, [x2+24]
00579c98and x2, x2, 0x7ffffffffffff
00579c9cldr x3, [sp+24]
00579ca0add x2, x2, x3
00579ca4str x2, [x1+24]
00579ca8ldr x1, [sp+72]
00579cacldrsb x27, [x1]
00579cb0ldr x2, [sp+72]
00579cb4ldrsb x27, [x2]
00579cb8ldr x2, [x2+32]
00579cbcand x2, x2, 0x7ffffffffffff
00579cc0ldr x3, [sp+16]
00579cc4add x2, x2, x3
00579cc8str x2, [x1+32]
00579cccldr x0, [sp+72]
00579cd0str x0, [sp+48]
00579cd4add x29, sp, 56
00579cd8add sp, sp, 64
00579cdcret x30
00579ba0
00579ba0crypto/internal/fips140/edwards25519/field.(*Element).carryPropagateGeneric: ; void crypto/internal/fips140/edwards25519/field.(*Element).carryPropagateGeneric(crypto/internal/fips140/edwards25519/field.Element * v)
00579ba0str x30, [sp-64]!
00579ba4stur x29, [sp-8]
00579ba8sub x29, sp, 8
00579bacstr x0, [sp+72]
00579bb0str xzr, [sp+48]
00579bb4ldr x1, [sp+72]
00579bb8ldrsb x27, [x1]
00579bbcldr x1, [x1]
00579bc0ubfm x1, x1, 51, 63
00579bc4str x1, [sp+40]
00579bc8ldr x1, [sp+72]
00579bccldrsb x27, [x1]
00579bd0ldr x1, [x1+8]
00579bd4ubfm x1, x1, 51, 63
00579bd8str x1, [sp+32]
00579bdcldr x1, [sp+72]
00579be0ldrsb x27, [x1]
00579be4ldr x1, [x1+16]
00579be8ubfm x1, x1, 51, 63
00579becstr x1, [sp+24]
00579bf0ldr x1, [sp+72]
00579bf4ldrsb x27, [x1]
00579bf8ldr x1, [x1+24]
00579bfcubfm x1, x1, 51, 63
00579c00str x1, [sp+16]
00579c04ldr x1, [sp+72]
00579c08ldrsb x27, [x1]
00579c0cldr x1, [x1+32]
00579c10ubfm x1, x1, 51, 63
00579c14str x1, [sp+8]
00579c18ldr x2, [sp+72]
00579c1cldrsb x27, [x2]
00579c20ldr x3, [sp+72]
00579c24ldrsb x27, [x3]
00579c28ldr x3, [x3]
00579c2cand x3, x3, 0x7ffffffffffff
00579c30movz x4, 19
00579c34madd x1, x4, x1, x3
00579c38str x1, [x2]
00579c3cldr x1, [sp+72]
00579c40ldrsb x27, [x1]
00579c44ldr x2, [sp+72]
00579c48ldrsb x27, [x2]
00579c4cldr x2, [x2+8]
00579c50and x2, x2, 0x7ffffffffffff
00579c54ldr x3, [sp+40]
00579c58add x2, x2, x3
00579c5cstr x2, [x1+8]
00579c60ldr x1, [sp+72]
00579c64ldrsb x27, [x1]
00579c68ldr x2, [sp+72]
00579c6cldrsb x27, [x2]
00579c70ldr x2, [x2+16]
00579c74and x2, x2, 0x7ffffffffffff
00579c78ldr x3, [sp+32]
00579c7cadd x2, x2, x3
00579c80str x2, [x1+16]
00579c84ldr x1, [sp+72]
00579c88ldrsb x27, [x1]
00579c8cldr x2, [sp+72]
00579c90ldrsb x27, [x2]
00579c94ldr x2, [x2+24]
00579c98and x2, x2, 0x7ffffffffffff
00579c9cldr x3, [sp+24]
00579ca0add x2, x2, x3
00579ca4str x2, [x1+24]
00579ca8ldr x1, [sp+72]
00579cacldrsb x27, [x1]
00579cb0ldr x2, [sp+72]
00579cb4ldrsb x27, [x2]
00579cb8ldr x2, [x2+32]
00579cbcand x2, x2, 0x7ffffffffffff
00579cc0ldr x3, [sp+16]
00579cc4add x2, x2, x3
00579cc8str x2, [x1+32]
00579cccldr x0, [sp+72]
00579cd0str x0, [sp+48]
00579cd4add x29, sp, 56
00579cd8add sp, sp, 64
00579cdcret x30
00579ba0
00579ce0
00579ce0crypto/internal/fips140/edwards25519/field.carryPropagate.abi0: ; void crypto/internal/fips140/edwards25519/field.carryPropagate(void)
00579ce0ldr x20, [sp+8]
00579ce4ldp x0, x1, [x20]
00579ce8ldp x2, x3, [x20+16]
00579cecldr x4, [x20+32]
00579cf0and x10, x0, 0x7ffffffffffff
00579cf4and x11, x1, 0x7ffffffffffff
00579cf8and x12, x2, 0x7ffffffffffff
00579cfcand x13, x3, 0x7ffffffffffff
00579d00and x14, x4, 0x7ffffffffffff
00579d04add x11, x11, x0, lsr #51
00579d08add x12, x12, x1, lsr #51
00579d0cadd x13, x13, x2, lsr #51
00579d10add x14, x14, x3, lsr #51
00579d14ubfm x21, x4, 51, 63
00579d18movz x22, 19
00579d1cmadd x10, x21, x22, x10
00579d20stp x10, x11, [x20]
00579d24stp x12, x13, [x20+16]
00579d28str x14, [x20+32]
00579d2cret x30
00579ce0
00579ce0crypto/internal/fips140/edwards25519/field.carryPropagate.abi0: ; void crypto/internal/fips140/edwards25519/field.carryPropagate(void)
00579ce0ldr x20, [sp+8]
00579ce4ldp x0, x1, [x20]
00579ce8ldp x2, x3, [x20+16]
00579cecldr x4, [x20+32]
00579cf0and x10, x0, 0x7ffffffffffff
00579cf4and x11, x1, 0x7ffffffffffff
00579cf8and x12, x2, 0x7ffffffffffff
00579cfcand x13, x3, 0x7ffffffffffff
00579d00and x14, x4, 0x7ffffffffffff
00579d04add x11, x11, x0, lsr #51
00579d08add x12, x12, x1, lsr #51
00579d0cadd x13, x13, x2, lsr #51
00579d10add x14, x14, x3, lsr #51
00579d14ubfm x21, x4, 51, 63
00579d18movz x22, 19
00579d1cmadd x10, x21, x22, x10
00579d20stp x10, x11, [x20]
00579d24stp x12, x13, [x20+16]
00579d28str x14, [x20+32]
00579d2cret x30
00579ce0
00579d30
00579d30crypto/internal/fips140/ecdh.ECDH[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdh.ECDH[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[2] * dict, crypto/internal/fips140/ecdh.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, crypto/internal/fips140/ecdh.PrivateKey * k, crypto/internal/fips140/ecdh.PublicKey * peer)
00579d30ldr x16, [x28+16]
00579d34sub x17, sp, 48
00579d38subs xzr, x17, x16
00579d3cb.ls 0x579e24
00579d40str x30, [sp-176]!
00579d44stur x29, [sp-8]
00579d48sub x29, sp, 8
00579d4cstr x0, [sp+184]
00579d50str x1, [sp+192]
00579d54str x2, [sp+200]
00579d58str x3, [sp+208]
00579d5cstr xzr, [sp+56]
00579d60stp xzr, xzr, [sp+64]
00579d64stp xzr, xzr, [sp+40]
00579d68adrp x27, 0x4a8000
00579d6cldr x26, [x27+472]
00579d70ldr x0, [x26]
00579d74blr x0
00579d78bl crypto/internal/fips140.RecordApproved
00579d7cstr xzr, [sp+96]
00579d80stp xzr, xzr, [sp+104]
00579d84stp xzr, xzr, [sp+80]
00579d88ldr x0, [sp+184]
00579d8cldrsb x27, [x0]
00579d90ldr x0, [x0]
00579d94str x0, [sp+160]
00579d98ldr x3, [sp+208]
00579d9cldr x2, [sp+200]
00579da0ldr x1, [sp+192]
00579da4bl crypto/internal/fips140/ecdh.ecdh[go.shape.*crypto/internal/fips140/nistec.P521Point]
00579da8str x0, [sp+96]
00579dacstr x1, [sp+104]
00579db0str x2, [sp+112]
00579db4str x3, [sp+80]
00579db8str x4, [sp+88]
00579dbcldr x0, [sp+96]
00579dc0ldr x1, [sp+104]
00579dc4ldr x2, [sp+112]
00579dc8str x0, [sp+136]
00579dccstr x1, [sp+144]
00579dd0str x2, [sp+152]
00579dd4ldr x0, [sp+80]
00579dd8ldr x1, [sp+88]
00579ddcstr x0, [sp+120]
00579de0str x1, [sp+128]
00579de4ldr x0, [sp+136]
00579de8ldr x1, [sp+144]
00579decldr x2, [sp+152]
00579df0str x0, [sp+56]
00579df4str x1, [sp+64]
00579df8str x2, [sp+72]
00579dfcldr x3, [sp+120]
00579e00ldr x4, [sp+128]
00579e04str x3, [sp+40]
00579e08str x4, [sp+48]
00579e0cldr x0, [sp+56]
00579e10ldr x1, [sp+64]
00579e14ldr x2, [sp+72]
00579e18ldur x29, [sp-8]
00579e1cldr x30, [sp], 176
00579e20ret x30
00579e24
00579e24loc_579e24:
00579e24stp x0, x1, [sp+8]
00579e28stp x2, x3, [sp+24]
00579e2cmov x3, x30
00579e30bl runtime.morestack_noctxt.abi0
00579e34ldp x0, x1, [sp+8]
00579e38ldp x2, x3, [sp+24]
00579e3cb 0x579d30
00579d30
00579d30crypto/internal/fips140/ecdh.ECDH[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdh.ECDH[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[2] * dict, crypto/internal/fips140/ecdh.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, crypto/internal/fips140/ecdh.PrivateKey * k, crypto/internal/fips140/ecdh.PublicKey * peer)
00579d30ldr x16, [x28+16]
00579d34sub x17, sp, 48
00579d38subs xzr, x17, x16
00579d3cb.ls 0x579e24
00579d40str x30, [sp-176]!
00579d44stur x29, [sp-8]
00579d48sub x29, sp, 8
00579d4cstr x0, [sp+184]
00579d50str x1, [sp+192]
00579d54str x2, [sp+200]
00579d58str x3, [sp+208]
00579d5cstr xzr, [sp+56]
00579d60stp xzr, xzr, [sp+64]
00579d64stp xzr, xzr, [sp+40]
00579d68adrp x27, 0x4a8000
00579d6cldr x26, [x27+472]
00579d70ldr x0, [x26]
00579d74blr x0
00579d78bl crypto/internal/fips140.RecordApproved
00579d7cstr xzr, [sp+96]
00579d80stp xzr, xzr, [sp+104]
00579d84stp xzr, xzr, [sp+80]
00579d88ldr x0, [sp+184]
00579d8cldrsb x27, [x0]
00579d90ldr x0, [x0]
00579d94str x0, [sp+160]
00579d98ldr x3, [sp+208]
00579d9cldr x2, [sp+200]
00579da0ldr x1, [sp+192]
00579da4bl crypto/internal/fips140/ecdh.ecdh[go.shape.*crypto/internal/fips140/nistec.P521Point]
00579da8str x0, [sp+96]
00579dacstr x1, [sp+104]
00579db0str x2, [sp+112]
00579db4str x3, [sp+80]
00579db8str x4, [sp+88]
00579dbcldr x0, [sp+96]
00579dc0ldr x1, [sp+104]
00579dc4ldr x2, [sp+112]
00579dc8str x0, [sp+136]
00579dccstr x1, [sp+144]
00579dd0str x2, [sp+152]
00579dd4ldr x0, [sp+80]
00579dd8ldr x1, [sp+88]
00579ddcstr x0, [sp+120]
00579de0str x1, [sp+128]
00579de4ldr x0, [sp+136]
00579de8ldr x1, [sp+144]
00579decldr x2, [sp+152]
00579df0str x0, [sp+56]
00579df4str x1, [sp+64]
00579df8str x2, [sp+72]
00579dfcldr x3, [sp+120]
00579e00ldr x4, [sp+128]
00579e04str x3, [sp+40]
00579e08str x4, [sp+48]
00579e0cldr x0, [sp+56]
00579e10ldr x1, [sp+64]
00579e14ldr x2, [sp+72]
00579e18ldur x29, [sp-8]
00579e1cldr x30, [sp], 176
00579e20ret x30
00579e24
00579e24loc_579e24:
00579e24stp x0, x1, [sp+8]
00579e28stp x2, x3, [sp+24]
00579e2cmov x3, x30
00579e30bl runtime.morestack_noctxt.abi0
00579e34ldp x0, x1, [sp+8]
00579e38ldp x2, x3, [sp+24]
00579e3cb 0x579d30
00579d30
00579e40
00579e40crypto/internal/fips140/ecdh.ecdh[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdh.ecdh[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[5] * dict, crypto/internal/fips140/ecdh.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, crypto/internal/fips140/ecdh.PrivateKey * k, crypto/internal/fips140/ecdh.PublicKey * peer)
00579e40ldr x16, [x28+16]
00579e44sub x17, sp, 272
00579e48subs xzr, x17, x16
00579e4cb.ls 0x57a240
00579e50sub x20, sp, 400
00579e54stp x29, x30, [x20-8]
00579e58add sp, x20, 0
00579e5csub x29, sp, 8
00579e60str x0, [sp+408]
00579e64str x1, [sp+416]
00579e68str x2, [sp+424]
00579e6cstr x3, [sp+432]
00579e70str xzr, [sp+72]
00579e74stp xzr, xzr, [sp+80]
00579e78stp xzr, xzr, [sp+56]
00579e7cldr x3, [sp+416]
00579e80ldrsb x27, [x3]
00579e84ldr x4, [x3]
00579e88ldr x3, [x3+8]
00579e8cstr x4, [sp+256]
00579e90str x3, [sp+264]
00579e94ldr x3, [sp+424]
00579e98ldrsb x27, [x3]
00579e9cldr x1, [x3]
00579ea0ldr x3, [x3+8]
00579ea4str x1, [sp+240]
00579ea8str x3, [sp+248]
00579eacldr x4, [sp+264]
00579eb0subs xzr, x4, x3
00579eb4b.ne 0x579ebc
00579eb8b 0x579ec0
00579ebc
00579ebcloc_579ebc:
00579ebcb 0x57a1f8
00579ec0
00579ec0loc_579ec0:
00579ec0ldr x2, [sp+264]
00579ec4ldr x0, [sp+256]
00579ec8bl runtime.memequal
00579ecctbnz w0, 0, 0x579ed4
00579ed0b 0x57a1f4
00579ed4
00579ed4loc_579ed4:
00579ed4ldr x3, [sp+424]
00579ed8ldrsb x27, [x3]
00579edcldr x4, [x3]
00579ee0ldr x3, [x3+8]
00579ee4str x4, [sp+224]
00579ee8str x3, [sp+232]
00579eecldr x3, [sp+432]
00579ef0ldrsb x27, [x3]
00579ef4ldr x1, [x3]
00579ef8ldr x3, [x3+8]
00579efcstr x1, [sp+208]
00579f00str x3, [sp+216]
00579f04ldr x4, [sp+232]
00579f08subs xzr, x4, x3
00579f0cb.ne 0x579f14
00579f10b 0x579f18
00579f14
00579f14loc_579f14:
00579f14b 0x57a1ac
00579f18
00579f18loc_579f18:
00579f18ldr x0, [sp+224]
00579f1cldr x2, [sp+232]
00579f20bl runtime.memequal
00579f24tbnz w0, 0, 0x579f2c
00579f28b 0x57a1a8
00579f2c
00579f2cloc_579f2c:
00579f2cldr x2, [sp+424]
00579f30ldrsb x27, [x2]
00579f34ldr x2, [x2+24]
00579f38str x2, [sp+48]
00579f3csubs xzr, x2, 1
00579f40b.eq 0x579f48
00579f44b 0x579f90
00579f48
00579f48loc_579f48:
00579f48adrp x0, 0x14f000
00579f4cadd x0, x0, 324
00579f50movz x1, 47
00579f54bl errors.New
00579f58str x0, [sp+312]
00579f5cstr x1, [sp+320]
00579f60str xzr, [sp+72]
00579f64stp xzr, xzr, [sp+80]
00579f68ldr x3, [sp+312]
00579f6cldr x4, [sp+320]
00579f70str x3, [sp+56]
00579f74str x4, [sp+64]
00579f78ldr x0, [sp+72]
00579f7cldr x1, [sp+80]
00579f80ldr x2, [sp+88]
00579f84ldp x29, x30, [sp-8]
00579f88add sp, sp, 400
00579f8cret x30
00579f90
00579f90loc_579f90:
00579f90ldr x0, [sp+416]
00579f94ldrsb x27, [x0]
00579f98ldr x26, [x0+16]
00579f9cldr x0, [x26]
00579fa0blr x0
00579fa4str x0, [sp+304]
00579fa8str xzr, [sp+296]
00579facstp xzr, xzr, [sp+312]
00579fb0ldr x0, [sp+432]
00579fb4ldrsb x27, [x0]
00579fb8ldr x1, [x0+16]
00579fbcldr x2, [x0+24]
00579fc0ldr x3, [x0+32]
00579fc4str x1, [sp+184]
00579fc8str x2, [sp+192]
00579fccstr x3, [sp+200]
00579fd0ldr x26, [sp+408]
00579fd4ldrsb x27, [x26]
00579fd8ldr x0, [x26]
00579fdcldr x4, [sp+304]
00579fe0mov x5, x0
00579fe4mov x0, x4
00579fe8blr x5
00579fecstr x0, [sp+296]
00579ff0str x1, [sp+312]
00579ff4str x2, [sp+320]
00579ff8ldr x0, [sp+296]
00579ffcstr x0, [sp+152]
0057a000ldr x0, [sp+312]
0057a004ldr x1, [sp+320]
0057a008str x0, [sp+136]
0057a00cstr x1, [sp+144]
0057a010ldr x0, [sp+152]
0057a014str x0, [sp+96]
0057a018ldr x0, [sp+144]
0057a01cldr x1, [sp+136]
0057a020str x1, [sp+120]
0057a024str x0, [sp+128]
0057a028cbnz x1, 0x57a030
0057a02cb 0x57a060
0057a030
0057a030loc_57a030:
0057a030str xzr, [sp+72]
0057a034stp xzr, xzr, [sp+80]
0057a038ldr x3, [sp+120]
0057a03cldr x4, [sp+128]
0057a040str x3, [sp+56]
0057a044str x4, [sp+64]
0057a048ldr x0, [sp+72]
0057a04cldr x1, [sp+80]
0057a050ldr x2, [sp+88]
0057a054ldp x29, x30, [sp-8]
0057a058add sp, sp, 400
0057a05cret x30
0057a060
0057a060loc_57a060:
0057a060str xzr, [sp+296]
0057a064stp xzr, xzr, [sp+312]
0057a068ldr x5, [sp+424]
0057a06cldrsb x27, [x5]
0057a070ldr x2, [x5+40]
0057a074ldr x3, [x5+48]
0057a078ldr x4, [x5+56]
0057a07cstr x2, [sp+160]
0057a080str x3, [sp+168]
0057a084str x4, [sp+176]
0057a088ldr x5, [sp+408]
0057a08cldrsb x27, [x5]
0057a090add x26, x5, 8
0057a094ldr x0, [sp+96]
0057a098ldr x1, [sp+96]
0057a09cldr x5, [x5+8]
0057a0a0blr x5
0057a0a4str x0, [sp+296]
0057a0a8str x1, [sp+312]
0057a0acstr x2, [sp+320]
0057a0b0ldr x5, [sp+296]
0057a0b4str x5, [sp+384]
0057a0b8ldr x5, [sp+320]
0057a0bcldr x6, [sp+312]
0057a0c0str x6, [sp+368]
0057a0c4str x5, [sp+376]
0057a0c8str x6, [sp+104]
0057a0ccstr x5, [sp+112]
0057a0d0cbnz x6, 0x57a0d8
0057a0d4b 0x57a108
0057a0d8
0057a0d8loc_57a0d8:
0057a0d8str xzr, [sp+72]
0057a0dcstp xzr, xzr, [sp+80]
0057a0e0ldr x3, [sp+104]
0057a0e4ldr x4, [sp+112]
0057a0e8str x3, [sp+56]
0057a0ecstr x4, [sp+64]
0057a0f0ldr x0, [sp+72]
0057a0f4ldr x1, [sp+80]
0057a0f8ldr x2, [sp+88]
0057a0fcldp x29, x30, [sp-8]
0057a100add sp, sp, 400
0057a104ret x30
0057a108
0057a108loc_57a108:
0057a108str xzr, [sp+272]
0057a10cstp xzr, xzr, [sp+280]
0057a110stp xzr, xzr, [sp+312]
0057a114ldr x1, [sp+408]
0057a118ldrsb x27, [x1]
0057a11cadd x26, x1, 16
0057a120ldr x0, [sp+96]
0057a124ldr x1, [x1+16]
0057a128blr x1
0057a12cstr x0, [sp+272]
0057a130str x1, [sp+280]
0057a134str x2, [sp+288]
0057a138str x3, [sp+312]
0057a13cstr x4, [sp+320]
0057a140ldr x1, [sp+272]
0057a144ldr x2, [sp+280]
0057a148ldr x3, [sp+288]
0057a14cstr x1, [sp+344]
0057a150str x2, [sp+352]
0057a154str x3, [sp+360]
0057a158ldr x1, [sp+312]
0057a15cldr x2, [sp+320]
0057a160str x1, [sp+328]
0057a164str x2, [sp+336]
0057a168ldr x1, [sp+344]
0057a16cldr x2, [sp+352]
0057a170ldr x3, [sp+360]
0057a174str x1, [sp+72]
0057a178str x2, [sp+80]
0057a17cstr x3, [sp+88]
0057a180ldr x3, [sp+328]
0057a184ldr x4, [sp+336]
0057a188str x3, [sp+56]
0057a18cstr x4, [sp+64]
0057a190ldr x0, [sp+72]
0057a194ldr x1, [sp+80]
0057a198ldr x2, [sp+88]
0057a19cldp x29, x30, [sp-8]
0057a1a0add sp, sp, 400
0057a1a4ret x30
0057a1a8
0057a1a8loc_57a1a8:
0057a1a8b 0x57a1ac
0057a1ac
0057a1acloc_57a1ac:
0057a1acadrp x0, 0x143000
0057a1b0add x0, x0, 1672
0057a1b4orr x1, xzr, 30
0057a1b8bl errors.New
0057a1bcstr x0, [sp+312]
0057a1c0str x1, [sp+320]
0057a1c4str xzr, [sp+72]
0057a1c8stp xzr, xzr, [sp+80]
0057a1ccldr x3, [sp+312]
0057a1d0ldr x4, [sp+320]
0057a1d4str x3, [sp+56]
0057a1d8str x4, [sp+64]
0057a1dcldr x0, [sp+72]
0057a1e0ldr x1, [sp+80]
0057a1e4ldr x2, [sp+88]
0057a1e8ldp x29, x30, [sp-8]
0057a1ecadd sp, sp, 400
0057a1f0ret x30
0057a1f4
0057a1f4loc_57a1f4:
0057a1f4b 0x57a1f8
0057a1f8
0057a1f8loc_57a1f8:
0057a1f8adrp x0, 0x143000
0057a1fcadd x0, x0, 1672
0057a200orr x1, xzr, 30
0057a204bl errors.New
0057a208str x0, [sp+312]
0057a20cstr x1, [sp+320]
0057a210str xzr, [sp+72]
0057a214stp xzr, xzr, [sp+80]
0057a218ldr x3, [sp+312]
0057a21cldr x4, [sp+320]
0057a220str x3, [sp+56]
0057a224str x4, [sp+64]
0057a228ldr x0, [sp+72]
0057a22cldr x1, [sp+80]
0057a230ldr x2, [sp+88]
0057a234ldp x29, x30, [sp-8]
0057a238add sp, sp, 400
0057a23cret x30
0057a240
0057a240loc_57a240:
0057a240stp x0, x1, [sp+8]
0057a244stp x2, x3, [sp+24]
0057a248mov x3, x30
0057a24cbl runtime.morestack_noctxt.abi0
0057a250ldp x0, x1, [sp+8]
0057a254ldp x2, x3, [sp+24]
0057a258b 0x579e40
0057a25cudf 0
00579e40
00579e40crypto/internal/fips140/ecdh.ecdh[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdh.ecdh[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[5] * dict, crypto/internal/fips140/ecdh.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, crypto/internal/fips140/ecdh.PrivateKey * k, crypto/internal/fips140/ecdh.PublicKey * peer)
00579e40ldr x16, [x28+16]
00579e44sub x17, sp, 272
00579e48subs xzr, x17, x16
00579e4cb.ls 0x57a240
00579e50sub x20, sp, 400
00579e54stp x29, x30, [x20-8]
00579e58add sp, x20, 0
00579e5csub x29, sp, 8
00579e60str x0, [sp+408]
00579e64str x1, [sp+416]
00579e68str x2, [sp+424]
00579e6cstr x3, [sp+432]
00579e70str xzr, [sp+72]
00579e74stp xzr, xzr, [sp+80]
00579e78stp xzr, xzr, [sp+56]
00579e7cldr x3, [sp+416]
00579e80ldrsb x27, [x3]
00579e84ldr x4, [x3]
00579e88ldr x3, [x3+8]
00579e8cstr x4, [sp+256]
00579e90str x3, [sp+264]
00579e94ldr x3, [sp+424]
00579e98ldrsb x27, [x3]
00579e9cldr x1, [x3]
00579ea0ldr x3, [x3+8]
00579ea4str x1, [sp+240]
00579ea8str x3, [sp+248]
00579eacldr x4, [sp+264]
00579eb0subs xzr, x4, x3
00579eb4b.ne 0x579ebc
00579eb8b 0x579ec0
00579ebc
00579ebcloc_579ebc:
00579ebcb 0x57a1f8
00579ec0
00579ec0loc_579ec0:
00579ec0ldr x2, [sp+264]
00579ec4ldr x0, [sp+256]
00579ec8bl runtime.memequal
00579ecctbnz w0, 0, 0x579ed4
00579ed0b 0x57a1f4
00579ed4
00579ed4loc_579ed4:
00579ed4ldr x3, [sp+424]
00579ed8ldrsb x27, [x3]
00579edcldr x4, [x3]
00579ee0ldr x3, [x3+8]
00579ee4str x4, [sp+224]
00579ee8str x3, [sp+232]
00579eecldr x3, [sp+432]
00579ef0ldrsb x27, [x3]
00579ef4ldr x1, [x3]
00579ef8ldr x3, [x3+8]
00579efcstr x1, [sp+208]
00579f00str x3, [sp+216]
00579f04ldr x4, [sp+232]
00579f08subs xzr, x4, x3
00579f0cb.ne 0x579f14
00579f10b 0x579f18
00579f14
00579f14loc_579f14:
00579f14b 0x57a1ac
00579f18
00579f18loc_579f18:
00579f18ldr x0, [sp+224]
00579f1cldr x2, [sp+232]
00579f20bl runtime.memequal
00579f24tbnz w0, 0, 0x579f2c
00579f28b 0x57a1a8
00579f2c
00579f2cloc_579f2c:
00579f2cldr x2, [sp+424]
00579f30ldrsb x27, [x2]
00579f34ldr x2, [x2+24]
00579f38str x2, [sp+48]
00579f3csubs xzr, x2, 1
00579f40b.eq 0x579f48
00579f44b 0x579f90
00579f48
00579f48loc_579f48:
00579f48adrp x0, 0x14f000
00579f4cadd x0, x0, 324
00579f50movz x1, 47
00579f54bl errors.New
00579f58str x0, [sp+312]
00579f5cstr x1, [sp+320]
00579f60str xzr, [sp+72]
00579f64stp xzr, xzr, [sp+80]
00579f68ldr x3, [sp+312]
00579f6cldr x4, [sp+320]
00579f70str x3, [sp+56]
00579f74str x4, [sp+64]
00579f78ldr x0, [sp+72]
00579f7cldr x1, [sp+80]
00579f80ldr x2, [sp+88]
00579f84ldp x29, x30, [sp-8]
00579f88add sp, sp, 400
00579f8cret x30
00579f90
00579f90loc_579f90:
00579f90ldr x0, [sp+416]
00579f94ldrsb x27, [x0]
00579f98ldr x26, [x0+16]
00579f9cldr x0, [x26]
00579fa0blr x0
00579fa4str x0, [sp+304]
00579fa8str xzr, [sp+296]
00579facstp xzr, xzr, [sp+312]
00579fb0ldr x0, [sp+432]
00579fb4ldrsb x27, [x0]
00579fb8ldr x1, [x0+16]
00579fbcldr x2, [x0+24]
00579fc0ldr x3, [x0+32]
00579fc4str x1, [sp+184]
00579fc8str x2, [sp+192]
00579fccstr x3, [sp+200]
00579fd0ldr x26, [sp+408]
00579fd4ldrsb x27, [x26]
00579fd8ldr x0, [x26]
00579fdcldr x4, [sp+304]
00579fe0mov x5, x0
00579fe4mov x0, x4
00579fe8blr x5
00579fecstr x0, [sp+296]
00579ff0str x1, [sp+312]
00579ff4str x2, [sp+320]
00579ff8ldr x0, [sp+296]
00579ffcstr x0, [sp+152]
0057a000ldr x0, [sp+312]
0057a004ldr x1, [sp+320]
0057a008str x0, [sp+136]
0057a00cstr x1, [sp+144]
0057a010ldr x0, [sp+152]
0057a014str x0, [sp+96]
0057a018ldr x0, [sp+144]
0057a01cldr x1, [sp+136]
0057a020str x1, [sp+120]
0057a024str x0, [sp+128]
0057a028cbnz x1, 0x57a030
0057a02cb 0x57a060
0057a030
0057a030loc_57a030:
0057a030str xzr, [sp+72]
0057a034stp xzr, xzr, [sp+80]
0057a038ldr x3, [sp+120]
0057a03cldr x4, [sp+128]
0057a040str x3, [sp+56]
0057a044str x4, [sp+64]
0057a048ldr x0, [sp+72]
0057a04cldr x1, [sp+80]
0057a050ldr x2, [sp+88]
0057a054ldp x29, x30, [sp-8]
0057a058add sp, sp, 400
0057a05cret x30
0057a060
0057a060loc_57a060:
0057a060str xzr, [sp+296]
0057a064stp xzr, xzr, [sp+312]
0057a068ldr x5, [sp+424]
0057a06cldrsb x27, [x5]
0057a070ldr x2, [x5+40]
0057a074ldr x3, [x5+48]
0057a078ldr x4, [x5+56]
0057a07cstr x2, [sp+160]
0057a080str x3, [sp+168]
0057a084str x4, [sp+176]
0057a088ldr x5, [sp+408]
0057a08cldrsb x27, [x5]
0057a090add x26, x5, 8
0057a094ldr x0, [sp+96]
0057a098ldr x1, [sp+96]
0057a09cldr x5, [x5+8]
0057a0a0blr x5
0057a0a4str x0, [sp+296]
0057a0a8str x1, [sp+312]
0057a0acstr x2, [sp+320]
0057a0b0ldr x5, [sp+296]
0057a0b4str x5, [sp+384]
0057a0b8ldr x5, [sp+320]
0057a0bcldr x6, [sp+312]
0057a0c0str x6, [sp+368]
0057a0c4str x5, [sp+376]
0057a0c8str x6, [sp+104]
0057a0ccstr x5, [sp+112]
0057a0d0cbnz x6, 0x57a0d8
0057a0d4b 0x57a108
0057a0d8
0057a0d8loc_57a0d8:
0057a0d8str xzr, [sp+72]
0057a0dcstp xzr, xzr, [sp+80]
0057a0e0ldr x3, [sp+104]
0057a0e4ldr x4, [sp+112]
0057a0e8str x3, [sp+56]
0057a0ecstr x4, [sp+64]
0057a0f0ldr x0, [sp+72]
0057a0f4ldr x1, [sp+80]
0057a0f8ldr x2, [sp+88]
0057a0fcldp x29, x30, [sp-8]
0057a100add sp, sp, 400
0057a104ret x30
0057a108
0057a108loc_57a108:
0057a108str xzr, [sp+272]
0057a10cstp xzr, xzr, [sp+280]
0057a110stp xzr, xzr, [sp+312]
0057a114ldr x1, [sp+408]
0057a118ldrsb x27, [x1]
0057a11cadd x26, x1, 16
0057a120ldr x0, [sp+96]
0057a124ldr x1, [x1+16]
0057a128blr x1
0057a12cstr x0, [sp+272]
0057a130str x1, [sp+280]
0057a134str x2, [sp+288]
0057a138str x3, [sp+312]
0057a13cstr x4, [sp+320]
0057a140ldr x1, [sp+272]
0057a144ldr x2, [sp+280]
0057a148ldr x3, [sp+288]
0057a14cstr x1, [sp+344]
0057a150str x2, [sp+352]
0057a154str x3, [sp+360]
0057a158ldr x1, [sp+312]
0057a15cldr x2, [sp+320]
0057a160str x1, [sp+328]
0057a164str x2, [sp+336]
0057a168ldr x1, [sp+344]
0057a16cldr x2, [sp+352]
0057a170ldr x3, [sp+360]
0057a174str x1, [sp+72]
0057a178str x2, [sp+80]
0057a17cstr x3, [sp+88]
0057a180ldr x3, [sp+328]
0057a184ldr x4, [sp+336]
0057a188str x3, [sp+56]
0057a18cstr x4, [sp+64]
0057a190ldr x0, [sp+72]
0057a194ldr x1, [sp+80]
0057a198ldr x2, [sp+88]
0057a19cldp x29, x30, [sp-8]
0057a1a0add sp, sp, 400
0057a1a4ret x30
0057a1a8
0057a1a8loc_57a1a8:
0057a1a8b 0x57a1ac
0057a1ac
0057a1acloc_57a1ac:
0057a1acadrp x0, 0x143000
0057a1b0add x0, x0, 1672
0057a1b4orr x1, xzr, 30
0057a1b8bl errors.New
0057a1bcstr x0, [sp+312]
0057a1c0str x1, [sp+320]
0057a1c4str xzr, [sp+72]
0057a1c8stp xzr, xzr, [sp+80]
0057a1ccldr x3, [sp+312]
0057a1d0ldr x4, [sp+320]
0057a1d4str x3, [sp+56]
0057a1d8str x4, [sp+64]
0057a1dcldr x0, [sp+72]
0057a1e0ldr x1, [sp+80]
0057a1e4ldr x2, [sp+88]
0057a1e8ldp x29, x30, [sp-8]
0057a1ecadd sp, sp, 400
0057a1f0ret x30
0057a1f4
0057a1f4loc_57a1f4:
0057a1f4b 0x57a1f8
0057a1f8
0057a1f8loc_57a1f8:
0057a1f8adrp x0, 0x143000
0057a1fcadd x0, x0, 1672
0057a200orr x1, xzr, 30
0057a204bl errors.New
0057a208str x0, [sp+312]
0057a20cstr x1, [sp+320]
0057a210str xzr, [sp+72]
0057a214stp xzr, xzr, [sp+80]
0057a218ldr x3, [sp+312]
0057a21cldr x4, [sp+320]
0057a220str x3, [sp+56]
0057a224str x4, [sp+64]
0057a228ldr x0, [sp+72]
0057a22cldr x1, [sp+80]
0057a230ldr x2, [sp+88]
0057a234ldp x29, x30, [sp-8]
0057a238add sp, sp, 400
0057a23cret x30
0057a240
0057a240loc_57a240:
0057a240stp x0, x1, [sp+8]
0057a244stp x2, x3, [sp+24]
0057a248mov x3, x30
0057a24cbl runtime.morestack_noctxt.abi0
0057a250ldp x0, x1, [sp+8]
0057a254ldp x2, x3, [sp+24]
0057a258b 0x579e40
0057a25cudf 0
00579e40
0057a260
0057a260crypto/internal/fips140/ecdh.NewPublicKey[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdh.NewPublicKey[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[2] * dict, crypto/internal/fips140/ecdh.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, struct []uint8 key)
0057a260ldr x16, [x28+16]
0057a264sub x17, sp, 64
0057a268subs xzr, x17, x16
0057a26cb.ls 0x57a4ac
0057a270str x30, [sp-192]!
0057a274stur x29, [sp-8]
0057a278sub x29, sp, 8
0057a27cstr x0, [sp+200]
0057a280str x1, [sp+208]
0057a284str x2, [sp+216]
0057a288str x3, [sp+224]
0057a28cstr x4, [sp+232]
0057a290str xzr, [sp+72]
0057a294stp xzr, xzr, [sp+56]
0057a298ldr x2, [sp+224]
0057a29cstr x2, [sp+48]
0057a2a0subs xzr, x2, 0
0057a2a4cset x3, eq
0057a2a8strb w3, [sp+47]
0057a2accbz x2, 0x57a2b4
0057a2b0b 0x57a2b8
0057a2b4
0057a2b4loc_57a2b4:
0057a2b4b 0x57a2e0
0057a2b8
0057a2b8loc_57a2b8:
0057a2b8ldr x1, [sp+224]
0057a2bcldr x2, [sp+216]
0057a2c0subs xzr, x1, 0
0057a2c4b.hi 0x57a2cc
0057a2c8b 0x57a4a0
0057a2cc
0057a2ccloc_57a2cc:
0057a2ccldrb w2, [x2]
0057a2d0subs wzr, w2, 4
0057a2d4cset x2, ne
0057a2d8strb w2, [sp+47]
0057a2dcb 0x57a2e0
0057a2e0
0057a2e0loc_57a2e0:
0057a2e0ldrb w2, [sp+47]
0057a2e4tbnz w2, 0, 0x57a2ec
0057a2e8b 0x57a328
0057a2ec
0057a2ecloc_57a2ec:
0057a2ecadrp x0, 0x144000
0057a2f0add x0, x0, 444
0057a2f4orr x1, xzr, 31
0057a2f8bl errors.New
0057a2fcstr x0, [sp+168]
0057a300str x1, [sp+176]
0057a304str xzr, [sp+72]
0057a308ldr x1, [sp+168]
0057a30cldr x2, [sp+176]
0057a310str x1, [sp+56]
0057a314str x2, [sp+64]
0057a318ldr x0, [sp+72]
0057a31cldur x29, [sp-8]
0057a320ldr x30, [sp], 192
0057a324ret x30
0057a328
0057a328loc_57a328:
0057a328ldr x0, [sp+208]
0057a32cldrsb x27, [x0]
0057a330ldr x26, [x0+16]
0057a334ldr x0, [x26]
0057a338blr x0
0057a33cstr x0, [sp+160]
0057a340str xzr, [sp+152]
0057a344stp xzr, xzr, [sp+168]
0057a348ldr x26, [sp+200]
0057a34cldrsb x27, [x26]
0057a350ldr x0, [x26]
0057a354ldr x1, [sp+216]
0057a358ldr x2, [sp+224]
0057a35cldr x3, [sp+232]
0057a360ldr x4, [sp+160]
0057a364mov x5, x0
0057a368mov x0, x4
0057a36cblr x5
0057a370str x0, [sp+152]
0057a374str x1, [sp+168]
0057a378str x2, [sp+176]
0057a37cldr x0, [sp+152]
0057a380str x0, [sp+112]
0057a384ldr x0, [sp+176]
0057a388ldr x1, [sp+168]
0057a38cstr x1, [sp+96]
0057a390str x0, [sp+104]
0057a394str x1, [sp+80]
0057a398str x0, [sp+88]
0057a39ccbnz x1, 0x57a3a4
0057a3a0b 0x57a3c8
0057a3a4
0057a3a4loc_57a3a4:
0057a3a4str xzr, [sp+72]
0057a3a8ldr x1, [sp+80]
0057a3acldr x2, [sp+88]
0057a3b0str x1, [sp+56]
0057a3b4str x2, [sp+64]
0057a3b8ldr x0, [sp+72]
0057a3bcldur x29, [sp-8]
0057a3c0ldr x30, [sp], 192
0057a3c4ret x30
0057a3c8
0057a3c8loc_57a3c8:
0057a3c8ldr x0, [sp+216]
0057a3ccldr x1, [sp+224]
0057a3d0ldr x2, [sp+232]
0057a3d4bl bytes.Clone
0057a3d8str x0, [sp+128]
0057a3dcstr x1, [sp+136]
0057a3e0str x2, [sp+144]
0057a3e4adrp x0, 0xce000
0057a3e8add x0, x0, 736
0057a3ecbl runtime.newobject
0057a3f0str x0, [sp+120]
0057a3f4ldr x3, [sp+208]
0057a3f8ldrsb x27, [x3]
0057a3fcldr x4, [x3]
0057a400ldr x3, [x3+8]
0057a404str x3, [x0+8]
0057a408adrp x27, 0x4d1000
0057a40cldr w3, [x27+3056]
0057a410cbz w3, 0x57a418
0057a414b 0x57a41c
0057a418
0057a418loc_57a418:
0057a418b 0x57a430
0057a41c
0057a41cloc_57a41c:
0057a41cbl runtime.gcWriteBarrier2
0057a420str x4, [x25]
0057a424ldr x3, [x0]
0057a428str x3, [x25+8]
0057a42cb 0x57a430
0057a430
0057a430loc_57a430:
0057a430str x4, [x0]
0057a434ldr x3, [sp+120]
0057a438ldrsb x27, [x3]
0057a43cldr x4, [sp+128]
0057a440ldr x5, [sp+136]
0057a444ldr x6, [sp+144]
0057a448str x5, [x3+24]
0057a44cstr x6, [x3+32]
0057a450adrp x27, 0x4d1000
0057a454ldr w5, [x27+3056]
0057a458cbz w5, 0x57a460
0057a45cb 0x57a464
0057a460
0057a460loc_57a460:
0057a460b 0x57a478
0057a464
0057a464loc_57a464:
0057a464bl runtime.gcWriteBarrier2
0057a468str x4, [x25]
0057a46cldr x5, [x3+16]
0057a470str x5, [x25+8]
0057a474b 0x57a478
0057a478
0057a478loc_57a478:
0057a478str x4, [x3+16]
0057a47cldr x3, [sp+120]
0057a480str x3, [sp+72]
0057a484stp xzr, xzr, [sp+56]
0057a488ldr x0, [sp+72]
0057a48cmov x1, xzr
0057a490mov x2, xzr
0057a494ldur x29, [sp-8]
0057a498ldr x30, [sp], 192
0057a49cret x30
0057a4a0
0057a4a0loc_57a4a0:
0057a4a0mov x0, xzr
0057a4a4bl runtime.panicIndex
0057a4a8hint
0057a4ac
0057a4acloc_57a4ac:
0057a4acstp x0, x1, [sp+8]
0057a4b0stp x2, x3, [sp+24]
0057a4b4str x4, [sp+40]
0057a4b8mov x3, x30
0057a4bcbl runtime.morestack_noctxt.abi0
0057a4c0ldp x0, x1, [sp+8]
0057a4c4ldp x2, x3, [sp+24]
0057a4c8ldr x4, [sp+40]
0057a4ccb 0x57a260
0057a260
0057a260crypto/internal/fips140/ecdh.NewPublicKey[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdh.NewPublicKey[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[2] * dict, crypto/internal/fips140/ecdh.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, struct []uint8 key)
0057a260ldr x16, [x28+16]
0057a264sub x17, sp, 64
0057a268subs xzr, x17, x16
0057a26cb.ls 0x57a4ac
0057a270str x30, [sp-192]!
0057a274stur x29, [sp-8]
0057a278sub x29, sp, 8
0057a27cstr x0, [sp+200]
0057a280str x1, [sp+208]
0057a284str x2, [sp+216]
0057a288str x3, [sp+224]
0057a28cstr x4, [sp+232]
0057a290str xzr, [sp+72]
0057a294stp xzr, xzr, [sp+56]
0057a298ldr x2, [sp+224]
0057a29cstr x2, [sp+48]
0057a2a0subs xzr, x2, 0
0057a2a4cset x3, eq
0057a2a8strb w3, [sp+47]
0057a2accbz x2, 0x57a2b4
0057a2b0b 0x57a2b8
0057a2b4
0057a2b4loc_57a2b4:
0057a2b4b 0x57a2e0
0057a2b8
0057a2b8loc_57a2b8:
0057a2b8ldr x1, [sp+224]
0057a2bcldr x2, [sp+216]
0057a2c0subs xzr, x1, 0
0057a2c4b.hi 0x57a2cc
0057a2c8b 0x57a4a0
0057a2cc
0057a2ccloc_57a2cc:
0057a2ccldrb w2, [x2]
0057a2d0subs wzr, w2, 4
0057a2d4cset x2, ne
0057a2d8strb w2, [sp+47]
0057a2dcb 0x57a2e0
0057a2e0
0057a2e0loc_57a2e0:
0057a2e0ldrb w2, [sp+47]
0057a2e4tbnz w2, 0, 0x57a2ec
0057a2e8b 0x57a328
0057a2ec
0057a2ecloc_57a2ec:
0057a2ecadrp x0, 0x144000
0057a2f0add x0, x0, 444
0057a2f4orr x1, xzr, 31
0057a2f8bl errors.New
0057a2fcstr x0, [sp+168]
0057a300str x1, [sp+176]
0057a304str xzr, [sp+72]
0057a308ldr x1, [sp+168]
0057a30cldr x2, [sp+176]
0057a310str x1, [sp+56]
0057a314str x2, [sp+64]
0057a318ldr x0, [sp+72]
0057a31cldur x29, [sp-8]
0057a320ldr x30, [sp], 192
0057a324ret x30
0057a328
0057a328loc_57a328:
0057a328ldr x0, [sp+208]
0057a32cldrsb x27, [x0]
0057a330ldr x26, [x0+16]
0057a334ldr x0, [x26]
0057a338blr x0
0057a33cstr x0, [sp+160]
0057a340str xzr, [sp+152]
0057a344stp xzr, xzr, [sp+168]
0057a348ldr x26, [sp+200]
0057a34cldrsb x27, [x26]
0057a350ldr x0, [x26]
0057a354ldr x1, [sp+216]
0057a358ldr x2, [sp+224]
0057a35cldr x3, [sp+232]
0057a360ldr x4, [sp+160]
0057a364mov x5, x0
0057a368mov x0, x4
0057a36cblr x5
0057a370str x0, [sp+152]
0057a374str x1, [sp+168]
0057a378str x2, [sp+176]
0057a37cldr x0, [sp+152]
0057a380str x0, [sp+112]
0057a384ldr x0, [sp+176]
0057a388ldr x1, [sp+168]
0057a38cstr x1, [sp+96]
0057a390str x0, [sp+104]
0057a394str x1, [sp+80]
0057a398str x0, [sp+88]
0057a39ccbnz x1, 0x57a3a4
0057a3a0b 0x57a3c8
0057a3a4
0057a3a4loc_57a3a4:
0057a3a4str xzr, [sp+72]
0057a3a8ldr x1, [sp+80]
0057a3acldr x2, [sp+88]
0057a3b0str x1, [sp+56]
0057a3b4str x2, [sp+64]
0057a3b8ldr x0, [sp+72]
0057a3bcldur x29, [sp-8]
0057a3c0ldr x30, [sp], 192
0057a3c4ret x30
0057a3c8
0057a3c8loc_57a3c8:
0057a3c8ldr x0, [sp+216]
0057a3ccldr x1, [sp+224]
0057a3d0ldr x2, [sp+232]
0057a3d4bl bytes.Clone
0057a3d8str x0, [sp+128]
0057a3dcstr x1, [sp+136]
0057a3e0str x2, [sp+144]
0057a3e4adrp x0, 0xce000
0057a3e8add x0, x0, 736
0057a3ecbl runtime.newobject
0057a3f0str x0, [sp+120]
0057a3f4ldr x3, [sp+208]
0057a3f8ldrsb x27, [x3]
0057a3fcldr x4, [x3]
0057a400ldr x3, [x3+8]
0057a404str x3, [x0+8]
0057a408adrp x27, 0x4d1000
0057a40cldr w3, [x27+3056]
0057a410cbz w3, 0x57a418
0057a414b 0x57a41c
0057a418
0057a418loc_57a418:
0057a418b 0x57a430
0057a41c
0057a41cloc_57a41c:
0057a41cbl runtime.gcWriteBarrier2
0057a420str x4, [x25]
0057a424ldr x3, [x0]
0057a428str x3, [x25+8]
0057a42cb 0x57a430
0057a430
0057a430loc_57a430:
0057a430str x4, [x0]
0057a434ldr x3, [sp+120]
0057a438ldrsb x27, [x3]
0057a43cldr x4, [sp+128]
0057a440ldr x5, [sp+136]
0057a444ldr x6, [sp+144]
0057a448str x5, [x3+24]
0057a44cstr x6, [x3+32]
0057a450adrp x27, 0x4d1000
0057a454ldr w5, [x27+3056]
0057a458cbz w5, 0x57a460
0057a45cb 0x57a464
0057a460
0057a460loc_57a460:
0057a460b 0x57a478
0057a464
0057a464loc_57a464:
0057a464bl runtime.gcWriteBarrier2
0057a468str x4, [x25]
0057a46cldr x5, [x3+16]
0057a470str x5, [x25+8]
0057a474b 0x57a478
0057a478
0057a478loc_57a478:
0057a478str x4, [x3+16]
0057a47cldr x3, [sp+120]
0057a480str x3, [sp+72]
0057a484stp xzr, xzr, [sp+56]
0057a488ldr x0, [sp+72]
0057a48cmov x1, xzr
0057a490mov x2, xzr
0057a494ldur x29, [sp-8]
0057a498ldr x30, [sp], 192
0057a49cret x30
0057a4a0
0057a4a0loc_57a4a0:
0057a4a0mov x0, xzr
0057a4a4bl runtime.panicIndex
0057a4a8hint
0057a4ac
0057a4acloc_57a4ac:
0057a4acstp x0, x1, [sp+8]
0057a4b0stp x2, x3, [sp+24]
0057a4b4str x4, [sp+40]
0057a4b8mov x3, x30
0057a4bcbl runtime.morestack_noctxt.abi0
0057a4c0ldp x0, x1, [sp+8]
0057a4c4ldp x2, x3, [sp+24]
0057a4c8ldr x4, [sp+40]
0057a4ccb 0x57a260
0057a260
0057a4d0
0057a4d0crypto/internal/fips140/ecdh.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdh.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[4] * dict, crypto/internal/fips140/ecdh.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, struct []uint8 key)
0057a4d0ldr x16, [x28+16]
0057a4d4sub x17, sp, 272
0057a4d8subs xzr, x17, x16
0057a4dcb.ls 0x57a984
0057a4e0sub x20, sp, 400
0057a4e4stp x29, x30, [x20-8]
0057a4e8add sp, x20, 0
0057a4ecsub x29, sp, 8
0057a4f0str x0, [sp+408]
0057a4f4str x1, [sp+416]
0057a4f8str x2, [sp+424]
0057a4fcstr x3, [sp+432]
0057a500str x4, [sp+440]
0057a504str xzr, [sp+96]
0057a508stp xzr, xzr, [sp+80]
0057a50cldr x6, [sp+432]
0057a510str x6, [sp+72]
0057a514ldr x7, [sp+416]
0057a518ldrsb x27, [x7]
0057a51cldr x7, [x7+32]
0057a520str x7, [sp+64]
0057a524subs xzr, x6, x7
0057a528cset x6, ne
0057a52cstrb w6, [sp+62]
0057a530b.ne 0x57a538
0057a534b 0x57a53c
0057a538
0057a538loc_57a538:
0057a538b 0x57a558
0057a53c
0057a53cloc_57a53c:
0057a53cldr x0, [sp+424]
0057a540ldr x1, [sp+432]
0057a544ldr x2, [sp+440]
0057a548bl crypto/internal/fips140/ecdh.isZero
0057a54cstrb w0, [sp+61]
0057a550strb w0, [sp+62]
0057a554b 0x57a558
0057a558
0057a558loc_57a558:
0057a558ldrb w6, [sp+62]
0057a55cstrb w6, [sp+63]
0057a560tbnz w6, 0, 0x57a568
0057a564b 0x57a56c
0057a568
0057a568loc_57a568:
0057a568b 0x57a5ac
0057a56c
0057a56cloc_57a56c:
0057a56cldr x6, [sp+416]
0057a570ldrsb x27, [x6]
0057a574ldr x3, [x6+24]
0057a578ldr x4, [x6+32]
0057a57cldr x5, [x6+40]
0057a580str x3, [sp+240]
0057a584str x4, [sp+248]
0057a588str x5, [sp+256]
0057a58cldr x0, [sp+424]
0057a590ldr x1, [sp+432]
0057a594ldr x2, [sp+440]
0057a598bl crypto/internal/fips140/ecdh.isLess
0057a59cstrb w0, [sp+61]
0057a5a0eor x6, x0, 1
0057a5a4strb w6, [sp+63]
0057a5a8b 0x57a5ac
0057a5ac
0057a5acloc_57a5ac:
0057a5acldrb w2, [sp+63]
0057a5b0tbnz w2, 0, 0x57a5b8
0057a5b4b 0x57a5f4
0057a5b8
0057a5b8loc_57a5b8:
0057a5b8adrp x0, 0x144000
0057a5bcadd x0, x0, 3504
0057a5c0orr x1, xzr, 32
0057a5c4bl errors.New
0057a5c8str x0, [sp+376]
0057a5ccstr x1, [sp+384]
0057a5d0str xzr, [sp+96]
0057a5d4ldr x1, [sp+376]
0057a5d8ldr x2, [sp+384]
0057a5dcstr x1, [sp+80]
0057a5e0str x2, [sp+88]
0057a5e4ldr x0, [sp+96]
0057a5e8ldp x29, x30, [sp-8]
0057a5ecadd sp, sp, 400
0057a5f0ret x30
0057a5f4
0057a5f4loc_57a5f4:
0057a5f4ldr x0, [sp+416]
0057a5f8ldrsb x27, [x0]
0057a5fcldr x26, [x0+16]
0057a600ldr x0, [x26]
0057a604blr x0
0057a608str x0, [sp+368]
0057a60cstr xzr, [sp+360]
0057a610stp xzr, xzr, [sp+376]
0057a614ldr x26, [sp+408]
0057a618ldrsb x27, [x26]
0057a61cldr x0, [x26]
0057a620ldr x1, [sp+424]
0057a624ldr x2, [sp+432]
0057a628ldr x3, [sp+440]
0057a62cldr x4, [sp+368]
0057a630mov x5, x0
0057a634mov x0, x4
0057a638blr x5
0057a63cstr x0, [sp+360]
0057a640str x1, [sp+376]
0057a644str x2, [sp+384]
0057a648ldr x0, [sp+360]
0057a64cstr x0, [sp+192]
0057a650ldr x0, [sp+376]
0057a654ldr x1, [sp+384]
0057a658str x0, [sp+176]
0057a65cstr x1, [sp+184]
0057a660ldr x0, [sp+192]
0057a664str x0, [sp+128]
0057a668ldr x0, [sp+184]
0057a66cldr x1, [sp+176]
0057a670str x1, [sp+160]
0057a674str x0, [sp+168]
0057a678cbnz x1, 0x57a96c
0057a67cb 0x57a680
0057a680
0057a680loc_57a680:
0057a680ldr x1, [sp+408]
0057a684ldrsb x27, [x1]
0057a688add x26, x1, 8
0057a68cldr x0, [sp+128]
0057a690ldr x1, [x1+8]
0057a694blr x1
0057a698str x0, [sp+104]
0057a69cstr x1, [sp+112]
0057a6a0str x2, [sp+120]
0057a6a4str x1, [sp+64]
0057a6a8subs xzr, x1, 1
0057a6acb.eq 0x57a958
0057a6b0b 0x57a6b4
0057a6b4
0057a6b4loc_57a6b4:
0057a6b4stp xzr, xzr, [sp+288]
0057a6b8stp xzr, xzr, [sp+304]
0057a6bcstp xzr, xzr, [sp+320]
0057a6c0stp xzr, xzr, [sp+336]
0057a6c4str xzr, [sp+352]
0057a6c8add x3, sp, 288
0057a6ccstr x3, [sp+232]
0057a6d0ldrsb x27, [x3]
0057a6d4adrp x4, 0
0057a6d8add x4, x4, 2480
0057a6dcstr x4, [x3]
0057a6e0ldrsb x27, [x3]
0057a6e4ldr x4, [sp+416]
0057a6e8adrp x27, 0x4d1000
0057a6ecldr w5, [x27+3056]
0057a6f0cbz w5, 0x57a6f8
0057a6f4b 0x57a6fc
0057a6f8
0057a6f8loc_57a6f8:
0057a6f8b 0x57a710
0057a6fc
0057a6fcloc_57a6fc:
0057a6fcbl runtime.gcWriteBarrier2
0057a700str x4, [x25]
0057a704ldr x5, [x3+8]
0057a708str x5, [x25+8]
0057a70cb 0x57a710
0057a710
0057a710loc_57a710:
0057a710str x4, [x3+8]
0057a714ldrsb x27, [x3]
0057a718ldr x4, [sp+424]
0057a71cldr x5, [sp+432]
0057a720ldr x6, [sp+440]
0057a724str x5, [x3+24]
0057a728str x6, [x3+32]
0057a72cadrp x27, 0x4d1000
0057a730ldr w5, [x27+3056]
0057a734cbz w5, 0x57a73c
0057a738b 0x57a740
0057a73c
0057a73cloc_57a73c:
0057a73cb 0x57a754
0057a740
0057a740loc_57a740:
0057a740bl runtime.gcWriteBarrier2
0057a744str x4, [x25]
0057a748ldr x5, [x3+16]
0057a74cstr x5, [x25+8]
0057a750b 0x57a754
0057a754
0057a754loc_57a754:
0057a754str x4, [x3+16]
0057a758ldr x3, [sp+104]
0057a75cldr x4, [sp+112]
0057a760ldr x5, [sp+120]
0057a764ldr x6, [sp+232]
0057a768ldrsb x27, [x6]
0057a76cstr x4, [x6+48]
0057a770str x5, [x6+56]
0057a774adrp x27, 0x4d1000
0057a778ldr w4, [x27+3056]
0057a77ccbz w4, 0x57a784
0057a780b 0x57a788
0057a784
0057a784loc_57a784:
0057a784b 0x57a79c
0057a788
0057a788loc_57a788:
0057a788bl runtime.gcWriteBarrier2
0057a78cstr x3, [x25]
0057a790ldr x4, [x6+40]
0057a794str x4, [x25+8]
0057a798b 0x57a79c
0057a79c
0057a79cloc_57a79c:
0057a79cstr x3, [x6+40]
0057a7a0ldr x3, [sp+408]
0057a7a4ldr x4, [sp+232]
0057a7a8ldrsb x27, [x4]
0057a7acadrp x27, 0x4d1000
0057a7b0ldr w5, [x27+3056]
0057a7b4cbz w5, 0x57a7bc
0057a7b8b 0x57a7c0
0057a7bc
0057a7bcloc_57a7bc:
0057a7bcb 0x57a7d4
0057a7c0
0057a7c0loc_57a7c0:
0057a7c0bl runtime.gcWriteBarrier2
0057a7c4str x3, [x25]
0057a7c8ldr x5, [x4+64]
0057a7ccstr x5, [x25+8]
0057a7d0b 0x57a7d4
0057a7d4
0057a7d4loc_57a7d4:
0057a7d4str x3, [x4+64]
0057a7d8ldr x2, [sp+232]
0057a7dcadrp x0, 0x137000
0057a7e0add x0, x0, 2052
0057a7e4orr x1, xzr, 8
0057a7e8bl crypto/internal/fips140.PCT
0057a7ecstr x0, [sp+144]
0057a7f0str x1, [sp+152]
0057a7f4cbnz x0, 0x57a920
0057a7f8b 0x57a7fc
0057a7fc
0057a7fcloc_57a7fc:
0057a7fcldr x0, [sp+424]
0057a800ldr x1, [sp+432]
0057a804ldr x2, [sp+440]
0057a808bl bytes.Clone
0057a80cstr x0, [sp+264]
0057a810str x1, [sp+272]
0057a814str x2, [sp+280]
0057a818adrp x0, 0xce000
0057a81cadd x0, x0, 896
0057a820bl runtime.newobject
0057a824str x0, [sp+200]
0057a828ldr x3, [sp+264]
0057a82cldr x4, [sp+272]
0057a830ldr x5, [sp+280]
0057a834str x4, [x0+48]
0057a838str x5, [x0+56]
0057a83cadrp x27, 0x4d1000
0057a840ldr w4, [x27+3056]
0057a844cbz w4, 0x57a84c
0057a848b 0x57a850
0057a84c
0057a84cloc_57a84c:
0057a84cb 0x57a864
0057a850
0057a850loc_57a850:
0057a850bl runtime.gcWriteBarrier2
0057a854str x3, [x25]
0057a858ldr x4, [x0+40]
0057a85cstr x4, [x25+8]
0057a860b 0x57a864
0057a864
0057a864loc_57a864:
0057a864str x3, [x0+40]
0057a868ldr x3, [sp+200]
0057a86cldrsb x27, [x3]
0057a870ldr x4, [sp+416]
0057a874ldrsb x27, [x4]
0057a878ldr x5, [x4]
0057a87cldr x4, [x4+8]
0057a880str x4, [x3+8]
0057a884adrp x27, 0x4d1000
0057a888ldr w4, [x27+3056]
0057a88ccbz w4, 0x57a894
0057a890b 0x57a898
0057a894
0057a894loc_57a894:
0057a894b 0x57a8ac
0057a898
0057a898loc_57a898:
0057a898bl runtime.gcWriteBarrier2
0057a89cstr x5, [x25]
0057a8a0ldr x4, [x3]
0057a8a4str x4, [x25+8]
0057a8a8b 0x57a8ac
0057a8ac
0057a8acloc_57a8ac:
0057a8acstr x5, [x3]
0057a8b0ldr x3, [sp+200]
0057a8b4ldrsb x27, [x3]
0057a8b8ldr x4, [sp+104]
0057a8bcldr x5, [sp+112]
0057a8c0ldr x6, [sp+120]
0057a8c4str x5, [x3+24]
0057a8c8str x6, [x3+32]
0057a8ccadrp x27, 0x4d1000
0057a8d0ldr w5, [x27+3056]
0057a8d4cbz w5, 0x57a8dc
0057a8d8b 0x57a8e0
0057a8dc
0057a8dcloc_57a8dc:
0057a8dcb 0x57a8f4
0057a8e0
0057a8e0loc_57a8e0:
0057a8e0bl runtime.gcWriteBarrier2
0057a8e4str x4, [x25]
0057a8e8ldr x5, [x3+16]
0057a8ecstr x5, [x25+8]
0057a8f0b 0x57a8f4
0057a8f4
0057a8f4loc_57a8f4:
0057a8f4str x4, [x3+16]
0057a8f8ldr x3, [sp+200]
0057a8fcstr x3, [sp+136]
0057a900str x3, [sp+96]
0057a904stp xzr, xzr, [sp+80]
0057a908ldr x0, [sp+96]
0057a90cmov x1, xzr
0057a910mov x2, xzr
0057a914ldp x29, x30, [sp-8]
0057a918add sp, sp, 400
0057a91cret x30
0057a920
0057a920loc_57a920:
0057a920str x0, [sp+216]
0057a924str x1, [sp+224]
0057a928str x0, [sp+208]
0057a92cldr x2, [sp+208]
0057a930cbnz x2, 0x57a938
0057a934b 0x57a954
0057a938
0057a938loc_57a938:
0057a938ldr x2, [sp+208]
0057a93cldr x2, [x2+8]
0057a940str x2, [sp+208]
0057a944b 0x57a948
0057a948
0057a948loc_57a948:
0057a948ldr x0, [sp+208]
0057a94cldr x1, [sp+224]
0057a950bl runtime.gopanic
0057a954
0057a954loc_57a954:
0057a954b 0x57a948
0057a958
0057a958loc_57a958:
0057a958adrp x0, 0x7b000
0057a95cadd x0, x0, 2944
0057a960adrp x1, 0x198000
0057a964add x1, x1, 2720
0057a968bl runtime.gopanic
0057a96c
0057a96cloc_57a96c:
0057a96cadrp x0, 0x7b000
0057a970add x0, x0, 2944
0057a974adrp x1, 0x198000
0057a978add x1, x1, 2704
0057a97cbl runtime.gopanic
0057a980hint
0057a984
0057a984loc_57a984:
0057a984stp x0, x1, [sp+8]
0057a988stp x2, x3, [sp+24]
0057a98cstr x4, [sp+40]
0057a990mov x3, x30
0057a994bl runtime.morestack_noctxt.abi0
0057a998ldp x0, x1, [sp+8]
0057a99cldp x2, x3, [sp+24]
0057a9a0ldr x4, [sp+40]
0057a9a4b 0x57a4d0
0057a9a8udf 0
0057a9acudf 0
0057a4d0
0057a4d0crypto/internal/fips140/ecdh.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdh.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[4] * dict, crypto/internal/fips140/ecdh.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, struct []uint8 key)
0057a4d0ldr x16, [x28+16]
0057a4d4sub x17, sp, 272
0057a4d8subs xzr, x17, x16
0057a4dcb.ls 0x57a984
0057a4e0sub x20, sp, 400
0057a4e4stp x29, x30, [x20-8]
0057a4e8add sp, x20, 0
0057a4ecsub x29, sp, 8
0057a4f0str x0, [sp+408]
0057a4f4str x1, [sp+416]
0057a4f8str x2, [sp+424]
0057a4fcstr x3, [sp+432]
0057a500str x4, [sp+440]
0057a504str xzr, [sp+96]
0057a508stp xzr, xzr, [sp+80]
0057a50cldr x6, [sp+432]
0057a510str x6, [sp+72]
0057a514ldr x7, [sp+416]
0057a518ldrsb x27, [x7]
0057a51cldr x7, [x7+32]
0057a520str x7, [sp+64]
0057a524subs xzr, x6, x7
0057a528cset x6, ne
0057a52cstrb w6, [sp+62]
0057a530b.ne 0x57a538
0057a534b 0x57a53c
0057a538
0057a538loc_57a538:
0057a538b 0x57a558
0057a53c
0057a53cloc_57a53c:
0057a53cldr x0, [sp+424]
0057a540ldr x1, [sp+432]
0057a544ldr x2, [sp+440]
0057a548bl crypto/internal/fips140/ecdh.isZero
0057a54cstrb w0, [sp+61]
0057a550strb w0, [sp+62]
0057a554b 0x57a558
0057a558
0057a558loc_57a558:
0057a558ldrb w6, [sp+62]
0057a55cstrb w6, [sp+63]
0057a560tbnz w6, 0, 0x57a568
0057a564b 0x57a56c
0057a568
0057a568loc_57a568:
0057a568b 0x57a5ac
0057a56c
0057a56cloc_57a56c:
0057a56cldr x6, [sp+416]
0057a570ldrsb x27, [x6]
0057a574ldr x3, [x6+24]
0057a578ldr x4, [x6+32]
0057a57cldr x5, [x6+40]
0057a580str x3, [sp+240]
0057a584str x4, [sp+248]
0057a588str x5, [sp+256]
0057a58cldr x0, [sp+424]
0057a590ldr x1, [sp+432]
0057a594ldr x2, [sp+440]
0057a598bl crypto/internal/fips140/ecdh.isLess
0057a59cstrb w0, [sp+61]
0057a5a0eor x6, x0, 1
0057a5a4strb w6, [sp+63]
0057a5a8b 0x57a5ac
0057a5ac
0057a5acloc_57a5ac:
0057a5acldrb w2, [sp+63]
0057a5b0tbnz w2, 0, 0x57a5b8
0057a5b4b 0x57a5f4
0057a5b8
0057a5b8loc_57a5b8:
0057a5b8adrp x0, 0x144000
0057a5bcadd x0, x0, 3504
0057a5c0orr x1, xzr, 32
0057a5c4bl errors.New
0057a5c8str x0, [sp+376]
0057a5ccstr x1, [sp+384]
0057a5d0str xzr, [sp+96]
0057a5d4ldr x1, [sp+376]
0057a5d8ldr x2, [sp+384]
0057a5dcstr x1, [sp+80]
0057a5e0str x2, [sp+88]
0057a5e4ldr x0, [sp+96]
0057a5e8ldp x29, x30, [sp-8]
0057a5ecadd sp, sp, 400
0057a5f0ret x30
0057a5f4
0057a5f4loc_57a5f4:
0057a5f4ldr x0, [sp+416]
0057a5f8ldrsb x27, [x0]
0057a5fcldr x26, [x0+16]
0057a600ldr x0, [x26]
0057a604blr x0
0057a608str x0, [sp+368]
0057a60cstr xzr, [sp+360]
0057a610stp xzr, xzr, [sp+376]
0057a614ldr x26, [sp+408]
0057a618ldrsb x27, [x26]
0057a61cldr x0, [x26]
0057a620ldr x1, [sp+424]
0057a624ldr x2, [sp+432]
0057a628ldr x3, [sp+440]
0057a62cldr x4, [sp+368]
0057a630mov x5, x0
0057a634mov x0, x4
0057a638blr x5
0057a63cstr x0, [sp+360]
0057a640str x1, [sp+376]
0057a644str x2, [sp+384]
0057a648ldr x0, [sp+360]
0057a64cstr x0, [sp+192]
0057a650ldr x0, [sp+376]
0057a654ldr x1, [sp+384]
0057a658str x0, [sp+176]
0057a65cstr x1, [sp+184]
0057a660ldr x0, [sp+192]
0057a664str x0, [sp+128]
0057a668ldr x0, [sp+184]
0057a66cldr x1, [sp+176]
0057a670str x1, [sp+160]
0057a674str x0, [sp+168]
0057a678cbnz x1, 0x57a96c
0057a67cb 0x57a680
0057a680
0057a680loc_57a680:
0057a680ldr x1, [sp+408]
0057a684ldrsb x27, [x1]
0057a688add x26, x1, 8
0057a68cldr x0, [sp+128]
0057a690ldr x1, [x1+8]
0057a694blr x1
0057a698str x0, [sp+104]
0057a69cstr x1, [sp+112]
0057a6a0str x2, [sp+120]
0057a6a4str x1, [sp+64]
0057a6a8subs xzr, x1, 1
0057a6acb.eq 0x57a958
0057a6b0b 0x57a6b4
0057a6b4
0057a6b4loc_57a6b4:
0057a6b4stp xzr, xzr, [sp+288]
0057a6b8stp xzr, xzr, [sp+304]
0057a6bcstp xzr, xzr, [sp+320]
0057a6c0stp xzr, xzr, [sp+336]
0057a6c4str xzr, [sp+352]
0057a6c8add x3, sp, 288
0057a6ccstr x3, [sp+232]
0057a6d0ldrsb x27, [x3]
0057a6d4adrp x4, 0
0057a6d8add x4, x4, 2480
0057a6dcstr x4, [x3]
0057a6e0ldrsb x27, [x3]
0057a6e4ldr x4, [sp+416]
0057a6e8adrp x27, 0x4d1000
0057a6ecldr w5, [x27+3056]
0057a6f0cbz w5, 0x57a6f8
0057a6f4b 0x57a6fc
0057a6f8
0057a6f8loc_57a6f8:
0057a6f8b 0x57a710
0057a6fc
0057a6fcloc_57a6fc:
0057a6fcbl runtime.gcWriteBarrier2
0057a700str x4, [x25]
0057a704ldr x5, [x3+8]
0057a708str x5, [x25+8]
0057a70cb 0x57a710
0057a710
0057a710loc_57a710:
0057a710str x4, [x3+8]
0057a714ldrsb x27, [x3]
0057a718ldr x4, [sp+424]
0057a71cldr x5, [sp+432]
0057a720ldr x6, [sp+440]
0057a724str x5, [x3+24]
0057a728str x6, [x3+32]
0057a72cadrp x27, 0x4d1000
0057a730ldr w5, [x27+3056]
0057a734cbz w5, 0x57a73c
0057a738b 0x57a740
0057a73c
0057a73cloc_57a73c:
0057a73cb 0x57a754
0057a740
0057a740loc_57a740:
0057a740bl runtime.gcWriteBarrier2
0057a744str x4, [x25]
0057a748ldr x5, [x3+16]
0057a74cstr x5, [x25+8]
0057a750b 0x57a754
0057a754
0057a754loc_57a754:
0057a754str x4, [x3+16]
0057a758ldr x3, [sp+104]
0057a75cldr x4, [sp+112]
0057a760ldr x5, [sp+120]
0057a764ldr x6, [sp+232]
0057a768ldrsb x27, [x6]
0057a76cstr x4, [x6+48]
0057a770str x5, [x6+56]
0057a774adrp x27, 0x4d1000
0057a778ldr w4, [x27+3056]
0057a77ccbz w4, 0x57a784
0057a780b 0x57a788
0057a784
0057a784loc_57a784:
0057a784b 0x57a79c
0057a788
0057a788loc_57a788:
0057a788bl runtime.gcWriteBarrier2
0057a78cstr x3, [x25]
0057a790ldr x4, [x6+40]
0057a794str x4, [x25+8]
0057a798b 0x57a79c
0057a79c
0057a79cloc_57a79c:
0057a79cstr x3, [x6+40]
0057a7a0ldr x3, [sp+408]
0057a7a4ldr x4, [sp+232]
0057a7a8ldrsb x27, [x4]
0057a7acadrp x27, 0x4d1000
0057a7b0ldr w5, [x27+3056]
0057a7b4cbz w5, 0x57a7bc
0057a7b8b 0x57a7c0
0057a7bc
0057a7bcloc_57a7bc:
0057a7bcb 0x57a7d4
0057a7c0
0057a7c0loc_57a7c0:
0057a7c0bl runtime.gcWriteBarrier2
0057a7c4str x3, [x25]
0057a7c8ldr x5, [x4+64]
0057a7ccstr x5, [x25+8]
0057a7d0b 0x57a7d4
0057a7d4
0057a7d4loc_57a7d4:
0057a7d4str x3, [x4+64]
0057a7d8ldr x2, [sp+232]
0057a7dcadrp x0, 0x137000
0057a7e0add x0, x0, 2052
0057a7e4orr x1, xzr, 8
0057a7e8bl crypto/internal/fips140.PCT
0057a7ecstr x0, [sp+144]
0057a7f0str x1, [sp+152]
0057a7f4cbnz x0, 0x57a920
0057a7f8b 0x57a7fc
0057a7fc
0057a7fcloc_57a7fc:
0057a7fcldr x0, [sp+424]
0057a800ldr x1, [sp+432]
0057a804ldr x2, [sp+440]
0057a808bl bytes.Clone
0057a80cstr x0, [sp+264]
0057a810str x1, [sp+272]
0057a814str x2, [sp+280]
0057a818adrp x0, 0xce000
0057a81cadd x0, x0, 896
0057a820bl runtime.newobject
0057a824str x0, [sp+200]
0057a828ldr x3, [sp+264]
0057a82cldr x4, [sp+272]
0057a830ldr x5, [sp+280]
0057a834str x4, [x0+48]
0057a838str x5, [x0+56]
0057a83cadrp x27, 0x4d1000
0057a840ldr w4, [x27+3056]
0057a844cbz w4, 0x57a84c
0057a848b 0x57a850
0057a84c
0057a84cloc_57a84c:
0057a84cb 0x57a864
0057a850
0057a850loc_57a850:
0057a850bl runtime.gcWriteBarrier2
0057a854str x3, [x25]
0057a858ldr x4, [x0+40]
0057a85cstr x4, [x25+8]
0057a860b 0x57a864
0057a864
0057a864loc_57a864:
0057a864str x3, [x0+40]
0057a868ldr x3, [sp+200]
0057a86cldrsb x27, [x3]
0057a870ldr x4, [sp+416]
0057a874ldrsb x27, [x4]
0057a878ldr x5, [x4]
0057a87cldr x4, [x4+8]
0057a880str x4, [x3+8]
0057a884adrp x27, 0x4d1000
0057a888ldr w4, [x27+3056]
0057a88ccbz w4, 0x57a894
0057a890b 0x57a898
0057a894
0057a894loc_57a894:
0057a894b 0x57a8ac
0057a898
0057a898loc_57a898:
0057a898bl runtime.gcWriteBarrier2
0057a89cstr x5, [x25]
0057a8a0ldr x4, [x3]
0057a8a4str x4, [x25+8]
0057a8a8b 0x57a8ac
0057a8ac
0057a8acloc_57a8ac:
0057a8acstr x5, [x3]
0057a8b0ldr x3, [sp+200]
0057a8b4ldrsb x27, [x3]
0057a8b8ldr x4, [sp+104]
0057a8bcldr x5, [sp+112]
0057a8c0ldr x6, [sp+120]
0057a8c4str x5, [x3+24]
0057a8c8str x6, [x3+32]
0057a8ccadrp x27, 0x4d1000
0057a8d0ldr w5, [x27+3056]
0057a8d4cbz w5, 0x57a8dc
0057a8d8b 0x57a8e0
0057a8dc
0057a8dcloc_57a8dc:
0057a8dcb 0x57a8f4
0057a8e0
0057a8e0loc_57a8e0:
0057a8e0bl runtime.gcWriteBarrier2
0057a8e4str x4, [x25]
0057a8e8ldr x5, [x3+16]
0057a8ecstr x5, [x25+8]
0057a8f0b 0x57a8f4
0057a8f4
0057a8f4loc_57a8f4:
0057a8f4str x4, [x3+16]
0057a8f8ldr x3, [sp+200]
0057a8fcstr x3, [sp+136]
0057a900str x3, [sp+96]
0057a904stp xzr, xzr, [sp+80]
0057a908ldr x0, [sp+96]
0057a90cmov x1, xzr
0057a910mov x2, xzr
0057a914ldp x29, x30, [sp-8]
0057a918add sp, sp, 400
0057a91cret x30
0057a920
0057a920loc_57a920:
0057a920str x0, [sp+216]
0057a924str x1, [sp+224]
0057a928str x0, [sp+208]
0057a92cldr x2, [sp+208]
0057a930cbnz x2, 0x57a938
0057a934b 0x57a954
0057a938
0057a938loc_57a938:
0057a938ldr x2, [sp+208]
0057a93cldr x2, [x2+8]
0057a940str x2, [sp+208]
0057a944b 0x57a948
0057a948
0057a948loc_57a948:
0057a948ldr x0, [sp+208]
0057a94cldr x1, [sp+224]
0057a950bl runtime.gopanic
0057a954
0057a954loc_57a954:
0057a954b 0x57a948
0057a958
0057a958loc_57a958:
0057a958adrp x0, 0x7b000
0057a95cadd x0, x0, 2944
0057a960adrp x1, 0x198000
0057a964add x1, x1, 2720
0057a968bl runtime.gopanic
0057a96c
0057a96cloc_57a96c:
0057a96cadrp x0, 0x7b000
0057a970add x0, x0, 2944
0057a974adrp x1, 0x198000
0057a978add x1, x1, 2704
0057a97cbl runtime.gopanic
0057a980hint
0057a984
0057a984loc_57a984:
0057a984stp x0, x1, [sp+8]
0057a988stp x2, x3, [sp+24]
0057a98cstr x4, [sp+40]
0057a990mov x3, x30
0057a994bl runtime.morestack_noctxt.abi0
0057a998ldp x0, x1, [sp+8]
0057a99cldp x2, x3, [sp+24]
0057a9a0ldr x4, [sp+40]
0057a9a4b 0x57a4d0
0057a9a8udf 0
0057a9acudf 0
0057a4d0
0057a9b0
0057a9b0crypto/internal/fips140/ecdh.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P521Point].func1: ; void crypto/internal/fips140/ecdh.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P521Point].func1(void)
0057a9b0ldr x16, [x28+16]
0057a9b4sub x17, sp, 128
0057a9b8subs xzr, x17, x16
0057a9bcb.ls 0x57ab38
0057a9c0sub x20, sp, 256
0057a9c4stp x29, x30, [x20-8]
0057a9c8add sp, x20, 0
0057a9ccsub x29, sp, 8
0057a9d0ldr x0, [x26+8]
0057a9d4str x0, [sp+152]
0057a9d8ldr x0, [x26+16]
0057a9dcldr x1, [x26+24]
0057a9e0ldr x2, [x26+32]
0057a9e4str x0, [sp+112]
0057a9e8str x1, [sp+120]
0057a9ecstr x2, [sp+128]
0057a9f0ldr x0, [x26+40]
0057a9f4ldr x1, [x26+48]
0057a9f8ldr x2, [x26+56]
0057a9fcstr x0, [sp+80]
0057aa00str x1, [sp+88]
0057aa04str x2, [sp+96]
0057aa08ldr x0, [x26+64]
0057aa0cstr x0, [sp+160]
0057aa10stp xzr, xzr, [sp+64]
0057aa14ldr x0, [sp+152]
0057aa18ldrsb x27, [x0]
0057aa1cldr x26, [x0+16]
0057aa20ldr x0, [x26]
0057aa24blr x0
0057aa28str x0, [sp+216]
0057aa2cstr xzr, [sp+208]
0057aa30stp xzr, xzr, [sp+192]
0057aa34ldr x26, [sp+160]
0057aa38ldrsb x27, [x26]
0057aa3cldr x0, [x26]
0057aa40ldr x1, [sp+112]
0057aa44ldr x2, [sp+120]
0057aa48ldr x3, [sp+128]
0057aa4cldr x4, [sp+216]
0057aa50mov x5, x0
0057aa54mov x0, x4
0057aa58blr x5
0057aa5cstr x0, [sp+208]
0057aa60str x1, [sp+192]
0057aa64str x2, [sp+200]
0057aa68ldr x0, [sp+208]
0057aa6cstr x0, [sp+240]
0057aa70ldr x0, [sp+192]
0057aa74ldr x1, [sp+200]
0057aa78str x0, [sp+224]
0057aa7cstr x1, [sp+232]
0057aa80ldr x0, [sp+240]
0057aa84str x0, [sp+104]
0057aa88ldr x1, [sp+232]
0057aa8cldr x0, [sp+224]
0057aa90str x0, [sp+136]
0057aa94str x1, [sp+144]
0057aa98cbnz x0, 0x57aaa0
0057aa9cb 0x57aab4
0057aaa0
0057aaa0loc_57aaa0:
0057aaa0str x0, [sp+64]
0057aaa4str x1, [sp+72]
0057aaa8ldp x29, x30, [sp-8]
0057aaacadd sp, sp, 256
0057aab0ret x30
0057aab4
0057aab4loc_57aab4:
0057aab4ldr x1, [sp+160]
0057aab8ldrsb x27, [x1]
0057aabcadd x26, x1, 8
0057aac0ldr x0, [sp+104]
0057aac4ldr x1, [x1+8]
0057aac8blr x1
0057aaccstr x0, [sp+168]
0057aad0str x1, [sp+176]
0057aad4str x2, [sp+184]
0057aad8ldr x3, [sp+80]
0057aadcldr x4, [sp+88]
0057aae0ldr x5, [sp+96]
0057aae4bl bytes.Equal
0057aae8strb w0, [sp+63]
0057aaectbnz w0, 0, 0x57aaf4
0057aaf0b 0x57ab0c
0057aaf4
0057aaf4loc_57aaf4:
0057aaf4stp xzr, xzr, [sp+64]
0057aaf8mov x0, xzr
0057aafcmov x1, xzr
0057ab00ldp x29, x30, [sp-8]
0057ab04add sp, sp, 256
0057ab08ret x30
0057ab0c
0057ab0cloc_57ab0c:
0057ab0cadrp x0, 0x14f000
0057ab10add x0, x0, 1758
0057ab14movz x1, 50
0057ab18bl errors.New
0057ab1cstr x0, [sp+192]
0057ab20str x1, [sp+200]
0057ab24str x0, [sp+64]
0057ab28str x1, [sp+72]
0057ab2cldp x29, x30, [sp-8]
0057ab30add sp, sp, 256
0057ab34ret x30
0057ab38
0057ab38loc_57ab38:
0057ab38mov x3, x30
0057ab3cbl runtime.morestack.abi0
0057ab40b 0x57a9b0
0057ab44udf 0
0057ab48udf 0
0057ab4cudf 0
0057a9b0
0057a9b0crypto/internal/fips140/ecdh.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P521Point].func1: ; void crypto/internal/fips140/ecdh.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P521Point].func1(void)
0057a9b0ldr x16, [x28+16]
0057a9b4sub x17, sp, 128
0057a9b8subs xzr, x17, x16
0057a9bcb.ls 0x57ab38
0057a9c0sub x20, sp, 256
0057a9c4stp x29, x30, [x20-8]
0057a9c8add sp, x20, 0
0057a9ccsub x29, sp, 8
0057a9d0ldr x0, [x26+8]
0057a9d4str x0, [sp+152]
0057a9d8ldr x0, [x26+16]
0057a9dcldr x1, [x26+24]
0057a9e0ldr x2, [x26+32]
0057a9e4str x0, [sp+112]
0057a9e8str x1, [sp+120]
0057a9ecstr x2, [sp+128]
0057a9f0ldr x0, [x26+40]
0057a9f4ldr x1, [x26+48]
0057a9f8ldr x2, [x26+56]
0057a9fcstr x0, [sp+80]
0057aa00str x1, [sp+88]
0057aa04str x2, [sp+96]
0057aa08ldr x0, [x26+64]
0057aa0cstr x0, [sp+160]
0057aa10stp xzr, xzr, [sp+64]
0057aa14ldr x0, [sp+152]
0057aa18ldrsb x27, [x0]
0057aa1cldr x26, [x0+16]
0057aa20ldr x0, [x26]
0057aa24blr x0
0057aa28str x0, [sp+216]
0057aa2cstr xzr, [sp+208]
0057aa30stp xzr, xzr, [sp+192]
0057aa34ldr x26, [sp+160]
0057aa38ldrsb x27, [x26]
0057aa3cldr x0, [x26]
0057aa40ldr x1, [sp+112]
0057aa44ldr x2, [sp+120]
0057aa48ldr x3, [sp+128]
0057aa4cldr x4, [sp+216]
0057aa50mov x5, x0
0057aa54mov x0, x4
0057aa58blr x5
0057aa5cstr x0, [sp+208]
0057aa60str x1, [sp+192]
0057aa64str x2, [sp+200]
0057aa68ldr x0, [sp+208]
0057aa6cstr x0, [sp+240]
0057aa70ldr x0, [sp+192]
0057aa74ldr x1, [sp+200]
0057aa78str x0, [sp+224]
0057aa7cstr x1, [sp+232]
0057aa80ldr x0, [sp+240]
0057aa84str x0, [sp+104]
0057aa88ldr x1, [sp+232]
0057aa8cldr x0, [sp+224]
0057aa90str x0, [sp+136]
0057aa94str x1, [sp+144]
0057aa98cbnz x0, 0x57aaa0
0057aa9cb 0x57aab4
0057aaa0
0057aaa0loc_57aaa0:
0057aaa0str x0, [sp+64]
0057aaa4str x1, [sp+72]
0057aaa8ldp x29, x30, [sp-8]
0057aaacadd sp, sp, 256
0057aab0ret x30
0057aab4
0057aab4loc_57aab4:
0057aab4ldr x1, [sp+160]
0057aab8ldrsb x27, [x1]
0057aabcadd x26, x1, 8
0057aac0ldr x0, [sp+104]
0057aac4ldr x1, [x1+8]
0057aac8blr x1
0057aaccstr x0, [sp+168]
0057aad0str x1, [sp+176]
0057aad4str x2, [sp+184]
0057aad8ldr x3, [sp+80]
0057aadcldr x4, [sp+88]
0057aae0ldr x5, [sp+96]
0057aae4bl bytes.Equal
0057aae8strb w0, [sp+63]
0057aaectbnz w0, 0, 0x57aaf4
0057aaf0b 0x57ab0c
0057aaf4
0057aaf4loc_57aaf4:
0057aaf4stp xzr, xzr, [sp+64]
0057aaf8mov x0, xzr
0057aafcmov x1, xzr
0057ab00ldp x29, x30, [sp-8]
0057ab04add sp, sp, 256
0057ab08ret x30
0057ab0c
0057ab0cloc_57ab0c:
0057ab0cadrp x0, 0x14f000
0057ab10add x0, x0, 1758
0057ab14movz x1, 50
0057ab18bl errors.New
0057ab1cstr x0, [sp+192]
0057ab20str x1, [sp+200]
0057ab24str x0, [sp+64]
0057ab28str x1, [sp+72]
0057ab2cldp x29, x30, [sp-8]
0057ab30add sp, sp, 256
0057ab34ret x30
0057ab38
0057ab38loc_57ab38:
0057ab38mov x3, x30
0057ab3cbl runtime.morestack.abi0
0057ab40b 0x57a9b0
0057ab44udf 0
0057ab48udf 0
0057ab4cudf 0
0057a9b0
0057ab50
0057ab50crypto/internal/fips140/ecdh.GenerateKey[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdh.GenerateKey[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[2] * dict, crypto/internal/fips140/ecdh.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, io.Reader rand)
0057ab50ldr x16, [x28+16]
0057ab54sub x17, sp, 96
0057ab58subs xzr, x17, x16
0057ab5cb.ls 0x57aec0
0057ab60str x30, [sp-224]!
0057ab64stur x29, [sp-8]
0057ab68sub x29, sp, 8
0057ab6cstr x0, [sp+232]
0057ab70str x1, [sp+240]
0057ab74str x2, [sp+248]
0057ab78str x3, [sp+256]
0057ab7cstr xzr, [sp+88]
0057ab80stp xzr, xzr, [sp+72]
0057ab84bl crypto/internal/fips140.RecordApproved
0057ab88b 0x57ab8c
0057ab8c
0057ab8cloc_57ab8c:
0057ab8cb 0x57ab90
0057ab90
0057ab90loc_57ab90:
0057ab90ldr x3, [sp+240]
0057ab94ldrsb x27, [x3]
0057ab98ldr x2, [x3+32]
0057ab9cstr x2, [sp+64]
0057aba0adrp x0, 0x7b000
0057aba4add x0, x0, 3072
0057aba8mov x1, x2
0057abacbl runtime.makeslice
0057abb0ldr x3, [sp+64]
0057abb4ldr x4, [sp+64]
0057abb8str x0, [sp+104]
0057abbcstr x3, [sp+112]
0057abc0str x4, [sp+120]
0057abc4ldr x5, [sp+248]
0057abc8ldr x1, [sp+256]
0057abccmov x2, x0
0057abd0mov x0, x5
0057abd4bl crypto/internal/fips140/drbg.ReadWithReader
0057abd8str x0, [sp+144]
0057abdcstr x1, [sp+152]
0057abe0cbnz x0, 0x57abe8
0057abe4b 0x57ac0c
0057abe8
0057abe8loc_57abe8:
0057abe8str xzr, [sp+88]
0057abecldr x1, [sp+144]
0057abf0ldr x2, [sp+152]
0057abf4str x1, [sp+72]
0057abf8str x2, [sp+80]
0057abfcldr x0, [sp+88]
0057ac00ldur x29, [sp-8]
0057ac04ldr x30, [sp], 224
0057ac08ret x30
0057ac0c
0057ac0cloc_57ac0c:
0057ac0cldr x1, [sp+112]
0057ac10ldr x5, [sp+104]
0057ac14subs xzr, x1, 1
0057ac18b.hi 0x57ac20
0057ac1cb 0x57aeb4
0057ac20
0057ac20loc_57ac20:
0057ac20ldr x1, [sp+112]
0057ac24ldr x6, [sp+104]
0057ac28ldrb w5, [x5+1]
0057ac2cmovz x7, 66
0057ac30eor x5, x5, x7
0057ac34subs xzr, x1, 1
0057ac38b.hi 0x57ac40
0057ac3cb 0x57aeac
0057ac40
0057ac40loc_57ac40:
0057ac40strb w5, [x6+1]
0057ac44ldr x5, [sp+240]
0057ac48ldrsb x27, [x5]
0057ac4cldr x5, [x5+8]
0057ac50subs xzr, x5, 5
0057ac54cset x5, eq
0057ac58b.eq 0x57ac60
0057ac5cb 0x57ad0c
0057ac60
0057ac60loc_57ac60:
0057ac60ldr x5, [sp+240]
0057ac64ldrsb x27, [x5]
0057ac68ldr x1, [x5+8]
0057ac6cldr x5, [x5]
0057ac70subs xzr, x1, 0
0057ac74b.hi 0x57ac7c
0057ac78b 0x57aea4
0057ac7c
0057ac7cloc_57ac7c:
0057ac7cldr x6, [sp+240]
0057ac80ldrsb x27, [x6]
0057ac84ldr x1, [x6+8]
0057ac88ldr x6, [x6]
0057ac8cldrb w5, [x5]
0057ac90subs xzr, x1, 1
0057ac94b.hi 0x57ac9c
0057ac98b 0x57ae9c
0057ac9c
0057ac9cloc_57ac9c:
0057ac9cldr x7, [sp+240]
0057aca0ldrsb x27, [x7]
0057aca4ldr x1, [x7+8]
0057aca8ldr x7, [x7]
0057acacldrb w6, [x6+1]
0057acb0ubfm x6, x6, 56, 7
0057acb4orr x5, x5, x6
0057acb8subs xzr, x1, 2
0057acbcb.hi 0x57acc4
0057acc0b 0x57ae94
0057acc4
0057acc4loc_57acc4:
0057acc4ldr x6, [sp+240]
0057acc8ldrsb x27, [x6]
0057acccldr x1, [x6+8]
0057acd0ldr x6, [x6]
0057acd4ldrb w7, [x7+2]
0057acd8ubfm x7, x7, 48, 7
0057acdcorr x5, x5, x7
0057ace0subs xzr, x1, 3
0057ace4b.hi 0x57acec
0057ace8b 0x57ae8c
0057acec
0057acecloc_57acec:
0057acecldrb w6, [x6+3]
0057acf0ubfm x6, x6, 40, 7
0057acf4orr x6, x5, x6
0057acf8movz x7, 11600
0057acfcmovk x7, 0x32350000
0057ad00subs wzr, w6, w7
0057ad04cset x5, eq
0057ad08b 0x57ad10
0057ad0c
0057ad0cloc_57ad0c:
0057ad0cb 0x57ad10
0057ad10
0057ad10loc_57ad10:
0057ad10tbnz w5, 0, 0x57ad18
0057ad14b 0x57ad44
0057ad18
0057ad18loc_57ad18:
0057ad18ldr x5, [sp+240]
0057ad1cldrsb x27, [x5]
0057ad20ldr x1, [x5+8]
0057ad24ldr x5, [x5]
0057ad28subs xzr, x1, 4
0057ad2cb.hi 0x57ad34
0057ad30b 0x57ae84
0057ad34
0057ad34loc_57ad34:
0057ad34ldrb w6, [x5+4]
0057ad38subs wzr, w6, 49
0057ad3ccset x5, eq
0057ad40b 0x57ad48
0057ad44
0057ad44loc_57ad44:
0057ad44b 0x57ad48
0057ad48
0057ad48loc_57ad48:
0057ad48strb w5, [sp+63]
0057ad4ctbnz w5, 0, 0x57ad54
0057ad50b 0x57ad84
0057ad54
0057ad54loc_57ad54:
0057ad54ldr x5, [sp+240]
0057ad58ldrsb x27, [x5]
0057ad5cldr x1, [x5+32]
0057ad60ldr x5, [x5+24]
0057ad64subs xzr, x1, 0
0057ad68b.hi 0x57ad70
0057ad6cb 0x57ae7c
0057ad70
0057ad70loc_57ad70:
0057ad70ldrb w5, [x5]
0057ad74ands wzr, w5, 254
0057ad78cset x5, eq
0057ad7cstrb w5, [sp+63]
0057ad80b 0x57ad88
0057ad84
0057ad84loc_57ad84:
0057ad84b 0x57ad88
0057ad88
0057ad88loc_57ad88:
0057ad88ldrb w5, [sp+63]
0057ad8ctbnz w5, 0, 0x57ad94
0057ad90b 0x57adcc
0057ad94
0057ad94loc_57ad94:
0057ad94ldr x1, [sp+112]
0057ad98ldr x5, [sp+104]
0057ad9csubs xzr, x1, 0
0057ada0b.hi 0x57ada8
0057ada4b 0x57ae74
0057ada8
0057ada8loc_57ada8:
0057ada8ldr x1, [sp+112]
0057adacldrb w5, [x5]
0057adb0ldr x6, [sp+104]
0057adb4and x5, x5, 1
0057adb8subs xzr, x1, 0
0057adbcb.hi 0x57adc4
0057adc0b 0x57ae6c
0057adc4
0057adc4loc_57adc4:
0057adc4strb w5, [x6]
0057adc8b 0x57add0
0057adcc
0057adccloc_57adcc:
0057adccb 0x57add0
0057add0
0057add0loc_57add0:
0057add0str xzr, [sp+192]
0057add4stp xzr, xzr, [sp+176]
0057add8ldr x5, [sp+232]
0057addcldrsb x27, [x5]
0057ade0ldr x0, [x5]
0057ade4str x0, [sp+168]
0057ade8ldr x2, [sp+104]
0057adecldr x1, [sp+240]
0057adf0ldr x3, [sp+112]
0057adf4ldr x4, [sp+120]
0057adf8bl crypto/internal/fips140/ecdh.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P521Point]
0057adfcstr x0, [sp+192]
0057ae00str x1, [sp+176]
0057ae04str x2, [sp+184]
0057ae08ldr x5, [sp+192]
0057ae0cstr x5, [sp+160]
0057ae10ldr x5, [sp+176]
0057ae14ldr x6, [sp+184]
0057ae18str x5, [sp+200]
0057ae1cstr x6, [sp+208]
0057ae20ldr x5, [sp+160]
0057ae24str x5, [sp+96]
0057ae28ldr x5, [sp+208]
0057ae2cldr x6, [sp+200]
0057ae30str x6, [sp+128]
0057ae34str x5, [sp+136]
0057ae38cbnz x6, 0x57ae40
0057ae3cb 0x57ae48
0057ae40
0057ae40loc_57ae40:
0057ae40b 0x57ae44
0057ae44
0057ae44loc_57ae44:
0057ae44b 0x57ab8c
0057ae48
0057ae48loc_57ae48:
0057ae48ldr x3, [sp+96]
0057ae4cstr x3, [sp+88]
0057ae50stp xzr, xzr, [sp+72]
0057ae54ldr x0, [sp+88]
0057ae58mov x1, xzr
0057ae5cmov x2, xzr
0057ae60ldur x29, [sp-8]
0057ae64ldr x30, [sp], 224
0057ae68ret x30
0057ae6c
0057ae6cloc_57ae6c:
0057ae6cmov x0, xzr
0057ae70bl runtime.panicIndex
0057ae74
0057ae74loc_57ae74:
0057ae74mov x0, xzr
0057ae78bl runtime.panicIndex
0057ae7c
0057ae7cloc_57ae7c:
0057ae7cmov x0, xzr
0057ae80bl runtime.panicIndex
0057ae84
0057ae84loc_57ae84:
0057ae84orr x0, xzr, 4
0057ae88bl runtime.panicIndex
0057ae8c
0057ae8cloc_57ae8c:
0057ae8corr x0, xzr, 3
0057ae90bl runtime.panicIndex
0057ae94
0057ae94loc_57ae94:
0057ae94orr x0, xzr, 2
0057ae98bl runtime.panicIndex
0057ae9c
0057ae9cloc_57ae9c:
0057ae9corr x0, xzr, 1
0057aea0bl runtime.panicIndex
0057aea4
0057aea4loc_57aea4:
0057aea4mov x0, xzr
0057aea8bl runtime.panicIndex
0057aeac
0057aeacloc_57aeac:
0057aeacorr x0, xzr, 1
0057aeb0bl runtime.panicIndex
0057aeb4
0057aeb4loc_57aeb4:
0057aeb4orr x0, xzr, 1
0057aeb8bl runtime.panicIndex
0057aebchint
0057aec0
0057aec0loc_57aec0:
0057aec0stp x0, x1, [sp+8]
0057aec4stp x2, x3, [sp+24]
0057aec8mov x3, x30
0057aeccbl runtime.morestack_noctxt.abi0
0057aed0ldp x0, x1, [sp+8]
0057aed4ldp x2, x3, [sp+24]
0057aed8b 0x57ab50
0057aedcudf 0
0057ab50
0057ab50crypto/internal/fips140/ecdh.GenerateKey[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdh.GenerateKey[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[2] * dict, crypto/internal/fips140/ecdh.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, io.Reader rand)
0057ab50ldr x16, [x28+16]
0057ab54sub x17, sp, 96
0057ab58subs xzr, x17, x16
0057ab5cb.ls 0x57aec0
0057ab60str x30, [sp-224]!
0057ab64stur x29, [sp-8]
0057ab68sub x29, sp, 8
0057ab6cstr x0, [sp+232]
0057ab70str x1, [sp+240]
0057ab74str x2, [sp+248]
0057ab78str x3, [sp+256]
0057ab7cstr xzr, [sp+88]
0057ab80stp xzr, xzr, [sp+72]
0057ab84bl crypto/internal/fips140.RecordApproved
0057ab88b 0x57ab8c
0057ab8c
0057ab8cloc_57ab8c:
0057ab8cb 0x57ab90
0057ab90
0057ab90loc_57ab90:
0057ab90ldr x3, [sp+240]
0057ab94ldrsb x27, [x3]
0057ab98ldr x2, [x3+32]
0057ab9cstr x2, [sp+64]
0057aba0adrp x0, 0x7b000
0057aba4add x0, x0, 3072
0057aba8mov x1, x2
0057abacbl runtime.makeslice
0057abb0ldr x3, [sp+64]
0057abb4ldr x4, [sp+64]
0057abb8str x0, [sp+104]
0057abbcstr x3, [sp+112]
0057abc0str x4, [sp+120]
0057abc4ldr x5, [sp+248]
0057abc8ldr x1, [sp+256]
0057abccmov x2, x0
0057abd0mov x0, x5
0057abd4bl crypto/internal/fips140/drbg.ReadWithReader
0057abd8str x0, [sp+144]
0057abdcstr x1, [sp+152]
0057abe0cbnz x0, 0x57abe8
0057abe4b 0x57ac0c
0057abe8
0057abe8loc_57abe8:
0057abe8str xzr, [sp+88]
0057abecldr x1, [sp+144]
0057abf0ldr x2, [sp+152]
0057abf4str x1, [sp+72]
0057abf8str x2, [sp+80]
0057abfcldr x0, [sp+88]
0057ac00ldur x29, [sp-8]
0057ac04ldr x30, [sp], 224
0057ac08ret x30
0057ac0c
0057ac0cloc_57ac0c:
0057ac0cldr x1, [sp+112]
0057ac10ldr x5, [sp+104]
0057ac14subs xzr, x1, 1
0057ac18b.hi 0x57ac20
0057ac1cb 0x57aeb4
0057ac20
0057ac20loc_57ac20:
0057ac20ldr x1, [sp+112]
0057ac24ldr x6, [sp+104]
0057ac28ldrb w5, [x5+1]
0057ac2cmovz x7, 66
0057ac30eor x5, x5, x7
0057ac34subs xzr, x1, 1
0057ac38b.hi 0x57ac40
0057ac3cb 0x57aeac
0057ac40
0057ac40loc_57ac40:
0057ac40strb w5, [x6+1]
0057ac44ldr x5, [sp+240]
0057ac48ldrsb x27, [x5]
0057ac4cldr x5, [x5+8]
0057ac50subs xzr, x5, 5
0057ac54cset x5, eq
0057ac58b.eq 0x57ac60
0057ac5cb 0x57ad0c
0057ac60
0057ac60loc_57ac60:
0057ac60ldr x5, [sp+240]
0057ac64ldrsb x27, [x5]
0057ac68ldr x1, [x5+8]
0057ac6cldr x5, [x5]
0057ac70subs xzr, x1, 0
0057ac74b.hi 0x57ac7c
0057ac78b 0x57aea4
0057ac7c
0057ac7cloc_57ac7c:
0057ac7cldr x6, [sp+240]
0057ac80ldrsb x27, [x6]
0057ac84ldr x1, [x6+8]
0057ac88ldr x6, [x6]
0057ac8cldrb w5, [x5]
0057ac90subs xzr, x1, 1
0057ac94b.hi 0x57ac9c
0057ac98b 0x57ae9c
0057ac9c
0057ac9cloc_57ac9c:
0057ac9cldr x7, [sp+240]
0057aca0ldrsb x27, [x7]
0057aca4ldr x1, [x7+8]
0057aca8ldr x7, [x7]
0057acacldrb w6, [x6+1]
0057acb0ubfm x6, x6, 56, 7
0057acb4orr x5, x5, x6
0057acb8subs xzr, x1, 2
0057acbcb.hi 0x57acc4
0057acc0b 0x57ae94
0057acc4
0057acc4loc_57acc4:
0057acc4ldr x6, [sp+240]
0057acc8ldrsb x27, [x6]
0057acccldr x1, [x6+8]
0057acd0ldr x6, [x6]
0057acd4ldrb w7, [x7+2]
0057acd8ubfm x7, x7, 48, 7
0057acdcorr x5, x5, x7
0057ace0subs xzr, x1, 3
0057ace4b.hi 0x57acec
0057ace8b 0x57ae8c
0057acec
0057acecloc_57acec:
0057acecldrb w6, [x6+3]
0057acf0ubfm x6, x6, 40, 7
0057acf4orr x6, x5, x6
0057acf8movz x7, 11600
0057acfcmovk x7, 0x32350000
0057ad00subs wzr, w6, w7
0057ad04cset x5, eq
0057ad08b 0x57ad10
0057ad0c
0057ad0cloc_57ad0c:
0057ad0cb 0x57ad10
0057ad10
0057ad10loc_57ad10:
0057ad10tbnz w5, 0, 0x57ad18
0057ad14b 0x57ad44
0057ad18
0057ad18loc_57ad18:
0057ad18ldr x5, [sp+240]
0057ad1cldrsb x27, [x5]
0057ad20ldr x1, [x5+8]
0057ad24ldr x5, [x5]
0057ad28subs xzr, x1, 4
0057ad2cb.hi 0x57ad34
0057ad30b 0x57ae84
0057ad34
0057ad34loc_57ad34:
0057ad34ldrb w6, [x5+4]
0057ad38subs wzr, w6, 49
0057ad3ccset x5, eq
0057ad40b 0x57ad48
0057ad44
0057ad44loc_57ad44:
0057ad44b 0x57ad48
0057ad48
0057ad48loc_57ad48:
0057ad48strb w5, [sp+63]
0057ad4ctbnz w5, 0, 0x57ad54
0057ad50b 0x57ad84
0057ad54
0057ad54loc_57ad54:
0057ad54ldr x5, [sp+240]
0057ad58ldrsb x27, [x5]
0057ad5cldr x1, [x5+32]
0057ad60ldr x5, [x5+24]
0057ad64subs xzr, x1, 0
0057ad68b.hi 0x57ad70
0057ad6cb 0x57ae7c
0057ad70
0057ad70loc_57ad70:
0057ad70ldrb w5, [x5]
0057ad74ands wzr, w5, 254
0057ad78cset x5, eq
0057ad7cstrb w5, [sp+63]
0057ad80b 0x57ad88
0057ad84
0057ad84loc_57ad84:
0057ad84b 0x57ad88
0057ad88
0057ad88loc_57ad88:
0057ad88ldrb w5, [sp+63]
0057ad8ctbnz w5, 0, 0x57ad94
0057ad90b 0x57adcc
0057ad94
0057ad94loc_57ad94:
0057ad94ldr x1, [sp+112]
0057ad98ldr x5, [sp+104]
0057ad9csubs xzr, x1, 0
0057ada0b.hi 0x57ada8
0057ada4b 0x57ae74
0057ada8
0057ada8loc_57ada8:
0057ada8ldr x1, [sp+112]
0057adacldrb w5, [x5]
0057adb0ldr x6, [sp+104]
0057adb4and x5, x5, 1
0057adb8subs xzr, x1, 0
0057adbcb.hi 0x57adc4
0057adc0b 0x57ae6c
0057adc4
0057adc4loc_57adc4:
0057adc4strb w5, [x6]
0057adc8b 0x57add0
0057adcc
0057adccloc_57adcc:
0057adccb 0x57add0
0057add0
0057add0loc_57add0:
0057add0str xzr, [sp+192]
0057add4stp xzr, xzr, [sp+176]
0057add8ldr x5, [sp+232]
0057addcldrsb x27, [x5]
0057ade0ldr x0, [x5]
0057ade4str x0, [sp+168]
0057ade8ldr x2, [sp+104]
0057adecldr x1, [sp+240]
0057adf0ldr x3, [sp+112]
0057adf4ldr x4, [sp+120]
0057adf8bl crypto/internal/fips140/ecdh.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P521Point]
0057adfcstr x0, [sp+192]
0057ae00str x1, [sp+176]
0057ae04str x2, [sp+184]
0057ae08ldr x5, [sp+192]
0057ae0cstr x5, [sp+160]
0057ae10ldr x5, [sp+176]
0057ae14ldr x6, [sp+184]
0057ae18str x5, [sp+200]
0057ae1cstr x6, [sp+208]
0057ae20ldr x5, [sp+160]
0057ae24str x5, [sp+96]
0057ae28ldr x5, [sp+208]
0057ae2cldr x6, [sp+200]
0057ae30str x6, [sp+128]
0057ae34str x5, [sp+136]
0057ae38cbnz x6, 0x57ae40
0057ae3cb 0x57ae48
0057ae40
0057ae40loc_57ae40:
0057ae40b 0x57ae44
0057ae44
0057ae44loc_57ae44:
0057ae44b 0x57ab8c
0057ae48
0057ae48loc_57ae48:
0057ae48ldr x3, [sp+96]
0057ae4cstr x3, [sp+88]
0057ae50stp xzr, xzr, [sp+72]
0057ae54ldr x0, [sp+88]
0057ae58mov x1, xzr
0057ae5cmov x2, xzr
0057ae60ldur x29, [sp-8]
0057ae64ldr x30, [sp], 224
0057ae68ret x30
0057ae6c
0057ae6cloc_57ae6c:
0057ae6cmov x0, xzr
0057ae70bl runtime.panicIndex
0057ae74
0057ae74loc_57ae74:
0057ae74mov x0, xzr
0057ae78bl runtime.panicIndex
0057ae7c
0057ae7cloc_57ae7c:
0057ae7cmov x0, xzr
0057ae80bl runtime.panicIndex
0057ae84
0057ae84loc_57ae84:
0057ae84orr x0, xzr, 4
0057ae88bl runtime.panicIndex
0057ae8c
0057ae8cloc_57ae8c:
0057ae8corr x0, xzr, 3
0057ae90bl runtime.panicIndex
0057ae94
0057ae94loc_57ae94:
0057ae94orr x0, xzr, 2
0057ae98bl runtime.panicIndex
0057ae9c
0057ae9cloc_57ae9c:
0057ae9corr x0, xzr, 1
0057aea0bl runtime.panicIndex
0057aea4
0057aea4loc_57aea4:
0057aea4mov x0, xzr
0057aea8bl runtime.panicIndex
0057aeac
0057aeacloc_57aeac:
0057aeacorr x0, xzr, 1
0057aeb0bl runtime.panicIndex
0057aeb4
0057aeb4loc_57aeb4:
0057aeb4orr x0, xzr, 1
0057aeb8bl runtime.panicIndex
0057aebchint
0057aec0
0057aec0loc_57aec0:
0057aec0stp x0, x1, [sp+8]
0057aec4stp x2, x3, [sp+24]
0057aec8mov x3, x30
0057aeccbl runtime.morestack_noctxt.abi0
0057aed0ldp x0, x1, [sp+8]
0057aed4ldp x2, x3, [sp+24]
0057aed8b 0x57ab50
0057aedcudf 0
0057ab50
0057aee0
0057aee0crypto/internal/fips140/ecdh.ECDH[go.shape.*crypto/internal/fips140/nistec.P384Point]: ; void crypto/internal/fips140/ecdh.ECDH[go.shape.*crypto/internal/fips140/nistec.P384Point](uintptr[2] * dict, crypto/internal/fips140/ecdh.Curve[go.shape.*crypto/internal/fips140/nistec.P384Point] * c, crypto/internal/fips140/ecdh.PrivateKey * k, crypto/internal/fips140/ecdh.PublicKey * peer)
0057aee0ldr x16, [x28+16]
0057aee4sub x17, sp, 48
0057aee8subs xzr, x17, x16
0057aeecb.ls 0x57afd4
0057aef0str x30, [sp-176]!
0057aef4stur x29, [sp-8]
0057aef8sub x29, sp, 8
0057aefcstr x0, [sp+184]
0057af00str x1, [sp+192]
0057af04str x2, [sp+200]
0057af08str x3, [sp+208]
0057af0cstr xzr, [sp+56]
0057af10stp xzr, xzr, [sp+64]
0057af14stp xzr, xzr, [sp+40]
0057af18adrp x27, 0x4a7000
0057af1cldr x26, [x27+472]
0057af20ldr x0, [x26]
0057af24blr x0
0057af28bl crypto/internal/fips140.RecordApproved
0057af2cstr xzr, [sp+96]
0057af30stp xzr, xzr, [sp+104]
0057af34stp xzr, xzr, [sp+80]
0057af38ldr x0, [sp+184]
0057af3cldrsb x27, [x0]
0057af40ldr x0, [x0]
0057af44str x0, [sp+160]
0057af48ldr x3, [sp+208]
0057af4cldr x2, [sp+200]
0057af50ldr x1, [sp+192]
0057af54bl crypto/internal/fips140/ecdh.ecdh[go.shape.*crypto/internal/fips140/nistec.P384Point]
0057af58str x0, [sp+96]
0057af5cstr x1, [sp+104]
0057af60str x2, [sp+112]
0057af64str x3, [sp+80]
0057af68str x4, [sp+88]
0057af6cldr x0, [sp+96]
0057af70ldr x1, [sp+104]
0057af74ldr x2, [sp+112]
0057af78str x0, [sp+136]
0057af7cstr x1, [sp+144]
0057af80str x2, [sp+152]
0057af84ldr x0, [sp+80]
0057af88ldr x1, [sp+88]
0057af8cstr x0, [sp+120]
0057af90str x1, [sp+128]
0057af94ldr x0, [sp+136]
0057af98ldr x1, [sp+144]
0057af9cldr x2, [sp+152]
0057afa0str x0, [sp+56]
0057afa4str x1, [sp+64]
0057afa8str x2, [sp+72]
0057afacldr x3, [sp+120]
0057afb0ldr x4, [sp+128]
0057afb4str x3, [sp+40]
0057afb8str x4, [sp+48]
0057afbcldr x0, [sp+56]
0057afc0ldr x1, [sp+64]
0057afc4ldr x2, [sp+72]
0057afc8ldur x29, [sp-8]
0057afccldr x30, [sp], 176
0057afd0ret x30
0057afd4
0057afd4loc_57afd4:
0057afd4stp x0, x1, [sp+8]
0057afd8stp x2, x3, [sp+24]
0057afdcmov x3, x30
0057afe0bl runtime.morestack_noctxt.abi0
0057afe4ldp x0, x1, [sp+8]
0057afe8ldp x2, x3, [sp+24]
0057afecb 0x57aee0
0057aee0
0057aee0crypto/internal/fips140/ecdh.ECDH[go.shape.*crypto/internal/fips140/nistec.P384Point]: ; void crypto/internal/fips140/ecdh.ECDH[go.shape.*crypto/internal/fips140/nistec.P384Point](uintptr[2] * dict, crypto/internal/fips140/ecdh.Curve[go.shape.*crypto/internal/fips140/nistec.P384Point] * c, crypto/internal/fips140/ecdh.PrivateKey * k, crypto/internal/fips140/ecdh.PublicKey * peer)
0057aee0ldr x16, [x28+16]
0057aee4sub x17, sp, 48
0057aee8subs xzr, x17, x16
0057aeecb.ls 0x57afd4
0057aef0str x30, [sp-176]!
0057aef4stur x29, [sp-8]
0057aef8sub x29, sp, 8
0057aefcstr x0, [sp+184]
0057af00str x1, [sp+192]
0057af04str x2, [sp+200]
0057af08str x3, [sp+208]
0057af0cstr xzr, [sp+56]
0057af10stp xzr, xzr, [sp+64]
0057af14stp xzr, xzr, [sp+40]
0057af18adrp x27, 0x4a7000
0057af1cldr x26, [x27+472]
0057af20ldr x0, [x26]
0057af24blr x0
0057af28bl crypto/internal/fips140.RecordApproved
0057af2cstr xzr, [sp+96]
0057af30stp xzr, xzr, [sp+104]
0057af34stp xzr, xzr, [sp+80]
0057af38ldr x0, [sp+184]
0057af3cldrsb x27, [x0]
0057af40ldr x0, [x0]
0057af44str x0, [sp+160]
0057af48ldr x3, [sp+208]
0057af4cldr x2, [sp+200]
0057af50ldr x1, [sp+192]
0057af54bl crypto/internal/fips140/ecdh.ecdh[go.shape.*crypto/internal/fips140/nistec.P384Point]
0057af58str x0, [sp+96]
0057af5cstr x1, [sp+104]
0057af60str x2, [sp+112]
0057af64str x3, [sp+80]
0057af68str x4, [sp+88]
0057af6cldr x0, [sp+96]
0057af70ldr x1, [sp+104]
0057af74ldr x2, [sp+112]
0057af78str x0, [sp+136]
0057af7cstr x1, [sp+144]
0057af80str x2, [sp+152]
0057af84ldr x0, [sp+80]
0057af88ldr x1, [sp+88]
0057af8cstr x0, [sp+120]
0057af90str x1, [sp+128]
0057af94ldr x0, [sp+136]
0057af98ldr x1, [sp+144]
0057af9cldr x2, [sp+152]
0057afa0str x0, [sp+56]
0057afa4str x1, [sp+64]
0057afa8str x2, [sp+72]
0057afacldr x3, [sp+120]
0057afb0ldr x4, [sp+128]
0057afb4str x3, [sp+40]
0057afb8str x4, [sp+48]
0057afbcldr x0, [sp+56]
0057afc0ldr x1, [sp+64]
0057afc4ldr x2, [sp+72]
0057afc8ldur x29, [sp-8]
0057afccldr x30, [sp], 176
0057afd0ret x30
0057afd4
0057afd4loc_57afd4:
0057afd4stp x0, x1, [sp+8]
0057afd8stp x2, x3, [sp+24]
0057afdcmov x3, x30
0057afe0bl runtime.morestack_noctxt.abi0
0057afe4ldp x0, x1, [sp+8]
0057afe8ldp x2, x3, [sp+24]
0057afecb 0x57aee0
0057aee0
0057aff0
0057aff0crypto/internal/fips140/ecdh.ecdh[go.shape.*crypto/internal/fips140/nistec.P384Point]: ; void crypto/internal/fips140/ecdh.ecdh[go.shape.*crypto/internal/fips140/nistec.P384Point](uintptr[5] * dict, crypto/internal/fips140/ecdh.Curve[go.shape.*crypto/internal/fips140/nistec.P384Point] * c, crypto/internal/fips140/ecdh.PrivateKey * k, crypto/internal/fips140/ecdh.PublicKey * peer)
0057aff0ldr x16, [x28+16]
0057aff4sub x17, sp, 272
0057aff8subs xzr, x17, x16
0057affcb.ls 0x57b3f0
0057b000sub x20, sp, 400
0057b004stp x29, x30, [x20-8]
0057b008add sp, x20, 0
0057b00csub x29, sp, 8
0057b010str x0, [sp+408]
0057b014str x1, [sp+416]
0057b018str x2, [sp+424]
0057b01cstr x3, [sp+432]
0057b020str xzr, [sp+72]
0057b024stp xzr, xzr, [sp+80]
0057b028stp xzr, xzr, [sp+56]
0057b02cldr x3, [sp+416]
0057b030ldrsb x27, [x3]
0057b034ldr x4, [x3]
0057b038ldr x3, [x3+8]
0057b03cstr x4, [sp+256]
0057b040str x3, [sp+264]
0057b044ldr x3, [sp+424]
0057b048ldrsb x27, [x3]
0057b04cldr x1, [x3]
0057b050ldr x3, [x3+8]
0057b054str x1, [sp+240]
0057b058str x3, [sp+248]
0057b05cldr x4, [sp+264]
0057b060subs xzr, x4, x3
0057b064b.ne 0x57b06c
0057b068b 0x57b070
0057b06c
0057b06cloc_57b06c:
0057b06cb 0x57b3a8
0057b070
0057b070loc_57b070:
0057b070ldr x2, [sp+264]
0057b074ldr x0, [sp+256]
0057b078bl runtime.memequal
0057b07ctbnz w0, 0, 0x57b084
0057b080b 0x57b3a4
0057b084
0057b084loc_57b084:
0057b084ldr x3, [sp+424]
0057b088ldrsb x27, [x3]
0057b08cldr x4, [x3]
0057b090ldr x3, [x3+8]
0057b094str x4, [sp+224]
0057b098str x3, [sp+232]
0057b09cldr x3, [sp+432]
0057b0a0ldrsb x27, [x3]
0057b0a4ldr x1, [x3]
0057b0a8ldr x3, [x3+8]
0057b0acstr x1, [sp+208]
0057b0b0str x3, [sp+216]
0057b0b4ldr x4, [sp+232]
0057b0b8subs xzr, x4, x3
0057b0bcb.ne 0x57b0c4
0057b0c0b 0x57b0c8
0057b0c4
0057b0c4loc_57b0c4:
0057b0c4b 0x57b35c
0057b0c8
0057b0c8loc_57b0c8:
0057b0c8ldr x0, [sp+224]
0057b0ccldr x2, [sp+232]
0057b0d0bl runtime.memequal
0057b0d4tbnz w0, 0, 0x57b0dc
0057b0d8b 0x57b358
0057b0dc
0057b0dcloc_57b0dc:
0057b0dcldr x2, [sp+424]
0057b0e0ldrsb x27, [x2]
0057b0e4ldr x2, [x2+24]
0057b0e8str x2, [sp+48]
0057b0ecsubs xzr, x2, 1
0057b0f0b.eq 0x57b0f8
0057b0f4b 0x57b140
0057b0f8
0057b0f8loc_57b0f8:
0057b0f8adrp x0, 0x14d000
0057b0fcadd x0, x0, 324
0057b100movz x1, 47
0057b104bl errors.New
0057b108str x0, [sp+312]
0057b10cstr x1, [sp+320]
0057b110str xzr, [sp+72]
0057b114stp xzr, xzr, [sp+80]
0057b118ldr x3, [sp+312]
0057b11cldr x4, [sp+320]
0057b120str x3, [sp+56]
0057b124str x4, [sp+64]
0057b128ldr x0, [sp+72]
0057b12cldr x1, [sp+80]
0057b130ldr x2, [sp+88]
0057b134ldp x29, x30, [sp-8]
0057b138add sp, sp, 400
0057b13cret x30
0057b140
0057b140loc_57b140:
0057b140ldr x0, [sp+416]
0057b144ldrsb x27, [x0]
0057b148ldr x26, [x0+16]
0057b14cldr x0, [x26]
0057b150blr x0
0057b154str x0, [sp+304]
0057b158str xzr, [sp+296]
0057b15cstp xzr, xzr, [sp+312]
0057b160ldr x0, [sp+432]
0057b164ldrsb x27, [x0]
0057b168ldr x1, [x0+16]
0057b16cldr x2, [x0+24]
0057b170ldr x3, [x0+32]
0057b174str x1, [sp+184]
0057b178str x2, [sp+192]
0057b17cstr x3, [sp+200]
0057b180ldr x26, [sp+408]
0057b184ldrsb x27, [x26]
0057b188ldr x0, [x26]
0057b18cldr x4, [sp+304]
0057b190mov x5, x0
0057b194mov x0, x4
0057b198blr x5
0057b19cstr x0, [sp+296]
0057b1a0str x1, [sp+312]
0057b1a4str x2, [sp+320]
0057b1a8ldr x0, [sp+296]
0057b1acstr x0, [sp+152]
0057b1b0ldr x0, [sp+312]
0057b1b4ldr x1, [sp+320]
0057b1b8str x0, [sp+136]
0057b1bcstr x1, [sp+144]
0057b1c0ldr x0, [sp+152]
0057b1c4str x0, [sp+96]
0057b1c8ldr x0, [sp+144]
0057b1ccldr x1, [sp+136]
0057b1d0str x1, [sp+120]
0057b1d4str x0, [sp+128]
0057b1d8cbnz x1, 0x57b1e0
0057b1dcb 0x57b210
0057b1e0
0057b1e0loc_57b1e0:
0057b1e0str xzr, [sp+72]
0057b1e4stp xzr, xzr, [sp+80]
0057b1e8ldr x3, [sp+120]
0057b1ecldr x4, [sp+128]
0057b1f0str x3, [sp+56]
0057b1f4str x4, [sp+64]
0057b1f8ldr x0, [sp+72]
0057b1fcldr x1, [sp+80]
0057b200ldr x2, [sp+88]
0057b204ldp x29, x30, [sp-8]
0057b208add sp, sp, 400
0057b20cret x30
0057b210
0057b210loc_57b210:
0057b210str xzr, [sp+296]
0057b214stp xzr, xzr, [sp+312]
0057b218ldr x5, [sp+424]
0057b21cldrsb x27, [x5]
0057b220ldr x2, [x5+40]
0057b224ldr x3, [x5+48]
0057b228ldr x4, [x5+56]
0057b22cstr x2, [sp+160]
0057b230str x3, [sp+168]
0057b234str x4, [sp+176]
0057b238ldr x5, [sp+408]
0057b23cldrsb x27, [x5]
0057b240add x26, x5, 8
0057b244ldr x0, [sp+96]
0057b248ldr x1, [sp+96]
0057b24cldr x5, [x5+8]
0057b250blr x5
0057b254str x0, [sp+296]
0057b258str x1, [sp+312]
0057b25cstr x2, [sp+320]
0057b260ldr x5, [sp+296]
0057b264str x5, [sp+384]
0057b268ldr x5, [sp+320]
0057b26cldr x6, [sp+312]
0057b270str x6, [sp+368]
0057b274str x5, [sp+376]
0057b278str x6, [sp+104]
0057b27cstr x5, [sp+112]
0057b280cbnz x6, 0x57b288
0057b284b 0x57b2b8
0057b288
0057b288loc_57b288:
0057b288str xzr, [sp+72]
0057b28cstp xzr, xzr, [sp+80]
0057b290ldr x3, [sp+104]
0057b294ldr x4, [sp+112]
0057b298str x3, [sp+56]
0057b29cstr x4, [sp+64]
0057b2a0ldr x0, [sp+72]
0057b2a4ldr x1, [sp+80]
0057b2a8ldr x2, [sp+88]
0057b2acldp x29, x30, [sp-8]
0057b2b0add sp, sp, 400
0057b2b4ret x30
0057b2b8
0057b2b8loc_57b2b8:
0057b2b8str xzr, [sp+272]
0057b2bcstp xzr, xzr, [sp+280]
0057b2c0stp xzr, xzr, [sp+312]
0057b2c4ldr x1, [sp+408]
0057b2c8ldrsb x27, [x1]
0057b2ccadd x26, x1, 16
0057b2d0ldr x0, [sp+96]
0057b2d4ldr x1, [x1+16]
0057b2d8blr x1
0057b2dcstr x0, [sp+272]
0057b2e0str x1, [sp+280]
0057b2e4str x2, [sp+288]
0057b2e8str x3, [sp+312]
0057b2ecstr x4, [sp+320]
0057b2f0ldr x1, [sp+272]
0057b2f4ldr x2, [sp+280]
0057b2f8ldr x3, [sp+288]
0057b2fcstr x1, [sp+344]
0057b300str x2, [sp+352]
0057b304str x3, [sp+360]
0057b308ldr x1, [sp+312]
0057b30cldr x2, [sp+320]
0057b310str x1, [sp+328]
0057b314str x2, [sp+336]
0057b318ldr x1, [sp+344]
0057b31cldr x2, [sp+352]
0057b320ldr x3, [sp+360]
0057b324str x1, [sp+72]
0057b328str x2, [sp+80]
0057b32cstr x3, [sp+88]
0057b330ldr x3, [sp+328]
0057b334ldr x4, [sp+336]
0057b338str x3, [sp+56]
0057b33cstr x4, [sp+64]
0057b340ldr x0, [sp+72]
0057b344ldr x1, [sp+80]
0057b348ldr x2, [sp+88]
0057b34cldp x29, x30, [sp-8]
0057b350add sp, sp, 400
0057b354ret x30
0057b358
0057b358loc_57b358:
0057b358b 0x57b35c
0057b35c
0057b35cloc_57b35c:
0057b35cadrp x0, 0x142000
0057b360add x0, x0, 1672
0057b364orr x1, xzr, 30
0057b368bl errors.New
0057b36cstr x0, [sp+312]
0057b370str x1, [sp+320]
0057b374str xzr, [sp+72]
0057b378stp xzr, xzr, [sp+80]
0057b37cldr x3, [sp+312]
0057b380ldr x4, [sp+320]
0057b384str x3, [sp+56]
0057b388str x4, [sp+64]
0057b38cldr x0, [sp+72]
0057b390ldr x1, [sp+80]
0057b394ldr x2, [sp+88]
0057b398ldp x29, x30, [sp-8]
0057b39cadd sp, sp, 400
0057b3a0ret x30
0057b3a4
0057b3a4loc_57b3a4:
0057b3a4b 0x57b3a8
0057b3a8
0057b3a8loc_57b3a8:
0057b3a8adrp x0, 0x142000
0057b3acadd x0, x0, 1672
0057b3b0orr x1, xzr, 30
0057b3b4bl errors.New
0057b3b8str x0, [sp+312]
0057b3bcstr x1, [sp+320]
0057b3c0str xzr, [sp+72]
0057b3c4stp xzr, xzr, [sp+80]
0057b3c8ldr x3, [sp+312]
0057b3ccldr x4, [sp+320]
0057b3d0str x3, [sp+56]
0057b3d4str x4, [sp+64]
0057b3d8ldr x0, [sp+72]
0057b3dcldr x1, [sp+80]
0057b3e0ldr x2, [sp+88]
0057b3e4ldp x29, x30, [sp-8]
0057b3e8add sp, sp, 400
0057b3ecret x30
0057b3f0
0057b3f0loc_57b3f0:
0057b3f0stp x0, x1, [sp+8]
0057b3f4stp x2, x3, [sp+24]
0057b3f8mov x3, x30
0057b3fcbl runtime.morestack_noctxt.abi0
0057b400ldp x0, x1, [sp+8]
0057b404ldp x2, x3, [sp+24]
0057b408b 0x57aff0
0057b40cudf 0
0057aff0
0057aff0crypto/internal/fips140/ecdh.ecdh[go.shape.*crypto/internal/fips140/nistec.P384Point]: ; void crypto/internal/fips140/ecdh.ecdh[go.shape.*crypto/internal/fips140/nistec.P384Point](uintptr[5] * dict, crypto/internal/fips140/ecdh.Curve[go.shape.*crypto/internal/fips140/nistec.P384Point] * c, crypto/internal/fips140/ecdh.PrivateKey * k, crypto/internal/fips140/ecdh.PublicKey * peer)
0057aff0ldr x16, [x28+16]
0057aff4sub x17, sp, 272
0057aff8subs xzr, x17, x16
0057affcb.ls 0x57b3f0
0057b000sub x20, sp, 400
0057b004stp x29, x30, [x20-8]
0057b008add sp, x20, 0
0057b00csub x29, sp, 8
0057b010str x0, [sp+408]
0057b014str x1, [sp+416]
0057b018str x2, [sp+424]
0057b01cstr x3, [sp+432]
0057b020str xzr, [sp+72]
0057b024stp xzr, xzr, [sp+80]
0057b028stp xzr, xzr, [sp+56]
0057b02cldr x3, [sp+416]
0057b030ldrsb x27, [x3]
0057b034ldr x4, [x3]
0057b038ldr x3, [x3+8]
0057b03cstr x4, [sp+256]
0057b040str x3, [sp+264]
0057b044ldr x3, [sp+424]
0057b048ldrsb x27, [x3]
0057b04cldr x1, [x3]
0057b050ldr x3, [x3+8]
0057b054str x1, [sp+240]
0057b058str x3, [sp+248]
0057b05cldr x4, [sp+264]
0057b060subs xzr, x4, x3
0057b064b.ne 0x57b06c
0057b068b 0x57b070
0057b06c
0057b06cloc_57b06c:
0057b06cb 0x57b3a8
0057b070
0057b070loc_57b070:
0057b070ldr x2, [sp+264]
0057b074ldr x0, [sp+256]
0057b078bl runtime.memequal
0057b07ctbnz w0, 0, 0x57b084
0057b080b 0x57b3a4
0057b084
0057b084loc_57b084:
0057b084ldr x3, [sp+424]
0057b088ldrsb x27, [x3]
0057b08cldr x4, [x3]
0057b090ldr x3, [x3+8]
0057b094str x4, [sp+224]
0057b098str x3, [sp+232]
0057b09cldr x3, [sp+432]
0057b0a0ldrsb x27, [x3]
0057b0a4ldr x1, [x3]
0057b0a8ldr x3, [x3+8]
0057b0acstr x1, [sp+208]
0057b0b0str x3, [sp+216]
0057b0b4ldr x4, [sp+232]
0057b0b8subs xzr, x4, x3
0057b0bcb.ne 0x57b0c4
0057b0c0b 0x57b0c8
0057b0c4
0057b0c4loc_57b0c4:
0057b0c4b 0x57b35c
0057b0c8
0057b0c8loc_57b0c8:
0057b0c8ldr x0, [sp+224]
0057b0ccldr x2, [sp+232]
0057b0d0bl runtime.memequal
0057b0d4tbnz w0, 0, 0x57b0dc
0057b0d8b 0x57b358
0057b0dc
0057b0dcloc_57b0dc:
0057b0dcldr x2, [sp+424]
0057b0e0ldrsb x27, [x2]
0057b0e4ldr x2, [x2+24]
0057b0e8str x2, [sp+48]
0057b0ecsubs xzr, x2, 1
0057b0f0b.eq 0x57b0f8
0057b0f4b 0x57b140
0057b0f8
0057b0f8loc_57b0f8:
0057b0f8adrp x0, 0x14d000
0057b0fcadd x0, x0, 324
0057b100movz x1, 47
0057b104bl errors.New
0057b108str x0, [sp+312]
0057b10cstr x1, [sp+320]
0057b110str xzr, [sp+72]
0057b114stp xzr, xzr, [sp+80]
0057b118ldr x3, [sp+312]
0057b11cldr x4, [sp+320]
0057b120str x3, [sp+56]
0057b124str x4, [sp+64]
0057b128ldr x0, [sp+72]
0057b12cldr x1, [sp+80]
0057b130ldr x2, [sp+88]
0057b134ldp x29, x30, [sp-8]
0057b138add sp, sp, 400
0057b13cret x30
0057b140
0057b140loc_57b140:
0057b140ldr x0, [sp+416]
0057b144ldrsb x27, [x0]
0057b148ldr x26, [x0+16]
0057b14cldr x0, [x26]
0057b150blr x0
0057b154str x0, [sp+304]
0057b158str xzr, [sp+296]
0057b15cstp xzr, xzr, [sp+312]
0057b160ldr x0, [sp+432]
0057b164ldrsb x27, [x0]
0057b168ldr x1, [x0+16]
0057b16cldr x2, [x0+24]
0057b170ldr x3, [x0+32]
0057b174str x1, [sp+184]
0057b178str x2, [sp+192]
0057b17cstr x3, [sp+200]
0057b180ldr x26, [sp+408]
0057b184ldrsb x27, [x26]
0057b188ldr x0, [x26]
0057b18cldr x4, [sp+304]
0057b190mov x5, x0
0057b194mov x0, x4
0057b198blr x5
0057b19cstr x0, [sp+296]
0057b1a0str x1, [sp+312]
0057b1a4str x2, [sp+320]
0057b1a8ldr x0, [sp+296]
0057b1acstr x0, [sp+152]
0057b1b0ldr x0, [sp+312]
0057b1b4ldr x1, [sp+320]
0057b1b8str x0, [sp+136]
0057b1bcstr x1, [sp+144]
0057b1c0ldr x0, [sp+152]
0057b1c4str x0, [sp+96]
0057b1c8ldr x0, [sp+144]
0057b1ccldr x1, [sp+136]
0057b1d0str x1, [sp+120]
0057b1d4str x0, [sp+128]
0057b1d8cbnz x1, 0x57b1e0
0057b1dcb 0x57b210
0057b1e0
0057b1e0loc_57b1e0:
0057b1e0str xzr, [sp+72]
0057b1e4stp xzr, xzr, [sp+80]
0057b1e8ldr x3, [sp+120]
0057b1ecldr x4, [sp+128]
0057b1f0str x3, [sp+56]
0057b1f4str x4, [sp+64]
0057b1f8ldr x0, [sp+72]
0057b1fcldr x1, [sp+80]
0057b200ldr x2, [sp+88]
0057b204ldp x29, x30, [sp-8]
0057b208add sp, sp, 400
0057b20cret x30
0057b210
0057b210loc_57b210:
0057b210str xzr, [sp+296]
0057b214stp xzr, xzr, [sp+312]
0057b218ldr x5, [sp+424]
0057b21cldrsb x27, [x5]
0057b220ldr x2, [x5+40]
0057b224ldr x3, [x5+48]
0057b228ldr x4, [x5+56]
0057b22cstr x2, [sp+160]
0057b230str x3, [sp+168]
0057b234str x4, [sp+176]
0057b238ldr x5, [sp+408]
0057b23cldrsb x27, [x5]
0057b240add x26, x5, 8
0057b244ldr x0, [sp+96]
0057b248ldr x1, [sp+96]
0057b24cldr x5, [x5+8]
0057b250blr x5
0057b254str x0, [sp+296]
0057b258str x1, [sp+312]
0057b25cstr x2, [sp+320]
0057b260ldr x5, [sp+296]
0057b264str x5, [sp+384]
0057b268ldr x5, [sp+320]
0057b26cldr x6, [sp+312]
0057b270str x6, [sp+368]
0057b274str x5, [sp+376]
0057b278str x6, [sp+104]
0057b27cstr x5, [sp+112]
0057b280cbnz x6, 0x57b288
0057b284b 0x57b2b8
0057b288
0057b288loc_57b288:
0057b288str xzr, [sp+72]
0057b28cstp xzr, xzr, [sp+80]
0057b290ldr x3, [sp+104]
0057b294ldr x4, [sp+112]
0057b298str x3, [sp+56]
0057b29cstr x4, [sp+64]
0057b2a0ldr x0, [sp+72]
0057b2a4ldr x1, [sp+80]
0057b2a8ldr x2, [sp+88]
0057b2acldp x29, x30, [sp-8]
0057b2b0add sp, sp, 400
0057b2b4ret x30
0057b2b8
0057b2b8loc_57b2b8:
0057b2b8str xzr, [sp+272]
0057b2bcstp xzr, xzr, [sp+280]
0057b2c0stp xzr, xzr, [sp+312]
0057b2c4ldr x1, [sp+408]
0057b2c8ldrsb x27, [x1]
0057b2ccadd x26, x1, 16
0057b2d0ldr x0, [sp+96]
0057b2d4ldr x1, [x1+16]
0057b2d8blr x1
0057b2dcstr x0, [sp+272]
0057b2e0str x1, [sp+280]
0057b2e4str x2, [sp+288]
0057b2e8str x3, [sp+312]
0057b2ecstr x4, [sp+320]
0057b2f0ldr x1, [sp+272]
0057b2f4ldr x2, [sp+280]
0057b2f8ldr x3, [sp+288]
0057b2fcstr x1, [sp+344]
0057b300str x2, [sp+352]
0057b304str x3, [sp+360]
0057b308ldr x1, [sp+312]
0057b30cldr x2, [sp+320]
0057b310str x1, [sp+328]
0057b314str x2, [sp+336]
0057b318ldr x1, [sp+344]
0057b31cldr x2, [sp+352]
0057b320ldr x3, [sp+360]
0057b324str x1, [sp+72]
0057b328str x2, [sp+80]
0057b32cstr x3, [sp+88]
0057b330ldr x3, [sp+328]
0057b334ldr x4, [sp+336]
0057b338str x3, [sp+56]
0057b33cstr x4, [sp+64]
0057b340ldr x0, [sp+72]
0057b344ldr x1, [sp+80]
0057b348ldr x2, [sp+88]
0057b34cldp x29, x30, [sp-8]
0057b350add sp, sp, 400
0057b354ret x30
0057b358
0057b358loc_57b358:
0057b358b 0x57b35c
0057b35c
0057b35cloc_57b35c:
0057b35cadrp x0, 0x142000
0057b360add x0, x0, 1672
0057b364orr x1, xzr, 30
0057b368bl errors.New
0057b36cstr x0, [sp+312]
0057b370str x1, [sp+320]
0057b374str xzr, [sp+72]
0057b378stp xzr, xzr, [sp+80]
0057b37cldr x3, [sp+312]
0057b380ldr x4, [sp+320]
0057b384str x3, [sp+56]
0057b388str x4, [sp+64]
0057b38cldr x0, [sp+72]
0057b390ldr x1, [sp+80]
0057b394ldr x2, [sp+88]
0057b398ldp x29, x30, [sp-8]
0057b39cadd sp, sp, 400
0057b3a0ret x30
0057b3a4
0057b3a4loc_57b3a4:
0057b3a4b 0x57b3a8
0057b3a8
0057b3a8loc_57b3a8:
0057b3a8adrp x0, 0x142000
0057b3acadd x0, x0, 1672
0057b3b0orr x1, xzr, 30
0057b3b4bl errors.New
0057b3b8str x0, [sp+312]
0057b3bcstr x1, [sp+320]
0057b3c0str xzr, [sp+72]
0057b3c4stp xzr, xzr, [sp+80]
0057b3c8ldr x3, [sp+312]
0057b3ccldr x4, [sp+320]
0057b3d0str x3, [sp+56]
0057b3d4str x4, [sp+64]
0057b3d8ldr x0, [sp+72]
0057b3dcldr x1, [sp+80]
0057b3e0ldr x2, [sp+88]
0057b3e4ldp x29, x30, [sp-8]
0057b3e8add sp, sp, 400
0057b3ecret x30
0057b3f0
0057b3f0loc_57b3f0:
0057b3f0stp x0, x1, [sp+8]
0057b3f4stp x2, x3, [sp+24]
0057b3f8mov x3, x30
0057b3fcbl runtime.morestack_noctxt.abi0
0057b400ldp x0, x1, [sp+8]
0057b404ldp x2, x3, [sp+24]
0057b408b 0x57aff0
0057b40cudf 0
0057aff0
0057b410
0057b410crypto/internal/fips140/ecdh.NewPublicKey[go.shape.*crypto/internal/fips140/nistec.P384Point]: ; void crypto/internal/fips140/ecdh.NewPublicKey[go.shape.*crypto/internal/fips140/nistec.P384Point](uintptr[2] * dict, crypto/internal/fips140/ecdh.Curve[go.shape.*crypto/internal/fips140/nistec.P384Point] * c, struct []uint8 key)
0057b410ldr x16, [x28+16]
0057b414sub x17, sp, 64
0057b418subs xzr, x17, x16
0057b41cb.ls 0x57b65c
0057b420str x30, [sp-192]!
0057b424stur x29, [sp-8]
0057b428sub x29, sp, 8
0057b42cstr x0, [sp+200]
0057b430str x1, [sp+208]
0057b434str x2, [sp+216]
0057b438str x3, [sp+224]
0057b43cstr x4, [sp+232]
0057b440str xzr, [sp+72]
0057b444stp xzr, xzr, [sp+56]
0057b448ldr x2, [sp+224]
0057b44cstr x2, [sp+48]
0057b450subs xzr, x2, 0
0057b454cset x3, eq
0057b458strb w3, [sp+47]
0057b45ccbz x2, 0x57b464
0057b460b 0x57b468
0057b464
0057b464loc_57b464:
0057b464b 0x57b490
0057b468
0057b468loc_57b468:
0057b468ldr x1, [sp+224]
0057b46cldr x2, [sp+216]
0057b470subs xzr, x1, 0
0057b474b.hi 0x57b47c
0057b478b 0x57b650
0057b47c
0057b47cloc_57b47c:
0057b47cldrb w2, [x2]
0057b480subs wzr, w2, 4
0057b484cset x2, ne
0057b488strb w2, [sp+47]
0057b48cb 0x57b490
0057b490
0057b490loc_57b490:
0057b490ldrb w2, [sp+47]
0057b494tbnz w2, 0, 0x57b49c
0057b498b 0x57b4d8
0057b49c
0057b49cloc_57b49c:
0057b49cadrp x0, 0x143000
0057b4a0add x0, x0, 444
0057b4a4orr x1, xzr, 31
0057b4a8bl errors.New
0057b4acstr x0, [sp+168]
0057b4b0str x1, [sp+176]
0057b4b4str xzr, [sp+72]
0057b4b8ldr x1, [sp+168]
0057b4bcldr x2, [sp+176]
0057b4c0str x1, [sp+56]
0057b4c4str x2, [sp+64]
0057b4c8ldr x0, [sp+72]
0057b4ccldur x29, [sp-8]
0057b4d0ldr x30, [sp], 192
0057b4d4ret x30
0057b4d8
0057b4d8loc_57b4d8:
0057b4d8ldr x0, [sp+208]
0057b4dcldrsb x27, [x0]
0057b4e0ldr x26, [x0+16]
0057b4e4ldr x0, [x26]
0057b4e8blr x0
0057b4ecstr x0, [sp+160]
0057b4f0str xzr, [sp+152]
0057b4f4stp xzr, xzr, [sp+168]
0057b4f8ldr x26, [sp+200]
0057b4fcldrsb x27, [x26]
0057b500ldr x0, [x26]
0057b504ldr x1, [sp+216]
0057b508ldr x2, [sp+224]
0057b50cldr x3, [sp+232]
0057b510ldr x4, [sp+160]
0057b514mov x5, x0
0057b518mov x0, x4
0057b51cblr x5
0057b520str x0, [sp+152]
0057b524str x1, [sp+168]
0057b528str x2, [sp+176]
0057b52cldr x0, [sp+152]
0057b530str x0, [sp+112]
0057b534ldr x0, [sp+176]
0057b538ldr x1, [sp+168]
0057b53cstr x1, [sp+96]
0057b540str x0, [sp+104]
0057b544str x1, [sp+80]
0057b548str x0, [sp+88]
0057b54ccbnz x1, 0x57b554
0057b550b 0x57b578
0057b554
0057b554loc_57b554:
0057b554str xzr, [sp+72]
0057b558ldr x1, [sp+80]
0057b55cldr x2, [sp+88]
0057b560str x1, [sp+56]
0057b564str x2, [sp+64]
0057b568ldr x0, [sp+72]
0057b56cldur x29, [sp-8]
0057b570ldr x30, [sp], 192
0057b574ret x30
0057b578
0057b578loc_57b578:
0057b578ldr x0, [sp+216]
0057b57cldr x1, [sp+224]
0057b580ldr x2, [sp+232]
0057b584bl bytes.Clone
0057b588str x0, [sp+128]
0057b58cstr x1, [sp+136]
0057b590str x2, [sp+144]
0057b594adrp x0, 0xcd000
0057b598add x0, x0, 736
0057b59cbl runtime.newobject
0057b5a0str x0, [sp+120]
0057b5a4ldr x3, [sp+208]
0057b5a8ldrsb x27, [x3]
0057b5acldr x4, [x3]
0057b5b0ldr x3, [x3+8]
0057b5b4str x3, [x0+8]
0057b5b8adrp x27, 0x4d0000
0057b5bcldr w3, [x27+3056]
0057b5c0cbz w3, 0x57b5c8
0057b5c4b 0x57b5cc
0057b5c8
0057b5c8loc_57b5c8:
0057b5c8b 0x57b5e0
0057b5cc
0057b5ccloc_57b5cc:
0057b5ccbl runtime.gcWriteBarrier2
0057b5d0str x4, [x25]
0057b5d4ldr x3, [x0]
0057b5d8str x3, [x25+8]
0057b5dcb 0x57b5e0
0057b5e0
0057b5e0loc_57b5e0:
0057b5e0str x4, [x0]
0057b5e4ldr x3, [sp+120]
0057b5e8ldrsb x27, [x3]
0057b5ecldr x4, [sp+128]
0057b5f0ldr x5, [sp+136]
0057b5f4ldr x6, [sp+144]
0057b5f8str x5, [x3+24]
0057b5fcstr x6, [x3+32]
0057b600adrp x27, 0x4d0000
0057b604ldr w5, [x27+3056]
0057b608cbz w5, 0x57b610
0057b60cb 0x57b614
0057b610
0057b610loc_57b610:
0057b610b 0x57b628
0057b614
0057b614loc_57b614:
0057b614bl runtime.gcWriteBarrier2
0057b618str x4, [x25]
0057b61cldr x5, [x3+16]
0057b620str x5, [x25+8]
0057b624b 0x57b628
0057b628
0057b628loc_57b628:
0057b628str x4, [x3+16]
0057b62cldr x3, [sp+120]
0057b630str x3, [sp+72]
0057b634stp xzr, xzr, [sp+56]
0057b638ldr x0, [sp+72]
0057b63cmov x1, xzr
0057b640mov x2, xzr
0057b644ldur x29, [sp-8]
0057b648ldr x30, [sp], 192
0057b64cret x30
0057b650
0057b650loc_57b650:
0057b650mov x0, xzr
0057b654bl runtime.panicIndex
0057b658hint
0057b65c
0057b65cloc_57b65c:
0057b65cstp x0, x1, [sp+8]
0057b660stp x2, x3, [sp+24]
0057b664str x4, [sp+40]
0057b668mov x3, x30
0057b66cbl runtime.morestack_noctxt.abi0
0057b670ldp x0, x1, [sp+8]
0057b674ldp x2, x3, [sp+24]
0057b678ldr x4, [sp+40]
0057b67cb 0x57b410
0057b410
0057b410crypto/internal/fips140/ecdh.NewPublicKey[go.shape.*crypto/internal/fips140/nistec.P384Point]: ; void crypto/internal/fips140/ecdh.NewPublicKey[go.shape.*crypto/internal/fips140/nistec.P384Point](uintptr[2] * dict, crypto/internal/fips140/ecdh.Curve[go.shape.*crypto/internal/fips140/nistec.P384Point] * c, struct []uint8 key)
0057b410ldr x16, [x28+16]
0057b414sub x17, sp, 64
0057b418subs xzr, x17, x16
0057b41cb.ls 0x57b65c
0057b420str x30, [sp-192]!
0057b424stur x29, [sp-8]
0057b428sub x29, sp, 8
0057b42cstr x0, [sp+200]
0057b430str x1, [sp+208]
0057b434str x2, [sp+216]
0057b438str x3, [sp+224]
0057b43cstr x4, [sp+232]
0057b440str xzr, [sp+72]
0057b444stp xzr, xzr, [sp+56]
0057b448ldr x2, [sp+224]
0057b44cstr x2, [sp+48]
0057b450subs xzr, x2, 0
0057b454cset x3, eq
0057b458strb w3, [sp+47]
0057b45ccbz x2, 0x57b464
0057b460b 0x57b468
0057b464
0057b464loc_57b464:
0057b464b 0x57b490
0057b468
0057b468loc_57b468:
0057b468ldr x1, [sp+224]
0057b46cldr x2, [sp+216]
0057b470subs xzr, x1, 0
0057b474b.hi 0x57b47c
0057b478b 0x57b650
0057b47c
0057b47cloc_57b47c:
0057b47cldrb w2, [x2]
0057b480subs wzr, w2, 4
0057b484cset x2, ne
0057b488strb w2, [sp+47]
0057b48cb 0x57b490
0057b490
0057b490loc_57b490:
0057b490ldrb w2, [sp+47]
0057b494tbnz w2, 0, 0x57b49c
0057b498b 0x57b4d8
0057b49c
0057b49cloc_57b49c:
0057b49cadrp x0, 0x143000
0057b4a0add x0, x0, 444
0057b4a4orr x1, xzr, 31
0057b4a8bl errors.New
0057b4acstr x0, [sp+168]
0057b4b0str x1, [sp+176]
0057b4b4str xzr, [sp+72]
0057b4b8ldr x1, [sp+168]
0057b4bcldr x2, [sp+176]
0057b4c0str x1, [sp+56]
0057b4c4str x2, [sp+64]
0057b4c8ldr x0, [sp+72]
0057b4ccldur x29, [sp-8]
0057b4d0ldr x30, [sp], 192
0057b4d4ret x30
0057b4d8
0057b4d8loc_57b4d8:
0057b4d8ldr x0, [sp+208]
0057b4dcldrsb x27, [x0]
0057b4e0ldr x26, [x0+16]
0057b4e4ldr x0, [x26]
0057b4e8blr x0
0057b4ecstr x0, [sp+160]
0057b4f0str xzr, [sp+152]
0057b4f4stp xzr, xzr, [sp+168]
0057b4f8ldr x26, [sp+200]
0057b4fcldrsb x27, [x26]
0057b500ldr x0, [x26]
0057b504ldr x1, [sp+216]
0057b508ldr x2, [sp+224]
0057b50cldr x3, [sp+232]
0057b510ldr x4, [sp+160]
0057b514mov x5, x0
0057b518mov x0, x4
0057b51cblr x5
0057b520str x0, [sp+152]
0057b524str x1, [sp+168]
0057b528str x2, [sp+176]
0057b52cldr x0, [sp+152]
0057b530str x0, [sp+112]
0057b534ldr x0, [sp+176]
0057b538ldr x1, [sp+168]
0057b53cstr x1, [sp+96]
0057b540str x0, [sp+104]
0057b544str x1, [sp+80]
0057b548str x0, [sp+88]
0057b54ccbnz x1, 0x57b554
0057b550b 0x57b578
0057b554
0057b554loc_57b554:
0057b554str xzr, [sp+72]
0057b558ldr x1, [sp+80]
0057b55cldr x2, [sp+88]
0057b560str x1, [sp+56]
0057b564str x2, [sp+64]
0057b568ldr x0, [sp+72]
0057b56cldur x29, [sp-8]
0057b570ldr x30, [sp], 192
0057b574ret x30
0057b578
0057b578loc_57b578:
0057b578ldr x0, [sp+216]
0057b57cldr x1, [sp+224]
0057b580ldr x2, [sp+232]
0057b584bl bytes.Clone
0057b588str x0, [sp+128]
0057b58cstr x1, [sp+136]
0057b590str x2, [sp+144]
0057b594adrp x0, 0xcd000
0057b598add x0, x0, 736
0057b59cbl runtime.newobject
0057b5a0str x0, [sp+120]
0057b5a4ldr x3, [sp+208]
0057b5a8ldrsb x27, [x3]
0057b5acldr x4, [x3]
0057b5b0ldr x3, [x3+8]
0057b5b4str x3, [x0+8]
0057b5b8adrp x27, 0x4d0000
0057b5bcldr w3, [x27+3056]
0057b5c0cbz w3, 0x57b5c8
0057b5c4b 0x57b5cc
0057b5c8
0057b5c8loc_57b5c8:
0057b5c8b 0x57b5e0
0057b5cc
0057b5ccloc_57b5cc:
0057b5ccbl runtime.gcWriteBarrier2
0057b5d0str x4, [x25]
0057b5d4ldr x3, [x0]
0057b5d8str x3, [x25+8]
0057b5dcb 0x57b5e0
0057b5e0
0057b5e0loc_57b5e0:
0057b5e0str x4, [x0]
0057b5e4ldr x3, [sp+120]
0057b5e8ldrsb x27, [x3]
0057b5ecldr x4, [sp+128]
0057b5f0ldr x5, [sp+136]
0057b5f4ldr x6, [sp+144]
0057b5f8str x5, [x3+24]
0057b5fcstr x6, [x3+32]
0057b600adrp x27, 0x4d0000
0057b604ldr w5, [x27+3056]
0057b608cbz w5, 0x57b610
0057b60cb 0x57b614
0057b610
0057b610loc_57b610:
0057b610b 0x57b628
0057b614
0057b614loc_57b614:
0057b614bl runtime.gcWriteBarrier2
0057b618str x4, [x25]
0057b61cldr x5, [x3+16]
0057b620str x5, [x25+8]
0057b624b 0x57b628
0057b628
0057b628loc_57b628:
0057b628str x4, [x3+16]
0057b62cldr x3, [sp+120]
0057b630str x3, [sp+72]
0057b634stp xzr, xzr, [sp+56]
0057b638ldr x0, [sp+72]
0057b63cmov x1, xzr
0057b640mov x2, xzr
0057b644ldur x29, [sp-8]
0057b648ldr x30, [sp], 192
0057b64cret x30
0057b650
0057b650loc_57b650:
0057b650mov x0, xzr
0057b654bl runtime.panicIndex
0057b658hint
0057b65c
0057b65cloc_57b65c:
0057b65cstp x0, x1, [sp+8]
0057b660stp x2, x3, [sp+24]
0057b664str x4, [sp+40]
0057b668mov x3, x30
0057b66cbl runtime.morestack_noctxt.abi0
0057b670ldp x0, x1, [sp+8]
0057b674ldp x2, x3, [sp+24]
0057b678ldr x4, [sp+40]
0057b67cb 0x57b410
0057b410
0057b680
0057b680crypto/internal/fips140/ecdh.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P384Point]: ; void crypto/internal/fips140/ecdh.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P384Point](uintptr[4] * dict, crypto/internal/fips140/ecdh.Curve[go.shape.*crypto/internal/fips140/nistec.P384Point] * c, struct []uint8 key)
0057b680ldr x16, [x28+16]
0057b684sub x17, sp, 272
0057b688subs xzr, x17, x16
0057b68cb.ls 0x57bb34
0057b690sub x20, sp, 400
0057b694stp x29, x30, [x20-8]
0057b698add sp, x20, 0
0057b69csub x29, sp, 8
0057b6a0str x0, [sp+408]
0057b6a4str x1, [sp+416]
0057b6a8str x2, [sp+424]
0057b6acstr x3, [sp+432]
0057b6b0str x4, [sp+440]
0057b6b4str xzr, [sp+96]
0057b6b8stp xzr, xzr, [sp+80]
0057b6bcldr x6, [sp+432]
0057b6c0str x6, [sp+72]
0057b6c4ldr x7, [sp+416]
0057b6c8ldrsb x27, [x7]
0057b6ccldr x7, [x7+32]
0057b6d0str x7, [sp+64]
0057b6d4subs xzr, x6, x7
0057b6d8cset x6, ne
0057b6dcstrb w6, [sp+62]
0057b6e0b.ne 0x57b6e8
0057b6e4b 0x57b6ec
0057b6e8
0057b6e8loc_57b6e8:
0057b6e8b 0x57b708
0057b6ec
0057b6ecloc_57b6ec:
0057b6ecldr x0, [sp+424]
0057b6f0ldr x1, [sp+432]
0057b6f4ldr x2, [sp+440]
0057b6f8bl crypto/internal/fips140/ecdh.isZero
0057b6fcstrb w0, [sp+61]
0057b700strb w0, [sp+62]
0057b704b 0x57b708
0057b708
0057b708loc_57b708:
0057b708ldrb w6, [sp+62]
0057b70cstrb w6, [sp+63]
0057b710tbnz w6, 0, 0x57b718
0057b714b 0x57b71c
0057b718
0057b718loc_57b718:
0057b718b 0x57b75c
0057b71c
0057b71cloc_57b71c:
0057b71cldr x6, [sp+416]
0057b720ldrsb x27, [x6]
0057b724ldr x3, [x6+24]
0057b728ldr x4, [x6+32]
0057b72cldr x5, [x6+40]
0057b730str x3, [sp+240]
0057b734str x4, [sp+248]
0057b738str x5, [sp+256]
0057b73cldr x0, [sp+424]
0057b740ldr x1, [sp+432]
0057b744ldr x2, [sp+440]
0057b748bl crypto/internal/fips140/ecdh.isLess
0057b74cstrb w0, [sp+61]
0057b750eor x6, x0, 1
0057b754strb w6, [sp+63]
0057b758b 0x57b75c
0057b75c
0057b75cloc_57b75c:
0057b75cldrb w2, [sp+63]
0057b760tbnz w2, 0, 0x57b768
0057b764b 0x57b7a4
0057b768
0057b768loc_57b768:
0057b768adrp x0, 0x143000
0057b76cadd x0, x0, 3504
0057b770orr x1, xzr, 32
0057b774bl errors.New
0057b778str x0, [sp+376]
0057b77cstr x1, [sp+384]
0057b780str xzr, [sp+96]
0057b784ldr x1, [sp+376]
0057b788ldr x2, [sp+384]
0057b78cstr x1, [sp+80]
0057b790str x2, [sp+88]
0057b794ldr x0, [sp+96]
0057b798ldp x29, x30, [sp-8]
0057b79cadd sp, sp, 400
0057b7a0ret x30
0057b7a4
0057b7a4loc_57b7a4:
0057b7a4ldr x0, [sp+416]
0057b7a8ldrsb x27, [x0]
0057b7acldr x26, [x0+16]
0057b7b0ldr x0, [x26]
0057b7b4blr x0
0057b7b8str x0, [sp+368]
0057b7bcstr xzr, [sp+360]
0057b7c0stp xzr, xzr, [sp+376]
0057b7c4ldr x26, [sp+408]
0057b7c8ldrsb x27, [x26]
0057b7ccldr x0, [x26]
0057b7d0ldr x1, [sp+424]
0057b7d4ldr x2, [sp+432]
0057b7d8ldr x3, [sp+440]
0057b7dcldr x4, [sp+368]
0057b7e0mov x5, x0
0057b7e4mov x0, x4
0057b7e8blr x5
0057b7ecstr x0, [sp+360]
0057b7f0str x1, [sp+376]
0057b7f4str x2, [sp+384]
0057b7f8ldr x0, [sp+360]
0057b7fcstr x0, [sp+192]
0057b800ldr x0, [sp+376]
0057b804ldr x1, [sp+384]
0057b808str x0, [sp+176]
0057b80cstr x1, [sp+184]
0057b810ldr x0, [sp+192]
0057b814str x0, [sp+128]
0057b818ldr x0, [sp+184]
0057b81cldr x1, [sp+176]
0057b820str x1, [sp+160]
0057b824str x0, [sp+168]
0057b828cbnz x1, 0x57bb1c
0057b82cb 0x57b830
0057b830
0057b830loc_57b830:
0057b830ldr x1, [sp+408]
0057b834ldrsb x27, [x1]
0057b838add x26, x1, 8
0057b83cldr x0, [sp+128]
0057b840ldr x1, [x1+8]
0057b844blr x1
0057b848str x0, [sp+104]
0057b84cstr x1, [sp+112]
0057b850str x2, [sp+120]
0057b854str x1, [sp+64]
0057b858subs xzr, x1, 1
0057b85cb.eq 0x57bb08
0057b860b 0x57b864
0057b864
0057b864loc_57b864:
0057b864stp xzr, xzr, [sp+288]
0057b868stp xzr, xzr, [sp+304]
0057b86cstp xzr, xzr, [sp+320]
0057b870stp xzr, xzr, [sp+336]
0057b874str xzr, [sp+352]
0057b878add x3, sp, 288
0057b87cstr x3, [sp+232]
0057b880ldrsb x27, [x3]
0057b884adrp x4, 0
0057b888add x4, x4, 2912
0057b88cstr x4, [x3]
0057b890ldrsb x27, [x3]
0057b894ldr x4, [sp+416]
0057b898adrp x27, 0x4d0000
0057b89cldr w5, [x27+3056]
0057b8a0cbz w5, 0x57b8a8
0057b8a4b 0x57b8ac
0057b8a8
0057b8a8loc_57b8a8:
0057b8a8b 0x57b8c0
0057b8ac
0057b8acloc_57b8ac:
0057b8acbl runtime.gcWriteBarrier2
0057b8b0str x4, [x25]
0057b8b4ldr x5, [x3+8]
0057b8b8str x5, [x25+8]
0057b8bcb 0x57b8c0
0057b8c0
0057b8c0loc_57b8c0:
0057b8c0str x4, [x3+8]
0057b8c4ldrsb x27, [x3]
0057b8c8ldr x4, [sp+424]
0057b8ccldr x5, [sp+432]
0057b8d0ldr x6, [sp+440]
0057b8d4str x5, [x3+24]
0057b8d8str x6, [x3+32]
0057b8dcadrp x27, 0x4d0000
0057b8e0ldr w5, [x27+3056]
0057b8e4cbz w5, 0x57b8ec
0057b8e8b 0x57b8f0
0057b8ec
0057b8ecloc_57b8ec:
0057b8ecb 0x57b904
0057b8f0
0057b8f0loc_57b8f0:
0057b8f0bl runtime.gcWriteBarrier2
0057b8f4str x4, [x25]
0057b8f8ldr x5, [x3+16]
0057b8fcstr x5, [x25+8]
0057b900b 0x57b904
0057b904
0057b904loc_57b904:
0057b904str x4, [x3+16]
0057b908ldr x3, [sp+104]
0057b90cldr x4, [sp+112]
0057b910ldr x5, [sp+120]
0057b914ldr x6, [sp+232]
0057b918ldrsb x27, [x6]
0057b91cstr x4, [x6+48]
0057b920str x5, [x6+56]
0057b924adrp x27, 0x4d0000
0057b928ldr w4, [x27+3056]
0057b92ccbz w4, 0x57b934
0057b930b 0x57b938
0057b934
0057b934loc_57b934:
0057b934b 0x57b94c
0057b938
0057b938loc_57b938:
0057b938bl runtime.gcWriteBarrier2
0057b93cstr x3, [x25]
0057b940ldr x4, [x6+40]
0057b944str x4, [x25+8]
0057b948b 0x57b94c
0057b94c
0057b94cloc_57b94c:
0057b94cstr x3, [x6+40]
0057b950ldr x3, [sp+408]
0057b954ldr x4, [sp+232]
0057b958ldrsb x27, [x4]
0057b95cadrp x27, 0x4d0000
0057b960ldr w5, [x27+3056]
0057b964cbz w5, 0x57b96c
0057b968b 0x57b970
0057b96c
0057b96cloc_57b96c:
0057b96cb 0x57b984
0057b970
0057b970loc_57b970:
0057b970bl runtime.gcWriteBarrier2
0057b974str x3, [x25]
0057b978ldr x5, [x4+64]
0057b97cstr x5, [x25+8]
0057b980b 0x57b984
0057b984
0057b984loc_57b984:
0057b984str x3, [x4+64]
0057b988ldr x2, [sp+232]
0057b98cadrp x0, 0x136000
0057b990add x0, x0, 2052
0057b994orr x1, xzr, 8
0057b998bl crypto/internal/fips140.PCT
0057b99cstr x0, [sp+144]
0057b9a0str x1, [sp+152]
0057b9a4cbnz x0, 0x57bad0
0057b9a8b 0x57b9ac
0057b9ac
0057b9acloc_57b9ac:
0057b9acldr x0, [sp+424]
0057b9b0ldr x1, [sp+432]
0057b9b4ldr x2, [sp+440]
0057b9b8bl bytes.Clone
0057b9bcstr x0, [sp+264]
0057b9c0str x1, [sp+272]
0057b9c4str x2, [sp+280]
0057b9c8adrp x0, 0xcd000
0057b9ccadd x0, x0, 896
0057b9d0bl runtime.newobject
0057b9d4str x0, [sp+200]
0057b9d8ldr x3, [sp+264]
0057b9dcldr x4, [sp+272]
0057b9e0ldr x5, [sp+280]
0057b9e4str x4, [x0+48]
0057b9e8str x5, [x0+56]
0057b9ecadrp x27, 0x4d0000
0057b9f0ldr w4, [x27+3056]
0057b9f4cbz w4, 0x57b9fc
0057b9f8b 0x57ba00
0057b9fc
0057b9fcloc_57b9fc:
0057b9fcb 0x57ba14
0057ba00
0057ba00loc_57ba00:
0057ba00bl runtime.gcWriteBarrier2
0057ba04str x3, [x25]
0057ba08ldr x4, [x0+40]
0057ba0cstr x4, [x25+8]
0057ba10b 0x57ba14
0057ba14
0057ba14loc_57ba14:
0057ba14str x3, [x0+40]
0057ba18ldr x3, [sp+200]
0057ba1cldrsb x27, [x3]
0057ba20ldr x4, [sp+416]
0057ba24ldrsb x27, [x4]
0057ba28ldr x5, [x4]
0057ba2cldr x4, [x4+8]
0057ba30str x4, [x3+8]
0057ba34adrp x27, 0x4d0000
0057ba38ldr w4, [x27+3056]
0057ba3ccbz w4, 0x57ba44
0057ba40b 0x57ba48
0057ba44
0057ba44loc_57ba44:
0057ba44b 0x57ba5c
0057ba48
0057ba48loc_57ba48:
0057ba48bl runtime.gcWriteBarrier2
0057ba4cstr x5, [x25]
0057ba50ldr x4, [x3]
0057ba54str x4, [x25+8]
0057ba58b 0x57ba5c
0057ba5c
0057ba5cloc_57ba5c:
0057ba5cstr x5, [x3]
0057ba60ldr x3, [sp+200]
0057ba64ldrsb x27, [x3]
0057ba68ldr x4, [sp+104]
0057ba6cldr x5, [sp+112]
0057ba70ldr x6, [sp+120]
0057ba74str x5, [x3+24]
0057ba78str x6, [x3+32]
0057ba7cadrp x27, 0x4d0000
0057ba80ldr w5, [x27+3056]
0057ba84cbz w5, 0x57ba8c
0057ba88b 0x57ba90
0057ba8c
0057ba8cloc_57ba8c:
0057ba8cb 0x57baa4
0057ba90
0057ba90loc_57ba90:
0057ba90bl runtime.gcWriteBarrier2
0057ba94str x4, [x25]
0057ba98ldr x5, [x3+16]
0057ba9cstr x5, [x25+8]
0057baa0b 0x57baa4
0057baa4
0057baa4loc_57baa4:
0057baa4str x4, [x3+16]
0057baa8ldr x3, [sp+200]
0057baacstr x3, [sp+136]
0057bab0str x3, [sp+96]
0057bab4stp xzr, xzr, [sp+80]
0057bab8ldr x0, [sp+96]
0057babcmov x1, xzr
0057bac0mov x2, xzr
0057bac4ldp x29, x30, [sp-8]
0057bac8add sp, sp, 400
0057baccret x30
0057bad0
0057bad0loc_57bad0:
0057bad0str x0, [sp+216]
0057bad4str x1, [sp+224]
0057bad8str x0, [sp+208]
0057badcldr x2, [sp+208]
0057bae0cbnz x2, 0x57bae8
0057bae4b 0x57bb04
0057bae8
0057bae8loc_57bae8:
0057bae8ldr x2, [sp+208]
0057baecldr x2, [x2+8]
0057baf0str x2, [sp+208]
0057baf4b 0x57baf8
0057baf8
0057baf8loc_57baf8:
0057baf8ldr x0, [sp+208]
0057bafcldr x1, [sp+224]
0057bb00bl runtime.gopanic
0057bb04
0057bb04loc_57bb04:
0057bb04b 0x57baf8
0057bb08
0057bb08loc_57bb08:
0057bb08adrp x0, 0x7a000
0057bb0cadd x0, x0, 2944
0057bb10adrp x1, 0x197000
0057bb14add x1, x1, 2720
0057bb18bl runtime.gopanic
0057bb1c
0057bb1cloc_57bb1c:
0057bb1cadrp x0, 0x7a000
0057bb20add x0, x0, 2944
0057bb24adrp x1, 0x197000
0057bb28add x1, x1, 2704
0057bb2cbl runtime.gopanic
0057bb30hint
0057bb34
0057bb34loc_57bb34:
0057bb34stp x0, x1, [sp+8]
0057bb38stp x2, x3, [sp+24]
0057bb3cstr x4, [sp+40]
0057bb40mov x3, x30
0057bb44bl runtime.morestack_noctxt.abi0
0057bb48ldp x0, x1, [sp+8]
0057bb4cldp x2, x3, [sp+24]
0057bb50ldr x4, [sp+40]
0057bb54b 0x57b680
0057bb58udf 0
0057bb5cudf 0
0057b680
0057b680crypto/internal/fips140/ecdh.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P384Point]: ; void crypto/internal/fips140/ecdh.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P384Point](uintptr[4] * dict, crypto/internal/fips140/ecdh.Curve[go.shape.*crypto/internal/fips140/nistec.P384Point] * c, struct []uint8 key)
0057b680ldr x16, [x28+16]
0057b684sub x17, sp, 272
0057b688subs xzr, x17, x16
0057b68cb.ls 0x57bb34
0057b690sub x20, sp, 400
0057b694stp x29, x30, [x20-8]
0057b698add sp, x20, 0
0057b69csub x29, sp, 8
0057b6a0str x0, [sp+408]
0057b6a4str x1, [sp+416]
0057b6a8str x2, [sp+424]
0057b6acstr x3, [sp+432]
0057b6b0str x4, [sp+440]
0057b6b4str xzr, [sp+96]
0057b6b8stp xzr, xzr, [sp+80]
0057b6bcldr x6, [sp+432]
0057b6c0str x6, [sp+72]
0057b6c4ldr x7, [sp+416]
0057b6c8ldrsb x27, [x7]
0057b6ccldr x7, [x7+32]
0057b6d0str x7, [sp+64]
0057b6d4subs xzr, x6, x7
0057b6d8cset x6, ne
0057b6dcstrb w6, [sp+62]
0057b6e0b.ne 0x57b6e8
0057b6e4b 0x57b6ec
0057b6e8
0057b6e8loc_57b6e8:
0057b6e8b 0x57b708
0057b6ec
0057b6ecloc_57b6ec:
0057b6ecldr x0, [sp+424]
0057b6f0ldr x1, [sp+432]
0057b6f4ldr x2, [sp+440]
0057b6f8bl crypto/internal/fips140/ecdh.isZero
0057b6fcstrb w0, [sp+61]
0057b700strb w0, [sp+62]
0057b704b 0x57b708
0057b708
0057b708loc_57b708:
0057b708ldrb w6, [sp+62]
0057b70cstrb w6, [sp+63]
0057b710tbnz w6, 0, 0x57b718
0057b714b 0x57b71c
0057b718
0057b718loc_57b718:
0057b718b 0x57b75c
0057b71c
0057b71cloc_57b71c:
0057b71cldr x6, [sp+416]
0057b720ldrsb x27, [x6]
0057b724ldr x3, [x6+24]
0057b728ldr x4, [x6+32]
0057b72cldr x5, [x6+40]
0057b730str x3, [sp+240]
0057b734str x4, [sp+248]
0057b738str x5, [sp+256]
0057b73cldr x0, [sp+424]
0057b740ldr x1, [sp+432]
0057b744ldr x2, [sp+440]
0057b748bl crypto/internal/fips140/ecdh.isLess
0057b74cstrb w0, [sp+61]
0057b750eor x6, x0, 1
0057b754strb w6, [sp+63]
0057b758b 0x57b75c
0057b75c
0057b75cloc_57b75c:
0057b75cldrb w2, [sp+63]
0057b760tbnz w2, 0, 0x57b768
0057b764b 0x57b7a4
0057b768
0057b768loc_57b768:
0057b768adrp x0, 0x143000
0057b76cadd x0, x0, 3504
0057b770orr x1, xzr, 32
0057b774bl errors.New
0057b778str x0, [sp+376]
0057b77cstr x1, [sp+384]
0057b780str xzr, [sp+96]
0057b784ldr x1, [sp+376]
0057b788ldr x2, [sp+384]
0057b78cstr x1, [sp+80]
0057b790str x2, [sp+88]
0057b794ldr x0, [sp+96]
0057b798ldp x29, x30, [sp-8]
0057b79cadd sp, sp, 400
0057b7a0ret x30
0057b7a4
0057b7a4loc_57b7a4:
0057b7a4ldr x0, [sp+416]
0057b7a8ldrsb x27, [x0]
0057b7acldr x26, [x0+16]
0057b7b0ldr x0, [x26]
0057b7b4blr x0
0057b7b8str x0, [sp+368]
0057b7bcstr xzr, [sp+360]
0057b7c0stp xzr, xzr, [sp+376]
0057b7c4ldr x26, [sp+408]
0057b7c8ldrsb x27, [x26]
0057b7ccldr x0, [x26]
0057b7d0ldr x1, [sp+424]
0057b7d4ldr x2, [sp+432]
0057b7d8ldr x3, [sp+440]
0057b7dcldr x4, [sp+368]
0057b7e0mov x5, x0
0057b7e4mov x0, x4
0057b7e8blr x5
0057b7ecstr x0, [sp+360]
0057b7f0str x1, [sp+376]
0057b7f4str x2, [sp+384]
0057b7f8ldr x0, [sp+360]
0057b7fcstr x0, [sp+192]
0057b800ldr x0, [sp+376]
0057b804ldr x1, [sp+384]
0057b808str x0, [sp+176]
0057b80cstr x1, [sp+184]
0057b810ldr x0, [sp+192]
0057b814str x0, [sp+128]
0057b818ldr x0, [sp+184]
0057b81cldr x1, [sp+176]
0057b820str x1, [sp+160]
0057b824str x0, [sp+168]
0057b828cbnz x1, 0x57bb1c
0057b82cb 0x57b830
0057b830
0057b830loc_57b830:
0057b830ldr x1, [sp+408]
0057b834ldrsb x27, [x1]
0057b838add x26, x1, 8
0057b83cldr x0, [sp+128]
0057b840ldr x1, [x1+8]
0057b844blr x1
0057b848str x0, [sp+104]
0057b84cstr x1, [sp+112]
0057b850str x2, [sp+120]
0057b854str x1, [sp+64]
0057b858subs xzr, x1, 1
0057b85cb.eq 0x57bb08
0057b860b 0x57b864
0057b864
0057b864loc_57b864:
0057b864stp xzr, xzr, [sp+288]
0057b868stp xzr, xzr, [sp+304]
0057b86cstp xzr, xzr, [sp+320]
0057b870stp xzr, xzr, [sp+336]
0057b874str xzr, [sp+352]
0057b878add x3, sp, 288
0057b87cstr x3, [sp+232]
0057b880ldrsb x27, [x3]
0057b884adrp x4, 0
0057b888add x4, x4, 2912
0057b88cstr x4, [x3]
0057b890ldrsb x27, [x3]
0057b894ldr x4, [sp+416]
0057b898adrp x27, 0x4d0000
0057b89cldr w5, [x27+3056]
0057b8a0cbz w5, 0x57b8a8
0057b8a4b 0x57b8ac
0057b8a8
0057b8a8loc_57b8a8:
0057b8a8b 0x57b8c0
0057b8ac
0057b8acloc_57b8ac:
0057b8acbl runtime.gcWriteBarrier2
0057b8b0str x4, [x25]
0057b8b4ldr x5, [x3+8]
0057b8b8str x5, [x25+8]
0057b8bcb 0x57b8c0
0057b8c0
0057b8c0loc_57b8c0:
0057b8c0str x4, [x3+8]
0057b8c4ldrsb x27, [x3]
0057b8c8ldr x4, [sp+424]
0057b8ccldr x5, [sp+432]
0057b8d0ldr x6, [sp+440]
0057b8d4str x5, [x3+24]
0057b8d8str x6, [x3+32]
0057b8dcadrp x27, 0x4d0000
0057b8e0ldr w5, [x27+3056]
0057b8e4cbz w5, 0x57b8ec
0057b8e8b 0x57b8f0
0057b8ec
0057b8ecloc_57b8ec:
0057b8ecb 0x57b904
0057b8f0
0057b8f0loc_57b8f0:
0057b8f0bl runtime.gcWriteBarrier2
0057b8f4str x4, [x25]
0057b8f8ldr x5, [x3+16]
0057b8fcstr x5, [x25+8]
0057b900b 0x57b904
0057b904
0057b904loc_57b904:
0057b904str x4, [x3+16]
0057b908ldr x3, [sp+104]
0057b90cldr x4, [sp+112]
0057b910ldr x5, [sp+120]
0057b914ldr x6, [sp+232]
0057b918ldrsb x27, [x6]
0057b91cstr x4, [x6+48]
0057b920str x5, [x6+56]
0057b924adrp x27, 0x4d0000
0057b928ldr w4, [x27+3056]
0057b92ccbz w4, 0x57b934
0057b930b 0x57b938
0057b934
0057b934loc_57b934:
0057b934b 0x57b94c
0057b938
0057b938loc_57b938:
0057b938bl runtime.gcWriteBarrier2
0057b93cstr x3, [x25]
0057b940ldr x4, [x6+40]
0057b944str x4, [x25+8]
0057b948b 0x57b94c
0057b94c
0057b94cloc_57b94c:
0057b94cstr x3, [x6+40]
0057b950ldr x3, [sp+408]
0057b954ldr x4, [sp+232]
0057b958ldrsb x27, [x4]
0057b95cadrp x27, 0x4d0000
0057b960ldr w5, [x27+3056]
0057b964cbz w5, 0x57b96c
0057b968b 0x57b970
0057b96c
0057b96cloc_57b96c:
0057b96cb 0x57b984
0057b970
0057b970loc_57b970:
0057b970bl runtime.gcWriteBarrier2
0057b974str x3, [x25]
0057b978ldr x5, [x4+64]
0057b97cstr x5, [x25+8]
0057b980b 0x57b984
0057b984
0057b984loc_57b984:
0057b984str x3, [x4+64]
0057b988ldr x2, [sp+232]
0057b98cadrp x0, 0x136000
0057b990add x0, x0, 2052
0057b994orr x1, xzr, 8
0057b998bl crypto/internal/fips140.PCT
0057b99cstr x0, [sp+144]
0057b9a0str x1, [sp+152]
0057b9a4cbnz x0, 0x57bad0
0057b9a8b 0x57b9ac
0057b9ac
0057b9acloc_57b9ac:
0057b9acldr x0, [sp+424]
0057b9b0ldr x1, [sp+432]
0057b9b4ldr x2, [sp+440]
0057b9b8bl bytes.Clone
0057b9bcstr x0, [sp+264]
0057b9c0str x1, [sp+272]
0057b9c4str x2, [sp+280]
0057b9c8adrp x0, 0xcd000
0057b9ccadd x0, x0, 896
0057b9d0bl runtime.newobject
0057b9d4str x0, [sp+200]
0057b9d8ldr x3, [sp+264]
0057b9dcldr x4, [sp+272]
0057b9e0ldr x5, [sp+280]
0057b9e4str x4, [x0+48]
0057b9e8str x5, [x0+56]
0057b9ecadrp x27, 0x4d0000
0057b9f0ldr w4, [x27+3056]
0057b9f4cbz w4, 0x57b9fc
0057b9f8b 0x57ba00
0057b9fc
0057b9fcloc_57b9fc:
0057b9fcb 0x57ba14
0057ba00
0057ba00loc_57ba00:
0057ba00bl runtime.gcWriteBarrier2
0057ba04str x3, [x25]
0057ba08ldr x4, [x0+40]
0057ba0cstr x4, [x25+8]
0057ba10b 0x57ba14
0057ba14
0057ba14loc_57ba14:
0057ba14str x3, [x0+40]
0057ba18ldr x3, [sp+200]
0057ba1cldrsb x27, [x3]
0057ba20ldr x4, [sp+416]
0057ba24ldrsb x27, [x4]
0057ba28ldr x5, [x4]
0057ba2cldr x4, [x4+8]
0057ba30str x4, [x3+8]
0057ba34adrp x27, 0x4d0000
0057ba38ldr w4, [x27+3056]
0057ba3ccbz w4, 0x57ba44
0057ba40b 0x57ba48
0057ba44
0057ba44loc_57ba44:
0057ba44b 0x57ba5c
0057ba48
0057ba48loc_57ba48:
0057ba48bl runtime.gcWriteBarrier2
0057ba4cstr x5, [x25]
0057ba50ldr x4, [x3]
0057ba54str x4, [x25+8]
0057ba58b 0x57ba5c
0057ba5c
0057ba5cloc_57ba5c:
0057ba5cstr x5, [x3]
0057ba60ldr x3, [sp+200]
0057ba64ldrsb x27, [x3]
0057ba68ldr x4, [sp+104]
0057ba6cldr x5, [sp+112]
0057ba70ldr x6, [sp+120]
0057ba74str x5, [x3+24]
0057ba78str x6, [x3+32]
0057ba7cadrp x27, 0x4d0000
0057ba80ldr w5, [x27+3056]
0057ba84cbz w5, 0x57ba8c
0057ba88b 0x57ba90
0057ba8c
0057ba8cloc_57ba8c:
0057ba8cb 0x57baa4
0057ba90
0057ba90loc_57ba90:
0057ba90bl runtime.gcWriteBarrier2
0057ba94str x4, [x25]
0057ba98ldr x5, [x3+16]
0057ba9cstr x5, [x25+8]
0057baa0b 0x57baa4
0057baa4
0057baa4loc_57baa4:
0057baa4str x4, [x3+16]
0057baa8ldr x3, [sp+200]
0057baacstr x3, [sp+136]
0057bab0str x3, [sp+96]
0057bab4stp xzr, xzr, [sp+80]
0057bab8ldr x0, [sp+96]
0057babcmov x1, xzr
0057bac0mov x2, xzr
0057bac4ldp x29, x30, [sp-8]
0057bac8add sp, sp, 400
0057baccret x30
0057bad0
0057bad0loc_57bad0:
0057bad0str x0, [sp+216]
0057bad4str x1, [sp+224]
0057bad8str x0, [sp+208]
0057badcldr x2, [sp+208]
0057bae0cbnz x2, 0x57bae8
0057bae4b 0x57bb04
0057bae8
0057bae8loc_57bae8:
0057bae8ldr x2, [sp+208]
0057baecldr x2, [x2+8]
0057baf0str x2, [sp+208]
0057baf4b 0x57baf8
0057baf8
0057baf8loc_57baf8:
0057baf8ldr x0, [sp+208]
0057bafcldr x1, [sp+224]
0057bb00bl runtime.gopanic
0057bb04
0057bb04loc_57bb04:
0057bb04b 0x57baf8
0057bb08
0057bb08loc_57bb08:
0057bb08adrp x0, 0x7a000
0057bb0cadd x0, x0, 2944
0057bb10adrp x1, 0x197000
0057bb14add x1, x1, 2720
0057bb18bl runtime.gopanic
0057bb1c
0057bb1cloc_57bb1c:
0057bb1cadrp x0, 0x7a000
0057bb20add x0, x0, 2944
0057bb24adrp x1, 0x197000
0057bb28add x1, x1, 2704
0057bb2cbl runtime.gopanic
0057bb30hint
0057bb34
0057bb34loc_57bb34:
0057bb34stp x0, x1, [sp+8]
0057bb38stp x2, x3, [sp+24]
0057bb3cstr x4, [sp+40]
0057bb40mov x3, x30
0057bb44bl runtime.morestack_noctxt.abi0
0057bb48ldp x0, x1, [sp+8]
0057bb4cldp x2, x3, [sp+24]
0057bb50ldr x4, [sp+40]
0057bb54b 0x57b680
0057bb58udf 0
0057bb5cudf 0
0057b680
Loading..