Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(154)

Side by Side Diff: mozilla/security/nss/lib/freebl/mpi/mp_comba_amd64_masm.asm

Issue 11738002: Include 64-bit optimized assembly on Windows when building x64 (Closed) Base URL: http://src.chromium.org/svn/trunk/deps/third_party/nss
Patch Set: Update checkout script Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 ; This Source Code Form is subject to the terms of the Mozilla Public
2 ; License, v. 2.0. If a copy of the MPL was not distributed with this
3 ; file, You can obtain one at http://mozilla.org/MPL/2.0/.
4
5 ;/* TomsFastMath, a fast ISO C bignum library.
6 ; *
7 ; * This project is meant to fill in where LibTomMath
8 ; * falls short. That is speed ;-)
9 ; *
10 ; * This project is public domain and free for all purposes.
11 ; *
12 ; * Tom St Denis, tomstdenis@iahu.ca
13 ; */
14
15 ;/*
16 ; * The source file from which this assembly was derived
17 ; * comes from TFM v0.03, which has the above license.
18 ; * This source was from mp_comba_amd64.sun.s and convert to
19 ; * MASM code set.
20 ; */
21
22 .CODE
23
24 externdef memcpy:PROC
25
26 public s_mp_mul_comba_4
27 public s_mp_mul_comba_8
28 public s_mp_mul_comba_16
29 public s_mp_mul_comba_32
30 public s_mp_sqr_comba_8
31 public s_mp_sqr_comba_16
32 public s_mp_sqr_comba_32
33
34
35 ; void s_mp_mul_comba_4(const mp_int *A, const mp_int *B, mp_int *C)
36
37 ALIGN 16
38 s_mp_mul_comba_4 PROC
39
40 push rdi
41 push rsi
42
43 mov rdi, rcx
44 mov rsi, rdx
45 mov rdx, r8
46
47 push r12
48 push rbp
49 push rbx
50 sub rsp, 64
51 mov r9, qword ptr [16+rdi]
52 mov rbx, rdx
53 mov rdx, qword ptr [16+rsi]
54 mov rax, qword ptr [r9]
55 mov qword ptr [-64+64+rsp], rax
56 mov r8, qword ptr [8+r9]
57 mov qword ptr [-56+64+rsp], r8
58 mov rbp, qword ptr [16+r9]
59 mov qword ptr [-48+64+rsp], rbp
60 mov r12, qword ptr [24+r9]
61 mov qword ptr [-40+64+rsp], r12
62 mov rcx, qword ptr [rdx]
63 mov qword ptr [-32+64+rsp], rcx
64 mov r10, qword ptr [8+rdx]
65 mov qword ptr [-24+64+rsp], r10
66 mov r11, qword ptr [16+rdx]
67 xor r10d, r10d
68 mov r8, r10
69 mov r9, r10
70 mov rbp, r10
71 mov qword ptr [-16+64+rsp], r11
72 mov r11, qword ptr [16+rbx]
73 mov rax, qword ptr [24+rdx]
74 mov qword ptr [-8+64+rsp], rax
75 mov rax, qword ptr [-64+64+rsp]
76 mul qword ptr [-32+64+rsp]
77 add r8, rax
78 adc r9, rdx
79 adc rbp, 0
80 mov qword ptr [r11], r8
81 mov r8, rbp
82 mov rbp, r10
83 mov rax, qword ptr [-64+64+rsp]
84 mul qword ptr [-24+64+rsp]
85 add r9, rax
86 adc r8, rdx
87 adc rbp, 0
88 mov r12, rbp
89 mov rax, qword ptr [-56+64+rsp]
90 mul qword ptr [-32+64+rsp]
91 add r9, rax
92 adc r8, rdx
93 adc r12, 0
94 mov qword ptr [8+r11], r9
95 mov r9, r12
96 mov r12, r10
97 mov rax, qword ptr [-64+64+rsp]
98 mul qword ptr [-16+64+rsp]
99 add r8, rax
100 adc r9, rdx
101 adc r12, 0
102 mov rcx, r12
103 mov rax, qword ptr [-56+64+rsp]
104 mul qword ptr [-24+64+rsp]
105 add r8, rax
106 adc r9, rdx
107 adc rcx, 0
108 mov rbp, r9
109 mov r12, rcx
110 mov rax, qword ptr [-48+64+rsp]
111 mul qword ptr [-32+64+rsp]
112 add r8, rax
113 adc rbp, rdx
114 adc r12, 0
115 mov qword ptr [16+r11], r8
116 mov r9, r12
117 mov rcx, rbp
118 mov r8, r10
119 mov rax, qword ptr [-64+64+rsp]
120 mul qword ptr [-8+64+rsp]
121 add rcx, rax
122 adc r9, rdx
123 adc r8, 0
124 mov rax, qword ptr [-56+64+rsp]
125 mul qword ptr [-16+64+rsp]
126 add rcx, rax
127 adc r9, rdx
128 adc r8, 0
129 mov rax, qword ptr [-48+64+rsp]
130 mul qword ptr [-24+64+rsp]
131 add rcx, rax
132 adc r9, rdx
133 adc r8, 0
134 mov rbp, r9
135 mov r12, r8
136 mov rax, qword ptr [-40+64+rsp]
137 mul qword ptr [-32+64+rsp]
138 add rcx, rax
139 adc rbp, rdx
140 adc r12, 0
141 mov qword ptr [24+r11], rcx
142 mov r9, r12
143 mov r8, rbp
144 mov rcx, r10
145 mov rax, qword ptr [-56+64+rsp]
146 mul qword ptr [-8+64+rsp]
147 add r8, rax
148 adc r9, rdx
149 adc rcx, 0
150 mov rax, qword ptr [-48+64+rsp]
151 mul qword ptr [-16+64+rsp]
152 add r8, rax
153 adc r9, rdx
154 adc rcx, 0
155 mov rbp, r9
156 mov r12, rcx
157 mov rax, qword ptr [-40+64+rsp]
158 mul qword ptr [-24+64+rsp]
159 add r8, rax
160 adc rbp, rdx
161 adc r12, 0
162 mov qword ptr [32+r11], r8
163 mov r9, r12
164 mov rcx, rbp
165 mov r8, r10
166 mov rax, qword ptr [-48+64+rsp]
167 mul qword ptr [-8+64+rsp]
168 add rcx, rax
169 adc r9, rdx
170 adc r8, 0
171 mov r12, r8
172 mov rbp, r9
173 mov rax, qword ptr [-40+64+rsp]
174 mul qword ptr [-16+64+rsp]
175 add rcx, rax
176 adc rbp, rdx
177 adc r12, 0
178 mov qword ptr [40+r11], rcx
179 mov r8, rbp
180 mov rcx, r12
181 mov rax, qword ptr [-40+64+rsp]
182 mul qword ptr [-8+64+rsp]
183 add r8, rax
184 adc rcx, rdx
185 adc r10, 0
186 mov qword ptr [48+r11], r8
187 mov esi, dword ptr [rsi]
188 xor esi, dword ptr [rdi]
189 test rcx, rcx
190 mov qword ptr [56+r11], rcx
191 mov dword ptr [8+rbx], 8
192 jne L9
193 ALIGN 16
194 L18:
195 mov edx, dword ptr [8+rbx]
196 lea edi, dword ptr [-1+rdx]
197 test edi, edi
198 mov dword ptr [8+rbx], edi
199 je L9
200 lea r10d, dword ptr [-2+rdx]
201 cmp dword ptr [r11+r10*8], 0
202 je L18
203 L9:
204 mov edx, dword ptr [8+rbx]
205 xor r11d, r11d
206 test edx, edx
207 cmovne r11d, esi
208 mov dword ptr [rbx], r11d
209 add rsp, 64
210 pop rbx
211 pop rbp
212 pop r12
213
214 pop rsi
215 pop rdi
216
217 ret
218
219 s_mp_mul_comba_4 ENDP
220
221
222 ; void s_mp_mul_comba_8(const mp_int *A, const mp_int *B, mp_int *C)
223
224 ALIGN 16
225 s_mp_mul_comba_8 PROC
226
227 push rdi
228 push rsi
229
230 mov rdi, rcx
231 mov rsi, rdx
232 mov rdx, r8
233
234 push r12
235 push rbp
236 push rbx
237 mov rbx, rdx
238 sub rsp, 8+128
239 mov rdx, qword ptr [16+rdi]
240 mov r8, qword ptr [rdx]
241 mov qword ptr [-120+128+rsp], r8
242 mov rbp, qword ptr [8+rdx]
243 mov qword ptr [-112+128+rsp], rbp
244 mov r9, qword ptr [16+rdx]
245 mov qword ptr [-104+128+rsp], r9
246 mov r12, qword ptr [24+rdx]
247 mov qword ptr [-96+128+rsp], r12
248 mov rcx, qword ptr [32+rdx]
249 mov qword ptr [-88+128+rsp], rcx
250 mov r10, qword ptr [40+rdx]
251 mov qword ptr [-80+128+rsp], r10
252 mov r11, qword ptr [48+rdx]
253 mov qword ptr [-72+128+rsp], r11
254 mov rax, qword ptr [56+rdx]
255 mov rdx, qword ptr [16+rsi]
256 mov qword ptr [-64+128+rsp], rax
257 mov r8, qword ptr [rdx]
258 mov qword ptr [-56+128+rsp], r8
259 mov rbp, qword ptr [8+rdx]
260 mov qword ptr [-48+128+rsp], rbp
261 mov r9, qword ptr [16+rdx]
262 mov qword ptr [-40+128+rsp], r9
263 mov r12, qword ptr [24+rdx]
264 mov qword ptr [-32+128+rsp], r12
265 mov rcx, qword ptr [32+rdx]
266 mov qword ptr [-24+128+rsp], rcx
267 mov r10, qword ptr [40+rdx]
268 mov qword ptr [-16+128+rsp], r10
269 mov r11, qword ptr [48+rdx]
270 xor r10d, r10d
271 mov r8, r10
272 mov r9, r10
273 mov rbp, r10
274 mov qword ptr [-8+128+rsp], r11
275 mov r11, qword ptr [16+rbx]
276 mov rax, qword ptr [56+rdx]
277 mov qword ptr [128+rsp], rax
278 mov rax, qword ptr [-120+128+rsp]
279 mul qword ptr [-56+128+rsp]
280 add r8, rax
281 adc r9, rdx
282 adc rbp, 0
283 mov qword ptr [r11], r8
284 mov r8, rbp
285 mov rbp, r10
286 mov rax, qword ptr [-120+128+rsp]
287 mul qword ptr [-48+128+rsp]
288 add r9, rax
289 adc r8, rdx
290 adc rbp, 0
291 mov r12, rbp
292 mov rax, qword ptr [-112+128+rsp]
293 mul qword ptr [-56+128+rsp]
294 add r9, rax
295 adc r8, rdx
296 adc r12, 0
297 mov qword ptr [8+r11], r9
298 mov r9, r12
299 mov r12, r10
300 mov rax, qword ptr [-120+128+rsp]
301 mul qword ptr [-40+128+rsp]
302 add r8, rax
303 adc r9, rdx
304 adc r12, 0
305 mov rcx, r12
306 mov rax, qword ptr [-112+128+rsp]
307 mul qword ptr [-48+128+rsp]
308 add r8, rax
309 adc r9, rdx
310 adc rcx, 0
311 mov rbp, r9
312 mov r12, rcx
313 mov rax, qword ptr [-104+128+rsp]
314 mul qword ptr [-56+128+rsp]
315 add r8, rax
316 adc rbp, rdx
317 adc r12, 0
318 mov qword ptr [16+r11], r8
319 mov r9, r12
320 mov rcx, rbp
321 mov r8, r10
322 mov rax, qword ptr [-120+128+rsp]
323 mul qword ptr [-32+128+rsp]
324 add rcx, rax
325 adc r9, rdx
326 adc r8, 0
327 mov rax, qword ptr [-112+128+rsp]
328 mul qword ptr [-40+128+rsp]
329 add rcx, rax
330 adc r9, rdx
331 adc r8, 0
332 mov rax, qword ptr [-104+128+rsp]
333 mul qword ptr [-48+128+rsp]
334 add rcx, rax
335 adc r9, rdx
336 adc r8, 0
337 mov rbp, r9
338 mov r12, r8
339 mov rax, qword ptr [-96+128+rsp]
340 mul qword ptr [-56+128+rsp]
341 add rcx, rax
342 adc rbp, rdx
343 adc r12, 0
344 mov qword ptr [24+r11], rcx
345 mov r9, r12
346 mov r8, rbp
347 mov rcx, r10
348 mov rax, qword ptr [-120+128+rsp]
349 mul qword ptr [-24+128+rsp]
350 add r8, rax
351 adc r9, rdx
352 adc rcx, 0
353 mov rax, qword ptr [-112+128+rsp]
354 mul qword ptr [-32+128+rsp]
355 add r8, rax
356 adc r9, rdx
357 adc rcx, 0
358 mov rax, qword ptr [-104+128+rsp]
359 mul qword ptr [-40+128+rsp]
360 add r8, rax
361 adc r9, rdx
362 adc rcx, 0
363 mov rax, qword ptr [-96+128+rsp]
364 mul qword ptr [-48+128+rsp]
365 add r8, rax
366 adc r9, rdx
367 adc rcx, 0
368 mov rbp, r9
369 mov r12, rcx
370 mov rax, qword ptr [-88+128+rsp]
371 mul qword ptr [-56+128+rsp]
372 add r8, rax
373 adc rbp, rdx
374 adc r12, 0
375 mov qword ptr [32+r11], r8
376 mov r9, r12
377 mov rcx, rbp
378 mov r8, r10
379 mov rax, qword ptr [-120+128+rsp]
380 mul qword ptr [-16+128+rsp]
381 add rcx, rax
382 adc r9, rdx
383 adc r8, 0
384 mov rax, qword ptr [-112+128+rsp]
385 mul qword ptr [-24+128+rsp]
386 add rcx, rax
387 adc r9, rdx
388 adc r8, 0
389 mov rax, qword ptr [-104+128+rsp]
390 mul qword ptr [-32+128+rsp]
391 add rcx, rax
392 adc r9, rdx
393 adc r8, 0
394 mov rax, qword ptr [-96+128+rsp]
395 mul qword ptr [-40+128+rsp]
396 add rcx, rax
397 adc r9, rdx
398 adc r8, 0
399 mov rax, qword ptr [-88+128+rsp]
400 mul qword ptr [-48+128+rsp]
401 add rcx, rax
402 adc r9, rdx
403 adc r8, 0
404 mov rbp, r9
405 mov r12, r8
406 mov rax, qword ptr [-80+128+rsp]
407 mul qword ptr [-56+128+rsp]
408 add rcx, rax
409 adc rbp, rdx
410 adc r12, 0
411 mov qword ptr [40+r11], rcx
412 mov r9, r12
413 mov r8, rbp
414 mov rcx, r10
415 mov rax, qword ptr [-120+128+rsp]
416 mul qword ptr [-8+128+rsp]
417 add r8, rax
418 adc r9, rdx
419 adc rcx, 0
420 mov rax, qword ptr [-112+128+rsp]
421 mul qword ptr [-16+128+rsp]
422 add r8, rax
423 adc r9, rdx
424 adc rcx, 0
425 mov rax, qword ptr [-104+128+rsp]
426 mul qword ptr [-24+128+rsp]
427 add r8, rax
428 adc r9, rdx
429 adc rcx, 0
430 mov rax, qword ptr [-96+128+rsp]
431 mul qword ptr [-32+128+rsp]
432 add r8, rax
433 adc r9, rdx
434 adc rcx, 0
435 mov rax, qword ptr [-88+128+rsp]
436 mul qword ptr [-40+128+rsp]
437 add r8, rax
438 adc r9, rdx
439 adc rcx, 0
440 mov rax, qword ptr [-80+128+rsp]
441 mul qword ptr [-48+128+rsp]
442 add r8, rax
443 adc r9, rdx
444 adc rcx, 0
445 mov rbp, r9
446 mov r12, rcx
447 mov rax, qword ptr [-72+128+rsp]
448 mul qword ptr [-56+128+rsp]
449 add r8, rax
450 adc rbp, rdx
451 adc r12, 0
452 mov qword ptr [48+r11], r8
453 mov r9, r12
454 mov rcx, rbp
455 mov r8, r10
456 mov rax, qword ptr [-120+128+rsp]
457 mul qword ptr [128+rsp]
458 add rcx, rax
459 adc r9, rdx
460 adc r8, 0
461 mov rax, qword ptr [-112+128+rsp]
462 mul qword ptr [-8+128+rsp]
463 add rcx, rax
464 adc r9, rdx
465 adc r8, 0
466 mov rax, qword ptr [-104+128+rsp]
467 mul qword ptr [-16+128+rsp]
468 add rcx, rax
469 adc r9, rdx
470 adc r8, 0
471 mov rax, qword ptr [-96+128+rsp]
472 mul qword ptr [-24+128+rsp]
473 add rcx, rax
474 adc r9, rdx
475 adc r8, 0
476 mov rax, qword ptr [-88+128+rsp]
477 mul qword ptr [-32+128+rsp]
478 add rcx, rax
479 adc r9, rdx
480 adc r8, 0
481 mov rax, qword ptr [-80+128+rsp]
482 mul qword ptr [-40+128+rsp]
483 add rcx, rax
484 adc r9, rdx
485 adc r8, 0
486 mov rax, qword ptr [-72+128+rsp]
487 mul qword ptr [-48+128+rsp]
488 add rcx, rax
489 adc r9, rdx
490 adc r8, 0
491 mov rbp, r9
492 mov r12, r8
493 mov rax, qword ptr [-64+128+rsp]
494 mul qword ptr [-56+128+rsp]
495 add rcx, rax
496 adc rbp, rdx
497 adc r12, 0
498 mov qword ptr [56+r11], rcx
499 mov r9, r12
500 mov r8, rbp
501 mov rcx, r10
502 mov rax, qword ptr [-112+128+rsp]
503 mul qword ptr [128+rsp]
504 add r8, rax
505 adc r9, rdx
506 adc rcx, 0
507 mov rax, qword ptr [-104+128+rsp]
508 mul qword ptr [-8+128+rsp]
509 add r8, rax
510 adc r9, rdx
511 adc rcx, 0
512 mov rax, qword ptr [-96+128+rsp]
513 mul qword ptr [-16+128+rsp]
514 add r8, rax
515 adc r9, rdx
516 adc rcx, 0
517 mov rax, qword ptr [-88+128+rsp]
518 mul qword ptr [-24+128+rsp]
519 add r8, rax
520 adc r9, rdx
521 adc rcx, 0
522 mov rax, qword ptr [-80+128+rsp]
523 mul qword ptr [-32+128+rsp]
524 add r8, rax
525 adc r9, rdx
526 adc rcx, 0
527 mov rax, qword ptr [-72+128+rsp]
528 mul qword ptr [-40+128+rsp]
529 add r8, rax
530 adc r9, rdx
531 adc rcx, 0
532 mov rbp, r9
533 mov r12, rcx
534 mov rax, qword ptr [-64+128+rsp]
535 mul qword ptr [-48+128+rsp]
536 add r8, rax
537 adc rbp, rdx
538 adc r12, 0
539 mov qword ptr [64+r11], r8
540 mov r9, r12
541 mov rcx, rbp
542 mov r8, r10
543 mov rax, qword ptr [-104+128+rsp]
544 mul qword ptr [128+rsp]
545 add rcx, rax
546 adc r9, rdx
547 adc r8, 0
548 mov rax, qword ptr [-96+128+rsp]
549 mul qword ptr [-8+128+rsp]
550 add rcx, rax
551 adc r9, rdx
552 adc r8, 0
553 mov rax, qword ptr [-88+128+rsp]
554 mul qword ptr [-16+128+rsp]
555 add rcx, rax
556 adc r9, rdx
557 adc r8, 0
558 mov rax, qword ptr [-80+128+rsp]
559 mul qword ptr [-24+128+rsp]
560 add rcx, rax
561 adc r9, rdx
562 adc r8, 0
563 mov rax, qword ptr [-72+128+rsp]
564 mul qword ptr [-32+128+rsp]
565 add rcx, rax
566 adc r9, rdx
567 adc r8, 0
568 mov rbp, r9
569 mov r12, r8
570 mov rax, qword ptr [-64+128+rsp]
571 mul qword ptr [-40+128+rsp]
572 add rcx, rax
573 adc rbp, rdx
574 adc r12, 0
575 mov qword ptr [72+r11], rcx
576 mov r9, r12
577 mov r8, rbp
578 mov rcx, r10
579 mov rax, qword ptr [-96+128+rsp]
580 mul qword ptr [128+rsp]
581 add r8, rax
582 adc r9, rdx
583 adc rcx, 0
584 mov rax, qword ptr [-88+128+rsp]
585 mul qword ptr [-8+128+rsp]
586 add r8, rax
587 adc r9, rdx
588 adc rcx, 0
589 mov rax, qword ptr [-80+128+rsp]
590 mul qword ptr [-16+128+rsp]
591 add r8, rax
592 adc r9, rdx
593 adc rcx, 0
594 mov rax, qword ptr [-72+128+rsp]
595 mul qword ptr [-24+128+rsp]
596 add r8, rax
597 adc r9, rdx
598 adc rcx, 0
599 mov rbp, r9
600 mov r12, rcx
601 mov rax, qword ptr [-64+128+rsp]
602 mul qword ptr [-32+128+rsp]
603 add r8, rax
604 adc rbp, rdx
605 adc r12, 0
606 mov qword ptr [80+r11], r8
607 mov r9, r12
608 mov rcx, rbp
609 mov r8, r10
610 mov rax, qword ptr [-88+128+rsp]
611 mul qword ptr [128+rsp]
612 add rcx, rax
613 adc r9, rdx
614 adc r8, 0
615 mov rax, qword ptr [-80+128+rsp]
616 mul qword ptr [-8+128+rsp]
617 add rcx, rax
618 adc r9, rdx
619 adc r8, 0
620 mov rax, qword ptr [-72+128+rsp]
621 mul qword ptr [-16+128+rsp]
622 add rcx, rax
623 adc r9, rdx
624 adc r8, 0
625 mov rbp, r9
626 mov r12, r8
627 mov rax, qword ptr [-64+128+rsp]
628 mul qword ptr [-24+128+rsp]
629 add rcx, rax
630 adc rbp, rdx
631 adc r12, 0
632 mov qword ptr [88+r11], rcx
633 mov r9, r12
634 mov r8, rbp
635 mov rcx, r10
636 mov rax, qword ptr [-80+128+rsp]
637 mul qword ptr [128+rsp]
638 add r8, rax
639 adc r9, rdx
640 adc rcx, 0
641 mov rax, qword ptr [-72+128+rsp]
642 mul qword ptr [-8+128+rsp]
643 add r8, rax
644 adc r9, rdx
645 adc rcx, 0
646 mov rbp, r9
647 mov r12, rcx
648 mov rax, qword ptr [-64+128+rsp]
649 mul qword ptr [-16+128+rsp]
650 add r8, rax
651 adc rbp, rdx
652 adc r12, 0
653 mov qword ptr [96+r11], r8
654 mov r9, r12
655 mov rcx, rbp
656 mov r8, r10
657 mov rax, qword ptr [-72+128+rsp]
658 mul qword ptr [128+rsp]
659 add rcx, rax
660 adc r9, rdx
661 adc r8, 0
662 mov r12, r8
663 mov rbp, r9
664 mov rax, qword ptr [-64+128+rsp]
665 mul qword ptr [-8+128+rsp]
666 add rcx, rax
667 adc rbp, rdx
668 adc r12, 0
669 mov qword ptr [104+r11], rcx
670 mov r8, rbp
671 mov rcx, r12
672 mov rax, qword ptr [-64+128+rsp]
673 mul qword ptr [128+rsp]
674 add r8, rax
675 adc rcx, rdx
676 adc r10, 0
677 mov qword ptr [112+r11], r8
678 mov esi, dword ptr [rsi]
679 xor esi, dword ptr [rdi]
680 test rcx, rcx
681 mov qword ptr [120+r11], rcx
682 mov dword ptr [8+rbx], 16
683 jne L35
684 ALIGN 16
685 L43:
686 mov edx, dword ptr [8+rbx]
687 lea edi, dword ptr [-1+rdx]
688 test edi, edi
689 mov dword ptr [8+rbx], edi
690 je L35
691 lea eax, dword ptr [-2+rdx]
692 cmp dword ptr [r11+rax*8], 0
693 je L43
694 L35:
695 mov r11d, dword ptr [8+rbx]
696 xor edx, edx
697 test r11d, r11d
698 cmovne edx, esi
699 mov dword ptr [rbx], edx
700 add rsp, 8+128
701 pop rbx
702 pop rbp
703 pop r12
704
705 pop rsi
706 pop rdi
707
708 ret
709
710 s_mp_mul_comba_8 ENDP
711
712
713 ; void s_mp_mul_comba_16(const mp_int *A, const mp_int *B, mp_int *C);
714
715 ALIGN 16
716 s_mp_mul_comba_16 PROC
717
718 push rdi
719 push rsi
720
721 mov rdi, rcx
722 mov rsi, rdx
723 mov rdx, r8
724
725 push r12
726 push rbp
727 push rbx
728 mov rbx, rdx
729 sub rsp, 136+128
730 mov rax, qword ptr [16+rdi]
731 mov r8, qword ptr [rax]
732 mov qword ptr [-120+128+rsp], r8
733 mov rbp, qword ptr [8+rax]
734 mov qword ptr [-112+128+rsp], rbp
735 mov r9, qword ptr [16+rax]
736 mov qword ptr [-104+128+rsp], r9
737 mov r12, qword ptr [24+rax]
738 mov qword ptr [-96+128+rsp], r12
739 mov rcx, qword ptr [32+rax]
740 mov qword ptr [-88+128+rsp], rcx
741 mov r10, qword ptr [40+rax]
742 mov qword ptr [-80+128+rsp], r10
743 mov rdx, qword ptr [48+rax]
744 mov qword ptr [-72+128+rsp], rdx
745 mov r11, qword ptr [56+rax]
746 mov qword ptr [-64+128+rsp], r11
747 mov r8, qword ptr [64+rax]
748 mov qword ptr [-56+128+rsp], r8
749 mov rbp, qword ptr [72+rax]
750 mov qword ptr [-48+128+rsp], rbp
751 mov r9, qword ptr [80+rax]
752 mov qword ptr [-40+128+rsp], r9
753 mov r12, qword ptr [88+rax]
754 mov qword ptr [-32+128+rsp], r12
755 mov rcx, qword ptr [96+rax]
756 mov qword ptr [-24+128+rsp], rcx
757 mov r10, qword ptr [104+rax]
758 mov qword ptr [-16+128+rsp], r10
759 mov rdx, qword ptr [112+rax]
760 mov qword ptr [-8+128+rsp], rdx
761 mov r11, qword ptr [120+rax]
762 mov qword ptr [128+rsp], r11
763 mov r11, qword ptr [16+rsi]
764 mov r8, qword ptr [r11]
765 mov qword ptr [8+128+rsp], r8
766 mov rbp, qword ptr [8+r11]
767 mov qword ptr [16+128+rsp], rbp
768 mov r9, qword ptr [16+r11]
769 mov qword ptr [24+128+rsp], r9
770 mov r12, qword ptr [24+r11]
771 mov qword ptr [32+128+rsp], r12
772 mov rcx, qword ptr [32+r11]
773 mov qword ptr [40+128+rsp], rcx
774 mov r10, qword ptr [40+r11]
775 mov qword ptr [48+128+rsp], r10
776 mov rdx, qword ptr [48+r11]
777 mov qword ptr [56+128+rsp], rdx
778 mov rax, qword ptr [56+r11]
779 mov qword ptr [64+128+rsp], rax
780 mov r8, qword ptr [64+r11]
781 mov qword ptr [72+128+rsp], r8
782 mov rbp, qword ptr [72+r11]
783 mov qword ptr [80+128+rsp], rbp
784 mov r9, qword ptr [80+r11]
785 mov qword ptr [88+128+rsp], r9
786 mov r12, qword ptr [88+r11]
787 mov qword ptr [96+128+rsp], r12
788 mov rcx, qword ptr [96+r11]
789 mov qword ptr [104+128+rsp], rcx
790 mov r10, qword ptr [104+r11]
791 mov qword ptr [112+128+rsp], r10
792 mov rdx, qword ptr [112+r11]
793 xor r10d, r10d
794 mov r8, r10
795 mov r9, r10
796 mov rbp, r10
797 mov qword ptr [120+128+rsp], rdx
798 mov rax, qword ptr [120+r11]
799 mov qword ptr [128+128+rsp], rax
800 mov r11, qword ptr [16+rbx]
801 mov rax, qword ptr [-120+128+rsp]
802 mul qword ptr [8+128+rsp]
803 add r8, rax
804 adc r9, rdx
805 adc rbp, 0
806 mov qword ptr [r11], r8
807 mov r8, rbp
808 mov rbp, r10
809 mov rax, qword ptr [-120+128+rsp]
810 mul qword ptr [16+128+rsp]
811 add r9, rax
812 adc r8, rdx
813 adc rbp, 0
814 mov r12, rbp
815 mov rax, qword ptr [-112+128+rsp]
816 mul qword ptr [8+128+rsp]
817 add r9, rax
818 adc r8, rdx
819 adc r12, 0
820 mov qword ptr [8+r11], r9
821 mov r9, r12
822 mov r12, r10
823 mov rax, qword ptr [-120+128+rsp]
824 mul qword ptr [24+128+rsp]
825 add r8, rax
826 adc r9, rdx
827 adc r12, 0
828 mov rcx, r12
829 mov rax, qword ptr [-112+128+rsp]
830 mul qword ptr [16+128+rsp]
831 add r8, rax
832 adc r9, rdx
833 adc rcx, 0
834 mov rbp, r9
835 mov r12, rcx
836 mov rax, qword ptr [-104+128+rsp]
837 mul qword ptr [8+128+rsp]
838 add r8, rax
839 adc rbp, rdx
840 adc r12, 0
841 mov qword ptr [16+r11], r8
842 mov r9, r12
843 mov rcx, rbp
844 mov r8, r10
845 mov rax, qword ptr [-120+128+rsp]
846 mul qword ptr [32+128+rsp]
847 add rcx, rax
848 adc r9, rdx
849 adc r8, 0
850 mov rax, qword ptr [-112+128+rsp]
851 mul qword ptr [24+128+rsp]
852 add rcx, rax
853 adc r9, rdx
854 adc r8, 0
855 mov rax, qword ptr [-104+128+rsp]
856 mul qword ptr [16+128+rsp]
857 add rcx, rax
858 adc r9, rdx
859 adc r8, 0
860 mov rbp, r9
861 mov r12, r8
862 mov rax, qword ptr [-96+128+rsp]
863 mul qword ptr [8+128+rsp]
864 add rcx, rax
865 adc rbp, rdx
866 adc r12, 0
867 mov qword ptr [24+r11], rcx
868 mov r9, r12
869 mov r8, rbp
870 mov rcx, r10
871 mov rax, qword ptr [-120+128+rsp]
872 mul qword ptr [40+128+rsp]
873 add r8, rax
874 adc r9, rdx
875 adc rcx, 0
876 mov rax, qword ptr [-112+128+rsp]
877 mul qword ptr [32+128+rsp]
878 add r8, rax
879 adc r9, rdx
880 adc rcx, 0
881 mov rax, qword ptr [-104+128+rsp]
882 mul qword ptr [24+128+rsp]
883 add r8, rax
884 adc r9, rdx
885 adc rcx, 0
886 mov rax, qword ptr [-96+128+rsp]
887 mul qword ptr [16+128+rsp]
888 add r8, rax
889 adc r9, rdx
890 adc rcx, 0
891 mov rbp, r9
892 mov r12, rcx
893 mov rax, qword ptr [-88+128+rsp]
894 mul qword ptr [8+128+rsp]
895 add r8, rax
896 adc rbp, rdx
897 adc r12, 0
898 mov qword ptr [32+r11], r8
899 mov r9, r12
900 mov rcx, rbp
901 mov r8, r10
902 mov rax, qword ptr [-120+128+rsp]
903 mul qword ptr [48+128+rsp]
904 add rcx, rax
905 adc r9, rdx
906 adc r8, 0
907 mov rax, qword ptr [-112+128+rsp]
908 mul qword ptr [40+128+rsp]
909 add rcx, rax
910 adc r9, rdx
911 adc r8, 0
912 mov rax, qword ptr [-104+128+rsp]
913 mul qword ptr [32+128+rsp]
914 add rcx, rax
915 adc r9, rdx
916 adc r8, 0
917 mov rax, qword ptr [-96+128+rsp]
918 mul qword ptr [24+128+rsp]
919 add rcx, rax
920 adc r9, rdx
921 adc r8, 0
922 mov rax, qword ptr [-88+128+rsp]
923 mul qword ptr [16+128+rsp]
924 add rcx, rax
925 adc r9, rdx
926 adc r8, 0
927 mov rbp, r9
928 mov r12, r8
929 mov rax, qword ptr [-80+128+rsp]
930 mul qword ptr [8+128+rsp]
931 add rcx, rax
932 adc rbp, rdx
933 adc r12, 0
934 mov qword ptr [40+r11], rcx
935 mov r9, r12
936 mov r8, rbp
937 mov rcx, r10
938 mov rax, qword ptr [-120+128+rsp]
939 mul qword ptr [56+128+rsp]
940 add r8, rax
941 adc r9, rdx
942 adc rcx, 0
943 mov rax, qword ptr [-112+128+rsp]
944 mul qword ptr [48+128+rsp]
945 add r8, rax
946 adc r9, rdx
947 adc rcx, 0
948 mov rax, qword ptr [-104+128+rsp]
949 mul qword ptr [40+128+rsp]
950 add r8, rax
951 adc r9, rdx
952 adc rcx, 0
953 mov rax, qword ptr [-96+128+rsp]
954 mul qword ptr [32+128+rsp]
955 add r8, rax
956 adc r9, rdx
957 adc rcx, 0
958 mov rax, qword ptr [-88+128+rsp]
959 mul qword ptr [24+128+rsp]
960 add r8, rax
961 adc r9, rdx
962 adc rcx, 0
963 mov rax, qword ptr [-80+128+rsp]
964 mul qword ptr [16+128+rsp]
965 add r8, rax
966 adc r9, rdx
967 adc rcx, 0
968 mov rbp, r9
969 mov r12, rcx
970 mov rax, qword ptr [-72+128+rsp]
971 mul qword ptr [8+128+rsp]
972 add r8, rax
973 adc rbp, rdx
974 adc r12, 0
975 mov qword ptr [48+r11], r8
976 mov r9, r12
977 mov rcx, rbp
978 mov r8, r10
979 mov rax, qword ptr [-120+128+rsp]
980 mul qword ptr [64+128+rsp]
981 add rcx, rax
982 adc r9, rdx
983 adc r8, 0
984 mov rax, qword ptr [-112+128+rsp]
985 mul qword ptr [56+128+rsp]
986 add rcx, rax
987 adc r9, rdx
988 adc r8, 0
989 mov rax, qword ptr [-104+128+rsp]
990 mul qword ptr [48+128+rsp]
991 add rcx, rax
992 adc r9, rdx
993 adc r8, 0
994 mov rax, qword ptr [-96+128+rsp]
995 mul qword ptr [40+128+rsp]
996 add rcx, rax
997 adc r9, rdx
998 adc r8, 0
999 mov rax, qword ptr [-88+128+rsp]
1000 mul qword ptr [32+128+rsp]
1001 add rcx, rax
1002 adc r9, rdx
1003 adc r8, 0
1004 mov rax, qword ptr [-80+128+rsp]
1005 mul qword ptr [24+128+rsp]
1006 add rcx, rax
1007 adc r9, rdx
1008 adc r8, 0
1009 mov rax, qword ptr [-72+128+rsp]
1010 mul qword ptr [16+128+rsp]
1011 add rcx, rax
1012 adc r9, rdx
1013 adc r8, 0
1014 mov rbp, r9
1015 mov r12, r8
1016 mov rax, qword ptr [-64+128+rsp]
1017 mul qword ptr [8+128+rsp]
1018 add rcx, rax
1019 adc rbp, rdx
1020 adc r12, 0
1021 mov qword ptr [56+r11], rcx
1022 mov r9, r12
1023 mov r8, rbp
1024 mov rcx, r10
1025 mov rax, qword ptr [-120+128+rsp]
1026 mul qword ptr [72+128+rsp]
1027 add r8, rax
1028 adc r9, rdx
1029 adc rcx, 0
1030 mov rax, qword ptr [-112+128+rsp]
1031 mul qword ptr [64+128+rsp]
1032 add r8, rax
1033 adc r9, rdx
1034 adc rcx, 0
1035 mov rax, qword ptr [-104+128+rsp]
1036 mul qword ptr [56+128+rsp]
1037 add r8, rax
1038 adc r9, rdx
1039 adc rcx, 0
1040 mov rax, qword ptr [-96+128+rsp]
1041 mul qword ptr [48+128+rsp]
1042 add r8, rax
1043 adc r9, rdx
1044 adc rcx, 0
1045 mov rax, qword ptr [-88+128+rsp]
1046 mul qword ptr [40+128+rsp]
1047 add r8, rax
1048 adc r9, rdx
1049 adc rcx, 0
1050 mov rax, qword ptr [-80+128+rsp]
1051 mul qword ptr [32+128+rsp]
1052 add r8, rax
1053 adc r9, rdx
1054 adc rcx, 0
1055 mov rax, qword ptr [-72+128+rsp]
1056 mul qword ptr [24+128+rsp]
1057 add r8, rax
1058 adc r9, rdx
1059 adc rcx, 0
1060 mov rax, qword ptr [-64+128+rsp]
1061 mul qword ptr [16+128+rsp]
1062 add r8, rax
1063 adc r9, rdx
1064 adc rcx, 0
1065 mov rbp, r9
1066 mov r12, rcx
1067 mov rax, qword ptr [-56+128+rsp]
1068 mul qword ptr [8+128+rsp]
1069 add r8, rax
1070 adc rbp, rdx
1071 adc r12, 0
1072 mov qword ptr [64+r11], r8
1073 mov r9, r12
1074 mov rcx, rbp
1075 mov r8, r10
1076 mov rax, qword ptr [-120+128+rsp]
1077 mul qword ptr [80+128+rsp]
1078 add rcx, rax
1079 adc r9, rdx
1080 adc r8, 0
1081 mov rax, qword ptr [-112+128+rsp]
1082 mul qword ptr [72+128+rsp]
1083 add rcx, rax
1084 adc r9, rdx
1085 adc r8, 0
1086 mov rax, qword ptr [-104+128+rsp]
1087 mul qword ptr [64+128+rsp]
1088 add rcx, rax
1089 adc r9, rdx
1090 adc r8, 0
1091 mov rax, qword ptr [-96+128+rsp]
1092 mul qword ptr [56+128+rsp]
1093 add rcx, rax
1094 adc r9, rdx
1095 adc r8, 0
1096 mov rax, qword ptr [-88+128+rsp]
1097 mul qword ptr [48+128+rsp]
1098 add rcx, rax
1099 adc r9, rdx
1100 adc r8, 0
1101 mov rax, qword ptr [-80+128+rsp]
1102 mul qword ptr [40+128+rsp]
1103 add rcx, rax
1104 adc r9, rdx
1105 adc r8, 0
1106 mov rax, qword ptr [-72+128+rsp]
1107 mul qword ptr [32+128+rsp]
1108 add rcx, rax
1109 adc r9, rdx
1110 adc r8, 0
1111 mov rax, qword ptr [-64+128+rsp]
1112 mul qword ptr [24+128+rsp]
1113 add rcx, rax
1114 adc r9, rdx
1115 adc r8, 0
1116 mov rax, qword ptr [-56+128+rsp]
1117 mul qword ptr [16+128+rsp]
1118 add rcx, rax
1119 adc r9, rdx
1120 adc r8, 0
1121 mov rbp, r9
1122 mov r12, r8
1123 mov rax, qword ptr [-48+128+rsp]
1124 mul qword ptr [8+128+rsp]
1125 add rcx, rax
1126 adc rbp, rdx
1127 adc r12, 0
1128 mov qword ptr [72+r11], rcx
1129 mov r9, r12
1130 mov r8, rbp
1131 mov rcx, r10
1132 mov rax, qword ptr [-120+128+rsp]
1133 mul qword ptr [88+128+rsp]
1134 add r8, rax
1135 adc r9, rdx
1136 adc rcx, 0
1137 mov rax, qword ptr [-112+128+rsp]
1138 mul qword ptr [80+128+rsp]
1139 add r8, rax
1140 adc r9, rdx
1141 adc rcx, 0
1142 mov rax, qword ptr [-104+128+rsp]
1143 mul qword ptr [72+128+rsp]
1144 add r8, rax
1145 adc r9, rdx
1146 adc rcx, 0
1147 mov rax, qword ptr [-96+128+rsp]
1148 mul qword ptr [64+128+rsp]
1149 add r8, rax
1150 adc r9, rdx
1151 adc rcx, 0
1152 mov rax, qword ptr [-88+128+rsp]
1153 mul qword ptr [56+128+rsp]
1154 add r8, rax
1155 adc r9, rdx
1156 adc rcx, 0
1157 mov rax, qword ptr [-80+128+rsp]
1158 mul qword ptr [48+128+rsp]
1159 add r8, rax
1160 adc r9, rdx
1161 adc rcx, 0
1162 mov rax, qword ptr [-72+128+rsp]
1163 mul qword ptr [40+128+rsp]
1164 add r8, rax
1165 adc r9, rdx
1166 adc rcx, 0
1167 mov rax, qword ptr [-64+128+rsp]
1168 mul qword ptr [32+128+rsp]
1169 add r8, rax
1170 adc r9, rdx
1171 adc rcx, 0
1172 mov rax, qword ptr [-56+128+rsp]
1173 mul qword ptr [24+128+rsp]
1174 add r8, rax
1175 adc r9, rdx
1176 adc rcx, 0
1177 mov rax, qword ptr [-48+128+rsp]
1178 mul qword ptr [16+128+rsp]
1179 add r8, rax
1180 adc r9, rdx
1181 adc rcx, 0
1182 mov rbp, r9
1183 mov r12, rcx
1184 mov rax, qword ptr [-40+128+rsp]
1185 mul qword ptr [8+128+rsp]
1186 add r8, rax
1187 adc rbp, rdx
1188 adc r12, 0
1189 mov qword ptr [80+r11], r8
1190 mov r9, r12
1191 mov rcx, rbp
1192 mov r8, r10
1193 mov rax, qword ptr [-120+128+rsp]
1194 mul qword ptr [96+128+rsp]
1195 add rcx, rax
1196 adc r9, rdx
1197 adc r8, 0
1198 mov rax, qword ptr [-112+128+rsp]
1199 mul qword ptr [88+128+rsp]
1200 add rcx, rax
1201 adc r9, rdx
1202 adc r8, 0
1203 mov rax, qword ptr [-104+128+rsp]
1204 mul qword ptr [80+128+rsp]
1205 add rcx, rax
1206 adc r9, rdx
1207 adc r8, 0
1208 mov rax, qword ptr [-96+128+rsp]
1209 mul qword ptr [72+128+rsp]
1210 add rcx, rax
1211 adc r9, rdx
1212 adc r8, 0
1213 mov rax, qword ptr [-88+128+rsp]
1214 mul qword ptr [64+128+rsp]
1215 add rcx, rax
1216 adc r9, rdx
1217 adc r8, 0
1218 mov rax, qword ptr [-80+128+rsp]
1219 mul qword ptr [56+128+rsp]
1220 add rcx, rax
1221 adc r9, rdx
1222 adc r8, 0
1223 mov rax, qword ptr [-72+128+rsp]
1224 mul qword ptr [48+128+rsp]
1225 add rcx, rax
1226 adc r9, rdx
1227 adc r8, 0
1228 mov rax, qword ptr [-64+128+rsp]
1229 mul qword ptr [40+128+rsp]
1230 add rcx, rax
1231 adc r9, rdx
1232 adc r8, 0
1233 mov rax, qword ptr [-56+128+rsp]
1234 mul qword ptr [32+128+rsp]
1235 add rcx, rax
1236 adc r9, rdx
1237 adc r8, 0
1238 mov rax, qword ptr [-48+128+rsp]
1239 mul qword ptr [24+128+rsp]
1240 add rcx, rax
1241 adc r9, rdx
1242 adc r8, 0
1243 mov rax, qword ptr [-40+128+rsp]
1244 mul qword ptr [16+128+rsp]
1245 add rcx, rax
1246 adc r9, rdx
1247 adc r8, 0
1248 mov rbp, r9
1249 mov r12, r8
1250 mov rax, qword ptr [-32+128+rsp]
1251 mul qword ptr [8+128+rsp]
1252 add rcx, rax
1253 adc rbp, rdx
1254 adc r12, 0
1255 mov qword ptr [88+r11], rcx
1256 mov r9, r12
1257 mov r8, rbp
1258 mov rcx, r10
1259 mov rax, qword ptr [-120+128+rsp]
1260 mul qword ptr [104+128+rsp]
1261 add r8, rax
1262 adc r9, rdx
1263 adc rcx, 0
1264 mov rax, qword ptr [-112+128+rsp]
1265 mul qword ptr [96+128+rsp]
1266 add r8, rax
1267 adc r9, rdx
1268 adc rcx, 0
1269 mov rax, qword ptr [-104+128+rsp]
1270 mul qword ptr [88+128+rsp]
1271 add r8, rax
1272 adc r9, rdx
1273 adc rcx, 0
1274 mov rax, qword ptr [-96+128+rsp]
1275 mul qword ptr [80+128+rsp]
1276 add r8, rax
1277 adc r9, rdx
1278 adc rcx, 0
1279 mov rax, qword ptr [-88+128+rsp]
1280 mul qword ptr [72+128+rsp]
1281 add r8, rax
1282 adc r9, rdx
1283 adc rcx, 0
1284 mov rax, qword ptr [-80+128+rsp]
1285 mul qword ptr [64+128+rsp]
1286 add r8, rax
1287 adc r9, rdx
1288 adc rcx, 0
1289 mov rax, qword ptr [-72+128+rsp]
1290 mul qword ptr [56+128+rsp]
1291 add r8, rax
1292 adc r9, rdx
1293 adc rcx, 0
1294 mov rax, qword ptr [-64+128+rsp]
1295 mul qword ptr [48+128+rsp]
1296 add r8, rax
1297 adc r9, rdx
1298 adc rcx, 0
1299 mov rax, qword ptr [-56+128+rsp]
1300 mul qword ptr [40+128+rsp]
1301 add r8, rax
1302 adc r9, rdx
1303 adc rcx, 0
1304 mov rax, qword ptr [-48+128+rsp]
1305 mul qword ptr [32+128+rsp]
1306 add r8, rax
1307 adc r9, rdx
1308 adc rcx, 0
1309 mov rax, qword ptr [-40+128+rsp]
1310 mul qword ptr [24+128+rsp]
1311 add r8, rax
1312 adc r9, rdx
1313 adc rcx, 0
1314 mov rax, qword ptr [-32+128+rsp]
1315 mul qword ptr [16+128+rsp]
1316 add r8, rax
1317 adc r9, rdx
1318 adc rcx, 0
1319 mov rbp, r9
1320 mov r12, rcx
1321 mov rax, qword ptr [-24+128+rsp]
1322 mul qword ptr [8+128+rsp]
1323 add r8, rax
1324 adc rbp, rdx
1325 adc r12, 0
1326 mov qword ptr [96+r11], r8
1327 mov r9, r12
1328 mov rcx, rbp
1329 mov r8, r10
1330 mov rax, qword ptr [-120+128+rsp]
1331 mul qword ptr [112+128+rsp]
1332 add rcx, rax
1333 adc r9, rdx
1334 adc r8, 0
1335 mov rax, qword ptr [-112+128+rsp]
1336 mul qword ptr [104+128+rsp]
1337 add rcx, rax
1338 adc r9, rdx
1339 adc r8, 0
1340 mov rax, qword ptr [-104+128+rsp]
1341 mul qword ptr [96+128+rsp]
1342 add rcx, rax
1343 adc r9, rdx
1344 adc r8, 0
1345 mov rax, qword ptr [-96+128+rsp]
1346 mul qword ptr [88+128+rsp]
1347 add rcx, rax
1348 adc r9, rdx
1349 adc r8, 0
1350 mov rax, qword ptr [-88+128+rsp]
1351 mul qword ptr [80+128+rsp]
1352 add rcx, rax
1353 adc r9, rdx
1354 adc r8, 0
1355 mov rax, qword ptr [-80+128+rsp]
1356 mul qword ptr [72+128+rsp]
1357 add rcx, rax
1358 adc r9, rdx
1359 adc r8, 0
1360 mov rax, qword ptr [-72+128+rsp]
1361 mul qword ptr [64+128+rsp]
1362 add rcx, rax
1363 adc r9, rdx
1364 adc r8, 0
1365 mov rax, qword ptr [-64+128+rsp]
1366 mul qword ptr [56+128+rsp]
1367 add rcx, rax
1368 adc r9, rdx
1369 adc r8, 0
1370 mov rax, qword ptr [-56+128+rsp]
1371 mul qword ptr [48+128+rsp]
1372 add rcx, rax
1373 adc r9, rdx
1374 adc r8, 0
1375 mov rax, qword ptr [-48+128+rsp]
1376 mul qword ptr [40+128+rsp]
1377 add rcx, rax
1378 adc r9, rdx
1379 adc r8, 0
1380 mov rax, qword ptr [-40+128+rsp]
1381 mul qword ptr [32+128+rsp]
1382 add rcx, rax
1383 adc r9, rdx
1384 adc r8, 0
1385 mov rax, qword ptr [-32+128+rsp]
1386 mul qword ptr [24+128+rsp]
1387 add rcx, rax
1388 adc r9, rdx
1389 adc r8, 0
1390 mov rax, qword ptr [-24+128+rsp]
1391 mul qword ptr [16+128+rsp]
1392 add rcx, rax
1393 adc r9, rdx
1394 adc r8, 0
1395 mov rbp, r9
1396 mov r12, r8
1397 mov rax, qword ptr [-16+128+rsp]
1398 mul qword ptr [8+128+rsp]
1399 add rcx, rax
1400 adc rbp, rdx
1401 adc r12, 0
1402 mov qword ptr [104+r11], rcx
1403 mov r9, r12
1404 mov r8, rbp
1405 mov rcx, r10
1406 mov rax, qword ptr [-120+128+rsp]
1407 mul qword ptr [120+128+rsp]
1408 add r8, rax
1409 adc r9, rdx
1410 adc rcx, 0
1411 mov rax, qword ptr [-112+128+rsp]
1412 mul qword ptr [112+128+rsp]
1413 add r8, rax
1414 adc r9, rdx
1415 adc rcx, 0
1416 mov rax, qword ptr [-104+128+rsp]
1417 mul qword ptr [104+128+rsp]
1418 add r8, rax
1419 adc r9, rdx
1420 adc rcx, 0
1421 mov rax, qword ptr [-96+128+rsp]
1422 mul qword ptr [96+128+rsp]
1423 add r8, rax
1424 adc r9, rdx
1425 adc rcx, 0
1426 mov rax, qword ptr [-88+128+rsp]
1427 mul qword ptr [88+128+rsp]
1428 add r8, rax
1429 adc r9, rdx
1430 adc rcx, 0
1431 mov rax, qword ptr [-80+128+rsp]
1432 mul qword ptr [80+128+rsp]
1433 add r8, rax
1434 adc r9, rdx
1435 adc rcx, 0
1436 mov rax, qword ptr [-72+128+rsp]
1437 mul qword ptr [72+128+rsp]
1438 add r8, rax
1439 adc r9, rdx
1440 adc rcx, 0
1441 mov rax, qword ptr [-64+128+rsp]
1442 mul qword ptr [64+128+rsp]
1443 add r8, rax
1444 adc r9, rdx
1445 adc rcx, 0
1446 mov rax, qword ptr [-56+128+rsp]
1447 mul qword ptr [56+128+rsp]
1448 add r8, rax
1449 adc r9, rdx
1450 adc rcx, 0
1451 mov rax, qword ptr [-48+128+rsp]
1452 mul qword ptr [48+128+rsp]
1453 add r8, rax
1454 adc r9, rdx
1455 adc rcx, 0
1456 mov rax, qword ptr [-40+128+rsp]
1457 mul qword ptr [40+128+rsp]
1458 add r8, rax
1459 adc r9, rdx
1460 adc rcx, 0
1461 mov rax, qword ptr [-32+128+rsp]
1462 mul qword ptr [32+128+rsp]
1463 add r8, rax
1464 adc r9, rdx
1465 adc rcx, 0
1466 mov rax, qword ptr [-24+128+rsp]
1467 mul qword ptr [24+128+rsp]
1468 add r8, rax
1469 adc r9, rdx
1470 adc rcx, 0
1471 mov rax, qword ptr [-16+128+rsp]
1472 mul qword ptr [16+128+rsp]
1473 add r8, rax
1474 adc r9, rdx
1475 adc rcx, 0
1476 mov rbp, r9
1477 mov r12, rcx
1478 mov rax, qword ptr [-8+128+rsp]
1479 mul qword ptr [8+128+rsp]
1480 add r8, rax
1481 adc rbp, rdx
1482 adc r12, 0
1483 mov qword ptr [112+r11], r8
1484 mov r9, r12
1485 mov rcx, rbp
1486 mov r8, r10
1487 mov rax, qword ptr [-120+128+rsp]
1488 mul qword ptr [128+128+rsp]
1489 add rcx, rax
1490 adc r9, rdx
1491 adc r8, 0
1492 mov rax, qword ptr [-112+128+rsp]
1493 mul qword ptr [120+128+rsp]
1494 add rcx, rax
1495 adc r9, rdx
1496 adc r8, 0
1497 mov rax, qword ptr [-104+128+rsp]
1498 mul qword ptr [112+128+rsp]
1499 add rcx, rax
1500 adc r9, rdx
1501 adc r8, 0
1502 mov rax, qword ptr [-96+128+rsp]
1503 mul qword ptr [104+128+rsp]
1504 add rcx, rax
1505 adc r9, rdx
1506 adc r8, 0
1507 mov rax, qword ptr [-88+128+rsp]
1508 mul qword ptr [96+128+rsp]
1509 add rcx, rax
1510 adc r9, rdx
1511 adc r8, 0
1512 mov rax, qword ptr [-80+128+rsp]
1513 mul qword ptr [88+128+rsp]
1514 add rcx, rax
1515 adc r9, rdx
1516 adc r8, 0
1517 mov rax, qword ptr [-72+128+rsp]
1518 mul qword ptr [80+128+rsp]
1519 add rcx, rax
1520 adc r9, rdx
1521 adc r8, 0
1522 mov rax, qword ptr [-64+128+rsp]
1523 mul qword ptr [72+128+rsp]
1524 add rcx, rax
1525 adc r9, rdx
1526 adc r8, 0
1527 mov rax, qword ptr [-56+128+rsp]
1528 mul qword ptr [64+128+rsp]
1529 add rcx, rax
1530 adc r9, rdx
1531 adc r8, 0
1532 mov rax, qword ptr [-48+128+rsp]
1533 mul qword ptr [56+128+rsp]
1534 add rcx, rax
1535 adc r9, rdx
1536 adc r8, 0
1537 mov rax, qword ptr [-40+128+rsp]
1538 mul qword ptr [48+128+rsp]
1539 add rcx, rax
1540 adc r9, rdx
1541 adc r8, 0
1542 mov rax, qword ptr [-32+128+rsp]
1543 mul qword ptr [40+128+rsp]
1544 add rcx, rax
1545 adc r9, rdx
1546 adc r8, 0
1547 mov rax, qword ptr [-24+128+rsp]
1548 mul qword ptr [32+128+rsp]
1549 add rcx, rax
1550 adc r9, rdx
1551 adc r8, 0
1552 mov rax, qword ptr [-16+128+rsp]
1553 mul qword ptr [24+128+rsp]
1554 add rcx, rax
1555 adc r9, rdx
1556 adc r8, 0
1557 mov rax, qword ptr [-8+128+rsp]
1558 mul qword ptr [16+128+rsp]
1559 add rcx, rax
1560 adc r9, rdx
1561 adc r8, 0
1562 mov rbp, r9
1563 mov r12, r8
1564 mov rax, qword ptr [128+rsp]
1565 mul qword ptr [8+128+rsp]
1566 add rcx, rax
1567 adc rbp, rdx
1568 adc r12, 0
1569 mov qword ptr [120+r11], rcx
1570 mov r9, r12
1571 mov r8, rbp
1572 mov rcx, r10
1573 mov rax, qword ptr [-112+128+rsp]
1574 mul qword ptr [128+128+rsp]
1575 add r8, rax
1576 adc r9, rdx
1577 adc rcx, 0
1578 mov rax, qword ptr [-104+128+rsp]
1579 mul qword ptr [120+128+rsp]
1580 add r8, rax
1581 adc r9, rdx
1582 adc rcx, 0
1583 mov rax, qword ptr [-96+128+rsp]
1584 mul qword ptr [112+128+rsp]
1585 add r8, rax
1586 adc r9, rdx
1587 adc rcx, 0
1588 mov rax, qword ptr [-88+128+rsp]
1589 mul qword ptr [104+128+rsp]
1590 add r8, rax
1591 adc r9, rdx
1592 adc rcx, 0
1593 mov rax, qword ptr [-80+128+rsp]
1594 mul qword ptr [96+128+rsp]
1595 add r8, rax
1596 adc r9, rdx
1597 adc rcx, 0
1598 mov rax, qword ptr [-72+128+rsp]
1599 mul qword ptr [88+128+rsp]
1600 add r8, rax
1601 adc r9, rdx
1602 adc rcx, 0
1603 mov rax, qword ptr [-64+128+rsp]
1604 mul qword ptr [80+128+rsp]
1605 add r8, rax
1606 adc r9, rdx
1607 adc rcx, 0
1608 mov rax, qword ptr [-56+128+rsp]
1609 mul qword ptr [72+128+rsp]
1610 add r8, rax
1611 adc r9, rdx
1612 adc rcx, 0
1613 mov rax, qword ptr [-48+128+rsp]
1614 mul qword ptr [64+128+rsp]
1615 add r8, rax
1616 adc r9, rdx
1617 adc rcx, 0
1618 mov rax, qword ptr [-40+128+rsp]
1619 mul qword ptr [56+128+rsp]
1620 add r8, rax
1621 adc r9, rdx
1622 adc rcx, 0
1623 mov rax, qword ptr [-32+128+rsp]
1624 mul qword ptr [48+128+rsp]
1625 add r8, rax
1626 adc r9, rdx
1627 adc rcx, 0
1628 mov rax, qword ptr [-24+128+rsp]
1629 mul qword ptr [40+128+rsp]
1630 add r8, rax
1631 adc r9, rdx
1632 adc rcx, 0
1633 mov rax, qword ptr [-16+128+rsp]
1634 mul qword ptr [32+128+rsp]
1635 add r8, rax
1636 adc r9, rdx
1637 adc rcx, 0
1638 mov rax, qword ptr [-8+128+rsp]
1639 mul qword ptr [24+128+rsp]
1640 add r8, rax
1641 adc r9, rdx
1642 adc rcx, 0
1643 mov rbp, r9
1644 mov r12, rcx
1645 mov rax, qword ptr [128+rsp]
1646 mul qword ptr [16+128+rsp]
1647 add r8, rax
1648 adc rbp, rdx
1649 adc r12, 0
1650 mov qword ptr [128+r11], r8
1651 mov r9, r12
1652 mov rcx, rbp
1653 mov r8, r10
1654 mov rax, qword ptr [-104+128+rsp]
1655 mul qword ptr [128+128+rsp]
1656 add rcx, rax
1657 adc r9, rdx
1658 adc r8, 0
1659 mov rax, qword ptr [-96+128+rsp]
1660 mul qword ptr [120+128+rsp]
1661 add rcx, rax
1662 adc r9, rdx
1663 adc r8, 0
1664 mov rax, qword ptr [-88+128+rsp]
1665 mul qword ptr [112+128+rsp]
1666 add rcx, rax
1667 adc r9, rdx
1668 adc r8, 0
1669 mov rax, qword ptr [-80+128+rsp]
1670 mul qword ptr [104+128+rsp]
1671 add rcx, rax
1672 adc r9, rdx
1673 adc r8, 0
1674 mov rax, qword ptr [-72+128+rsp]
1675 mul qword ptr [96+128+rsp]
1676 add rcx, rax
1677 adc r9, rdx
1678 adc r8, 0
1679 mov rax, qword ptr [-64+128+rsp]
1680 mul qword ptr [88+128+rsp]
1681 add rcx, rax
1682 adc r9, rdx
1683 adc r8, 0
1684 mov rax, qword ptr [-56+128+rsp]
1685 mul qword ptr [80+128+rsp]
1686 add rcx, rax
1687 adc r9, rdx
1688 adc r8, 0
1689 mov rax, qword ptr [-48+128+rsp]
1690 mul qword ptr [72+128+rsp]
1691 add rcx, rax
1692 adc r9, rdx
1693 adc r8, 0
1694 mov rax, qword ptr [-40+128+rsp]
1695 mul qword ptr [64+128+rsp]
1696 add rcx, rax
1697 adc r9, rdx
1698 adc r8, 0
1699 mov rax, qword ptr [-32+128+rsp]
1700 mul qword ptr [56+128+rsp]
1701 add rcx, rax
1702 adc r9, rdx
1703 adc r8, 0
1704 mov rax, qword ptr [-24+128+rsp]
1705 mul qword ptr [48+128+rsp]
1706 add rcx, rax
1707 adc r9, rdx
1708 adc r8, 0
1709 mov rax, qword ptr [-16+128+rsp]
1710 mul qword ptr [40+128+rsp]
1711 add rcx, rax
1712 adc r9, rdx
1713 adc r8, 0
1714 mov rax, qword ptr [-8+128+rsp]
1715 mul qword ptr [32+128+rsp]
1716 add rcx, rax
1717 adc r9, rdx
1718 adc r8, 0
1719 mov rbp, r9
1720 mov r12, r8
1721 mov rax, qword ptr [128+rsp]
1722 mul qword ptr [24+128+rsp]
1723 add rcx, rax
1724 adc rbp, rdx
1725 adc r12, 0
1726 mov qword ptr [136+r11], rcx
1727 mov r9, r12
1728 mov r8, rbp
1729 mov rcx, r10
1730 mov rax, qword ptr [-96+128+rsp]
1731 mul qword ptr [128+128+rsp]
1732 add r8, rax
1733 adc r9, rdx
1734 adc rcx, 0
1735 mov rax, qword ptr [-88+128+rsp]
1736 mul qword ptr [120+128+rsp]
1737 add r8, rax
1738 adc r9, rdx
1739 adc rcx, 0
1740 mov rax, qword ptr [-80+128+rsp]
1741 mul qword ptr [112+128+rsp]
1742 add r8, rax
1743 adc r9, rdx
1744 adc rcx, 0
1745 mov rax, qword ptr [-72+128+rsp]
1746 mul qword ptr [104+128+rsp]
1747 add r8, rax
1748 adc r9, rdx
1749 adc rcx, 0
1750 mov rax, qword ptr [-64+128+rsp]
1751 mul qword ptr [96+128+rsp]
1752 add r8, rax
1753 adc r9, rdx
1754 adc rcx, 0
1755 mov rax, qword ptr [-56+128+rsp]
1756 mul qword ptr [88+128+rsp]
1757 add r8, rax
1758 adc r9, rdx
1759 adc rcx, 0
1760 mov rax, qword ptr [-48+128+rsp]
1761 mul qword ptr [80+128+rsp]
1762 add r8, rax
1763 adc r9, rdx
1764 adc rcx, 0
1765 mov rax, qword ptr [-40+128+rsp]
1766 mul qword ptr [72+128+rsp]
1767 add r8, rax
1768 adc r9, rdx
1769 adc rcx, 0
1770 mov rax, qword ptr [-32+128+rsp]
1771 mul qword ptr [64+128+rsp]
1772 add r8, rax
1773 adc r9, rdx
1774 adc rcx, 0
1775 mov rax, qword ptr [-24+128+rsp]
1776 mul qword ptr [56+128+rsp]
1777 add r8, rax
1778 adc r9, rdx
1779 adc rcx, 0
1780 mov rax, qword ptr [-16+128+rsp]
1781 mul qword ptr [48+128+rsp]
1782 add r8, rax
1783 adc r9, rdx
1784 adc rcx, 0
1785 mov rax, qword ptr [-8+128+rsp]
1786 mul qword ptr [40+128+rsp]
1787 add r8, rax
1788 adc r9, rdx
1789 adc rcx, 0
1790 mov rbp, r9
1791 mov r12, rcx
1792 mov rax, qword ptr [128+rsp]
1793 mul qword ptr [32+128+rsp]
1794 add r8, rax
1795 adc rbp, rdx
1796 adc r12, 0
1797 mov qword ptr [144+r11], r8
1798 mov r9, r12
1799 mov rcx, rbp
1800 mov r8, r10
1801 mov rax, qword ptr [-88+128+rsp]
1802 mul qword ptr [128+128+rsp]
1803 add rcx, rax
1804 adc r9, rdx
1805 adc r8, 0
1806 mov rax, qword ptr [-80+128+rsp]
1807 mul qword ptr [120+128+rsp]
1808 add rcx, rax
1809 adc r9, rdx
1810 adc r8, 0
1811 mov rax, qword ptr [-72+128+rsp]
1812 mul qword ptr [112+128+rsp]
1813 add rcx, rax
1814 adc r9, rdx
1815 adc r8, 0
1816 mov rax, qword ptr [-64+128+rsp]
1817 mul qword ptr [104+128+rsp]
1818 add rcx, rax
1819 adc r9, rdx
1820 adc r8, 0
1821 mov rax, qword ptr [-56+128+rsp]
1822 mul qword ptr [96+128+rsp]
1823 add rcx, rax
1824 adc r9, rdx
1825 adc r8, 0
1826 mov rax, qword ptr [-48+128+rsp]
1827 mul qword ptr [88+128+rsp]
1828 add rcx, rax
1829 adc r9, rdx
1830 adc r8, 0
1831 mov rax, qword ptr [-40+128+rsp]
1832 mul qword ptr [80+128+rsp]
1833 add rcx, rax
1834 adc r9, rdx
1835 adc r8, 0
1836 mov rax, qword ptr [-32+128+rsp]
1837 mul qword ptr [72+128+rsp]
1838 add rcx, rax
1839 adc r9, rdx
1840 adc r8, 0
1841 mov rax, qword ptr [-24+128+rsp]
1842 mul qword ptr [64+128+rsp]
1843 add rcx, rax
1844 adc r9, rdx
1845 adc r8, 0
1846 mov rax, qword ptr [-16+128+rsp]
1847 mul qword ptr [56+128+rsp]
1848 add rcx, rax
1849 adc r9, rdx
1850 adc r8, 0
1851 mov rax, qword ptr [-8+128+rsp]
1852 mul qword ptr [48+128+rsp]
1853 add rcx, rax
1854 adc r9, rdx
1855 adc r8, 0
1856 mov rbp, r9
1857 mov r12, r8
1858 mov rax, qword ptr [128+rsp]
1859 mul qword ptr [40+128+rsp]
1860 add rcx, rax
1861 adc rbp, rdx
1862 adc r12, 0
1863 mov qword ptr [152+r11], rcx
1864 mov r9, r12
1865 mov r8, rbp
1866 mov rcx, r10
1867 mov rax, qword ptr [-80+128+rsp]
1868 mul qword ptr [128+128+rsp]
1869 add r8, rax
1870 adc r9, rdx
1871 adc rcx, 0
1872 mov rax, qword ptr [-72+128+rsp]
1873 mul qword ptr [120+128+rsp]
1874 add r8, rax
1875 adc r9, rdx
1876 adc rcx, 0
1877 mov rax, qword ptr [-64+128+rsp]
1878 mul qword ptr [112+128+rsp]
1879 add r8, rax
1880 adc r9, rdx
1881 adc rcx, 0
1882 mov rax, qword ptr [-56+128+rsp]
1883 mul qword ptr [104+128+rsp]
1884 add r8, rax
1885 adc r9, rdx
1886 adc rcx, 0
1887 mov rax, qword ptr [-48+128+rsp]
1888 mul qword ptr [96+128+rsp]
1889 add r8, rax
1890 adc r9, rdx
1891 adc rcx, 0
1892 mov rax, qword ptr [-40+128+rsp]
1893 mul qword ptr [88+128+rsp]
1894 add r8, rax
1895 adc r9, rdx
1896 adc rcx, 0
1897 mov rax, qword ptr [-32+128+rsp]
1898 mul qword ptr [80+128+rsp]
1899 add r8, rax
1900 adc r9, rdx
1901 adc rcx, 0
1902 mov rax, qword ptr [-24+128+rsp]
1903 mul qword ptr [72+128+rsp]
1904 add r8, rax
1905 adc r9, rdx
1906 adc rcx, 0
1907 mov rax, qword ptr [-16+128+rsp]
1908 mul qword ptr [64+128+rsp]
1909 add r8, rax
1910 adc r9, rdx
1911 adc rcx, 0
1912 mov rax, qword ptr [-8+128+rsp]
1913 mul qword ptr [56+128+rsp]
1914 add r8, rax
1915 adc r9, rdx
1916 adc rcx, 0
1917 mov rbp, r9
1918 mov r12, rcx
1919 mov rax, qword ptr [128+rsp]
1920 mul qword ptr [48+128+rsp]
1921 add r8, rax
1922 adc rbp, rdx
1923 adc r12, 0
1924 mov qword ptr [160+r11], r8
1925 mov r9, r12
1926 mov rcx, rbp
1927 mov r8, r10
1928 mov rax, qword ptr [-72+128+rsp]
1929 mul qword ptr [128+128+rsp]
1930 add rcx, rax
1931 adc r9, rdx
1932 adc r8, 0
1933 mov rax, qword ptr [-64+128+rsp]
1934 mul qword ptr [120+128+rsp]
1935 add rcx, rax
1936 adc r9, rdx
1937 adc r8, 0
1938 mov rax, qword ptr [-56+128+rsp]
1939 mul qword ptr [112+128+rsp]
1940 add rcx, rax
1941 adc r9, rdx
1942 adc r8, 0
1943 mov rax, qword ptr [-48+128+rsp]
1944 mul qword ptr [104+128+rsp]
1945 add rcx, rax
1946 adc r9, rdx
1947 adc r8, 0
1948 mov rax, qword ptr [-40+128+rsp]
1949 mul qword ptr [96+128+rsp]
1950 add rcx, rax
1951 adc r9, rdx
1952 adc r8, 0
1953 mov rax, qword ptr [-32+128+rsp]
1954 mul qword ptr [88+128+rsp]
1955 add rcx, rax
1956 adc r9, rdx
1957 adc r8, 0
1958 mov rax, qword ptr [-24+128+rsp]
1959 mul qword ptr [80+128+rsp]
1960 add rcx, rax
1961 adc r9, rdx
1962 adc r8, 0
1963 mov rax, qword ptr [-16+128+rsp]
1964 mul qword ptr [72+128+rsp]
1965 add rcx, rax
1966 adc r9, rdx
1967 adc r8, 0
1968 mov rax, qword ptr [-8+128+rsp]
1969 mul qword ptr [64+128+rsp]
1970 add rcx, rax
1971 adc r9, rdx
1972 adc r8, 0
1973 mov rbp, r9
1974 mov r12, r8
1975 mov rax, qword ptr [128+rsp]
1976 mul qword ptr [56+128+rsp]
1977 add rcx, rax
1978 adc rbp, rdx
1979 adc r12, 0
1980 mov qword ptr [168+r11], rcx
1981 mov r9, r12
1982 mov r8, rbp
1983 mov rcx, r10
1984 mov rax, qword ptr [-64+128+rsp]
1985 mul qword ptr [128+128+rsp]
1986 add r8, rax
1987 adc r9, rdx
1988 adc rcx, 0
1989 mov rax, qword ptr [-56+128+rsp]
1990 mul qword ptr [120+128+rsp]
1991 add r8, rax
1992 adc r9, rdx
1993 adc rcx, 0
1994 mov rax, qword ptr [-48+128+rsp]
1995 mul qword ptr [112+128+rsp]
1996 add r8, rax
1997 adc r9, rdx
1998 adc rcx, 0
1999 mov rax, qword ptr [-40+128+rsp]
2000 mul qword ptr [104+128+rsp]
2001 add r8, rax
2002 adc r9, rdx
2003 adc rcx, 0
2004 mov rax, qword ptr [-32+128+rsp]
2005 mul qword ptr [96+128+rsp]
2006 add r8, rax
2007 adc r9, rdx
2008 adc rcx, 0
2009 mov rax, qword ptr [-24+128+rsp]
2010 mul qword ptr [88+128+rsp]
2011 add r8, rax
2012 adc r9, rdx
2013 adc rcx, 0
2014 mov rax, qword ptr [-16+128+rsp]
2015 mul qword ptr [80+128+rsp]
2016 add r8, rax
2017 adc r9, rdx
2018 adc rcx, 0
2019 mov rax, qword ptr [-8+128+rsp]
2020 mul qword ptr [72+128+rsp]
2021 add r8, rax
2022 adc r9, rdx
2023 adc rcx, 0
2024 mov rbp, r9
2025 mov r12, rcx
2026 mov rax, qword ptr [128+rsp]
2027 mul qword ptr [64+128+rsp]
2028 add r8, rax
2029 adc rbp, rdx
2030 adc r12, 0
2031 mov qword ptr [176+r11], r8
2032 mov r9, r12
2033 mov rcx, rbp
2034 mov r8, r10
2035 mov rax, qword ptr [-56+128+rsp]
2036 mul qword ptr [128+128+rsp]
2037 add rcx, rax
2038 adc r9, rdx
2039 adc r8, 0
2040 mov rax, qword ptr [-48+128+rsp]
2041 mul qword ptr [120+128+rsp]
2042 add rcx, rax
2043 adc r9, rdx
2044 adc r8, 0
2045 mov rax, qword ptr [-40+128+rsp]
2046 mul qword ptr [112+128+rsp]
2047 add rcx, rax
2048 adc r9, rdx
2049 adc r8, 0
2050 mov rax, qword ptr [-32+128+rsp]
2051 mul qword ptr [104+128+rsp]
2052 add rcx, rax
2053 adc r9, rdx
2054 adc r8, 0
2055 mov rax, qword ptr [-24+128+rsp]
2056 mul qword ptr [96+128+rsp]
2057 add rcx, rax
2058 adc r9, rdx
2059 adc r8, 0
2060 mov rax, qword ptr [-16+128+rsp]
2061 mul qword ptr [88+128+rsp]
2062 add rcx, rax
2063 adc r9, rdx
2064 adc r8, 0
2065 mov rax, qword ptr [-8+128+rsp]
2066 mul qword ptr [80+128+rsp]
2067 add rcx, rax
2068 adc r9, rdx
2069 adc r8, 0
2070 mov rbp, r9
2071 mov r12, r8
2072 mov rax, qword ptr [128+rsp]
2073 mul qword ptr [72+128+rsp]
2074 add rcx, rax
2075 adc rbp, rdx
2076 adc r12, 0
2077 mov qword ptr [184+r11], rcx
2078 mov r9, r12
2079 mov r8, rbp
2080 mov rcx, r10
2081 mov rax, qword ptr [-48+128+rsp]
2082 mul qword ptr [128+128+rsp]
2083 add r8, rax
2084 adc r9, rdx
2085 adc rcx, 0
2086 mov rax, qword ptr [-40+128+rsp]
2087 mul qword ptr [120+128+rsp]
2088 add r8, rax
2089 adc r9, rdx
2090 adc rcx, 0
2091 mov rax, qword ptr [-32+128+rsp]
2092 mul qword ptr [112+128+rsp]
2093 add r8, rax
2094 adc r9, rdx
2095 adc rcx, 0
2096 mov rax, qword ptr [-24+128+rsp]
2097 mul qword ptr [104+128+rsp]
2098 add r8, rax
2099 adc r9, rdx
2100 adc rcx, 0
2101 mov rax, qword ptr [-16+128+rsp]
2102 mul qword ptr [96+128+rsp]
2103 add r8, rax
2104 adc r9, rdx
2105 adc rcx, 0
2106 mov rax, qword ptr [-8+128+rsp]
2107 mul qword ptr [88+128+rsp]
2108 add r8, rax
2109 adc r9, rdx
2110 adc rcx, 0
2111 mov rbp, r9
2112 mov r12, rcx
2113 mov rax, qword ptr [128+rsp]
2114 mul qword ptr [80+128+rsp]
2115 add r8, rax
2116 adc rbp, rdx
2117 adc r12, 0
2118 mov qword ptr [192+r11], r8
2119 mov r9, r12
2120 mov rcx, rbp
2121 mov r8, r10
2122 mov rax, qword ptr [-40+128+rsp]
2123 mul qword ptr [128+128+rsp]
2124 add rcx, rax
2125 adc r9, rdx
2126 adc r8, 0
2127 mov rax, qword ptr [-32+128+rsp]
2128 mul qword ptr [120+128+rsp]
2129 add rcx, rax
2130 adc r9, rdx
2131 adc r8, 0
2132 mov rax, qword ptr [-24+128+rsp]
2133 mul qword ptr [112+128+rsp]
2134 add rcx, rax
2135 adc r9, rdx
2136 adc r8, 0
2137 mov rax, qword ptr [-16+128+rsp]
2138 mul qword ptr [104+128+rsp]
2139 add rcx, rax
2140 adc r9, rdx
2141 adc r8, 0
2142 mov rax, qword ptr [-8+128+rsp]
2143 mul qword ptr [96+128+rsp]
2144 add rcx, rax
2145 adc r9, rdx
2146 adc r8, 0
2147 mov rbp, r9
2148 mov r12, r8
2149 mov rax, qword ptr [128+rsp]
2150 mul qword ptr [88+128+rsp]
2151 add rcx, rax
2152 adc rbp, rdx
2153 adc r12, 0
2154 mov qword ptr [200+r11], rcx
2155 mov r9, r12
2156 mov r8, rbp
2157 mov rcx, r10
2158 mov rax, qword ptr [-32+128+rsp]
2159 mul qword ptr [128+128+rsp]
2160 add r8, rax
2161 adc r9, rdx
2162 adc rcx, 0
2163 mov rax, qword ptr [-24+128+rsp]
2164 mul qword ptr [120+128+rsp]
2165 add r8, rax
2166 adc r9, rdx
2167 adc rcx, 0
2168 mov rax, qword ptr [-16+128+rsp]
2169 mul qword ptr [112+128+rsp]
2170 add r8, rax
2171 adc r9, rdx
2172 adc rcx, 0
2173 mov rax, qword ptr [-8+128+rsp]
2174 mul qword ptr [104+128+rsp]
2175 add r8, rax
2176 adc r9, rdx
2177 adc rcx, 0
2178 mov rbp, r9
2179 mov r12, rcx
2180 mov rax, qword ptr [128+rsp]
2181 mul qword ptr [96+128+rsp]
2182 add r8, rax
2183 adc rbp, rdx
2184 adc r12, 0
2185 mov qword ptr [208+r11], r8
2186 mov r9, r12
2187 mov rcx, rbp
2188 mov r8, r10
2189 mov rax, qword ptr [-24+128+rsp]
2190 mul qword ptr [128+128+rsp]
2191 add rcx, rax
2192 adc r9, rdx
2193 adc r8, 0
2194 mov rax, qword ptr [-16+128+rsp]
2195 mul qword ptr [120+128+rsp]
2196 add rcx, rax
2197 adc r9, rdx
2198 adc r8, 0
2199 mov rax, qword ptr [-8+128+rsp]
2200 mul qword ptr [112+128+rsp]
2201 add rcx, rax
2202 adc r9, rdx
2203 adc r8, 0
2204 mov rbp, r9
2205 mov r12, r8
2206 mov rax, qword ptr [128+rsp]
2207 mul qword ptr [104+128+rsp]
2208 add rcx, rax
2209 adc rbp, rdx
2210 adc r12, 0
2211 mov qword ptr [216+r11], rcx
2212 mov r9, r12
2213 mov r8, rbp
2214 mov rcx, r10
2215 mov rax, qword ptr [-16+128+rsp]
2216 mul qword ptr [128+128+rsp]
2217 add r8, rax
2218 adc r9, rdx
2219 adc rcx, 0
2220 mov rax, qword ptr [-8+128+rsp]
2221 mul qword ptr [120+128+rsp]
2222 add r8, rax
2223 adc r9, rdx
2224 adc rcx, 0
2225 mov rbp, r9
2226 mov r12, rcx
2227 mov rax, qword ptr [128+rsp]
2228 mul qword ptr [112+128+rsp]
2229 add r8, rax
2230 adc rbp, rdx
2231 adc r12, 0
2232 mov qword ptr [224+r11], r8
2233 mov r9, r12
2234 mov rcx, rbp
2235 mov r8, r10
2236 mov rax, qword ptr [-8+128+rsp]
2237 mul qword ptr [128+128+rsp]
2238 add rcx, rax
2239 adc r9, rdx
2240 adc r8, 0
2241 mov r12, r8
2242 mov rbp, r9
2243 mov rax, qword ptr [128+rsp]
2244 mul qword ptr [120+128+rsp]
2245 add rcx, rax
2246 adc rbp, rdx
2247 adc r12, 0
2248 mov qword ptr [232+r11], rcx
2249 mov r8, rbp
2250 mov rcx, r12
2251 mov rax, qword ptr [128+rsp]
2252 mul qword ptr [128+128+rsp]
2253 add r8, rax
2254 adc rcx, rdx
2255 adc r10, 0
2256 mov qword ptr [240+r11], r8
2257 mov esi, dword ptr [rsi]
2258 xor esi, dword ptr [rdi]
2259 test rcx, rcx
2260 mov qword ptr [248+r11], rcx
2261 mov dword ptr [8+rbx], 32
2262 jne L76
2263 ALIGN 16
2264 L84:
2265 mov edx, dword ptr [8+rbx]
2266 lea edi, dword ptr [-1+rdx]
2267 test edi, edi
2268 mov dword ptr [8+rbx], edi
2269 je L76
2270 lea eax, dword ptr [-2+rdx]
2271 cmp dword ptr [r11+rax*8], 0
2272 je L84
2273 L76:
2274 mov edx, dword ptr [8+rbx]
2275 xor r11d, r11d
2276 test edx, edx
2277 cmovne r11d, esi
2278 mov dword ptr [rbx], r11d
2279 add rsp, 136+128
2280 pop rbx
2281 pop rbp
2282 pop r12
2283
2284 pop rsi
2285 pop rdi
2286
2287 ret
2288
2289 s_mp_mul_comba_16 ENDP
2290
2291 ; void s_mp_mul_comba_32(const mp_int *A, const mp_int *B, mp_int *C)
2292
2293
2294 ALIGN 16
2295 s_mp_mul_comba_32 PROC ; a "FRAME" function
2296
2297 push rdi
2298 push rsi
2299
2300 mov rdi, rcx
2301 mov rsi, rdx
2302 mov rdx, r8
2303
2304 push rbp
2305 mov rbp, rsp
2306 push r13
2307 mov r13, rdx
2308 ; mov edx, 256
2309 mov r8d, 256
2310 push r12
2311 mov r12, rsi
2312 push rbx
2313 mov rbx, rdi
2314 sub rsp, 520+32 ; +32 for "home" storage
2315 ; mov rsi, qword ptr [16+rdi]
2316 ; lea rdi, qword ptr [-544+rbp]
2317 mov rdx, qword ptr [16+rdi]
2318 lea rcx, qword ptr [-544+rbp]
2319 call memcpy
2320 ; mov rsi, qword ptr [16+r12]
2321 ; lea rdi, qword ptr [-288+rbp]
2322 ; mov edx, 256
2323 mov rdx, qword ptr [16+r12]
2324 lea rcx, qword ptr [-288+rbp]
2325 mov r8d, 256
2326 call memcpy
2327 mov r9, qword ptr [16+r13]
2328 xor r8d, r8d
2329 mov rsi, r8
2330 mov rdi, r8
2331 mov r10, r8
2332 mov rax, qword ptr [-544+rbp]
2333 mul qword ptr [-288+rbp]
2334 add rsi, rax
2335 adc rdi, rdx
2336 adc r10, 0
2337 mov qword ptr [r9], rsi
2338 mov rsi, r10
2339 mov r10, r8
2340 mov rax, qword ptr [-544+rbp]
2341 mul qword ptr [-280+rbp]
2342 add rdi, rax
2343 adc rsi, rdx
2344 adc r10, 0
2345 mov r11, r10
2346 mov rax, qword ptr [-536+rbp]
2347 mul qword ptr [-288+rbp]
2348 add rdi, rax
2349 adc rsi, rdx
2350 adc r11, 0
2351 mov qword ptr [8+r9], rdi
2352 mov rdi, r11
2353 mov r11, r8
2354 mov rax, qword ptr [-544+rbp]
2355 mul qword ptr [-272+rbp]
2356 add rsi, rax
2357 adc rdi, rdx
2358 adc r11, 0
2359 mov rcx, r11
2360 mov rax, qword ptr [-536+rbp]
2361 mul qword ptr [-280+rbp]
2362 add rsi, rax
2363 adc rdi, rdx
2364 adc rcx, 0
2365 mov r10, rdi
2366 mov r11, rcx
2367 mov rax, qword ptr [-528+rbp]
2368 mul qword ptr [-288+rbp]
2369 add rsi, rax
2370 adc r10, rdx
2371 adc r11, 0
2372 mov qword ptr [16+r9], rsi
2373 mov rdi, r11
2374 mov rcx, r10
2375 mov rsi, r8
2376 mov rax, qword ptr [-544+rbp]
2377 mul qword ptr [-264+rbp]
2378 add rcx, rax
2379 adc rdi, rdx
2380 adc rsi, 0
2381 mov rax, qword ptr [-536+rbp]
2382 mul qword ptr [-272+rbp]
2383 add rcx, rax
2384 adc rdi, rdx
2385 adc rsi, 0
2386 mov rax, qword ptr [-528+rbp]
2387 mul qword ptr [-280+rbp]
2388 add rcx, rax
2389 adc rdi, rdx
2390 adc rsi, 0
2391 mov r10, rdi
2392 mov r11, rsi
2393 mov rax, qword ptr [-520+rbp]
2394 mul qword ptr [-288+rbp]
2395 add rcx, rax
2396 adc r10, rdx
2397 adc r11, 0
2398 mov qword ptr [24+r9], rcx
2399 mov rdi, r11
2400 mov rsi, r10
2401 mov rcx, r8
2402 mov rax, qword ptr [-544+rbp]
2403 mul qword ptr [-256+rbp]
2404 add rsi, rax
2405 adc rdi, rdx
2406 adc rcx, 0
2407 mov rax, qword ptr [-536+rbp]
2408 mul qword ptr [-264+rbp]
2409 add rsi, rax
2410 adc rdi, rdx
2411 adc rcx, 0
2412 mov rax, qword ptr [-528+rbp]
2413 mul qword ptr [-272+rbp]
2414 add rsi, rax
2415 adc rdi, rdx
2416 adc rcx, 0
2417 mov rax, qword ptr [-520+rbp]
2418 mul qword ptr [-280+rbp]
2419 add rsi, rax
2420 adc rdi, rdx
2421 adc rcx, 0
2422 mov r10, rdi
2423 mov r11, rcx
2424 mov rax, qword ptr [-512+rbp]
2425 mul qword ptr [-288+rbp]
2426 add rsi, rax
2427 adc r10, rdx
2428 adc r11, 0
2429 mov qword ptr [32+r9], rsi
2430 mov rdi, r11
2431 mov rcx, r10
2432 mov rsi, r8
2433 mov rax, qword ptr [-544+rbp]
2434 mul qword ptr [-248+rbp]
2435 add rcx, rax
2436 adc rdi, rdx
2437 adc rsi, 0
2438 mov rax, qword ptr [-536+rbp]
2439 mul qword ptr [-256+rbp]
2440 add rcx, rax
2441 adc rdi, rdx
2442 adc rsi, 0
2443 mov rax, qword ptr [-528+rbp]
2444 mul qword ptr [-264+rbp]
2445 add rcx, rax
2446 adc rdi, rdx
2447 adc rsi, 0
2448 mov rax, qword ptr [-520+rbp]
2449 mul qword ptr [-272+rbp]
2450 add rcx, rax
2451 adc rdi, rdx
2452 adc rsi, 0
2453 mov rax, qword ptr [-512+rbp]
2454 mul qword ptr [-280+rbp]
2455 add rcx, rax
2456 adc rdi, rdx
2457 adc rsi, 0
2458 mov r10, rdi
2459 mov r11, rsi
2460 mov rax, qword ptr [-504+rbp]
2461 mul qword ptr [-288+rbp]
2462 add rcx, rax
2463 adc r10, rdx
2464 adc r11, 0
2465 mov qword ptr [40+r9], rcx
2466 mov rdi, r11
2467 mov rsi, r10
2468 mov rcx, r8
2469 mov rax, qword ptr [-544+rbp]
2470 mul qword ptr [-240+rbp]
2471 add rsi, rax
2472 adc rdi, rdx
2473 adc rcx, 0
2474 mov rax, qword ptr [-536+rbp]
2475 mul qword ptr [-248+rbp]
2476 add rsi, rax
2477 adc rdi, rdx
2478 adc rcx, 0
2479 mov rax, qword ptr [-528+rbp]
2480 mul qword ptr [-256+rbp]
2481 add rsi, rax
2482 adc rdi, rdx
2483 adc rcx, 0
2484 mov rax, qword ptr [-520+rbp]
2485 mul qword ptr [-264+rbp]
2486 add rsi, rax
2487 adc rdi, rdx
2488 adc rcx, 0
2489 mov rax, qword ptr [-512+rbp]
2490 mul qword ptr [-272+rbp]
2491 add rsi, rax
2492 adc rdi, rdx
2493 adc rcx, 0
2494 mov rax, qword ptr [-504+rbp]
2495 mul qword ptr [-280+rbp]
2496 add rsi, rax
2497 adc rdi, rdx
2498 adc rcx, 0
2499 mov r10, rdi
2500 mov r11, rcx
2501 mov rax, qword ptr [-496+rbp]
2502 mul qword ptr [-288+rbp]
2503 add rsi, rax
2504 adc r10, rdx
2505 adc r11, 0
2506 mov qword ptr [48+r9], rsi
2507 mov rdi, r11
2508 mov rcx, r10
2509 mov rsi, r8
2510 mov rax, qword ptr [-544+rbp]
2511 mul qword ptr [-232+rbp]
2512 add rcx, rax
2513 adc rdi, rdx
2514 adc rsi, 0
2515 mov rax, qword ptr [-536+rbp]
2516 mul qword ptr [-240+rbp]
2517 add rcx, rax
2518 adc rdi, rdx
2519 adc rsi, 0
2520 mov rax, qword ptr [-528+rbp]
2521 mul qword ptr [-248+rbp]
2522 add rcx, rax
2523 adc rdi, rdx
2524 adc rsi, 0
2525 mov rax, qword ptr [-520+rbp]
2526 mul qword ptr [-256+rbp]
2527 add rcx, rax
2528 adc rdi, rdx
2529 adc rsi, 0
2530 mov rax, qword ptr [-512+rbp]
2531 mul qword ptr [-264+rbp]
2532 add rcx, rax
2533 adc rdi, rdx
2534 adc rsi, 0
2535 mov rax, qword ptr [-504+rbp]
2536 mul qword ptr [-272+rbp]
2537 add rcx, rax
2538 adc rdi, rdx
2539 adc rsi, 0
2540 mov rax, qword ptr [-496+rbp]
2541 mul qword ptr [-280+rbp]
2542 add rcx, rax
2543 adc rdi, rdx
2544 adc rsi, 0
2545 mov r10, rdi
2546 mov r11, rsi
2547 mov rax, qword ptr [-488+rbp]
2548 mul qword ptr [-288+rbp]
2549 add rcx, rax
2550 adc r10, rdx
2551 adc r11, 0
2552 mov qword ptr [56+r9], rcx
2553 mov rdi, r11
2554 mov rsi, r10
2555 mov rcx, r8
2556 mov rax, qword ptr [-544+rbp]
2557 mul qword ptr [-224+rbp]
2558 add rsi, rax
2559 adc rdi, rdx
2560 adc rcx, 0
2561 mov rax, qword ptr [-536+rbp]
2562 mul qword ptr [-232+rbp]
2563 add rsi, rax
2564 adc rdi, rdx
2565 adc rcx, 0
2566 mov rax, qword ptr [-528+rbp]
2567 mul qword ptr [-240+rbp]
2568 add rsi, rax
2569 adc rdi, rdx
2570 adc rcx, 0
2571 mov rax, qword ptr [-520+rbp]
2572 mul qword ptr [-248+rbp]
2573 add rsi, rax
2574 adc rdi, rdx
2575 adc rcx, 0
2576 mov rax, qword ptr [-512+rbp]
2577 mul qword ptr [-256+rbp]
2578 add rsi, rax
2579 adc rdi, rdx
2580 adc rcx, 0
2581 mov rax, qword ptr [-504+rbp]
2582 mul qword ptr [-264+rbp]
2583 add rsi, rax
2584 adc rdi, rdx
2585 adc rcx, 0
2586 mov rax, qword ptr [-496+rbp]
2587 mul qword ptr [-272+rbp]
2588 add rsi, rax
2589 adc rdi, rdx
2590 adc rcx, 0
2591 mov rax, qword ptr [-488+rbp]
2592 mul qword ptr [-280+rbp]
2593 add rsi, rax
2594 adc rdi, rdx
2595 adc rcx, 0
2596 mov r10, rdi
2597 mov r11, rcx
2598 mov rax, qword ptr [-480+rbp]
2599 mul qword ptr [-288+rbp]
2600 add rsi, rax
2601 adc r10, rdx
2602 adc r11, 0
2603 mov qword ptr [64+r9], rsi
2604 mov rdi, r11
2605 mov rcx, r10
2606 mov rsi, r8
2607 mov rax, qword ptr [-544+rbp]
2608 mul qword ptr [-216+rbp]
2609 add rcx, rax
2610 adc rdi, rdx
2611 adc rsi, 0
2612 mov rax, qword ptr [-536+rbp]
2613 mul qword ptr [-224+rbp]
2614 add rcx, rax
2615 adc rdi, rdx
2616 adc rsi, 0
2617 mov rax, qword ptr [-528+rbp]
2618 mul qword ptr [-232+rbp]
2619 add rcx, rax
2620 adc rdi, rdx
2621 adc rsi, 0
2622 mov rax, qword ptr [-520+rbp]
2623 mul qword ptr [-240+rbp]
2624 add rcx, rax
2625 adc rdi, rdx
2626 adc rsi, 0
2627 mov rax, qword ptr [-512+rbp]
2628 mul qword ptr [-248+rbp]
2629 add rcx, rax
2630 adc rdi, rdx
2631 adc rsi, 0
2632 mov rax, qword ptr [-504+rbp]
2633 mul qword ptr [-256+rbp]
2634 add rcx, rax
2635 adc rdi, rdx
2636 adc rsi, 0
2637 mov rax, qword ptr [-496+rbp]
2638 mul qword ptr [-264+rbp]
2639 add rcx, rax
2640 adc rdi, rdx
2641 adc rsi, 0
2642 mov rax, qword ptr [-488+rbp]
2643 mul qword ptr [-272+rbp]
2644 add rcx, rax
2645 adc rdi, rdx
2646 adc rsi, 0
2647 mov rax, qword ptr [-480+rbp]
2648 mul qword ptr [-280+rbp]
2649 add rcx, rax
2650 adc rdi, rdx
2651 adc rsi, 0
2652 mov r10, rdi
2653 mov r11, rsi
2654 mov rax, qword ptr [-472+rbp]
2655 mul qword ptr [-288+rbp]
2656 add rcx, rax
2657 adc r10, rdx
2658 adc r11, 0
2659 mov qword ptr [72+r9], rcx
2660 mov rdi, r11
2661 mov rsi, r10
2662 mov rcx, r8
2663 mov rax, qword ptr [-544+rbp]
2664 mul qword ptr [-208+rbp]
2665 add rsi, rax
2666 adc rdi, rdx
2667 adc rcx, 0
2668 mov rax, qword ptr [-536+rbp]
2669 mul qword ptr [-216+rbp]
2670 add rsi, rax
2671 adc rdi, rdx
2672 adc rcx, 0
2673 mov rax, qword ptr [-528+rbp]
2674 mul qword ptr [-224+rbp]
2675 add rsi, rax
2676 adc rdi, rdx
2677 adc rcx, 0
2678 mov rax, qword ptr [-520+rbp]
2679 mul qword ptr [-232+rbp]
2680 add rsi, rax
2681 adc rdi, rdx
2682 adc rcx, 0
2683 mov rax, qword ptr [-512+rbp]
2684 mul qword ptr [-240+rbp]
2685 add rsi, rax
2686 adc rdi, rdx
2687 adc rcx, 0
2688 mov rax, qword ptr [-504+rbp]
2689 mul qword ptr [-248+rbp]
2690 add rsi, rax
2691 adc rdi, rdx
2692 adc rcx, 0
2693 mov rax, qword ptr [-496+rbp]
2694 mul qword ptr [-256+rbp]
2695 add rsi, rax
2696 adc rdi, rdx
2697 adc rcx, 0
2698 mov rax, qword ptr [-488+rbp]
2699 mul qword ptr [-264+rbp]
2700 add rsi, rax
2701 adc rdi, rdx
2702 adc rcx, 0
2703 mov rax, qword ptr [-480+rbp]
2704 mul qword ptr [-272+rbp]
2705 add rsi, rax
2706 adc rdi, rdx
2707 adc rcx, 0
2708 mov rax, qword ptr [-472+rbp]
2709 mul qword ptr [-280+rbp]
2710 add rsi, rax
2711 adc rdi, rdx
2712 adc rcx, 0
2713 mov r10, rdi
2714 mov r11, rcx
2715 mov rax, qword ptr [-464+rbp]
2716 mul qword ptr [-288+rbp]
2717 add rsi, rax
2718 adc r10, rdx
2719 adc r11, 0
2720 mov qword ptr [80+r9], rsi
2721 mov rdi, r11
2722 mov rcx, r10
2723 mov rsi, r8
2724 mov rax, qword ptr [-544+rbp]
2725 mul qword ptr [-200+rbp]
2726 add rcx, rax
2727 adc rdi, rdx
2728 adc rsi, 0
2729 mov rax, qword ptr [-536+rbp]
2730 mul qword ptr [-208+rbp]
2731 add rcx, rax
2732 adc rdi, rdx
2733 adc rsi, 0
2734 mov rax, qword ptr [-528+rbp]
2735 mul qword ptr [-216+rbp]
2736 add rcx, rax
2737 adc rdi, rdx
2738 adc rsi, 0
2739 mov rax, qword ptr [-520+rbp]
2740 mul qword ptr [-224+rbp]
2741 add rcx, rax
2742 adc rdi, rdx
2743 adc rsi, 0
2744 mov rax, qword ptr [-512+rbp]
2745 mul qword ptr [-232+rbp]
2746 add rcx, rax
2747 adc rdi, rdx
2748 adc rsi, 0
2749 mov rax, qword ptr [-504+rbp]
2750 mul qword ptr [-240+rbp]
2751 add rcx, rax
2752 adc rdi, rdx
2753 adc rsi, 0
2754 mov rax, qword ptr [-496+rbp]
2755 mul qword ptr [-248+rbp]
2756 add rcx, rax
2757 adc rdi, rdx
2758 adc rsi, 0
2759 mov rax, qword ptr [-488+rbp]
2760 mul qword ptr [-256+rbp]
2761 add rcx, rax
2762 adc rdi, rdx
2763 adc rsi, 0
2764 mov rax, qword ptr [-480+rbp]
2765 mul qword ptr [-264+rbp]
2766 add rcx, rax
2767 adc rdi, rdx
2768 adc rsi, 0
2769 mov rax, qword ptr [-472+rbp]
2770 mul qword ptr [-272+rbp]
2771 add rcx, rax
2772 adc rdi, rdx
2773 adc rsi, 0
2774 mov rax, qword ptr [-464+rbp]
2775 mul qword ptr [-280+rbp]
2776 add rcx, rax
2777 adc rdi, rdx
2778 adc rsi, 0
2779 mov r10, rdi
2780 mov r11, rsi
2781 mov rax, qword ptr [-456+rbp]
2782 mul qword ptr [-288+rbp]
2783 add rcx, rax
2784 adc r10, rdx
2785 adc r11, 0
2786 mov qword ptr [88+r9], rcx
2787 mov rdi, r11
2788 mov rsi, r10
2789 mov rcx, r8
2790 mov rax, qword ptr [-544+rbp]
2791 mul qword ptr [-192+rbp]
2792 add rsi, rax
2793 adc rdi, rdx
2794 adc rcx, 0
2795 mov rax, qword ptr [-536+rbp]
2796 mul qword ptr [-200+rbp]
2797 add rsi, rax
2798 adc rdi, rdx
2799 adc rcx, 0
2800 mov rax, qword ptr [-528+rbp]
2801 mul qword ptr [-208+rbp]
2802 add rsi, rax
2803 adc rdi, rdx
2804 adc rcx, 0
2805 mov rax, qword ptr [-520+rbp]
2806 mul qword ptr [-216+rbp]
2807 add rsi, rax
2808 adc rdi, rdx
2809 adc rcx, 0
2810 mov rax, qword ptr [-512+rbp]
2811 mul qword ptr [-224+rbp]
2812 add rsi, rax
2813 adc rdi, rdx
2814 adc rcx, 0
2815 mov rax, qword ptr [-504+rbp]
2816 mul qword ptr [-232+rbp]
2817 add rsi, rax
2818 adc rdi, rdx
2819 adc rcx, 0
2820 mov rax, qword ptr [-496+rbp]
2821 mul qword ptr [-240+rbp]
2822 add rsi, rax
2823 adc rdi, rdx
2824 adc rcx, 0
2825 mov rax, qword ptr [-488+rbp]
2826 mul qword ptr [-248+rbp]
2827 add rsi, rax
2828 adc rdi, rdx
2829 adc rcx, 0
2830 mov rax, qword ptr [-480+rbp]
2831 mul qword ptr [-256+rbp]
2832 add rsi, rax
2833 adc rdi, rdx
2834 adc rcx, 0
2835 mov rax, qword ptr [-472+rbp]
2836 mul qword ptr [-264+rbp]
2837 add rsi, rax
2838 adc rdi, rdx
2839 adc rcx, 0
2840 mov rax, qword ptr [-464+rbp]
2841 mul qword ptr [-272+rbp]
2842 add rsi, rax
2843 adc rdi, rdx
2844 adc rcx, 0
2845 mov rax, qword ptr [-456+rbp]
2846 mul qword ptr [-280+rbp]
2847 add rsi, rax
2848 adc rdi, rdx
2849 adc rcx, 0
2850 mov r10, rdi
2851 mov r11, rcx
2852 mov rax, qword ptr [-448+rbp]
2853 mul qword ptr [-288+rbp]
2854 add rsi, rax
2855 adc r10, rdx
2856 adc r11, 0
2857 mov qword ptr [96+r9], rsi
2858 mov rdi, r11
2859 mov rcx, r10
2860 mov rsi, r8
2861 mov rax, qword ptr [-544+rbp]
2862 mul qword ptr [-184+rbp]
2863 add rcx, rax
2864 adc rdi, rdx
2865 adc rsi, 0
2866 mov rax, qword ptr [-536+rbp]
2867 mul qword ptr [-192+rbp]
2868 add rcx, rax
2869 adc rdi, rdx
2870 adc rsi, 0
2871 mov rax, qword ptr [-528+rbp]
2872 mul qword ptr [-200+rbp]
2873 add rcx, rax
2874 adc rdi, rdx
2875 adc rsi, 0
2876 mov rax, qword ptr [-520+rbp]
2877 mul qword ptr [-208+rbp]
2878 add rcx, rax
2879 adc rdi, rdx
2880 adc rsi, 0
2881 mov rax, qword ptr [-512+rbp]
2882 mul qword ptr [-216+rbp]
2883 add rcx, rax
2884 adc rdi, rdx
2885 adc rsi, 0
2886 mov rax, qword ptr [-504+rbp]
2887 mul qword ptr [-224+rbp]
2888 add rcx, rax
2889 adc rdi, rdx
2890 adc rsi, 0
2891 mov rax, qword ptr [-496+rbp]
2892 mul qword ptr [-232+rbp]
2893 add rcx, rax
2894 adc rdi, rdx
2895 adc rsi, 0
2896 mov rax, qword ptr [-488+rbp]
2897 mul qword ptr [-240+rbp]
2898 add rcx, rax
2899 adc rdi, rdx
2900 adc rsi, 0
2901 mov rax, qword ptr [-480+rbp]
2902 mul qword ptr [-248+rbp]
2903 add rcx, rax
2904 adc rdi, rdx
2905 adc rsi, 0
2906 mov rax, qword ptr [-472+rbp]
2907 mul qword ptr [-256+rbp]
2908 add rcx, rax
2909 adc rdi, rdx
2910 adc rsi, 0
2911 mov rax, qword ptr [-464+rbp]
2912 mul qword ptr [-264+rbp]
2913 add rcx, rax
2914 adc rdi, rdx
2915 adc rsi, 0
2916 mov rax, qword ptr [-456+rbp]
2917 mul qword ptr [-272+rbp]
2918 add rcx, rax
2919 adc rdi, rdx
2920 adc rsi, 0
2921 mov rax, qword ptr [-448+rbp]
2922 mul qword ptr [-280+rbp]
2923 add rcx, rax
2924 adc rdi, rdx
2925 adc rsi, 0
2926 mov r10, rdi
2927 mov r11, rsi
2928 mov rax, qword ptr [-440+rbp]
2929 mul qword ptr [-288+rbp]
2930 add rcx, rax
2931 adc r10, rdx
2932 adc r11, 0
2933 mov qword ptr [104+r9], rcx
2934 mov rdi, r11
2935 mov rsi, r10
2936 mov rcx, r8
2937 mov rax, qword ptr [-544+rbp]
2938 mul qword ptr [-176+rbp]
2939 add rsi, rax
2940 adc rdi, rdx
2941 adc rcx, 0
2942 mov rax, qword ptr [-536+rbp]
2943 mul qword ptr [-184+rbp]
2944 add rsi, rax
2945 adc rdi, rdx
2946 adc rcx, 0
2947 mov rax, qword ptr [-528+rbp]
2948 mul qword ptr [-192+rbp]
2949 add rsi, rax
2950 adc rdi, rdx
2951 adc rcx, 0
2952 mov rax, qword ptr [-520+rbp]
2953 mul qword ptr [-200+rbp]
2954 add rsi, rax
2955 adc rdi, rdx
2956 adc rcx, 0
2957 mov rax, qword ptr [-512+rbp]
2958 mul qword ptr [-208+rbp]
2959 add rsi, rax
2960 adc rdi, rdx
2961 adc rcx, 0
2962 mov rax, qword ptr [-504+rbp]
2963 mul qword ptr [-216+rbp]
2964 add rsi, rax
2965 adc rdi, rdx
2966 adc rcx, 0
2967 mov rax, qword ptr [-496+rbp]
2968 mul qword ptr [-224+rbp]
2969 add rsi, rax
2970 adc rdi, rdx
2971 adc rcx, 0
2972 mov rax, qword ptr [-488+rbp]
2973 mul qword ptr [-232+rbp]
2974 add rsi, rax
2975 adc rdi, rdx
2976 adc rcx, 0
2977 mov rax, qword ptr [-480+rbp]
2978 mul qword ptr [-240+rbp]
2979 add rsi, rax
2980 adc rdi, rdx
2981 adc rcx, 0
2982 mov rax, qword ptr [-472+rbp]
2983 mul qword ptr [-248+rbp]
2984 add rsi, rax
2985 adc rdi, rdx
2986 adc rcx, 0
2987 mov rax, qword ptr [-464+rbp]
2988 mul qword ptr [-256+rbp]
2989 add rsi, rax
2990 adc rdi, rdx
2991 adc rcx, 0
2992 mov rax, qword ptr [-456+rbp]
2993 mul qword ptr [-264+rbp]
2994 add rsi, rax
2995 adc rdi, rdx
2996 adc rcx, 0
2997 mov rax, qword ptr [-448+rbp]
2998 mul qword ptr [-272+rbp]
2999 add rsi, rax
3000 adc rdi, rdx
3001 adc rcx, 0
3002 mov rax, qword ptr [-440+rbp]
3003 mul qword ptr [-280+rbp]
3004 add rsi, rax
3005 adc rdi, rdx
3006 adc rcx, 0
3007 mov r10, rdi
3008 mov r11, rcx
3009 mov rax, qword ptr [-432+rbp]
3010 mul qword ptr [-288+rbp]
3011 add rsi, rax
3012 adc r10, rdx
3013 adc r11, 0
3014 mov qword ptr [112+r9], rsi
3015 mov rdi, r11
3016 mov rcx, r10
3017 mov rsi, r8
3018 mov rax, qword ptr [-544+rbp]
3019 mul qword ptr [-168+rbp]
3020 add rcx, rax
3021 adc rdi, rdx
3022 adc rsi, 0
3023 mov rax, qword ptr [-536+rbp]
3024 mul qword ptr [-176+rbp]
3025 add rcx, rax
3026 adc rdi, rdx
3027 adc rsi, 0
3028 mov rax, qword ptr [-528+rbp]
3029 mul qword ptr [-184+rbp]
3030 add rcx, rax
3031 adc rdi, rdx
3032 adc rsi, 0
3033 mov rax, qword ptr [-520+rbp]
3034 mul qword ptr [-192+rbp]
3035 add rcx, rax
3036 adc rdi, rdx
3037 adc rsi, 0
3038 mov rax, qword ptr [-512+rbp]
3039 mul qword ptr [-200+rbp]
3040 add rcx, rax
3041 adc rdi, rdx
3042 adc rsi, 0
3043 mov rax, qword ptr [-504+rbp]
3044 mul qword ptr [-208+rbp]
3045 add rcx, rax
3046 adc rdi, rdx
3047 adc rsi, 0
3048 mov rax, qword ptr [-496+rbp]
3049 mul qword ptr [-216+rbp]
3050 add rcx, rax
3051 adc rdi, rdx
3052 adc rsi, 0
3053 mov rax, qword ptr [-488+rbp]
3054 mul qword ptr [-224+rbp]
3055 add rcx, rax
3056 adc rdi, rdx
3057 adc rsi, 0
3058 mov rax, qword ptr [-480+rbp]
3059 mul qword ptr [-232+rbp]
3060 add rcx, rax
3061 adc rdi, rdx
3062 adc rsi, 0
3063 mov rax, qword ptr [-472+rbp]
3064 mul qword ptr [-240+rbp]
3065 add rcx, rax
3066 adc rdi, rdx
3067 adc rsi, 0
3068 mov rax, qword ptr [-464+rbp]
3069 mul qword ptr [-248+rbp]
3070 add rcx, rax
3071 adc rdi, rdx
3072 adc rsi, 0
3073 mov rax, qword ptr [-456+rbp]
3074 mul qword ptr [-256+rbp]
3075 add rcx, rax
3076 adc rdi, rdx
3077 adc rsi, 0
3078 mov rax, qword ptr [-448+rbp]
3079 mul qword ptr [-264+rbp]
3080 add rcx, rax
3081 adc rdi, rdx
3082 adc rsi, 0
3083 mov rax, qword ptr [-440+rbp]
3084 mul qword ptr [-272+rbp]
3085 add rcx, rax
3086 adc rdi, rdx
3087 adc rsi, 0
3088 mov rax, qword ptr [-432+rbp]
3089 mul qword ptr [-280+rbp]
3090 add rcx, rax
3091 adc rdi, rdx
3092 adc rsi, 0
3093 mov r10, rdi
3094 mov r11, rsi
3095 mov rax, qword ptr [-424+rbp]
3096 mul qword ptr [-288+rbp]
3097 add rcx, rax
3098 adc r10, rdx
3099 adc r11, 0
3100 mov qword ptr [120+r9], rcx
3101 mov rdi, r11
3102 mov rsi, r10
3103 mov rcx, r8
3104 mov rax, qword ptr [-544+rbp]
3105 mul qword ptr [-160+rbp]
3106 add rsi, rax
3107 adc rdi, rdx
3108 adc rcx, 0
3109 mov rax, qword ptr [-536+rbp]
3110 mul qword ptr [-168+rbp]
3111 add rsi, rax
3112 adc rdi, rdx
3113 adc rcx, 0
3114 mov rax, qword ptr [-528+rbp]
3115 mul qword ptr [-176+rbp]
3116 add rsi, rax
3117 adc rdi, rdx
3118 adc rcx, 0
3119 mov rax, qword ptr [-520+rbp]
3120 mul qword ptr [-184+rbp]
3121 add rsi, rax
3122 adc rdi, rdx
3123 adc rcx, 0
3124 mov rax, qword ptr [-512+rbp]
3125 mul qword ptr [-192+rbp]
3126 add rsi, rax
3127 adc rdi, rdx
3128 adc rcx, 0
3129 mov rax, qword ptr [-504+rbp]
3130 mul qword ptr [-200+rbp]
3131 add rsi, rax
3132 adc rdi, rdx
3133 adc rcx, 0
3134 mov rax, qword ptr [-496+rbp]
3135 mul qword ptr [-208+rbp]
3136 add rsi, rax
3137 adc rdi, rdx
3138 adc rcx, 0
3139 mov rax, qword ptr [-488+rbp]
3140 mul qword ptr [-216+rbp]
3141 add rsi, rax
3142 adc rdi, rdx
3143 adc rcx, 0
3144 mov rax, qword ptr [-480+rbp]
3145 mul qword ptr [-224+rbp]
3146 add rsi, rax
3147 adc rdi, rdx
3148 adc rcx, 0
3149 mov rax, qword ptr [-472+rbp]
3150 mul qword ptr [-232+rbp]
3151 add rsi, rax
3152 adc rdi, rdx
3153 adc rcx, 0
3154 mov rax, qword ptr [-464+rbp]
3155 mul qword ptr [-240+rbp]
3156 add rsi, rax
3157 adc rdi, rdx
3158 adc rcx, 0
3159 mov rax, qword ptr [-456+rbp]
3160 mul qword ptr [-248+rbp]
3161 add rsi, rax
3162 adc rdi, rdx
3163 adc rcx, 0
3164 mov rax, qword ptr [-448+rbp]
3165 mul qword ptr [-256+rbp]
3166 add rsi, rax
3167 adc rdi, rdx
3168 adc rcx, 0
3169 mov rax, qword ptr [-440+rbp]
3170 mul qword ptr [-264+rbp]
3171 add rsi, rax
3172 adc rdi, rdx
3173 adc rcx, 0
3174 mov rax, qword ptr [-432+rbp]
3175 mul qword ptr [-272+rbp]
3176 add rsi, rax
3177 adc rdi, rdx
3178 adc rcx, 0
3179 mov rax, qword ptr [-424+rbp]
3180 mul qword ptr [-280+rbp]
3181 add rsi, rax
3182 adc rdi, rdx
3183 adc rcx, 0
3184 mov r10, rdi
3185 mov r11, rcx
3186 mov rax, qword ptr [-416+rbp]
3187 mul qword ptr [-288+rbp]
3188 add rsi, rax
3189 adc r10, rdx
3190 adc r11, 0
3191 mov qword ptr [128+r9], rsi
3192 mov rdi, r11
3193 mov rcx, r10
3194 mov rsi, r8
3195 mov rax, qword ptr [-544+rbp]
3196 mul qword ptr [-152+rbp]
3197 add rcx, rax
3198 adc rdi, rdx
3199 adc rsi, 0
3200 mov rax, qword ptr [-536+rbp]
3201 mul qword ptr [-160+rbp]
3202 add rcx, rax
3203 adc rdi, rdx
3204 adc rsi, 0
3205 mov rax, qword ptr [-528+rbp]
3206 mul qword ptr [-168+rbp]
3207 add rcx, rax
3208 adc rdi, rdx
3209 adc rsi, 0
3210 mov rax, qword ptr [-520+rbp]
3211 mul qword ptr [-176+rbp]
3212 add rcx, rax
3213 adc rdi, rdx
3214 adc rsi, 0
3215 mov rax, qword ptr [-512+rbp]
3216 mul qword ptr [-184+rbp]
3217 add rcx, rax
3218 adc rdi, rdx
3219 adc rsi, 0
3220 mov rax, qword ptr [-504+rbp]
3221 mul qword ptr [-192+rbp]
3222 add rcx, rax
3223 adc rdi, rdx
3224 adc rsi, 0
3225 mov rax, qword ptr [-496+rbp]
3226 mul qword ptr [-200+rbp]
3227 add rcx, rax
3228 adc rdi, rdx
3229 adc rsi, 0
3230 mov rax, qword ptr [-488+rbp]
3231 mul qword ptr [-208+rbp]
3232 add rcx, rax
3233 adc rdi, rdx
3234 adc rsi, 0
3235 mov rax, qword ptr [-480+rbp]
3236 mul qword ptr [-216+rbp]
3237 add rcx, rax
3238 adc rdi, rdx
3239 adc rsi, 0
3240 mov rax, qword ptr [-472+rbp]
3241 mul qword ptr [-224+rbp]
3242 add rcx, rax
3243 adc rdi, rdx
3244 adc rsi, 0
3245 mov rax, qword ptr [-464+rbp]
3246 mul qword ptr [-232+rbp]
3247 add rcx, rax
3248 adc rdi, rdx
3249 adc rsi, 0
3250 mov rax, qword ptr [-456+rbp]
3251 mul qword ptr [-240+rbp]
3252 add rcx, rax
3253 adc rdi, rdx
3254 adc rsi, 0
3255 mov rax, qword ptr [-448+rbp]
3256 mul qword ptr [-248+rbp]
3257 add rcx, rax
3258 adc rdi, rdx
3259 adc rsi, 0
3260 mov rax, qword ptr [-440+rbp]
3261 mul qword ptr [-256+rbp]
3262 add rcx, rax
3263 adc rdi, rdx
3264 adc rsi, 0
3265 mov rax, qword ptr [-432+rbp]
3266 mul qword ptr [-264+rbp]
3267 add rcx, rax
3268 adc rdi, rdx
3269 adc rsi, 0
3270 mov rax, qword ptr [-424+rbp]
3271 mul qword ptr [-272+rbp]
3272 add rcx, rax
3273 adc rdi, rdx
3274 adc rsi, 0
3275 mov rax, qword ptr [-416+rbp]
3276 mul qword ptr [-280+rbp]
3277 add rcx, rax
3278 adc rdi, rdx
3279 adc rsi, 0
3280 mov r10, rdi
3281 mov r11, rsi
3282 mov rax, qword ptr [-408+rbp]
3283 mul qword ptr [-288+rbp]
3284 add rcx, rax
3285 adc r10, rdx
3286 adc r11, 0
3287 mov qword ptr [136+r9], rcx
3288 mov rdi, r11
3289 mov rsi, r10
3290 mov rcx, r8
3291 mov rax, qword ptr [-544+rbp]
3292 mul qword ptr [-144+rbp]
3293 add rsi, rax
3294 adc rdi, rdx
3295 adc rcx, 0
3296 mov rax, qword ptr [-536+rbp]
3297 mul qword ptr [-152+rbp]
3298 add rsi, rax
3299 adc rdi, rdx
3300 adc rcx, 0
3301 mov rax, qword ptr [-528+rbp]
3302 mul qword ptr [-160+rbp]
3303 add rsi, rax
3304 adc rdi, rdx
3305 adc rcx, 0
3306 mov rax, qword ptr [-520+rbp]
3307 mul qword ptr [-168+rbp]
3308 add rsi, rax
3309 adc rdi, rdx
3310 adc rcx, 0
3311 mov rax, qword ptr [-512+rbp]
3312 mul qword ptr [-176+rbp]
3313 add rsi, rax
3314 adc rdi, rdx
3315 adc rcx, 0
3316 mov rax, qword ptr [-504+rbp]
3317 mul qword ptr [-184+rbp]
3318 add rsi, rax
3319 adc rdi, rdx
3320 adc rcx, 0
3321 mov rax, qword ptr [-496+rbp]
3322 mul qword ptr [-192+rbp]
3323 add rsi, rax
3324 adc rdi, rdx
3325 adc rcx, 0
3326 mov rax, qword ptr [-488+rbp]
3327 mul qword ptr [-200+rbp]
3328 add rsi, rax
3329 adc rdi, rdx
3330 adc rcx, 0
3331 mov rax, qword ptr [-480+rbp]
3332 mul qword ptr [-208+rbp]
3333 add rsi, rax
3334 adc rdi, rdx
3335 adc rcx, 0
3336 mov rax, qword ptr [-472+rbp]
3337 mul qword ptr [-216+rbp]
3338 add rsi, rax
3339 adc rdi, rdx
3340 adc rcx, 0
3341 mov rax, qword ptr [-464+rbp]
3342 mul qword ptr [-224+rbp]
3343 add rsi, rax
3344 adc rdi, rdx
3345 adc rcx, 0
3346 mov rax, qword ptr [-456+rbp]
3347 mul qword ptr [-232+rbp]
3348 add rsi, rax
3349 adc rdi, rdx
3350 adc rcx, 0
3351 mov rax, qword ptr [-448+rbp]
3352 mul qword ptr [-240+rbp]
3353 add rsi, rax
3354 adc rdi, rdx
3355 adc rcx, 0
3356 mov rax, qword ptr [-440+rbp]
3357 mul qword ptr [-248+rbp]
3358 add rsi, rax
3359 adc rdi, rdx
3360 adc rcx, 0
3361 mov rax, qword ptr [-432+rbp]
3362 mul qword ptr [-256+rbp]
3363 add rsi, rax
3364 adc rdi, rdx
3365 adc rcx, 0
3366 mov rax, qword ptr [-424+rbp]
3367 mul qword ptr [-264+rbp]
3368 add rsi, rax
3369 adc rdi, rdx
3370 adc rcx, 0
3371 mov rax, qword ptr [-416+rbp]
3372 mul qword ptr [-272+rbp]
3373 add rsi, rax
3374 adc rdi, rdx
3375 adc rcx, 0
3376 mov rax, qword ptr [-408+rbp]
3377 mul qword ptr [-280+rbp]
3378 add rsi, rax
3379 adc rdi, rdx
3380 adc rcx, 0
3381 mov r10, rdi
3382 mov r11, rcx
3383 mov rax, qword ptr [-400+rbp]
3384 mul qword ptr [-288+rbp]
3385 add rsi, rax
3386 adc r10, rdx
3387 adc r11, 0
3388 mov qword ptr [144+r9], rsi
3389 mov rdi, r11
3390 mov rcx, r10
3391 mov rsi, r8
3392 mov rax, qword ptr [-544+rbp]
3393 mul qword ptr [-136+rbp]
3394 add rcx, rax
3395 adc rdi, rdx
3396 adc rsi, 0
3397 mov rax, qword ptr [-536+rbp]
3398 mul qword ptr [-144+rbp]
3399 add rcx, rax
3400 adc rdi, rdx
3401 adc rsi, 0
3402 mov rax, qword ptr [-528+rbp]
3403 mul qword ptr [-152+rbp]
3404 add rcx, rax
3405 adc rdi, rdx
3406 adc rsi, 0
3407 mov rax, qword ptr [-520+rbp]
3408 mul qword ptr [-160+rbp]
3409 add rcx, rax
3410 adc rdi, rdx
3411 adc rsi, 0
3412 mov rax, qword ptr [-512+rbp]
3413 mul qword ptr [-168+rbp]
3414 add rcx, rax
3415 adc rdi, rdx
3416 adc rsi, 0
3417 mov rax, qword ptr [-504+rbp]
3418 mul qword ptr [-176+rbp]
3419 add rcx, rax
3420 adc rdi, rdx
3421 adc rsi, 0
3422 mov rax, qword ptr [-496+rbp]
3423 mul qword ptr [-184+rbp]
3424 add rcx, rax
3425 adc rdi, rdx
3426 adc rsi, 0
3427 mov rax, qword ptr [-488+rbp]
3428 mul qword ptr [-192+rbp]
3429 add rcx, rax
3430 adc rdi, rdx
3431 adc rsi, 0
3432 mov rax, qword ptr [-480+rbp]
3433 mul qword ptr [-200+rbp]
3434 add rcx, rax
3435 adc rdi, rdx
3436 adc rsi, 0
3437 mov rax, qword ptr [-472+rbp]
3438 mul qword ptr [-208+rbp]
3439 add rcx, rax
3440 adc rdi, rdx
3441 adc rsi, 0
3442 mov rax, qword ptr [-464+rbp]
3443 mul qword ptr [-216+rbp]
3444 add rcx, rax
3445 adc rdi, rdx
3446 adc rsi, 0
3447 mov rax, qword ptr [-456+rbp]
3448 mul qword ptr [-224+rbp]
3449 add rcx, rax
3450 adc rdi, rdx
3451 adc rsi, 0
3452 mov rax, qword ptr [-448+rbp]
3453 mul qword ptr [-232+rbp]
3454 add rcx, rax
3455 adc rdi, rdx
3456 adc rsi, 0
3457 mov rax, qword ptr [-440+rbp]
3458 mul qword ptr [-240+rbp]
3459 add rcx, rax
3460 adc rdi, rdx
3461 adc rsi, 0
3462 mov rax, qword ptr [-432+rbp]
3463 mul qword ptr [-248+rbp]
3464 add rcx, rax
3465 adc rdi, rdx
3466 adc rsi, 0
3467 mov rax, qword ptr [-424+rbp]
3468 mul qword ptr [-256+rbp]
3469 add rcx, rax
3470 adc rdi, rdx
3471 adc rsi, 0
3472 mov rax, qword ptr [-416+rbp]
3473 mul qword ptr [-264+rbp]
3474 add rcx, rax
3475 adc rdi, rdx
3476 adc rsi, 0
3477 mov rax, qword ptr [-408+rbp]
3478 mul qword ptr [-272+rbp]
3479 add rcx, rax
3480 adc rdi, rdx
3481 adc rsi, 0
3482 mov rax, qword ptr [-400+rbp]
3483 mul qword ptr [-280+rbp]
3484 add rcx, rax
3485 adc rdi, rdx
3486 adc rsi, 0
3487 mov r10, rdi
3488 mov r11, rsi
3489 mov rax, qword ptr [-392+rbp]
3490 mul qword ptr [-288+rbp]
3491 add rcx, rax
3492 adc r10, rdx
3493 adc r11, 0
3494 mov qword ptr [152+r9], rcx
3495 mov rdi, r11
3496 mov rsi, r10
3497 mov rcx, r8
3498 mov rax, qword ptr [-544+rbp]
3499 mul qword ptr [-128+rbp]
3500 add rsi, rax
3501 adc rdi, rdx
3502 adc rcx, 0
3503 mov rax, qword ptr [-536+rbp]
3504 mul qword ptr [-136+rbp]
3505 add rsi, rax
3506 adc rdi, rdx
3507 adc rcx, 0
3508 mov rax, qword ptr [-528+rbp]
3509 mul qword ptr [-144+rbp]
3510 add rsi, rax
3511 adc rdi, rdx
3512 adc rcx, 0
3513 mov rax, qword ptr [-520+rbp]
3514 mul qword ptr [-152+rbp]
3515 add rsi, rax
3516 adc rdi, rdx
3517 adc rcx, 0
3518 mov rax, qword ptr [-512+rbp]
3519 mul qword ptr [-160+rbp]
3520 add rsi, rax
3521 adc rdi, rdx
3522 adc rcx, 0
3523 mov rax, qword ptr [-504+rbp]
3524 mul qword ptr [-168+rbp]
3525 add rsi, rax
3526 adc rdi, rdx
3527 adc rcx, 0
3528 mov rax, qword ptr [-496+rbp]
3529 mul qword ptr [-176+rbp]
3530 add rsi, rax
3531 adc rdi, rdx
3532 adc rcx, 0
3533 mov rax, qword ptr [-488+rbp]
3534 mul qword ptr [-184+rbp]
3535 add rsi, rax
3536 adc rdi, rdx
3537 adc rcx, 0
3538 mov rax, qword ptr [-480+rbp]
3539 mul qword ptr [-192+rbp]
3540 add rsi, rax
3541 adc rdi, rdx
3542 adc rcx, 0
3543 mov rax, qword ptr [-472+rbp]
3544 mul qword ptr [-200+rbp]
3545 add rsi, rax
3546 adc rdi, rdx
3547 adc rcx, 0
3548 mov rax, qword ptr [-464+rbp]
3549 mul qword ptr [-208+rbp]
3550 add rsi, rax
3551 adc rdi, rdx
3552 adc rcx, 0
3553 mov rax, qword ptr [-456+rbp]
3554 mul qword ptr [-216+rbp]
3555 add rsi, rax
3556 adc rdi, rdx
3557 adc rcx, 0
3558 mov rax, qword ptr [-448+rbp]
3559 mul qword ptr [-224+rbp]
3560 add rsi, rax
3561 adc rdi, rdx
3562 adc rcx, 0
3563 mov rax, qword ptr [-440+rbp]
3564 mul qword ptr [-232+rbp]
3565 add rsi, rax
3566 adc rdi, rdx
3567 adc rcx, 0
3568 mov rax, qword ptr [-432+rbp]
3569 mul qword ptr [-240+rbp]
3570 add rsi, rax
3571 adc rdi, rdx
3572 adc rcx, 0
3573 mov rax, qword ptr [-424+rbp]
3574 mul qword ptr [-248+rbp]
3575 add rsi, rax
3576 adc rdi, rdx
3577 adc rcx, 0
3578 mov rax, qword ptr [-416+rbp]
3579 mul qword ptr [-256+rbp]
3580 add rsi, rax
3581 adc rdi, rdx
3582 adc rcx, 0
3583 mov rax, qword ptr [-408+rbp]
3584 mul qword ptr [-264+rbp]
3585 add rsi, rax
3586 adc rdi, rdx
3587 adc rcx, 0
3588 mov rax, qword ptr [-400+rbp]
3589 mul qword ptr [-272+rbp]
3590 add rsi, rax
3591 adc rdi, rdx
3592 adc rcx, 0
3593 mov rax, qword ptr [-392+rbp]
3594 mul qword ptr [-280+rbp]
3595 add rsi, rax
3596 adc rdi, rdx
3597 adc rcx, 0
3598 mov r10, rdi
3599 mov r11, rcx
3600 mov rax, qword ptr [-384+rbp]
3601 mul qword ptr [-288+rbp]
3602 add rsi, rax
3603 adc r10, rdx
3604 adc r11, 0
3605 mov qword ptr [160+r9], rsi
3606 mov rdi, r11
3607 mov rcx, r10
3608 mov rsi, r8
3609 mov rax, qword ptr [-544+rbp]
3610 mul qword ptr [-120+rbp]
3611 add rcx, rax
3612 adc rdi, rdx
3613 adc rsi, 0
3614 mov rax, qword ptr [-536+rbp]
3615 mul qword ptr [-128+rbp]
3616 add rcx, rax
3617 adc rdi, rdx
3618 adc rsi, 0
3619 mov rax, qword ptr [-528+rbp]
3620 mul qword ptr [-136+rbp]
3621 add rcx, rax
3622 adc rdi, rdx
3623 adc rsi, 0
3624 mov rax, qword ptr [-520+rbp]
3625 mul qword ptr [-144+rbp]
3626 add rcx, rax
3627 adc rdi, rdx
3628 adc rsi, 0
3629 mov rax, qword ptr [-512+rbp]
3630 mul qword ptr [-152+rbp]
3631 add rcx, rax
3632 adc rdi, rdx
3633 adc rsi, 0
3634 mov rax, qword ptr [-504+rbp]
3635 mul qword ptr [-160+rbp]
3636 add rcx, rax
3637 adc rdi, rdx
3638 adc rsi, 0
3639 mov rax, qword ptr [-496+rbp]
3640 mul qword ptr [-168+rbp]
3641 add rcx, rax
3642 adc rdi, rdx
3643 adc rsi, 0
3644 mov rax, qword ptr [-488+rbp]
3645 mul qword ptr [-176+rbp]
3646 add rcx, rax
3647 adc rdi, rdx
3648 adc rsi, 0
3649 mov rax, qword ptr [-480+rbp]
3650 mul qword ptr [-184+rbp]
3651 add rcx, rax
3652 adc rdi, rdx
3653 adc rsi, 0
3654 mov rax, qword ptr [-472+rbp]
3655 mul qword ptr [-192+rbp]
3656 add rcx, rax
3657 adc rdi, rdx
3658 adc rsi, 0
3659 mov rax, qword ptr [-464+rbp]
3660 mul qword ptr [-200+rbp]
3661 add rcx, rax
3662 adc rdi, rdx
3663 adc rsi, 0
3664 mov rax, qword ptr [-456+rbp]
3665 mul qword ptr [-208+rbp]
3666 add rcx, rax
3667 adc rdi, rdx
3668 adc rsi, 0
3669 mov rax, qword ptr [-448+rbp]
3670 mul qword ptr [-216+rbp]
3671 add rcx, rax
3672 adc rdi, rdx
3673 adc rsi, 0
3674 mov rax, qword ptr [-440+rbp]
3675 mul qword ptr [-224+rbp]
3676 add rcx, rax
3677 adc rdi, rdx
3678 adc rsi, 0
3679 mov rax, qword ptr [-432+rbp]
3680 mul qword ptr [-232+rbp]
3681 add rcx, rax
3682 adc rdi, rdx
3683 adc rsi, 0
3684 mov rax, qword ptr [-424+rbp]
3685 mul qword ptr [-240+rbp]
3686 add rcx, rax
3687 adc rdi, rdx
3688 adc rsi, 0
3689 mov rax, qword ptr [-416+rbp]
3690 mul qword ptr [-248+rbp]
3691 add rcx, rax
3692 adc rdi, rdx
3693 adc rsi, 0
3694 mov rax, qword ptr [-408+rbp]
3695 mul qword ptr [-256+rbp]
3696 add rcx, rax
3697 adc rdi, rdx
3698 adc rsi, 0
3699 mov rax, qword ptr [-400+rbp]
3700 mul qword ptr [-264+rbp]
3701 add rcx, rax
3702 adc rdi, rdx
3703 adc rsi, 0
3704 mov rax, qword ptr [-392+rbp]
3705 mul qword ptr [-272+rbp]
3706 add rcx, rax
3707 adc rdi, rdx
3708 adc rsi, 0
3709 mov rax, qword ptr [-384+rbp]
3710 mul qword ptr [-280+rbp]
3711 add rcx, rax
3712 adc rdi, rdx
3713 adc rsi, 0
3714 mov r10, rdi
3715 mov r11, rsi
3716 mov rax, qword ptr [-376+rbp]
3717 mul qword ptr [-288+rbp]
3718 add rcx, rax
3719 adc r10, rdx
3720 adc r11, 0
3721 mov qword ptr [168+r9], rcx
3722 mov rdi, r11
3723 mov rsi, r10
3724 mov rcx, r8
3725 mov rax, qword ptr [-544+rbp]
3726 mul qword ptr [-112+rbp]
3727 add rsi, rax
3728 adc rdi, rdx
3729 adc rcx, 0
3730 mov rax, qword ptr [-536+rbp]
3731 mul qword ptr [-120+rbp]
3732 add rsi, rax
3733 adc rdi, rdx
3734 adc rcx, 0
3735 mov rax, qword ptr [-528+rbp]
3736 mul qword ptr [-128+rbp]
3737 add rsi, rax
3738 adc rdi, rdx
3739 adc rcx, 0
3740 mov rax, qword ptr [-520+rbp]
3741 mul qword ptr [-136+rbp]
3742 add rsi, rax
3743 adc rdi, rdx
3744 adc rcx, 0
3745 mov rax, qword ptr [-512+rbp]
3746 mul qword ptr [-144+rbp]
3747 add rsi, rax
3748 adc rdi, rdx
3749 adc rcx, 0
3750 mov rax, qword ptr [-504+rbp]
3751 mul qword ptr [-152+rbp]
3752 add rsi, rax
3753 adc rdi, rdx
3754 adc rcx, 0
3755 mov rax, qword ptr [-496+rbp]
3756 mul qword ptr [-160+rbp]
3757 add rsi, rax
3758 adc rdi, rdx
3759 adc rcx, 0
3760 mov rax, qword ptr [-488+rbp]
3761 mul qword ptr [-168+rbp]
3762 add rsi, rax
3763 adc rdi, rdx
3764 adc rcx, 0
3765 mov rax, qword ptr [-480+rbp]
3766 mul qword ptr [-176+rbp]
3767 add rsi, rax
3768 adc rdi, rdx
3769 adc rcx, 0
3770 mov rax, qword ptr [-472+rbp]
3771 mul qword ptr [-184+rbp]
3772 add rsi, rax
3773 adc rdi, rdx
3774 adc rcx, 0
3775 mov rax, qword ptr [-464+rbp]
3776 mul qword ptr [-192+rbp]
3777 add rsi, rax
3778 adc rdi, rdx
3779 adc rcx, 0
3780 mov rax, qword ptr [-456+rbp]
3781 mul qword ptr [-200+rbp]
3782 add rsi, rax
3783 adc rdi, rdx
3784 adc rcx, 0
3785 mov rax, qword ptr [-448+rbp]
3786 mul qword ptr [-208+rbp]
3787 add rsi, rax
3788 adc rdi, rdx
3789 adc rcx, 0
3790 mov rax, qword ptr [-440+rbp]
3791 mul qword ptr [-216+rbp]
3792 add rsi, rax
3793 adc rdi, rdx
3794 adc rcx, 0
3795 mov rax, qword ptr [-432+rbp]
3796 mul qword ptr [-224+rbp]
3797 add rsi, rax
3798 adc rdi, rdx
3799 adc rcx, 0
3800 mov rax, qword ptr [-424+rbp]
3801 mul qword ptr [-232+rbp]
3802 add rsi, rax
3803 adc rdi, rdx
3804 adc rcx, 0
3805 mov rax, qword ptr [-416+rbp]
3806 mul qword ptr [-240+rbp]
3807 add rsi, rax
3808 adc rdi, rdx
3809 adc rcx, 0
3810 mov rax, qword ptr [-408+rbp]
3811 mul qword ptr [-248+rbp]
3812 add rsi, rax
3813 adc rdi, rdx
3814 adc rcx, 0
3815 mov rax, qword ptr [-400+rbp]
3816 mul qword ptr [-256+rbp]
3817 add rsi, rax
3818 adc rdi, rdx
3819 adc rcx, 0
3820 mov rax, qword ptr [-392+rbp]
3821 mul qword ptr [-264+rbp]
3822 add rsi, rax
3823 adc rdi, rdx
3824 adc rcx, 0
3825 mov rax, qword ptr [-384+rbp]
3826 mul qword ptr [-272+rbp]
3827 add rsi, rax
3828 adc rdi, rdx
3829 adc rcx, 0
3830 mov rax, qword ptr [-376+rbp]
3831 mul qword ptr [-280+rbp]
3832 add rsi, rax
3833 adc rdi, rdx
3834 adc rcx, 0
3835 mov r10, rdi
3836 mov r11, rcx
3837 mov rax, qword ptr [-368+rbp]
3838 mul qword ptr [-288+rbp]
3839 add rsi, rax
3840 adc r10, rdx
3841 adc r11, 0
3842 mov qword ptr [176+r9], rsi
3843 mov rdi, r11
3844 mov rcx, r10
3845 mov rsi, r8
3846 mov rax, qword ptr [-544+rbp]
3847 mul qword ptr [-104+rbp]
3848 add rcx, rax
3849 adc rdi, rdx
3850 adc rsi, 0
3851 mov rax, qword ptr [-536+rbp]
3852 mul qword ptr [-112+rbp]
3853 add rcx, rax
3854 adc rdi, rdx
3855 adc rsi, 0
3856 mov rax, qword ptr [-528+rbp]
3857 mul qword ptr [-120+rbp]
3858 add rcx, rax
3859 adc rdi, rdx
3860 adc rsi, 0
3861 mov rax, qword ptr [-520+rbp]
3862 mul qword ptr [-128+rbp]
3863 add rcx, rax
3864 adc rdi, rdx
3865 adc rsi, 0
3866 mov rax, qword ptr [-512+rbp]
3867 mul qword ptr [-136+rbp]
3868 add rcx, rax
3869 adc rdi, rdx
3870 adc rsi, 0
3871 mov rax, qword ptr [-504+rbp]
3872 mul qword ptr [-144+rbp]
3873 add rcx, rax
3874 adc rdi, rdx
3875 adc rsi, 0
3876 mov rax, qword ptr [-496+rbp]
3877 mul qword ptr [-152+rbp]
3878 add rcx, rax
3879 adc rdi, rdx
3880 adc rsi, 0
3881 mov rax, qword ptr [-488+rbp]
3882 mul qword ptr [-160+rbp]
3883 add rcx, rax
3884 adc rdi, rdx
3885 adc rsi, 0
3886 mov rax, qword ptr [-480+rbp]
3887 mul qword ptr [-168+rbp]
3888 add rcx, rax
3889 adc rdi, rdx
3890 adc rsi, 0
3891 mov rax, qword ptr [-472+rbp]
3892 mul qword ptr [-176+rbp]
3893 add rcx, rax
3894 adc rdi, rdx
3895 adc rsi, 0
3896 mov rax, qword ptr [-464+rbp]
3897 mul qword ptr [-184+rbp]
3898 add rcx, rax
3899 adc rdi, rdx
3900 adc rsi, 0
3901 mov rax, qword ptr [-456+rbp]
3902 mul qword ptr [-192+rbp]
3903 add rcx, rax
3904 adc rdi, rdx
3905 adc rsi, 0
3906 mov rax, qword ptr [-448+rbp]
3907 mul qword ptr [-200+rbp]
3908 add rcx, rax
3909 adc rdi, rdx
3910 adc rsi, 0
3911 mov rax, qword ptr [-440+rbp]
3912 mul qword ptr [-208+rbp]
3913 add rcx, rax
3914 adc rdi, rdx
3915 adc rsi, 0
3916 mov rax, qword ptr [-432+rbp]
3917 mul qword ptr [-216+rbp]
3918 add rcx, rax
3919 adc rdi, rdx
3920 adc rsi, 0
3921 mov rax, qword ptr [-424+rbp]
3922 mul qword ptr [-224+rbp]
3923 add rcx, rax
3924 adc rdi, rdx
3925 adc rsi, 0
3926 mov rax, qword ptr [-416+rbp]
3927 mul qword ptr [-232+rbp]
3928 add rcx, rax
3929 adc rdi, rdx
3930 adc rsi, 0
3931 mov rax, qword ptr [-408+rbp]
3932 mul qword ptr [-240+rbp]
3933 add rcx, rax
3934 adc rdi, rdx
3935 adc rsi, 0
3936 mov rax, qword ptr [-400+rbp]
3937 mul qword ptr [-248+rbp]
3938 add rcx, rax
3939 adc rdi, rdx
3940 adc rsi, 0
3941 mov rax, qword ptr [-392+rbp]
3942 mul qword ptr [-256+rbp]
3943 add rcx, rax
3944 adc rdi, rdx
3945 adc rsi, 0
3946 mov rax, qword ptr [-384+rbp]
3947 mul qword ptr [-264+rbp]
3948 add rcx, rax
3949 adc rdi, rdx
3950 adc rsi, 0
3951 mov rax, qword ptr [-376+rbp]
3952 mul qword ptr [-272+rbp]
3953 add rcx, rax
3954 adc rdi, rdx
3955 adc rsi, 0
3956 mov rax, qword ptr [-368+rbp]
3957 mul qword ptr [-280+rbp]
3958 add rcx, rax
3959 adc rdi, rdx
3960 adc rsi, 0
3961 mov r10, rdi
3962 mov r11, rsi
3963 mov rax, qword ptr [-360+rbp]
3964 mul qword ptr [-288+rbp]
3965 add rcx, rax
3966 adc r10, rdx
3967 adc r11, 0
3968 mov qword ptr [184+r9], rcx
3969 mov rdi, r11
3970 mov rsi, r10
3971 mov rcx, r8
3972 mov rax, qword ptr [-544+rbp]
3973 mul qword ptr [-96+rbp]
3974 add rsi, rax
3975 adc rdi, rdx
3976 adc rcx, 0
3977 mov rax, qword ptr [-536+rbp]
3978 mul qword ptr [-104+rbp]
3979 add rsi, rax
3980 adc rdi, rdx
3981 adc rcx, 0
3982 mov rax, qword ptr [-528+rbp]
3983 mul qword ptr [-112+rbp]
3984 add rsi, rax
3985 adc rdi, rdx
3986 adc rcx, 0
3987 mov rax, qword ptr [-520+rbp]
3988 mul qword ptr [-120+rbp]
3989 add rsi, rax
3990 adc rdi, rdx
3991 adc rcx, 0
3992 mov rax, qword ptr [-512+rbp]
3993 mul qword ptr [-128+rbp]
3994 add rsi, rax
3995 adc rdi, rdx
3996 adc rcx, 0
3997 mov rax, qword ptr [-504+rbp]
3998 mul qword ptr [-136+rbp]
3999 add rsi, rax
4000 adc rdi, rdx
4001 adc rcx, 0
4002 mov rax, qword ptr [-496+rbp]
4003 mul qword ptr [-144+rbp]
4004 add rsi, rax
4005 adc rdi, rdx
4006 adc rcx, 0
4007 mov rax, qword ptr [-488+rbp]
4008 mul qword ptr [-152+rbp]
4009 add rsi, rax
4010 adc rdi, rdx
4011 adc rcx, 0
4012 mov rax, qword ptr [-480+rbp]
4013 mul qword ptr [-160+rbp]
4014 add rsi, rax
4015 adc rdi, rdx
4016 adc rcx, 0
4017 mov rax, qword ptr [-472+rbp]
4018 mul qword ptr [-168+rbp]
4019 add rsi, rax
4020 adc rdi, rdx
4021 adc rcx, 0
4022 mov rax, qword ptr [-464+rbp]
4023 mul qword ptr [-176+rbp]
4024 add rsi, rax
4025 adc rdi, rdx
4026 adc rcx, 0
4027 mov rax, qword ptr [-456+rbp]
4028 mul qword ptr [-184+rbp]
4029 add rsi, rax
4030 adc rdi, rdx
4031 adc rcx, 0
4032 mov rax, qword ptr [-448+rbp]
4033 mul qword ptr [-192+rbp]
4034 add rsi, rax
4035 adc rdi, rdx
4036 adc rcx, 0
4037 mov rax, qword ptr [-440+rbp]
4038 mul qword ptr [-200+rbp]
4039 add rsi, rax
4040 adc rdi, rdx
4041 adc rcx, 0
4042 mov rax, qword ptr [-432+rbp]
4043 mul qword ptr [-208+rbp]
4044 add rsi, rax
4045 adc rdi, rdx
4046 adc rcx, 0
4047 mov rax, qword ptr [-424+rbp]
4048 mul qword ptr [-216+rbp]
4049 add rsi, rax
4050 adc rdi, rdx
4051 adc rcx, 0
4052 mov rax, qword ptr [-416+rbp]
4053 mul qword ptr [-224+rbp]
4054 add rsi, rax
4055 adc rdi, rdx
4056 adc rcx, 0
4057 mov rax, qword ptr [-408+rbp]
4058 mul qword ptr [-232+rbp]
4059 add rsi, rax
4060 adc rdi, rdx
4061 adc rcx, 0
4062 mov rax, qword ptr [-400+rbp]
4063 mul qword ptr [-240+rbp]
4064 add rsi, rax
4065 adc rdi, rdx
4066 adc rcx, 0
4067 mov rax, qword ptr [-392+rbp]
4068 mul qword ptr [-248+rbp]
4069 add rsi, rax
4070 adc rdi, rdx
4071 adc rcx, 0
4072 mov rax, qword ptr [-384+rbp]
4073 mul qword ptr [-256+rbp]
4074 add rsi, rax
4075 adc rdi, rdx
4076 adc rcx, 0
4077 mov rax, qword ptr [-376+rbp]
4078 mul qword ptr [-264+rbp]
4079 add rsi, rax
4080 adc rdi, rdx
4081 adc rcx, 0
4082 mov rax, qword ptr [-368+rbp]
4083 mul qword ptr [-272+rbp]
4084 add rsi, rax
4085 adc rdi, rdx
4086 adc rcx, 0
4087 mov rax, qword ptr [-360+rbp]
4088 mul qword ptr [-280+rbp]
4089 add rsi, rax
4090 adc rdi, rdx
4091 adc rcx, 0
4092 mov r10, rdi
4093 mov r11, rcx
4094 mov rax, qword ptr [-352+rbp]
4095 mul qword ptr [-288+rbp]
4096 add rsi, rax
4097 adc r10, rdx
4098 adc r11, 0
4099 mov qword ptr [192+r9], rsi
4100 mov rdi, r11
4101 mov rcx, r10
4102 mov rsi, r8
4103 mov rax, qword ptr [-544+rbp]
4104 mul qword ptr [-88+rbp]
4105 add rcx, rax
4106 adc rdi, rdx
4107 adc rsi, 0
4108 mov rax, qword ptr [-536+rbp]
4109 mul qword ptr [-96+rbp]
4110 add rcx, rax
4111 adc rdi, rdx
4112 adc rsi, 0
4113 mov rax, qword ptr [-528+rbp]
4114 mul qword ptr [-104+rbp]
4115 add rcx, rax
4116 adc rdi, rdx
4117 adc rsi, 0
4118 mov rax, qword ptr [-520+rbp]
4119 mul qword ptr [-112+rbp]
4120 add rcx, rax
4121 adc rdi, rdx
4122 adc rsi, 0
4123 mov rax, qword ptr [-512+rbp]
4124 mul qword ptr [-120+rbp]
4125 add rcx, rax
4126 adc rdi, rdx
4127 adc rsi, 0
4128 mov rax, qword ptr [-504+rbp]
4129 mul qword ptr [-128+rbp]
4130 add rcx, rax
4131 adc rdi, rdx
4132 adc rsi, 0
4133 mov rax, qword ptr [-496+rbp]
4134 mul qword ptr [-136+rbp]
4135 add rcx, rax
4136 adc rdi, rdx
4137 adc rsi, 0
4138 mov rax, qword ptr [-488+rbp]
4139 mul qword ptr [-144+rbp]
4140 add rcx, rax
4141 adc rdi, rdx
4142 adc rsi, 0
4143 mov rax, qword ptr [-480+rbp]
4144 mul qword ptr [-152+rbp]
4145 add rcx, rax
4146 adc rdi, rdx
4147 adc rsi, 0
4148 mov rax, qword ptr [-472+rbp]
4149 mul qword ptr [-160+rbp]
4150 add rcx, rax
4151 adc rdi, rdx
4152 adc rsi, 0
4153 mov rax, qword ptr [-464+rbp]
4154 mul qword ptr [-168+rbp]
4155 add rcx, rax
4156 adc rdi, rdx
4157 adc rsi, 0
4158 mov rax, qword ptr [-456+rbp]
4159 mul qword ptr [-176+rbp]
4160 add rcx, rax
4161 adc rdi, rdx
4162 adc rsi, 0
4163 mov rax, qword ptr [-448+rbp]
4164 mul qword ptr [-184+rbp]
4165 add rcx, rax
4166 adc rdi, rdx
4167 adc rsi, 0
4168 mov rax, qword ptr [-440+rbp]
4169 mul qword ptr [-192+rbp]
4170 add rcx, rax
4171 adc rdi, rdx
4172 adc rsi, 0
4173 mov rax, qword ptr [-432+rbp]
4174 mul qword ptr [-200+rbp]
4175 add rcx, rax
4176 adc rdi, rdx
4177 adc rsi, 0
4178 mov rax, qword ptr [-424+rbp]
4179 mul qword ptr [-208+rbp]
4180 add rcx, rax
4181 adc rdi, rdx
4182 adc rsi, 0
4183 mov rax, qword ptr [-416+rbp]
4184 mul qword ptr [-216+rbp]
4185 add rcx, rax
4186 adc rdi, rdx
4187 adc rsi, 0
4188 mov rax, qword ptr [-408+rbp]
4189 mul qword ptr [-224+rbp]
4190 add rcx, rax
4191 adc rdi, rdx
4192 adc rsi, 0
4193 mov rax, qword ptr [-400+rbp]
4194 mul qword ptr [-232+rbp]
4195 add rcx, rax
4196 adc rdi, rdx
4197 adc rsi, 0
4198 mov rax, qword ptr [-392+rbp]
4199 mul qword ptr [-240+rbp]
4200 add rcx, rax
4201 adc rdi, rdx
4202 adc rsi, 0
4203 mov rax, qword ptr [-384+rbp]
4204 mul qword ptr [-248+rbp]
4205 add rcx, rax
4206 adc rdi, rdx
4207 adc rsi, 0
4208 mov rax, qword ptr [-376+rbp]
4209 mul qword ptr [-256+rbp]
4210 add rcx, rax
4211 adc rdi, rdx
4212 adc rsi, 0
4213 mov rax, qword ptr [-368+rbp]
4214 mul qword ptr [-264+rbp]
4215 add rcx, rax
4216 adc rdi, rdx
4217 adc rsi, 0
4218 mov rax, qword ptr [-360+rbp]
4219 mul qword ptr [-272+rbp]
4220 add rcx, rax
4221 adc rdi, rdx
4222 adc rsi, 0
4223 mov rax, qword ptr [-352+rbp]
4224 mul qword ptr [-280+rbp]
4225 add rcx, rax
4226 adc rdi, rdx
4227 adc rsi, 0
4228 mov r10, rdi
4229 mov r11, rsi
4230 mov rax, qword ptr [-344+rbp]
4231 mul qword ptr [-288+rbp]
4232 add rcx, rax
4233 adc r10, rdx
4234 adc r11, 0
4235 mov qword ptr [200+r9], rcx
4236 mov rdi, r11
4237 mov rsi, r10
4238 mov rcx, r8
4239 mov rax, qword ptr [-544+rbp]
4240 mul qword ptr [-80+rbp]
4241 add rsi, rax
4242 adc rdi, rdx
4243 adc rcx, 0
4244 mov rax, qword ptr [-536+rbp]
4245 mul qword ptr [-88+rbp]
4246 add rsi, rax
4247 adc rdi, rdx
4248 adc rcx, 0
4249 mov rax, qword ptr [-528+rbp]
4250 mul qword ptr [-96+rbp]
4251 add rsi, rax
4252 adc rdi, rdx
4253 adc rcx, 0
4254 mov rax, qword ptr [-520+rbp]
4255 mul qword ptr [-104+rbp]
4256 add rsi, rax
4257 adc rdi, rdx
4258 adc rcx, 0
4259 mov rax, qword ptr [-512+rbp]
4260 mul qword ptr [-112+rbp]
4261 add rsi, rax
4262 adc rdi, rdx
4263 adc rcx, 0
4264 mov rax, qword ptr [-504+rbp]
4265 mul qword ptr [-120+rbp]
4266 add rsi, rax
4267 adc rdi, rdx
4268 adc rcx, 0
4269 mov rax, qword ptr [-496+rbp]
4270 mul qword ptr [-128+rbp]
4271 add rsi, rax
4272 adc rdi, rdx
4273 adc rcx, 0
4274 mov rax, qword ptr [-488+rbp]
4275 mul qword ptr [-136+rbp]
4276 add rsi, rax
4277 adc rdi, rdx
4278 adc rcx, 0
4279 mov rax, qword ptr [-480+rbp]
4280 mul qword ptr [-144+rbp]
4281 add rsi, rax
4282 adc rdi, rdx
4283 adc rcx, 0
4284 mov rax, qword ptr [-472+rbp]
4285 mul qword ptr [-152+rbp]
4286 add rsi, rax
4287 adc rdi, rdx
4288 adc rcx, 0
4289 mov rax, qword ptr [-464+rbp]
4290 mul qword ptr [-160+rbp]
4291 add rsi, rax
4292 adc rdi, rdx
4293 adc rcx, 0
4294 mov rax, qword ptr [-456+rbp]
4295 mul qword ptr [-168+rbp]
4296 add rsi, rax
4297 adc rdi, rdx
4298 adc rcx, 0
4299 mov rax, qword ptr [-448+rbp]
4300 mul qword ptr [-176+rbp]
4301 add rsi, rax
4302 adc rdi, rdx
4303 adc rcx, 0
4304 mov rax, qword ptr [-440+rbp]
4305 mul qword ptr [-184+rbp]
4306 add rsi, rax
4307 adc rdi, rdx
4308 adc rcx, 0
4309 mov rax, qword ptr [-432+rbp]
4310 mul qword ptr [-192+rbp]
4311 add rsi, rax
4312 adc rdi, rdx
4313 adc rcx, 0
4314 mov rax, qword ptr [-424+rbp]
4315 mul qword ptr [-200+rbp]
4316 add rsi, rax
4317 adc rdi, rdx
4318 adc rcx, 0
4319 mov rax, qword ptr [-416+rbp]
4320 mul qword ptr [-208+rbp]
4321 add rsi, rax
4322 adc rdi, rdx
4323 adc rcx, 0
4324 mov rax, qword ptr [-408+rbp]
4325 mul qword ptr [-216+rbp]
4326 add rsi, rax
4327 adc rdi, rdx
4328 adc rcx, 0
4329 mov rax, qword ptr [-400+rbp]
4330 mul qword ptr [-224+rbp]
4331 add rsi, rax
4332 adc rdi, rdx
4333 adc rcx, 0
4334 mov rax, qword ptr [-392+rbp]
4335 mul qword ptr [-232+rbp]
4336 add rsi, rax
4337 adc rdi, rdx
4338 adc rcx, 0
4339 mov rax, qword ptr [-384+rbp]
4340 mul qword ptr [-240+rbp]
4341 add rsi, rax
4342 adc rdi, rdx
4343 adc rcx, 0
4344 mov rax, qword ptr [-376+rbp]
4345 mul qword ptr [-248+rbp]
4346 add rsi, rax
4347 adc rdi, rdx
4348 adc rcx, 0
4349 mov rax, qword ptr [-368+rbp]
4350 mul qword ptr [-256+rbp]
4351 add rsi, rax
4352 adc rdi, rdx
4353 adc rcx, 0
4354 mov rax, qword ptr [-360+rbp]
4355 mul qword ptr [-264+rbp]
4356 add rsi, rax
4357 adc rdi, rdx
4358 adc rcx, 0
4359 mov rax, qword ptr [-352+rbp]
4360 mul qword ptr [-272+rbp]
4361 add rsi, rax
4362 adc rdi, rdx
4363 adc rcx, 0
4364 mov rax, qword ptr [-344+rbp]
4365 mul qword ptr [-280+rbp]
4366 add rsi, rax
4367 adc rdi, rdx
4368 adc rcx, 0
4369 mov r10, rdi
4370 mov r11, rcx
4371 mov rax, qword ptr [-336+rbp]
4372 mul qword ptr [-288+rbp]
4373 add rsi, rax
4374 adc r10, rdx
4375 adc r11, 0
4376 mov qword ptr [208+r9], rsi
4377 mov rdi, r11
4378 mov rcx, r10
4379 mov rsi, r8
4380 mov rax, qword ptr [-544+rbp]
4381 mul qword ptr [-72+rbp]
4382 add rcx, rax
4383 adc rdi, rdx
4384 adc rsi, 0
4385 mov rax, qword ptr [-536+rbp]
4386 mul qword ptr [-80+rbp]
4387 add rcx, rax
4388 adc rdi, rdx
4389 adc rsi, 0
4390 mov rax, qword ptr [-528+rbp]
4391 mul qword ptr [-88+rbp]
4392 add rcx, rax
4393 adc rdi, rdx
4394 adc rsi, 0
4395 mov rax, qword ptr [-520+rbp]
4396 mul qword ptr [-96+rbp]
4397 add rcx, rax
4398 adc rdi, rdx
4399 adc rsi, 0
4400 mov rax, qword ptr [-512+rbp]
4401 mul qword ptr [-104+rbp]
4402 add rcx, rax
4403 adc rdi, rdx
4404 adc rsi, 0
4405 mov rax, qword ptr [-504+rbp]
4406 mul qword ptr [-112+rbp]
4407 add rcx, rax
4408 adc rdi, rdx
4409 adc rsi, 0
4410 mov rax, qword ptr [-496+rbp]
4411 mul qword ptr [-120+rbp]
4412 add rcx, rax
4413 adc rdi, rdx
4414 adc rsi, 0
4415 mov rax, qword ptr [-488+rbp]
4416 mul qword ptr [-128+rbp]
4417 add rcx, rax
4418 adc rdi, rdx
4419 adc rsi, 0
4420 mov rax, qword ptr [-480+rbp]
4421 mul qword ptr [-136+rbp]
4422 add rcx, rax
4423 adc rdi, rdx
4424 adc rsi, 0
4425 mov rax, qword ptr [-472+rbp]
4426 mul qword ptr [-144+rbp]
4427 add rcx, rax
4428 adc rdi, rdx
4429 adc rsi, 0
4430 mov rax, qword ptr [-464+rbp]
4431 mul qword ptr [-152+rbp]
4432 add rcx, rax
4433 adc rdi, rdx
4434 adc rsi, 0
4435 mov rax, qword ptr [-456+rbp]
4436 mul qword ptr [-160+rbp]
4437 add rcx, rax
4438 adc rdi, rdx
4439 adc rsi, 0
4440 mov rax, qword ptr [-448+rbp]
4441 mul qword ptr [-168+rbp]
4442 add rcx, rax
4443 adc rdi, rdx
4444 adc rsi, 0
4445 mov rax, qword ptr [-440+rbp]
4446 mul qword ptr [-176+rbp]
4447 add rcx, rax
4448 adc rdi, rdx
4449 adc rsi, 0
4450 mov rax, qword ptr [-432+rbp]
4451 mul qword ptr [-184+rbp]
4452 add rcx, rax
4453 adc rdi, rdx
4454 adc rsi, 0
4455 mov rax, qword ptr [-424+rbp]
4456 mul qword ptr [-192+rbp]
4457 add rcx, rax
4458 adc rdi, rdx
4459 adc rsi, 0
4460 mov rax, qword ptr [-416+rbp]
4461 mul qword ptr [-200+rbp]
4462 add rcx, rax
4463 adc rdi, rdx
4464 adc rsi, 0
4465 mov rax, qword ptr [-408+rbp]
4466 mul qword ptr [-208+rbp]
4467 add rcx, rax
4468 adc rdi, rdx
4469 adc rsi, 0
4470 mov rax, qword ptr [-400+rbp]
4471 mul qword ptr [-216+rbp]
4472 add rcx, rax
4473 adc rdi, rdx
4474 adc rsi, 0
4475 mov rax, qword ptr [-392+rbp]
4476 mul qword ptr [-224+rbp]
4477 add rcx, rax
4478 adc rdi, rdx
4479 adc rsi, 0
4480 mov rax, qword ptr [-384+rbp]
4481 mul qword ptr [-232+rbp]
4482 add rcx, rax
4483 adc rdi, rdx
4484 adc rsi, 0
4485 mov rax, qword ptr [-376+rbp]
4486 mul qword ptr [-240+rbp]
4487 add rcx, rax
4488 adc rdi, rdx
4489 adc rsi, 0
4490 mov rax, qword ptr [-368+rbp]
4491 mul qword ptr [-248+rbp]
4492 add rcx, rax
4493 adc rdi, rdx
4494 adc rsi, 0
4495 mov rax, qword ptr [-360+rbp]
4496 mul qword ptr [-256+rbp]
4497 add rcx, rax
4498 adc rdi, rdx
4499 adc rsi, 0
4500 mov rax, qword ptr [-352+rbp]
4501 mul qword ptr [-264+rbp]
4502 add rcx, rax
4503 adc rdi, rdx
4504 adc rsi, 0
4505 mov rax, qword ptr [-344+rbp]
4506 mul qword ptr [-272+rbp]
4507 add rcx, rax
4508 adc rdi, rdx
4509 adc rsi, 0
4510 mov rax, qword ptr [-336+rbp]
4511 mul qword ptr [-280+rbp]
4512 add rcx, rax
4513 adc rdi, rdx
4514 adc rsi, 0
4515 mov r10, rdi
4516 mov r11, rsi
4517 mov rax, qword ptr [-328+rbp]
4518 mul qword ptr [-288+rbp]
4519 add rcx, rax
4520 adc r10, rdx
4521 adc r11, 0
4522 mov qword ptr [216+r9], rcx
4523 mov rdi, r11
4524 mov rsi, r10
4525 mov rcx, r8
4526 mov rax, qword ptr [-544+rbp]
4527 mul qword ptr [-64+rbp]
4528 add rsi, rax
4529 adc rdi, rdx
4530 adc rcx, 0
4531 mov rax, qword ptr [-536+rbp]
4532 mul qword ptr [-72+rbp]
4533 add rsi, rax
4534 adc rdi, rdx
4535 adc rcx, 0
4536 mov rax, qword ptr [-528+rbp]
4537 mul qword ptr [-80+rbp]
4538 add rsi, rax
4539 adc rdi, rdx
4540 adc rcx, 0
4541 mov rax, qword ptr [-520+rbp]
4542 mul qword ptr [-88+rbp]
4543 add rsi, rax
4544 adc rdi, rdx
4545 adc rcx, 0
4546 mov rax, qword ptr [-512+rbp]
4547 mul qword ptr [-96+rbp]
4548 add rsi, rax
4549 adc rdi, rdx
4550 adc rcx, 0
4551 mov rax, qword ptr [-504+rbp]
4552 mul qword ptr [-104+rbp]
4553 add rsi, rax
4554 adc rdi, rdx
4555 adc rcx, 0
4556 mov rax, qword ptr [-496+rbp]
4557 mul qword ptr [-112+rbp]
4558 add rsi, rax
4559 adc rdi, rdx
4560 adc rcx, 0
4561 mov rax, qword ptr [-488+rbp]
4562 mul qword ptr [-120+rbp]
4563 add rsi, rax
4564 adc rdi, rdx
4565 adc rcx, 0
4566 mov rax, qword ptr [-480+rbp]
4567 mul qword ptr [-128+rbp]
4568 add rsi, rax
4569 adc rdi, rdx
4570 adc rcx, 0
4571 mov rax, qword ptr [-472+rbp]
4572 mul qword ptr [-136+rbp]
4573 add rsi, rax
4574 adc rdi, rdx
4575 adc rcx, 0
4576 mov rax, qword ptr [-464+rbp]
4577 mul qword ptr [-144+rbp]
4578 add rsi, rax
4579 adc rdi, rdx
4580 adc rcx, 0
4581 mov rax, qword ptr [-456+rbp]
4582 mul qword ptr [-152+rbp]
4583 add rsi, rax
4584 adc rdi, rdx
4585 adc rcx, 0
4586 mov rax, qword ptr [-448+rbp]
4587 mul qword ptr [-160+rbp]
4588 add rsi, rax
4589 adc rdi, rdx
4590 adc rcx, 0
4591 mov rax, qword ptr [-440+rbp]
4592 mul qword ptr [-168+rbp]
4593 add rsi, rax
4594 adc rdi, rdx
4595 adc rcx, 0
4596 mov rax, qword ptr [-432+rbp]
4597 mul qword ptr [-176+rbp]
4598 add rsi, rax
4599 adc rdi, rdx
4600 adc rcx, 0
4601 mov rax, qword ptr [-424+rbp]
4602 mul qword ptr [-184+rbp]
4603 add rsi, rax
4604 adc rdi, rdx
4605 adc rcx, 0
4606 mov rax, qword ptr [-416+rbp]
4607 mul qword ptr [-192+rbp]
4608 add rsi, rax
4609 adc rdi, rdx
4610 adc rcx, 0
4611 mov rax, qword ptr [-408+rbp]
4612 mul qword ptr [-200+rbp]
4613 add rsi, rax
4614 adc rdi, rdx
4615 adc rcx, 0
4616 mov rax, qword ptr [-400+rbp]
4617 mul qword ptr [-208+rbp]
4618 add rsi, rax
4619 adc rdi, rdx
4620 adc rcx, 0
4621 mov rax, qword ptr [-392+rbp]
4622 mul qword ptr [-216+rbp]
4623 add rsi, rax
4624 adc rdi, rdx
4625 adc rcx, 0
4626 mov rax, qword ptr [-384+rbp]
4627 mul qword ptr [-224+rbp]
4628 add rsi, rax
4629 adc rdi, rdx
4630 adc rcx, 0
4631 mov rax, qword ptr [-376+rbp]
4632 mul qword ptr [-232+rbp]
4633 add rsi, rax
4634 adc rdi, rdx
4635 adc rcx, 0
4636 mov rax, qword ptr [-368+rbp]
4637 mul qword ptr [-240+rbp]
4638 add rsi, rax
4639 adc rdi, rdx
4640 adc rcx, 0
4641 mov rax, qword ptr [-360+rbp]
4642 mul qword ptr [-248+rbp]
4643 add rsi, rax
4644 adc rdi, rdx
4645 adc rcx, 0
4646 mov rax, qword ptr [-352+rbp]
4647 mul qword ptr [-256+rbp]
4648 add rsi, rax
4649 adc rdi, rdx
4650 adc rcx, 0
4651 mov rax, qword ptr [-344+rbp]
4652 mul qword ptr [-264+rbp]
4653 add rsi, rax
4654 adc rdi, rdx
4655 adc rcx, 0
4656 mov rax, qword ptr [-336+rbp]
4657 mul qword ptr [-272+rbp]
4658 add rsi, rax
4659 adc rdi, rdx
4660 adc rcx, 0
4661 mov rax, qword ptr [-328+rbp]
4662 mul qword ptr [-280+rbp]
4663 add rsi, rax
4664 adc rdi, rdx
4665 adc rcx, 0
4666 mov r10, rdi
4667 mov r11, rcx
4668 mov rax, qword ptr [-320+rbp]
4669 mul qword ptr [-288+rbp]
4670 add rsi, rax
4671 adc r10, rdx
4672 adc r11, 0
4673 mov qword ptr [224+r9], rsi
4674 mov rdi, r11
4675 mov rcx, r10
4676 mov rsi, r8
4677 mov rax, qword ptr [-544+rbp]
4678 mul qword ptr [-56+rbp]
4679 add rcx, rax
4680 adc rdi, rdx
4681 adc rsi, 0
4682 mov rax, qword ptr [-536+rbp]
4683 mul qword ptr [-64+rbp]
4684 add rcx, rax
4685 adc rdi, rdx
4686 adc rsi, 0
4687 mov rax, qword ptr [-528+rbp]
4688 mul qword ptr [-72+rbp]
4689 add rcx, rax
4690 adc rdi, rdx
4691 adc rsi, 0
4692 mov rax, qword ptr [-520+rbp]
4693 mul qword ptr [-80+rbp]
4694 add rcx, rax
4695 adc rdi, rdx
4696 adc rsi, 0
4697 mov rax, qword ptr [-512+rbp]
4698 mul qword ptr [-88+rbp]
4699 add rcx, rax
4700 adc rdi, rdx
4701 adc rsi, 0
4702 mov rax, qword ptr [-504+rbp]
4703 mul qword ptr [-96+rbp]
4704 add rcx, rax
4705 adc rdi, rdx
4706 adc rsi, 0
4707 mov rax, qword ptr [-496+rbp]
4708 mul qword ptr [-104+rbp]
4709 add rcx, rax
4710 adc rdi, rdx
4711 adc rsi, 0
4712 mov rax, qword ptr [-488+rbp]
4713 mul qword ptr [-112+rbp]
4714 add rcx, rax
4715 adc rdi, rdx
4716 adc rsi, 0
4717 mov rax, qword ptr [-480+rbp]
4718 mul qword ptr [-120+rbp]
4719 add rcx, rax
4720 adc rdi, rdx
4721 adc rsi, 0
4722 mov rax, qword ptr [-472+rbp]
4723 mul qword ptr [-128+rbp]
4724 add rcx, rax
4725 adc rdi, rdx
4726 adc rsi, 0
4727 mov rax, qword ptr [-464+rbp]
4728 mul qword ptr [-136+rbp]
4729 add rcx, rax
4730 adc rdi, rdx
4731 adc rsi, 0
4732 mov rax, qword ptr [-456+rbp]
4733 mul qword ptr [-144+rbp]
4734 add rcx, rax
4735 adc rdi, rdx
4736 adc rsi, 0
4737 mov rax, qword ptr [-448+rbp]
4738 mul qword ptr [-152+rbp]
4739 add rcx, rax
4740 adc rdi, rdx
4741 adc rsi, 0
4742 mov rax, qword ptr [-440+rbp]
4743 mul qword ptr [-160+rbp]
4744 add rcx, rax
4745 adc rdi, rdx
4746 adc rsi, 0
4747 mov rax, qword ptr [-432+rbp]
4748 mul qword ptr [-168+rbp]
4749 add rcx, rax
4750 adc rdi, rdx
4751 adc rsi, 0
4752 mov rax, qword ptr [-424+rbp]
4753 mul qword ptr [-176+rbp]
4754 add rcx, rax
4755 adc rdi, rdx
4756 adc rsi, 0
4757 mov rax, qword ptr [-416+rbp]
4758 mul qword ptr [-184+rbp]
4759 add rcx, rax
4760 adc rdi, rdx
4761 adc rsi, 0
4762 mov rax, qword ptr [-408+rbp]
4763 mul qword ptr [-192+rbp]
4764 add rcx, rax
4765 adc rdi, rdx
4766 adc rsi, 0
4767 mov rax, qword ptr [-400+rbp]
4768 mul qword ptr [-200+rbp]
4769 add rcx, rax
4770 adc rdi, rdx
4771 adc rsi, 0
4772 mov rax, qword ptr [-392+rbp]
4773 mul qword ptr [-208+rbp]
4774 add rcx, rax
4775 adc rdi, rdx
4776 adc rsi, 0
4777 mov rax, qword ptr [-384+rbp]
4778 mul qword ptr [-216+rbp]
4779 add rcx, rax
4780 adc rdi, rdx
4781 adc rsi, 0
4782 mov rax, qword ptr [-376+rbp]
4783 mul qword ptr [-224+rbp]
4784 add rcx, rax
4785 adc rdi, rdx
4786 adc rsi, 0
4787 mov rax, qword ptr [-368+rbp]
4788 mul qword ptr [-232+rbp]
4789 add rcx, rax
4790 adc rdi, rdx
4791 adc rsi, 0
4792 mov rax, qword ptr [-360+rbp]
4793 mul qword ptr [-240+rbp]
4794 add rcx, rax
4795 adc rdi, rdx
4796 adc rsi, 0
4797 mov rax, qword ptr [-352+rbp]
4798 mul qword ptr [-248+rbp]
4799 add rcx, rax
4800 adc rdi, rdx
4801 adc rsi, 0
4802 mov rax, qword ptr [-344+rbp]
4803 mul qword ptr [-256+rbp]
4804 add rcx, rax
4805 adc rdi, rdx
4806 adc rsi, 0
4807 mov rax, qword ptr [-336+rbp]
4808 mul qword ptr [-264+rbp]
4809 add rcx, rax
4810 adc rdi, rdx
4811 adc rsi, 0
4812 mov rax, qword ptr [-328+rbp]
4813 mul qword ptr [-272+rbp]
4814 add rcx, rax
4815 adc rdi, rdx
4816 adc rsi, 0
4817 mov rax, qword ptr [-320+rbp]
4818 mul qword ptr [-280+rbp]
4819 add rcx, rax
4820 adc rdi, rdx
4821 adc rsi, 0
4822 mov r10, rdi
4823 mov r11, rsi
4824 mov rax, qword ptr [-312+rbp]
4825 mul qword ptr [-288+rbp]
4826 add rcx, rax
4827 adc r10, rdx
4828 adc r11, 0
4829 mov qword ptr [232+r9], rcx
4830 mov rdi, r11
4831 mov rsi, r10
4832 mov rcx, r8
4833 mov rax, qword ptr [-544+rbp]
4834 mul qword ptr [-48+rbp]
4835 add rsi, rax
4836 adc rdi, rdx
4837 adc rcx, 0
4838 mov rax, qword ptr [-536+rbp]
4839 mul qword ptr [-56+rbp]
4840 add rsi, rax
4841 adc rdi, rdx
4842 adc rcx, 0
4843 mov rax, qword ptr [-528+rbp]
4844 mul qword ptr [-64+rbp]
4845 add rsi, rax
4846 adc rdi, rdx
4847 adc rcx, 0
4848 mov rax, qword ptr [-520+rbp]
4849 mul qword ptr [-72+rbp]
4850 add rsi, rax
4851 adc rdi, rdx
4852 adc rcx, 0
4853 mov rax, qword ptr [-512+rbp]
4854 mul qword ptr [-80+rbp]
4855 add rsi, rax
4856 adc rdi, rdx
4857 adc rcx, 0
4858 mov rax, qword ptr [-504+rbp]
4859 mul qword ptr [-88+rbp]
4860 add rsi, rax
4861 adc rdi, rdx
4862 adc rcx, 0
4863 mov rax, qword ptr [-496+rbp]
4864 mul qword ptr [-96+rbp]
4865 add rsi, rax
4866 adc rdi, rdx
4867 adc rcx, 0
4868 mov rax, qword ptr [-488+rbp]
4869 mul qword ptr [-104+rbp]
4870 add rsi, rax
4871 adc rdi, rdx
4872 adc rcx, 0
4873 mov rax, qword ptr [-480+rbp]
4874 mul qword ptr [-112+rbp]
4875 add rsi, rax
4876 adc rdi, rdx
4877 adc rcx, 0
4878 mov rax, qword ptr [-472+rbp]
4879 mul qword ptr [-120+rbp]
4880 add rsi, rax
4881 adc rdi, rdx
4882 adc rcx, 0
4883 mov rax, qword ptr [-464+rbp]
4884 mul qword ptr [-128+rbp]
4885 add rsi, rax
4886 adc rdi, rdx
4887 adc rcx, 0
4888 mov rax, qword ptr [-456+rbp]
4889 mul qword ptr [-136+rbp]
4890 add rsi, rax
4891 adc rdi, rdx
4892 adc rcx, 0
4893 mov rax, qword ptr [-448+rbp]
4894 mul qword ptr [-144+rbp]
4895 add rsi, rax
4896 adc rdi, rdx
4897 adc rcx, 0
4898 mov rax, qword ptr [-440+rbp]
4899 mul qword ptr [-152+rbp]
4900 add rsi, rax
4901 adc rdi, rdx
4902 adc rcx, 0
4903 mov rax, qword ptr [-432+rbp]
4904 mul qword ptr [-160+rbp]
4905 add rsi, rax
4906 adc rdi, rdx
4907 adc rcx, 0
4908 mov rax, qword ptr [-424+rbp]
4909 mul qword ptr [-168+rbp]
4910 add rsi, rax
4911 adc rdi, rdx
4912 adc rcx, 0
4913 mov rax, qword ptr [-416+rbp]
4914 mul qword ptr [-176+rbp]
4915 add rsi, rax
4916 adc rdi, rdx
4917 adc rcx, 0
4918 mov rax, qword ptr [-408+rbp]
4919 mul qword ptr [-184+rbp]
4920 add rsi, rax
4921 adc rdi, rdx
4922 adc rcx, 0
4923 mov rax, qword ptr [-400+rbp]
4924 mul qword ptr [-192+rbp]
4925 add rsi, rax
4926 adc rdi, rdx
4927 adc rcx, 0
4928 mov rax, qword ptr [-392+rbp]
4929 mul qword ptr [-200+rbp]
4930 add rsi, rax
4931 adc rdi, rdx
4932 adc rcx, 0
4933 mov rax, qword ptr [-384+rbp]
4934 mul qword ptr [-208+rbp]
4935 add rsi, rax
4936 adc rdi, rdx
4937 adc rcx, 0
4938 mov rax, qword ptr [-376+rbp]
4939 mul qword ptr [-216+rbp]
4940 add rsi, rax
4941 adc rdi, rdx
4942 adc rcx, 0
4943 mov rax, qword ptr [-368+rbp]
4944 mul qword ptr [-224+rbp]
4945 add rsi, rax
4946 adc rdi, rdx
4947 adc rcx, 0
4948 mov rax, qword ptr [-360+rbp]
4949 mul qword ptr [-232+rbp]
4950 add rsi, rax
4951 adc rdi, rdx
4952 adc rcx, 0
4953 mov rax, qword ptr [-352+rbp]
4954 mul qword ptr [-240+rbp]
4955 add rsi, rax
4956 adc rdi, rdx
4957 adc rcx, 0
4958 mov rax, qword ptr [-344+rbp]
4959 mul qword ptr [-248+rbp]
4960 add rsi, rax
4961 adc rdi, rdx
4962 adc rcx, 0
4963 mov rax, qword ptr [-336+rbp]
4964 mul qword ptr [-256+rbp]
4965 add rsi, rax
4966 adc rdi, rdx
4967 adc rcx, 0
4968 mov rax, qword ptr [-328+rbp]
4969 mul qword ptr [-264+rbp]
4970 add rsi, rax
4971 adc rdi, rdx
4972 adc rcx, 0
4973 mov rax, qword ptr [-320+rbp]
4974 mul qword ptr [-272+rbp]
4975 add rsi, rax
4976 adc rdi, rdx
4977 adc rcx, 0
4978 mov rax, qword ptr [-312+rbp]
4979 mul qword ptr [-280+rbp]
4980 add rsi, rax
4981 adc rdi, rdx
4982 adc rcx, 0
4983 mov r10, rdi
4984 mov r11, rcx
4985 mov rax, qword ptr [-304+rbp]
4986 mul qword ptr [-288+rbp]
4987 add rsi, rax
4988 adc r10, rdx
4989 adc r11, 0
4990 mov qword ptr [240+r9], rsi
4991 mov rdi, r11
4992 mov rcx, r10
4993 mov rsi, r8
4994 mov rax, qword ptr [-544+rbp]
4995 mul qword ptr [-40+rbp]
4996 add rcx, rax
4997 adc rdi, rdx
4998 adc rsi, 0
4999 mov rax, qword ptr [-536+rbp]
5000 mul qword ptr [-48+rbp]
5001 add rcx, rax
5002 adc rdi, rdx
5003 adc rsi, 0
5004 mov rax, qword ptr [-528+rbp]
5005 mul qword ptr [-56+rbp]
5006 add rcx, rax
5007 adc rdi, rdx
5008 adc rsi, 0
5009 mov rax, qword ptr [-520+rbp]
5010 mul qword ptr [-64+rbp]
5011 add rcx, rax
5012 adc rdi, rdx
5013 adc rsi, 0
5014 mov rax, qword ptr [-512+rbp]
5015 mul qword ptr [-72+rbp]
5016 add rcx, rax
5017 adc rdi, rdx
5018 adc rsi, 0
5019 mov rax, qword ptr [-504+rbp]
5020 mul qword ptr [-80+rbp]
5021 add rcx, rax
5022 adc rdi, rdx
5023 adc rsi, 0
5024 mov rax, qword ptr [-496+rbp]
5025 mul qword ptr [-88+rbp]
5026 add rcx, rax
5027 adc rdi, rdx
5028 adc rsi, 0
5029 mov rax, qword ptr [-488+rbp]
5030 mul qword ptr [-96+rbp]
5031 add rcx, rax
5032 adc rdi, rdx
5033 adc rsi, 0
5034 mov rax, qword ptr [-480+rbp]
5035 mul qword ptr [-104+rbp]
5036 add rcx, rax
5037 adc rdi, rdx
5038 adc rsi, 0
5039 mov rax, qword ptr [-472+rbp]
5040 mul qword ptr [-112+rbp]
5041 add rcx, rax
5042 adc rdi, rdx
5043 adc rsi, 0
5044 mov rax, qword ptr [-464+rbp]
5045 mul qword ptr [-120+rbp]
5046 add rcx, rax
5047 adc rdi, rdx
5048 adc rsi, 0
5049 mov rax, qword ptr [-456+rbp]
5050 mul qword ptr [-128+rbp]
5051 add rcx, rax
5052 adc rdi, rdx
5053 adc rsi, 0
5054 mov rax, qword ptr [-448+rbp]
5055 mul qword ptr [-136+rbp]
5056 add rcx, rax
5057 adc rdi, rdx
5058 adc rsi, 0
5059 mov rax, qword ptr [-440+rbp]
5060 mul qword ptr [-144+rbp]
5061 add rcx, rax
5062 adc rdi, rdx
5063 adc rsi, 0
5064 mov rax, qword ptr [-432+rbp]
5065 mul qword ptr [-152+rbp]
5066 add rcx, rax
5067 adc rdi, rdx
5068 adc rsi, 0
5069 mov rax, qword ptr [-424+rbp]
5070 mul qword ptr [-160+rbp]
5071 add rcx, rax
5072 adc rdi, rdx
5073 adc rsi, 0
5074 mov rax, qword ptr [-416+rbp]
5075 mul qword ptr [-168+rbp]
5076 add rcx, rax
5077 adc rdi, rdx
5078 adc rsi, 0
5079 mov rax, qword ptr [-408+rbp]
5080 mul qword ptr [-176+rbp]
5081 add rcx, rax
5082 adc rdi, rdx
5083 adc rsi, 0
5084 mov rax, qword ptr [-400+rbp]
5085 mul qword ptr [-184+rbp]
5086 add rcx, rax
5087 adc rdi, rdx
5088 adc rsi, 0
5089 mov rax, qword ptr [-392+rbp]
5090 mul qword ptr [-192+rbp]
5091 add rcx, rax
5092 adc rdi, rdx
5093 adc rsi, 0
5094 mov rax, qword ptr [-384+rbp]
5095 mul qword ptr [-200+rbp]
5096 add rcx, rax
5097 adc rdi, rdx
5098 adc rsi, 0
5099 mov rax, qword ptr [-376+rbp]
5100 mul qword ptr [-208+rbp]
5101 add rcx, rax
5102 adc rdi, rdx
5103 adc rsi, 0
5104 mov rax, qword ptr [-368+rbp]
5105 mul qword ptr [-216+rbp]
5106 add rcx, rax
5107 adc rdi, rdx
5108 adc rsi, 0
5109 mov rax, qword ptr [-360+rbp]
5110 mul qword ptr [-224+rbp]
5111 add rcx, rax
5112 adc rdi, rdx
5113 adc rsi, 0
5114 mov rax, qword ptr [-352+rbp]
5115 mul qword ptr [-232+rbp]
5116 add rcx, rax
5117 adc rdi, rdx
5118 adc rsi, 0
5119 mov rax, qword ptr [-344+rbp]
5120 mul qword ptr [-240+rbp]
5121 add rcx, rax
5122 adc rdi, rdx
5123 adc rsi, 0
5124 mov rax, qword ptr [-336+rbp]
5125 mul qword ptr [-248+rbp]
5126 add rcx, rax
5127 adc rdi, rdx
5128 adc rsi, 0
5129 mov rax, qword ptr [-328+rbp]
5130 mul qword ptr [-256+rbp]
5131 add rcx, rax
5132 adc rdi, rdx
5133 adc rsi, 0
5134 mov rax, qword ptr [-320+rbp]
5135 mul qword ptr [-264+rbp]
5136 add rcx, rax
5137 adc rdi, rdx
5138 adc rsi, 0
5139 mov rax, qword ptr [-312+rbp]
5140 mul qword ptr [-272+rbp]
5141 add rcx, rax
5142 adc rdi, rdx
5143 adc rsi, 0
5144 mov rax, qword ptr [-304+rbp]
5145 mul qword ptr [-280+rbp]
5146 add rcx, rax
5147 adc rdi, rdx
5148 adc rsi, 0
5149 mov r10, rdi
5150 mov r11, rsi
5151 mov rax, qword ptr [-296+rbp]
5152 mul qword ptr [-288+rbp]
5153 add rcx, rax
5154 adc r10, rdx
5155 adc r11, 0
5156 mov qword ptr [248+r9], rcx
5157 mov rdi, r11
5158 mov rsi, r10
5159 mov rcx, r8
5160 mov rax, qword ptr [-536+rbp]
5161 mul qword ptr [-40+rbp]
5162 add rsi, rax
5163 adc rdi, rdx
5164 adc rcx, 0
5165 mov rax, qword ptr [-528+rbp]
5166 mul qword ptr [-48+rbp]
5167 add rsi, rax
5168 adc rdi, rdx
5169 adc rcx, 0
5170 mov rax, qword ptr [-520+rbp]
5171 mul qword ptr [-56+rbp]
5172 add rsi, rax
5173 adc rdi, rdx
5174 adc rcx, 0
5175 mov rax, qword ptr [-512+rbp]
5176 mul qword ptr [-64+rbp]
5177 add rsi, rax
5178 adc rdi, rdx
5179 adc rcx, 0
5180 mov rax, qword ptr [-504+rbp]
5181 mul qword ptr [-72+rbp]
5182 add rsi, rax
5183 adc rdi, rdx
5184 adc rcx, 0
5185 mov rax, qword ptr [-496+rbp]
5186 mul qword ptr [-80+rbp]
5187 add rsi, rax
5188 adc rdi, rdx
5189 adc rcx, 0
5190 mov rax, qword ptr [-488+rbp]
5191 mul qword ptr [-88+rbp]
5192 add rsi, rax
5193 adc rdi, rdx
5194 adc rcx, 0
5195 mov rax, qword ptr [-480+rbp]
5196 mul qword ptr [-96+rbp]
5197 add rsi, rax
5198 adc rdi, rdx
5199 adc rcx, 0
5200 mov rax, qword ptr [-472+rbp]
5201 mul qword ptr [-104+rbp]
5202 add rsi, rax
5203 adc rdi, rdx
5204 adc rcx, 0
5205 mov rax, qword ptr [-464+rbp]
5206 mul qword ptr [-112+rbp]
5207 add rsi, rax
5208 adc rdi, rdx
5209 adc rcx, 0
5210 mov rax, qword ptr [-456+rbp]
5211 mul qword ptr [-120+rbp]
5212 add rsi, rax
5213 adc rdi, rdx
5214 adc rcx, 0
5215 mov rax, qword ptr [-448+rbp]
5216 mul qword ptr [-128+rbp]
5217 add rsi, rax
5218 adc rdi, rdx
5219 adc rcx, 0
5220 mov rax, qword ptr [-440+rbp]
5221 mul qword ptr [-136+rbp]
5222 add rsi, rax
5223 adc rdi, rdx
5224 adc rcx, 0
5225 mov rax, qword ptr [-432+rbp]
5226 mul qword ptr [-144+rbp]
5227 add rsi, rax
5228 adc rdi, rdx
5229 adc rcx, 0
5230 mov rax, qword ptr [-424+rbp]
5231 mul qword ptr [-152+rbp]
5232 add rsi, rax
5233 adc rdi, rdx
5234 adc rcx, 0
5235 mov rax, qword ptr [-416+rbp]
5236 mul qword ptr [-160+rbp]
5237 add rsi, rax
5238 adc rdi, rdx
5239 adc rcx, 0
5240 mov rax, qword ptr [-408+rbp]
5241 mul qword ptr [-168+rbp]
5242 add rsi, rax
5243 adc rdi, rdx
5244 adc rcx, 0
5245 mov rax, qword ptr [-400+rbp]
5246 mul qword ptr [-176+rbp]
5247 add rsi, rax
5248 adc rdi, rdx
5249 adc rcx, 0
5250 mov rax, qword ptr [-392+rbp]
5251 mul qword ptr [-184+rbp]
5252 add rsi, rax
5253 adc rdi, rdx
5254 adc rcx, 0
5255 mov rax, qword ptr [-384+rbp]
5256 mul qword ptr [-192+rbp]
5257 add rsi, rax
5258 adc rdi, rdx
5259 adc rcx, 0
5260 mov rax, qword ptr [-376+rbp]
5261 mul qword ptr [-200+rbp]
5262 add rsi, rax
5263 adc rdi, rdx
5264 adc rcx, 0
5265 mov rax, qword ptr [-368+rbp]
5266 mul qword ptr [-208+rbp]
5267 add rsi, rax
5268 adc rdi, rdx
5269 adc rcx, 0
5270 mov rax, qword ptr [-360+rbp]
5271 mul qword ptr [-216+rbp]
5272 add rsi, rax
5273 adc rdi, rdx
5274 adc rcx, 0
5275 mov rax, qword ptr [-352+rbp]
5276 mul qword ptr [-224+rbp]
5277 add rsi, rax
5278 adc rdi, rdx
5279 adc rcx, 0
5280 mov rax, qword ptr [-344+rbp]
5281 mul qword ptr [-232+rbp]
5282 add rsi, rax
5283 adc rdi, rdx
5284 adc rcx, 0
5285 mov rax, qword ptr [-336+rbp]
5286 mul qword ptr [-240+rbp]
5287 add rsi, rax
5288 adc rdi, rdx
5289 adc rcx, 0
5290 mov rax, qword ptr [-328+rbp]
5291 mul qword ptr [-248+rbp]
5292 add rsi, rax
5293 adc rdi, rdx
5294 adc rcx, 0
5295 mov rax, qword ptr [-320+rbp]
5296 mul qword ptr [-256+rbp]
5297 add rsi, rax
5298 adc rdi, rdx
5299 adc rcx, 0
5300 mov rax, qword ptr [-312+rbp]
5301 mul qword ptr [-264+rbp]
5302 add rsi, rax
5303 adc rdi, rdx
5304 adc rcx, 0
5305 mov rax, qword ptr [-304+rbp]
5306 mul qword ptr [-272+rbp]
5307 add rsi, rax
5308 adc rdi, rdx
5309 adc rcx, 0
5310 mov r10, rdi
5311 mov r11, rcx
5312 mov rax, qword ptr [-296+rbp]
5313 mul qword ptr [-280+rbp]
5314 add rsi, rax
5315 adc r10, rdx
5316 adc r11, 0
5317 mov qword ptr [256+r9], rsi
5318 mov rdi, r11
5319 mov rcx, r10
5320 mov rsi, r8
5321 mov rax, qword ptr [-528+rbp]
5322 mul qword ptr [-40+rbp]
5323 add rcx, rax
5324 adc rdi, rdx
5325 adc rsi, 0
5326 mov rax, qword ptr [-520+rbp]
5327 mul qword ptr [-48+rbp]
5328 add rcx, rax
5329 adc rdi, rdx
5330 adc rsi, 0
5331 mov rax, qword ptr [-512+rbp]
5332 mul qword ptr [-56+rbp]
5333 add rcx, rax
5334 adc rdi, rdx
5335 adc rsi, 0
5336 mov rax, qword ptr [-504+rbp]
5337 mul qword ptr [-64+rbp]
5338 add rcx, rax
5339 adc rdi, rdx
5340 adc rsi, 0
5341 mov rax, qword ptr [-496+rbp]
5342 mul qword ptr [-72+rbp]
5343 add rcx, rax
5344 adc rdi, rdx
5345 adc rsi, 0
5346 mov rax, qword ptr [-488+rbp]
5347 mul qword ptr [-80+rbp]
5348 add rcx, rax
5349 adc rdi, rdx
5350 adc rsi, 0
5351 mov rax, qword ptr [-480+rbp]
5352 mul qword ptr [-88+rbp]
5353 add rcx, rax
5354 adc rdi, rdx
5355 adc rsi, 0
5356 mov rax, qword ptr [-472+rbp]
5357 mul qword ptr [-96+rbp]
5358 add rcx, rax
5359 adc rdi, rdx
5360 adc rsi, 0
5361 mov rax, qword ptr [-464+rbp]
5362 mul qword ptr [-104+rbp]
5363 add rcx, rax
5364 adc rdi, rdx
5365 adc rsi, 0
5366 mov rax, qword ptr [-456+rbp]
5367 mul qword ptr [-112+rbp]
5368 add rcx, rax
5369 adc rdi, rdx
5370 adc rsi, 0
5371 mov rax, qword ptr [-448+rbp]
5372 mul qword ptr [-120+rbp]
5373 add rcx, rax
5374 adc rdi, rdx
5375 adc rsi, 0
5376 mov rax, qword ptr [-440+rbp]
5377 mul qword ptr [-128+rbp]
5378 add rcx, rax
5379 adc rdi, rdx
5380 adc rsi, 0
5381 mov rax, qword ptr [-432+rbp]
5382 mul qword ptr [-136+rbp]
5383 add rcx, rax
5384 adc rdi, rdx
5385 adc rsi, 0
5386 mov rax, qword ptr [-424+rbp]
5387 mul qword ptr [-144+rbp]
5388 add rcx, rax
5389 adc rdi, rdx
5390 adc rsi, 0
5391 mov rax, qword ptr [-416+rbp]
5392 mul qword ptr [-152+rbp]
5393 add rcx, rax
5394 adc rdi, rdx
5395 adc rsi, 0
5396 mov rax, qword ptr [-408+rbp]
5397 mul qword ptr [-160+rbp]
5398 add rcx, rax
5399 adc rdi, rdx
5400 adc rsi, 0
5401 mov rax, qword ptr [-400+rbp]
5402 mul qword ptr [-168+rbp]
5403 add rcx, rax
5404 adc rdi, rdx
5405 adc rsi, 0
5406 mov rax, qword ptr [-392+rbp]
5407 mul qword ptr [-176+rbp]
5408 add rcx, rax
5409 adc rdi, rdx
5410 adc rsi, 0
5411 mov rax, qword ptr [-384+rbp]
5412 mul qword ptr [-184+rbp]
5413 add rcx, rax
5414 adc rdi, rdx
5415 adc rsi, 0
5416 mov rax, qword ptr [-376+rbp]
5417 mul qword ptr [-192+rbp]
5418 add rcx, rax
5419 adc rdi, rdx
5420 adc rsi, 0
5421 mov rax, qword ptr [-368+rbp]
5422 mul qword ptr [-200+rbp]
5423 add rcx, rax
5424 adc rdi, rdx
5425 adc rsi, 0
5426 mov rax, qword ptr [-360+rbp]
5427 mul qword ptr [-208+rbp]
5428 add rcx, rax
5429 adc rdi, rdx
5430 adc rsi, 0
5431 mov rax, qword ptr [-352+rbp]
5432 mul qword ptr [-216+rbp]
5433 add rcx, rax
5434 adc rdi, rdx
5435 adc rsi, 0
5436 mov rax, qword ptr [-344+rbp]
5437 mul qword ptr [-224+rbp]
5438 add rcx, rax
5439 adc rdi, rdx
5440 adc rsi, 0
5441 mov rax, qword ptr [-336+rbp]
5442 mul qword ptr [-232+rbp]
5443 add rcx, rax
5444 adc rdi, rdx
5445 adc rsi, 0
5446 mov rax, qword ptr [-328+rbp]
5447 mul qword ptr [-240+rbp]
5448 add rcx, rax
5449 adc rdi, rdx
5450 adc rsi, 0
5451 mov rax, qword ptr [-320+rbp]
5452 mul qword ptr [-248+rbp]
5453 add rcx, rax
5454 adc rdi, rdx
5455 adc rsi, 0
5456 mov rax, qword ptr [-312+rbp]
5457 mul qword ptr [-256+rbp]
5458 add rcx, rax
5459 adc rdi, rdx
5460 adc rsi, 0
5461 mov rax, qword ptr [-304+rbp]
5462 mul qword ptr [-264+rbp]
5463 add rcx, rax
5464 adc rdi, rdx
5465 adc rsi, 0
5466 mov r10, rdi
5467 mov r11, rsi
5468 mov rax, qword ptr [-296+rbp]
5469 mul qword ptr [-272+rbp]
5470 add rcx, rax
5471 adc r10, rdx
5472 adc r11, 0
5473 mov qword ptr [264+r9], rcx
5474 mov rdi, r11
5475 mov rsi, r10
5476 mov rcx, r8
5477 mov rax, qword ptr [-520+rbp]
5478 mul qword ptr [-40+rbp]
5479 add rsi, rax
5480 adc rdi, rdx
5481 adc rcx, 0
5482 mov rax, qword ptr [-512+rbp]
5483 mul qword ptr [-48+rbp]
5484 add rsi, rax
5485 adc rdi, rdx
5486 adc rcx, 0
5487 mov rax, qword ptr [-504+rbp]
5488 mul qword ptr [-56+rbp]
5489 add rsi, rax
5490 adc rdi, rdx
5491 adc rcx, 0
5492 mov rax, qword ptr [-496+rbp]
5493 mul qword ptr [-64+rbp]
5494 add rsi, rax
5495 adc rdi, rdx
5496 adc rcx, 0
5497 mov rax, qword ptr [-488+rbp]
5498 mul qword ptr [-72+rbp]
5499 add rsi, rax
5500 adc rdi, rdx
5501 adc rcx, 0
5502 mov rax, qword ptr [-480+rbp]
5503 mul qword ptr [-80+rbp]
5504 add rsi, rax
5505 adc rdi, rdx
5506 adc rcx, 0
5507 mov rax, qword ptr [-472+rbp]
5508 mul qword ptr [-88+rbp]
5509 add rsi, rax
5510 adc rdi, rdx
5511 adc rcx, 0
5512 mov rax, qword ptr [-464+rbp]
5513 mul qword ptr [-96+rbp]
5514 add rsi, rax
5515 adc rdi, rdx
5516 adc rcx, 0
5517 mov rax, qword ptr [-456+rbp]
5518 mul qword ptr [-104+rbp]
5519 add rsi, rax
5520 adc rdi, rdx
5521 adc rcx, 0
5522 mov rax, qword ptr [-448+rbp]
5523 mul qword ptr [-112+rbp]
5524 add rsi, rax
5525 adc rdi, rdx
5526 adc rcx, 0
5527 mov rax, qword ptr [-440+rbp]
5528 mul qword ptr [-120+rbp]
5529 add rsi, rax
5530 adc rdi, rdx
5531 adc rcx, 0
5532 mov rax, qword ptr [-432+rbp]
5533 mul qword ptr [-128+rbp]
5534 add rsi, rax
5535 adc rdi, rdx
5536 adc rcx, 0
5537 mov rax, qword ptr [-424+rbp]
5538 mul qword ptr [-136+rbp]
5539 add rsi, rax
5540 adc rdi, rdx
5541 adc rcx, 0
5542 mov rax, qword ptr [-416+rbp]
5543 mul qword ptr [-144+rbp]
5544 add rsi, rax
5545 adc rdi, rdx
5546 adc rcx, 0
5547 mov rax, qword ptr [-408+rbp]
5548 mul qword ptr [-152+rbp]
5549 add rsi, rax
5550 adc rdi, rdx
5551 adc rcx, 0
5552 mov rax, qword ptr [-400+rbp]
5553 mul qword ptr [-160+rbp]
5554 add rsi, rax
5555 adc rdi, rdx
5556 adc rcx, 0
5557 mov rax, qword ptr [-392+rbp]
5558 mul qword ptr [-168+rbp]
5559 add rsi, rax
5560 adc rdi, rdx
5561 adc rcx, 0
5562 mov rax, qword ptr [-384+rbp]
5563 mul qword ptr [-176+rbp]
5564 add rsi, rax
5565 adc rdi, rdx
5566 adc rcx, 0
5567 mov rax, qword ptr [-376+rbp]
5568 mul qword ptr [-184+rbp]
5569 add rsi, rax
5570 adc rdi, rdx
5571 adc rcx, 0
5572 mov rax, qword ptr [-368+rbp]
5573 mul qword ptr [-192+rbp]
5574 add rsi, rax
5575 adc rdi, rdx
5576 adc rcx, 0
5577 mov rax, qword ptr [-360+rbp]
5578 mul qword ptr [-200+rbp]
5579 add rsi, rax
5580 adc rdi, rdx
5581 adc rcx, 0
5582 mov rax, qword ptr [-352+rbp]
5583 mul qword ptr [-208+rbp]
5584 add rsi, rax
5585 adc rdi, rdx
5586 adc rcx, 0
5587 mov rax, qword ptr [-344+rbp]
5588 mul qword ptr [-216+rbp]
5589 add rsi, rax
5590 adc rdi, rdx
5591 adc rcx, 0
5592 mov rax, qword ptr [-336+rbp]
5593 mul qword ptr [-224+rbp]
5594 add rsi, rax
5595 adc rdi, rdx
5596 adc rcx, 0
5597 mov rax, qword ptr [-328+rbp]
5598 mul qword ptr [-232+rbp]
5599 add rsi, rax
5600 adc rdi, rdx
5601 adc rcx, 0
5602 mov rax, qword ptr [-320+rbp]
5603 mul qword ptr [-240+rbp]
5604 add rsi, rax
5605 adc rdi, rdx
5606 adc rcx, 0
5607 mov rax, qword ptr [-312+rbp]
5608 mul qword ptr [-248+rbp]
5609 add rsi, rax
5610 adc rdi, rdx
5611 adc rcx, 0
5612 mov rax, qword ptr [-304+rbp]
5613 mul qword ptr [-256+rbp]
5614 add rsi, rax
5615 adc rdi, rdx
5616 adc rcx, 0
5617 mov r10, rdi
5618 mov r11, rcx
5619 mov rax, qword ptr [-296+rbp]
5620 mul qword ptr [-264+rbp]
5621 add rsi, rax
5622 adc r10, rdx
5623 adc r11, 0
5624 mov qword ptr [272+r9], rsi
5625 mov rdi, r11
5626 mov rcx, r10
5627 mov rsi, r8
5628 mov rax, qword ptr [-512+rbp]
5629 mul qword ptr [-40+rbp]
5630 add rcx, rax
5631 adc rdi, rdx
5632 adc rsi, 0
5633 mov rax, qword ptr [-504+rbp]
5634 mul qword ptr [-48+rbp]
5635 add rcx, rax
5636 adc rdi, rdx
5637 adc rsi, 0
5638 mov rax, qword ptr [-496+rbp]
5639 mul qword ptr [-56+rbp]
5640 add rcx, rax
5641 adc rdi, rdx
5642 adc rsi, 0
5643 mov rax, qword ptr [-488+rbp]
5644 mul qword ptr [-64+rbp]
5645 add rcx, rax
5646 adc rdi, rdx
5647 adc rsi, 0
5648 mov rax, qword ptr [-480+rbp]
5649 mul qword ptr [-72+rbp]
5650 add rcx, rax
5651 adc rdi, rdx
5652 adc rsi, 0
5653 mov rax, qword ptr [-472+rbp]
5654 mul qword ptr [-80+rbp]
5655 add rcx, rax
5656 adc rdi, rdx
5657 adc rsi, 0
5658 mov rax, qword ptr [-464+rbp]
5659 mul qword ptr [-88+rbp]
5660 add rcx, rax
5661 adc rdi, rdx
5662 adc rsi, 0
5663 mov rax, qword ptr [-456+rbp]
5664 mul qword ptr [-96+rbp]
5665 add rcx, rax
5666 adc rdi, rdx
5667 adc rsi, 0
5668 mov rax, qword ptr [-448+rbp]
5669 mul qword ptr [-104+rbp]
5670 add rcx, rax
5671 adc rdi, rdx
5672 adc rsi, 0
5673 mov rax, qword ptr [-440+rbp]
5674 mul qword ptr [-112+rbp]
5675 add rcx, rax
5676 adc rdi, rdx
5677 adc rsi, 0
5678 mov rax, qword ptr [-432+rbp]
5679 mul qword ptr [-120+rbp]
5680 add rcx, rax
5681 adc rdi, rdx
5682 adc rsi, 0
5683 mov rax, qword ptr [-424+rbp]
5684 mul qword ptr [-128+rbp]
5685 add rcx, rax
5686 adc rdi, rdx
5687 adc rsi, 0
5688 mov rax, qword ptr [-416+rbp]
5689 mul qword ptr [-136+rbp]
5690 add rcx, rax
5691 adc rdi, rdx
5692 adc rsi, 0
5693 mov rax, qword ptr [-408+rbp]
5694 mul qword ptr [-144+rbp]
5695 add rcx, rax
5696 adc rdi, rdx
5697 adc rsi, 0
5698 mov rax, qword ptr [-400+rbp]
5699 mul qword ptr [-152+rbp]
5700 add rcx, rax
5701 adc rdi, rdx
5702 adc rsi, 0
5703 mov rax, qword ptr [-392+rbp]
5704 mul qword ptr [-160+rbp]
5705 add rcx, rax
5706 adc rdi, rdx
5707 adc rsi, 0
5708 mov rax, qword ptr [-384+rbp]
5709 mul qword ptr [-168+rbp]
5710 add rcx, rax
5711 adc rdi, rdx
5712 adc rsi, 0
5713 mov rax, qword ptr [-376+rbp]
5714 mul qword ptr [-176+rbp]
5715 add rcx, rax
5716 adc rdi, rdx
5717 adc rsi, 0
5718 mov rax, qword ptr [-368+rbp]
5719 mul qword ptr [-184+rbp]
5720 add rcx, rax
5721 adc rdi, rdx
5722 adc rsi, 0
5723 mov rax, qword ptr [-360+rbp]
5724 mul qword ptr [-192+rbp]
5725 add rcx, rax
5726 adc rdi, rdx
5727 adc rsi, 0
5728 mov rax, qword ptr [-352+rbp]
5729 mul qword ptr [-200+rbp]
5730 add rcx, rax
5731 adc rdi, rdx
5732 adc rsi, 0
5733 mov rax, qword ptr [-344+rbp]
5734 mul qword ptr [-208+rbp]
5735 add rcx, rax
5736 adc rdi, rdx
5737 adc rsi, 0
5738 mov rax, qword ptr [-336+rbp]
5739 mul qword ptr [-216+rbp]
5740 add rcx, rax
5741 adc rdi, rdx
5742 adc rsi, 0
5743 mov rax, qword ptr [-328+rbp]
5744 mul qword ptr [-224+rbp]
5745 add rcx, rax
5746 adc rdi, rdx
5747 adc rsi, 0
5748 mov rax, qword ptr [-320+rbp]
5749 mul qword ptr [-232+rbp]
5750 add rcx, rax
5751 adc rdi, rdx
5752 adc rsi, 0
5753 mov rax, qword ptr [-312+rbp]
5754 mul qword ptr [-240+rbp]
5755 add rcx, rax
5756 adc rdi, rdx
5757 adc rsi, 0
5758 mov rax, qword ptr [-304+rbp]
5759 mul qword ptr [-248+rbp]
5760 add rcx, rax
5761 adc rdi, rdx
5762 adc rsi, 0
5763 mov r10, rdi
5764 mov r11, rsi
5765 mov rax, qword ptr [-296+rbp]
5766 mul qword ptr [-256+rbp]
5767 add rcx, rax
5768 adc r10, rdx
5769 adc r11, 0
5770 mov qword ptr [280+r9], rcx
5771 mov rdi, r11
5772 mov rsi, r10
5773 mov rcx, r8
5774 mov rax, qword ptr [-504+rbp]
5775 mul qword ptr [-40+rbp]
5776 add rsi, rax
5777 adc rdi, rdx
5778 adc rcx, 0
5779 mov rax, qword ptr [-496+rbp]
5780 mul qword ptr [-48+rbp]
5781 add rsi, rax
5782 adc rdi, rdx
5783 adc rcx, 0
5784 mov rax, qword ptr [-488+rbp]
5785 mul qword ptr [-56+rbp]
5786 add rsi, rax
5787 adc rdi, rdx
5788 adc rcx, 0
5789 mov rax, qword ptr [-480+rbp]
5790 mul qword ptr [-64+rbp]
5791 add rsi, rax
5792 adc rdi, rdx
5793 adc rcx, 0
5794 mov rax, qword ptr [-472+rbp]
5795 mul qword ptr [-72+rbp]
5796 add rsi, rax
5797 adc rdi, rdx
5798 adc rcx, 0
5799 mov rax, qword ptr [-464+rbp]
5800 mul qword ptr [-80+rbp]
5801 add rsi, rax
5802 adc rdi, rdx
5803 adc rcx, 0
5804 mov rax, qword ptr [-456+rbp]
5805 mul qword ptr [-88+rbp]
5806 add rsi, rax
5807 adc rdi, rdx
5808 adc rcx, 0
5809 mov rax, qword ptr [-448+rbp]
5810 mul qword ptr [-96+rbp]
5811 add rsi, rax
5812 adc rdi, rdx
5813 adc rcx, 0
5814 mov rax, qword ptr [-440+rbp]
5815 mul qword ptr [-104+rbp]
5816 add rsi, rax
5817 adc rdi, rdx
5818 adc rcx, 0
5819 mov rax, qword ptr [-432+rbp]
5820 mul qword ptr [-112+rbp]
5821 add rsi, rax
5822 adc rdi, rdx
5823 adc rcx, 0
5824 mov rax, qword ptr [-424+rbp]
5825 mul qword ptr [-120+rbp]
5826 add rsi, rax
5827 adc rdi, rdx
5828 adc rcx, 0
5829 mov rax, qword ptr [-416+rbp]
5830 mul qword ptr [-128+rbp]
5831 add rsi, rax
5832 adc rdi, rdx
5833 adc rcx, 0
5834 mov rax, qword ptr [-408+rbp]
5835 mul qword ptr [-136+rbp]
5836 add rsi, rax
5837 adc rdi, rdx
5838 adc rcx, 0
5839 mov rax, qword ptr [-400+rbp]
5840 mul qword ptr [-144+rbp]
5841 add rsi, rax
5842 adc rdi, rdx
5843 adc rcx, 0
5844 mov rax, qword ptr [-392+rbp]
5845 mul qword ptr [-152+rbp]
5846 add rsi, rax
5847 adc rdi, rdx
5848 adc rcx, 0
5849 mov rax, qword ptr [-384+rbp]
5850 mul qword ptr [-160+rbp]
5851 add rsi, rax
5852 adc rdi, rdx
5853 adc rcx, 0
5854 mov rax, qword ptr [-376+rbp]
5855 mul qword ptr [-168+rbp]
5856 add rsi, rax
5857 adc rdi, rdx
5858 adc rcx, 0
5859 mov rax, qword ptr [-368+rbp]
5860 mul qword ptr [-176+rbp]
5861 add rsi, rax
5862 adc rdi, rdx
5863 adc rcx, 0
5864 mov rax, qword ptr [-360+rbp]
5865 mul qword ptr [-184+rbp]
5866 add rsi, rax
5867 adc rdi, rdx
5868 adc rcx, 0
5869 mov rax, qword ptr [-352+rbp]
5870 mul qword ptr [-192+rbp]
5871 add rsi, rax
5872 adc rdi, rdx
5873 adc rcx, 0
5874 mov rax, qword ptr [-344+rbp]
5875 mul qword ptr [-200+rbp]
5876 add rsi, rax
5877 adc rdi, rdx
5878 adc rcx, 0
5879 mov rax, qword ptr [-336+rbp]
5880 mul qword ptr [-208+rbp]
5881 add rsi, rax
5882 adc rdi, rdx
5883 adc rcx, 0
5884 mov rax, qword ptr [-328+rbp]
5885 mul qword ptr [-216+rbp]
5886 add rsi, rax
5887 adc rdi, rdx
5888 adc rcx, 0
5889 mov rax, qword ptr [-320+rbp]
5890 mul qword ptr [-224+rbp]
5891 add rsi, rax
5892 adc rdi, rdx
5893 adc rcx, 0
5894 mov rax, qword ptr [-312+rbp]
5895 mul qword ptr [-232+rbp]
5896 add rsi, rax
5897 adc rdi, rdx
5898 adc rcx, 0
5899 mov rax, qword ptr [-304+rbp]
5900 mul qword ptr [-240+rbp]
5901 add rsi, rax
5902 adc rdi, rdx
5903 adc rcx, 0
5904 mov r10, rdi
5905 mov r11, rcx
5906 mov rax, qword ptr [-296+rbp]
5907 mul qword ptr [-248+rbp]
5908 add rsi, rax
5909 adc r10, rdx
5910 adc r11, 0
5911 mov qword ptr [288+r9], rsi
5912 mov rdi, r11
5913 mov rcx, r10
5914 mov rsi, r8
5915 mov rax, qword ptr [-496+rbp]
5916 mul qword ptr [-40+rbp]
5917 add rcx, rax
5918 adc rdi, rdx
5919 adc rsi, 0
5920 mov rax, qword ptr [-488+rbp]
5921 mul qword ptr [-48+rbp]
5922 add rcx, rax
5923 adc rdi, rdx
5924 adc rsi, 0
5925 mov rax, qword ptr [-480+rbp]
5926 mul qword ptr [-56+rbp]
5927 add rcx, rax
5928 adc rdi, rdx
5929 adc rsi, 0
5930 mov rax, qword ptr [-472+rbp]
5931 mul qword ptr [-64+rbp]
5932 add rcx, rax
5933 adc rdi, rdx
5934 adc rsi, 0
5935 mov rax, qword ptr [-464+rbp]
5936 mul qword ptr [-72+rbp]
5937 add rcx, rax
5938 adc rdi, rdx
5939 adc rsi, 0
5940 mov rax, qword ptr [-456+rbp]
5941 mul qword ptr [-80+rbp]
5942 add rcx, rax
5943 adc rdi, rdx
5944 adc rsi, 0
5945 mov rax, qword ptr [-448+rbp]
5946 mul qword ptr [-88+rbp]
5947 add rcx, rax
5948 adc rdi, rdx
5949 adc rsi, 0
5950 mov rax, qword ptr [-440+rbp]
5951 mul qword ptr [-96+rbp]
5952 add rcx, rax
5953 adc rdi, rdx
5954 adc rsi, 0
5955 mov rax, qword ptr [-432+rbp]
5956 mul qword ptr [-104+rbp]
5957 add rcx, rax
5958 adc rdi, rdx
5959 adc rsi, 0
5960 mov rax, qword ptr [-424+rbp]
5961 mul qword ptr [-112+rbp]
5962 add rcx, rax
5963 adc rdi, rdx
5964 adc rsi, 0
5965 mov rax, qword ptr [-416+rbp]
5966 mul qword ptr [-120+rbp]
5967 add rcx, rax
5968 adc rdi, rdx
5969 adc rsi, 0
5970 mov rax, qword ptr [-408+rbp]
5971 mul qword ptr [-128+rbp]
5972 add rcx, rax
5973 adc rdi, rdx
5974 adc rsi, 0
5975 mov rax, qword ptr [-400+rbp]
5976 mul qword ptr [-136+rbp]
5977 add rcx, rax
5978 adc rdi, rdx
5979 adc rsi, 0
5980 mov rax, qword ptr [-392+rbp]
5981 mul qword ptr [-144+rbp]
5982 add rcx, rax
5983 adc rdi, rdx
5984 adc rsi, 0
5985 mov rax, qword ptr [-384+rbp]
5986 mul qword ptr [-152+rbp]
5987 add rcx, rax
5988 adc rdi, rdx
5989 adc rsi, 0
5990 mov rax, qword ptr [-376+rbp]
5991 mul qword ptr [-160+rbp]
5992 add rcx, rax
5993 adc rdi, rdx
5994 adc rsi, 0
5995 mov rax, qword ptr [-368+rbp]
5996 mul qword ptr [-168+rbp]
5997 add rcx, rax
5998 adc rdi, rdx
5999 adc rsi, 0
6000 mov rax, qword ptr [-360+rbp]
6001 mul qword ptr [-176+rbp]
6002 add rcx, rax
6003 adc rdi, rdx
6004 adc rsi, 0
6005 mov rax, qword ptr [-352+rbp]
6006 mul qword ptr [-184+rbp]
6007 add rcx, rax
6008 adc rdi, rdx
6009 adc rsi, 0
6010 mov rax, qword ptr [-344+rbp]
6011 mul qword ptr [-192+rbp]
6012 add rcx, rax
6013 adc rdi, rdx
6014 adc rsi, 0
6015 mov rax, qword ptr [-336+rbp]
6016 mul qword ptr [-200+rbp]
6017 add rcx, rax
6018 adc rdi, rdx
6019 adc rsi, 0
6020 mov rax, qword ptr [-328+rbp]
6021 mul qword ptr [-208+rbp]
6022 add rcx, rax
6023 adc rdi, rdx
6024 adc rsi, 0
6025 mov rax, qword ptr [-320+rbp]
6026 mul qword ptr [-216+rbp]
6027 add rcx, rax
6028 adc rdi, rdx
6029 adc rsi, 0
6030 mov rax, qword ptr [-312+rbp]
6031 mul qword ptr [-224+rbp]
6032 add rcx, rax
6033 adc rdi, rdx
6034 adc rsi, 0
6035 mov rax, qword ptr [-304+rbp]
6036 mul qword ptr [-232+rbp]
6037 add rcx, rax
6038 adc rdi, rdx
6039 adc rsi, 0
6040 mov r10, rdi
6041 mov r11, rsi
6042 mov rax, qword ptr [-296+rbp]
6043 mul qword ptr [-240+rbp]
6044 add rcx, rax
6045 adc r10, rdx
6046 adc r11, 0
6047 mov qword ptr [296+r9], rcx
6048 mov rdi, r11
6049 mov rsi, r10
6050 mov rcx, r8
6051 mov rax, qword ptr [-488+rbp]
6052 mul qword ptr [-40+rbp]
6053 add rsi, rax
6054 adc rdi, rdx
6055 adc rcx, 0
6056 mov rax, qword ptr [-480+rbp]
6057 mul qword ptr [-48+rbp]
6058 add rsi, rax
6059 adc rdi, rdx
6060 adc rcx, 0
6061 mov rax, qword ptr [-472+rbp]
6062 mul qword ptr [-56+rbp]
6063 add rsi, rax
6064 adc rdi, rdx
6065 adc rcx, 0
6066 mov rax, qword ptr [-464+rbp]
6067 mul qword ptr [-64+rbp]
6068 add rsi, rax
6069 adc rdi, rdx
6070 adc rcx, 0
6071 mov rax, qword ptr [-456+rbp]
6072 mul qword ptr [-72+rbp]
6073 add rsi, rax
6074 adc rdi, rdx
6075 adc rcx, 0
6076 mov rax, qword ptr [-448+rbp]
6077 mul qword ptr [-80+rbp]
6078 add rsi, rax
6079 adc rdi, rdx
6080 adc rcx, 0
6081 mov rax, qword ptr [-440+rbp]
6082 mul qword ptr [-88+rbp]
6083 add rsi, rax
6084 adc rdi, rdx
6085 adc rcx, 0
6086 mov rax, qword ptr [-432+rbp]
6087 mul qword ptr [-96+rbp]
6088 add rsi, rax
6089 adc rdi, rdx
6090 adc rcx, 0
6091 mov rax, qword ptr [-424+rbp]
6092 mul qword ptr [-104+rbp]
6093 add rsi, rax
6094 adc rdi, rdx
6095 adc rcx, 0
6096 mov rax, qword ptr [-416+rbp]
6097 mul qword ptr [-112+rbp]
6098 add rsi, rax
6099 adc rdi, rdx
6100 adc rcx, 0
6101 mov rax, qword ptr [-408+rbp]
6102 mul qword ptr [-120+rbp]
6103 add rsi, rax
6104 adc rdi, rdx
6105 adc rcx, 0
6106 mov rax, qword ptr [-400+rbp]
6107 mul qword ptr [-128+rbp]
6108 add rsi, rax
6109 adc rdi, rdx
6110 adc rcx, 0
6111 mov rax, qword ptr [-392+rbp]
6112 mul qword ptr [-136+rbp]
6113 add rsi, rax
6114 adc rdi, rdx
6115 adc rcx, 0
6116 mov rax, qword ptr [-384+rbp]
6117 mul qword ptr [-144+rbp]
6118 add rsi, rax
6119 adc rdi, rdx
6120 adc rcx, 0
6121 mov rax, qword ptr [-376+rbp]
6122 mul qword ptr [-152+rbp]
6123 add rsi, rax
6124 adc rdi, rdx
6125 adc rcx, 0
6126 mov rax, qword ptr [-368+rbp]
6127 mul qword ptr [-160+rbp]
6128 add rsi, rax
6129 adc rdi, rdx
6130 adc rcx, 0
6131 mov rax, qword ptr [-360+rbp]
6132 mul qword ptr [-168+rbp]
6133 add rsi, rax
6134 adc rdi, rdx
6135 adc rcx, 0
6136 mov rax, qword ptr [-352+rbp]
6137 mul qword ptr [-176+rbp]
6138 add rsi, rax
6139 adc rdi, rdx
6140 adc rcx, 0
6141 mov rax, qword ptr [-344+rbp]
6142 mul qword ptr [-184+rbp]
6143 add rsi, rax
6144 adc rdi, rdx
6145 adc rcx, 0
6146 mov rax, qword ptr [-336+rbp]
6147 mul qword ptr [-192+rbp]
6148 add rsi, rax
6149 adc rdi, rdx
6150 adc rcx, 0
6151 mov rax, qword ptr [-328+rbp]
6152 mul qword ptr [-200+rbp]
6153 add rsi, rax
6154 adc rdi, rdx
6155 adc rcx, 0
6156 mov rax, qword ptr [-320+rbp]
6157 mul qword ptr [-208+rbp]
6158 add rsi, rax
6159 adc rdi, rdx
6160 adc rcx, 0
6161 mov rax, qword ptr [-312+rbp]
6162 mul qword ptr [-216+rbp]
6163 add rsi, rax
6164 adc rdi, rdx
6165 adc rcx, 0
6166 mov rax, qword ptr [-304+rbp]
6167 mul qword ptr [-224+rbp]
6168 add rsi, rax
6169 adc rdi, rdx
6170 adc rcx, 0
6171 mov r10, rdi
6172 mov r11, rcx
6173 mov rax, qword ptr [-296+rbp]
6174 mul qword ptr [-232+rbp]
6175 add rsi, rax
6176 adc r10, rdx
6177 adc r11, 0
6178 mov qword ptr [304+r9], rsi
6179 mov rdi, r11
6180 mov rcx, r10
6181 mov rsi, r8
6182 mov rax, qword ptr [-480+rbp]
6183 mul qword ptr [-40+rbp]
6184 add rcx, rax
6185 adc rdi, rdx
6186 adc rsi, 0
6187 mov rax, qword ptr [-472+rbp]
6188 mul qword ptr [-48+rbp]
6189 add rcx, rax
6190 adc rdi, rdx
6191 adc rsi, 0
6192 mov rax, qword ptr [-464+rbp]
6193 mul qword ptr [-56+rbp]
6194 add rcx, rax
6195 adc rdi, rdx
6196 adc rsi, 0
6197 mov rax, qword ptr [-456+rbp]
6198 mul qword ptr [-64+rbp]
6199 add rcx, rax
6200 adc rdi, rdx
6201 adc rsi, 0
6202 mov rax, qword ptr [-448+rbp]
6203 mul qword ptr [-72+rbp]
6204 add rcx, rax
6205 adc rdi, rdx
6206 adc rsi, 0
6207 mov rax, qword ptr [-440+rbp]
6208 mul qword ptr [-80+rbp]
6209 add rcx, rax
6210 adc rdi, rdx
6211 adc rsi, 0
6212 mov rax, qword ptr [-432+rbp]
6213 mul qword ptr [-88+rbp]
6214 add rcx, rax
6215 adc rdi, rdx
6216 adc rsi, 0
6217 mov rax, qword ptr [-424+rbp]
6218 mul qword ptr [-96+rbp]
6219 add rcx, rax
6220 adc rdi, rdx
6221 adc rsi, 0
6222 mov rax, qword ptr [-416+rbp]
6223 mul qword ptr [-104+rbp]
6224 add rcx, rax
6225 adc rdi, rdx
6226 adc rsi, 0
6227 mov rax, qword ptr [-408+rbp]
6228 mul qword ptr [-112+rbp]
6229 add rcx, rax
6230 adc rdi, rdx
6231 adc rsi, 0
6232 mov rax, qword ptr [-400+rbp]
6233 mul qword ptr [-120+rbp]
6234 add rcx, rax
6235 adc rdi, rdx
6236 adc rsi, 0
6237 mov rax, qword ptr [-392+rbp]
6238 mul qword ptr [-128+rbp]
6239 add rcx, rax
6240 adc rdi, rdx
6241 adc rsi, 0
6242 mov rax, qword ptr [-384+rbp]
6243 mul qword ptr [-136+rbp]
6244 add rcx, rax
6245 adc rdi, rdx
6246 adc rsi, 0
6247 mov rax, qword ptr [-376+rbp]
6248 mul qword ptr [-144+rbp]
6249 add rcx, rax
6250 adc rdi, rdx
6251 adc rsi, 0
6252 mov rax, qword ptr [-368+rbp]
6253 mul qword ptr [-152+rbp]
6254 add rcx, rax
6255 adc rdi, rdx
6256 adc rsi, 0
6257 mov rax, qword ptr [-360+rbp]
6258 mul qword ptr [-160+rbp]
6259 add rcx, rax
6260 adc rdi, rdx
6261 adc rsi, 0
6262 mov rax, qword ptr [-352+rbp]
6263 mul qword ptr [-168+rbp]
6264 add rcx, rax
6265 adc rdi, rdx
6266 adc rsi, 0
6267 mov rax, qword ptr [-344+rbp]
6268 mul qword ptr [-176+rbp]
6269 add rcx, rax
6270 adc rdi, rdx
6271 adc rsi, 0
6272 mov rax, qword ptr [-336+rbp]
6273 mul qword ptr [-184+rbp]
6274 add rcx, rax
6275 adc rdi, rdx
6276 adc rsi, 0
6277 mov rax, qword ptr [-328+rbp]
6278 mul qword ptr [-192+rbp]
6279 add rcx, rax
6280 adc rdi, rdx
6281 adc rsi, 0
6282 mov rax, qword ptr [-320+rbp]
6283 mul qword ptr [-200+rbp]
6284 add rcx, rax
6285 adc rdi, rdx
6286 adc rsi, 0
6287 mov rax, qword ptr [-312+rbp]
6288 mul qword ptr [-208+rbp]
6289 add rcx, rax
6290 adc rdi, rdx
6291 adc rsi, 0
6292 mov rax, qword ptr [-304+rbp]
6293 mul qword ptr [-216+rbp]
6294 add rcx, rax
6295 adc rdi, rdx
6296 adc rsi, 0
6297 mov r10, rdi
6298 mov r11, rsi
6299 mov rax, qword ptr [-296+rbp]
6300 mul qword ptr [-224+rbp]
6301 add rcx, rax
6302 adc r10, rdx
6303 adc r11, 0
6304 mov qword ptr [312+r9], rcx
6305 mov rdi, r11
6306 mov rsi, r10
6307 mov rcx, r8
6308 mov rax, qword ptr [-472+rbp]
6309 mul qword ptr [-40+rbp]
6310 add rsi, rax
6311 adc rdi, rdx
6312 adc rcx, 0
6313 mov rax, qword ptr [-464+rbp]
6314 mul qword ptr [-48+rbp]
6315 add rsi, rax
6316 adc rdi, rdx
6317 adc rcx, 0
6318 mov rax, qword ptr [-456+rbp]
6319 mul qword ptr [-56+rbp]
6320 add rsi, rax
6321 adc rdi, rdx
6322 adc rcx, 0
6323 mov rax, qword ptr [-448+rbp]
6324 mul qword ptr [-64+rbp]
6325 add rsi, rax
6326 adc rdi, rdx
6327 adc rcx, 0
6328 mov rax, qword ptr [-440+rbp]
6329 mul qword ptr [-72+rbp]
6330 add rsi, rax
6331 adc rdi, rdx
6332 adc rcx, 0
6333 mov rax, qword ptr [-432+rbp]
6334 mul qword ptr [-80+rbp]
6335 add rsi, rax
6336 adc rdi, rdx
6337 adc rcx, 0
6338 mov rax, qword ptr [-424+rbp]
6339 mul qword ptr [-88+rbp]
6340 add rsi, rax
6341 adc rdi, rdx
6342 adc rcx, 0
6343 mov rax, qword ptr [-416+rbp]
6344 mul qword ptr [-96+rbp]
6345 add rsi, rax
6346 adc rdi, rdx
6347 adc rcx, 0
6348 mov rax, qword ptr [-408+rbp]
6349 mul qword ptr [-104+rbp]
6350 add rsi, rax
6351 adc rdi, rdx
6352 adc rcx, 0
6353 mov rax, qword ptr [-400+rbp]
6354 mul qword ptr [-112+rbp]
6355 add rsi, rax
6356 adc rdi, rdx
6357 adc rcx, 0
6358 mov rax, qword ptr [-392+rbp]
6359 mul qword ptr [-120+rbp]
6360 add rsi, rax
6361 adc rdi, rdx
6362 adc rcx, 0
6363 mov rax, qword ptr [-384+rbp]
6364 mul qword ptr [-128+rbp]
6365 add rsi, rax
6366 adc rdi, rdx
6367 adc rcx, 0
6368 mov rax, qword ptr [-376+rbp]
6369 mul qword ptr [-136+rbp]
6370 add rsi, rax
6371 adc rdi, rdx
6372 adc rcx, 0
6373 mov rax, qword ptr [-368+rbp]
6374 mul qword ptr [-144+rbp]
6375 add rsi, rax
6376 adc rdi, rdx
6377 adc rcx, 0
6378 mov rax, qword ptr [-360+rbp]
6379 mul qword ptr [-152+rbp]
6380 add rsi, rax
6381 adc rdi, rdx
6382 adc rcx, 0
6383 mov rax, qword ptr [-352+rbp]
6384 mul qword ptr [-160+rbp]
6385 add rsi, rax
6386 adc rdi, rdx
6387 adc rcx, 0
6388 mov rax, qword ptr [-344+rbp]
6389 mul qword ptr [-168+rbp]
6390 add rsi, rax
6391 adc rdi, rdx
6392 adc rcx, 0
6393 mov rax, qword ptr [-336+rbp]
6394 mul qword ptr [-176+rbp]
6395 add rsi, rax
6396 adc rdi, rdx
6397 adc rcx, 0
6398 mov rax, qword ptr [-328+rbp]
6399 mul qword ptr [-184+rbp]
6400 add rsi, rax
6401 adc rdi, rdx
6402 adc rcx, 0
6403 mov rax, qword ptr [-320+rbp]
6404 mul qword ptr [-192+rbp]
6405 add rsi, rax
6406 adc rdi, rdx
6407 adc rcx, 0
6408 mov rax, qword ptr [-312+rbp]
6409 mul qword ptr [-200+rbp]
6410 add rsi, rax
6411 adc rdi, rdx
6412 adc rcx, 0
6413 mov rax, qword ptr [-304+rbp]
6414 mul qword ptr [-208+rbp]
6415 add rsi, rax
6416 adc rdi, rdx
6417 adc rcx, 0
6418 mov r10, rdi
6419 mov r11, rcx
6420 mov rax, qword ptr [-296+rbp]
6421 mul qword ptr [-216+rbp]
6422 add rsi, rax
6423 adc r10, rdx
6424 adc r11, 0
6425 mov qword ptr [320+r9], rsi
6426 mov rdi, r11
6427 mov rcx, r10
6428 mov rsi, r8
6429 mov rax, qword ptr [-464+rbp]
6430 mul qword ptr [-40+rbp]
6431 add rcx, rax
6432 adc rdi, rdx
6433 adc rsi, 0
6434 mov rax, qword ptr [-456+rbp]
6435 mul qword ptr [-48+rbp]
6436 add rcx, rax
6437 adc rdi, rdx
6438 adc rsi, 0
6439 mov rax, qword ptr [-448+rbp]
6440 mul qword ptr [-56+rbp]
6441 add rcx, rax
6442 adc rdi, rdx
6443 adc rsi, 0
6444 mov rax, qword ptr [-440+rbp]
6445 mul qword ptr [-64+rbp]
6446 add rcx, rax
6447 adc rdi, rdx
6448 adc rsi, 0
6449 mov rax, qword ptr [-432+rbp]
6450 mul qword ptr [-72+rbp]
6451 add rcx, rax
6452 adc rdi, rdx
6453 adc rsi, 0
6454 mov rax, qword ptr [-424+rbp]
6455 mul qword ptr [-80+rbp]
6456 add rcx, rax
6457 adc rdi, rdx
6458 adc rsi, 0
6459 mov rax, qword ptr [-416+rbp]
6460 mul qword ptr [-88+rbp]
6461 add rcx, rax
6462 adc rdi, rdx
6463 adc rsi, 0
6464 mov rax, qword ptr [-408+rbp]
6465 mul qword ptr [-96+rbp]
6466 add rcx, rax
6467 adc rdi, rdx
6468 adc rsi, 0
6469 mov rax, qword ptr [-400+rbp]
6470 mul qword ptr [-104+rbp]
6471 add rcx, rax
6472 adc rdi, rdx
6473 adc rsi, 0
6474 mov rax, qword ptr [-392+rbp]
6475 mul qword ptr [-112+rbp]
6476 add rcx, rax
6477 adc rdi, rdx
6478 adc rsi, 0
6479 mov rax, qword ptr [-384+rbp]
6480 mul qword ptr [-120+rbp]
6481 add rcx, rax
6482 adc rdi, rdx
6483 adc rsi, 0
6484 mov rax, qword ptr [-376+rbp]
6485 mul qword ptr [-128+rbp]
6486 add rcx, rax
6487 adc rdi, rdx
6488 adc rsi, 0
6489 mov rax, qword ptr [-368+rbp]
6490 mul qword ptr [-136+rbp]
6491 add rcx, rax
6492 adc rdi, rdx
6493 adc rsi, 0
6494 mov rax, qword ptr [-360+rbp]
6495 mul qword ptr [-144+rbp]
6496 add rcx, rax
6497 adc rdi, rdx
6498 adc rsi, 0
6499 mov rax, qword ptr [-352+rbp]
6500 mul qword ptr [-152+rbp]
6501 add rcx, rax
6502 adc rdi, rdx
6503 adc rsi, 0
6504 mov rax, qword ptr [-344+rbp]
6505 mul qword ptr [-160+rbp]
6506 add rcx, rax
6507 adc rdi, rdx
6508 adc rsi, 0
6509 mov rax, qword ptr [-336+rbp]
6510 mul qword ptr [-168+rbp]
6511 add rcx, rax
6512 adc rdi, rdx
6513 adc rsi, 0
6514 mov rax, qword ptr [-328+rbp]
6515 mul qword ptr [-176+rbp]
6516 add rcx, rax
6517 adc rdi, rdx
6518 adc rsi, 0
6519 mov rax, qword ptr [-320+rbp]
6520 mul qword ptr [-184+rbp]
6521 add rcx, rax
6522 adc rdi, rdx
6523 adc rsi, 0
6524 mov rax, qword ptr [-312+rbp]
6525 mul qword ptr [-192+rbp]
6526 add rcx, rax
6527 adc rdi, rdx
6528 adc rsi, 0
6529 mov rax, qword ptr [-304+rbp]
6530 mul qword ptr [-200+rbp]
6531 add rcx, rax
6532 adc rdi, rdx
6533 adc rsi, 0
6534 mov r10, rdi
6535 mov r11, rsi
6536 mov rax, qword ptr [-296+rbp]
6537 mul qword ptr [-208+rbp]
6538 add rcx, rax
6539 adc r10, rdx
6540 adc r11, 0
6541 mov qword ptr [328+r9], rcx
6542 mov rdi, r11
6543 mov r11, r10
6544 mov r10, r8
6545 mov rax, qword ptr [-456+rbp]
6546 mul qword ptr [-40+rbp]
6547 add r11, rax
6548 adc rdi, rdx
6549 adc r10, 0
6550 mov rax, qword ptr [-448+rbp]
6551 mul qword ptr [-48+rbp]
6552 add r11, rax
6553 adc rdi, rdx
6554 adc r10, 0
6555 mov rax, qword ptr [-440+rbp]
6556 mul qword ptr [-56+rbp]
6557 add r11, rax
6558 adc rdi, rdx
6559 adc r10, 0
6560 mov rax, qword ptr [-432+rbp]
6561 mul qword ptr [-64+rbp]
6562 add r11, rax
6563 adc rdi, rdx
6564 adc r10, 0
6565 mov rax, qword ptr [-424+rbp]
6566 mul qword ptr [-72+rbp]
6567 add r11, rax
6568 adc rdi, rdx
6569 adc r10, 0
6570 mov rax, qword ptr [-416+rbp]
6571 mul qword ptr [-80+rbp]
6572 add r11, rax
6573 adc rdi, rdx
6574 adc r10, 0
6575 mov rax, qword ptr [-408+rbp]
6576 mul qword ptr [-88+rbp]
6577 add r11, rax
6578 adc rdi, rdx
6579 adc r10, 0
6580 mov rax, qword ptr [-400+rbp]
6581 mul qword ptr [-96+rbp]
6582 add r11, rax
6583 adc rdi, rdx
6584 adc r10, 0
6585 mov rax, qword ptr [-392+rbp]
6586 mul qword ptr [-104+rbp]
6587 add r11, rax
6588 adc rdi, rdx
6589 adc r10, 0
6590 mov rax, qword ptr [-384+rbp]
6591 mul qword ptr [-112+rbp]
6592 add r11, rax
6593 adc rdi, rdx
6594 adc r10, 0
6595 mov rax, qword ptr [-376+rbp]
6596 mul qword ptr [-120+rbp]
6597 add r11, rax
6598 adc rdi, rdx
6599 adc r10, 0
6600 mov rax, qword ptr [-368+rbp]
6601 mul qword ptr [-128+rbp]
6602 add r11, rax
6603 adc rdi, rdx
6604 adc r10, 0
6605 mov rax, qword ptr [-360+rbp]
6606 mul qword ptr [-136+rbp]
6607 add r11, rax
6608 adc rdi, rdx
6609 adc r10, 0
6610 mov rax, qword ptr [-352+rbp]
6611 mul qword ptr [-144+rbp]
6612 add r11, rax
6613 adc rdi, rdx
6614 adc r10, 0
6615 mov rax, qword ptr [-344+rbp]
6616 mul qword ptr [-152+rbp]
6617 add r11, rax
6618 adc rdi, rdx
6619 adc r10, 0
6620 mov rax, qword ptr [-336+rbp]
6621 mul qword ptr [-160+rbp]
6622 add r11, rax
6623 adc rdi, rdx
6624 adc r10, 0
6625 mov rax, qword ptr [-328+rbp]
6626 mul qword ptr [-168+rbp]
6627 add r11, rax
6628 adc rdi, rdx
6629 adc r10, 0
6630 mov rax, qword ptr [-320+rbp]
6631 mul qword ptr [-176+rbp]
6632 add r11, rax
6633 adc rdi, rdx
6634 adc r10, 0
6635 mov rax, qword ptr [-312+rbp]
6636 mul qword ptr [-184+rbp]
6637 add r11, rax
6638 adc rdi, rdx
6639 adc r10, 0
6640 mov rax, qword ptr [-304+rbp]
6641 mul qword ptr [-192+rbp]
6642 add r11, rax
6643 adc rdi, rdx
6644 adc r10, 0
6645 mov rax, qword ptr [-296+rbp]
6646 mul qword ptr [-200+rbp]
6647 add r11, rax
6648 adc rdi, rdx
6649 adc r10, 0
6650 mov qword ptr [336+r9], r11
6651 mov rsi, r10
6652 mov r10, r8
6653 mov rax, qword ptr [-448+rbp]
6654 mul qword ptr [-40+rbp]
6655 add rdi, rax
6656 adc rsi, rdx
6657 adc r10, 0
6658 mov rcx, r10
6659 mov rax, qword ptr [-440+rbp]
6660 mul qword ptr [-48+rbp]
6661 add rdi, rax
6662 adc rsi, rdx
6663 adc rcx, 0
6664 mov rax, qword ptr [-432+rbp]
6665 mul qword ptr [-56+rbp]
6666 add rdi, rax
6667 adc rsi, rdx
6668 adc rcx, 0
6669 mov rax, qword ptr [-424+rbp]
6670 mul qword ptr [-64+rbp]
6671 add rdi, rax
6672 adc rsi, rdx
6673 adc rcx, 0
6674 mov rax, qword ptr [-416+rbp]
6675 mul qword ptr [-72+rbp]
6676 add rdi, rax
6677 adc rsi, rdx
6678 adc rcx, 0
6679 mov rax, qword ptr [-408+rbp]
6680 mul qword ptr [-80+rbp]
6681 add rdi, rax
6682 adc rsi, rdx
6683 adc rcx, 0
6684 mov rax, qword ptr [-400+rbp]
6685 mul qword ptr [-88+rbp]
6686 add rdi, rax
6687 adc rsi, rdx
6688 adc rcx, 0
6689 mov rax, qword ptr [-392+rbp]
6690 mul qword ptr [-96+rbp]
6691 add rdi, rax
6692 adc rsi, rdx
6693 adc rcx, 0
6694 mov rax, qword ptr [-384+rbp]
6695 mul qword ptr [-104+rbp]
6696 add rdi, rax
6697 adc rsi, rdx
6698 adc rcx, 0
6699 mov rax, qword ptr [-376+rbp]
6700 mul qword ptr [-112+rbp]
6701 add rdi, rax
6702 adc rsi, rdx
6703 adc rcx, 0
6704 mov rax, qword ptr [-368+rbp]
6705 mul qword ptr [-120+rbp]
6706 add rdi, rax
6707 adc rsi, rdx
6708 adc rcx, 0
6709 mov rax, qword ptr [-360+rbp]
6710 mul qword ptr [-128+rbp]
6711 add rdi, rax
6712 adc rsi, rdx
6713 adc rcx, 0
6714 mov rax, qword ptr [-352+rbp]
6715 mul qword ptr [-136+rbp]
6716 add rdi, rax
6717 adc rsi, rdx
6718 adc rcx, 0
6719 mov rax, qword ptr [-344+rbp]
6720 mul qword ptr [-144+rbp]
6721 add rdi, rax
6722 adc rsi, rdx
6723 adc rcx, 0
6724 mov rax, qword ptr [-336+rbp]
6725 mul qword ptr [-152+rbp]
6726 add rdi, rax
6727 adc rsi, rdx
6728 adc rcx, 0
6729 mov rax, qword ptr [-328+rbp]
6730 mul qword ptr [-160+rbp]
6731 add rdi, rax
6732 adc rsi, rdx
6733 adc rcx, 0
6734 mov rax, qword ptr [-320+rbp]
6735 mul qword ptr [-168+rbp]
6736 add rdi, rax
6737 adc rsi, rdx
6738 adc rcx, 0
6739 mov rax, qword ptr [-312+rbp]
6740 mul qword ptr [-176+rbp]
6741 add rdi, rax
6742 adc rsi, rdx
6743 adc rcx, 0
6744 mov rax, qword ptr [-304+rbp]
6745 mul qword ptr [-184+rbp]
6746 add rdi, rax
6747 adc rsi, rdx
6748 adc rcx, 0
6749 mov r11, rsi
6750 mov r10, rcx
6751 mov rax, qword ptr [-296+rbp]
6752 mul qword ptr [-192+rbp]
6753 add rdi, rax
6754 adc r11, rdx
6755 adc r10, 0
6756 mov qword ptr [344+r9], rdi
6757 mov rcx, r11
6758 mov rdi, r10
6759 mov r11, r8
6760 mov rax, qword ptr [-440+rbp]
6761 mul qword ptr [-40+rbp]
6762 add rcx, rax
6763 adc rdi, rdx
6764 adc r11, 0
6765 mov rsi, r11
6766 mov rax, qword ptr [-432+rbp]
6767 mul qword ptr [-48+rbp]
6768 add rcx, rax
6769 adc rdi, rdx
6770 adc rsi, 0
6771 mov rax, qword ptr [-424+rbp]
6772 mul qword ptr [-56+rbp]
6773 add rcx, rax
6774 adc rdi, rdx
6775 adc rsi, 0
6776 mov rax, qword ptr [-416+rbp]
6777 mul qword ptr [-64+rbp]
6778 add rcx, rax
6779 adc rdi, rdx
6780 adc rsi, 0
6781 mov rax, qword ptr [-408+rbp]
6782 mul qword ptr [-72+rbp]
6783 add rcx, rax
6784 adc rdi, rdx
6785 adc rsi, 0
6786 mov rax, qword ptr [-400+rbp]
6787 mul qword ptr [-80+rbp]
6788 add rcx, rax
6789 adc rdi, rdx
6790 adc rsi, 0
6791 mov rax, qword ptr [-392+rbp]
6792 mul qword ptr [-88+rbp]
6793 add rcx, rax
6794 adc rdi, rdx
6795 adc rsi, 0
6796 mov rax, qword ptr [-384+rbp]
6797 mul qword ptr [-96+rbp]
6798 add rcx, rax
6799 adc rdi, rdx
6800 adc rsi, 0
6801 mov rax, qword ptr [-376+rbp]
6802 mul qword ptr [-104+rbp]
6803 add rcx, rax
6804 adc rdi, rdx
6805 adc rsi, 0
6806 mov rax, qword ptr [-368+rbp]
6807 mul qword ptr [-112+rbp]
6808 add rcx, rax
6809 adc rdi, rdx
6810 adc rsi, 0
6811 mov rax, qword ptr [-360+rbp]
6812 mul qword ptr [-120+rbp]
6813 add rcx, rax
6814 adc rdi, rdx
6815 adc rsi, 0
6816 mov rax, qword ptr [-352+rbp]
6817 mul qword ptr [-128+rbp]
6818 add rcx, rax
6819 adc rdi, rdx
6820 adc rsi, 0
6821 mov rax, qword ptr [-344+rbp]
6822 mul qword ptr [-136+rbp]
6823 add rcx, rax
6824 adc rdi, rdx
6825 adc rsi, 0
6826 mov rax, qword ptr [-336+rbp]
6827 mul qword ptr [-144+rbp]
6828 add rcx, rax
6829 adc rdi, rdx
6830 adc rsi, 0
6831 mov rax, qword ptr [-328+rbp]
6832 mul qword ptr [-152+rbp]
6833 add rcx, rax
6834 adc rdi, rdx
6835 adc rsi, 0
6836 mov rax, qword ptr [-320+rbp]
6837 mul qword ptr [-160+rbp]
6838 add rcx, rax
6839 adc rdi, rdx
6840 adc rsi, 0
6841 mov rax, qword ptr [-312+rbp]
6842 mul qword ptr [-168+rbp]
6843 add rcx, rax
6844 adc rdi, rdx
6845 adc rsi, 0
6846 mov rax, qword ptr [-304+rbp]
6847 mul qword ptr [-176+rbp]
6848 add rcx, rax
6849 adc rdi, rdx
6850 adc rsi, 0
6851 mov r10, rdi
6852 mov r11, rsi
6853 mov rax, qword ptr [-296+rbp]
6854 mul qword ptr [-184+rbp]
6855 add rcx, rax
6856 adc r10, rdx
6857 adc r11, 0
6858 mov qword ptr [352+r9], rcx
6859 mov rdi, r11
6860 mov rsi, r10
6861 mov rcx, r8
6862 mov rax, qword ptr [-432+rbp]
6863 mul qword ptr [-40+rbp]
6864 add rsi, rax
6865 adc rdi, rdx
6866 adc rcx, 0
6867 mov rax, qword ptr [-424+rbp]
6868 mul qword ptr [-48+rbp]
6869 add rsi, rax
6870 adc rdi, rdx
6871 adc rcx, 0
6872 mov rax, qword ptr [-416+rbp]
6873 mul qword ptr [-56+rbp]
6874 add rsi, rax
6875 adc rdi, rdx
6876 adc rcx, 0
6877 mov rax, qword ptr [-408+rbp]
6878 mul qword ptr [-64+rbp]
6879 add rsi, rax
6880 adc rdi, rdx
6881 adc rcx, 0
6882 mov rax, qword ptr [-400+rbp]
6883 mul qword ptr [-72+rbp]
6884 add rsi, rax
6885 adc rdi, rdx
6886 adc rcx, 0
6887 mov rax, qword ptr [-392+rbp]
6888 mul qword ptr [-80+rbp]
6889 add rsi, rax
6890 adc rdi, rdx
6891 adc rcx, 0
6892 mov rax, qword ptr [-384+rbp]
6893 mul qword ptr [-88+rbp]
6894 add rsi, rax
6895 adc rdi, rdx
6896 adc rcx, 0
6897 mov rax, qword ptr [-376+rbp]
6898 mul qword ptr [-96+rbp]
6899 add rsi, rax
6900 adc rdi, rdx
6901 adc rcx, 0
6902 mov rax, qword ptr [-368+rbp]
6903 mul qword ptr [-104+rbp]
6904 add rsi, rax
6905 adc rdi, rdx
6906 adc rcx, 0
6907 mov rax, qword ptr [-360+rbp]
6908 mul qword ptr [-112+rbp]
6909 add rsi, rax
6910 adc rdi, rdx
6911 adc rcx, 0
6912 mov rax, qword ptr [-352+rbp]
6913 mul qword ptr [-120+rbp]
6914 add rsi, rax
6915 adc rdi, rdx
6916 adc rcx, 0
6917 mov rax, qword ptr [-344+rbp]
6918 mul qword ptr [-128+rbp]
6919 add rsi, rax
6920 adc rdi, rdx
6921 adc rcx, 0
6922 mov rax, qword ptr [-336+rbp]
6923 mul qword ptr [-136+rbp]
6924 add rsi, rax
6925 adc rdi, rdx
6926 adc rcx, 0
6927 mov rax, qword ptr [-328+rbp]
6928 mul qword ptr [-144+rbp]
6929 add rsi, rax
6930 adc rdi, rdx
6931 adc rcx, 0
6932 mov rax, qword ptr [-320+rbp]
6933 mul qword ptr [-152+rbp]
6934 add rsi, rax
6935 adc rdi, rdx
6936 adc rcx, 0
6937 mov rax, qword ptr [-312+rbp]
6938 mul qword ptr [-160+rbp]
6939 add rsi, rax
6940 adc rdi, rdx
6941 adc rcx, 0
6942 mov rax, qword ptr [-304+rbp]
6943 mul qword ptr [-168+rbp]
6944 add rsi, rax
6945 adc rdi, rdx
6946 adc rcx, 0
6947 mov r10, rdi
6948 mov r11, rcx
6949 mov rax, qword ptr [-296+rbp]
6950 mul qword ptr [-176+rbp]
6951 add rsi, rax
6952 adc r10, rdx
6953 adc r11, 0
6954 mov qword ptr [360+r9], rsi
6955 mov rdi, r11
6956 mov rcx, r10
6957 mov rsi, r8
6958 mov rax, qword ptr [-424+rbp]
6959 mul qword ptr [-40+rbp]
6960 add rcx, rax
6961 adc rdi, rdx
6962 adc rsi, 0
6963 mov rax, qword ptr [-416+rbp]
6964 mul qword ptr [-48+rbp]
6965 add rcx, rax
6966 adc rdi, rdx
6967 adc rsi, 0
6968 mov rax, qword ptr [-408+rbp]
6969 mul qword ptr [-56+rbp]
6970 add rcx, rax
6971 adc rdi, rdx
6972 adc rsi, 0
6973 mov rax, qword ptr [-400+rbp]
6974 mul qword ptr [-64+rbp]
6975 add rcx, rax
6976 adc rdi, rdx
6977 adc rsi, 0
6978 mov rax, qword ptr [-392+rbp]
6979 mul qword ptr [-72+rbp]
6980 add rcx, rax
6981 adc rdi, rdx
6982 adc rsi, 0
6983 mov rax, qword ptr [-384+rbp]
6984 mul qword ptr [-80+rbp]
6985 add rcx, rax
6986 adc rdi, rdx
6987 adc rsi, 0
6988 mov rax, qword ptr [-376+rbp]
6989 mul qword ptr [-88+rbp]
6990 add rcx, rax
6991 adc rdi, rdx
6992 adc rsi, 0
6993 mov rax, qword ptr [-368+rbp]
6994 mul qword ptr [-96+rbp]
6995 add rcx, rax
6996 adc rdi, rdx
6997 adc rsi, 0
6998 mov rax, qword ptr [-360+rbp]
6999 mul qword ptr [-104+rbp]
7000 add rcx, rax
7001 adc rdi, rdx
7002 adc rsi, 0
7003 mov rax, qword ptr [-352+rbp]
7004 mul qword ptr [-112+rbp]
7005 add rcx, rax
7006 adc rdi, rdx
7007 adc rsi, 0
7008 mov rax, qword ptr [-344+rbp]
7009 mul qword ptr [-120+rbp]
7010 add rcx, rax
7011 adc rdi, rdx
7012 adc rsi, 0
7013 mov rax, qword ptr [-336+rbp]
7014 mul qword ptr [-128+rbp]
7015 add rcx, rax
7016 adc rdi, rdx
7017 adc rsi, 0
7018 mov rax, qword ptr [-328+rbp]
7019 mul qword ptr [-136+rbp]
7020 add rcx, rax
7021 adc rdi, rdx
7022 adc rsi, 0
7023 mov rax, qword ptr [-320+rbp]
7024 mul qword ptr [-144+rbp]
7025 add rcx, rax
7026 adc rdi, rdx
7027 adc rsi, 0
7028 mov rax, qword ptr [-312+rbp]
7029 mul qword ptr [-152+rbp]
7030 add rcx, rax
7031 adc rdi, rdx
7032 adc rsi, 0
7033 mov rax, qword ptr [-304+rbp]
7034 mul qword ptr [-160+rbp]
7035 add rcx, rax
7036 adc rdi, rdx
7037 adc rsi, 0
7038 mov r10, rdi
7039 mov r11, rsi
7040 mov rax, qword ptr [-296+rbp]
7041 mul qword ptr [-168+rbp]
7042 add rcx, rax
7043 adc r10, rdx
7044 adc r11, 0
7045 mov qword ptr [368+r9], rcx
7046 mov rdi, r11
7047 mov rsi, r10
7048 mov rcx, r8
7049 mov rax, qword ptr [-416+rbp]
7050 mul qword ptr [-40+rbp]
7051 add rsi, rax
7052 adc rdi, rdx
7053 adc rcx, 0
7054 mov rax, qword ptr [-408+rbp]
7055 mul qword ptr [-48+rbp]
7056 add rsi, rax
7057 adc rdi, rdx
7058 adc rcx, 0
7059 mov rax, qword ptr [-400+rbp]
7060 mul qword ptr [-56+rbp]
7061 add rsi, rax
7062 adc rdi, rdx
7063 adc rcx, 0
7064 mov rax, qword ptr [-392+rbp]
7065 mul qword ptr [-64+rbp]
7066 add rsi, rax
7067 adc rdi, rdx
7068 adc rcx, 0
7069 mov rax, qword ptr [-384+rbp]
7070 mul qword ptr [-72+rbp]
7071 add rsi, rax
7072 adc rdi, rdx
7073 adc rcx, 0
7074 mov rax, qword ptr [-376+rbp]
7075 mul qword ptr [-80+rbp]
7076 add rsi, rax
7077 adc rdi, rdx
7078 adc rcx, 0
7079 mov rax, qword ptr [-368+rbp]
7080 mul qword ptr [-88+rbp]
7081 add rsi, rax
7082 adc rdi, rdx
7083 adc rcx, 0
7084 mov rax, qword ptr [-360+rbp]
7085 mul qword ptr [-96+rbp]
7086 add rsi, rax
7087 adc rdi, rdx
7088 adc rcx, 0
7089 mov rax, qword ptr [-352+rbp]
7090 mul qword ptr [-104+rbp]
7091 add rsi, rax
7092 adc rdi, rdx
7093 adc rcx, 0
7094 mov rax, qword ptr [-344+rbp]
7095 mul qword ptr [-112+rbp]
7096 add rsi, rax
7097 adc rdi, rdx
7098 adc rcx, 0
7099 mov rax, qword ptr [-336+rbp]
7100 mul qword ptr [-120+rbp]
7101 add rsi, rax
7102 adc rdi, rdx
7103 adc rcx, 0
7104 mov rax, qword ptr [-328+rbp]
7105 mul qword ptr [-128+rbp]
7106 add rsi, rax
7107 adc rdi, rdx
7108 adc rcx, 0
7109 mov rax, qword ptr [-320+rbp]
7110 mul qword ptr [-136+rbp]
7111 add rsi, rax
7112 adc rdi, rdx
7113 adc rcx, 0
7114 mov rax, qword ptr [-312+rbp]
7115 mul qword ptr [-144+rbp]
7116 add rsi, rax
7117 adc rdi, rdx
7118 adc rcx, 0
7119 mov rax, qword ptr [-304+rbp]
7120 mul qword ptr [-152+rbp]
7121 add rsi, rax
7122 adc rdi, rdx
7123 adc rcx, 0
7124 mov r10, rdi
7125 mov r11, rcx
7126 mov rax, qword ptr [-296+rbp]
7127 mul qword ptr [-160+rbp]
7128 add rsi, rax
7129 adc r10, rdx
7130 adc r11, 0
7131 mov qword ptr [376+r9], rsi
7132 mov rdi, r11
7133 mov rcx, r10
7134 mov rsi, r8
7135 mov rax, qword ptr [-408+rbp]
7136 mul qword ptr [-40+rbp]
7137 add rcx, rax
7138 adc rdi, rdx
7139 adc rsi, 0
7140 mov rax, qword ptr [-400+rbp]
7141 mul qword ptr [-48+rbp]
7142 add rcx, rax
7143 adc rdi, rdx
7144 adc rsi, 0
7145 mov rax, qword ptr [-392+rbp]
7146 mul qword ptr [-56+rbp]
7147 add rcx, rax
7148 adc rdi, rdx
7149 adc rsi, 0
7150 mov rax, qword ptr [-384+rbp]
7151 mul qword ptr [-64+rbp]
7152 add rcx, rax
7153 adc rdi, rdx
7154 adc rsi, 0
7155 mov rax, qword ptr [-376+rbp]
7156 mul qword ptr [-72+rbp]
7157 add rcx, rax
7158 adc rdi, rdx
7159 adc rsi, 0
7160 mov rax, qword ptr [-368+rbp]
7161 mul qword ptr [-80+rbp]
7162 add rcx, rax
7163 adc rdi, rdx
7164 adc rsi, 0
7165 mov rax, qword ptr [-360+rbp]
7166 mul qword ptr [-88+rbp]
7167 add rcx, rax
7168 adc rdi, rdx
7169 adc rsi, 0
7170 mov rax, qword ptr [-352+rbp]
7171 mul qword ptr [-96+rbp]
7172 add rcx, rax
7173 adc rdi, rdx
7174 adc rsi, 0
7175 mov rax, qword ptr [-344+rbp]
7176 mul qword ptr [-104+rbp]
7177 add rcx, rax
7178 adc rdi, rdx
7179 adc rsi, 0
7180 mov rax, qword ptr [-336+rbp]
7181 mul qword ptr [-112+rbp]
7182 add rcx, rax
7183 adc rdi, rdx
7184 adc rsi, 0
7185 mov rax, qword ptr [-328+rbp]
7186 mul qword ptr [-120+rbp]
7187 add rcx, rax
7188 adc rdi, rdx
7189 adc rsi, 0
7190 mov rax, qword ptr [-320+rbp]
7191 mul qword ptr [-128+rbp]
7192 add rcx, rax
7193 adc rdi, rdx
7194 adc rsi, 0
7195 mov rax, qword ptr [-312+rbp]
7196 mul qword ptr [-136+rbp]
7197 add rcx, rax
7198 adc rdi, rdx
7199 adc rsi, 0
7200 mov rax, qword ptr [-304+rbp]
7201 mul qword ptr [-144+rbp]
7202 add rcx, rax
7203 adc rdi, rdx
7204 adc rsi, 0
7205 mov r10, rdi
7206 mov r11, rsi
7207 mov rax, qword ptr [-296+rbp]
7208 mul qword ptr [-152+rbp]
7209 add rcx, rax
7210 adc r10, rdx
7211 adc r11, 0
7212 mov qword ptr [384+r9], rcx
7213 mov rdi, r11
7214 mov rsi, r10
7215 mov rcx, r8
7216 mov rax, qword ptr [-400+rbp]
7217 mul qword ptr [-40+rbp]
7218 add rsi, rax
7219 adc rdi, rdx
7220 adc rcx, 0
7221 mov rax, qword ptr [-392+rbp]
7222 mul qword ptr [-48+rbp]
7223 add rsi, rax
7224 adc rdi, rdx
7225 adc rcx, 0
7226 mov rax, qword ptr [-384+rbp]
7227 mul qword ptr [-56+rbp]
7228 add rsi, rax
7229 adc rdi, rdx
7230 adc rcx, 0
7231 mov rax, qword ptr [-376+rbp]
7232 mul qword ptr [-64+rbp]
7233 add rsi, rax
7234 adc rdi, rdx
7235 adc rcx, 0
7236 mov rax, qword ptr [-368+rbp]
7237 mul qword ptr [-72+rbp]
7238 add rsi, rax
7239 adc rdi, rdx
7240 adc rcx, 0
7241 mov rax, qword ptr [-360+rbp]
7242 mul qword ptr [-80+rbp]
7243 add rsi, rax
7244 adc rdi, rdx
7245 adc rcx, 0
7246 mov rax, qword ptr [-352+rbp]
7247 mul qword ptr [-88+rbp]
7248 add rsi, rax
7249 adc rdi, rdx
7250 adc rcx, 0
7251 mov rax, qword ptr [-344+rbp]
7252 mul qword ptr [-96+rbp]
7253 add rsi, rax
7254 adc rdi, rdx
7255 adc rcx, 0
7256 mov rax, qword ptr [-336+rbp]
7257 mul qword ptr [-104+rbp]
7258 add rsi, rax
7259 adc rdi, rdx
7260 adc rcx, 0
7261 mov rax, qword ptr [-328+rbp]
7262 mul qword ptr [-112+rbp]
7263 add rsi, rax
7264 adc rdi, rdx
7265 adc rcx, 0
7266 mov rax, qword ptr [-320+rbp]
7267 mul qword ptr [-120+rbp]
7268 add rsi, rax
7269 adc rdi, rdx
7270 adc rcx, 0
7271 mov rax, qword ptr [-312+rbp]
7272 mul qword ptr [-128+rbp]
7273 add rsi, rax
7274 adc rdi, rdx
7275 adc rcx, 0
7276 mov rax, qword ptr [-304+rbp]
7277 mul qword ptr [-136+rbp]
7278 add rsi, rax
7279 adc rdi, rdx
7280 adc rcx, 0
7281 mov r10, rdi
7282 mov r11, rcx
7283 mov rax, qword ptr [-296+rbp]
7284 mul qword ptr [-144+rbp]
7285 add rsi, rax
7286 adc r10, rdx
7287 adc r11, 0
7288 mov qword ptr [392+r9], rsi
7289 mov rdi, r11
7290 mov rcx, r10
7291 mov rsi, r8
7292 mov rax, qword ptr [-392+rbp]
7293 mul qword ptr [-40+rbp]
7294 add rcx, rax
7295 adc rdi, rdx
7296 adc rsi, 0
7297 mov rax, qword ptr [-384+rbp]
7298 mul qword ptr [-48+rbp]
7299 add rcx, rax
7300 adc rdi, rdx
7301 adc rsi, 0
7302 mov rax, qword ptr [-376+rbp]
7303 mul qword ptr [-56+rbp]
7304 add rcx, rax
7305 adc rdi, rdx
7306 adc rsi, 0
7307 mov rax, qword ptr [-368+rbp]
7308 mul qword ptr [-64+rbp]
7309 add rcx, rax
7310 adc rdi, rdx
7311 adc rsi, 0
7312 mov rax, qword ptr [-360+rbp]
7313 mul qword ptr [-72+rbp]
7314 add rcx, rax
7315 adc rdi, rdx
7316 adc rsi, 0
7317 mov rax, qword ptr [-352+rbp]
7318 mul qword ptr [-80+rbp]
7319 add rcx, rax
7320 adc rdi, rdx
7321 adc rsi, 0
7322 mov rax, qword ptr [-344+rbp]
7323 mul qword ptr [-88+rbp]
7324 add rcx, rax
7325 adc rdi, rdx
7326 adc rsi, 0
7327 mov rax, qword ptr [-336+rbp]
7328 mul qword ptr [-96+rbp]
7329 add rcx, rax
7330 adc rdi, rdx
7331 adc rsi, 0
7332 mov rax, qword ptr [-328+rbp]
7333 mul qword ptr [-104+rbp]
7334 add rcx, rax
7335 adc rdi, rdx
7336 adc rsi, 0
7337 mov rax, qword ptr [-320+rbp]
7338 mul qword ptr [-112+rbp]
7339 add rcx, rax
7340 adc rdi, rdx
7341 adc rsi, 0
7342 mov rax, qword ptr [-312+rbp]
7343 mul qword ptr [-120+rbp]
7344 add rcx, rax
7345 adc rdi, rdx
7346 adc rsi, 0
7347 mov rax, qword ptr [-304+rbp]
7348 mul qword ptr [-128+rbp]
7349 add rcx, rax
7350 adc rdi, rdx
7351 adc rsi, 0
7352 mov r10, rdi
7353 mov r11, rsi
7354 mov rax, qword ptr [-296+rbp]
7355 mul qword ptr [-136+rbp]
7356 add rcx, rax
7357 adc r10, rdx
7358 adc r11, 0
7359 mov qword ptr [400+r9], rcx
7360 mov rdi, r11
7361 mov rsi, r10
7362 mov rcx, r8
7363 mov rax, qword ptr [-384+rbp]
7364 mul qword ptr [-40+rbp]
7365 add rsi, rax
7366 adc rdi, rdx
7367 adc rcx, 0
7368 mov rax, qword ptr [-376+rbp]
7369 mul qword ptr [-48+rbp]
7370 add rsi, rax
7371 adc rdi, rdx
7372 adc rcx, 0
7373 mov rax, qword ptr [-368+rbp]
7374 mul qword ptr [-56+rbp]
7375 add rsi, rax
7376 adc rdi, rdx
7377 adc rcx, 0
7378 mov rax, qword ptr [-360+rbp]
7379 mul qword ptr [-64+rbp]
7380 add rsi, rax
7381 adc rdi, rdx
7382 adc rcx, 0
7383 mov rax, qword ptr [-352+rbp]
7384 mul qword ptr [-72+rbp]
7385 add rsi, rax
7386 adc rdi, rdx
7387 adc rcx, 0
7388 mov rax, qword ptr [-344+rbp]
7389 mul qword ptr [-80+rbp]
7390 add rsi, rax
7391 adc rdi, rdx
7392 adc rcx, 0
7393 mov rax, qword ptr [-336+rbp]
7394 mul qword ptr [-88+rbp]
7395 add rsi, rax
7396 adc rdi, rdx
7397 adc rcx, 0
7398 mov rax, qword ptr [-328+rbp]
7399 mul qword ptr [-96+rbp]
7400 add rsi, rax
7401 adc rdi, rdx
7402 adc rcx, 0
7403 mov rax, qword ptr [-320+rbp]
7404 mul qword ptr [-104+rbp]
7405 add rsi, rax
7406 adc rdi, rdx
7407 adc rcx, 0
7408 mov rax, qword ptr [-312+rbp]
7409 mul qword ptr [-112+rbp]
7410 add rsi, rax
7411 adc rdi, rdx
7412 adc rcx, 0
7413 mov rax, qword ptr [-304+rbp]
7414 mul qword ptr [-120+rbp]
7415 add rsi, rax
7416 adc rdi, rdx
7417 adc rcx, 0
7418 mov r10, rdi
7419 mov r11, rcx
7420 mov rax, qword ptr [-296+rbp]
7421 mul qword ptr [-128+rbp]
7422 add rsi, rax
7423 adc r10, rdx
7424 adc r11, 0
7425 mov qword ptr [408+r9], rsi
7426 mov rdi, r11
7427 mov rcx, r10
7428 mov rsi, r8
7429 mov rax, qword ptr [-376+rbp]
7430 mul qword ptr [-40+rbp]
7431 add rcx, rax
7432 adc rdi, rdx
7433 adc rsi, 0
7434 mov rax, qword ptr [-368+rbp]
7435 mul qword ptr [-48+rbp]
7436 add rcx, rax
7437 adc rdi, rdx
7438 adc rsi, 0
7439 mov rax, qword ptr [-360+rbp]
7440 mul qword ptr [-56+rbp]
7441 add rcx, rax
7442 adc rdi, rdx
7443 adc rsi, 0
7444 mov rax, qword ptr [-352+rbp]
7445 mul qword ptr [-64+rbp]
7446 add rcx, rax
7447 adc rdi, rdx
7448 adc rsi, 0
7449 mov rax, qword ptr [-344+rbp]
7450 mul qword ptr [-72+rbp]
7451 add rcx, rax
7452 adc rdi, rdx
7453 adc rsi, 0
7454 mov rax, qword ptr [-336+rbp]
7455 mul qword ptr [-80+rbp]
7456 add rcx, rax
7457 adc rdi, rdx
7458 adc rsi, 0
7459 mov rax, qword ptr [-328+rbp]
7460 mul qword ptr [-88+rbp]
7461 add rcx, rax
7462 adc rdi, rdx
7463 adc rsi, 0
7464 mov rax, qword ptr [-320+rbp]
7465 mul qword ptr [-96+rbp]
7466 add rcx, rax
7467 adc rdi, rdx
7468 adc rsi, 0
7469 mov rax, qword ptr [-312+rbp]
7470 mul qword ptr [-104+rbp]
7471 add rcx, rax
7472 adc rdi, rdx
7473 adc rsi, 0
7474 mov rax, qword ptr [-304+rbp]
7475 mul qword ptr [-112+rbp]
7476 add rcx, rax
7477 adc rdi, rdx
7478 adc rsi, 0
7479 mov r10, rdi
7480 mov r11, rsi
7481 mov rax, qword ptr [-296+rbp]
7482 mul qword ptr [-120+rbp]
7483 add rcx, rax
7484 adc r10, rdx
7485 adc r11, 0
7486 mov qword ptr [416+r9], rcx
7487 mov rdi, r11
7488 mov rsi, r10
7489 mov rcx, r8
7490 mov rax, qword ptr [-368+rbp]
7491 mul qword ptr [-40+rbp]
7492 add rsi, rax
7493 adc rdi, rdx
7494 adc rcx, 0
7495 mov rax, qword ptr [-360+rbp]
7496 mul qword ptr [-48+rbp]
7497 add rsi, rax
7498 adc rdi, rdx
7499 adc rcx, 0
7500 mov rax, qword ptr [-352+rbp]
7501 mul qword ptr [-56+rbp]
7502 add rsi, rax
7503 adc rdi, rdx
7504 adc rcx, 0
7505 mov rax, qword ptr [-344+rbp]
7506 mul qword ptr [-64+rbp]
7507 add rsi, rax
7508 adc rdi, rdx
7509 adc rcx, 0
7510 mov rax, qword ptr [-336+rbp]
7511 mul qword ptr [-72+rbp]
7512 add rsi, rax
7513 adc rdi, rdx
7514 adc rcx, 0
7515 mov rax, qword ptr [-328+rbp]
7516 mul qword ptr [-80+rbp]
7517 add rsi, rax
7518 adc rdi, rdx
7519 adc rcx, 0
7520 mov rax, qword ptr [-320+rbp]
7521 mul qword ptr [-88+rbp]
7522 add rsi, rax
7523 adc rdi, rdx
7524 adc rcx, 0
7525 mov rax, qword ptr [-312+rbp]
7526 mul qword ptr [-96+rbp]
7527 add rsi, rax
7528 adc rdi, rdx
7529 adc rcx, 0
7530 mov rax, qword ptr [-304+rbp]
7531 mul qword ptr [-104+rbp]
7532 add rsi, rax
7533 adc rdi, rdx
7534 adc rcx, 0
7535 mov r10, rdi
7536 mov r11, rcx
7537 mov rax, qword ptr [-296+rbp]
7538 mul qword ptr [-112+rbp]
7539 add rsi, rax
7540 adc r10, rdx
7541 adc r11, 0
7542 mov qword ptr [424+r9], rsi
7543 mov rdi, r11
7544 mov rcx, r10
7545 mov rsi, r8
7546 mov rax, qword ptr [-360+rbp]
7547 mul qword ptr [-40+rbp]
7548 add rcx, rax
7549 adc rdi, rdx
7550 adc rsi, 0
7551 mov rax, qword ptr [-352+rbp]
7552 mul qword ptr [-48+rbp]
7553 add rcx, rax
7554 adc rdi, rdx
7555 adc rsi, 0
7556 mov rax, qword ptr [-344+rbp]
7557 mul qword ptr [-56+rbp]
7558 add rcx, rax
7559 adc rdi, rdx
7560 adc rsi, 0
7561 mov rax, qword ptr [-336+rbp]
7562 mul qword ptr [-64+rbp]
7563 add rcx, rax
7564 adc rdi, rdx
7565 adc rsi, 0
7566 mov rax, qword ptr [-328+rbp]
7567 mul qword ptr [-72+rbp]
7568 add rcx, rax
7569 adc rdi, rdx
7570 adc rsi, 0
7571 mov rax, qword ptr [-320+rbp]
7572 mul qword ptr [-80+rbp]
7573 add rcx, rax
7574 adc rdi, rdx
7575 adc rsi, 0
7576 mov rax, qword ptr [-312+rbp]
7577 mul qword ptr [-88+rbp]
7578 add rcx, rax
7579 adc rdi, rdx
7580 adc rsi, 0
7581 mov rax, qword ptr [-304+rbp]
7582 mul qword ptr [-96+rbp]
7583 add rcx, rax
7584 adc rdi, rdx
7585 adc rsi, 0
7586 mov r10, rdi
7587 mov r11, rsi
7588 mov rax, qword ptr [-296+rbp]
7589 mul qword ptr [-104+rbp]
7590 add rcx, rax
7591 adc r10, rdx
7592 adc r11, 0
7593 mov qword ptr [432+r9], rcx
7594 mov rdi, r11
7595 mov rsi, r10
7596 mov rcx, r8
7597 mov rax, qword ptr [-352+rbp]
7598 mul qword ptr [-40+rbp]
7599 add rsi, rax
7600 adc rdi, rdx
7601 adc rcx, 0
7602 mov rax, qword ptr [-344+rbp]
7603 mul qword ptr [-48+rbp]
7604 add rsi, rax
7605 adc rdi, rdx
7606 adc rcx, 0
7607 mov rax, qword ptr [-336+rbp]
7608 mul qword ptr [-56+rbp]
7609 add rsi, rax
7610 adc rdi, rdx
7611 adc rcx, 0
7612 mov rax, qword ptr [-328+rbp]
7613 mul qword ptr [-64+rbp]
7614 add rsi, rax
7615 adc rdi, rdx
7616 adc rcx, 0
7617 mov rax, qword ptr [-320+rbp]
7618 mul qword ptr [-72+rbp]
7619 add rsi, rax
7620 adc rdi, rdx
7621 adc rcx, 0
7622 mov rax, qword ptr [-312+rbp]
7623 mul qword ptr [-80+rbp]
7624 add rsi, rax
7625 adc rdi, rdx
7626 adc rcx, 0
7627 mov rax, qword ptr [-304+rbp]
7628 mul qword ptr [-88+rbp]
7629 add rsi, rax
7630 adc rdi, rdx
7631 adc rcx, 0
7632 mov r10, rdi
7633 mov r11, rcx
7634 mov rax, qword ptr [-296+rbp]
7635 mul qword ptr [-96+rbp]
7636 add rsi, rax
7637 adc r10, rdx
7638 adc r11, 0
7639 mov qword ptr [440+r9], rsi
7640 mov rdi, r11
7641 mov rcx, r10
7642 mov rsi, r8
7643 mov rax, qword ptr [-344+rbp]
7644 mul qword ptr [-40+rbp]
7645 add rcx, rax
7646 adc rdi, rdx
7647 adc rsi, 0
7648 mov rax, qword ptr [-336+rbp]
7649 mul qword ptr [-48+rbp]
7650 add rcx, rax
7651 adc rdi, rdx
7652 adc rsi, 0
7653 mov rax, qword ptr [-328+rbp]
7654 mul qword ptr [-56+rbp]
7655 add rcx, rax
7656 adc rdi, rdx
7657 adc rsi, 0
7658 mov rax, qword ptr [-320+rbp]
7659 mul qword ptr [-64+rbp]
7660 add rcx, rax
7661 adc rdi, rdx
7662 adc rsi, 0
7663 mov rax, qword ptr [-312+rbp]
7664 mul qword ptr [-72+rbp]
7665 add rcx, rax
7666 adc rdi, rdx
7667 adc rsi, 0
7668 mov rax, qword ptr [-304+rbp]
7669 mul qword ptr [-80+rbp]
7670 add rcx, rax
7671 adc rdi, rdx
7672 adc rsi, 0
7673 mov r10, rdi
7674 mov r11, rsi
7675 mov rax, qword ptr [-296+rbp]
7676 mul qword ptr [-88+rbp]
7677 add rcx, rax
7678 adc r10, rdx
7679 adc r11, 0
7680 mov qword ptr [448+r9], rcx
7681 mov rdi, r11
7682 mov rsi, r10
7683 mov rcx, r8
7684 mov rax, qword ptr [-336+rbp]
7685 mul qword ptr [-40+rbp]
7686 add rsi, rax
7687 adc rdi, rdx
7688 adc rcx, 0
7689 mov rax, qword ptr [-328+rbp]
7690 mul qword ptr [-48+rbp]
7691 add rsi, rax
7692 adc rdi, rdx
7693 adc rcx, 0
7694 mov rax, qword ptr [-320+rbp]
7695 mul qword ptr [-56+rbp]
7696 add rsi, rax
7697 adc rdi, rdx
7698 adc rcx, 0
7699 mov rax, qword ptr [-312+rbp]
7700 mul qword ptr [-64+rbp]
7701 add rsi, rax
7702 adc rdi, rdx
7703 adc rcx, 0
7704 mov rax, qword ptr [-304+rbp]
7705 mul qword ptr [-72+rbp]
7706 add rsi, rax
7707 adc rdi, rdx
7708 adc rcx, 0
7709 mov r10, rdi
7710 mov r11, rcx
7711 mov rax, qword ptr [-296+rbp]
7712 mul qword ptr [-80+rbp]
7713 add rsi, rax
7714 adc r10, rdx
7715 adc r11, 0
7716 mov qword ptr [456+r9], rsi
7717 mov rdi, r11
7718 mov rcx, r10
7719 mov rsi, r8
7720 mov rax, qword ptr [-328+rbp]
7721 mul qword ptr [-40+rbp]
7722 add rcx, rax
7723 adc rdi, rdx
7724 adc rsi, 0
7725 mov rax, qword ptr [-320+rbp]
7726 mul qword ptr [-48+rbp]
7727 add rcx, rax
7728 adc rdi, rdx
7729 adc rsi, 0
7730 mov rax, qword ptr [-312+rbp]
7731 mul qword ptr [-56+rbp]
7732 add rcx, rax
7733 adc rdi, rdx
7734 adc rsi, 0
7735 mov rax, qword ptr [-304+rbp]
7736 mul qword ptr [-64+rbp]
7737 add rcx, rax
7738 adc rdi, rdx
7739 adc rsi, 0
7740 mov r10, rdi
7741 mov r11, rsi
7742 mov rax, qword ptr [-296+rbp]
7743 mul qword ptr [-72+rbp]
7744 add rcx, rax
7745 adc r10, rdx
7746 adc r11, 0
7747 mov qword ptr [464+r9], rcx
7748 mov rdi, r11
7749 mov rsi, r10
7750 mov rcx, r8
7751 mov rax, qword ptr [-320+rbp]
7752 mul qword ptr [-40+rbp]
7753 add rsi, rax
7754 adc rdi, rdx
7755 adc rcx, 0
7756 mov rax, qword ptr [-312+rbp]
7757 mul qword ptr [-48+rbp]
7758 add rsi, rax
7759 adc rdi, rdx
7760 adc rcx, 0
7761 mov rax, qword ptr [-304+rbp]
7762 mul qword ptr [-56+rbp]
7763 add rsi, rax
7764 adc rdi, rdx
7765 adc rcx, 0
7766 mov r10, rdi
7767 mov r11, rcx
7768 mov rax, qword ptr [-296+rbp]
7769 mul qword ptr [-64+rbp]
7770 add rsi, rax
7771 adc r10, rdx
7772 adc r11, 0
7773 mov qword ptr [472+r9], rsi
7774 mov rdi, r11
7775 mov rcx, r10
7776 mov rsi, r8
7777 mov rax, qword ptr [-312+rbp]
7778 mul qword ptr [-40+rbp]
7779 add rcx, rax
7780 adc rdi, rdx
7781 adc rsi, 0
7782 mov rax, qword ptr [-304+rbp]
7783 mul qword ptr [-48+rbp]
7784 add rcx, rax
7785 adc rdi, rdx
7786 adc rsi, 0
7787 mov r10, rdi
7788 mov r11, rsi
7789 mov rax, qword ptr [-296+rbp]
7790 mul qword ptr [-56+rbp]
7791 add rcx, rax
7792 adc r10, rdx
7793 adc r11, 0
7794 mov qword ptr [480+r9], rcx
7795 mov rdi, r11
7796 mov rsi, r10
7797 mov rcx, r8
7798 mov rax, qword ptr [-304+rbp]
7799 mul qword ptr [-40+rbp]
7800 add rsi, rax
7801 adc rdi, rdx
7802 adc rcx, 0
7803 mov r11, rcx
7804 mov r10, rdi
7805 mov rax, qword ptr [-296+rbp]
7806 mul qword ptr [-48+rbp]
7807 add rsi, rax
7808 adc r10, rdx
7809 adc r11, 0
7810 mov qword ptr [488+r9], rsi
7811 mov rcx, r10
7812 mov rsi, r11
7813 mov rax, qword ptr [-296+rbp]
7814 mul qword ptr [-40+rbp]
7815 add rcx, rax
7816 adc rsi, rdx
7817 adc r8, 0
7818 mov qword ptr [496+r9], rcx
7819 mov ecx, dword ptr [r12]
7820 xor ecx, dword ptr [rbx]
7821 test rsi, rsi
7822 mov qword ptr [504+r9], rsi
7823 mov dword ptr [8+r13], 64
7824 jne L149
7825 ALIGN 16
7826 L157:
7827 mov edx, dword ptr [8+r13]
7828 lea ebx, dword ptr [-1+rdx]
7829 test ebx, ebx
7830 mov dword ptr [8+r13], ebx
7831 je L149
7832 lea r12d, dword ptr [-2+rdx]
7833 cmp dword ptr [r9+r12*8], 0
7834 je L157
7835 L149:
7836 mov r9d, dword ptr [8+r13]
7837 xor edx, edx
7838 test r9d, r9d
7839 cmovne edx, ecx
7840 mov dword ptr [r13], edx
7841 add rsp, 520+32 ; +32 for "home" storage
7842 pop rbx
7843 pop r12
7844 pop r13
7845 pop rbp
7846 pop rsi
7847 pop rdi
7848
7849 ret
7850
7851 s_mp_mul_comba_32 ENDP
7852
7853
7854 ; void s_mp_sqr_comba_4(const mp_int *A, mp_int *B);
7855
7856 ALIGN 16
7857 s_mp_sqr_comba_4 PROC
7858
7859 push rdi
7860 push rsi
7861
7862 mov rdi, rcx
7863 mov rsi, rdx
7864
7865 push rbp
7866 sub rsp, 80
7867 mov r11, rsi
7868 xor esi, esi
7869 mov r10, rsi
7870 mov rbp, rsi
7871 mov r8, rsi
7872 push rbx
7873 mov rbx, rsi
7874 mov rcx, qword ptr [16+rdi]
7875 mov rdi, rsi
7876 mov rax, qword ptr [rcx]
7877 mul rax
7878 add r10, rax
7879 adc rbx, rdx
7880 adc rdi, 0
7881 mov qword ptr [-72+80+rsp], r10
7882 mov rax, qword ptr [rcx]
7883 mul qword ptr [8+rcx]
7884 add rbx, rax
7885 adc rdi, rdx
7886 adc rbp, 0
7887 add rbx, rax
7888 adc rdi, rdx
7889 adc rbp, 0
7890 mov qword ptr [-64+80+rsp], rbx
7891 mov rax, qword ptr [rcx]
7892 mul qword ptr [16+rcx]
7893 add rdi, rax
7894 adc rbp, rdx
7895 adc r8, 0
7896 add rdi, rax
7897 adc rbp, rdx
7898 adc r8, 0
7899 mov rbx, rbp
7900 mov rbp, r8
7901 mov rax, qword ptr [8+rcx]
7902 mul rax
7903 add rdi, rax
7904 adc rbx, rdx
7905 adc rbp, 0
7906 mov qword ptr [-56+80+rsp], rdi
7907 mov r9, rbp
7908 mov r8, rbx
7909 mov rdi, rsi
7910 mov rax, qword ptr [rcx]
7911 mul qword ptr [24+rcx]
7912 add r8, rax
7913 adc r9, rdx
7914 adc rdi, 0
7915 add r8, rax
7916 adc r9, rdx
7917 adc rdi, 0
7918 mov rbx, r9
7919 mov rbp, rdi
7920 mov rax, qword ptr [8+rcx]
7921 mul qword ptr [16+rcx]
7922 add r8, rax
7923 adc rbx, rdx
7924 adc rbp, 0
7925 add r8, rax
7926 adc rbx, rdx
7927 adc rbp, 0
7928 mov qword ptr [-48+80+rsp], r8
7929 mov r9, rbp
7930 mov rdi, rbx
7931 mov r8, rsi
7932 mov dword ptr [8+r11], 8
7933 mov dword ptr [r11], 0
7934 mov rax, qword ptr [8+rcx]
7935 mul qword ptr [24+rcx]
7936 add rdi, rax
7937 adc r9, rdx
7938 adc r8, 0
7939 add rdi, rax
7940 adc r9, rdx
7941 adc r8, 0
7942 mov rbx, r9
7943 mov rbp, r8
7944 mov rax, qword ptr [16+rcx]
7945 mul rax
7946 add rdi, rax
7947 adc rbx, rdx
7948 adc rbp, 0
7949 mov rax, rbp
7950 mov qword ptr [-40+80+rsp], rdi
7951 mov rbp, rbx
7952 mov rdi, rax
7953 mov rbx, rsi
7954 mov rax, qword ptr [16+rcx]
7955 mul qword ptr [24+rcx]
7956 add rbp, rax
7957 adc rdi, rdx
7958 adc rbx, 0
7959 add rbp, rax
7960 adc rdi, rdx
7961 adc rbx, 0
7962 mov qword ptr [-32+80+rsp], rbp
7963 mov r9, rbx
7964 mov rax, qword ptr [24+rcx]
7965 mul rax
7966 add rdi, rax
7967 adc r9, rdx
7968 adc rsi, 0
7969 mov rdx, qword ptr [16+r11]
7970 mov qword ptr [-24+80+rsp], rdi
7971 mov qword ptr [-16+80+rsp], r9
7972 mov qword ptr [rdx], r10
7973 mov r8, qword ptr [-64+80+rsp]
7974 mov qword ptr [8+rdx], r8
7975 mov rbp, qword ptr [-56+80+rsp]
7976 mov qword ptr [16+rdx], rbp
7977 mov rdi, qword ptr [-48+80+rsp]
7978 mov qword ptr [24+rdx], rdi
7979 mov rsi, qword ptr [-40+80+rsp]
7980 mov qword ptr [32+rdx], rsi
7981 mov rbx, qword ptr [-32+80+rsp]
7982 mov qword ptr [40+rdx], rbx
7983 mov rcx, qword ptr [-24+80+rsp]
7984 mov qword ptr [48+rdx], rcx
7985 mov rax, qword ptr [-16+80+rsp]
7986 mov qword ptr [56+rdx], rax
7987 mov edx, dword ptr [8+r11]
7988 test edx, edx
7989 je L168
7990 lea ecx, dword ptr [-1+rdx]
7991 mov rsi, qword ptr [16+r11]
7992 mov r10d, ecx
7993 cmp dword ptr [rsi+r10*8], 0
7994 jne L166
7995 mov edx, ecx
7996 ALIGN 16
7997 L167:
7998 test edx, edx
7999 mov ecx, edx
8000 je L171
8001 dec edx
8002 mov eax, edx
8003 cmp dword ptr [rsi+rax*8], 0
8004 je L167
8005 mov dword ptr [8+r11], ecx
8006 mov edx, ecx
8007 L166:
8008 test edx, edx
8009 je L168
8010 mov eax, dword ptr [r11]
8011 jmp L169
8012
8013 L171:
8014 mov dword ptr [8+r11], edx
8015 L168:
8016 xor eax, eax
8017 L169:
8018 add rsp, 80
8019 pop rbx
8020 pop rbp
8021 mov dword ptr [r11], eax
8022
8023 pop rsi
8024 pop rdi
8025
8026 ret
8027
8028 s_mp_sqr_comba_4 ENDP
8029
8030
8031 ; void s_mp_sqr_comba_8(const mp_int *A, mp_int *B);
8032
8033 ALIGN 16
8034 s_mp_sqr_comba_8 PROC
8035
8036 push rdi
8037 push rsi
8038
8039 mov rdi, rcx
8040 mov rsi, rdx
8041 mov rdx, r8
8042 mov rcx, r9
8043
8044 push r14
8045 xor r9d, r9d
8046 mov r14, r9
8047 mov r10, r9
8048 push r13
8049 mov r13, r9
8050 push r12
8051 mov r12, r9
8052 push rbp
8053 mov rbp, rsi
8054 mov rsi, r9
8055 push rbx
8056 mov rbx, r9
8057 sub rsp, 8+128
8058 mov rcx, qword ptr [16+rdi]
8059 mov rax, qword ptr [rcx]
8060 mul rax
8061 add r14, rax
8062 adc rbx, rdx
8063 adc r12, 0
8064 mov qword ptr [-120+128+rsp], r14
8065 mov rax, qword ptr [rcx]
8066 mul qword ptr [8+rcx]
8067 add rbx, rax
8068 adc r12, rdx
8069 adc r10, 0
8070 add rbx, rax
8071 adc r12, rdx
8072 adc r10, 0
8073 mov qword ptr [-112+128+rsp], rbx
8074 mov rax, qword ptr [rcx]
8075 mul qword ptr [16+rcx]
8076 add r12, rax
8077 adc r10, rdx
8078 adc r13, 0
8079 add r12, rax
8080 adc r10, rdx
8081 adc r13, 0
8082 mov rbx, r10
8083 mov r10, r13
8084 mov r13, r9
8085 mov rax, qword ptr [8+rcx]
8086 mul rax
8087 add r12, rax
8088 adc rbx, rdx
8089 adc r10, 0
8090 mov qword ptr [-104+128+rsp], r12
8091 mov rdi, r10
8092 mov r11, rbx
8093 mov rax, qword ptr [rcx]
8094 mul qword ptr [24+rcx]
8095 add r11, rax
8096 adc rdi, rdx
8097 adc rsi, 0
8098 add r11, rax
8099 adc rdi, rdx
8100 adc rsi, 0
8101 mov rbx, rdi
8102 mov r10, rsi
8103 mov rdi, r9
8104 mov rax, qword ptr [8+rcx]
8105 mul qword ptr [16+rcx]
8106 add r11, rax
8107 adc rbx, rdx
8108 adc r10, 0
8109 add r11, rax
8110 adc rbx, rdx
8111 adc r10, 0
8112 mov rsi, r9
8113 mov qword ptr [-96+128+rsp], r11
8114 mov r8, r10
8115 mov r12, rbx
8116 mov r11, r9
8117 mov rax, qword ptr [rcx]
8118 mul qword ptr [32+rcx]
8119 add r12, rax
8120 adc r8, rdx
8121 adc r13, 0
8122 add r12, rax
8123 adc r8, rdx
8124 adc r13, 0
8125 mov rax, qword ptr [8+rcx]
8126 mul qword ptr [24+rcx]
8127 add r12, rax
8128 adc r8, rdx
8129 adc r13, 0
8130 add r12, rax
8131 adc r8, rdx
8132 adc r13, 0
8133 mov rbx, r8
8134 mov r10, r13
8135 mov r8, r9
8136 mov rax, qword ptr [16+rcx]
8137 mul rax
8138 add r12, rax
8139 adc rbx, rdx
8140 adc r10, 0
8141 mov qword ptr [-88+128+rsp], r12
8142 mov rax, qword ptr [rcx]
8143 mul qword ptr [40+rcx]
8144 mov r8, rax
8145 mov rdi, rdx
8146 xor rsi, rsi
8147 mov rax, qword ptr [8+rcx]
8148 mul qword ptr [32+rcx]
8149 add r8, rax
8150 adc rdi, rdx
8151 adc rsi, 0
8152 mov rax, qword ptr [16+rcx]
8153 mul qword ptr [24+rcx]
8154 add r8, rax
8155 adc rdi, rdx
8156 adc rsi, 0
8157 add rbx, r8
8158 adc r10, rdi
8159 adc r11, rsi
8160 add rbx, r8
8161 adc r10, rdi
8162 adc r11, rsi
8163 mov qword ptr [-80+128+rsp], rbx
8164 mov rax, qword ptr [rcx]
8165 mul qword ptr [48+rcx]
8166 mov r8, rax
8167 mov rdi, rdx
8168 xor rsi, rsi
8169 mov rax, qword ptr [8+rcx]
8170 mul qword ptr [40+rcx]
8171 add r8, rax
8172 adc rdi, rdx
8173 adc rsi, 0
8174 mov rax, qword ptr [16+rcx]
8175 mul qword ptr [32+rcx]
8176 add r8, rax
8177 adc rdi, rdx
8178 adc rsi, 0
8179 mov rax, r9
8180 mov r13, rdi
8181 mov r12, rsi
8182 add r10, r8
8183 adc r11, r13
8184 adc rax, r12
8185 add r10, r8
8186 adc r11, r13
8187 adc rax, r12
8188 mov rdx, rax
8189 mov rbx, r11
8190 mov rdi, r13
8191 mov r11, rdx
8192 mov rsi, r12
8193 mov rax, qword ptr [24+rcx]
8194 mul rax
8195 add r10, rax
8196 adc rbx, rdx
8197 adc r11, 0
8198 mov qword ptr [-72+128+rsp], r10
8199 mov r10, r11
8200 mov rax, qword ptr [rcx]
8201 mul qword ptr [56+rcx]
8202 mov r8, rax
8203 mov rdi, rdx
8204 xor rsi, rsi
8205 mov rax, qword ptr [8+rcx]
8206 mul qword ptr [48+rcx]
8207 add r8, rax
8208 adc rdi, rdx
8209 adc rsi, 0
8210 mov rax, qword ptr [16+rcx]
8211 mul qword ptr [40+rcx]
8212 add r8, rax
8213 adc rdi, rdx
8214 adc rsi, 0
8215 mov rax, qword ptr [24+rcx]
8216 mul qword ptr [32+rcx]
8217 add r8, rax
8218 adc rdi, rdx
8219 adc rsi, 0
8220 mov rax, r9
8221 add rbx, r8
8222 adc r10, rdi
8223 adc rax, rsi
8224 add rbx, r8
8225 adc r10, rdi
8226 adc rax, rsi
8227 mov qword ptr [-64+128+rsp], rbx
8228 mov r11, rax
8229 mov rbx, r9
8230 mov rax, qword ptr [8+rcx]
8231 mul qword ptr [56+rcx]
8232 mov r8, rax
8233 mov rdi, rdx
8234 xor rsi, rsi
8235 mov rax, qword ptr [16+rcx]
8236 mul qword ptr [48+rcx]
8237 add r8, rax
8238 adc rdi, rdx
8239 adc rsi, 0
8240 mov rax, qword ptr [24+rcx]
8241 mul qword ptr [40+rcx]
8242 add r8, rax
8243 adc rdi, rdx
8244 adc rsi, 0
8245 mov r13, rdi
8246 mov r12, rsi
8247 add r10, r8
8248 adc r11, r13
8249 adc rbx, r12
8250 add r10, r8
8251 adc r11, r13
8252 adc rbx, r12
8253 mov rsi, rbx
8254 mov rdi, r13
8255 mov rbx, r11
8256 mov r13, r12
8257 mov r11, rsi
8258 mov rax, qword ptr [32+rcx]
8259 mul rax
8260 add r10, rax
8261 adc rbx, rdx
8262 adc r11, 0
8263 mov qword ptr [-56+128+rsp], r10
8264 mov r10, r9
8265 mov rax, qword ptr [16+rcx]
8266 mul qword ptr [56+rcx]
8267 mov r8, rax
8268 mov rdi, rdx
8269 xor r13, r13
8270 mov rax, qword ptr [24+rcx]
8271 mul qword ptr [48+rcx]
8272 add r8, rax
8273 adc rdi, rdx
8274 adc r13, 0
8275 mov rax, qword ptr [32+rcx]
8276 mul qword ptr [40+rcx]
8277 add r8, rax
8278 adc rdi, rdx
8279 adc r13, 0
8280 mov r12, rdi
8281 mov rax, r13
8282 add rbx, r8
8283 adc r11, r12
8284 adc r10, rax
8285 add rbx, r8
8286 adc r11, r12
8287 adc r10, rax
8288 mov qword ptr [-48+128+rsp], rbx
8289 mov r12, r11
8290 mov rsi, r10
8291 mov rbx, r9
8292 mov r11, r9
8293 mov rax, qword ptr [24+rcx]
8294 mul qword ptr [56+rcx]
8295 add r12, rax
8296 adc rsi, rdx
8297 adc rbx, 0
8298 add r12, rax
8299 adc rsi, rdx
8300 adc rbx, 0
8301 mov r13, rbx
8302 mov rax, qword ptr [32+rcx]
8303 mul qword ptr [48+rcx]
8304 add r12, rax
8305 adc rsi, rdx
8306 adc r13, 0
8307 add r12, rax
8308 adc rsi, rdx
8309 adc r13, 0
8310 mov r10, rsi
8311 mov rbx, r13
8312 mov r13, r9
8313 mov rax, qword ptr [40+rcx]
8314 mul rax
8315 add r12, rax
8316 adc r10, rdx
8317 adc rbx, 0
8318 mov qword ptr [-40+128+rsp], r12
8319 mov r8, rbx
8320 mov rdi, r10
8321 mov rax, qword ptr [32+rcx]
8322 mul qword ptr [56+rcx]
8323 add rdi, rax
8324 adc r8, rdx
8325 adc r11, 0
8326 add rdi, rax
8327 adc r8, rdx
8328 adc r11, 0
8329 mov r10, r8
8330 mov rbx, r11
8331 mov rax, qword ptr [40+rcx]
8332 mul qword ptr [48+rcx]
8333 add rdi, rax
8334 adc r10, rdx
8335 adc rbx, 0
8336 add rdi, rax
8337 adc r10, rdx
8338 adc rbx, 0
8339 mov qword ptr [-32+128+rsp], rdi
8340 mov rsi, rbx
8341 mov r12, r10
8342 mov rax, qword ptr [40+rcx]
8343 mul qword ptr [56+rcx]
8344 add r12, rax
8345 adc rsi, rdx
8346 adc r13, 0
8347 add r12, rax
8348 adc rsi, rdx
8349 adc r13, 0
8350 mov r10, rsi
8351 mov rbx, r13
8352 mov rax, qword ptr [48+rcx]
8353 mul rax
8354 add r12, rax
8355 adc r10, rdx
8356 adc rbx, 0
8357 mov qword ptr [-24+128+rsp], r12
8358 mov rdi, r10
8359 mov rsi, rbx
8360 mov r10, r9
8361 mov dword ptr [8+rbp], 16
8362 mov dword ptr [rbp], 0
8363 mov rax, qword ptr [48+rcx]
8364 mul qword ptr [56+rcx]
8365 add rdi, rax
8366 adc rsi, rdx
8367 adc r10, 0
8368 add rdi, rax
8369 adc rsi, rdx
8370 adc r10, 0
8371 mov qword ptr [-16+128+rsp], rdi
8372 mov r8, r10
8373 mov rax, qword ptr [56+rcx]
8374 mul rax
8375 add rsi, rax
8376 adc r8, rdx
8377 adc r9, 0
8378 mov rax, qword ptr [16+rbp]
8379 mov qword ptr [-8+128+rsp], rsi
8380 mov qword ptr [128+rsp], r8
8381 mov qword ptr [rax], r14
8382 mov rbx, qword ptr [-112+128+rsp]
8383 mov qword ptr [8+rax], rbx
8384 mov rcx, qword ptr [-104+128+rsp]
8385 mov qword ptr [16+rax], rcx
8386 mov rdx, qword ptr [-96+128+rsp]
8387 mov qword ptr [24+rax], rdx
8388 mov r14, qword ptr [-88+128+rsp]
8389 mov qword ptr [32+rax], r14
8390 mov r13, qword ptr [-80+128+rsp]
8391 mov qword ptr [40+rax], r13
8392 mov r12, qword ptr [-72+128+rsp]
8393 mov qword ptr [48+rax], r12
8394 mov r11, qword ptr [-64+128+rsp]
8395 mov qword ptr [56+rax], r11
8396 mov r10, qword ptr [-56+128+rsp]
8397 mov qword ptr [64+rax], r10
8398 mov r9, qword ptr [-48+128+rsp]
8399 mov qword ptr [72+rax], r9
8400 mov r8, qword ptr [-40+128+rsp]
8401 mov qword ptr [80+rax], r8
8402 mov rdi, qword ptr [-32+128+rsp]
8403 mov qword ptr [88+rax], rdi
8404 mov rsi, qword ptr [-24+128+rsp]
8405 mov qword ptr [96+rax], rsi
8406 mov rbx, qword ptr [-16+128+rsp]
8407 mov qword ptr [104+rax], rbx
8408 mov rcx, qword ptr [-8+128+rsp]
8409 mov qword ptr [112+rax], rcx
8410 mov rdx, qword ptr [128+rsp]
8411 mov qword ptr [120+rax], rdx
8412 mov edx, dword ptr [8+rbp]
8413 test edx, edx
8414 je L192
8415 lea ecx, dword ptr [-1+rdx]
8416 mov rsi, qword ptr [16+rbp]
8417 mov r14d, ecx
8418 cmp dword ptr [rsi+r14*8], 0
8419 jne L190
8420 mov edx, ecx
8421 ALIGN 16
8422 L191:
8423 test edx, edx
8424 mov ecx, edx
8425 je L195
8426 dec edx
8427 mov r9d, edx
8428 cmp dword ptr [rsi+r9*8], 0
8429 je L191
8430 mov dword ptr [8+rbp], ecx
8431 mov edx, ecx
8432 L190:
8433 test edx, edx
8434 je L192
8435 mov eax, dword ptr [rbp]
8436 jmp L193
8437
8438 L195:
8439 mov dword ptr [8+rbp], edx
8440 L192:
8441 xor eax, eax
8442 L193:
8443 mov dword ptr [rbp], eax
8444 add rsp, 8+128
8445 pop rbx
8446 pop rbp
8447 pop r12
8448 pop r13
8449 pop r14
8450
8451 pop rsi
8452 pop rdi
8453
8454 ret
8455
8456 s_mp_sqr_comba_8 ENDP
8457
8458
8459 ; void s_mp_sqr_comba_16(const mp_int *A, mp_int *B)
8460
8461 ALIGN 16
8462 s_mp_sqr_comba_16 PROC ; A "FRAME" function
8463
8464 push rdi
8465 push rsi
8466
8467 mov rdi, rcx
8468 mov rsi, rdx
8469
8470 push rbp
8471 xor r9d, r9d
8472 mov r8, r9
8473 mov r11, r9
8474 mov rbp, rsp
8475 push r14
8476 mov r14, rsi
8477 mov rsi, r9
8478 push r13
8479 mov r13, r9
8480 push r12
8481 mov r12, r9
8482 push rbx
8483 mov rbx, r9
8484 sub rsp, 256+32 ; +32 for "home" storage
8485 mov rcx, qword ptr [16+rdi]
8486 mov rax, qword ptr [rcx]
8487 mul rax
8488 add r8, rax
8489 adc rbx, rdx
8490 adc rsi, 0
8491 mov qword ptr [-288+rbp], r8
8492 mov rax, qword ptr [rcx]
8493 mul qword ptr [8+rcx]
8494 add rbx, rax
8495 adc rsi, rdx
8496 adc r12, 0
8497 add rbx, rax
8498 adc rsi, rdx
8499 adc r12, 0
8500 mov qword ptr [-280+rbp], rbx
8501 mov rax, qword ptr [rcx]
8502 mul qword ptr [16+rcx]
8503 add rsi, rax
8504 adc r12, rdx
8505 adc r13, 0
8506 add rsi, rax
8507 adc r12, rdx
8508 adc r13, 0
8509 mov rbx, r12
8510 mov r10, r13
8511 mov rax, qword ptr [8+rcx]
8512 mul rax
8513 add rsi, rax
8514 adc rbx, rdx
8515 adc r10, 0
8516 mov qword ptr [-272+rbp], rsi
8517 mov rdi, r10
8518 mov rsi, r9
8519 mov r10, rbx
8520 mov rax, qword ptr [rcx]
8521 mul qword ptr [24+rcx]
8522 add r10, rax
8523 adc rdi, rdx
8524 adc r11, 0
8525 add r10, rax
8526 adc rdi, rdx
8527 adc r11, 0
8528 mov r12, rdi
8529 mov rbx, r11
8530 mov rdi, r9
8531 mov rax, qword ptr [8+rcx]
8532 mul qword ptr [16+rcx]
8533 add r10, rax
8534 adc r12, rdx
8535 adc rbx, 0
8536 add r10, rax
8537 adc r12, rdx
8538 adc rbx, 0
8539 mov r11, r9
8540 mov qword ptr [-264+rbp], r10
8541 mov r8, rbx
8542 mov r13, r12
8543 mov r12, r9
8544 mov rax, qword ptr [rcx]
8545 mul qword ptr [32+rcx]
8546 add r13, rax
8547 adc r8, rdx
8548 adc r12, 0
8549 add r13, rax
8550 adc r8, rdx
8551 adc r12, 0
8552 mov rax, qword ptr [8+rcx]
8553 mul qword ptr [24+rcx]
8554 add r13, rax
8555 adc r8, rdx
8556 adc r12, 0
8557 add r13, rax
8558 adc r8, rdx
8559 adc r12, 0
8560 mov rbx, r8
8561 mov r10, r12
8562 mov r8, r9
8563 mov rax, qword ptr [16+rcx]
8564 mul rax
8565 add r13, rax
8566 adc rbx, rdx
8567 adc r10, 0
8568 mov qword ptr [-256+rbp], r13
8569 mov rax, qword ptr [rcx]
8570 mul qword ptr [40+rcx]
8571 mov r8, rax
8572 mov rdi, rdx
8573 xor rsi, rsi
8574 mov rax, qword ptr [8+rcx]
8575 mul qword ptr [32+rcx]
8576 add r8, rax
8577 adc rdi, rdx
8578 adc rsi, 0
8579 mov rax, qword ptr [16+rcx]
8580 mul qword ptr [24+rcx]
8581 add r8, rax
8582 adc rdi, rdx
8583 adc rsi, 0
8584 add rbx, r8
8585 adc r10, rdi
8586 adc r11, rsi
8587 add rbx, r8
8588 adc r10, rdi
8589 adc r11, rsi
8590 mov qword ptr [-248+rbp], rbx
8591 mov rax, qword ptr [rcx]
8592 mul qword ptr [48+rcx]
8593 mov r8, rax
8594 mov rdi, rdx
8595 xor rsi, rsi
8596 mov rax, qword ptr [8+rcx]
8597 mul qword ptr [40+rcx]
8598 add r8, rax
8599 adc rdi, rdx
8600 adc rsi, 0
8601 mov rax, qword ptr [16+rcx]
8602 mul qword ptr [32+rcx]
8603 add r8, rax
8604 adc rdi, rdx
8605 adc rsi, 0
8606 mov rax, r9
8607 mov r13, rdi
8608 mov r12, rsi
8609 add r10, r8
8610 adc r11, r13
8611 adc rax, r12
8612 add r10, r8
8613 adc r11, r13
8614 adc rax, r12
8615 mov rdx, rax
8616 mov rbx, r11
8617 mov rdi, r13
8618 mov r11, rdx
8619 mov rsi, r12
8620 mov rax, qword ptr [24+rcx]
8621 mul rax
8622 add r10, rax
8623 adc rbx, rdx
8624 adc r11, 0
8625 mov qword ptr [-240+rbp], r10
8626 mov r10, r11
8627 mov rax, qword ptr [rcx]
8628 mul qword ptr [56+rcx]
8629 mov r8, rax
8630 mov rdi, rdx
8631 xor rsi, rsi
8632 mov rax, qword ptr [8+rcx]
8633 mul qword ptr [48+rcx]
8634 add r8, rax
8635 adc rdi, rdx
8636 adc rsi, 0
8637 mov rax, qword ptr [16+rcx]
8638 mul qword ptr [40+rcx]
8639 add r8, rax
8640 adc rdi, rdx
8641 adc rsi, 0
8642 mov rax, qword ptr [24+rcx]
8643 mul qword ptr [32+rcx]
8644 add r8, rax
8645 adc rdi, rdx
8646 adc rsi, 0
8647 mov rdx, r9
8648 add rbx, r8
8649 adc r10, rdi
8650 adc rdx, rsi
8651 add rbx, r8
8652 adc r10, rdi
8653 adc rdx, rsi
8654 mov r11, rdx
8655 mov qword ptr [-232+rbp], rbx
8656 mov rbx, r9
8657 mov rax, qword ptr [rcx]
8658 mul qword ptr [64+rcx]
8659 mov r8, rax
8660 mov rdi, rdx
8661 xor rsi, rsi
8662 mov rax, qword ptr [8+rcx]
8663 mul qword ptr [56+rcx]
8664 add r8, rax
8665 adc rdi, rdx
8666 adc rsi, 0
8667 mov rax, qword ptr [16+rcx]
8668 mul qword ptr [48+rcx]
8669 add r8, rax
8670 adc rdi, rdx
8671 adc rsi, 0
8672 mov rax, qword ptr [24+rcx]
8673 mul qword ptr [40+rcx]
8674 add r8, rax
8675 adc rdi, rdx
8676 adc rsi, 0
8677 mov r13, rdi
8678 mov r12, rsi
8679 add r10, r8
8680 adc r11, r13
8681 adc rbx, r12
8682 add r10, r8
8683 adc r11, r13
8684 adc rbx, r12
8685 mov rax, qword ptr [32+rcx]
8686 mul rax
8687 add r10, rax
8688 adc r11, rdx
8689 adc rbx, 0
8690 mov rdi, r13
8691 mov qword ptr [-224+rbp], r10
8692 mov rsi, r12
8693 mov r10, rbx
8694 mov r12, r9
8695 mov rax, qword ptr [rcx]
8696 mul qword ptr [72+rcx]
8697 mov r8, rax
8698 mov rdi, rdx
8699 xor rsi, rsi
8700 mov rax, qword ptr [8+rcx]
8701 mul qword ptr [64+rcx]
8702 add r8, rax
8703 adc rdi, rdx
8704 adc rsi, 0
8705 mov rax, qword ptr [16+rcx]
8706 mul qword ptr [56+rcx]
8707 add r8, rax
8708 adc rdi, rdx
8709 adc rsi, 0
8710 mov rax, qword ptr [24+rcx]
8711 mul qword ptr [48+rcx]
8712 add r8, rax
8713 adc rdi, rdx
8714 adc rsi, 0
8715 mov rax, qword ptr [32+rcx]
8716 mul qword ptr [40+rcx]
8717 add r8, rax
8718 adc rdi, rdx
8719 adc rsi, 0
8720 add r11, r8
8721 adc r10, rdi
8722 adc r12, rsi
8723 add r11, r8
8724 adc r10, rdi
8725 adc r12, rsi
8726 mov qword ptr [-216+rbp], r11
8727 mov rbx, r12
8728 mov rax, qword ptr [rcx]
8729 mul qword ptr [80+rcx]
8730 mov r8, rax
8731 mov rdi, rdx
8732 xor rsi, rsi
8733 mov rax, qword ptr [8+rcx]
8734 mul qword ptr [72+rcx]
8735 add r8, rax
8736 adc rdi, rdx
8737 adc rsi, 0
8738 mov rax, qword ptr [16+rcx]
8739 mul qword ptr [64+rcx]
8740 add r8, rax
8741 adc rdi, rdx
8742 adc rsi, 0
8743 mov rax, qword ptr [24+rcx]
8744 mul qword ptr [56+rcx]
8745 add r8, rax
8746 adc rdi, rdx
8747 adc rsi, 0
8748 mov rax, qword ptr [32+rcx]
8749 mul qword ptr [48+rcx]
8750 add r8, rax
8751 adc rdi, rdx
8752 adc rsi, 0
8753 mov rax, r9
8754 mov r13, rdi
8755 mov r12, rsi
8756 add r10, r8
8757 adc rbx, r13
8758 adc rax, r12
8759 add r10, r8
8760 adc rbx, r13
8761 adc rax, r12
8762 mov rdx, rax
8763 mov r11, rbx
8764 mov rdi, r13
8765 mov rbx, rdx
8766 mov rsi, r12
8767 mov rax, qword ptr [40+rcx]
8768 mul rax
8769 add r10, rax
8770 adc r11, rdx
8771 adc rbx, 0
8772 mov qword ptr [-208+rbp], r10
8773 mov r10, rbx
8774 mov rax, qword ptr [rcx]
8775 mul qword ptr [88+rcx]
8776 mov r8, rax
8777 mov rdi, rdx
8778 xor rsi, rsi
8779 mov rax, qword ptr [8+rcx]
8780 mul qword ptr [80+rcx]
8781 add r8, rax
8782 adc rdi, rdx
8783 adc rsi, 0
8784 mov rax, qword ptr [16+rcx]
8785 mul qword ptr [72+rcx]
8786 add r8, rax
8787 adc rdi, rdx
8788 adc rsi, 0
8789 mov rax, qword ptr [24+rcx]
8790 mul qword ptr [64+rcx]
8791 add r8, rax
8792 adc rdi, rdx
8793 adc rsi, 0
8794 mov rax, qword ptr [32+rcx]
8795 mul qword ptr [56+rcx]
8796 add r8, rax
8797 adc rdi, rdx
8798 adc rsi, 0
8799 mov rax, qword ptr [40+rcx]
8800 mul qword ptr [48+rcx]
8801 add r8, rax
8802 adc rdi, rdx
8803 adc rsi, 0
8804 mov rdx, r9
8805 add r11, r8
8806 adc r10, rdi
8807 adc rdx, rsi
8808 add r11, r8
8809 adc r10, rdi
8810 adc rdx, rsi
8811 mov r13, rdx
8812 mov qword ptr [-200+rbp], r11
8813 mov r12, r13
8814 mov rax, qword ptr [rcx]
8815 mul qword ptr [96+rcx]
8816 mov r8, rax
8817 mov rdi, rdx
8818 xor rsi, rsi
8819 mov rax, qword ptr [8+rcx]
8820 mul qword ptr [88+rcx]
8821 add r8, rax
8822 adc rdi, rdx
8823 adc rsi, 0
8824 mov rax, qword ptr [16+rcx]
8825 mul qword ptr [80+rcx]
8826 add r8, rax
8827 adc rdi, rdx
8828 adc rsi, 0
8829 mov rax, qword ptr [24+rcx]
8830 mul qword ptr [72+rcx]
8831 add r8, rax
8832 adc rdi, rdx
8833 adc rsi, 0
8834 mov rax, qword ptr [32+rcx]
8835 mul qword ptr [64+rcx]
8836 add r8, rax
8837 adc rdi, rdx
8838 adc rsi, 0
8839 mov rax, qword ptr [40+rcx]
8840 mul qword ptr [56+rcx]
8841 add r8, rax
8842 adc rdi, rdx
8843 adc rsi, 0
8844 mov rax, r9
8845 mov rdx, rdi
8846 mov r11, rsi
8847 add r10, r8
8848 adc r12, rdx
8849 adc rax, r11
8850 add r10, r8
8851 adc r12, rdx
8852 adc rax, r11
8853 mov rbx, rdx
8854 mov r13, rax
8855 mov rsi, r11
8856 mov rax, qword ptr [48+rcx]
8857 mul rax
8858 add r10, rax
8859 adc r12, rdx
8860 adc r13, 0
8861 mov rdi, rbx
8862 mov qword ptr [-192+rbp], r10
8863 mov r10, r13
8864 mov rax, qword ptr [rcx]
8865 mul qword ptr [104+rcx]
8866 mov r8, rax
8867 mov rdi, rdx
8868 xor rsi, rsi
8869 mov r13, r9
8870 mov rax, qword ptr [8+rcx]
8871 mul qword ptr [96+rcx]
8872 add r8, rax
8873 adc rdi, rdx
8874 adc rsi, 0
8875 mov rax, qword ptr [16+rcx]
8876 mul qword ptr [88+rcx]
8877 add r8, rax
8878 adc rdi, rdx
8879 adc rsi, 0
8880 mov rax, qword ptr [24+rcx]
8881 mul qword ptr [80+rcx]
8882 add r8, rax
8883 adc rdi, rdx
8884 adc rsi, 0
8885 mov rax, qword ptr [32+rcx]
8886 mul qword ptr [72+rcx]
8887 add r8, rax
8888 adc rdi, rdx
8889 adc rsi, 0
8890 mov rax, qword ptr [40+rcx]
8891 mul qword ptr [64+rcx]
8892 add r8, rax
8893 adc rdi, rdx
8894 adc rsi, 0
8895 mov rax, qword ptr [48+rcx]
8896 mul qword ptr [56+rcx]
8897 add r8, rax
8898 adc rdi, rdx
8899 adc rsi, 0
8900 add r12, r8
8901 adc r10, rdi
8902 adc r13, rsi
8903 add r12, r8
8904 adc r10, rdi
8905 adc r13, rsi
8906 mov qword ptr [-184+rbp], r12
8907 mov r12, r13
8908 mov rax, qword ptr [rcx]
8909 mul qword ptr [112+rcx]
8910 mov r8, rax
8911 mov rdi, rdx
8912 xor rsi, rsi
8913 mov rax, qword ptr [8+rcx]
8914 mul qword ptr [104+rcx]
8915 add r8, rax
8916 adc rdi, rdx
8917 adc rsi, 0
8918 mov rax, qword ptr [16+rcx]
8919 mul qword ptr [96+rcx]
8920 add r8, rax
8921 adc rdi, rdx
8922 adc rsi, 0
8923 mov rax, qword ptr [24+rcx]
8924 mul qword ptr [88+rcx]
8925 add r8, rax
8926 adc rdi, rdx
8927 adc rsi, 0
8928 mov rax, qword ptr [32+rcx]
8929 mul qword ptr [80+rcx]
8930 add r8, rax
8931 adc rdi, rdx
8932 adc rsi, 0
8933 mov rax, qword ptr [40+rcx]
8934 mul qword ptr [72+rcx]
8935 add r8, rax
8936 adc rdi, rdx
8937 adc rsi, 0
8938 mov rax, qword ptr [48+rcx]
8939 mul qword ptr [64+rcx]
8940 add r8, rax
8941 adc rdi, rdx
8942 adc rsi, 0
8943 mov rax, r9
8944 mov rbx, rdi
8945 mov rdx, rsi
8946 add r10, r8
8947 adc r12, rbx
8948 adc rax, rdx
8949 add r10, r8
8950 adc r12, rbx
8951 adc rax, rdx
8952 mov r11, rdx
8953 mov r13, rax
8954 mov rdi, rbx
8955 mov rax, qword ptr [56+rcx]
8956 mul rax
8957 add r10, rax
8958 adc r12, rdx
8959 adc r13, 0
8960 mov rsi, r11
8961 mov qword ptr [-176+rbp], r10
8962 mov r10, r13
8963 mov rax, qword ptr [rcx]
8964 mul qword ptr [120+rcx]
8965 mov r8, rax
8966 mov rdi, rdx
8967 xor rsi, rsi
8968 mov r13, r9
8969 mov rax, qword ptr [8+rcx]
8970 mul qword ptr [112+rcx]
8971 add r8, rax
8972 adc rdi, rdx
8973 adc rsi, 0
8974 mov rax, qword ptr [16+rcx]
8975 mul qword ptr [104+rcx]
8976 add r8, rax
8977 adc rdi, rdx
8978 adc rsi, 0
8979 mov rax, qword ptr [24+rcx]
8980 mul qword ptr [96+rcx]
8981 add r8, rax
8982 adc rdi, rdx
8983 adc rsi, 0
8984 mov rax, qword ptr [32+rcx]
8985 mul qword ptr [88+rcx]
8986 add r8, rax
8987 adc rdi, rdx
8988 adc rsi, 0
8989 mov rax, qword ptr [40+rcx]
8990 mul qword ptr [80+rcx]
8991 add r8, rax
8992 adc rdi, rdx
8993 adc rsi, 0
8994 mov rax, qword ptr [48+rcx]
8995 mul qword ptr [72+rcx]
8996 add r8, rax
8997 adc rdi, rdx
8998 adc rsi, 0
8999 mov rax, qword ptr [56+rcx]
9000 mul qword ptr [64+rcx]
9001 add r8, rax
9002 adc rdi, rdx
9003 adc rsi, 0
9004 add r12, r8
9005 adc r10, rdi
9006 adc r13, rsi
9007 add r12, r8
9008 adc r10, rdi
9009 adc r13, rsi
9010 mov qword ptr [-168+rbp], r12
9011 mov r12, r13
9012 mov rax, qword ptr [8+rcx]
9013 mul qword ptr [120+rcx]
9014 mov r8, rax
9015 mov rdi, rdx
9016 xor rsi, rsi
9017 mov rax, qword ptr [16+rcx]
9018 mul qword ptr [112+rcx]
9019 add r8, rax
9020 adc rdi, rdx
9021 adc rsi, 0
9022 mov rax, qword ptr [24+rcx]
9023 mul qword ptr [104+rcx]
9024 add r8, rax
9025 adc rdi, rdx
9026 adc rsi, 0
9027 mov rax, qword ptr [32+rcx]
9028 mul qword ptr [96+rcx]
9029 add r8, rax
9030 adc rdi, rdx
9031 adc rsi, 0
9032 mov rax, qword ptr [40+rcx]
9033 mul qword ptr [88+rcx]
9034 add r8, rax
9035 adc rdi, rdx
9036 adc rsi, 0
9037 mov rax, qword ptr [48+rcx]
9038 mul qword ptr [80+rcx]
9039 add r8, rax
9040 adc rdi, rdx
9041 adc rsi, 0
9042 mov rax, qword ptr [56+rcx]
9043 mul qword ptr [72+rcx]
9044 add r8, rax
9045 adc rdi, rdx
9046 adc rsi, 0
9047 mov rax, r9
9048 mov rbx, rdi
9049 mov rdx, rsi
9050 add r10, r8
9051 adc r12, rbx
9052 adc rax, rdx
9053 add r10, r8
9054 adc r12, rbx
9055 adc rax, rdx
9056 mov r11, rdx
9057 mov r13, rax
9058 mov rdi, rbx
9059 mov rax, qword ptr [64+rcx]
9060 mul rax
9061 add r10, rax
9062 adc r12, rdx
9063 adc r13, 0
9064 mov rsi, r11
9065 mov qword ptr [-160+rbp], r10
9066 mov r11, r9
9067 mov rax, qword ptr [16+rcx]
9068 mul qword ptr [120+rcx]
9069 mov r8, rax
9070 mov rdi, rdx
9071 xor rsi, rsi
9072 mov r10, r13
9073 mov rbx, r9
9074 mov rax, qword ptr [24+rcx]
9075 mul qword ptr [112+rcx]
9076 add r8, rax
9077 adc rdi, rdx
9078 adc rsi, 0
9079 mov rax, qword ptr [32+rcx]
9080 mul qword ptr [104+rcx]
9081 add r8, rax
9082 adc rdi, rdx
9083 adc rsi, 0
9084 mov rax, qword ptr [40+rcx]
9085 mul qword ptr [96+rcx]
9086 add r8, rax
9087 adc rdi, rdx
9088 adc rsi, 0
9089 mov rax, qword ptr [48+rcx]
9090 mul qword ptr [88+rcx]
9091 add r8, rax
9092 adc rdi, rdx
9093 adc rsi, 0
9094 mov rax, qword ptr [56+rcx]
9095 mul qword ptr [80+rcx]
9096 add r8, rax
9097 adc rdi, rdx
9098 adc rsi, 0
9099 mov rax, qword ptr [64+rcx]
9100 mul qword ptr [72+rcx]
9101 add r8, rax
9102 adc rdi, rdx
9103 adc rsi, 0
9104 add r12, r8
9105 adc r10, rdi
9106 adc r11, rsi
9107 add r12, r8
9108 adc r10, rdi
9109 adc r11, rsi
9110 mov qword ptr [-152+rbp], r12
9111 mov rax, qword ptr [24+rcx]
9112 mul qword ptr [120+rcx]
9113 mov r8, rax
9114 mov rdi, rdx
9115 xor rsi, rsi
9116 mov rax, qword ptr [32+rcx]
9117 mul qword ptr [112+rcx]
9118 add r8, rax
9119 adc rdi, rdx
9120 adc rsi, 0
9121 mov rax, qword ptr [40+rcx]
9122 mul qword ptr [104+rcx]
9123 add r8, rax
9124 adc rdi, rdx
9125 adc rsi, 0
9126 mov rax, qword ptr [48+rcx]
9127 mul qword ptr [96+rcx]
9128 add r8, rax
9129 adc rdi, rdx
9130 adc rsi, 0
9131 mov rax, qword ptr [56+rcx]
9132 mul qword ptr [88+rcx]
9133 add r8, rax
9134 adc rdi, rdx
9135 adc rsi, 0
9136 mov rax, qword ptr [64+rcx]
9137 mul qword ptr [80+rcx]
9138 add r8, rax
9139 adc rdi, rdx
9140 adc rsi, 0
9141 mov r13, rdi
9142 mov r12, rsi
9143 add r10, r8
9144 adc r11, r13
9145 adc rbx, r12
9146 add r10, r8
9147 adc r11, r13
9148 adc rbx, r12
9149 mov rdx, rbx
9150 mov rdi, r13
9151 mov rbx, r11
9152 mov rsi, r12
9153 mov r11, rdx
9154 mov r12, r9
9155 mov rax, qword ptr [72+rcx]
9156 mul rax
9157 add r10, rax
9158 adc rbx, rdx
9159 adc r11, 0
9160 mov qword ptr [-144+rbp], r10
9161 mov r10, r11
9162 mov rax, qword ptr [32+rcx]
9163 mul qword ptr [120+rcx]
9164 mov r8, rax
9165 mov rdi, rdx
9166 xor rsi, rsi
9167 mov rax, qword ptr [40+rcx]
9168 mul qword ptr [112+rcx]
9169 add r8, rax
9170 adc rdi, rdx
9171 adc rsi, 0
9172 mov rax, qword ptr [48+rcx]
9173 mul qword ptr [104+rcx]
9174 add r8, rax
9175 adc rdi, rdx
9176 adc rsi, 0
9177 mov rax, qword ptr [56+rcx]
9178 mul qword ptr [96+rcx]
9179 add r8, rax
9180 adc rdi, rdx
9181 adc rsi, 0
9182 mov rax, qword ptr [64+rcx]
9183 mul qword ptr [88+rcx]
9184 add r8, rax
9185 adc rdi, rdx
9186 adc rsi, 0
9187 mov rax, qword ptr [72+rcx]
9188 mul qword ptr [80+rcx]
9189 add r8, rax
9190 adc rdi, rdx
9191 adc rsi, 0
9192 add rbx, r8
9193 adc r10, rdi
9194 adc r12, rsi
9195 add rbx, r8
9196 adc r10, rdi
9197 adc r12, rsi
9198 mov qword ptr [-136+rbp], rbx
9199 mov r11, r12
9200 mov rax, qword ptr [40+rcx]
9201 mul qword ptr [120+rcx]
9202 mov r8, rax
9203 mov rdi, rdx
9204 xor rsi, rsi
9205 mov rax, qword ptr [48+rcx]
9206 mul qword ptr [112+rcx]
9207 add r8, rax
9208 adc rdi, rdx
9209 adc rsi, 0
9210 mov rax, qword ptr [56+rcx]
9211 mul qword ptr [104+rcx]
9212 add r8, rax
9213 adc rdi, rdx
9214 adc rsi, 0
9215 mov rax, qword ptr [64+rcx]
9216 mul qword ptr [96+rcx]
9217 add r8, rax
9218 adc rdi, rdx
9219 adc rsi, 0
9220 mov rax, qword ptr [72+rcx]
9221 mul qword ptr [88+rcx]
9222 add r8, rax
9223 adc rdi, rdx
9224 adc rsi, 0
9225 mov rax, r9
9226 mov r13, rdi
9227 mov r12, rsi
9228 add r10, r8
9229 adc r11, r13
9230 adc rax, r12
9231 add r10, r8
9232 adc r11, r13
9233 adc rax, r12
9234 mov rdx, rax
9235 mov rbx, r11
9236 mov rdi, r13
9237 mov r11, rdx
9238 mov rsi, r12
9239 mov rax, qword ptr [80+rcx]
9240 mul rax
9241 add r10, rax
9242 adc rbx, rdx
9243 adc r11, 0
9244 mov qword ptr [-128+rbp], r10
9245 mov r10, r11
9246 mov rax, qword ptr [48+rcx]
9247 mul qword ptr [120+rcx]
9248 mov r8, rax
9249 mov rdi, rdx
9250 xor rsi, rsi
9251 mov rax, qword ptr [56+rcx]
9252 mul qword ptr [112+rcx]
9253 add r8, rax
9254 adc rdi, rdx
9255 adc rsi, 0
9256 mov rax, qword ptr [64+rcx]
9257 mul qword ptr [104+rcx]
9258 add r8, rax
9259 adc rdi, rdx
9260 adc rsi, 0
9261 mov rax, qword ptr [72+rcx]
9262 mul qword ptr [96+rcx]
9263 add r8, rax
9264 adc rdi, rdx
9265 adc rsi, 0
9266 mov rax, qword ptr [80+rcx]
9267 mul qword ptr [88+rcx]
9268 add r8, rax
9269 adc rdi, rdx
9270 adc rsi, 0
9271 mov rdx, r9
9272 add rbx, r8
9273 adc r10, rdi
9274 adc rdx, rsi
9275 add rbx, r8
9276 adc r10, rdi
9277 adc rdx, rsi
9278 mov qword ptr [-120+rbp], rbx
9279 mov r11, rdx
9280 mov rbx, r9
9281 mov rax, qword ptr [56+rcx]
9282 mul qword ptr [120+rcx]
9283 mov r8, rax
9284 mov rdi, rdx
9285 xor rsi, rsi
9286 mov rax, qword ptr [64+rcx]
9287 mul qword ptr [112+rcx]
9288 add r8, rax
9289 adc rdi, rdx
9290 adc rsi, 0
9291 mov rax, qword ptr [72+rcx]
9292 mul qword ptr [104+rcx]
9293 add r8, rax
9294 adc rdi, rdx
9295 adc rsi, 0
9296 mov rax, qword ptr [80+rcx]
9297 mul qword ptr [96+rcx]
9298 add r8, rax
9299 adc rdi, rdx
9300 adc rsi, 0
9301 mov r13, rdi
9302 mov r12, rsi
9303 add r10, r8
9304 adc r11, r13
9305 adc rbx, r12
9306 add r10, r8
9307 adc r11, r13
9308 adc rbx, r12
9309 mov rdx, rbx
9310 mov rdi, r13
9311 mov rbx, r11
9312 mov rsi, r12
9313 mov r11, rdx
9314 mov r12, r9
9315 mov rax, qword ptr [88+rcx]
9316 mul rax
9317 add r10, rax
9318 adc rbx, rdx
9319 adc r11, 0
9320 mov qword ptr [-112+rbp], r10
9321 mov r10, r11
9322 mov rax, qword ptr [64+rcx]
9323 mul qword ptr [120+rcx]
9324 mov r8, rax
9325 mov rdi, rdx
9326 xor rsi, rsi
9327 mov rax, qword ptr [72+rcx]
9328 mul qword ptr [112+rcx]
9329 add r8, rax
9330 adc rdi, rdx
9331 adc rsi, 0
9332 mov rax, qword ptr [80+rcx]
9333 mul qword ptr [104+rcx]
9334 add r8, rax
9335 adc rdi, rdx
9336 adc rsi, 0
9337 mov rax, qword ptr [88+rcx]
9338 mul qword ptr [96+rcx]
9339 add r8, rax
9340 adc rdi, rdx
9341 adc rsi, 0
9342 add rbx, r8
9343 adc r10, rdi
9344 adc r12, rsi
9345 add rbx, r8
9346 adc r10, rdi
9347 adc r12, rsi
9348 mov qword ptr [-104+rbp], rbx
9349 mov r11, r12
9350 mov rax, qword ptr [72+rcx]
9351 mul qword ptr [120+rcx]
9352 mov r8, rax
9353 mov rdi, rdx
9354 xor rsi, rsi
9355 mov rax, qword ptr [80+rcx]
9356 mul qword ptr [112+rcx]
9357 add r8, rax
9358 adc rdi, rdx
9359 adc rsi, 0
9360 mov rax, qword ptr [88+rcx]
9361 mul qword ptr [104+rcx]
9362 add r8, rax
9363 adc rdi, rdx
9364 adc rsi, 0
9365 mov rax, r9
9366 mov r13, rdi
9367 mov r12, rsi
9368 add r10, r8
9369 adc r11, r13
9370 adc rax, r12
9371 add r10, r8
9372 adc r11, r13
9373 adc rax, r12
9374 mov rdx, rax
9375 mov rbx, r11
9376 mov rdi, r13
9377 mov r11, rdx
9378 mov rsi, r12
9379 mov rax, qword ptr [96+rcx]
9380 mul rax
9381 add r10, rax
9382 adc rbx, rdx
9383 adc r11, 0
9384 mov qword ptr [-96+rbp], r10
9385 mov r10, r9
9386 mov rax, qword ptr [80+rcx]
9387 mul qword ptr [120+rcx]
9388 mov r8, rax
9389 mov rdi, rdx
9390 xor rsi, rsi
9391 mov rax, qword ptr [88+rcx]
9392 mul qword ptr [112+rcx]
9393 add r8, rax
9394 adc rdi, rdx
9395 adc rsi, 0
9396 mov rax, qword ptr [96+rcx]
9397 mul qword ptr [104+rcx]
9398 add r8, rax
9399 adc rdi, rdx
9400 adc rsi, 0
9401 mov r12, rdi
9402 mov rax, rsi
9403 mov rsi, r9
9404 add rbx, r8
9405 adc r11, r12
9406 adc r10, rax
9407 add rbx, r8
9408 adc r11, r12
9409 adc r10, rax
9410 mov r12, r9
9411 mov qword ptr [-88+rbp], rbx
9412 mov r13, r11
9413 mov r11, r10
9414 mov rax, qword ptr [88+rcx]
9415 mul qword ptr [120+rcx]
9416 add r13, rax
9417 adc r11, rdx
9418 adc r12, 0
9419 add r13, rax
9420 adc r11, rdx
9421 adc r12, 0
9422 mov rdi, r12
9423 mov rax, qword ptr [96+rcx]
9424 mul qword ptr [112+rcx]
9425 add r13, rax
9426 adc r11, rdx
9427 adc rdi, 0
9428 add r13, rax
9429 adc r11, rdx
9430 adc rdi, 0
9431 mov rbx, r11
9432 mov r10, rdi
9433 mov r11, r9
9434 mov rax, qword ptr [104+rcx]
9435 mul rax
9436 add r13, rax
9437 adc rbx, rdx
9438 adc r10, 0
9439 mov qword ptr [-80+rbp], r13
9440 mov r8, r10
9441 mov r10, rbx
9442 mov rax, qword ptr [96+rcx]
9443 mul qword ptr [120+rcx]
9444 add r10, rax
9445 adc r8, rdx
9446 adc rsi, 0
9447 add r10, rax
9448 adc r8, rdx
9449 adc rsi, 0
9450 mov r12, r8
9451 mov rbx, rsi
9452 mov rax, qword ptr [104+rcx]
9453 mul qword ptr [112+rcx]
9454 add r10, rax
9455 adc r12, rdx
9456 adc rbx, 0
9457 add r10, rax
9458 adc r12, rdx
9459 adc rbx, 0
9460 mov qword ptr [-72+rbp], r10
9461 mov r13, rbx
9462 mov rbx, r12
9463 mov rax, qword ptr [104+rcx]
9464 mul qword ptr [120+rcx]
9465 add rbx, rax
9466 adc r13, rdx
9467 adc r11, 0
9468 add rbx, rax
9469 adc r13, rdx
9470 adc r11, 0
9471 mov r12, r11
9472 mov r10, r13
9473 mov rax, qword ptr [112+rcx]
9474 mul rax
9475 add rbx, rax
9476 adc r10, rdx
9477 adc r12, 0
9478 mov qword ptr [-64+rbp], rbx
9479 mov rdi, r10
9480 mov rbx, r9
9481 mov rsi, r12
9482 mov rax, qword ptr [112+rcx]
9483 mul qword ptr [120+rcx]
9484 add rdi, rax
9485 adc rsi, rdx
9486 adc rbx, 0
9487 add rdi, rax
9488 adc rsi, rdx
9489 adc rbx, 0
9490 mov qword ptr [-56+rbp], rdi
9491 mov r8, rbx
9492 mov rax, qword ptr [120+rcx]
9493 mul rax
9494 add rsi, rax
9495 adc r8, rdx
9496 adc r9, 0
9497 mov qword ptr [-48+rbp], rsi
9498 mov qword ptr [-40+rbp], r8
9499 mov dword ptr [8+r14], 32
9500 mov dword ptr [r14], 0
9501 ; mov rdi, qword ptr [16+r14]
9502 ; lea rsi, qword ptr [-288+rbp]
9503 ; mov edx, 256
9504 mov rcx, qword ptr [16+r14]
9505 lea rdx, qword ptr [-288+rbp]
9506 mov r8d, 256
9507 call memcpy
9508 mov edx, dword ptr [8+r14]
9509 test edx, edx
9510 je L232
9511 lea ecx, dword ptr [-1+rdx]
9512 mov rsi, qword ptr [16+r14]
9513 mov r9d, ecx
9514 cmp dword ptr [rsi+r9*8], 0
9515 jne L230
9516 mov edx, ecx
9517 ALIGN 16
9518 L231:
9519 test edx, edx
9520 mov ecx, edx
9521 je L235
9522 dec edx
9523 mov eax, edx
9524 cmp dword ptr [rsi+rax*8], 0
9525 je L231
9526 mov dword ptr [8+r14], ecx
9527 mov edx, ecx
9528 L230:
9529 test edx, edx
9530 je L232
9531 mov eax, dword ptr [r14]
9532 jmp L233
9533
9534 L235:
9535 mov dword ptr [8+r14], edx
9536 L232:
9537 xor eax, eax
9538 L233:
9539 mov dword ptr [r14], eax
9540 add rsp, 256+32 ; +32 for "home" storage
9541 pop rbx
9542 pop r12
9543 pop r13
9544 pop r14
9545 pop rbp
9546 pop rsi
9547 pop rdi
9548
9549 ret
9550
9551 s_mp_sqr_comba_16 ENDP
9552
9553
9554 ; void s_mp_sqr_comba_32(const mp_int *A, mp_int *B);
9555
9556 ALIGN 16
9557 s_mp_sqr_comba_32 PROC ; A "FRAME" function
9558
9559 push rdi
9560 push rsi
9561
9562 mov rdi, rcx
9563 mov rsi, rdx
9564
9565 push rbp
9566 xor r10d, r10d
9567 mov r8, r10
9568 mov r11, r10
9569 mov rbp, rsp
9570 push r14
9571 mov r14, rsi
9572 mov rsi, r10
9573 push r13
9574 mov r13, r10
9575 push r12
9576 mov r12, r10
9577 push rbx
9578 mov rbx, r10
9579 sub rsp, 512+32 ; +32 for "home" storage
9580 mov rcx, qword ptr [16+rdi]
9581 mov rax, qword ptr [rcx]
9582 mul rax
9583 add r8, rax
9584 adc rbx, rdx
9585 adc rsi, 0
9586 mov qword ptr [-544+rbp], r8
9587 mov rax, qword ptr [rcx]
9588 mul qword ptr [8+rcx]
9589 add rbx, rax
9590 adc rsi, rdx
9591 adc r12, 0
9592 add rbx, rax
9593 adc rsi, rdx
9594 adc r12, 0
9595 mov qword ptr [-536+rbp], rbx
9596 mov rax, qword ptr [rcx]
9597 mul qword ptr [16+rcx]
9598 add rsi, rax
9599 adc r12, rdx
9600 adc r13, 0
9601 add rsi, rax
9602 adc r12, rdx
9603 adc r13, 0
9604 mov rbx, r12
9605 mov r9, r13
9606 mov rax, qword ptr [8+rcx]
9607 mul rax
9608 add rsi, rax
9609 adc rbx, rdx
9610 adc r9, 0
9611 mov qword ptr [-528+rbp], rsi
9612 mov rdi, r9
9613 mov rsi, r10
9614 mov r9, rbx
9615 mov rax, qword ptr [rcx]
9616 mul qword ptr [24+rcx]
9617 add r9, rax
9618 adc rdi, rdx
9619 adc r11, 0
9620 add r9, rax
9621 adc rdi, rdx
9622 adc r11, 0
9623 mov r12, rdi
9624 mov r13, r11
9625 mov rdi, r10
9626 mov rax, qword ptr [8+rcx]
9627 mul qword ptr [16+rcx]
9628 add r9, rax
9629 adc r12, rdx
9630 adc r13, 0
9631 add r9, rax
9632 adc r12, rdx
9633 adc r13, 0
9634 mov r11, r10
9635 mov qword ptr [-520+rbp], r9
9636 mov r8, r13
9637 mov r13, r12
9638 mov r12, r10
9639 mov rax, qword ptr [rcx]
9640 mul qword ptr [32+rcx]
9641 add r13, rax
9642 adc r8, rdx
9643 adc r12, 0
9644 add r13, rax
9645 adc r8, rdx
9646 adc r12, 0
9647 mov rax, qword ptr [8+rcx]
9648 mul qword ptr [24+rcx]
9649 add r13, rax
9650 adc r8, rdx
9651 adc r12, 0
9652 add r13, rax
9653 adc r8, rdx
9654 adc r12, 0
9655 mov rbx, r8
9656 mov r9, r12
9657 mov r8, r10
9658 mov rax, qword ptr [16+rcx]
9659 mul rax
9660 add r13, rax
9661 adc rbx, rdx
9662 adc r9, 0
9663 mov qword ptr [-512+rbp], r13
9664 mov rax, qword ptr [rcx]
9665 mul qword ptr [40+rcx]
9666 mov r8, rax
9667 mov rdi, rdx
9668 xor rsi, rsi
9669 mov rax, qword ptr [8+rcx]
9670 mul qword ptr [32+rcx]
9671 add r8, rax
9672 adc rdi, rdx
9673 adc rsi, 0
9674 mov rax, qword ptr [16+rcx]
9675 mul qword ptr [24+rcx]
9676 add r8, rax
9677 adc rdi, rdx
9678 adc rsi, 0
9679 add rbx, r8
9680 adc r9, rdi
9681 adc r11, rsi
9682 add rbx, r8
9683 adc r9, rdi
9684 adc r11, rsi
9685 mov qword ptr [-504+rbp], rbx
9686 mov rax, qword ptr [rcx]
9687 mul qword ptr [48+rcx]
9688 mov r8, rax
9689 mov rdi, rdx
9690 xor rsi, rsi
9691 mov rax, qword ptr [8+rcx]
9692 mul qword ptr [40+rcx]
9693 add r8, rax
9694 adc rdi, rdx
9695 adc rsi, 0
9696 mov rax, qword ptr [16+rcx]
9697 mul qword ptr [32+rcx]
9698 add r8, rax
9699 adc rdi, rdx
9700 adc rsi, 0
9701 mov rax, r10
9702 mov r13, rdi
9703 mov r12, rsi
9704 add r9, r8
9705 adc r11, r13
9706 adc rax, r12
9707 add r9, r8
9708 adc r11, r13
9709 adc rax, r12
9710 mov rdx, rax
9711 mov rbx, r11
9712 mov rdi, r13
9713 mov r11, rdx
9714 mov rsi, r12
9715 mov rax, qword ptr [24+rcx]
9716 mul rax
9717 add r9, rax
9718 adc rbx, rdx
9719 adc r11, 0
9720 mov qword ptr [-496+rbp], r9
9721 mov r9, r11
9722 mov rax, qword ptr [rcx]
9723 mul qword ptr [56+rcx]
9724 mov r8, rax
9725 mov rdi, rdx
9726 xor rsi, rsi
9727 mov rax, qword ptr [8+rcx]
9728 mul qword ptr [48+rcx]
9729 add r8, rax
9730 adc rdi, rdx
9731 adc rsi, 0
9732 mov rax, qword ptr [16+rcx]
9733 mul qword ptr [40+rcx]
9734 add r8, rax
9735 adc rdi, rdx
9736 adc rsi, 0
9737 mov rax, qword ptr [24+rcx]
9738 mul qword ptr [32+rcx]
9739 add r8, rax
9740 adc rdi, rdx
9741 adc rsi, 0
9742 mov rdx, r10
9743 add rbx, r8
9744 adc r9, rdi
9745 adc rdx, rsi
9746 add rbx, r8
9747 adc r9, rdi
9748 adc rdx, rsi
9749 mov r11, rdx
9750 mov qword ptr [-488+rbp], rbx
9751 mov rbx, r10
9752 mov rax, qword ptr [rcx]
9753 mul qword ptr [64+rcx]
9754 mov r8, rax
9755 mov rdi, rdx
9756 xor rsi, rsi
9757 mov rax, qword ptr [8+rcx]
9758 mul qword ptr [56+rcx]
9759 add r8, rax
9760 adc rdi, rdx
9761 adc rsi, 0
9762 mov rax, qword ptr [16+rcx]
9763 mul qword ptr [48+rcx]
9764 add r8, rax
9765 adc rdi, rdx
9766 adc rsi, 0
9767 mov rax, qword ptr [24+rcx]
9768 mul qword ptr [40+rcx]
9769 add r8, rax
9770 adc rdi, rdx
9771 adc rsi, 0
9772 mov r13, rdi
9773 mov r12, rsi
9774 add r9, r8
9775 adc r11, r13
9776 adc rbx, r12
9777 add r9, r8
9778 adc r11, r13
9779 adc rbx, r12
9780 mov rax, qword ptr [32+rcx]
9781 mul rax
9782 add r9, rax
9783 adc r11, rdx
9784 adc rbx, 0
9785 mov rdi, r13
9786 mov qword ptr [-480+rbp], r9
9787 mov rsi, r12
9788 mov r9, rbx
9789 mov r12, r10
9790 mov rax, qword ptr [rcx]
9791 mul qword ptr [72+rcx]
9792 mov r8, rax
9793 mov rdi, rdx
9794 xor rsi, rsi
9795 mov rax, qword ptr [8+rcx]
9796 mul qword ptr [64+rcx]
9797 add r8, rax
9798 adc rdi, rdx
9799 adc rsi, 0
9800 mov rax, qword ptr [16+rcx]
9801 mul qword ptr [56+rcx]
9802 add r8, rax
9803 adc rdi, rdx
9804 adc rsi, 0
9805 mov rax, qword ptr [24+rcx]
9806 mul qword ptr [48+rcx]
9807 add r8, rax
9808 adc rdi, rdx
9809 adc rsi, 0
9810 mov rax, qword ptr [32+rcx]
9811 mul qword ptr [40+rcx]
9812 add r8, rax
9813 adc rdi, rdx
9814 adc rsi, 0
9815 add r11, r8
9816 adc r9, rdi
9817 adc r12, rsi
9818 add r11, r8
9819 adc r9, rdi
9820 adc r12, rsi
9821 mov qword ptr [-472+rbp], r11
9822 mov rbx, r12
9823 mov rax, qword ptr [rcx]
9824 mul qword ptr [80+rcx]
9825 mov r8, rax
9826 mov rdi, rdx
9827 xor rsi, rsi
9828 mov rax, qword ptr [8+rcx]
9829 mul qword ptr [72+rcx]
9830 add r8, rax
9831 adc rdi, rdx
9832 adc rsi, 0
9833 mov rax, qword ptr [16+rcx]
9834 mul qword ptr [64+rcx]
9835 add r8, rax
9836 adc rdi, rdx
9837 adc rsi, 0
9838 mov rax, qword ptr [24+rcx]
9839 mul qword ptr [56+rcx]
9840 add r8, rax
9841 adc rdi, rdx
9842 adc rsi, 0
9843 mov rax, qword ptr [32+rcx]
9844 mul qword ptr [48+rcx]
9845 add r8, rax
9846 adc rdi, rdx
9847 adc rsi, 0
9848 mov rax, r10
9849 mov r13, rdi
9850 mov r12, rsi
9851 add r9, r8
9852 adc rbx, r13
9853 adc rax, r12
9854 add r9, r8
9855 adc rbx, r13
9856 adc rax, r12
9857 mov rdx, rax
9858 mov r11, rbx
9859 mov rdi, r13
9860 mov rbx, rdx
9861 mov rsi, r12
9862 mov rax, qword ptr [40+rcx]
9863 mul rax
9864 add r9, rax
9865 adc r11, rdx
9866 adc rbx, 0
9867 mov qword ptr [-464+rbp], r9
9868 mov r9, rbx
9869 mov rax, qword ptr [rcx]
9870 mul qword ptr [88+rcx]
9871 mov r8, rax
9872 mov rdi, rdx
9873 xor rsi, rsi
9874 mov rax, qword ptr [8+rcx]
9875 mul qword ptr [80+rcx]
9876 add r8, rax
9877 adc rdi, rdx
9878 adc rsi, 0
9879 mov rax, qword ptr [16+rcx]
9880 mul qword ptr [72+rcx]
9881 add r8, rax
9882 adc rdi, rdx
9883 adc rsi, 0
9884 mov rax, qword ptr [24+rcx]
9885 mul qword ptr [64+rcx]
9886 add r8, rax
9887 adc rdi, rdx
9888 adc rsi, 0
9889 mov rax, qword ptr [32+rcx]
9890 mul qword ptr [56+rcx]
9891 add r8, rax
9892 adc rdi, rdx
9893 adc rsi, 0
9894 mov rax, qword ptr [40+rcx]
9895 mul qword ptr [48+rcx]
9896 add r8, rax
9897 adc rdi, rdx
9898 adc rsi, 0
9899 mov rdx, r10
9900 add r11, r8
9901 adc r9, rdi
9902 adc rdx, rsi
9903 add r11, r8
9904 adc r9, rdi
9905 adc rdx, rsi
9906 mov r13, rdx
9907 mov qword ptr [-456+rbp], r11
9908 mov r12, r13
9909 mov r13, r10
9910 mov rax, qword ptr [rcx]
9911 mul qword ptr [96+rcx]
9912 mov r8, rax
9913 mov rdi, rdx
9914 xor rsi, rsi
9915 mov rax, qword ptr [8+rcx]
9916 mul qword ptr [88+rcx]
9917 add r8, rax
9918 adc rdi, rdx
9919 adc rsi, 0
9920 mov rax, qword ptr [16+rcx]
9921 mul qword ptr [80+rcx]
9922 add r8, rax
9923 adc rdi, rdx
9924 adc rsi, 0
9925 mov rax, qword ptr [24+rcx]
9926 mul qword ptr [72+rcx]
9927 add r8, rax
9928 adc rdi, rdx
9929 adc rsi, 0
9930 mov rax, qword ptr [32+rcx]
9931 mul qword ptr [64+rcx]
9932 add r8, rax
9933 adc rdi, rdx
9934 adc rsi, 0
9935 mov rax, qword ptr [40+rcx]
9936 mul qword ptr [56+rcx]
9937 add r8, rax
9938 adc rdi, rdx
9939 adc rsi, 0
9940 mov rax, rdi
9941 mov r11, rsi
9942 add r9, r8
9943 adc r12, rax
9944 adc r13, r11
9945 add r9, r8
9946 adc r12, rax
9947 adc r13, r11
9948 mov rbx, rax
9949 mov rsi, r11
9950 mov rax, qword ptr [48+rcx]
9951 mul rax
9952 add r9, rax
9953 adc r12, rdx
9954 adc r13, 0
9955 mov rdi, rbx
9956 mov qword ptr [-448+rbp], r9
9957 mov r9, r13
9958 mov rax, qword ptr [rcx]
9959 mul qword ptr [104+rcx]
9960 mov r8, rax
9961 mov rdi, rdx
9962 xor rsi, rsi
9963 mov r13, r10
9964 mov rax, qword ptr [8+rcx]
9965 mul qword ptr [96+rcx]
9966 add r8, rax
9967 adc rdi, rdx
9968 adc rsi, 0
9969 mov rax, qword ptr [16+rcx]
9970 mul qword ptr [88+rcx]
9971 add r8, rax
9972 adc rdi, rdx
9973 adc rsi, 0
9974 mov rax, qword ptr [24+rcx]
9975 mul qword ptr [80+rcx]
9976 add r8, rax
9977 adc rdi, rdx
9978 adc rsi, 0
9979 mov rax, qword ptr [32+rcx]
9980 mul qword ptr [72+rcx]
9981 add r8, rax
9982 adc rdi, rdx
9983 adc rsi, 0
9984 mov rax, qword ptr [40+rcx]
9985 mul qword ptr [64+rcx]
9986 add r8, rax
9987 adc rdi, rdx
9988 adc rsi, 0
9989 mov rax, qword ptr [48+rcx]
9990 mul qword ptr [56+rcx]
9991 add r8, rax
9992 adc rdi, rdx
9993 adc rsi, 0
9994 add r12, r8
9995 adc r9, rdi
9996 adc r13, rsi
9997 add r12, r8
9998 adc r9, rdi
9999 adc r13, rsi
10000 mov qword ptr [-440+rbp], r12
10001 mov r12, r10
10002 mov rax, qword ptr [rcx]
10003 mul qword ptr [112+rcx]
10004 mov r8, rax
10005 mov rdi, rdx
10006 xor rsi, rsi
10007 mov rax, qword ptr [8+rcx]
10008 mul qword ptr [104+rcx]
10009 add r8, rax
10010 adc rdi, rdx
10011 adc rsi, 0
10012 mov rax, qword ptr [16+rcx]
10013 mul qword ptr [96+rcx]
10014 add r8, rax
10015 adc rdi, rdx
10016 adc rsi, 0
10017 mov rax, qword ptr [24+rcx]
10018 mul qword ptr [88+rcx]
10019 add r8, rax
10020 adc rdi, rdx
10021 adc rsi, 0
10022 mov rax, qword ptr [32+rcx]
10023 mul qword ptr [80+rcx]
10024 add r8, rax
10025 adc rdi, rdx
10026 adc rsi, 0
10027 mov rax, qword ptr [40+rcx]
10028 mul qword ptr [72+rcx]
10029 add r8, rax
10030 adc rdi, rdx
10031 adc rsi, 0
10032 mov rax, qword ptr [48+rcx]
10033 mul qword ptr [64+rcx]
10034 add r8, rax
10035 adc rdi, rdx
10036 adc rsi, 0
10037 mov rdx, r13
10038 mov rbx, rdi
10039 mov r13, rsi
10040 add r9, r8
10041 adc rdx, rbx
10042 adc r12, r13
10043 add r9, r8
10044 adc rdx, rbx
10045 adc r12, r13
10046 mov rax, r12
10047 mov r11, r13
10048 mov r12, rdx
10049 mov r13, rax
10050 mov rdi, rbx
10051 mov rsi, r11
10052 mov rax, qword ptr [56+rcx]
10053 mul rax
10054 add r9, rax
10055 adc r12, rdx
10056 adc r13, 0
10057 mov qword ptr [-432+rbp], r9
10058 mov r9, r13
10059 mov r13, r10
10060 mov rax, qword ptr [rcx]
10061 mul qword ptr [120+rcx]
10062 mov r8, rax
10063 mov rdi, rdx
10064 xor rsi, rsi
10065 mov rax, qword ptr [8+rcx]
10066 mul qword ptr [112+rcx]
10067 add r8, rax
10068 adc rdi, rdx
10069 adc rsi, 0
10070 mov rax, qword ptr [16+rcx]
10071 mul qword ptr [104+rcx]
10072 add r8, rax
10073 adc rdi, rdx
10074 adc rsi, 0
10075 mov rax, qword ptr [24+rcx]
10076 mul qword ptr [96+rcx]
10077 add r8, rax
10078 adc rdi, rdx
10079 adc rsi, 0
10080 mov rax, qword ptr [32+rcx]
10081 mul qword ptr [88+rcx]
10082 add r8, rax
10083 adc rdi, rdx
10084 adc rsi, 0
10085 mov rax, qword ptr [40+rcx]
10086 mul qword ptr [80+rcx]
10087 add r8, rax
10088 adc rdi, rdx
10089 adc rsi, 0
10090 mov rax, qword ptr [48+rcx]
10091 mul qword ptr [72+rcx]
10092 add r8, rax
10093 adc rdi, rdx
10094 adc rsi, 0
10095 mov rax, qword ptr [56+rcx]
10096 mul qword ptr [64+rcx]
10097 add r8, rax
10098 adc rdi, rdx
10099 adc rsi, 0
10100 mov rax, r8
10101 mov rdx, rdi
10102 mov rbx, rsi
10103 add r12, rax
10104 adc r9, rdx
10105 adc r13, rbx
10106 add r12, rax
10107 adc r9, rdx
10108 adc r13, rbx
10109 mov qword ptr [-424+rbp], r12
10110 mov r8, rdx
10111 mov rsi, rax
10112 mov rdi, rbx
10113 mov r12, r13
10114 mov r13, r10
10115 mov rax, qword ptr [rcx]
10116 mul qword ptr [128+rcx]
10117 mov rsi, rax
10118 mov r8, rdx
10119 xor rdi, rdi
10120 mov rax, qword ptr [8+rcx]
10121 mul qword ptr [120+rcx]
10122 add rsi, rax
10123 adc r8, rdx
10124 adc rdi, 0
10125 mov rax, qword ptr [16+rcx]
10126 mul qword ptr [112+rcx]
10127 add rsi, rax
10128 adc r8, rdx
10129 adc rdi, 0
10130 mov rax, qword ptr [24+rcx]
10131 mul qword ptr [104+rcx]
10132 add rsi, rax
10133 adc r8, rdx
10134 adc rdi, 0
10135 mov rax, qword ptr [32+rcx]
10136 mul qword ptr [96+rcx]
10137 add rsi, rax
10138 adc r8, rdx
10139 adc rdi, 0
10140 mov rax, qword ptr [40+rcx]
10141 mul qword ptr [88+rcx]
10142 add rsi, rax
10143 adc r8, rdx
10144 adc rdi, 0
10145 mov rax, qword ptr [48+rcx]
10146 mul qword ptr [80+rcx]
10147 add rsi, rax
10148 adc r8, rdx
10149 adc rdi, 0
10150 mov rax, qword ptr [56+rcx]
10151 mul qword ptr [72+rcx]
10152 add rsi, rax
10153 adc r8, rdx
10154 adc rdi, 0
10155 mov rax, rsi
10156 mov rbx, r8
10157 mov rdx, rdi
10158 add r9, rax
10159 adc r12, rbx
10160 adc r13, rdx
10161 add r9, rax
10162 adc r12, rbx
10163 adc r13, rdx
10164 mov r11, rdx
10165 mov r8, rax
10166 mov rdi, rbx
10167 mov rax, qword ptr [64+rcx]
10168 mul rax
10169 add r9, rax
10170 adc r12, rdx
10171 adc r13, 0
10172 mov rsi, r11
10173 mov qword ptr [-416+rbp], r9
10174 mov r9, r13
10175 mov rax, qword ptr [rcx]
10176 mul qword ptr [136+rcx]
10177 mov r8, rax
10178 mov rdi, rdx
10179 xor rsi, rsi
10180 mov r13, r10
10181 mov rax, qword ptr [8+rcx]
10182 mul qword ptr [128+rcx]
10183 add r8, rax
10184 adc rdi, rdx
10185 adc rsi, 0
10186 mov rax, qword ptr [16+rcx]
10187 mul qword ptr [120+rcx]
10188 add r8, rax
10189 adc rdi, rdx
10190 adc rsi, 0
10191 mov rax, qword ptr [24+rcx]
10192 mul qword ptr [112+rcx]
10193 add r8, rax
10194 adc rdi, rdx
10195 adc rsi, 0
10196 mov rax, qword ptr [32+rcx]
10197 mul qword ptr [104+rcx]
10198 add r8, rax
10199 adc rdi, rdx
10200 adc rsi, 0
10201 mov rax, qword ptr [40+rcx]
10202 mul qword ptr [96+rcx]
10203 add r8, rax
10204 adc rdi, rdx
10205 adc rsi, 0
10206 mov rax, qword ptr [48+rcx]
10207 mul qword ptr [88+rcx]
10208 add r8, rax
10209 adc rdi, rdx
10210 adc rsi, 0
10211 mov rax, qword ptr [56+rcx]
10212 mul qword ptr [80+rcx]
10213 add r8, rax
10214 adc rdi, rdx
10215 adc rsi, 0
10216 mov rax, qword ptr [64+rcx]
10217 mul qword ptr [72+rcx]
10218 add r8, rax
10219 adc rdi, rdx
10220 adc rsi, 0
10221 mov rbx, r8
10222 mov rax, rdi
10223 mov rdx, rsi
10224 add r12, rbx
10225 adc r9, rax
10226 adc r13, rdx
10227 add r12, rbx
10228 adc r9, rax
10229 adc r13, rdx
10230 mov qword ptr [-408+rbp], r12
10231 mov rdi, rdx
10232 mov r8, rax
10233 mov rsi, rbx
10234 mov r12, r13
10235 mov r13, r10
10236 mov rax, qword ptr [rcx]
10237 mul qword ptr [144+rcx]
10238 mov rsi, rax
10239 mov r8, rdx
10240 xor rdi, rdi
10241 mov rax, qword ptr [8+rcx]
10242 mul qword ptr [136+rcx]
10243 add rsi, rax
10244 adc r8, rdx
10245 adc rdi, 0
10246 mov rax, qword ptr [16+rcx]
10247 mul qword ptr [128+rcx]
10248 add rsi, rax
10249 adc r8, rdx
10250 adc rdi, 0
10251 mov rax, qword ptr [24+rcx]
10252 mul qword ptr [120+rcx]
10253 add rsi, rax
10254 adc r8, rdx
10255 adc rdi, 0
10256 mov rax, qword ptr [32+rcx]
10257 mul qword ptr [112+rcx]
10258 add rsi, rax
10259 adc r8, rdx
10260 adc rdi, 0
10261 mov rax, qword ptr [40+rcx]
10262 mul qword ptr [104+rcx]
10263 add rsi, rax
10264 adc r8, rdx
10265 adc rdi, 0
10266 mov rax, qword ptr [48+rcx]
10267 mul qword ptr [96+rcx]
10268 add rsi, rax
10269 adc r8, rdx
10270 adc rdi, 0
10271 mov rax, qword ptr [56+rcx]
10272 mul qword ptr [88+rcx]
10273 add rsi, rax
10274 adc r8, rdx
10275 adc rdi, 0
10276 mov rax, qword ptr [64+rcx]
10277 mul qword ptr [80+rcx]
10278 add rsi, rax
10279 adc r8, rdx
10280 adc rdi, 0
10281 mov rax, rsi
10282 mov rbx, r8
10283 mov rdx, rdi
10284 add r9, rax
10285 adc r12, rbx
10286 adc r13, rdx
10287 add r9, rax
10288 adc r12, rbx
10289 adc r13, rdx
10290 mov r11, rdx
10291 mov r8, rax
10292 mov rdi, rbx
10293 mov rax, qword ptr [72+rcx]
10294 mul rax
10295 add r9, rax
10296 adc r12, rdx
10297 adc r13, 0
10298 mov rsi, r11
10299 mov qword ptr [-400+rbp], r9
10300 mov r9, r13
10301 mov rax, qword ptr [rcx]
10302 mul qword ptr [152+rcx]
10303 mov r8, rax
10304 mov rdi, rdx
10305 xor rsi, rsi
10306 mov r13, r10
10307 mov rax, qword ptr [8+rcx]
10308 mul qword ptr [144+rcx]
10309 add r8, rax
10310 adc rdi, rdx
10311 adc rsi, 0
10312 mov rax, qword ptr [16+rcx]
10313 mul qword ptr [136+rcx]
10314 add r8, rax
10315 adc rdi, rdx
10316 adc rsi, 0
10317 mov rax, qword ptr [24+rcx]
10318 mul qword ptr [128+rcx]
10319 add r8, rax
10320 adc rdi, rdx
10321 adc rsi, 0
10322 mov rax, qword ptr [32+rcx]
10323 mul qword ptr [120+rcx]
10324 add r8, rax
10325 adc rdi, rdx
10326 adc rsi, 0
10327 mov rax, qword ptr [40+rcx]
10328 mul qword ptr [112+rcx]
10329 add r8, rax
10330 adc rdi, rdx
10331 adc rsi, 0
10332 mov rax, qword ptr [48+rcx]
10333 mul qword ptr [104+rcx]
10334 add r8, rax
10335 adc rdi, rdx
10336 adc rsi, 0
10337 mov rax, qword ptr [56+rcx]
10338 mul qword ptr [96+rcx]
10339 add r8, rax
10340 adc rdi, rdx
10341 adc rsi, 0
10342 mov rax, qword ptr [64+rcx]
10343 mul qword ptr [88+rcx]
10344 add r8, rax
10345 adc rdi, rdx
10346 adc rsi, 0
10347 mov rax, qword ptr [72+rcx]
10348 mul qword ptr [80+rcx]
10349 add r8, rax
10350 adc rdi, rdx
10351 adc rsi, 0
10352 mov rbx, r8
10353 mov rax, rdi
10354 mov rdx, rsi
10355 add r12, rbx
10356 adc r9, rax
10357 adc r13, rdx
10358 add r12, rbx
10359 adc r9, rax
10360 adc r13, rdx
10361 mov qword ptr [-392+rbp], r12
10362 mov rdi, rdx
10363 mov r8, rax
10364 mov rsi, rbx
10365 mov r12, r13
10366 mov r13, r10
10367 mov rax, qword ptr [rcx]
10368 mul qword ptr [160+rcx]
10369 mov rsi, rax
10370 mov r8, rdx
10371 xor rdi, rdi
10372 mov rax, qword ptr [8+rcx]
10373 mul qword ptr [152+rcx]
10374 add rsi, rax
10375 adc r8, rdx
10376 adc rdi, 0
10377 mov rax, qword ptr [16+rcx]
10378 mul qword ptr [144+rcx]
10379 add rsi, rax
10380 adc r8, rdx
10381 adc rdi, 0
10382 mov rax, qword ptr [24+rcx]
10383 mul qword ptr [136+rcx]
10384 add rsi, rax
10385 adc r8, rdx
10386 adc rdi, 0
10387 mov rax, qword ptr [32+rcx]
10388 mul qword ptr [128+rcx]
10389 add rsi, rax
10390 adc r8, rdx
10391 adc rdi, 0
10392 mov rax, qword ptr [40+rcx]
10393 mul qword ptr [120+rcx]
10394 add rsi, rax
10395 adc r8, rdx
10396 adc rdi, 0
10397 mov rax, qword ptr [48+rcx]
10398 mul qword ptr [112+rcx]
10399 add rsi, rax
10400 adc r8, rdx
10401 adc rdi, 0
10402 mov rax, qword ptr [56+rcx]
10403 mul qword ptr [104+rcx]
10404 add rsi, rax
10405 adc r8, rdx
10406 adc rdi, 0
10407 mov rax, qword ptr [64+rcx]
10408 mul qword ptr [96+rcx]
10409 add rsi, rax
10410 adc r8, rdx
10411 adc rdi, 0
10412 mov rax, qword ptr [72+rcx]
10413 mul qword ptr [88+rcx]
10414 add rsi, rax
10415 adc r8, rdx
10416 adc rdi, 0
10417 mov rax, rsi
10418 mov rbx, r8
10419 mov rdx, rdi
10420 add r9, rax
10421 adc r12, rbx
10422 adc r13, rdx
10423 add r9, rax
10424 adc r12, rbx
10425 adc r13, rdx
10426 mov r11, rdx
10427 mov r8, rax
10428 mov rdi, rbx
10429 mov rax, qword ptr [80+rcx]
10430 mul rax
10431 add r9, rax
10432 adc r12, rdx
10433 adc r13, 0
10434 mov rsi, r11
10435 mov qword ptr [-384+rbp], r9
10436 mov r9, r13
10437 mov rax, qword ptr [rcx]
10438 mul qword ptr [168+rcx]
10439 mov r8, rax
10440 mov rdi, rdx
10441 xor rsi, rsi
10442 mov r13, r10
10443 mov rax, qword ptr [8+rcx]
10444 mul qword ptr [160+rcx]
10445 add r8, rax
10446 adc rdi, rdx
10447 adc rsi, 0
10448 mov rax, qword ptr [16+rcx]
10449 mul qword ptr [152+rcx]
10450 add r8, rax
10451 adc rdi, rdx
10452 adc rsi, 0
10453 mov rax, qword ptr [24+rcx]
10454 mul qword ptr [144+rcx]
10455 add r8, rax
10456 adc rdi, rdx
10457 adc rsi, 0
10458 mov rax, qword ptr [32+rcx]
10459 mul qword ptr [136+rcx]
10460 add r8, rax
10461 adc rdi, rdx
10462 adc rsi, 0
10463 mov rax, qword ptr [40+rcx]
10464 mul qword ptr [128+rcx]
10465 add r8, rax
10466 adc rdi, rdx
10467 adc rsi, 0
10468 mov rax, qword ptr [48+rcx]
10469 mul qword ptr [120+rcx]
10470 add r8, rax
10471 adc rdi, rdx
10472 adc rsi, 0
10473 mov rax, qword ptr [56+rcx]
10474 mul qword ptr [112+rcx]
10475 add r8, rax
10476 adc rdi, rdx
10477 adc rsi, 0
10478 mov rax, qword ptr [64+rcx]
10479 mul qword ptr [104+rcx]
10480 add r8, rax
10481 adc rdi, rdx
10482 adc rsi, 0
10483 mov rax, qword ptr [72+rcx]
10484 mul qword ptr [96+rcx]
10485 add r8, rax
10486 adc rdi, rdx
10487 adc rsi, 0
10488 mov rax, qword ptr [80+rcx]
10489 mul qword ptr [88+rcx]
10490 add r8, rax
10491 adc rdi, rdx
10492 adc rsi, 0
10493 mov rbx, r8
10494 mov rax, rdi
10495 mov rdx, rsi
10496 add r12, rbx
10497 adc r9, rax
10498 adc r13, rdx
10499 add r12, rbx
10500 adc r9, rax
10501 adc r13, rdx
10502 mov qword ptr [-376+rbp], r12
10503 mov rdi, rdx
10504 mov r8, rax
10505 mov rsi, rbx
10506 mov r12, r13
10507 mov r13, r10
10508 mov rax, qword ptr [rcx]
10509 mul qword ptr [176+rcx]
10510 mov rsi, rax
10511 mov r8, rdx
10512 xor rdi, rdi
10513 mov rax, qword ptr [8+rcx]
10514 mul qword ptr [168+rcx]
10515 add rsi, rax
10516 adc r8, rdx
10517 adc rdi, 0
10518 mov rax, qword ptr [16+rcx]
10519 mul qword ptr [160+rcx]
10520 add rsi, rax
10521 adc r8, rdx
10522 adc rdi, 0
10523 mov rax, qword ptr [24+rcx]
10524 mul qword ptr [152+rcx]
10525 add rsi, rax
10526 adc r8, rdx
10527 adc rdi, 0
10528 mov rax, qword ptr [32+rcx]
10529 mul qword ptr [144+rcx]
10530 add rsi, rax
10531 adc r8, rdx
10532 adc rdi, 0
10533 mov rax, qword ptr [40+rcx]
10534 mul qword ptr [136+rcx]
10535 add rsi, rax
10536 adc r8, rdx
10537 adc rdi, 0
10538 mov rax, qword ptr [48+rcx]
10539 mul qword ptr [128+rcx]
10540 add rsi, rax
10541 adc r8, rdx
10542 adc rdi, 0
10543 mov rax, qword ptr [56+rcx]
10544 mul qword ptr [120+rcx]
10545 add rsi, rax
10546 adc r8, rdx
10547 adc rdi, 0
10548 mov rax, qword ptr [64+rcx]
10549 mul qword ptr [112+rcx]
10550 add rsi, rax
10551 adc r8, rdx
10552 adc rdi, 0
10553 mov rax, qword ptr [72+rcx]
10554 mul qword ptr [104+rcx]
10555 add rsi, rax
10556 adc r8, rdx
10557 adc rdi, 0
10558 mov rax, qword ptr [80+rcx]
10559 mul qword ptr [96+rcx]
10560 add rsi, rax
10561 adc r8, rdx
10562 adc rdi, 0
10563 mov rax, rsi
10564 mov rbx, r8
10565 mov rdx, rdi
10566 add r9, rax
10567 adc r12, rbx
10568 adc r13, rdx
10569 add r9, rax
10570 adc r12, rbx
10571 adc r13, rdx
10572 mov r11, rdx
10573 mov r8, rax
10574 mov rdi, rbx
10575 mov rax, qword ptr [88+rcx]
10576 mul rax
10577 add r9, rax
10578 adc r12, rdx
10579 adc r13, 0
10580 mov rsi, r11
10581 mov qword ptr [-368+rbp], r9
10582 mov r9, r13
10583 mov rax, qword ptr [rcx]
10584 mul qword ptr [184+rcx]
10585 mov r8, rax
10586 mov rdi, rdx
10587 xor rsi, rsi
10588 mov r13, r10
10589 mov rax, qword ptr [8+rcx]
10590 mul qword ptr [176+rcx]
10591 add r8, rax
10592 adc rdi, rdx
10593 adc rsi, 0
10594 mov rax, qword ptr [16+rcx]
10595 mul qword ptr [168+rcx]
10596 add r8, rax
10597 adc rdi, rdx
10598 adc rsi, 0
10599 mov rax, qword ptr [24+rcx]
10600 mul qword ptr [160+rcx]
10601 add r8, rax
10602 adc rdi, rdx
10603 adc rsi, 0
10604 mov rax, qword ptr [32+rcx]
10605 mul qword ptr [152+rcx]
10606 add r8, rax
10607 adc rdi, rdx
10608 adc rsi, 0
10609 mov rax, qword ptr [40+rcx]
10610 mul qword ptr [144+rcx]
10611 add r8, rax
10612 adc rdi, rdx
10613 adc rsi, 0
10614 mov rax, qword ptr [48+rcx]
10615 mul qword ptr [136+rcx]
10616 add r8, rax
10617 adc rdi, rdx
10618 adc rsi, 0
10619 mov rax, qword ptr [56+rcx]
10620 mul qword ptr [128+rcx]
10621 add r8, rax
10622 adc rdi, rdx
10623 adc rsi, 0
10624 mov rax, qword ptr [64+rcx]
10625 mul qword ptr [120+rcx]
10626 add r8, rax
10627 adc rdi, rdx
10628 adc rsi, 0
10629 mov rax, qword ptr [72+rcx]
10630 mul qword ptr [112+rcx]
10631 add r8, rax
10632 adc rdi, rdx
10633 adc rsi, 0
10634 mov rax, qword ptr [80+rcx]
10635 mul qword ptr [104+rcx]
10636 add r8, rax
10637 adc rdi, rdx
10638 adc rsi, 0
10639 mov rax, qword ptr [88+rcx]
10640 mul qword ptr [96+rcx]
10641 add r8, rax
10642 adc rdi, rdx
10643 adc rsi, 0
10644 mov rbx, r8
10645 mov rax, rdi
10646 mov rdx, rsi
10647 add r12, rbx
10648 adc r9, rax
10649 adc r13, rdx
10650 add r12, rbx
10651 adc r9, rax
10652 adc r13, rdx
10653 mov rdi, rdx
10654 mov qword ptr [-360+rbp], r12
10655 mov r8, rax
10656 mov rsi, rbx
10657 mov r12, r13
10658 mov r13, r10
10659 mov rax, qword ptr [rcx]
10660 mul qword ptr [192+rcx]
10661 mov rsi, rax
10662 mov r8, rdx
10663 xor rdi, rdi
10664 mov rax, qword ptr [8+rcx]
10665 mul qword ptr [184+rcx]
10666 add rsi, rax
10667 adc r8, rdx
10668 adc rdi, 0
10669 mov rax, qword ptr [16+rcx]
10670 mul qword ptr [176+rcx]
10671 add rsi, rax
10672 adc r8, rdx
10673 adc rdi, 0
10674 mov rax, qword ptr [24+rcx]
10675 mul qword ptr [168+rcx]
10676 add rsi, rax
10677 adc r8, rdx
10678 adc rdi, 0
10679 mov rax, qword ptr [32+rcx]
10680 mul qword ptr [160+rcx]
10681 add rsi, rax
10682 adc r8, rdx
10683 adc rdi, 0
10684 mov rax, qword ptr [40+rcx]
10685 mul qword ptr [152+rcx]
10686 add rsi, rax
10687 adc r8, rdx
10688 adc rdi, 0
10689 mov rax, qword ptr [48+rcx]
10690 mul qword ptr [144+rcx]
10691 add rsi, rax
10692 adc r8, rdx
10693 adc rdi, 0
10694 mov rax, qword ptr [56+rcx]
10695 mul qword ptr [136+rcx]
10696 add rsi, rax
10697 adc r8, rdx
10698 adc rdi, 0
10699 mov rax, qword ptr [64+rcx]
10700 mul qword ptr [128+rcx]
10701 add rsi, rax
10702 adc r8, rdx
10703 adc rdi, 0
10704 mov rax, qword ptr [72+rcx]
10705 mul qword ptr [120+rcx]
10706 add rsi, rax
10707 adc r8, rdx
10708 adc rdi, 0
10709 mov rax, qword ptr [80+rcx]
10710 mul qword ptr [112+rcx]
10711 add rsi, rax
10712 adc r8, rdx
10713 adc rdi, 0
10714 mov rax, qword ptr [88+rcx]
10715 mul qword ptr [104+rcx]
10716 add rsi, rax
10717 adc r8, rdx
10718 adc rdi, 0
10719 mov rbx, r8
10720 mov rax, rdi
10721 add r9, rsi
10722 adc r12, rbx
10723 adc r13, rax
10724 add r9, rsi
10725 adc r12, rbx
10726 adc r13, rax
10727 mov r11, rax
10728 mov r8, rbx
10729 mov rax, qword ptr [96+rcx]
10730 mul rax
10731 add r9, rax
10732 adc r12, rdx
10733 adc r13, 0
10734 mov rdi, r11
10735 mov qword ptr [-352+rbp], r9
10736 mov r9, r13
10737 mov rax, qword ptr [rcx]
10738 mul qword ptr [200+rcx]
10739 mov rsi, rax
10740 mov r8, rdx
10741 xor rdi, rdi
10742 mov r13, r10
10743 mov rax, qword ptr [8+rcx]
10744 mul qword ptr [192+rcx]
10745 add rsi, rax
10746 adc r8, rdx
10747 adc rdi, 0
10748 mov rax, qword ptr [16+rcx]
10749 mul qword ptr [184+rcx]
10750 add rsi, rax
10751 adc r8, rdx
10752 adc rdi, 0
10753 mov rax, qword ptr [24+rcx]
10754 mul qword ptr [176+rcx]
10755 add rsi, rax
10756 adc r8, rdx
10757 adc rdi, 0
10758 mov rax, qword ptr [32+rcx]
10759 mul qword ptr [168+rcx]
10760 add rsi, rax
10761 adc r8, rdx
10762 adc rdi, 0
10763 mov rax, qword ptr [40+rcx]
10764 mul qword ptr [160+rcx]
10765 add rsi, rax
10766 adc r8, rdx
10767 adc rdi, 0
10768 mov rax, qword ptr [48+rcx]
10769 mul qword ptr [152+rcx]
10770 add rsi, rax
10771 adc r8, rdx
10772 adc rdi, 0
10773 mov rax, qword ptr [56+rcx]
10774 mul qword ptr [144+rcx]
10775 add rsi, rax
10776 adc r8, rdx
10777 adc rdi, 0
10778 mov rax, qword ptr [64+rcx]
10779 mul qword ptr [136+rcx]
10780 add rsi, rax
10781 adc r8, rdx
10782 adc rdi, 0
10783 mov rax, qword ptr [72+rcx]
10784 mul qword ptr [128+rcx]
10785 add rsi, rax
10786 adc r8, rdx
10787 adc rdi, 0
10788 mov rax, qword ptr [80+rcx]
10789 mul qword ptr [120+rcx]
10790 add rsi, rax
10791 adc r8, rdx
10792 adc rdi, 0
10793 mov rax, qword ptr [88+rcx]
10794 mul qword ptr [112+rcx]
10795 add rsi, rax
10796 adc r8, rdx
10797 adc rdi, 0
10798 mov rax, qword ptr [96+rcx]
10799 mul qword ptr [104+rcx]
10800 add rsi, rax
10801 adc r8, rdx
10802 adc rdi, 0
10803 add r12, rsi
10804 adc r9, r8
10805 adc r13, rdi
10806 add r12, rsi
10807 adc r9, r8
10808 adc r13, rdi
10809 mov qword ptr [-344+rbp], r12
10810 mov r12, r10
10811 mov rax, qword ptr [rcx]
10812 mul qword ptr [208+rcx]
10813 mov rsi, rax
10814 mov r8, rdx
10815 xor rdi, rdi
10816 mov rax, qword ptr [8+rcx]
10817 mul qword ptr [200+rcx]
10818 add rsi, rax
10819 adc r8, rdx
10820 adc rdi, 0
10821 mov rax, qword ptr [16+rcx]
10822 mul qword ptr [192+rcx]
10823 add rsi, rax
10824 adc r8, rdx
10825 adc rdi, 0
10826 mov rax, qword ptr [24+rcx]
10827 mul qword ptr [184+rcx]
10828 add rsi, rax
10829 adc r8, rdx
10830 adc rdi, 0
10831 mov rax, qword ptr [32+rcx]
10832 mul qword ptr [176+rcx]
10833 add rsi, rax
10834 adc r8, rdx
10835 adc rdi, 0
10836 mov rax, qword ptr [40+rcx]
10837 mul qword ptr [168+rcx]
10838 add rsi, rax
10839 adc r8, rdx
10840 adc rdi, 0
10841 mov rax, qword ptr [48+rcx]
10842 mul qword ptr [160+rcx]
10843 add rsi, rax
10844 adc r8, rdx
10845 adc rdi, 0
10846 mov rax, qword ptr [56+rcx]
10847 mul qword ptr [152+rcx]
10848 add rsi, rax
10849 adc r8, rdx
10850 adc rdi, 0
10851 mov rax, qword ptr [64+rcx]
10852 mul qword ptr [144+rcx]
10853 add rsi, rax
10854 adc r8, rdx
10855 adc rdi, 0
10856 mov rax, qword ptr [72+rcx]
10857 mul qword ptr [136+rcx]
10858 add rsi, rax
10859 adc r8, rdx
10860 adc rdi, 0
10861 mov rax, qword ptr [80+rcx]
10862 mul qword ptr [128+rcx]
10863 add rsi, rax
10864 adc r8, rdx
10865 adc rdi, 0
10866 mov rax, qword ptr [88+rcx]
10867 mul qword ptr [120+rcx]
10868 add rsi, rax
10869 adc r8, rdx
10870 adc rdi, 0
10871 mov rax, qword ptr [96+rcx]
10872 mul qword ptr [112+rcx]
10873 add rsi, rax
10874 adc r8, rdx
10875 adc rdi, 0
10876 mov rdx, r13
10877 mov rbx, r8
10878 mov r13, rdi
10879 add r9, rsi
10880 adc rdx, rbx
10881 adc r12, r13
10882 add r9, rsi
10883 adc rdx, rbx
10884 adc r12, r13
10885 mov rax, r12
10886 mov r11, r13
10887 mov r12, rdx
10888 mov r13, rax
10889 mov r8, rbx
10890 mov rdi, r11
10891 mov rax, qword ptr [104+rcx]
10892 mul rax
10893 add r9, rax
10894 adc r12, rdx
10895 adc r13, 0
10896 mov qword ptr [-336+rbp], r9
10897 mov r9, r13
10898 mov r13, r10
10899 mov rax, qword ptr [rcx]
10900 mul qword ptr [216+rcx]
10901 mov rsi, rax
10902 mov r8, rdx
10903 xor rdi, rdi
10904 mov rax, qword ptr [8+rcx]
10905 mul qword ptr [208+rcx]
10906 add rsi, rax
10907 adc r8, rdx
10908 adc rdi, 0
10909 mov rax, qword ptr [16+rcx]
10910 mul qword ptr [200+rcx]
10911 add rsi, rax
10912 adc r8, rdx
10913 adc rdi, 0
10914 mov rax, qword ptr [24+rcx]
10915 mul qword ptr [192+rcx]
10916 add rsi, rax
10917 adc r8, rdx
10918 adc rdi, 0
10919 mov rax, qword ptr [32+rcx]
10920 mul qword ptr [184+rcx]
10921 add rsi, rax
10922 adc r8, rdx
10923 adc rdi, 0
10924 mov rax, qword ptr [40+rcx]
10925 mul qword ptr [176+rcx]
10926 add rsi, rax
10927 adc r8, rdx
10928 adc rdi, 0
10929 mov rax, qword ptr [48+rcx]
10930 mul qword ptr [168+rcx]
10931 add rsi, rax
10932 adc r8, rdx
10933 adc rdi, 0
10934 mov rax, qword ptr [56+rcx]
10935 mul qword ptr [160+rcx]
10936 add rsi, rax
10937 adc r8, rdx
10938 adc rdi, 0
10939 mov rax, qword ptr [64+rcx]
10940 mul qword ptr [152+rcx]
10941 add rsi, rax
10942 adc r8, rdx
10943 adc rdi, 0
10944 mov rax, qword ptr [72+rcx]
10945 mul qword ptr [144+rcx]
10946 add rsi, rax
10947 adc r8, rdx
10948 adc rdi, 0
10949 mov rax, qword ptr [80+rcx]
10950 mul qword ptr [136+rcx]
10951 add rsi, rax
10952 adc r8, rdx
10953 adc rdi, 0
10954 mov rax, qword ptr [88+rcx]
10955 mul qword ptr [128+rcx]
10956 add rsi, rax
10957 adc r8, rdx
10958 adc rdi, 0
10959 mov rax, qword ptr [96+rcx]
10960 mul qword ptr [120+rcx]
10961 add rsi, rax
10962 adc r8, rdx
10963 adc rdi, 0
10964 mov rax, qword ptr [104+rcx]
10965 mul qword ptr [112+rcx]
10966 add rsi, rax
10967 adc r8, rdx
10968 adc rdi, 0
10969 add r12, rsi
10970 adc r9, r8
10971 adc r13, rdi
10972 add r12, rsi
10973 adc r9, r8
10974 adc r13, rdi
10975 mov qword ptr [-328+rbp], r12
10976 mov rax, qword ptr [rcx]
10977 mul qword ptr [224+rcx]
10978 mov rsi, rax
10979 mov r8, rdx
10980 xor rdi, rdi
10981 mov rax, qword ptr [8+rcx]
10982 mul qword ptr [216+rcx]
10983 add rsi, rax
10984 adc r8, rdx
10985 adc rdi, 0
10986 mov rax, qword ptr [16+rcx]
10987 mul qword ptr [208+rcx]
10988 add rsi, rax
10989 adc r8, rdx
10990 adc rdi, 0
10991 mov rax, qword ptr [24+rcx]
10992 mul qword ptr [200+rcx]
10993 add rsi, rax
10994 adc r8, rdx
10995 adc rdi, 0
10996 mov rax, qword ptr [32+rcx]
10997 mul qword ptr [192+rcx]
10998 add rsi, rax
10999 adc r8, rdx
11000 adc rdi, 0
11001 mov rax, qword ptr [40+rcx]
11002 mul qword ptr [184+rcx]
11003 add rsi, rax
11004 adc r8, rdx
11005 adc rdi, 0
11006 mov rax, qword ptr [48+rcx]
11007 mul qword ptr [176+rcx]
11008 add rsi, rax
11009 adc r8, rdx
11010 adc rdi, 0
11011 mov rax, qword ptr [56+rcx]
11012 mul qword ptr [168+rcx]
11013 add rsi, rax
11014 adc r8, rdx
11015 adc rdi, 0
11016 mov rax, qword ptr [64+rcx]
11017 mul qword ptr [160+rcx]
11018 add rsi, rax
11019 adc r8, rdx
11020 adc rdi, 0
11021 mov rax, qword ptr [72+rcx]
11022 mul qword ptr [152+rcx]
11023 add rsi, rax
11024 adc r8, rdx
11025 adc rdi, 0
11026 mov rax, qword ptr [80+rcx]
11027 mul qword ptr [144+rcx]
11028 add rsi, rax
11029 adc r8, rdx
11030 adc rdi, 0
11031 mov rax, qword ptr [88+rcx]
11032 mul qword ptr [136+rcx]
11033 add rsi, rax
11034 adc r8, rdx
11035 adc rdi, 0
11036 mov rax, qword ptr [96+rcx]
11037 mul qword ptr [128+rcx]
11038 add rsi, rax
11039 adc r8, rdx
11040 adc rdi, 0
11041 mov rax, qword ptr [104+rcx]
11042 mul qword ptr [120+rcx]
11043 add rsi, rax
11044 adc r8, rdx
11045 adc rdi, 0
11046 mov rax, r13
11047 mov rdx, r10
11048 mov rbx, r8
11049 mov r12, rdi
11050 add r9, rsi
11051 adc rax, rbx
11052 adc rdx, r12
11053 add r9, rsi
11054 adc rax, rbx
11055 adc rdx, r12
11056 mov rdi, rdx
11057 mov r11, r12
11058 mov r8, rbx
11059 mov r12, rax
11060 mov r13, rdi
11061 mov rdi, r11
11062 mov rax, qword ptr [112+rcx]
11063 mul rax
11064 add r9, rax
11065 adc r12, rdx
11066 adc r13, 0
11067 mov qword ptr [-320+rbp], r9
11068 mov rbx, r13
11069 mov r9, r10
11070 mov rax, qword ptr [rcx]
11071 mul qword ptr [232+rcx]
11072 mov rsi, rax
11073 mov r8, rdx
11074 xor rdi, rdi
11075 mov rax, qword ptr [8+rcx]
11076 mul qword ptr [224+rcx]
11077 add rsi, rax
11078 adc r8, rdx
11079 adc rdi, 0
11080 mov rax, qword ptr [16+rcx]
11081 mul qword ptr [216+rcx]
11082 add rsi, rax
11083 adc r8, rdx
11084 adc rdi, 0
11085 mov rax, qword ptr [24+rcx]
11086 mul qword ptr [208+rcx]
11087 add rsi, rax
11088 adc r8, rdx
11089 adc rdi, 0
11090 mov rax, qword ptr [32+rcx]
11091 mul qword ptr [200+rcx]
11092 add rsi, rax
11093 adc r8, rdx
11094 adc rdi, 0
11095 mov rax, qword ptr [40+rcx]
11096 mul qword ptr [192+rcx]
11097 add rsi, rax
11098 adc r8, rdx
11099 adc rdi, 0
11100 mov rax, qword ptr [48+rcx]
11101 mul qword ptr [184+rcx]
11102 add rsi, rax
11103 adc r8, rdx
11104 adc rdi, 0
11105 mov rax, qword ptr [56+rcx]
11106 mul qword ptr [176+rcx]
11107 add rsi, rax
11108 adc r8, rdx
11109 adc rdi, 0
11110 mov rax, qword ptr [64+rcx]
11111 mul qword ptr [168+rcx]
11112 add rsi, rax
11113 adc r8, rdx
11114 adc rdi, 0
11115 mov rax, qword ptr [72+rcx]
11116 mul qword ptr [160+rcx]
11117 add rsi, rax
11118 adc r8, rdx
11119 adc rdi, 0
11120 mov rax, qword ptr [80+rcx]
11121 mul qword ptr [152+rcx]
11122 add rsi, rax
11123 adc r8, rdx
11124 adc rdi, 0
11125 mov rax, qword ptr [88+rcx]
11126 mul qword ptr [144+rcx]
11127 add rsi, rax
11128 adc r8, rdx
11129 adc rdi, 0
11130 mov rax, qword ptr [96+rcx]
11131 mul qword ptr [136+rcx]
11132 add rsi, rax
11133 adc r8, rdx
11134 adc rdi, 0
11135 mov rax, qword ptr [104+rcx]
11136 mul qword ptr [128+rcx]
11137 add rsi, rax
11138 adc r8, rdx
11139 adc rdi, 0
11140 mov rax, qword ptr [112+rcx]
11141 mul qword ptr [120+rcx]
11142 add rsi, rax
11143 adc r8, rdx
11144 adc rdi, 0
11145 add r12, rsi
11146 adc rbx, r8
11147 adc r9, rdi
11148 add r12, rsi
11149 adc rbx, r8
11150 adc r9, rdi
11151 mov qword ptr [-312+rbp], r12
11152 mov r13, r9
11153 mov rax, qword ptr [rcx]
11154 mul qword ptr [240+rcx]
11155 mov rsi, rax
11156 mov r8, rdx
11157 xor rdi, rdi
11158 mov rax, qword ptr [8+rcx]
11159 mul qword ptr [232+rcx]
11160 add rsi, rax
11161 adc r8, rdx
11162 adc rdi, 0
11163 mov rax, qword ptr [16+rcx]
11164 mul qword ptr [224+rcx]
11165 add rsi, rax
11166 adc r8, rdx
11167 adc rdi, 0
11168 mov rax, qword ptr [24+rcx]
11169 mul qword ptr [216+rcx]
11170 add rsi, rax
11171 adc r8, rdx
11172 adc rdi, 0
11173 mov rax, qword ptr [32+rcx]
11174 mul qword ptr [208+rcx]
11175 add rsi, rax
11176 adc r8, rdx
11177 adc rdi, 0
11178 mov rax, qword ptr [40+rcx]
11179 mul qword ptr [200+rcx]
11180 add rsi, rax
11181 adc r8, rdx
11182 adc rdi, 0
11183 mov rax, qword ptr [48+rcx]
11184 mul qword ptr [192+rcx]
11185 add rsi, rax
11186 adc r8, rdx
11187 adc rdi, 0
11188 mov rax, qword ptr [56+rcx]
11189 mul qword ptr [184+rcx]
11190 add rsi, rax
11191 adc r8, rdx
11192 adc rdi, 0
11193 mov rax, qword ptr [64+rcx]
11194 mul qword ptr [176+rcx]
11195 add rsi, rax
11196 adc r8, rdx
11197 adc rdi, 0
11198 mov rax, qword ptr [72+rcx]
11199 mul qword ptr [168+rcx]
11200 add rsi, rax
11201 adc r8, rdx
11202 adc rdi, 0
11203 mov rax, qword ptr [80+rcx]
11204 mul qword ptr [160+rcx]
11205 add rsi, rax
11206 adc r8, rdx
11207 adc rdi, 0
11208 mov rax, qword ptr [88+rcx]
11209 mul qword ptr [152+rcx]
11210 add rsi, rax
11211 adc r8, rdx
11212 adc rdi, 0
11213 mov rax, qword ptr [96+rcx]
11214 mul qword ptr [144+rcx]
11215 add rsi, rax
11216 adc r8, rdx
11217 adc rdi, 0
11218 mov rax, qword ptr [104+rcx]
11219 mul qword ptr [136+rcx]
11220 add rsi, rax
11221 adc r8, rdx
11222 adc rdi, 0
11223 mov rax, qword ptr [112+rcx]
11224 mul qword ptr [128+rcx]
11225 add rsi, rax
11226 adc r8, rdx
11227 adc rdi, 0
11228 mov rax, r10
11229 mov r11, r8
11230 mov rdx, rdi
11231 add rbx, rsi
11232 adc r13, r11
11233 adc rax, rdx
11234 add rbx, rsi
11235 adc r13, r11
11236 adc rax, rdx
11237 mov r9, rdx
11238 mov rdx, rax
11239 mov r12, r13
11240 mov r8, r11
11241 mov r13, rdx
11242 mov rdi, r9
11243 mov rax, qword ptr [120+rcx]
11244 mul rax
11245 add rbx, rax
11246 adc r12, rdx
11247 adc r13, 0
11248 mov qword ptr [-304+rbp], rbx
11249 mov rbx, r13
11250 mov r13, r10
11251 mov rax, qword ptr [rcx]
11252 mul qword ptr [248+rcx]
11253 mov rsi, rax
11254 mov r8, rdx
11255 xor rdi, rdi
11256 mov rax, qword ptr [8+rcx]
11257 mul qword ptr [240+rcx]
11258 add rsi, rax
11259 adc r8, rdx
11260 adc rdi, 0
11261 mov rax, qword ptr [16+rcx]
11262 mul qword ptr [232+rcx]
11263 add rsi, rax
11264 adc r8, rdx
11265 adc rdi, 0
11266 mov rax, qword ptr [24+rcx]
11267 mul qword ptr [224+rcx]
11268 add rsi, rax
11269 adc r8, rdx
11270 adc rdi, 0
11271 mov rax, qword ptr [32+rcx]
11272 mul qword ptr [216+rcx]
11273 add rsi, rax
11274 adc r8, rdx
11275 adc rdi, 0
11276 mov rax, qword ptr [40+rcx]
11277 mul qword ptr [208+rcx]
11278 add rsi, rax
11279 adc r8, rdx
11280 adc rdi, 0
11281 mov rax, qword ptr [48+rcx]
11282 mul qword ptr [200+rcx]
11283 add rsi, rax
11284 adc r8, rdx
11285 adc rdi, 0
11286 mov rax, qword ptr [56+rcx]
11287 mul qword ptr [192+rcx]
11288 add rsi, rax
11289 adc r8, rdx
11290 adc rdi, 0
11291 mov rax, qword ptr [64+rcx]
11292 mul qword ptr [184+rcx]
11293 add rsi, rax
11294 adc r8, rdx
11295 adc rdi, 0
11296 mov rax, qword ptr [72+rcx]
11297 mul qword ptr [176+rcx]
11298 add rsi, rax
11299 adc r8, rdx
11300 adc rdi, 0
11301 mov rax, qword ptr [80+rcx]
11302 mul qword ptr [168+rcx]
11303 add rsi, rax
11304 adc r8, rdx
11305 adc rdi, 0
11306 mov rax, qword ptr [88+rcx]
11307 mul qword ptr [160+rcx]
11308 add rsi, rax
11309 adc r8, rdx
11310 adc rdi, 0
11311 mov rax, qword ptr [96+rcx]
11312 mul qword ptr [152+rcx]
11313 add rsi, rax
11314 adc r8, rdx
11315 adc rdi, 0
11316 mov rax, qword ptr [104+rcx]
11317 mul qword ptr [144+rcx]
11318 add rsi, rax
11319 adc r8, rdx
11320 adc rdi, 0
11321 mov rax, qword ptr [112+rcx]
11322 mul qword ptr [136+rcx]
11323 add rsi, rax
11324 adc r8, rdx
11325 adc rdi, 0
11326 mov rax, qword ptr [120+rcx]
11327 mul qword ptr [128+rcx]
11328 add rsi, rax
11329 adc r8, rdx
11330 adc rdi, 0
11331 add r12, rsi
11332 adc rbx, r8
11333 adc r13, rdi
11334 add r12, rsi
11335 adc rbx, r8
11336 adc r13, rdi
11337 mov qword ptr [-296+rbp], r12
11338 mov r12, r13
11339 mov r13, r10
11340 mov rax, qword ptr [8+rcx]
11341 mul qword ptr [248+rcx]
11342 mov rsi, rax
11343 mov r8, rdx
11344 xor rdi, rdi
11345 mov rax, qword ptr [16+rcx]
11346 mul qword ptr [240+rcx]
11347 add rsi, rax
11348 adc r8, rdx
11349 adc rdi, 0
11350 mov rax, qword ptr [24+rcx]
11351 mul qword ptr [232+rcx]
11352 add rsi, rax
11353 adc r8, rdx
11354 adc rdi, 0
11355 mov rax, qword ptr [32+rcx]
11356 mul qword ptr [224+rcx]
11357 add rsi, rax
11358 adc r8, rdx
11359 adc rdi, 0
11360 mov rax, qword ptr [40+rcx]
11361 mul qword ptr [216+rcx]
11362 add rsi, rax
11363 adc r8, rdx
11364 adc rdi, 0
11365 mov rax, qword ptr [48+rcx]
11366 mul qword ptr [208+rcx]
11367 add rsi, rax
11368 adc r8, rdx
11369 adc rdi, 0
11370 mov rax, qword ptr [56+rcx]
11371 mul qword ptr [200+rcx]
11372 add rsi, rax
11373 adc r8, rdx
11374 adc rdi, 0
11375 mov rax, qword ptr [64+rcx]
11376 mul qword ptr [192+rcx]
11377 add rsi, rax
11378 adc r8, rdx
11379 adc rdi, 0
11380 mov rax, qword ptr [72+rcx]
11381 mul qword ptr [184+rcx]
11382 add rsi, rax
11383 adc r8, rdx
11384 adc rdi, 0
11385 mov rax, qword ptr [80+rcx]
11386 mul qword ptr [176+rcx]
11387 add rsi, rax
11388 adc r8, rdx
11389 adc rdi, 0
11390 mov rax, qword ptr [88+rcx]
11391 mul qword ptr [168+rcx]
11392 add rsi, rax
11393 adc r8, rdx
11394 adc rdi, 0
11395 mov rax, qword ptr [96+rcx]
11396 mul qword ptr [160+rcx]
11397 add rsi, rax
11398 adc r8, rdx
11399 adc rdi, 0
11400 mov rax, qword ptr [104+rcx]
11401 mul qword ptr [152+rcx]
11402 add rsi, rax
11403 adc r8, rdx
11404 adc rdi, 0
11405 mov rax, qword ptr [112+rcx]
11406 mul qword ptr [144+rcx]
11407 add rsi, rax
11408 adc r8, rdx
11409 adc rdi, 0
11410 mov rax, qword ptr [120+rcx]
11411 mul qword ptr [136+rcx]
11412 add rsi, rax
11413 adc r8, rdx
11414 adc rdi, 0
11415 mov r11, r8
11416 mov rax, rdi
11417 add rbx, rsi
11418 adc r12, r11
11419 adc r13, rax
11420 add rbx, rsi
11421 adc r12, r11
11422 adc r13, rax
11423 mov r9, rax
11424 mov r8, r11
11425 mov rax, qword ptr [128+rcx]
11426 mul rax
11427 add rbx, rax
11428 adc r12, rdx
11429 adc r13, 0
11430 mov rdi, r9
11431 mov qword ptr [-288+rbp], rbx
11432 mov r9, r13
11433 mov rax, qword ptr [16+rcx]
11434 mul qword ptr [248+rcx]
11435 mov rsi, rax
11436 mov r8, rdx
11437 xor rdi, rdi
11438 mov r13, r10
11439 mov rax, qword ptr [24+rcx]
11440 mul qword ptr [240+rcx]
11441 add rsi, rax
11442 adc r8, rdx
11443 adc rdi, 0
11444 mov rax, qword ptr [32+rcx]
11445 mul qword ptr [232+rcx]
11446 add rsi, rax
11447 adc r8, rdx
11448 adc rdi, 0
11449 mov rax, qword ptr [40+rcx]
11450 mul qword ptr [224+rcx]
11451 add rsi, rax
11452 adc r8, rdx
11453 adc rdi, 0
11454 mov rax, qword ptr [48+rcx]
11455 mul qword ptr [216+rcx]
11456 add rsi, rax
11457 adc r8, rdx
11458 adc rdi, 0
11459 mov rax, qword ptr [56+rcx]
11460 mul qword ptr [208+rcx]
11461 add rsi, rax
11462 adc r8, rdx
11463 adc rdi, 0
11464 mov rax, qword ptr [64+rcx]
11465 mul qword ptr [200+rcx]
11466 add rsi, rax
11467 adc r8, rdx
11468 adc rdi, 0
11469 mov rax, qword ptr [72+rcx]
11470 mul qword ptr [192+rcx]
11471 add rsi, rax
11472 adc r8, rdx
11473 adc rdi, 0
11474 mov rax, qword ptr [80+rcx]
11475 mul qword ptr [184+rcx]
11476 add rsi, rax
11477 adc r8, rdx
11478 adc rdi, 0
11479 mov rax, qword ptr [88+rcx]
11480 mul qword ptr [176+rcx]
11481 add rsi, rax
11482 adc r8, rdx
11483 adc rdi, 0
11484 mov rax, qword ptr [96+rcx]
11485 mul qword ptr [168+rcx]
11486 add rsi, rax
11487 adc r8, rdx
11488 adc rdi, 0
11489 mov rax, qword ptr [104+rcx]
11490 mul qword ptr [160+rcx]
11491 add rsi, rax
11492 adc r8, rdx
11493 adc rdi, 0
11494 mov rax, qword ptr [112+rcx]
11495 mul qword ptr [152+rcx]
11496 add rsi, rax
11497 adc r8, rdx
11498 adc rdi, 0
11499 mov rax, qword ptr [120+rcx]
11500 mul qword ptr [144+rcx]
11501 add rsi, rax
11502 adc r8, rdx
11503 adc rdi, 0
11504 mov rax, qword ptr [128+rcx]
11505 mul qword ptr [136+rcx]
11506 add rsi, rax
11507 adc r8, rdx
11508 adc rdi, 0
11509 add r12, rsi
11510 adc r9, r8
11511 adc r13, rdi
11512 add r12, rsi
11513 adc r9, r8
11514 adc r13, rdi
11515 mov qword ptr [-280+rbp], r12
11516 mov r12, r10
11517 mov rax, qword ptr [24+rcx]
11518 mul qword ptr [248+rcx]
11519 mov rsi, rax
11520 mov r8, rdx
11521 xor rdi, rdi
11522 mov rax, qword ptr [32+rcx]
11523 mul qword ptr [240+rcx]
11524 add rsi, rax
11525 adc r8, rdx
11526 adc rdi, 0
11527 mov rax, qword ptr [40+rcx]
11528 mul qword ptr [232+rcx]
11529 add rsi, rax
11530 adc r8, rdx
11531 adc rdi, 0
11532 mov rax, qword ptr [48+rcx]
11533 mul qword ptr [224+rcx]
11534 add rsi, rax
11535 adc r8, rdx
11536 adc rdi, 0
11537 mov rax, qword ptr [56+rcx]
11538 mul qword ptr [216+rcx]
11539 add rsi, rax
11540 adc r8, rdx
11541 adc rdi, 0
11542 mov rax, qword ptr [64+rcx]
11543 mul qword ptr [208+rcx]
11544 add rsi, rax
11545 adc r8, rdx
11546 adc rdi, 0
11547 mov rax, qword ptr [72+rcx]
11548 mul qword ptr [200+rcx]
11549 add rsi, rax
11550 adc r8, rdx
11551 adc rdi, 0
11552 mov rax, qword ptr [80+rcx]
11553 mul qword ptr [192+rcx]
11554 add rsi, rax
11555 adc r8, rdx
11556 adc rdi, 0
11557 mov rax, qword ptr [88+rcx]
11558 mul qword ptr [184+rcx]
11559 add rsi, rax
11560 adc r8, rdx
11561 adc rdi, 0
11562 mov rax, qword ptr [96+rcx]
11563 mul qword ptr [176+rcx]
11564 add rsi, rax
11565 adc r8, rdx
11566 adc rdi, 0
11567 mov rax, qword ptr [104+rcx]
11568 mul qword ptr [168+rcx]
11569 add rsi, rax
11570 adc r8, rdx
11571 adc rdi, 0
11572 mov rax, qword ptr [112+rcx]
11573 mul qword ptr [160+rcx]
11574 add rsi, rax
11575 adc r8, rdx
11576 adc rdi, 0
11577 mov rax, qword ptr [120+rcx]
11578 mul qword ptr [152+rcx]
11579 add rsi, rax
11580 adc r8, rdx
11581 adc rdi, 0
11582 mov rax, qword ptr [128+rcx]
11583 mul qword ptr [144+rcx]
11584 add rsi, rax
11585 adc r8, rdx
11586 adc rdi, 0
11587 mov rdx, r13
11588 mov rbx, r8
11589 mov r13, rdi
11590 add r9, rsi
11591 adc rdx, rbx
11592 adc r12, r13
11593 add r9, rsi
11594 adc rdx, rbx
11595 adc r12, r13
11596 mov rax, r12
11597 mov r11, r13
11598 mov r12, rdx
11599 mov r13, rax
11600 mov r8, rbx
11601 mov rdi, r11
11602 mov rax, qword ptr [136+rcx]
11603 mul rax
11604 add r9, rax
11605 adc r12, rdx
11606 adc r13, 0
11607 mov qword ptr [-272+rbp], r9
11608 mov r9, r13
11609 mov r13, r10
11610 mov rax, qword ptr [32+rcx]
11611 mul qword ptr [248+rcx]
11612 mov rsi, rax
11613 mov r8, rdx
11614 xor rdi, rdi
11615 mov rax, qword ptr [40+rcx]
11616 mul qword ptr [240+rcx]
11617 add rsi, rax
11618 adc r8, rdx
11619 adc rdi, 0
11620 mov rax, qword ptr [48+rcx]
11621 mul qword ptr [232+rcx]
11622 add rsi, rax
11623 adc r8, rdx
11624 adc rdi, 0
11625 mov rax, qword ptr [56+rcx]
11626 mul qword ptr [224+rcx]
11627 add rsi, rax
11628 adc r8, rdx
11629 adc rdi, 0
11630 mov rax, qword ptr [64+rcx]
11631 mul qword ptr [216+rcx]
11632 add rsi, rax
11633 adc r8, rdx
11634 adc rdi, 0
11635 mov rax, qword ptr [72+rcx]
11636 mul qword ptr [208+rcx]
11637 add rsi, rax
11638 adc r8, rdx
11639 adc rdi, 0
11640 mov rax, qword ptr [80+rcx]
11641 mul qword ptr [200+rcx]
11642 add rsi, rax
11643 adc r8, rdx
11644 adc rdi, 0
11645 mov rax, qword ptr [88+rcx]
11646 mul qword ptr [192+rcx]
11647 add rsi, rax
11648 adc r8, rdx
11649 adc rdi, 0
11650 mov rax, qword ptr [96+rcx]
11651 mul qword ptr [184+rcx]
11652 add rsi, rax
11653 adc r8, rdx
11654 adc rdi, 0
11655 mov rax, qword ptr [104+rcx]
11656 mul qword ptr [176+rcx]
11657 add rsi, rax
11658 adc r8, rdx
11659 adc rdi, 0
11660 mov rax, qword ptr [112+rcx]
11661 mul qword ptr [168+rcx]
11662 add rsi, rax
11663 adc r8, rdx
11664 adc rdi, 0
11665 mov rax, qword ptr [120+rcx]
11666 mul qword ptr [160+rcx]
11667 add rsi, rax
11668 adc r8, rdx
11669 adc rdi, 0
11670 mov rax, qword ptr [128+rcx]
11671 mul qword ptr [152+rcx]
11672 add rsi, rax
11673 adc r8, rdx
11674 adc rdi, 0
11675 mov rax, qword ptr [136+rcx]
11676 mul qword ptr [144+rcx]
11677 add rsi, rax
11678 adc r8, rdx
11679 adc rdi, 0
11680 add r12, rsi
11681 adc r9, r8
11682 adc r13, rdi
11683 add r12, rsi
11684 adc r9, r8
11685 adc r13, rdi
11686 mov qword ptr [-264+rbp], r12
11687 mov rax, qword ptr [40+rcx]
11688 mul qword ptr [248+rcx]
11689 mov rsi, rax
11690 mov r8, rdx
11691 xor rdi, rdi
11692 mov rax, qword ptr [48+rcx]
11693 mul qword ptr [240+rcx]
11694 add rsi, rax
11695 adc r8, rdx
11696 adc rdi, 0
11697 mov rax, qword ptr [56+rcx]
11698 mul qword ptr [232+rcx]
11699 add rsi, rax
11700 adc r8, rdx
11701 adc rdi, 0
11702 mov rax, qword ptr [64+rcx]
11703 mul qword ptr [224+rcx]
11704 add rsi, rax
11705 adc r8, rdx
11706 adc rdi, 0
11707 mov rax, qword ptr [72+rcx]
11708 mul qword ptr [216+rcx]
11709 add rsi, rax
11710 adc r8, rdx
11711 adc rdi, 0
11712 mov rax, qword ptr [80+rcx]
11713 mul qword ptr [208+rcx]
11714 add rsi, rax
11715 adc r8, rdx
11716 adc rdi, 0
11717 mov rax, qword ptr [88+rcx]
11718 mul qword ptr [200+rcx]
11719 add rsi, rax
11720 adc r8, rdx
11721 adc rdi, 0
11722 mov rax, qword ptr [96+rcx]
11723 mul qword ptr [192+rcx]
11724 add rsi, rax
11725 adc r8, rdx
11726 adc rdi, 0
11727 mov rax, qword ptr [104+rcx]
11728 mul qword ptr [184+rcx]
11729 add rsi, rax
11730 adc r8, rdx
11731 adc rdi, 0
11732 mov rax, qword ptr [112+rcx]
11733 mul qword ptr [176+rcx]
11734 add rsi, rax
11735 adc r8, rdx
11736 adc rdi, 0
11737 mov rax, qword ptr [120+rcx]
11738 mul qword ptr [168+rcx]
11739 add rsi, rax
11740 adc r8, rdx
11741 adc rdi, 0
11742 mov rax, qword ptr [128+rcx]
11743 mul qword ptr [160+rcx]
11744 add rsi, rax
11745 adc r8, rdx
11746 adc rdi, 0
11747 mov rax, qword ptr [136+rcx]
11748 mul qword ptr [152+rcx]
11749 add rsi, rax
11750 adc r8, rdx
11751 adc rdi, 0
11752 mov rax, r13
11753 mov rdx, r10
11754 mov rbx, r8
11755 mov r12, rdi
11756 add r9, rsi
11757 adc rax, rbx
11758 adc rdx, r12
11759 add r9, rsi
11760 adc rax, rbx
11761 adc rdx, r12
11762 mov rdi, rdx
11763 mov r11, r12
11764 mov r8, rbx
11765 mov r12, rax
11766 mov r13, rdi
11767 mov rdi, r11
11768 mov rax, qword ptr [144+rcx]
11769 mul rax
11770 add r9, rax
11771 adc r12, rdx
11772 adc r13, 0
11773 mov r11, r10
11774 mov qword ptr [-256+rbp], r9
11775 mov r9, r13
11776 mov rax, qword ptr [48+rcx]
11777 mul qword ptr [248+rcx]
11778 mov rsi, rax
11779 mov r8, rdx
11780 xor rdi, rdi
11781 mov rax, qword ptr [56+rcx]
11782 mul qword ptr [240+rcx]
11783 add rsi, rax
11784 adc r8, rdx
11785 adc rdi, 0
11786 mov rax, qword ptr [64+rcx]
11787 mul qword ptr [232+rcx]
11788 add rsi, rax
11789 adc r8, rdx
11790 adc rdi, 0
11791 mov rax, qword ptr [72+rcx]
11792 mul qword ptr [224+rcx]
11793 add rsi, rax
11794 adc r8, rdx
11795 adc rdi, 0
11796 mov rax, qword ptr [80+rcx]
11797 mul qword ptr [216+rcx]
11798 add rsi, rax
11799 adc r8, rdx
11800 adc rdi, 0
11801 mov rax, qword ptr [88+rcx]
11802 mul qword ptr [208+rcx]
11803 add rsi, rax
11804 adc r8, rdx
11805 adc rdi, 0
11806 mov rax, qword ptr [96+rcx]
11807 mul qword ptr [200+rcx]
11808 add rsi, rax
11809 adc r8, rdx
11810 adc rdi, 0
11811 mov rax, qword ptr [104+rcx]
11812 mul qword ptr [192+rcx]
11813 add rsi, rax
11814 adc r8, rdx
11815 adc rdi, 0
11816 mov rax, qword ptr [112+rcx]
11817 mul qword ptr [184+rcx]
11818 add rsi, rax
11819 adc r8, rdx
11820 adc rdi, 0
11821 mov rax, qword ptr [120+rcx]
11822 mul qword ptr [176+rcx]
11823 add rsi, rax
11824 adc r8, rdx
11825 adc rdi, 0
11826 mov rax, qword ptr [128+rcx]
11827 mul qword ptr [168+rcx]
11828 add rsi, rax
11829 adc r8, rdx
11830 adc rdi, 0
11831 mov rax, qword ptr [136+rcx]
11832 mul qword ptr [160+rcx]
11833 add rsi, rax
11834 adc r8, rdx
11835 adc rdi, 0
11836 mov rax, qword ptr [144+rcx]
11837 mul qword ptr [152+rcx]
11838 add rsi, rax
11839 adc r8, rdx
11840 adc rdi, 0
11841 add r12, rsi
11842 adc r9, r8
11843 adc r11, rdi
11844 add r12, rsi
11845 adc r9, r8
11846 adc r11, rdi
11847 mov qword ptr [-248+rbp], r12
11848 mov r13, r11
11849 mov rax, qword ptr [56+rcx]
11850 mul qword ptr [248+rcx]
11851 mov rsi, rax
11852 mov r8, rdx
11853 xor rdi, rdi
11854 mov rax, qword ptr [64+rcx]
11855 mul qword ptr [240+rcx]
11856 add rsi, rax
11857 adc r8, rdx
11858 adc rdi, 0
11859 mov rax, qword ptr [72+rcx]
11860 mul qword ptr [232+rcx]
11861 add rsi, rax
11862 adc r8, rdx
11863 adc rdi, 0
11864 mov rax, qword ptr [80+rcx]
11865 mul qword ptr [224+rcx]
11866 add rsi, rax
11867 adc r8, rdx
11868 adc rdi, 0
11869 mov rax, qword ptr [88+rcx]
11870 mul qword ptr [216+rcx]
11871 add rsi, rax
11872 adc r8, rdx
11873 adc rdi, 0
11874 mov rax, qword ptr [96+rcx]
11875 mul qword ptr [208+rcx]
11876 add rsi, rax
11877 adc r8, rdx
11878 adc rdi, 0
11879 mov rax, qword ptr [104+rcx]
11880 mul qword ptr [200+rcx]
11881 add rsi, rax
11882 adc r8, rdx
11883 adc rdi, 0
11884 mov rax, qword ptr [112+rcx]
11885 mul qword ptr [192+rcx]
11886 add rsi, rax
11887 adc r8, rdx
11888 adc rdi, 0
11889 mov rax, qword ptr [120+rcx]
11890 mul qword ptr [184+rcx]
11891 add rsi, rax
11892 adc r8, rdx
11893 adc rdi, 0
11894 mov rax, qword ptr [128+rcx]
11895 mul qword ptr [176+rcx]
11896 add rsi, rax
11897 adc r8, rdx
11898 adc rdi, 0
11899 mov rax, qword ptr [136+rcx]
11900 mul qword ptr [168+rcx]
11901 add rsi, rax
11902 adc r8, rdx
11903 adc rdi, 0
11904 mov rax, qword ptr [144+rcx]
11905 mul qword ptr [160+rcx]
11906 add rsi, rax
11907 adc r8, rdx
11908 adc rdi, 0
11909 mov rax, r10
11910 mov rdx, rsi
11911 mov rbx, r8
11912 mov r12, rdi
11913 add r9, rdx
11914 adc r13, rbx
11915 adc rax, r12
11916 add r9, rdx
11917 adc r13, rbx
11918 adc rax, r12
11919 mov r11, r12
11920 mov r8, rdx
11921 mov rdx, rax
11922 mov r12, r13
11923 mov rdi, rbx
11924 mov r13, rdx
11925 mov rsi, r11
11926 mov rax, qword ptr [152+rcx]
11927 mul rax
11928 add r9, rax
11929 adc r12, rdx
11930 adc r13, 0
11931 mov qword ptr [-240+rbp], r9
11932 mov r9, r13
11933 mov r13, r10
11934 mov rax, qword ptr [64+rcx]
11935 mul qword ptr [248+rcx]
11936 mov r8, rax
11937 mov rdi, rdx
11938 xor rsi, rsi
11939 mov rax, qword ptr [72+rcx]
11940 mul qword ptr [240+rcx]
11941 add r8, rax
11942 adc rdi, rdx
11943 adc rsi, 0
11944 mov rax, qword ptr [80+rcx]
11945 mul qword ptr [232+rcx]
11946 add r8, rax
11947 adc rdi, rdx
11948 adc rsi, 0
11949 mov rax, qword ptr [88+rcx]
11950 mul qword ptr [224+rcx]
11951 add r8, rax
11952 adc rdi, rdx
11953 adc rsi, 0
11954 mov rax, qword ptr [96+rcx]
11955 mul qword ptr [216+rcx]
11956 add r8, rax
11957 adc rdi, rdx
11958 adc rsi, 0
11959 mov rax, qword ptr [104+rcx]
11960 mul qword ptr [208+rcx]
11961 add r8, rax
11962 adc rdi, rdx
11963 adc rsi, 0
11964 mov rax, qword ptr [112+rcx]
11965 mul qword ptr [200+rcx]
11966 add r8, rax
11967 adc rdi, rdx
11968 adc rsi, 0
11969 mov rax, qword ptr [120+rcx]
11970 mul qword ptr [192+rcx]
11971 add r8, rax
11972 adc rdi, rdx
11973 adc rsi, 0
11974 mov rax, qword ptr [128+rcx]
11975 mul qword ptr [184+rcx]
11976 add r8, rax
11977 adc rdi, rdx
11978 adc rsi, 0
11979 mov rax, qword ptr [136+rcx]
11980 mul qword ptr [176+rcx]
11981 add r8, rax
11982 adc rdi, rdx
11983 adc rsi, 0
11984 mov rax, qword ptr [144+rcx]
11985 mul qword ptr [168+rcx]
11986 add r8, rax
11987 adc rdi, rdx
11988 adc rsi, 0
11989 mov rax, qword ptr [152+rcx]
11990 mul qword ptr [160+rcx]
11991 add r8, rax
11992 adc rdi, rdx
11993 adc rsi, 0
11994 mov rax, r8
11995 mov rdx, rdi
11996 mov rbx, rsi
11997 add r12, rax
11998 adc r9, rdx
11999 adc r13, rbx
12000 add r12, rax
12001 adc r9, rdx
12002 adc r13, rbx
12003 mov qword ptr [-232+rbp], r12
12004 mov r8, rdx
12005 mov rsi, rax
12006 mov rdi, rbx
12007 mov r12, r13
12008 mov r13, r10
12009 mov rax, qword ptr [72+rcx]
12010 mul qword ptr [248+rcx]
12011 mov rsi, rax
12012 mov r8, rdx
12013 xor rdi, rdi
12014 mov rax, qword ptr [80+rcx]
12015 mul qword ptr [240+rcx]
12016 add rsi, rax
12017 adc r8, rdx
12018 adc rdi, 0
12019 mov rax, qword ptr [88+rcx]
12020 mul qword ptr [232+rcx]
12021 add rsi, rax
12022 adc r8, rdx
12023 adc rdi, 0
12024 mov rax, qword ptr [96+rcx]
12025 mul qword ptr [224+rcx]
12026 add rsi, rax
12027 adc r8, rdx
12028 adc rdi, 0
12029 mov rax, qword ptr [104+rcx]
12030 mul qword ptr [216+rcx]
12031 add rsi, rax
12032 adc r8, rdx
12033 adc rdi, 0
12034 mov rax, qword ptr [112+rcx]
12035 mul qword ptr [208+rcx]
12036 add rsi, rax
12037 adc r8, rdx
12038 adc rdi, 0
12039 mov rax, qword ptr [120+rcx]
12040 mul qword ptr [200+rcx]
12041 add rsi, rax
12042 adc r8, rdx
12043 adc rdi, 0
12044 mov rax, qword ptr [128+rcx]
12045 mul qword ptr [192+rcx]
12046 add rsi, rax
12047 adc r8, rdx
12048 adc rdi, 0
12049 mov rax, qword ptr [136+rcx]
12050 mul qword ptr [184+rcx]
12051 add rsi, rax
12052 adc r8, rdx
12053 adc rdi, 0
12054 mov rax, qword ptr [144+rcx]
12055 mul qword ptr [176+rcx]
12056 add rsi, rax
12057 adc r8, rdx
12058 adc rdi, 0
12059 mov rax, qword ptr [152+rcx]
12060 mul qword ptr [168+rcx]
12061 add rsi, rax
12062 adc r8, rdx
12063 adc rdi, 0
12064 mov rax, rsi
12065 mov rbx, r8
12066 mov rdx, rdi
12067 add r9, rax
12068 adc r12, rbx
12069 adc r13, rdx
12070 add r9, rax
12071 adc r12, rbx
12072 adc r13, rdx
12073 mov r11, rdx
12074 mov r8, rax
12075 mov rdi, rbx
12076 mov rax, qword ptr [160+rcx]
12077 mul rax
12078 add r9, rax
12079 adc r12, rdx
12080 adc r13, 0
12081 mov rsi, r11
12082 mov qword ptr [-224+rbp], r9
12083 mov r9, r13
12084 mov rax, qword ptr [80+rcx]
12085 mul qword ptr [248+rcx]
12086 mov r8, rax
12087 mov rdi, rdx
12088 xor rsi, rsi
12089 mov r13, r10
12090 mov rax, qword ptr [88+rcx]
12091 mul qword ptr [240+rcx]
12092 add r8, rax
12093 adc rdi, rdx
12094 adc rsi, 0
12095 mov rax, qword ptr [96+rcx]
12096 mul qword ptr [232+rcx]
12097 add r8, rax
12098 adc rdi, rdx
12099 adc rsi, 0
12100 mov rax, qword ptr [104+rcx]
12101 mul qword ptr [224+rcx]
12102 add r8, rax
12103 adc rdi, rdx
12104 adc rsi, 0
12105 mov rax, qword ptr [112+rcx]
12106 mul qword ptr [216+rcx]
12107 add r8, rax
12108 adc rdi, rdx
12109 adc rsi, 0
12110 mov rax, qword ptr [120+rcx]
12111 mul qword ptr [208+rcx]
12112 add r8, rax
12113 adc rdi, rdx
12114 adc rsi, 0
12115 mov rax, qword ptr [128+rcx]
12116 mul qword ptr [200+rcx]
12117 add r8, rax
12118 adc rdi, rdx
12119 adc rsi, 0
12120 mov rax, qword ptr [136+rcx]
12121 mul qword ptr [192+rcx]
12122 add r8, rax
12123 adc rdi, rdx
12124 adc rsi, 0
12125 mov rax, qword ptr [144+rcx]
12126 mul qword ptr [184+rcx]
12127 add r8, rax
12128 adc rdi, rdx
12129 adc rsi, 0
12130 mov rax, qword ptr [152+rcx]
12131 mul qword ptr [176+rcx]
12132 add r8, rax
12133 adc rdi, rdx
12134 adc rsi, 0
12135 mov rax, qword ptr [160+rcx]
12136 mul qword ptr [168+rcx]
12137 add r8, rax
12138 adc rdi, rdx
12139 adc rsi, 0
12140 mov rbx, r8
12141 mov rax, rdi
12142 mov rdx, rsi
12143 add r12, rbx
12144 adc r9, rax
12145 adc r13, rdx
12146 add r12, rbx
12147 adc r9, rax
12148 adc r13, rdx
12149 mov qword ptr [-216+rbp], r12
12150 mov rdi, rdx
12151 mov r8, rax
12152 mov rsi, rbx
12153 mov r12, r13
12154 mov r13, r10
12155 mov rax, qword ptr [88+rcx]
12156 mul qword ptr [248+rcx]
12157 mov rsi, rax
12158 mov r8, rdx
12159 xor rdi, rdi
12160 mov rax, qword ptr [96+rcx]
12161 mul qword ptr [240+rcx]
12162 add rsi, rax
12163 adc r8, rdx
12164 adc rdi, 0
12165 mov rax, qword ptr [104+rcx]
12166 mul qword ptr [232+rcx]
12167 add rsi, rax
12168 adc r8, rdx
12169 adc rdi, 0
12170 mov rax, qword ptr [112+rcx]
12171 mul qword ptr [224+rcx]
12172 add rsi, rax
12173 adc r8, rdx
12174 adc rdi, 0
12175 mov rax, qword ptr [120+rcx]
12176 mul qword ptr [216+rcx]
12177 add rsi, rax
12178 adc r8, rdx
12179 adc rdi, 0
12180 mov rax, qword ptr [128+rcx]
12181 mul qword ptr [208+rcx]
12182 add rsi, rax
12183 adc r8, rdx
12184 adc rdi, 0
12185 mov rax, qword ptr [136+rcx]
12186 mul qword ptr [200+rcx]
12187 add rsi, rax
12188 adc r8, rdx
12189 adc rdi, 0
12190 mov rax, qword ptr [144+rcx]
12191 mul qword ptr [192+rcx]
12192 add rsi, rax
12193 adc r8, rdx
12194 adc rdi, 0
12195 mov rax, qword ptr [152+rcx]
12196 mul qword ptr [184+rcx]
12197 add rsi, rax
12198 adc r8, rdx
12199 adc rdi, 0
12200 mov rax, qword ptr [160+rcx]
12201 mul qword ptr [176+rcx]
12202 add rsi, rax
12203 adc r8, rdx
12204 adc rdi, 0
12205 mov rax, rsi
12206 mov rbx, r8
12207 mov rdx, rdi
12208 add r9, rax
12209 adc r12, rbx
12210 adc r13, rdx
12211 add r9, rax
12212 adc r12, rbx
12213 adc r13, rdx
12214 mov r11, rdx
12215 mov r8, rax
12216 mov rdi, rbx
12217 mov rax, qword ptr [168+rcx]
12218 mul rax
12219 add r9, rax
12220 adc r12, rdx
12221 adc r13, 0
12222 mov rsi, r11
12223 mov qword ptr [-208+rbp], r9
12224 mov r9, r13
12225 mov rax, qword ptr [96+rcx]
12226 mul qword ptr [248+rcx]
12227 mov r8, rax
12228 mov rdi, rdx
12229 xor rsi, rsi
12230 mov r13, r10
12231 mov rax, qword ptr [104+rcx]
12232 mul qword ptr [240+rcx]
12233 add r8, rax
12234 adc rdi, rdx
12235 adc rsi, 0
12236 mov rax, qword ptr [112+rcx]
12237 mul qword ptr [232+rcx]
12238 add r8, rax
12239 adc rdi, rdx
12240 adc rsi, 0
12241 mov rax, qword ptr [120+rcx]
12242 mul qword ptr [224+rcx]
12243 add r8, rax
12244 adc rdi, rdx
12245 adc rsi, 0
12246 mov rax, qword ptr [128+rcx]
12247 mul qword ptr [216+rcx]
12248 add r8, rax
12249 adc rdi, rdx
12250 adc rsi, 0
12251 mov rax, qword ptr [136+rcx]
12252 mul qword ptr [208+rcx]
12253 add r8, rax
12254 adc rdi, rdx
12255 adc rsi, 0
12256 mov rax, qword ptr [144+rcx]
12257 mul qword ptr [200+rcx]
12258 add r8, rax
12259 adc rdi, rdx
12260 adc rsi, 0
12261 mov rax, qword ptr [152+rcx]
12262 mul qword ptr [192+rcx]
12263 add r8, rax
12264 adc rdi, rdx
12265 adc rsi, 0
12266 mov rax, qword ptr [160+rcx]
12267 mul qword ptr [184+rcx]
12268 add r8, rax
12269 adc rdi, rdx
12270 adc rsi, 0
12271 mov rax, qword ptr [168+rcx]
12272 mul qword ptr [176+rcx]
12273 add r8, rax
12274 adc rdi, rdx
12275 adc rsi, 0
12276 mov rbx, r8
12277 mov rax, rdi
12278 mov rdx, rsi
12279 add r12, rbx
12280 adc r9, rax
12281 adc r13, rdx
12282 add r12, rbx
12283 adc r9, rax
12284 adc r13, rdx
12285 mov qword ptr [-200+rbp], r12
12286 mov rdi, rdx
12287 mov r8, rax
12288 mov rsi, rbx
12289 mov r12, r13
12290 mov r13, r10
12291 mov rax, qword ptr [104+rcx]
12292 mul qword ptr [248+rcx]
12293 mov rsi, rax
12294 mov r8, rdx
12295 xor rdi, rdi
12296 mov rax, qword ptr [112+rcx]
12297 mul qword ptr [240+rcx]
12298 add rsi, rax
12299 adc r8, rdx
12300 adc rdi, 0
12301 mov rax, qword ptr [120+rcx]
12302 mul qword ptr [232+rcx]
12303 add rsi, rax
12304 adc r8, rdx
12305 adc rdi, 0
12306 mov rax, qword ptr [128+rcx]
12307 mul qword ptr [224+rcx]
12308 add rsi, rax
12309 adc r8, rdx
12310 adc rdi, 0
12311 mov rax, qword ptr [136+rcx]
12312 mul qword ptr [216+rcx]
12313 add rsi, rax
12314 adc r8, rdx
12315 adc rdi, 0
12316 mov rax, qword ptr [144+rcx]
12317 mul qword ptr [208+rcx]
12318 add rsi, rax
12319 adc r8, rdx
12320 adc rdi, 0
12321 mov rax, qword ptr [152+rcx]
12322 mul qword ptr [200+rcx]
12323 add rsi, rax
12324 adc r8, rdx
12325 adc rdi, 0
12326 mov rax, qword ptr [160+rcx]
12327 mul qword ptr [192+rcx]
12328 add rsi, rax
12329 adc r8, rdx
12330 adc rdi, 0
12331 mov rax, qword ptr [168+rcx]
12332 mul qword ptr [184+rcx]
12333 add rsi, rax
12334 adc r8, rdx
12335 adc rdi, 0
12336 mov rax, rsi
12337 mov rbx, r8
12338 mov rdx, rdi
12339 add r9, rax
12340 adc r12, rbx
12341 adc r13, rdx
12342 add r9, rax
12343 adc r12, rbx
12344 adc r13, rdx
12345 mov r11, rdx
12346 mov r8, rax
12347 mov rdi, rbx
12348 mov rax, qword ptr [176+rcx]
12349 mul rax
12350 add r9, rax
12351 adc r12, rdx
12352 adc r13, 0
12353 mov rsi, r11
12354 mov qword ptr [-192+rbp], r9
12355 mov r9, r13
12356 mov rax, qword ptr [112+rcx]
12357 mul qword ptr [248+rcx]
12358 mov r8, rax
12359 mov rdi, rdx
12360 xor rsi, rsi
12361 mov r13, r10
12362 mov rax, qword ptr [120+rcx]
12363 mul qword ptr [240+rcx]
12364 add r8, rax
12365 adc rdi, rdx
12366 adc rsi, 0
12367 mov rax, qword ptr [128+rcx]
12368 mul qword ptr [232+rcx]
12369 add r8, rax
12370 adc rdi, rdx
12371 adc rsi, 0
12372 mov rax, qword ptr [136+rcx]
12373 mul qword ptr [224+rcx]
12374 add r8, rax
12375 adc rdi, rdx
12376 adc rsi, 0
12377 mov rax, qword ptr [144+rcx]
12378 mul qword ptr [216+rcx]
12379 add r8, rax
12380 adc rdi, rdx
12381 adc rsi, 0
12382 mov rax, qword ptr [152+rcx]
12383 mul qword ptr [208+rcx]
12384 add r8, rax
12385 adc rdi, rdx
12386 adc rsi, 0
12387 mov rax, qword ptr [160+rcx]
12388 mul qword ptr [200+rcx]
12389 add r8, rax
12390 adc rdi, rdx
12391 adc rsi, 0
12392 mov rax, qword ptr [168+rcx]
12393 mul qword ptr [192+rcx]
12394 add r8, rax
12395 adc rdi, rdx
12396 adc rsi, 0
12397 mov rax, qword ptr [176+rcx]
12398 mul qword ptr [184+rcx]
12399 add r8, rax
12400 adc rdi, rdx
12401 adc rsi, 0
12402 mov rbx, r8
12403 mov rax, rdi
12404 mov rdx, rsi
12405 add r12, rbx
12406 adc r9, rax
12407 adc r13, rdx
12408 add r12, rbx
12409 adc r9, rax
12410 adc r13, rdx
12411 mov qword ptr [-184+rbp], r12
12412 mov rdi, rdx
12413 mov r8, rax
12414 mov rsi, rbx
12415 mov r12, r13
12416 mov r13, r10
12417 mov rax, qword ptr [120+rcx]
12418 mul qword ptr [248+rcx]
12419 mov rsi, rax
12420 mov r8, rdx
12421 xor rdi, rdi
12422 mov rax, qword ptr [128+rcx]
12423 mul qword ptr [240+rcx]
12424 add rsi, rax
12425 adc r8, rdx
12426 adc rdi, 0
12427 mov rax, qword ptr [136+rcx]
12428 mul qword ptr [232+rcx]
12429 add rsi, rax
12430 adc r8, rdx
12431 adc rdi, 0
12432 mov rax, qword ptr [144+rcx]
12433 mul qword ptr [224+rcx]
12434 add rsi, rax
12435 adc r8, rdx
12436 adc rdi, 0
12437 mov rax, qword ptr [152+rcx]
12438 mul qword ptr [216+rcx]
12439 add rsi, rax
12440 adc r8, rdx
12441 adc rdi, 0
12442 mov rax, qword ptr [160+rcx]
12443 mul qword ptr [208+rcx]
12444 add rsi, rax
12445 adc r8, rdx
12446 adc rdi, 0
12447 mov rax, qword ptr [168+rcx]
12448 mul qword ptr [200+rcx]
12449 add rsi, rax
12450 adc r8, rdx
12451 adc rdi, 0
12452 mov rax, qword ptr [176+rcx]
12453 mul qword ptr [192+rcx]
12454 add rsi, rax
12455 adc r8, rdx
12456 adc rdi, 0
12457 mov rax, rsi
12458 mov rbx, r8
12459 mov rdx, rdi
12460 add r9, rax
12461 adc r12, rbx
12462 adc r13, rdx
12463 add r9, rax
12464 adc r12, rbx
12465 adc r13, rdx
12466 mov r11, rdx
12467 mov r8, rax
12468 mov rdi, rbx
12469 mov rax, qword ptr [184+rcx]
12470 mul rax
12471 add r9, rax
12472 adc r12, rdx
12473 adc r13, 0
12474 mov rsi, r11
12475 mov qword ptr [-176+rbp], r9
12476 mov r9, r13
12477 mov rax, qword ptr [128+rcx]
12478 mul qword ptr [248+rcx]
12479 mov r8, rax
12480 mov rdi, rdx
12481 xor rsi, rsi
12482 mov r13, r10
12483 mov rax, qword ptr [136+rcx]
12484 mul qword ptr [240+rcx]
12485 add r8, rax
12486 adc rdi, rdx
12487 adc rsi, 0
12488 mov rax, qword ptr [144+rcx]
12489 mul qword ptr [232+rcx]
12490 add r8, rax
12491 adc rdi, rdx
12492 adc rsi, 0
12493 mov rax, qword ptr [152+rcx]
12494 mul qword ptr [224+rcx]
12495 add r8, rax
12496 adc rdi, rdx
12497 adc rsi, 0
12498 mov rax, qword ptr [160+rcx]
12499 mul qword ptr [216+rcx]
12500 add r8, rax
12501 adc rdi, rdx
12502 adc rsi, 0
12503 mov rax, qword ptr [168+rcx]
12504 mul qword ptr [208+rcx]
12505 add r8, rax
12506 adc rdi, rdx
12507 adc rsi, 0
12508 mov rax, qword ptr [176+rcx]
12509 mul qword ptr [200+rcx]
12510 add r8, rax
12511 adc rdi, rdx
12512 adc rsi, 0
12513 mov rax, qword ptr [184+rcx]
12514 mul qword ptr [192+rcx]
12515 add r8, rax
12516 adc rdi, rdx
12517 adc rsi, 0
12518 add r12, r8
12519 adc r9, rdi
12520 adc r13, rsi
12521 add r12, r8
12522 adc r9, rdi
12523 adc r13, rsi
12524 mov qword ptr [-168+rbp], r12
12525 mov r12, r13
12526 mov r13, r10
12527 mov rax, qword ptr [136+rcx]
12528 mul qword ptr [248+rcx]
12529 mov r8, rax
12530 mov rdi, rdx
12531 xor rsi, rsi
12532 mov rax, qword ptr [144+rcx]
12533 mul qword ptr [240+rcx]
12534 add r8, rax
12535 adc rdi, rdx
12536 adc rsi, 0
12537 mov rax, qword ptr [152+rcx]
12538 mul qword ptr [232+rcx]
12539 add r8, rax
12540 adc rdi, rdx
12541 adc rsi, 0
12542 mov rax, qword ptr [160+rcx]
12543 mul qword ptr [224+rcx]
12544 add r8, rax
12545 adc rdi, rdx
12546 adc rsi, 0
12547 mov rax, qword ptr [168+rcx]
12548 mul qword ptr [216+rcx]
12549 add r8, rax
12550 adc rdi, rdx
12551 adc rsi, 0
12552 mov rax, qword ptr [176+rcx]
12553 mul qword ptr [208+rcx]
12554 add r8, rax
12555 adc rdi, rdx
12556 adc rsi, 0
12557 mov rax, qword ptr [184+rcx]
12558 mul qword ptr [200+rcx]
12559 add r8, rax
12560 adc rdi, rdx
12561 adc rsi, 0
12562 mov rbx, rdi
12563 mov rax, rsi
12564 add r9, r8
12565 adc r12, rbx
12566 adc r13, rax
12567 add r9, r8
12568 adc r12, rbx
12569 adc r13, rax
12570 mov r11, rax
12571 mov rdi, rbx
12572 mov rbx, r10
12573 mov rax, qword ptr [192+rcx]
12574 mul rax
12575 add r9, rax
12576 adc r12, rdx
12577 adc r13, 0
12578 mov rsi, r11
12579 mov qword ptr [-160+rbp], r9
12580 mov r9, r13
12581 mov rax, qword ptr [144+rcx]
12582 mul qword ptr [248+rcx]
12583 mov r8, rax
12584 mov rdi, rdx
12585 xor rsi, rsi
12586 mov rax, qword ptr [152+rcx]
12587 mul qword ptr [240+rcx]
12588 add r8, rax
12589 adc rdi, rdx
12590 adc rsi, 0
12591 mov rax, qword ptr [160+rcx]
12592 mul qword ptr [232+rcx]
12593 add r8, rax
12594 adc rdi, rdx
12595 adc rsi, 0
12596 mov rax, qword ptr [168+rcx]
12597 mul qword ptr [224+rcx]
12598 add r8, rax
12599 adc rdi, rdx
12600 adc rsi, 0
12601 mov rax, qword ptr [176+rcx]
12602 mul qword ptr [216+rcx]
12603 add r8, rax
12604 adc rdi, rdx
12605 adc rsi, 0
12606 mov rax, qword ptr [184+rcx]
12607 mul qword ptr [208+rcx]
12608 add r8, rax
12609 adc rdi, rdx
12610 adc rsi, 0
12611 mov rax, qword ptr [192+rcx]
12612 mul qword ptr [200+rcx]
12613 add r8, rax
12614 adc rdi, rdx
12615 adc rsi, 0
12616 add r12, r8
12617 adc r9, rdi
12618 adc rbx, rsi
12619 add r12, r8
12620 adc r9, rdi
12621 adc rbx, rsi
12622 mov qword ptr [-152+rbp], r12
12623 mov rax, qword ptr [152+rcx]
12624 mul qword ptr [248+rcx]
12625 mov r8, rax
12626 mov rdi, rdx
12627 xor rsi, rsi
12628 mov rax, qword ptr [160+rcx]
12629 mul qword ptr [240+rcx]
12630 add r8, rax
12631 adc rdi, rdx
12632 adc rsi, 0
12633 mov rax, qword ptr [168+rcx]
12634 mul qword ptr [232+rcx]
12635 add r8, rax
12636 adc rdi, rdx
12637 adc rsi, 0
12638 mov rax, qword ptr [176+rcx]
12639 mul qword ptr [224+rcx]
12640 add r8, rax
12641 adc rdi, rdx
12642 adc rsi, 0
12643 mov rax, qword ptr [184+rcx]
12644 mul qword ptr [216+rcx]
12645 add r8, rax
12646 adc rdi, rdx
12647 adc rsi, 0
12648 mov rax, qword ptr [192+rcx]
12649 mul qword ptr [208+rcx]
12650 add r8, rax
12651 adc rdi, rdx
12652 adc rsi, 0
12653 mov rdx, r10
12654 mov r13, rdi
12655 mov r12, rsi
12656 add r9, r8
12657 adc rbx, r13
12658 adc rdx, r12
12659 add r9, r8
12660 adc rbx, r13
12661 adc rdx, r12
12662 mov rax, rdx
12663 mov rdi, r13
12664 mov rsi, r12
12665 mov r11, rax
12666 mov r12, r10
12667 mov rax, qword ptr [200+rcx]
12668 mul rax
12669 add r9, rax
12670 adc rbx, rdx
12671 adc r11, 0
12672 mov qword ptr [-144+rbp], r9
12673 mov r9, r11
12674 mov rax, qword ptr [160+rcx]
12675 mul qword ptr [248+rcx]
12676 mov r8, rax
12677 mov rdi, rdx
12678 xor rsi, rsi
12679 mov rax, qword ptr [168+rcx]
12680 mul qword ptr [240+rcx]
12681 add r8, rax
12682 adc rdi, rdx
12683 adc rsi, 0
12684 mov rax, qword ptr [176+rcx]
12685 mul qword ptr [232+rcx]
12686 add r8, rax
12687 adc rdi, rdx
12688 adc rsi, 0
12689 mov rax, qword ptr [184+rcx]
12690 mul qword ptr [224+rcx]
12691 add r8, rax
12692 adc rdi, rdx
12693 adc rsi, 0
12694 mov rax, qword ptr [192+rcx]
12695 mul qword ptr [216+rcx]
12696 add r8, rax
12697 adc rdi, rdx
12698 adc rsi, 0
12699 mov rax, qword ptr [200+rcx]
12700 mul qword ptr [208+rcx]
12701 add r8, rax
12702 adc rdi, rdx
12703 adc rsi, 0
12704 add rbx, r8
12705 adc r9, rdi
12706 adc r12, rsi
12707 add rbx, r8
12708 adc r9, rdi
12709 adc r12, rsi
12710 mov qword ptr [-136+rbp], rbx
12711 mov r11, r12
12712 mov rax, qword ptr [168+rcx]
12713 mul qword ptr [248+rcx]
12714 mov r8, rax
12715 mov rdi, rdx
12716 xor rsi, rsi
12717 mov rax, qword ptr [176+rcx]
12718 mul qword ptr [240+rcx]
12719 add r8, rax
12720 adc rdi, rdx
12721 adc rsi, 0
12722 mov rax, qword ptr [184+rcx]
12723 mul qword ptr [232+rcx]
12724 add r8, rax
12725 adc rdi, rdx
12726 adc rsi, 0
12727 mov rax, qword ptr [192+rcx]
12728 mul qword ptr [224+rcx]
12729 add r8, rax
12730 adc rdi, rdx
12731 adc rsi, 0
12732 mov rax, qword ptr [200+rcx]
12733 mul qword ptr [216+rcx]
12734 add r8, rax
12735 adc rdi, rdx
12736 adc rsi, 0
12737 mov rax, r10
12738 mov r13, rdi
12739 mov r12, rsi
12740 add r9, r8
12741 adc r11, r13
12742 adc rax, r12
12743 add r9, r8
12744 adc r11, r13
12745 adc rax, r12
12746 mov rdx, rax
12747 mov rbx, r11
12748 mov rdi, r13
12749 mov r11, rdx
12750 mov rsi, r12
12751 mov rax, qword ptr [208+rcx]
12752 mul rax
12753 add r9, rax
12754 adc rbx, rdx
12755 adc r11, 0
12756 mov qword ptr [-128+rbp], r9
12757 mov r9, r11
12758 mov rax, qword ptr [176+rcx]
12759 mul qword ptr [248+rcx]
12760 mov r8, rax
12761 mov rdi, rdx
12762 xor rsi, rsi
12763 mov rax, qword ptr [184+rcx]
12764 mul qword ptr [240+rcx]
12765 add r8, rax
12766 adc rdi, rdx
12767 adc rsi, 0
12768 mov rax, qword ptr [192+rcx]
12769 mul qword ptr [232+rcx]
12770 add r8, rax
12771 adc rdi, rdx
12772 adc rsi, 0
12773 mov rax, qword ptr [200+rcx]
12774 mul qword ptr [224+rcx]
12775 add r8, rax
12776 adc rdi, rdx
12777 adc rsi, 0
12778 mov rax, qword ptr [208+rcx]
12779 mul qword ptr [216+rcx]
12780 add r8, rax
12781 adc rdi, rdx
12782 adc rsi, 0
12783 mov rdx, r10
12784 add rbx, r8
12785 adc r9, rdi
12786 adc rdx, rsi
12787 add rbx, r8
12788 adc r9, rdi
12789 adc rdx, rsi
12790 mov qword ptr [-120+rbp], rbx
12791 mov r11, rdx
12792 mov rbx, r10
12793 mov rax, qword ptr [184+rcx]
12794 mul qword ptr [248+rcx]
12795 mov r8, rax
12796 mov rdi, rdx
12797 xor rsi, rsi
12798 mov rax, qword ptr [192+rcx]
12799 mul qword ptr [240+rcx]
12800 add r8, rax
12801 adc rdi, rdx
12802 adc rsi, 0
12803 mov rax, qword ptr [200+rcx]
12804 mul qword ptr [232+rcx]
12805 add r8, rax
12806 adc rdi, rdx
12807 adc rsi, 0
12808 mov rax, qword ptr [208+rcx]
12809 mul qword ptr [224+rcx]
12810 add r8, rax
12811 adc rdi, rdx
12812 adc rsi, 0
12813 mov r13, rdi
12814 mov r12, rsi
12815 add r9, r8
12816 adc r11, r13
12817 adc rbx, r12
12818 add r9, r8
12819 adc r11, r13
12820 adc rbx, r12
12821 mov rdx, rbx
12822 mov rdi, r13
12823 mov rbx, r11
12824 mov rsi, r12
12825 mov r11, rdx
12826 mov r12, r10
12827 mov rax, qword ptr [216+rcx]
12828 mul rax
12829 add r9, rax
12830 adc rbx, rdx
12831 adc r11, 0
12832 mov qword ptr [-112+rbp], r9
12833 mov r9, r11
12834 mov rax, qword ptr [192+rcx]
12835 mul qword ptr [248+rcx]
12836 mov r8, rax
12837 mov rdi, rdx
12838 xor rsi, rsi
12839 mov rax, qword ptr [200+rcx]
12840 mul qword ptr [240+rcx]
12841 add r8, rax
12842 adc rdi, rdx
12843 adc rsi, 0
12844 mov rax, qword ptr [208+rcx]
12845 mul qword ptr [232+rcx]
12846 add r8, rax
12847 adc rdi, rdx
12848 adc rsi, 0
12849 mov rax, qword ptr [216+rcx]
12850 mul qword ptr [224+rcx]
12851 add r8, rax
12852 adc rdi, rdx
12853 adc rsi, 0
12854 add rbx, r8
12855 adc r9, rdi
12856 adc r12, rsi
12857 add rbx, r8
12858 adc r9, rdi
12859 adc r12, rsi
12860 mov qword ptr [-104+rbp], rbx
12861 mov r11, r12
12862 mov rax, qword ptr [200+rcx]
12863 mul qword ptr [248+rcx]
12864 mov r8, rax
12865 mov rdi, rdx
12866 xor rsi, rsi
12867 mov rax, qword ptr [208+rcx]
12868 mul qword ptr [240+rcx]
12869 add r8, rax
12870 adc rdi, rdx
12871 adc rsi, 0
12872 mov rax, qword ptr [216+rcx]
12873 mul qword ptr [232+rcx]
12874 add r8, rax
12875 adc rdi, rdx
12876 adc rsi, 0
12877 mov rax, r10
12878 mov r13, rdi
12879 mov r12, rsi
12880 add r9, r8
12881 adc r11, r13
12882 adc rax, r12
12883 add r9, r8
12884 adc r11, r13
12885 adc rax, r12
12886 mov rdx, rax
12887 mov rbx, r11
12888 mov rdi, r13
12889 mov r11, rdx
12890 mov rsi, r12
12891 mov r12, r10
12892 mov rax, qword ptr [224+rcx]
12893 mul rax
12894 add r9, rax
12895 adc rbx, rdx
12896 adc r11, 0
12897 mov qword ptr [-96+rbp], r9
12898 mov r9, r10
12899 mov rax, qword ptr [208+rcx]
12900 mul qword ptr [248+rcx]
12901 mov r8, rax
12902 mov rdi, rdx
12903 xor rsi, rsi
12904 mov rax, qword ptr [216+rcx]
12905 mul qword ptr [240+rcx]
12906 add r8, rax
12907 adc rdi, rdx
12908 adc rsi, 0
12909 mov rax, qword ptr [224+rcx]
12910 mul qword ptr [232+rcx]
12911 add r8, rax
12912 adc rdi, rdx
12913 adc rsi, 0
12914 mov r13, rdi
12915 mov rax, rsi
12916 add rbx, r8
12917 adc r11, r13
12918 adc r9, rax
12919 add rbx, r8
12920 adc r11, r13
12921 adc r9, rax
12922 mov qword ptr [-88+rbp], rbx
12923 mov rsi, r11
12924 mov r8, r9
12925 mov rax, qword ptr [216+rcx]
12926 mul qword ptr [248+rcx]
12927 add rsi, rax
12928 adc r8, rdx
12929 adc r12, 0
12930 add rsi, rax
12931 adc r8, rdx
12932 adc r12, 0
12933 mov r11, r12
12934 mov rax, qword ptr [224+rcx]
12935 mul qword ptr [240+rcx]
12936 add rsi, rax
12937 adc r8, rdx
12938 adc r11, 0
12939 add rsi, rax
12940 adc r8, rdx
12941 adc r11, 0
12942 mov r13, r8
12943 mov rbx, r11
12944 mov rax, qword ptr [232+rcx]
12945 mul rax
12946 add rsi, rax
12947 adc r13, rdx
12948 adc rbx, 0
12949 mov qword ptr [-80+rbp], rsi
12950 mov r12, rbx
12951 mov rdi, r13
12952 mov r13, r10
12953 mov rax, qword ptr [224+rcx]
12954 mul qword ptr [248+rcx]
12955 add rdi, rax
12956 adc r12, rdx
12957 adc r13, 0
12958 add rdi, rax
12959 adc r12, rdx
12960 adc r13, 0
12961 mov r9, r12
12962 mov r12, r13
12963 mov rax, qword ptr [232+rcx]
12964 mul qword ptr [240+rcx]
12965 add rdi, rax
12966 adc r9, rdx
12967 adc r12, 0
12968 add rdi, rax
12969 adc r9, rdx
12970 adc r12, 0
12971 mov qword ptr [-72+rbp], rdi
12972 mov r11, r9
12973 mov rbx, r12
12974 mov r9, r10
12975 mov rax, qword ptr [232+rcx]
12976 mul qword ptr [248+rcx]
12977 add r11, rax
12978 adc rbx, rdx
12979 adc r9, 0
12980 add r11, rax
12981 adc rbx, rdx
12982 adc r9, 0
12983 mov r13, rbx
12984 mov rbx, r9
12985 mov r9, r10
12986 mov rax, qword ptr [240+rcx]
12987 mul rax
12988 add r11, rax
12989 adc r13, rdx
12990 adc rbx, 0
12991 mov qword ptr [-64+rbp], r11
12992 mov rdi, r13
12993 mov rsi, rbx
12994 mov rax, qword ptr [240+rcx]
12995 mul qword ptr [248+rcx]
12996 add rdi, rax
12997 adc rsi, rdx
12998 adc r9, 0
12999 add rdi, rax
13000 adc rsi, rdx
13001 adc r9, 0
13002 mov qword ptr [-56+rbp], rdi
13003 mov r8, r9
13004 mov rax, qword ptr [248+rcx]
13005 mul rax
13006 add rsi, rax
13007 adc r8, rdx
13008 adc r10, 0
13009 mov qword ptr [-48+rbp], rsi
13010 mov qword ptr [-40+rbp], r8
13011 mov dword ptr [8+r14], 64
13012 mov dword ptr [r14], 0
13013 ; mov rdi, qword ptr [16+r14]
13014 ; lea rsi, qword ptr [-544+rbp]
13015 ; mov edx, 512
13016 mov rcx, qword ptr [16+r14]
13017 lea rdx, qword ptr [-544+rbp]
13018 mov r8d, 512
13019 call memcpy
13020 mov edx, dword ptr [8+r14]
13021 test edx, edx
13022 je L304
13023 lea ecx, dword ptr [-1+rdx]
13024 mov rsi, qword ptr [16+r14]
13025 mov r10d, ecx
13026 cmp dword ptr [rsi+r10*8], 0
13027 jne L302
13028 mov edx, ecx
13029 ALIGN 16
13030 L303:
13031 test edx, edx
13032 mov ecx, edx
13033 je L307
13034 dec edx
13035 mov eax, edx
13036 cmp dword ptr [rsi+rax*8], 0
13037 je L303
13038 mov dword ptr [8+r14], ecx
13039 mov edx, ecx
13040 L302:
13041 test edx, edx
13042 je L304
13043 mov eax, dword ptr [r14]
13044 jmp L305
13045
13046 L307:
13047 mov dword ptr [8+r14], edx
13048 L304:
13049 xor eax, eax
13050 L305:
13051 mov dword ptr [r14], eax
13052 add rsp, 512+32 ; +32 for "home" storage
13053 pop rbx
13054 pop r12
13055 pop r13
13056 pop r14
13057 pop rbp
13058
13059 pop rsi
13060 pop rdi
13061
13062 ret
13063
13064 s_mp_sqr_comba_32 ENDP
13065
13066 END
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698