1
; ***** BEGIN LICENSE BLOCK *****
2
; Version: MPL 1.1/GPL 2.0/LGPL 2.1
4
; The contents of this file are subject to the Mozilla Public License Version
5
; 1.1 (the "License"); you may not use this file except in compliance with
6
; the License. You may obtain a copy of the License at
7
; http://www.mozilla.org/MPL/
9
; Software distributed under the License is distributed on an "AS IS" basis,
10
; WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
11
; for the specific language governing rights and limitations under the
14
; The Original Code is TomsFastMath, a fast ISO C bignum library.
16
; The Initial Developer of the Original Code is
17
; Tom St Denis, tomstdenis@iahu.ca .
18
; Portions created by the Initial Developer are Copyright (C) 2005
19
; the Initial Developer. All Rights Reserved.
22
; Sun Microsystems, Inc.
23
; Makoto Kato <m_kato@ga2.so-net.ne.jp>
25
; Alternatively, the contents of this file may be used under the terms of
26
; either the GNU General Public License Version 2 or later (the "GPL"), or
27
; the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
28
; in which case the provisions of the GPL or the LGPL are applicable instead
29
; of those above. If you wish to allow use of your version of this file only
30
; under the terms of either the GPL or the LGPL, and not to allow others to
31
; use your version of this file under the terms of the MPL, indicate your
32
; decision by deleting the provisions above and replace them with the notice
33
; and other provisions required by the GPL or the LGPL. If you do not delete
34
; the provisions above, a recipient may use your version of this file under
35
; the terms of any one of the MPL, the GPL or the LGPL.
37
; ***** END LICENSE BLOCK ***** */
39
;/* TomsFastMath, a fast ISO C bignum library.
41
; * This project is meant to fill in where LibTomMath
42
; * falls short. That is speed ;-)
44
; * This project is public domain and free for all purposes.
46
; * Tom St Denis, tomstdenis@iahu.ca
50
; * The source file from which this assembly was derived
51
; * comes from TFM v0.03, which has the above license.
52
; * This source was from mp_comba_amd64.sun.s and convert to
60
public s_mp_mul_comba_4
61
public s_mp_mul_comba_8
62
public s_mp_mul_comba_16
63
public s_mp_mul_comba_32
64
public s_mp_sqr_comba_8
65
public s_mp_sqr_comba_16
66
public s_mp_sqr_comba_32
69
; void s_mp_mul_comba_4(const mp_int *A, const mp_int *B, mp_int *C)
85
mov r9, qword ptr [16+rdi]
87
mov rdx, qword ptr [16+rsi]
88
mov rax, qword ptr [r9]
89
mov qword ptr [-64+64+rsp], rax
90
mov r8, qword ptr [8+r9]
91
mov qword ptr [-56+64+rsp], r8
92
mov rbp, qword ptr [16+r9]
93
mov qword ptr [-48+64+rsp], rbp
94
mov r12, qword ptr [24+r9]
95
mov qword ptr [-40+64+rsp], r12
96
mov rcx, qword ptr [rdx]
97
mov qword ptr [-32+64+rsp], rcx
98
mov r10, qword ptr [8+rdx]
99
mov qword ptr [-24+64+rsp], r10
100
mov r11, qword ptr [16+rdx]
105
mov qword ptr [-16+64+rsp], r11
106
mov r11, qword ptr [16+rbx]
107
mov rax, qword ptr [24+rdx]
108
mov qword ptr [-8+64+rsp], rax
109
mov rax, qword ptr [-64+64+rsp]
110
mul qword ptr [-32+64+rsp]
114
mov qword ptr [r11], r8
117
mov rax, qword ptr [-64+64+rsp]
118
mul qword ptr [-24+64+rsp]
123
mov rax, qword ptr [-56+64+rsp]
124
mul qword ptr [-32+64+rsp]
128
mov qword ptr [8+r11], r9
131
mov rax, qword ptr [-64+64+rsp]
132
mul qword ptr [-16+64+rsp]
137
mov rax, qword ptr [-56+64+rsp]
138
mul qword ptr [-24+64+rsp]
144
mov rax, qword ptr [-48+64+rsp]
145
mul qword ptr [-32+64+rsp]
149
mov qword ptr [16+r11], r8
153
mov rax, qword ptr [-64+64+rsp]
154
mul qword ptr [-8+64+rsp]
158
mov rax, qword ptr [-56+64+rsp]
159
mul qword ptr [-16+64+rsp]
163
mov rax, qword ptr [-48+64+rsp]
164
mul qword ptr [-24+64+rsp]
170
mov rax, qword ptr [-40+64+rsp]
171
mul qword ptr [-32+64+rsp]
175
mov qword ptr [24+r11], rcx
179
mov rax, qword ptr [-56+64+rsp]
180
mul qword ptr [-8+64+rsp]
184
mov rax, qword ptr [-48+64+rsp]
185
mul qword ptr [-16+64+rsp]
191
mov rax, qword ptr [-40+64+rsp]
192
mul qword ptr [-24+64+rsp]
196
mov qword ptr [32+r11], r8
200
mov rax, qword ptr [-48+64+rsp]
201
mul qword ptr [-8+64+rsp]
207
mov rax, qword ptr [-40+64+rsp]
208
mul qword ptr [-16+64+rsp]
212
mov qword ptr [40+r11], rcx
215
mov rax, qword ptr [-40+64+rsp]
216
mul qword ptr [-8+64+rsp]
220
mov qword ptr [48+r11], r8
221
mov esi, dword ptr [rsi]
222
xor esi, dword ptr [rdi]
224
mov qword ptr [56+r11], rcx
225
mov dword ptr [8+rbx], 8
229
mov edx, dword ptr [8+rbx]
230
lea edi, dword ptr [-1+rdx]
232
mov dword ptr [8+rbx], edi
234
lea r10d, dword ptr [-2+rdx]
235
cmp dword ptr [r11+r10*8], 0
238
mov edx, dword ptr [8+rbx]
242
mov dword ptr [rbx], r11d
253
s_mp_mul_comba_4 ENDP
256
; void s_mp_mul_comba_8(const mp_int *A, const mp_int *B, mp_int *C)
259
s_mp_mul_comba_8 PROC
273
mov rdx, qword ptr [16+rdi]
274
mov r8, qword ptr [rdx]
275
mov qword ptr [-120+128+rsp], r8
276
mov rbp, qword ptr [8+rdx]
277
mov qword ptr [-112+128+rsp], rbp
278
mov r9, qword ptr [16+rdx]
279
mov qword ptr [-104+128+rsp], r9
280
mov r12, qword ptr [24+rdx]
281
mov qword ptr [-96+128+rsp], r12
282
mov rcx, qword ptr [32+rdx]
283
mov qword ptr [-88+128+rsp], rcx
284
mov r10, qword ptr [40+rdx]
285
mov qword ptr [-80+128+rsp], r10
286
mov r11, qword ptr [48+rdx]
287
mov qword ptr [-72+128+rsp], r11
288
mov rax, qword ptr [56+rdx]
289
mov rdx, qword ptr [16+rsi]
290
mov qword ptr [-64+128+rsp], rax
291
mov r8, qword ptr [rdx]
292
mov qword ptr [-56+128+rsp], r8
293
mov rbp, qword ptr [8+rdx]
294
mov qword ptr [-48+128+rsp], rbp
295
mov r9, qword ptr [16+rdx]
296
mov qword ptr [-40+128+rsp], r9
297
mov r12, qword ptr [24+rdx]
298
mov qword ptr [-32+128+rsp], r12
299
mov rcx, qword ptr [32+rdx]
300
mov qword ptr [-24+128+rsp], rcx
301
mov r10, qword ptr [40+rdx]
302
mov qword ptr [-16+128+rsp], r10
303
mov r11, qword ptr [48+rdx]
308
mov qword ptr [-8+128+rsp], r11
309
mov r11, qword ptr [16+rbx]
310
mov rax, qword ptr [56+rdx]
311
mov qword ptr [128+rsp], rax
312
mov rax, qword ptr [-120+128+rsp]
313
mul qword ptr [-56+128+rsp]
317
mov qword ptr [r11], r8
320
mov rax, qword ptr [-120+128+rsp]
321
mul qword ptr [-48+128+rsp]
326
mov rax, qword ptr [-112+128+rsp]
327
mul qword ptr [-56+128+rsp]
331
mov qword ptr [8+r11], r9
334
mov rax, qword ptr [-120+128+rsp]
335
mul qword ptr [-40+128+rsp]
340
mov rax, qword ptr [-112+128+rsp]
341
mul qword ptr [-48+128+rsp]
347
mov rax, qword ptr [-104+128+rsp]
348
mul qword ptr [-56+128+rsp]
352
mov qword ptr [16+r11], r8
356
mov rax, qword ptr [-120+128+rsp]
357
mul qword ptr [-32+128+rsp]
361
mov rax, qword ptr [-112+128+rsp]
362
mul qword ptr [-40+128+rsp]
366
mov rax, qword ptr [-104+128+rsp]
367
mul qword ptr [-48+128+rsp]
373
mov rax, qword ptr [-96+128+rsp]
374
mul qword ptr [-56+128+rsp]
378
mov qword ptr [24+r11], rcx
382
mov rax, qword ptr [-120+128+rsp]
383
mul qword ptr [-24+128+rsp]
387
mov rax, qword ptr [-112+128+rsp]
388
mul qword ptr [-32+128+rsp]
392
mov rax, qword ptr [-104+128+rsp]
393
mul qword ptr [-40+128+rsp]
397
mov rax, qword ptr [-96+128+rsp]
398
mul qword ptr [-48+128+rsp]
404
mov rax, qword ptr [-88+128+rsp]
405
mul qword ptr [-56+128+rsp]
409
mov qword ptr [32+r11], r8
413
mov rax, qword ptr [-120+128+rsp]
414
mul qword ptr [-16+128+rsp]
418
mov rax, qword ptr [-112+128+rsp]
419
mul qword ptr [-24+128+rsp]
423
mov rax, qword ptr [-104+128+rsp]
424
mul qword ptr [-32+128+rsp]
428
mov rax, qword ptr [-96+128+rsp]
429
mul qword ptr [-40+128+rsp]
433
mov rax, qword ptr [-88+128+rsp]
434
mul qword ptr [-48+128+rsp]
440
mov rax, qword ptr [-80+128+rsp]
441
mul qword ptr [-56+128+rsp]
445
mov qword ptr [40+r11], rcx
449
mov rax, qword ptr [-120+128+rsp]
450
mul qword ptr [-8+128+rsp]
454
mov rax, qword ptr [-112+128+rsp]
455
mul qword ptr [-16+128+rsp]
459
mov rax, qword ptr [-104+128+rsp]
460
mul qword ptr [-24+128+rsp]
464
mov rax, qword ptr [-96+128+rsp]
465
mul qword ptr [-32+128+rsp]
469
mov rax, qword ptr [-88+128+rsp]
470
mul qword ptr [-40+128+rsp]
474
mov rax, qword ptr [-80+128+rsp]
475
mul qword ptr [-48+128+rsp]
481
mov rax, qword ptr [-72+128+rsp]
482
mul qword ptr [-56+128+rsp]
486
mov qword ptr [48+r11], r8
490
mov rax, qword ptr [-120+128+rsp]
491
mul qword ptr [128+rsp]
495
mov rax, qword ptr [-112+128+rsp]
496
mul qword ptr [-8+128+rsp]
500
mov rax, qword ptr [-104+128+rsp]
501
mul qword ptr [-16+128+rsp]
505
mov rax, qword ptr [-96+128+rsp]
506
mul qword ptr [-24+128+rsp]
510
mov rax, qword ptr [-88+128+rsp]
511
mul qword ptr [-32+128+rsp]
515
mov rax, qword ptr [-80+128+rsp]
516
mul qword ptr [-40+128+rsp]
520
mov rax, qword ptr [-72+128+rsp]
521
mul qword ptr [-48+128+rsp]
527
mov rax, qword ptr [-64+128+rsp]
528
mul qword ptr [-56+128+rsp]
532
mov qword ptr [56+r11], rcx
536
mov rax, qword ptr [-112+128+rsp]
537
mul qword ptr [128+rsp]
541
mov rax, qword ptr [-104+128+rsp]
542
mul qword ptr [-8+128+rsp]
546
mov rax, qword ptr [-96+128+rsp]
547
mul qword ptr [-16+128+rsp]
551
mov rax, qword ptr [-88+128+rsp]
552
mul qword ptr [-24+128+rsp]
556
mov rax, qword ptr [-80+128+rsp]
557
mul qword ptr [-32+128+rsp]
561
mov rax, qword ptr [-72+128+rsp]
562
mul qword ptr [-40+128+rsp]
568
mov rax, qword ptr [-64+128+rsp]
569
mul qword ptr [-48+128+rsp]
573
mov qword ptr [64+r11], r8
577
mov rax, qword ptr [-104+128+rsp]
578
mul qword ptr [128+rsp]
582
mov rax, qword ptr [-96+128+rsp]
583
mul qword ptr [-8+128+rsp]
587
mov rax, qword ptr [-88+128+rsp]
588
mul qword ptr [-16+128+rsp]
592
mov rax, qword ptr [-80+128+rsp]
593
mul qword ptr [-24+128+rsp]
597
mov rax, qword ptr [-72+128+rsp]
598
mul qword ptr [-32+128+rsp]
604
mov rax, qword ptr [-64+128+rsp]
605
mul qword ptr [-40+128+rsp]
609
mov qword ptr [72+r11], rcx
613
mov rax, qword ptr [-96+128+rsp]
614
mul qword ptr [128+rsp]
618
mov rax, qword ptr [-88+128+rsp]
619
mul qword ptr [-8+128+rsp]
623
mov rax, qword ptr [-80+128+rsp]
624
mul qword ptr [-16+128+rsp]
628
mov rax, qword ptr [-72+128+rsp]
629
mul qword ptr [-24+128+rsp]
635
mov rax, qword ptr [-64+128+rsp]
636
mul qword ptr [-32+128+rsp]
640
mov qword ptr [80+r11], r8
644
mov rax, qword ptr [-88+128+rsp]
645
mul qword ptr [128+rsp]
649
mov rax, qword ptr [-80+128+rsp]
650
mul qword ptr [-8+128+rsp]
654
mov rax, qword ptr [-72+128+rsp]
655
mul qword ptr [-16+128+rsp]
661
mov rax, qword ptr [-64+128+rsp]
662
mul qword ptr [-24+128+rsp]
666
mov qword ptr [88+r11], rcx
670
mov rax, qword ptr [-80+128+rsp]
671
mul qword ptr [128+rsp]
675
mov rax, qword ptr [-72+128+rsp]
676
mul qword ptr [-8+128+rsp]
682
mov rax, qword ptr [-64+128+rsp]
683
mul qword ptr [-16+128+rsp]
687
mov qword ptr [96+r11], r8
691
mov rax, qword ptr [-72+128+rsp]
692
mul qword ptr [128+rsp]
698
mov rax, qword ptr [-64+128+rsp]
699
mul qword ptr [-8+128+rsp]
703
mov qword ptr [104+r11], rcx
706
mov rax, qword ptr [-64+128+rsp]
707
mul qword ptr [128+rsp]
711
mov qword ptr [112+r11], r8
712
mov esi, dword ptr [rsi]
713
xor esi, dword ptr [rdi]
715
mov qword ptr [120+r11], rcx
716
mov dword ptr [8+rbx], 16
720
mov edx, dword ptr [8+rbx]
721
lea edi, dword ptr [-1+rdx]
723
mov dword ptr [8+rbx], edi
725
lea eax, dword ptr [-2+rdx]
726
cmp dword ptr [r11+rax*8], 0
729
mov r11d, dword ptr [8+rbx]
733
mov dword ptr [rbx], edx
744
s_mp_mul_comba_8 ENDP
747
; void s_mp_mul_comba_16(const mp_int *A, const mp_int *B, mp_int *C);
750
s_mp_mul_comba_16 PROC
764
mov rax, qword ptr [16+rdi]
765
mov r8, qword ptr [rax]
766
mov qword ptr [-120+128+rsp], r8
767
mov rbp, qword ptr [8+rax]
768
mov qword ptr [-112+128+rsp], rbp
769
mov r9, qword ptr [16+rax]
770
mov qword ptr [-104+128+rsp], r9
771
mov r12, qword ptr [24+rax]
772
mov qword ptr [-96+128+rsp], r12
773
mov rcx, qword ptr [32+rax]
774
mov qword ptr [-88+128+rsp], rcx
775
mov r10, qword ptr [40+rax]
776
mov qword ptr [-80+128+rsp], r10
777
mov rdx, qword ptr [48+rax]
778
mov qword ptr [-72+128+rsp], rdx
779
mov r11, qword ptr [56+rax]
780
mov qword ptr [-64+128+rsp], r11
781
mov r8, qword ptr [64+rax]
782
mov qword ptr [-56+128+rsp], r8
783
mov rbp, qword ptr [72+rax]
784
mov qword ptr [-48+128+rsp], rbp
785
mov r9, qword ptr [80+rax]
786
mov qword ptr [-40+128+rsp], r9
787
mov r12, qword ptr [88+rax]
788
mov qword ptr [-32+128+rsp], r12
789
mov rcx, qword ptr [96+rax]
790
mov qword ptr [-24+128+rsp], rcx
791
mov r10, qword ptr [104+rax]
792
mov qword ptr [-16+128+rsp], r10
793
mov rdx, qword ptr [112+rax]
794
mov qword ptr [-8+128+rsp], rdx
795
mov r11, qword ptr [120+rax]
796
mov qword ptr [128+rsp], r11
797
mov r11, qword ptr [16+rsi]
798
mov r8, qword ptr [r11]
799
mov qword ptr [8+128+rsp], r8
800
mov rbp, qword ptr [8+r11]
801
mov qword ptr [16+128+rsp], rbp
802
mov r9, qword ptr [16+r11]
803
mov qword ptr [24+128+rsp], r9
804
mov r12, qword ptr [24+r11]
805
mov qword ptr [32+128+rsp], r12
806
mov rcx, qword ptr [32+r11]
807
mov qword ptr [40+128+rsp], rcx
808
mov r10, qword ptr [40+r11]
809
mov qword ptr [48+128+rsp], r10
810
mov rdx, qword ptr [48+r11]
811
mov qword ptr [56+128+rsp], rdx
812
mov rax, qword ptr [56+r11]
813
mov qword ptr [64+128+rsp], rax
814
mov r8, qword ptr [64+r11]
815
mov qword ptr [72+128+rsp], r8
816
mov rbp, qword ptr [72+r11]
817
mov qword ptr [80+128+rsp], rbp
818
mov r9, qword ptr [80+r11]
819
mov qword ptr [88+128+rsp], r9
820
mov r12, qword ptr [88+r11]
821
mov qword ptr [96+128+rsp], r12
822
mov rcx, qword ptr [96+r11]
823
mov qword ptr [104+128+rsp], rcx
824
mov r10, qword ptr [104+r11]
825
mov qword ptr [112+128+rsp], r10
826
mov rdx, qword ptr [112+r11]
831
mov qword ptr [120+128+rsp], rdx
832
mov rax, qword ptr [120+r11]
833
mov qword ptr [128+128+rsp], rax
834
mov r11, qword ptr [16+rbx]
835
mov rax, qword ptr [-120+128+rsp]
836
mul qword ptr [8+128+rsp]
840
mov qword ptr [r11], r8
843
mov rax, qword ptr [-120+128+rsp]
844
mul qword ptr [16+128+rsp]
849
mov rax, qword ptr [-112+128+rsp]
850
mul qword ptr [8+128+rsp]
854
mov qword ptr [8+r11], r9
857
mov rax, qword ptr [-120+128+rsp]
858
mul qword ptr [24+128+rsp]
863
mov rax, qword ptr [-112+128+rsp]
864
mul qword ptr [16+128+rsp]
870
mov rax, qword ptr [-104+128+rsp]
871
mul qword ptr [8+128+rsp]
875
mov qword ptr [16+r11], r8
879
mov rax, qword ptr [-120+128+rsp]
880
mul qword ptr [32+128+rsp]
884
mov rax, qword ptr [-112+128+rsp]
885
mul qword ptr [24+128+rsp]
889
mov rax, qword ptr [-104+128+rsp]
890
mul qword ptr [16+128+rsp]
896
mov rax, qword ptr [-96+128+rsp]
897
mul qword ptr [8+128+rsp]
901
mov qword ptr [24+r11], rcx
905
mov rax, qword ptr [-120+128+rsp]
906
mul qword ptr [40+128+rsp]
910
mov rax, qword ptr [-112+128+rsp]
911
mul qword ptr [32+128+rsp]
915
mov rax, qword ptr [-104+128+rsp]
916
mul qword ptr [24+128+rsp]
920
mov rax, qword ptr [-96+128+rsp]
921
mul qword ptr [16+128+rsp]
927
mov rax, qword ptr [-88+128+rsp]
928
mul qword ptr [8+128+rsp]
932
mov qword ptr [32+r11], r8
936
mov rax, qword ptr [-120+128+rsp]
937
mul qword ptr [48+128+rsp]
941
mov rax, qword ptr [-112+128+rsp]
942
mul qword ptr [40+128+rsp]
946
mov rax, qword ptr [-104+128+rsp]
947
mul qword ptr [32+128+rsp]
951
mov rax, qword ptr [-96+128+rsp]
952
mul qword ptr [24+128+rsp]
956
mov rax, qword ptr [-88+128+rsp]
957
mul qword ptr [16+128+rsp]
963
mov rax, qword ptr [-80+128+rsp]
964
mul qword ptr [8+128+rsp]
968
mov qword ptr [40+r11], rcx
972
mov rax, qword ptr [-120+128+rsp]
973
mul qword ptr [56+128+rsp]
977
mov rax, qword ptr [-112+128+rsp]
978
mul qword ptr [48+128+rsp]
982
mov rax, qword ptr [-104+128+rsp]
983
mul qword ptr [40+128+rsp]
987
mov rax, qword ptr [-96+128+rsp]
988
mul qword ptr [32+128+rsp]
992
mov rax, qword ptr [-88+128+rsp]
993
mul qword ptr [24+128+rsp]
997
mov rax, qword ptr [-80+128+rsp]
998
mul qword ptr [16+128+rsp]
1004
mov rax, qword ptr [-72+128+rsp]
1005
mul qword ptr [8+128+rsp]
1009
mov qword ptr [48+r11], r8
1013
mov rax, qword ptr [-120+128+rsp]
1014
mul qword ptr [64+128+rsp]
1018
mov rax, qword ptr [-112+128+rsp]
1019
mul qword ptr [56+128+rsp]
1023
mov rax, qword ptr [-104+128+rsp]
1024
mul qword ptr [48+128+rsp]
1028
mov rax, qword ptr [-96+128+rsp]
1029
mul qword ptr [40+128+rsp]
1033
mov rax, qword ptr [-88+128+rsp]
1034
mul qword ptr [32+128+rsp]
1038
mov rax, qword ptr [-80+128+rsp]
1039
mul qword ptr [24+128+rsp]
1043
mov rax, qword ptr [-72+128+rsp]
1044
mul qword ptr [16+128+rsp]
1050
mov rax, qword ptr [-64+128+rsp]
1051
mul qword ptr [8+128+rsp]
1055
mov qword ptr [56+r11], rcx
1059
mov rax, qword ptr [-120+128+rsp]
1060
mul qword ptr [72+128+rsp]
1064
mov rax, qword ptr [-112+128+rsp]
1065
mul qword ptr [64+128+rsp]
1069
mov rax, qword ptr [-104+128+rsp]
1070
mul qword ptr [56+128+rsp]
1074
mov rax, qword ptr [-96+128+rsp]
1075
mul qword ptr [48+128+rsp]
1079
mov rax, qword ptr [-88+128+rsp]
1080
mul qword ptr [40+128+rsp]
1084
mov rax, qword ptr [-80+128+rsp]
1085
mul qword ptr [32+128+rsp]
1089
mov rax, qword ptr [-72+128+rsp]
1090
mul qword ptr [24+128+rsp]
1094
mov rax, qword ptr [-64+128+rsp]
1095
mul qword ptr [16+128+rsp]
1101
mov rax, qword ptr [-56+128+rsp]
1102
mul qword ptr [8+128+rsp]
1106
mov qword ptr [64+r11], r8
1110
mov rax, qword ptr [-120+128+rsp]
1111
mul qword ptr [80+128+rsp]
1115
mov rax, qword ptr [-112+128+rsp]
1116
mul qword ptr [72+128+rsp]
1120
mov rax, qword ptr [-104+128+rsp]
1121
mul qword ptr [64+128+rsp]
1125
mov rax, qword ptr [-96+128+rsp]
1126
mul qword ptr [56+128+rsp]
1130
mov rax, qword ptr [-88+128+rsp]
1131
mul qword ptr [48+128+rsp]
1135
mov rax, qword ptr [-80+128+rsp]
1136
mul qword ptr [40+128+rsp]
1140
mov rax, qword ptr [-72+128+rsp]
1141
mul qword ptr [32+128+rsp]
1145
mov rax, qword ptr [-64+128+rsp]
1146
mul qword ptr [24+128+rsp]
1150
mov rax, qword ptr [-56+128+rsp]
1151
mul qword ptr [16+128+rsp]
1157
mov rax, qword ptr [-48+128+rsp]
1158
mul qword ptr [8+128+rsp]
1162
mov qword ptr [72+r11], rcx
1166
mov rax, qword ptr [-120+128+rsp]
1167
mul qword ptr [88+128+rsp]
1171
mov rax, qword ptr [-112+128+rsp]
1172
mul qword ptr [80+128+rsp]
1176
mov rax, qword ptr [-104+128+rsp]
1177
mul qword ptr [72+128+rsp]
1181
mov rax, qword ptr [-96+128+rsp]
1182
mul qword ptr [64+128+rsp]
1186
mov rax, qword ptr [-88+128+rsp]
1187
mul qword ptr [56+128+rsp]
1191
mov rax, qword ptr [-80+128+rsp]
1192
mul qword ptr [48+128+rsp]
1196
mov rax, qword ptr [-72+128+rsp]
1197
mul qword ptr [40+128+rsp]
1201
mov rax, qword ptr [-64+128+rsp]
1202
mul qword ptr [32+128+rsp]
1206
mov rax, qword ptr [-56+128+rsp]
1207
mul qword ptr [24+128+rsp]
1211
mov rax, qword ptr [-48+128+rsp]
1212
mul qword ptr [16+128+rsp]
1218
mov rax, qword ptr [-40+128+rsp]
1219
mul qword ptr [8+128+rsp]
1223
mov qword ptr [80+r11], r8
1227
mov rax, qword ptr [-120+128+rsp]
1228
mul qword ptr [96+128+rsp]
1232
mov rax, qword ptr [-112+128+rsp]
1233
mul qword ptr [88+128+rsp]
1237
mov rax, qword ptr [-104+128+rsp]
1238
mul qword ptr [80+128+rsp]
1242
mov rax, qword ptr [-96+128+rsp]
1243
mul qword ptr [72+128+rsp]
1247
mov rax, qword ptr [-88+128+rsp]
1248
mul qword ptr [64+128+rsp]
1252
mov rax, qword ptr [-80+128+rsp]
1253
mul qword ptr [56+128+rsp]
1257
mov rax, qword ptr [-72+128+rsp]
1258
mul qword ptr [48+128+rsp]
1262
mov rax, qword ptr [-64+128+rsp]
1263
mul qword ptr [40+128+rsp]
1267
mov rax, qword ptr [-56+128+rsp]
1268
mul qword ptr [32+128+rsp]
1272
mov rax, qword ptr [-48+128+rsp]
1273
mul qword ptr [24+128+rsp]
1277
mov rax, qword ptr [-40+128+rsp]
1278
mul qword ptr [16+128+rsp]
1284
mov rax, qword ptr [-32+128+rsp]
1285
mul qword ptr [8+128+rsp]
1289
mov qword ptr [88+r11], rcx
1293
mov rax, qword ptr [-120+128+rsp]
1294
mul qword ptr [104+128+rsp]
1298
mov rax, qword ptr [-112+128+rsp]
1299
mul qword ptr [96+128+rsp]
1303
mov rax, qword ptr [-104+128+rsp]
1304
mul qword ptr [88+128+rsp]
1308
mov rax, qword ptr [-96+128+rsp]
1309
mul qword ptr [80+128+rsp]
1313
mov rax, qword ptr [-88+128+rsp]
1314
mul qword ptr [72+128+rsp]
1318
mov rax, qword ptr [-80+128+rsp]
1319
mul qword ptr [64+128+rsp]
1323
mov rax, qword ptr [-72+128+rsp]
1324
mul qword ptr [56+128+rsp]
1328
mov rax, qword ptr [-64+128+rsp]
1329
mul qword ptr [48+128+rsp]
1333
mov rax, qword ptr [-56+128+rsp]
1334
mul qword ptr [40+128+rsp]
1338
mov rax, qword ptr [-48+128+rsp]
1339
mul qword ptr [32+128+rsp]
1343
mov rax, qword ptr [-40+128+rsp]
1344
mul qword ptr [24+128+rsp]
1348
mov rax, qword ptr [-32+128+rsp]
1349
mul qword ptr [16+128+rsp]
1355
mov rax, qword ptr [-24+128+rsp]
1356
mul qword ptr [8+128+rsp]
1360
mov qword ptr [96+r11], r8
1364
mov rax, qword ptr [-120+128+rsp]
1365
mul qword ptr [112+128+rsp]
1369
mov rax, qword ptr [-112+128+rsp]
1370
mul qword ptr [104+128+rsp]
1374
mov rax, qword ptr [-104+128+rsp]
1375
mul qword ptr [96+128+rsp]
1379
mov rax, qword ptr [-96+128+rsp]
1380
mul qword ptr [88+128+rsp]
1384
mov rax, qword ptr [-88+128+rsp]
1385
mul qword ptr [80+128+rsp]
1389
mov rax, qword ptr [-80+128+rsp]
1390
mul qword ptr [72+128+rsp]
1394
mov rax, qword ptr [-72+128+rsp]
1395
mul qword ptr [64+128+rsp]
1399
mov rax, qword ptr [-64+128+rsp]
1400
mul qword ptr [56+128+rsp]
1404
mov rax, qword ptr [-56+128+rsp]
1405
mul qword ptr [48+128+rsp]
1409
mov rax, qword ptr [-48+128+rsp]
1410
mul qword ptr [40+128+rsp]
1414
mov rax, qword ptr [-40+128+rsp]
1415
mul qword ptr [32+128+rsp]
1419
mov rax, qword ptr [-32+128+rsp]
1420
mul qword ptr [24+128+rsp]
1424
mov rax, qword ptr [-24+128+rsp]
1425
mul qword ptr [16+128+rsp]
1431
mov rax, qword ptr [-16+128+rsp]
1432
mul qword ptr [8+128+rsp]
1436
mov qword ptr [104+r11], rcx
1440
mov rax, qword ptr [-120+128+rsp]
1441
mul qword ptr [120+128+rsp]
1445
mov rax, qword ptr [-112+128+rsp]
1446
mul qword ptr [112+128+rsp]
1450
mov rax, qword ptr [-104+128+rsp]
1451
mul qword ptr [104+128+rsp]
1455
mov rax, qword ptr [-96+128+rsp]
1456
mul qword ptr [96+128+rsp]
1460
mov rax, qword ptr [-88+128+rsp]
1461
mul qword ptr [88+128+rsp]
1465
mov rax, qword ptr [-80+128+rsp]
1466
mul qword ptr [80+128+rsp]
1470
mov rax, qword ptr [-72+128+rsp]
1471
mul qword ptr [72+128+rsp]
1475
mov rax, qword ptr [-64+128+rsp]
1476
mul qword ptr [64+128+rsp]
1480
mov rax, qword ptr [-56+128+rsp]
1481
mul qword ptr [56+128+rsp]
1485
mov rax, qword ptr [-48+128+rsp]
1486
mul qword ptr [48+128+rsp]
1490
mov rax, qword ptr [-40+128+rsp]
1491
mul qword ptr [40+128+rsp]
1495
mov rax, qword ptr [-32+128+rsp]
1496
mul qword ptr [32+128+rsp]
1500
mov rax, qword ptr [-24+128+rsp]
1501
mul qword ptr [24+128+rsp]
1505
mov rax, qword ptr [-16+128+rsp]
1506
mul qword ptr [16+128+rsp]
1512
mov rax, qword ptr [-8+128+rsp]
1513
mul qword ptr [8+128+rsp]
1517
mov qword ptr [112+r11], r8
1521
mov rax, qword ptr [-120+128+rsp]
1522
mul qword ptr [128+128+rsp]
1526
mov rax, qword ptr [-112+128+rsp]
1527
mul qword ptr [120+128+rsp]
1531
mov rax, qword ptr [-104+128+rsp]
1532
mul qword ptr [112+128+rsp]
1536
mov rax, qword ptr [-96+128+rsp]
1537
mul qword ptr [104+128+rsp]
1541
mov rax, qword ptr [-88+128+rsp]
1542
mul qword ptr [96+128+rsp]
1546
mov rax, qword ptr [-80+128+rsp]
1547
mul qword ptr [88+128+rsp]
1551
mov rax, qword ptr [-72+128+rsp]
1552
mul qword ptr [80+128+rsp]
1556
mov rax, qword ptr [-64+128+rsp]
1557
mul qword ptr [72+128+rsp]
1561
mov rax, qword ptr [-56+128+rsp]
1562
mul qword ptr [64+128+rsp]
1566
mov rax, qword ptr [-48+128+rsp]
1567
mul qword ptr [56+128+rsp]
1571
mov rax, qword ptr [-40+128+rsp]
1572
mul qword ptr [48+128+rsp]
1576
mov rax, qword ptr [-32+128+rsp]
1577
mul qword ptr [40+128+rsp]
1581
mov rax, qword ptr [-24+128+rsp]
1582
mul qword ptr [32+128+rsp]
1586
mov rax, qword ptr [-16+128+rsp]
1587
mul qword ptr [24+128+rsp]
1591
mov rax, qword ptr [-8+128+rsp]
1592
mul qword ptr [16+128+rsp]
1598
mov rax, qword ptr [128+rsp]
1599
mul qword ptr [8+128+rsp]
1603
mov qword ptr [120+r11], rcx
1607
mov rax, qword ptr [-112+128+rsp]
1608
mul qword ptr [128+128+rsp]
1612
mov rax, qword ptr [-104+128+rsp]
1613
mul qword ptr [120+128+rsp]
1617
mov rax, qword ptr [-96+128+rsp]
1618
mul qword ptr [112+128+rsp]
1622
mov rax, qword ptr [-88+128+rsp]
1623
mul qword ptr [104+128+rsp]
1627
mov rax, qword ptr [-80+128+rsp]
1628
mul qword ptr [96+128+rsp]
1632
mov rax, qword ptr [-72+128+rsp]
1633
mul qword ptr [88+128+rsp]
1637
mov rax, qword ptr [-64+128+rsp]
1638
mul qword ptr [80+128+rsp]
1642
mov rax, qword ptr [-56+128+rsp]
1643
mul qword ptr [72+128+rsp]
1647
mov rax, qword ptr [-48+128+rsp]
1648
mul qword ptr [64+128+rsp]
1652
mov rax, qword ptr [-40+128+rsp]
1653
mul qword ptr [56+128+rsp]
1657
mov rax, qword ptr [-32+128+rsp]
1658
mul qword ptr [48+128+rsp]
1662
mov rax, qword ptr [-24+128+rsp]
1663
mul qword ptr [40+128+rsp]
1667
mov rax, qword ptr [-16+128+rsp]
1668
mul qword ptr [32+128+rsp]
1672
mov rax, qword ptr [-8+128+rsp]
1673
mul qword ptr [24+128+rsp]
1679
mov rax, qword ptr [128+rsp]
1680
mul qword ptr [16+128+rsp]
1684
mov qword ptr [128+r11], r8
1688
mov rax, qword ptr [-104+128+rsp]
1689
mul qword ptr [128+128+rsp]
1693
mov rax, qword ptr [-96+128+rsp]
1694
mul qword ptr [120+128+rsp]
1698
mov rax, qword ptr [-88+128+rsp]
1699
mul qword ptr [112+128+rsp]
1703
mov rax, qword ptr [-80+128+rsp]
1704
mul qword ptr [104+128+rsp]
1708
mov rax, qword ptr [-72+128+rsp]
1709
mul qword ptr [96+128+rsp]
1713
mov rax, qword ptr [-64+128+rsp]
1714
mul qword ptr [88+128+rsp]
1718
mov rax, qword ptr [-56+128+rsp]
1719
mul qword ptr [80+128+rsp]
1723
mov rax, qword ptr [-48+128+rsp]
1724
mul qword ptr [72+128+rsp]
1728
mov rax, qword ptr [-40+128+rsp]
1729
mul qword ptr [64+128+rsp]
1733
mov rax, qword ptr [-32+128+rsp]
1734
mul qword ptr [56+128+rsp]
1738
mov rax, qword ptr [-24+128+rsp]
1739
mul qword ptr [48+128+rsp]
1743
mov rax, qword ptr [-16+128+rsp]
1744
mul qword ptr [40+128+rsp]
1748
mov rax, qword ptr [-8+128+rsp]
1749
mul qword ptr [32+128+rsp]
1755
mov rax, qword ptr [128+rsp]
1756
mul qword ptr [24+128+rsp]
1760
mov qword ptr [136+r11], rcx
1764
mov rax, qword ptr [-96+128+rsp]
1765
mul qword ptr [128+128+rsp]
1769
mov rax, qword ptr [-88+128+rsp]
1770
mul qword ptr [120+128+rsp]
1774
mov rax, qword ptr [-80+128+rsp]
1775
mul qword ptr [112+128+rsp]
1779
mov rax, qword ptr [-72+128+rsp]
1780
mul qword ptr [104+128+rsp]
1784
mov rax, qword ptr [-64+128+rsp]
1785
mul qword ptr [96+128+rsp]
1789
mov rax, qword ptr [-56+128+rsp]
1790
mul qword ptr [88+128+rsp]
1794
mov rax, qword ptr [-48+128+rsp]
1795
mul qword ptr [80+128+rsp]
1799
mov rax, qword ptr [-40+128+rsp]
1800
mul qword ptr [72+128+rsp]
1804
mov rax, qword ptr [-32+128+rsp]
1805
mul qword ptr [64+128+rsp]
1809
mov rax, qword ptr [-24+128+rsp]
1810
mul qword ptr [56+128+rsp]
1814
mov rax, qword ptr [-16+128+rsp]
1815
mul qword ptr [48+128+rsp]
1819
mov rax, qword ptr [-8+128+rsp]
1820
mul qword ptr [40+128+rsp]
1826
mov rax, qword ptr [128+rsp]
1827
mul qword ptr [32+128+rsp]
1831
mov qword ptr [144+r11], r8
1835
mov rax, qword ptr [-88+128+rsp]
1836
mul qword ptr [128+128+rsp]
1840
mov rax, qword ptr [-80+128+rsp]
1841
mul qword ptr [120+128+rsp]
1845
mov rax, qword ptr [-72+128+rsp]
1846
mul qword ptr [112+128+rsp]
1850
mov rax, qword ptr [-64+128+rsp]
1851
mul qword ptr [104+128+rsp]
1855
mov rax, qword ptr [-56+128+rsp]
1856
mul qword ptr [96+128+rsp]
1860
mov rax, qword ptr [-48+128+rsp]
1861
mul qword ptr [88+128+rsp]
1865
mov rax, qword ptr [-40+128+rsp]
1866
mul qword ptr [80+128+rsp]
1870
mov rax, qword ptr [-32+128+rsp]
1871
mul qword ptr [72+128+rsp]
1875
mov rax, qword ptr [-24+128+rsp]
1876
mul qword ptr [64+128+rsp]
1880
mov rax, qword ptr [-16+128+rsp]
1881
mul qword ptr [56+128+rsp]
1885
mov rax, qword ptr [-8+128+rsp]
1886
mul qword ptr [48+128+rsp]
1892
mov rax, qword ptr [128+rsp]
1893
mul qword ptr [40+128+rsp]
1897
mov qword ptr [152+r11], rcx
1901
mov rax, qword ptr [-80+128+rsp]
1902
mul qword ptr [128+128+rsp]
1906
mov rax, qword ptr [-72+128+rsp]
1907
mul qword ptr [120+128+rsp]
1911
mov rax, qword ptr [-64+128+rsp]
1912
mul qword ptr [112+128+rsp]
1916
mov rax, qword ptr [-56+128+rsp]
1917
mul qword ptr [104+128+rsp]
1921
mov rax, qword ptr [-48+128+rsp]
1922
mul qword ptr [96+128+rsp]
1926
mov rax, qword ptr [-40+128+rsp]
1927
mul qword ptr [88+128+rsp]
1931
mov rax, qword ptr [-32+128+rsp]
1932
mul qword ptr [80+128+rsp]
1936
mov rax, qword ptr [-24+128+rsp]
1937
mul qword ptr [72+128+rsp]
1941
mov rax, qword ptr [-16+128+rsp]
1942
mul qword ptr [64+128+rsp]
1946
mov rax, qword ptr [-8+128+rsp]
1947
mul qword ptr [56+128+rsp]
1953
mov rax, qword ptr [128+rsp]
1954
mul qword ptr [48+128+rsp]
1958
mov qword ptr [160+r11], r8
1962
mov rax, qword ptr [-72+128+rsp]
1963
mul qword ptr [128+128+rsp]
1967
mov rax, qword ptr [-64+128+rsp]
1968
mul qword ptr [120+128+rsp]
1972
mov rax, qword ptr [-56+128+rsp]
1973
mul qword ptr [112+128+rsp]
1977
mov rax, qword ptr [-48+128+rsp]
1978
mul qword ptr [104+128+rsp]
1982
mov rax, qword ptr [-40+128+rsp]
1983
mul qword ptr [96+128+rsp]
1987
mov rax, qword ptr [-32+128+rsp]
1988
mul qword ptr [88+128+rsp]
1992
mov rax, qword ptr [-24+128+rsp]
1993
mul qword ptr [80+128+rsp]
1997
mov rax, qword ptr [-16+128+rsp]
1998
mul qword ptr [72+128+rsp]
2002
mov rax, qword ptr [-8+128+rsp]
2003
mul qword ptr [64+128+rsp]
2009
mov rax, qword ptr [128+rsp]
2010
mul qword ptr [56+128+rsp]
2014
mov qword ptr [168+r11], rcx
2018
mov rax, qword ptr [-64+128+rsp]
2019
mul qword ptr [128+128+rsp]
2023
mov rax, qword ptr [-56+128+rsp]
2024
mul qword ptr [120+128+rsp]
2028
mov rax, qword ptr [-48+128+rsp]
2029
mul qword ptr [112+128+rsp]
2033
mov rax, qword ptr [-40+128+rsp]
2034
mul qword ptr [104+128+rsp]
2038
mov rax, qword ptr [-32+128+rsp]
2039
mul qword ptr [96+128+rsp]
2043
mov rax, qword ptr [-24+128+rsp]
2044
mul qword ptr [88+128+rsp]
2048
mov rax, qword ptr [-16+128+rsp]
2049
mul qword ptr [80+128+rsp]
2053
mov rax, qword ptr [-8+128+rsp]
2054
mul qword ptr [72+128+rsp]
2060
mov rax, qword ptr [128+rsp]
2061
mul qword ptr [64+128+rsp]
2065
mov qword ptr [176+r11], r8
2069
mov rax, qword ptr [-56+128+rsp]
2070
mul qword ptr [128+128+rsp]
2074
mov rax, qword ptr [-48+128+rsp]
2075
mul qword ptr [120+128+rsp]
2079
mov rax, qword ptr [-40+128+rsp]
2080
mul qword ptr [112+128+rsp]
2084
mov rax, qword ptr [-32+128+rsp]
2085
mul qword ptr [104+128+rsp]
2089
mov rax, qword ptr [-24+128+rsp]
2090
mul qword ptr [96+128+rsp]
2094
mov rax, qword ptr [-16+128+rsp]
2095
mul qword ptr [88+128+rsp]
2099
mov rax, qword ptr [-8+128+rsp]
2100
mul qword ptr [80+128+rsp]
2106
mov rax, qword ptr [128+rsp]
2107
mul qword ptr [72+128+rsp]
2111
mov qword ptr [184+r11], rcx
2115
mov rax, qword ptr [-48+128+rsp]
2116
mul qword ptr [128+128+rsp]
2120
mov rax, qword ptr [-40+128+rsp]
2121
mul qword ptr [120+128+rsp]
2125
mov rax, qword ptr [-32+128+rsp]
2126
mul qword ptr [112+128+rsp]
2130
mov rax, qword ptr [-24+128+rsp]
2131
mul qword ptr [104+128+rsp]
2135
mov rax, qword ptr [-16+128+rsp]
2136
mul qword ptr [96+128+rsp]
2140
mov rax, qword ptr [-8+128+rsp]
2141
mul qword ptr [88+128+rsp]
2147
mov rax, qword ptr [128+rsp]
2148
mul qword ptr [80+128+rsp]
2152
mov qword ptr [192+r11], r8
2156
mov rax, qword ptr [-40+128+rsp]
2157
mul qword ptr [128+128+rsp]
2161
mov rax, qword ptr [-32+128+rsp]
2162
mul qword ptr [120+128+rsp]
2166
mov rax, qword ptr [-24+128+rsp]
2167
mul qword ptr [112+128+rsp]
2171
mov rax, qword ptr [-16+128+rsp]
2172
mul qword ptr [104+128+rsp]
2176
mov rax, qword ptr [-8+128+rsp]
2177
mul qword ptr [96+128+rsp]
2183
mov rax, qword ptr [128+rsp]
2184
mul qword ptr [88+128+rsp]
2188
mov qword ptr [200+r11], rcx
2192
mov rax, qword ptr [-32+128+rsp]
2193
mul qword ptr [128+128+rsp]
2197
mov rax, qword ptr [-24+128+rsp]
2198
mul qword ptr [120+128+rsp]
2202
mov rax, qword ptr [-16+128+rsp]
2203
mul qword ptr [112+128+rsp]
2207
mov rax, qword ptr [-8+128+rsp]
2208
mul qword ptr [104+128+rsp]
2214
mov rax, qword ptr [128+rsp]
2215
mul qword ptr [96+128+rsp]
2219
mov qword ptr [208+r11], r8
2223
mov rax, qword ptr [-24+128+rsp]
2224
mul qword ptr [128+128+rsp]
2228
mov rax, qword ptr [-16+128+rsp]
2229
mul qword ptr [120+128+rsp]
2233
mov rax, qword ptr [-8+128+rsp]
2234
mul qword ptr [112+128+rsp]
2240
mov rax, qword ptr [128+rsp]
2241
mul qword ptr [104+128+rsp]
2245
mov qword ptr [216+r11], rcx
2249
mov rax, qword ptr [-16+128+rsp]
2250
mul qword ptr [128+128+rsp]
2254
mov rax, qword ptr [-8+128+rsp]
2255
mul qword ptr [120+128+rsp]
2261
mov rax, qword ptr [128+rsp]
2262
mul qword ptr [112+128+rsp]
2266
mov qword ptr [224+r11], r8
2270
mov rax, qword ptr [-8+128+rsp]
2271
mul qword ptr [128+128+rsp]
2277
mov rax, qword ptr [128+rsp]
2278
mul qword ptr [120+128+rsp]
2282
mov qword ptr [232+r11], rcx
2285
mov rax, qword ptr [128+rsp]
2286
mul qword ptr [128+128+rsp]
2290
mov qword ptr [240+r11], r8
2291
mov esi, dword ptr [rsi]
2292
xor esi, dword ptr [rdi]
2294
mov qword ptr [248+r11], rcx
2295
mov dword ptr [8+rbx], 32
2299
mov edx, dword ptr [8+rbx]
2300
lea edi, dword ptr [-1+rdx]
2302
mov dword ptr [8+rbx], edi
2304
lea eax, dword ptr [-2+rdx]
2305
cmp dword ptr [r11+rax*8], 0
2308
mov edx, dword ptr [8+rbx]
2312
mov dword ptr [rbx], r11d
2323
s_mp_mul_comba_16 ENDP
2325
; void s_mp_mul_comba_32(const mp_int *A, const mp_int *B, mp_int *C)
2329
s_mp_mul_comba_32 PROC ; a "FRAME" function
2348
sub rsp, 520+32 ; +32 for "home" storage
2349
; mov rsi, qword ptr [16+rdi]
2350
; lea rdi, qword ptr [-544+rbp]
2351
mov rdx, qword ptr [16+rdi]
2352
lea rcx, qword ptr [-544+rbp]
2354
; mov rsi, qword ptr [16+r12]
2355
; lea rdi, qword ptr [-288+rbp]
2357
mov rdx, qword ptr [16+r12]
2358
lea rcx, qword ptr [-288+rbp]
2361
mov r9, qword ptr [16+r13]
2366
mov rax, qword ptr [-544+rbp]
2367
mul qword ptr [-288+rbp]
2371
mov qword ptr [r9], rsi
2374
mov rax, qword ptr [-544+rbp]
2375
mul qword ptr [-280+rbp]
2380
mov rax, qword ptr [-536+rbp]
2381
mul qword ptr [-288+rbp]
2385
mov qword ptr [8+r9], rdi
2388
mov rax, qword ptr [-544+rbp]
2389
mul qword ptr [-272+rbp]
2394
mov rax, qword ptr [-536+rbp]
2395
mul qword ptr [-280+rbp]
2401
mov rax, qword ptr [-528+rbp]
2402
mul qword ptr [-288+rbp]
2406
mov qword ptr [16+r9], rsi
2410
mov rax, qword ptr [-544+rbp]
2411
mul qword ptr [-264+rbp]
2415
mov rax, qword ptr [-536+rbp]
2416
mul qword ptr [-272+rbp]
2420
mov rax, qword ptr [-528+rbp]
2421
mul qword ptr [-280+rbp]
2427
mov rax, qword ptr [-520+rbp]
2428
mul qword ptr [-288+rbp]
2432
mov qword ptr [24+r9], rcx
2436
mov rax, qword ptr [-544+rbp]
2437
mul qword ptr [-256+rbp]
2441
mov rax, qword ptr [-536+rbp]
2442
mul qword ptr [-264+rbp]
2446
mov rax, qword ptr [-528+rbp]
2447
mul qword ptr [-272+rbp]
2451
mov rax, qword ptr [-520+rbp]
2452
mul qword ptr [-280+rbp]
2458
mov rax, qword ptr [-512+rbp]
2459
mul qword ptr [-288+rbp]
2463
mov qword ptr [32+r9], rsi
2467
mov rax, qword ptr [-544+rbp]
2468
mul qword ptr [-248+rbp]
2472
mov rax, qword ptr [-536+rbp]
2473
mul qword ptr [-256+rbp]
2477
mov rax, qword ptr [-528+rbp]
2478
mul qword ptr [-264+rbp]
2482
mov rax, qword ptr [-520+rbp]
2483
mul qword ptr [-272+rbp]
2487
mov rax, qword ptr [-512+rbp]
2488
mul qword ptr [-280+rbp]
2494
mov rax, qword ptr [-504+rbp]
2495
mul qword ptr [-288+rbp]
2499
mov qword ptr [40+r9], rcx
2503
mov rax, qword ptr [-544+rbp]
2504
mul qword ptr [-240+rbp]
2508
mov rax, qword ptr [-536+rbp]
2509
mul qword ptr [-248+rbp]
2513
mov rax, qword ptr [-528+rbp]
2514
mul qword ptr [-256+rbp]
2518
mov rax, qword ptr [-520+rbp]
2519
mul qword ptr [-264+rbp]
2523
mov rax, qword ptr [-512+rbp]
2524
mul qword ptr [-272+rbp]
2528
mov rax, qword ptr [-504+rbp]
2529
mul qword ptr [-280+rbp]
2535
mov rax, qword ptr [-496+rbp]
2536
mul qword ptr [-288+rbp]
2540
mov qword ptr [48+r9], rsi
2544
mov rax, qword ptr [-544+rbp]
2545
mul qword ptr [-232+rbp]
2549
mov rax, qword ptr [-536+rbp]
2550
mul qword ptr [-240+rbp]
2554
mov rax, qword ptr [-528+rbp]
2555
mul qword ptr [-248+rbp]
2559
mov rax, qword ptr [-520+rbp]
2560
mul qword ptr [-256+rbp]
2564
mov rax, qword ptr [-512+rbp]
2565
mul qword ptr [-264+rbp]
2569
mov rax, qword ptr [-504+rbp]
2570
mul qword ptr [-272+rbp]
2574
mov rax, qword ptr [-496+rbp]
2575
mul qword ptr [-280+rbp]
2581
mov rax, qword ptr [-488+rbp]
2582
mul qword ptr [-288+rbp]
2586
mov qword ptr [56+r9], rcx
2590
mov rax, qword ptr [-544+rbp]
2591
mul qword ptr [-224+rbp]
2595
mov rax, qword ptr [-536+rbp]
2596
mul qword ptr [-232+rbp]
2600
mov rax, qword ptr [-528+rbp]
2601
mul qword ptr [-240+rbp]
2605
mov rax, qword ptr [-520+rbp]
2606
mul qword ptr [-248+rbp]
2610
mov rax, qword ptr [-512+rbp]
2611
mul qword ptr [-256+rbp]
2615
mov rax, qword ptr [-504+rbp]
2616
mul qword ptr [-264+rbp]
2620
mov rax, qword ptr [-496+rbp]
2621
mul qword ptr [-272+rbp]
2625
mov rax, qword ptr [-488+rbp]
2626
mul qword ptr [-280+rbp]
2632
mov rax, qword ptr [-480+rbp]
2633
mul qword ptr [-288+rbp]
2637
mov qword ptr [64+r9], rsi
2641
mov rax, qword ptr [-544+rbp]
2642
mul qword ptr [-216+rbp]
2646
mov rax, qword ptr [-536+rbp]
2647
mul qword ptr [-224+rbp]
2651
mov rax, qword ptr [-528+rbp]
2652
mul qword ptr [-232+rbp]
2656
mov rax, qword ptr [-520+rbp]
2657
mul qword ptr [-240+rbp]
2661
mov rax, qword ptr [-512+rbp]
2662
mul qword ptr [-248+rbp]
2666
mov rax, qword ptr [-504+rbp]
2667
mul qword ptr [-256+rbp]
2671
mov rax, qword ptr [-496+rbp]
2672
mul qword ptr [-264+rbp]
2676
mov rax, qword ptr [-488+rbp]
2677
mul qword ptr [-272+rbp]
2681
mov rax, qword ptr [-480+rbp]
2682
mul qword ptr [-280+rbp]
2688
mov rax, qword ptr [-472+rbp]
2689
mul qword ptr [-288+rbp]
2693
mov qword ptr [72+r9], rcx
2697
mov rax, qword ptr [-544+rbp]
2698
mul qword ptr [-208+rbp]
2702
mov rax, qword ptr [-536+rbp]
2703
mul qword ptr [-216+rbp]
2707
mov rax, qword ptr [-528+rbp]
2708
mul qword ptr [-224+rbp]
2712
mov rax, qword ptr [-520+rbp]
2713
mul qword ptr [-232+rbp]
2717
mov rax, qword ptr [-512+rbp]
2718
mul qword ptr [-240+rbp]
2722
mov rax, qword ptr [-504+rbp]
2723
mul qword ptr [-248+rbp]
2727
mov rax, qword ptr [-496+rbp]
2728
mul qword ptr [-256+rbp]
2732
mov rax, qword ptr [-488+rbp]
2733
mul qword ptr [-264+rbp]
2737
mov rax, qword ptr [-480+rbp]
2738
mul qword ptr [-272+rbp]
2742
mov rax, qword ptr [-472+rbp]
2743
mul qword ptr [-280+rbp]
2749
mov rax, qword ptr [-464+rbp]
2750
mul qword ptr [-288+rbp]
2754
mov qword ptr [80+r9], rsi
2758
mov rax, qword ptr [-544+rbp]
2759
mul qword ptr [-200+rbp]
2763
mov rax, qword ptr [-536+rbp]
2764
mul qword ptr [-208+rbp]
2768
mov rax, qword ptr [-528+rbp]
2769
mul qword ptr [-216+rbp]
2773
mov rax, qword ptr [-520+rbp]
2774
mul qword ptr [-224+rbp]
2778
mov rax, qword ptr [-512+rbp]
2779
mul qword ptr [-232+rbp]
2783
mov rax, qword ptr [-504+rbp]
2784
mul qword ptr [-240+rbp]
2788
mov rax, qword ptr [-496+rbp]
2789
mul qword ptr [-248+rbp]
2793
mov rax, qword ptr [-488+rbp]
2794
mul qword ptr [-256+rbp]
2798
mov rax, qword ptr [-480+rbp]
2799
mul qword ptr [-264+rbp]
2803
mov rax, qword ptr [-472+rbp]
2804
mul qword ptr [-272+rbp]
2808
mov rax, qword ptr [-464+rbp]
2809
mul qword ptr [-280+rbp]
2815
mov rax, qword ptr [-456+rbp]
2816
mul qword ptr [-288+rbp]
2820
mov qword ptr [88+r9], rcx
2824
mov rax, qword ptr [-544+rbp]
2825
mul qword ptr [-192+rbp]
2829
mov rax, qword ptr [-536+rbp]
2830
mul qword ptr [-200+rbp]
2834
mov rax, qword ptr [-528+rbp]
2835
mul qword ptr [-208+rbp]
2839
mov rax, qword ptr [-520+rbp]
2840
mul qword ptr [-216+rbp]
2844
mov rax, qword ptr [-512+rbp]
2845
mul qword ptr [-224+rbp]
2849
mov rax, qword ptr [-504+rbp]
2850
mul qword ptr [-232+rbp]
2854
mov rax, qword ptr [-496+rbp]
2855
mul qword ptr [-240+rbp]
2859
mov rax, qword ptr [-488+rbp]
2860
mul qword ptr [-248+rbp]
2864
mov rax, qword ptr [-480+rbp]
2865
mul qword ptr [-256+rbp]
2869
mov rax, qword ptr [-472+rbp]
2870
mul qword ptr [-264+rbp]
2874
mov rax, qword ptr [-464+rbp]
2875
mul qword ptr [-272+rbp]
2879
mov rax, qword ptr [-456+rbp]
2880
mul qword ptr [-280+rbp]
2886
mov rax, qword ptr [-448+rbp]
2887
mul qword ptr [-288+rbp]
2891
mov qword ptr [96+r9], rsi
2895
mov rax, qword ptr [-544+rbp]
2896
mul qword ptr [-184+rbp]
2900
mov rax, qword ptr [-536+rbp]
2901
mul qword ptr [-192+rbp]
2905
mov rax, qword ptr [-528+rbp]
2906
mul qword ptr [-200+rbp]
2910
mov rax, qword ptr [-520+rbp]
2911
mul qword ptr [-208+rbp]
2915
mov rax, qword ptr [-512+rbp]
2916
mul qword ptr [-216+rbp]
2920
mov rax, qword ptr [-504+rbp]
2921
mul qword ptr [-224+rbp]
2925
mov rax, qword ptr [-496+rbp]
2926
mul qword ptr [-232+rbp]
2930
mov rax, qword ptr [-488+rbp]
2931
mul qword ptr [-240+rbp]
2935
mov rax, qword ptr [-480+rbp]
2936
mul qword ptr [-248+rbp]
2940
mov rax, qword ptr [-472+rbp]
2941
mul qword ptr [-256+rbp]
2945
mov rax, qword ptr [-464+rbp]
2946
mul qword ptr [-264+rbp]
2950
mov rax, qword ptr [-456+rbp]
2951
mul qword ptr [-272+rbp]
2955
mov rax, qword ptr [-448+rbp]
2956
mul qword ptr [-280+rbp]
2962
mov rax, qword ptr [-440+rbp]
2963
mul qword ptr [-288+rbp]
2967
mov qword ptr [104+r9], rcx
2971
mov rax, qword ptr [-544+rbp]
2972
mul qword ptr [-176+rbp]
2976
mov rax, qword ptr [-536+rbp]
2977
mul qword ptr [-184+rbp]
2981
mov rax, qword ptr [-528+rbp]
2982
mul qword ptr [-192+rbp]
2986
mov rax, qword ptr [-520+rbp]
2987
mul qword ptr [-200+rbp]
2991
mov rax, qword ptr [-512+rbp]
2992
mul qword ptr [-208+rbp]
2996
mov rax, qword ptr [-504+rbp]
2997
mul qword ptr [-216+rbp]
3001
mov rax, qword ptr [-496+rbp]
3002
mul qword ptr [-224+rbp]
3006
mov rax, qword ptr [-488+rbp]
3007
mul qword ptr [-232+rbp]
3011
mov rax, qword ptr [-480+rbp]
3012
mul qword ptr [-240+rbp]
3016
mov rax, qword ptr [-472+rbp]
3017
mul qword ptr [-248+rbp]
3021
mov rax, qword ptr [-464+rbp]
3022
mul qword ptr [-256+rbp]
3026
mov rax, qword ptr [-456+rbp]
3027
mul qword ptr [-264+rbp]
3031
mov rax, qword ptr [-448+rbp]
3032
mul qword ptr [-272+rbp]
3036
mov rax, qword ptr [-440+rbp]
3037
mul qword ptr [-280+rbp]
3043
mov rax, qword ptr [-432+rbp]
3044
mul qword ptr [-288+rbp]
3048
mov qword ptr [112+r9], rsi
3052
mov rax, qword ptr [-544+rbp]
3053
mul qword ptr [-168+rbp]
3057
mov rax, qword ptr [-536+rbp]
3058
mul qword ptr [-176+rbp]
3062
mov rax, qword ptr [-528+rbp]
3063
mul qword ptr [-184+rbp]
3067
mov rax, qword ptr [-520+rbp]
3068
mul qword ptr [-192+rbp]
3072
mov rax, qword ptr [-512+rbp]
3073
mul qword ptr [-200+rbp]
3077
mov rax, qword ptr [-504+rbp]
3078
mul qword ptr [-208+rbp]
3082
mov rax, qword ptr [-496+rbp]
3083
mul qword ptr [-216+rbp]
3087
mov rax, qword ptr [-488+rbp]
3088
mul qword ptr [-224+rbp]
3092
mov rax, qword ptr [-480+rbp]
3093
mul qword ptr [-232+rbp]
3097
mov rax, qword ptr [-472+rbp]
3098
mul qword ptr [-240+rbp]
3102
mov rax, qword ptr [-464+rbp]
3103
mul qword ptr [-248+rbp]
3107
mov rax, qword ptr [-456+rbp]
3108
mul qword ptr [-256+rbp]
3112
mov rax, qword ptr [-448+rbp]
3113
mul qword ptr [-264+rbp]
3117
mov rax, qword ptr [-440+rbp]
3118
mul qword ptr [-272+rbp]
3122
mov rax, qword ptr [-432+rbp]
3123
mul qword ptr [-280+rbp]
3129
mov rax, qword ptr [-424+rbp]
3130
mul qword ptr [-288+rbp]
3134
mov qword ptr [120+r9], rcx
3138
mov rax, qword ptr [-544+rbp]
3139
mul qword ptr [-160+rbp]
3143
mov rax, qword ptr [-536+rbp]
3144
mul qword ptr [-168+rbp]
3148
mov rax, qword ptr [-528+rbp]
3149
mul qword ptr [-176+rbp]
3153
mov rax, qword ptr [-520+rbp]
3154
mul qword ptr [-184+rbp]
3158
mov rax, qword ptr [-512+rbp]
3159
mul qword ptr [-192+rbp]
3163
mov rax, qword ptr [-504+rbp]
3164
mul qword ptr [-200+rbp]
3168
mov rax, qword ptr [-496+rbp]
3169
mul qword ptr [-208+rbp]
3173
mov rax, qword ptr [-488+rbp]
3174
mul qword ptr [-216+rbp]
3178
mov rax, qword ptr [-480+rbp]
3179
mul qword ptr [-224+rbp]
3183
mov rax, qword ptr [-472+rbp]
3184
mul qword ptr [-232+rbp]
3188
mov rax, qword ptr [-464+rbp]
3189
mul qword ptr [-240+rbp]
3193
mov rax, qword ptr [-456+rbp]
3194
mul qword ptr [-248+rbp]
3198
mov rax, qword ptr [-448+rbp]
3199
mul qword ptr [-256+rbp]
3203
mov rax, qword ptr [-440+rbp]
3204
mul qword ptr [-264+rbp]
3208
mov rax, qword ptr [-432+rbp]
3209
mul qword ptr [-272+rbp]
3213
mov rax, qword ptr [-424+rbp]
3214
mul qword ptr [-280+rbp]
3220
mov rax, qword ptr [-416+rbp]
3221
mul qword ptr [-288+rbp]
3225
mov qword ptr [128+r9], rsi
3229
mov rax, qword ptr [-544+rbp]
3230
mul qword ptr [-152+rbp]
3234
mov rax, qword ptr [-536+rbp]
3235
mul qword ptr [-160+rbp]
3239
mov rax, qword ptr [-528+rbp]
3240
mul qword ptr [-168+rbp]
3244
mov rax, qword ptr [-520+rbp]
3245
mul qword ptr [-176+rbp]
3249
mov rax, qword ptr [-512+rbp]
3250
mul qword ptr [-184+rbp]
3254
mov rax, qword ptr [-504+rbp]
3255
mul qword ptr [-192+rbp]
3259
mov rax, qword ptr [-496+rbp]
3260
mul qword ptr [-200+rbp]
3264
mov rax, qword ptr [-488+rbp]
3265
mul qword ptr [-208+rbp]
3269
mov rax, qword ptr [-480+rbp]
3270
mul qword ptr [-216+rbp]
3274
mov rax, qword ptr [-472+rbp]
3275
mul qword ptr [-224+rbp]
3279
mov rax, qword ptr [-464+rbp]
3280
mul qword ptr [-232+rbp]
3284
mov rax, qword ptr [-456+rbp]
3285
mul qword ptr [-240+rbp]
3289
mov rax, qword ptr [-448+rbp]
3290
mul qword ptr [-248+rbp]
3294
mov rax, qword ptr [-440+rbp]
3295
mul qword ptr [-256+rbp]
3299
mov rax, qword ptr [-432+rbp]
3300
mul qword ptr [-264+rbp]
3304
mov rax, qword ptr [-424+rbp]
3305
mul qword ptr [-272+rbp]
3309
mov rax, qword ptr [-416+rbp]
3310
mul qword ptr [-280+rbp]
3316
mov rax, qword ptr [-408+rbp]
3317
mul qword ptr [-288+rbp]
3321
mov qword ptr [136+r9], rcx
3325
mov rax, qword ptr [-544+rbp]
3326
mul qword ptr [-144+rbp]
3330
mov rax, qword ptr [-536+rbp]
3331
mul qword ptr [-152+rbp]
3335
mov rax, qword ptr [-528+rbp]
3336
mul qword ptr [-160+rbp]
3340
mov rax, qword ptr [-520+rbp]
3341
mul qword ptr [-168+rbp]
3345
mov rax, qword ptr [-512+rbp]
3346
mul qword ptr [-176+rbp]
3350
mov rax, qword ptr [-504+rbp]
3351
mul qword ptr [-184+rbp]
3355
mov rax, qword ptr [-496+rbp]
3356
mul qword ptr [-192+rbp]
3360
mov rax, qword ptr [-488+rbp]
3361
mul qword ptr [-200+rbp]
3365
mov rax, qword ptr [-480+rbp]
3366
mul qword ptr [-208+rbp]
3370
mov rax, qword ptr [-472+rbp]
3371
mul qword ptr [-216+rbp]
3375
mov rax, qword ptr [-464+rbp]
3376
mul qword ptr [-224+rbp]
3380
mov rax, qword ptr [-456+rbp]
3381
mul qword ptr [-232+rbp]
3385
mov rax, qword ptr [-448+rbp]
3386
mul qword ptr [-240+rbp]
3390
mov rax, qword ptr [-440+rbp]
3391
mul qword ptr [-248+rbp]
3395
mov rax, qword ptr [-432+rbp]
3396
mul qword ptr [-256+rbp]
3400
mov rax, qword ptr [-424+rbp]
3401
mul qword ptr [-264+rbp]
3405
mov rax, qword ptr [-416+rbp]
3406
mul qword ptr [-272+rbp]
3410
mov rax, qword ptr [-408+rbp]
3411
mul qword ptr [-280+rbp]
3417
mov rax, qword ptr [-400+rbp]
3418
mul qword ptr [-288+rbp]
3422
mov qword ptr [144+r9], rsi
3426
mov rax, qword ptr [-544+rbp]
3427
mul qword ptr [-136+rbp]
3431
mov rax, qword ptr [-536+rbp]
3432
mul qword ptr [-144+rbp]
3436
mov rax, qword ptr [-528+rbp]
3437
mul qword ptr [-152+rbp]
3441
mov rax, qword ptr [-520+rbp]
3442
mul qword ptr [-160+rbp]
3446
mov rax, qword ptr [-512+rbp]
3447
mul qword ptr [-168+rbp]
3451
mov rax, qword ptr [-504+rbp]
3452
mul qword ptr [-176+rbp]
3456
mov rax, qword ptr [-496+rbp]
3457
mul qword ptr [-184+rbp]
3461
mov rax, qword ptr [-488+rbp]
3462
mul qword ptr [-192+rbp]
3466
mov rax, qword ptr [-480+rbp]
3467
mul qword ptr [-200+rbp]
3471
mov rax, qword ptr [-472+rbp]
3472
mul qword ptr [-208+rbp]
3476
mov rax, qword ptr [-464+rbp]
3477
mul qword ptr [-216+rbp]
3481
mov rax, qword ptr [-456+rbp]
3482
mul qword ptr [-224+rbp]
3486
mov rax, qword ptr [-448+rbp]
3487
mul qword ptr [-232+rbp]
3491
mov rax, qword ptr [-440+rbp]
3492
mul qword ptr [-240+rbp]
3496
mov rax, qword ptr [-432+rbp]
3497
mul qword ptr [-248+rbp]
3501
mov rax, qword ptr [-424+rbp]
3502
mul qword ptr [-256+rbp]
3506
mov rax, qword ptr [-416+rbp]
3507
mul qword ptr [-264+rbp]
3511
mov rax, qword ptr [-408+rbp]
3512
mul qword ptr [-272+rbp]
3516
mov rax, qword ptr [-400+rbp]
3517
mul qword ptr [-280+rbp]
3523
mov rax, qword ptr [-392+rbp]
3524
mul qword ptr [-288+rbp]
3528
mov qword ptr [152+r9], rcx
3532
mov rax, qword ptr [-544+rbp]
3533
mul qword ptr [-128+rbp]
3537
mov rax, qword ptr [-536+rbp]
3538
mul qword ptr [-136+rbp]
3542
mov rax, qword ptr [-528+rbp]
3543
mul qword ptr [-144+rbp]
3547
mov rax, qword ptr [-520+rbp]
3548
mul qword ptr [-152+rbp]
3552
mov rax, qword ptr [-512+rbp]
3553
mul qword ptr [-160+rbp]
3557
mov rax, qword ptr [-504+rbp]
3558
mul qword ptr [-168+rbp]
3562
mov rax, qword ptr [-496+rbp]
3563
mul qword ptr [-176+rbp]
3567
mov rax, qword ptr [-488+rbp]
3568
mul qword ptr [-184+rbp]
3572
mov rax, qword ptr [-480+rbp]
3573
mul qword ptr [-192+rbp]
3577
mov rax, qword ptr [-472+rbp]
3578
mul qword ptr [-200+rbp]
3582
mov rax, qword ptr [-464+rbp]
3583
mul qword ptr [-208+rbp]
3587
mov rax, qword ptr [-456+rbp]
3588
mul qword ptr [-216+rbp]
3592
mov rax, qword ptr [-448+rbp]
3593
mul qword ptr [-224+rbp]
3597
mov rax, qword ptr [-440+rbp]
3598
mul qword ptr [-232+rbp]
3602
mov rax, qword ptr [-432+rbp]
3603
mul qword ptr [-240+rbp]
3607
mov rax, qword ptr [-424+rbp]
3608
mul qword ptr [-248+rbp]
3612
mov rax, qword ptr [-416+rbp]
3613
mul qword ptr [-256+rbp]
3617
mov rax, qword ptr [-408+rbp]
3618
mul qword ptr [-264+rbp]
3622
mov rax, qword ptr [-400+rbp]
3623
mul qword ptr [-272+rbp]
3627
mov rax, qword ptr [-392+rbp]
3628
mul qword ptr [-280+rbp]
3634
mov rax, qword ptr [-384+rbp]
3635
mul qword ptr [-288+rbp]
3639
mov qword ptr [160+r9], rsi
3643
mov rax, qword ptr [-544+rbp]
3644
mul qword ptr [-120+rbp]
3648
mov rax, qword ptr [-536+rbp]
3649
mul qword ptr [-128+rbp]
3653
mov rax, qword ptr [-528+rbp]
3654
mul qword ptr [-136+rbp]
3658
mov rax, qword ptr [-520+rbp]
3659
mul qword ptr [-144+rbp]
3663
mov rax, qword ptr [-512+rbp]
3664
mul qword ptr [-152+rbp]
3668
mov rax, qword ptr [-504+rbp]
3669
mul qword ptr [-160+rbp]
3673
mov rax, qword ptr [-496+rbp]
3674
mul qword ptr [-168+rbp]
3678
mov rax, qword ptr [-488+rbp]
3679
mul qword ptr [-176+rbp]
3683
mov rax, qword ptr [-480+rbp]
3684
mul qword ptr [-184+rbp]
3688
mov rax, qword ptr [-472+rbp]
3689
mul qword ptr [-192+rbp]
3693
mov rax, qword ptr [-464+rbp]
3694
mul qword ptr [-200+rbp]
3698
mov rax, qword ptr [-456+rbp]
3699
mul qword ptr [-208+rbp]
3703
mov rax, qword ptr [-448+rbp]
3704
mul qword ptr [-216+rbp]
3708
mov rax, qword ptr [-440+rbp]
3709
mul qword ptr [-224+rbp]
3713
mov rax, qword ptr [-432+rbp]
3714
mul qword ptr [-232+rbp]
3718
mov rax, qword ptr [-424+rbp]
3719
mul qword ptr [-240+rbp]
3723
mov rax, qword ptr [-416+rbp]
3724
mul qword ptr [-248+rbp]
3728
mov rax, qword ptr [-408+rbp]
3729
mul qword ptr [-256+rbp]
3733
mov rax, qword ptr [-400+rbp]
3734
mul qword ptr [-264+rbp]
3738
mov rax, qword ptr [-392+rbp]
3739
mul qword ptr [-272+rbp]
3743
mov rax, qword ptr [-384+rbp]
3744
mul qword ptr [-280+rbp]
3750
mov rax, qword ptr [-376+rbp]
3751
mul qword ptr [-288+rbp]
3755
mov qword ptr [168+r9], rcx
3759
mov rax, qword ptr [-544+rbp]
3760
mul qword ptr [-112+rbp]
3764
mov rax, qword ptr [-536+rbp]
3765
mul qword ptr [-120+rbp]
3769
mov rax, qword ptr [-528+rbp]
3770
mul qword ptr [-128+rbp]
3774
mov rax, qword ptr [-520+rbp]
3775
mul qword ptr [-136+rbp]
3779
mov rax, qword ptr [-512+rbp]
3780
mul qword ptr [-144+rbp]
3784
mov rax, qword ptr [-504+rbp]
3785
mul qword ptr [-152+rbp]
3789
mov rax, qword ptr [-496+rbp]
3790
mul qword ptr [-160+rbp]
3794
mov rax, qword ptr [-488+rbp]
3795
mul qword ptr [-168+rbp]
3799
mov rax, qword ptr [-480+rbp]
3800
mul qword ptr [-176+rbp]
3804
mov rax, qword ptr [-472+rbp]
3805
mul qword ptr [-184+rbp]
3809
mov rax, qword ptr [-464+rbp]
3810
mul qword ptr [-192+rbp]
3814
mov rax, qword ptr [-456+rbp]
3815
mul qword ptr [-200+rbp]
3819
mov rax, qword ptr [-448+rbp]
3820
mul qword ptr [-208+rbp]
3824
mov rax, qword ptr [-440+rbp]
3825
mul qword ptr [-216+rbp]
3829
mov rax, qword ptr [-432+rbp]
3830
mul qword ptr [-224+rbp]
3834
mov rax, qword ptr [-424+rbp]
3835
mul qword ptr [-232+rbp]
3839
mov rax, qword ptr [-416+rbp]
3840
mul qword ptr [-240+rbp]
3844
mov rax, qword ptr [-408+rbp]
3845
mul qword ptr [-248+rbp]
3849
mov rax, qword ptr [-400+rbp]
3850
mul qword ptr [-256+rbp]
3854
mov rax, qword ptr [-392+rbp]
3855
mul qword ptr [-264+rbp]
3859
mov rax, qword ptr [-384+rbp]
3860
mul qword ptr [-272+rbp]
3864
mov rax, qword ptr [-376+rbp]
3865
mul qword ptr [-280+rbp]
3871
mov rax, qword ptr [-368+rbp]
3872
mul qword ptr [-288+rbp]
3876
mov qword ptr [176+r9], rsi
3880
mov rax, qword ptr [-544+rbp]
3881
mul qword ptr [-104+rbp]
3885
mov rax, qword ptr [-536+rbp]
3886
mul qword ptr [-112+rbp]
3890
mov rax, qword ptr [-528+rbp]
3891
mul qword ptr [-120+rbp]
3895
mov rax, qword ptr [-520+rbp]
3896
mul qword ptr [-128+rbp]
3900
mov rax, qword ptr [-512+rbp]
3901
mul qword ptr [-136+rbp]
3905
mov rax, qword ptr [-504+rbp]
3906
mul qword ptr [-144+rbp]
3910
mov rax, qword ptr [-496+rbp]
3911
mul qword ptr [-152+rbp]
3915
mov rax, qword ptr [-488+rbp]
3916
mul qword ptr [-160+rbp]
3920
mov rax, qword ptr [-480+rbp]
3921
mul qword ptr [-168+rbp]
3925
mov rax, qword ptr [-472+rbp]
3926
mul qword ptr [-176+rbp]
3930
mov rax, qword ptr [-464+rbp]
3931
mul qword ptr [-184+rbp]
3935
mov rax, qword ptr [-456+rbp]
3936
mul qword ptr [-192+rbp]
3940
mov rax, qword ptr [-448+rbp]
3941
mul qword ptr [-200+rbp]
3945
mov rax, qword ptr [-440+rbp]
3946
mul qword ptr [-208+rbp]
3950
mov rax, qword ptr [-432+rbp]
3951
mul qword ptr [-216+rbp]
3955
mov rax, qword ptr [-424+rbp]
3956
mul qword ptr [-224+rbp]
3960
mov rax, qword ptr [-416+rbp]
3961
mul qword ptr [-232+rbp]
3965
mov rax, qword ptr [-408+rbp]
3966
mul qword ptr [-240+rbp]
3970
mov rax, qword ptr [-400+rbp]
3971
mul qword ptr [-248+rbp]
3975
mov rax, qword ptr [-392+rbp]
3976
mul qword ptr [-256+rbp]
3980
mov rax, qword ptr [-384+rbp]
3981
mul qword ptr [-264+rbp]
3985
mov rax, qword ptr [-376+rbp]
3986
mul qword ptr [-272+rbp]
3990
mov rax, qword ptr [-368+rbp]
3991
mul qword ptr [-280+rbp]
3997
mov rax, qword ptr [-360+rbp]
3998
mul qword ptr [-288+rbp]
4002
mov qword ptr [184+r9], rcx
4006
mov rax, qword ptr [-544+rbp]
4007
mul qword ptr [-96+rbp]
4011
mov rax, qword ptr [-536+rbp]
4012
mul qword ptr [-104+rbp]
4016
mov rax, qword ptr [-528+rbp]
4017
mul qword ptr [-112+rbp]
4021
mov rax, qword ptr [-520+rbp]
4022
mul qword ptr [-120+rbp]
4026
mov rax, qword ptr [-512+rbp]
4027
mul qword ptr [-128+rbp]
4031
mov rax, qword ptr [-504+rbp]
4032
mul qword ptr [-136+rbp]
4036
mov rax, qword ptr [-496+rbp]
4037
mul qword ptr [-144+rbp]
4041
mov rax, qword ptr [-488+rbp]
4042
mul qword ptr [-152+rbp]
4046
mov rax, qword ptr [-480+rbp]
4047
mul qword ptr [-160+rbp]
4051
mov rax, qword ptr [-472+rbp]
4052
mul qword ptr [-168+rbp]
4056
mov rax, qword ptr [-464+rbp]
4057
mul qword ptr [-176+rbp]
4061
mov rax, qword ptr [-456+rbp]
4062
mul qword ptr [-184+rbp]
4066
mov rax, qword ptr [-448+rbp]
4067
mul qword ptr [-192+rbp]
4071
mov rax, qword ptr [-440+rbp]
4072
mul qword ptr [-200+rbp]
4076
mov rax, qword ptr [-432+rbp]
4077
mul qword ptr [-208+rbp]
4081
mov rax, qword ptr [-424+rbp]
4082
mul qword ptr [-216+rbp]
4086
mov rax, qword ptr [-416+rbp]
4087
mul qword ptr [-224+rbp]
4091
mov rax, qword ptr [-408+rbp]
4092
mul qword ptr [-232+rbp]
4096
mov rax, qword ptr [-400+rbp]
4097
mul qword ptr [-240+rbp]
4101
mov rax, qword ptr [-392+rbp]
4102
mul qword ptr [-248+rbp]
4106
mov rax, qword ptr [-384+rbp]
4107
mul qword ptr [-256+rbp]
4111
mov rax, qword ptr [-376+rbp]
4112
mul qword ptr [-264+rbp]
4116
mov rax, qword ptr [-368+rbp]
4117
mul qword ptr [-272+rbp]
4121
mov rax, qword ptr [-360+rbp]
4122
mul qword ptr [-280+rbp]
4128
mov rax, qword ptr [-352+rbp]
4129
mul qword ptr [-288+rbp]
4133
mov qword ptr [192+r9], rsi
4137
mov rax, qword ptr [-544+rbp]
4138
mul qword ptr [-88+rbp]
4142
mov rax, qword ptr [-536+rbp]
4143
mul qword ptr [-96+rbp]
4147
mov rax, qword ptr [-528+rbp]
4148
mul qword ptr [-104+rbp]
4152
mov rax, qword ptr [-520+rbp]
4153
mul qword ptr [-112+rbp]
4157
mov rax, qword ptr [-512+rbp]
4158
mul qword ptr [-120+rbp]
4162
mov rax, qword ptr [-504+rbp]
4163
mul qword ptr [-128+rbp]
4167
mov rax, qword ptr [-496+rbp]
4168
mul qword ptr [-136+rbp]
4172
mov rax, qword ptr [-488+rbp]
4173
mul qword ptr [-144+rbp]
4177
mov rax, qword ptr [-480+rbp]
4178
mul qword ptr [-152+rbp]
4182
mov rax, qword ptr [-472+rbp]
4183
mul qword ptr [-160+rbp]
4187
mov rax, qword ptr [-464+rbp]
4188
mul qword ptr [-168+rbp]
4192
mov rax, qword ptr [-456+rbp]
4193
mul qword ptr [-176+rbp]
4197
mov rax, qword ptr [-448+rbp]
4198
mul qword ptr [-184+rbp]
4202
mov rax, qword ptr [-440+rbp]
4203
mul qword ptr [-192+rbp]
4207
mov rax, qword ptr [-432+rbp]
4208
mul qword ptr [-200+rbp]
4212
mov rax, qword ptr [-424+rbp]
4213
mul qword ptr [-208+rbp]
4217
mov rax, qword ptr [-416+rbp]
4218
mul qword ptr [-216+rbp]
4222
mov rax, qword ptr [-408+rbp]
4223
mul qword ptr [-224+rbp]
4227
mov rax, qword ptr [-400+rbp]
4228
mul qword ptr [-232+rbp]
4232
mov rax, qword ptr [-392+rbp]
4233
mul qword ptr [-240+rbp]
4237
mov rax, qword ptr [-384+rbp]
4238
mul qword ptr [-248+rbp]
4242
mov rax, qword ptr [-376+rbp]
4243
mul qword ptr [-256+rbp]
4247
mov rax, qword ptr [-368+rbp]
4248
mul qword ptr [-264+rbp]
4252
mov rax, qword ptr [-360+rbp]
4253
mul qword ptr [-272+rbp]
4257
mov rax, qword ptr [-352+rbp]
4258
mul qword ptr [-280+rbp]
4264
mov rax, qword ptr [-344+rbp]
4265
mul qword ptr [-288+rbp]
4269
mov qword ptr [200+r9], rcx
4273
mov rax, qword ptr [-544+rbp]
4274
mul qword ptr [-80+rbp]
4278
mov rax, qword ptr [-536+rbp]
4279
mul qword ptr [-88+rbp]
4283
mov rax, qword ptr [-528+rbp]
4284
mul qword ptr [-96+rbp]
4288
mov rax, qword ptr [-520+rbp]
4289
mul qword ptr [-104+rbp]
4293
mov rax, qword ptr [-512+rbp]
4294
mul qword ptr [-112+rbp]
4298
mov rax, qword ptr [-504+rbp]
4299
mul qword ptr [-120+rbp]
4303
mov rax, qword ptr [-496+rbp]
4304
mul qword ptr [-128+rbp]
4308
mov rax, qword ptr [-488+rbp]
4309
mul qword ptr [-136+rbp]
4313
mov rax, qword ptr [-480+rbp]
4314
mul qword ptr [-144+rbp]
4318
mov rax, qword ptr [-472+rbp]
4319
mul qword ptr [-152+rbp]
4323
mov rax, qword ptr [-464+rbp]
4324
mul qword ptr [-160+rbp]
4328
mov rax, qword ptr [-456+rbp]
4329
mul qword ptr [-168+rbp]
4333
mov rax, qword ptr [-448+rbp]
4334
mul qword ptr [-176+rbp]
4338
mov rax, qword ptr [-440+rbp]
4339
mul qword ptr [-184+rbp]
4343
mov rax, qword ptr [-432+rbp]
4344
mul qword ptr [-192+rbp]
4348
mov rax, qword ptr [-424+rbp]
4349
mul qword ptr [-200+rbp]
4353
mov rax, qword ptr [-416+rbp]
4354
mul qword ptr [-208+rbp]
4358
mov rax, qword ptr [-408+rbp]
4359
mul qword ptr [-216+rbp]
4363
mov rax, qword ptr [-400+rbp]
4364
mul qword ptr [-224+rbp]
4368
mov rax, qword ptr [-392+rbp]
4369
mul qword ptr [-232+rbp]
4373
mov rax, qword ptr [-384+rbp]
4374
mul qword ptr [-240+rbp]
4378
mov rax, qword ptr [-376+rbp]
4379
mul qword ptr [-248+rbp]
4383
mov rax, qword ptr [-368+rbp]
4384
mul qword ptr [-256+rbp]
4388
mov rax, qword ptr [-360+rbp]
4389
mul qword ptr [-264+rbp]
4393
mov rax, qword ptr [-352+rbp]
4394
mul qword ptr [-272+rbp]
4398
mov rax, qword ptr [-344+rbp]
4399
mul qword ptr [-280+rbp]
4405
mov rax, qword ptr [-336+rbp]
4406
mul qword ptr [-288+rbp]
4410
mov qword ptr [208+r9], rsi
4414
mov rax, qword ptr [-544+rbp]
4415
mul qword ptr [-72+rbp]
4419
mov rax, qword ptr [-536+rbp]
4420
mul qword ptr [-80+rbp]
4424
mov rax, qword ptr [-528+rbp]
4425
mul qword ptr [-88+rbp]
4429
mov rax, qword ptr [-520+rbp]
4430
mul qword ptr [-96+rbp]
4434
mov rax, qword ptr [-512+rbp]
4435
mul qword ptr [-104+rbp]
4439
mov rax, qword ptr [-504+rbp]
4440
mul qword ptr [-112+rbp]
4444
mov rax, qword ptr [-496+rbp]
4445
mul qword ptr [-120+rbp]
4449
mov rax, qword ptr [-488+rbp]
4450
mul qword ptr [-128+rbp]
4454
mov rax, qword ptr [-480+rbp]
4455
mul qword ptr [-136+rbp]
4459
mov rax, qword ptr [-472+rbp]
4460
mul qword ptr [-144+rbp]
4464
mov rax, qword ptr [-464+rbp]
4465
mul qword ptr [-152+rbp]
4469
mov rax, qword ptr [-456+rbp]
4470
mul qword ptr [-160+rbp]
4474
mov rax, qword ptr [-448+rbp]
4475
mul qword ptr [-168+rbp]
4479
mov rax, qword ptr [-440+rbp]
4480
mul qword ptr [-176+rbp]
4484
mov rax, qword ptr [-432+rbp]
4485
mul qword ptr [-184+rbp]
4489
mov rax, qword ptr [-424+rbp]
4490
mul qword ptr [-192+rbp]
4494
mov rax, qword ptr [-416+rbp]
4495
mul qword ptr [-200+rbp]
4499
mov rax, qword ptr [-408+rbp]
4500
mul qword ptr [-208+rbp]
4504
mov rax, qword ptr [-400+rbp]
4505
mul qword ptr [-216+rbp]
4509
mov rax, qword ptr [-392+rbp]
4510
mul qword ptr [-224+rbp]
4514
mov rax, qword ptr [-384+rbp]
4515
mul qword ptr [-232+rbp]
4519
mov rax, qword ptr [-376+rbp]
4520
mul qword ptr [-240+rbp]
4524
mov rax, qword ptr [-368+rbp]
4525
mul qword ptr [-248+rbp]
4529
mov rax, qword ptr [-360+rbp]
4530
mul qword ptr [-256+rbp]
4534
mov rax, qword ptr [-352+rbp]
4535
mul qword ptr [-264+rbp]
4539
mov rax, qword ptr [-344+rbp]
4540
mul qword ptr [-272+rbp]
4544
mov rax, qword ptr [-336+rbp]
4545
mul qword ptr [-280+rbp]
4551
mov rax, qword ptr [-328+rbp]
4552
mul qword ptr [-288+rbp]
4556
mov qword ptr [216+r9], rcx
4560
mov rax, qword ptr [-544+rbp]
4561
mul qword ptr [-64+rbp]
4565
mov rax, qword ptr [-536+rbp]
4566
mul qword ptr [-72+rbp]
4570
mov rax, qword ptr [-528+rbp]
4571
mul qword ptr [-80+rbp]
4575
mov rax, qword ptr [-520+rbp]
4576
mul qword ptr [-88+rbp]
4580
mov rax, qword ptr [-512+rbp]
4581
mul qword ptr [-96+rbp]
4585
mov rax, qword ptr [-504+rbp]
4586
mul qword ptr [-104+rbp]
4590
mov rax, qword ptr [-496+rbp]
4591
mul qword ptr [-112+rbp]
4595
mov rax, qword ptr [-488+rbp]
4596
mul qword ptr [-120+rbp]
4600
mov rax, qword ptr [-480+rbp]
4601
mul qword ptr [-128+rbp]
4605
mov rax, qword ptr [-472+rbp]
4606
mul qword ptr [-136+rbp]
4610
mov rax, qword ptr [-464+rbp]
4611
mul qword ptr [-144+rbp]
4615
mov rax, qword ptr [-456+rbp]
4616
mul qword ptr [-152+rbp]
4620
mov rax, qword ptr [-448+rbp]
4621
mul qword ptr [-160+rbp]
4625
mov rax, qword ptr [-440+rbp]
4626
mul qword ptr [-168+rbp]
4630
mov rax, qword ptr [-432+rbp]
4631
mul qword ptr [-176+rbp]
4635
mov rax, qword ptr [-424+rbp]
4636
mul qword ptr [-184+rbp]
4640
mov rax, qword ptr [-416+rbp]
4641
mul qword ptr [-192+rbp]
4645
mov rax, qword ptr [-408+rbp]
4646
mul qword ptr [-200+rbp]
4650
mov rax, qword ptr [-400+rbp]
4651
mul qword ptr [-208+rbp]
4655
mov rax, qword ptr [-392+rbp]
4656
mul qword ptr [-216+rbp]
4660
mov rax, qword ptr [-384+rbp]
4661
mul qword ptr [-224+rbp]
4665
mov rax, qword ptr [-376+rbp]
4666
mul qword ptr [-232+rbp]
4670
mov rax, qword ptr [-368+rbp]
4671
mul qword ptr [-240+rbp]
4675
mov rax, qword ptr [-360+rbp]
4676
mul qword ptr [-248+rbp]
4680
mov rax, qword ptr [-352+rbp]
4681
mul qword ptr [-256+rbp]
4685
mov rax, qword ptr [-344+rbp]
4686
mul qword ptr [-264+rbp]
4690
mov rax, qword ptr [-336+rbp]
4691
mul qword ptr [-272+rbp]
4695
mov rax, qword ptr [-328+rbp]
4696
mul qword ptr [-280+rbp]
4702
mov rax, qword ptr [-320+rbp]
4703
mul qword ptr [-288+rbp]
4707
mov qword ptr [224+r9], rsi
4711
mov rax, qword ptr [-544+rbp]
4712
mul qword ptr [-56+rbp]
4716
mov rax, qword ptr [-536+rbp]
4717
mul qword ptr [-64+rbp]
4721
mov rax, qword ptr [-528+rbp]
4722
mul qword ptr [-72+rbp]
4726
mov rax, qword ptr [-520+rbp]
4727
mul qword ptr [-80+rbp]
4731
mov rax, qword ptr [-512+rbp]
4732
mul qword ptr [-88+rbp]
4736
mov rax, qword ptr [-504+rbp]
4737
mul qword ptr [-96+rbp]
4741
mov rax, qword ptr [-496+rbp]
4742
mul qword ptr [-104+rbp]
4746
mov rax, qword ptr [-488+rbp]
4747
mul qword ptr [-112+rbp]
4751
mov rax, qword ptr [-480+rbp]
4752
mul qword ptr [-120+rbp]
4756
mov rax, qword ptr [-472+rbp]
4757
mul qword ptr [-128+rbp]
4761
mov rax, qword ptr [-464+rbp]
4762
mul qword ptr [-136+rbp]
4766
mov rax, qword ptr [-456+rbp]
4767
mul qword ptr [-144+rbp]
4771
mov rax, qword ptr [-448+rbp]
4772
mul qword ptr [-152+rbp]
4776
mov rax, qword ptr [-440+rbp]
4777
mul qword ptr [-160+rbp]
4781
mov rax, qword ptr [-432+rbp]
4782
mul qword ptr [-168+rbp]
4786
mov rax, qword ptr [-424+rbp]
4787
mul qword ptr [-176+rbp]
4791
mov rax, qword ptr [-416+rbp]
4792
mul qword ptr [-184+rbp]
4796
mov rax, qword ptr [-408+rbp]
4797
mul qword ptr [-192+rbp]
4801
mov rax, qword ptr [-400+rbp]
4802
mul qword ptr [-200+rbp]
4806
mov rax, qword ptr [-392+rbp]
4807
mul qword ptr [-208+rbp]
4811
mov rax, qword ptr [-384+rbp]
4812
mul qword ptr [-216+rbp]
4816
mov rax, qword ptr [-376+rbp]
4817
mul qword ptr [-224+rbp]
4821
mov rax, qword ptr [-368+rbp]
4822
mul qword ptr [-232+rbp]
4826
mov rax, qword ptr [-360+rbp]
4827
mul qword ptr [-240+rbp]
4831
mov rax, qword ptr [-352+rbp]
4832
mul qword ptr [-248+rbp]
4836
mov rax, qword ptr [-344+rbp]
4837
mul qword ptr [-256+rbp]
4841
mov rax, qword ptr [-336+rbp]
4842
mul qword ptr [-264+rbp]
4846
mov rax, qword ptr [-328+rbp]
4847
mul qword ptr [-272+rbp]
4851
mov rax, qword ptr [-320+rbp]
4852
mul qword ptr [-280+rbp]
4858
mov rax, qword ptr [-312+rbp]
4859
mul qword ptr [-288+rbp]
4863
mov qword ptr [232+r9], rcx
4867
mov rax, qword ptr [-544+rbp]
4868
mul qword ptr [-48+rbp]
4872
mov rax, qword ptr [-536+rbp]
4873
mul qword ptr [-56+rbp]
4877
mov rax, qword ptr [-528+rbp]
4878
mul qword ptr [-64+rbp]
4882
mov rax, qword ptr [-520+rbp]
4883
mul qword ptr [-72+rbp]
4887
mov rax, qword ptr [-512+rbp]
4888
mul qword ptr [-80+rbp]
4892
mov rax, qword ptr [-504+rbp]
4893
mul qword ptr [-88+rbp]
4897
mov rax, qword ptr [-496+rbp]
4898
mul qword ptr [-96+rbp]
4902
mov rax, qword ptr [-488+rbp]
4903
mul qword ptr [-104+rbp]
4907
mov rax, qword ptr [-480+rbp]
4908
mul qword ptr [-112+rbp]
4912
mov rax, qword ptr [-472+rbp]
4913
mul qword ptr [-120+rbp]
4917
mov rax, qword ptr [-464+rbp]
4918
mul qword ptr [-128+rbp]
4922
mov rax, qword ptr [-456+rbp]
4923
mul qword ptr [-136+rbp]
4927
mov rax, qword ptr [-448+rbp]
4928
mul qword ptr [-144+rbp]
4932
mov rax, qword ptr [-440+rbp]
4933
mul qword ptr [-152+rbp]
4937
mov rax, qword ptr [-432+rbp]
4938
mul qword ptr [-160+rbp]
4942
mov rax, qword ptr [-424+rbp]
4943
mul qword ptr [-168+rbp]
4947
mov rax, qword ptr [-416+rbp]
4948
mul qword ptr [-176+rbp]
4952
mov rax, qword ptr [-408+rbp]
4953
mul qword ptr [-184+rbp]
4957
mov rax, qword ptr [-400+rbp]
4958
mul qword ptr [-192+rbp]
4962
mov rax, qword ptr [-392+rbp]
4963
mul qword ptr [-200+rbp]
4967
mov rax, qword ptr [-384+rbp]
4968
mul qword ptr [-208+rbp]
4972
mov rax, qword ptr [-376+rbp]
4973
mul qword ptr [-216+rbp]
4977
mov rax, qword ptr [-368+rbp]
4978
mul qword ptr [-224+rbp]
4982
mov rax, qword ptr [-360+rbp]
4983
mul qword ptr [-232+rbp]
4987
mov rax, qword ptr [-352+rbp]
4988
mul qword ptr [-240+rbp]
4992
mov rax, qword ptr [-344+rbp]
4993
mul qword ptr [-248+rbp]
4997
mov rax, qword ptr [-336+rbp]
4998
mul qword ptr [-256+rbp]
5002
mov rax, qword ptr [-328+rbp]
5003
mul qword ptr [-264+rbp]
5007
mov rax, qword ptr [-320+rbp]
5008
mul qword ptr [-272+rbp]
5012
mov rax, qword ptr [-312+rbp]
5013
mul qword ptr [-280+rbp]
5019
mov rax, qword ptr [-304+rbp]
5020
mul qword ptr [-288+rbp]
5024
mov qword ptr [240+r9], rsi
5028
mov rax, qword ptr [-544+rbp]
5029
mul qword ptr [-40+rbp]
5033
mov rax, qword ptr [-536+rbp]
5034
mul qword ptr [-48+rbp]
5038
mov rax, qword ptr [-528+rbp]
5039
mul qword ptr [-56+rbp]
5043
mov rax, qword ptr [-520+rbp]
5044
mul qword ptr [-64+rbp]
5048
mov rax, qword ptr [-512+rbp]
5049
mul qword ptr [-72+rbp]
5053
mov rax, qword ptr [-504+rbp]
5054
mul qword ptr [-80+rbp]
5058
mov rax, qword ptr [-496+rbp]
5059
mul qword ptr [-88+rbp]
5063
mov rax, qword ptr [-488+rbp]
5064
mul qword ptr [-96+rbp]
5068
mov rax, qword ptr [-480+rbp]
5069
mul qword ptr [-104+rbp]
5073
mov rax, qword ptr [-472+rbp]
5074
mul qword ptr [-112+rbp]
5078
mov rax, qword ptr [-464+rbp]
5079
mul qword ptr [-120+rbp]
5083
mov rax, qword ptr [-456+rbp]
5084
mul qword ptr [-128+rbp]
5088
mov rax, qword ptr [-448+rbp]
5089
mul qword ptr [-136+rbp]
5093
mov rax, qword ptr [-440+rbp]
5094
mul qword ptr [-144+rbp]
5098
mov rax, qword ptr [-432+rbp]
5099
mul qword ptr [-152+rbp]
5103
mov rax, qword ptr [-424+rbp]
5104
mul qword ptr [-160+rbp]
5108
mov rax, qword ptr [-416+rbp]
5109
mul qword ptr [-168+rbp]
5113
mov rax, qword ptr [-408+rbp]
5114
mul qword ptr [-176+rbp]
5118
mov rax, qword ptr [-400+rbp]
5119
mul qword ptr [-184+rbp]
5123
mov rax, qword ptr [-392+rbp]
5124
mul qword ptr [-192+rbp]
5128
mov rax, qword ptr [-384+rbp]
5129
mul qword ptr [-200+rbp]
5133
mov rax, qword ptr [-376+rbp]
5134
mul qword ptr [-208+rbp]
5138
mov rax, qword ptr [-368+rbp]
5139
mul qword ptr [-216+rbp]
5143
mov rax, qword ptr [-360+rbp]
5144
mul qword ptr [-224+rbp]
5148
mov rax, qword ptr [-352+rbp]
5149
mul qword ptr [-232+rbp]
5153
mov rax, qword ptr [-344+rbp]
5154
mul qword ptr [-240+rbp]
5158
mov rax, qword ptr [-336+rbp]
5159
mul qword ptr [-248+rbp]
5163
mov rax, qword ptr [-328+rbp]
5164
mul qword ptr [-256+rbp]
5168
mov rax, qword ptr [-320+rbp]
5169
mul qword ptr [-264+rbp]
5173
mov rax, qword ptr [-312+rbp]
5174
mul qword ptr [-272+rbp]
5178
mov rax, qword ptr [-304+rbp]
5179
mul qword ptr [-280+rbp]
5185
mov rax, qword ptr [-296+rbp]
5186
mul qword ptr [-288+rbp]
5190
mov qword ptr [248+r9], rcx
5194
mov rax, qword ptr [-536+rbp]
5195
mul qword ptr [-40+rbp]
5199
mov rax, qword ptr [-528+rbp]
5200
mul qword ptr [-48+rbp]
5204
mov rax, qword ptr [-520+rbp]
5205
mul qword ptr [-56+rbp]
5209
mov rax, qword ptr [-512+rbp]
5210
mul qword ptr [-64+rbp]
5214
mov rax, qword ptr [-504+rbp]
5215
mul qword ptr [-72+rbp]
5219
mov rax, qword ptr [-496+rbp]
5220
mul qword ptr [-80+rbp]
5224
mov rax, qword ptr [-488+rbp]
5225
mul qword ptr [-88+rbp]
5229
mov rax, qword ptr [-480+rbp]
5230
mul qword ptr [-96+rbp]
5234
mov rax, qword ptr [-472+rbp]
5235
mul qword ptr [-104+rbp]
5239
mov rax, qword ptr [-464+rbp]
5240
mul qword ptr [-112+rbp]
5244
mov rax, qword ptr [-456+rbp]
5245
mul qword ptr [-120+rbp]
5249
mov rax, qword ptr [-448+rbp]
5250
mul qword ptr [-128+rbp]
5254
mov rax, qword ptr [-440+rbp]
5255
mul qword ptr [-136+rbp]
5259
mov rax, qword ptr [-432+rbp]
5260
mul qword ptr [-144+rbp]
5264
mov rax, qword ptr [-424+rbp]
5265
mul qword ptr [-152+rbp]
5269
mov rax, qword ptr [-416+rbp]
5270
mul qword ptr [-160+rbp]
5274
mov rax, qword ptr [-408+rbp]
5275
mul qword ptr [-168+rbp]
5279
mov rax, qword ptr [-400+rbp]
5280
mul qword ptr [-176+rbp]
5284
mov rax, qword ptr [-392+rbp]
5285
mul qword ptr [-184+rbp]
5289
mov rax, qword ptr [-384+rbp]
5290
mul qword ptr [-192+rbp]
5294
mov rax, qword ptr [-376+rbp]
5295
mul qword ptr [-200+rbp]
5299
mov rax, qword ptr [-368+rbp]
5300
mul qword ptr [-208+rbp]
5304
mov rax, qword ptr [-360+rbp]
5305
mul qword ptr [-216+rbp]
5309
mov rax, qword ptr [-352+rbp]
5310
mul qword ptr [-224+rbp]
5314
mov rax, qword ptr [-344+rbp]
5315
mul qword ptr [-232+rbp]
5319
mov rax, qword ptr [-336+rbp]
5320
mul qword ptr [-240+rbp]
5324
mov rax, qword ptr [-328+rbp]
5325
mul qword ptr [-248+rbp]
5329
mov rax, qword ptr [-320+rbp]
5330
mul qword ptr [-256+rbp]
5334
mov rax, qword ptr [-312+rbp]
5335
mul qword ptr [-264+rbp]
5339
mov rax, qword ptr [-304+rbp]
5340
mul qword ptr [-272+rbp]
5346
mov rax, qword ptr [-296+rbp]
5347
mul qword ptr [-280+rbp]
5351
mov qword ptr [256+r9], rsi
5355
mov rax, qword ptr [-528+rbp]
5356
mul qword ptr [-40+rbp]
5360
mov rax, qword ptr [-520+rbp]
5361
mul qword ptr [-48+rbp]
5365
mov rax, qword ptr [-512+rbp]
5366
mul qword ptr [-56+rbp]
5370
mov rax, qword ptr [-504+rbp]
5371
mul qword ptr [-64+rbp]
5375
mov rax, qword ptr [-496+rbp]
5376
mul qword ptr [-72+rbp]
5380
mov rax, qword ptr [-488+rbp]
5381
mul qword ptr [-80+rbp]
5385
mov rax, qword ptr [-480+rbp]
5386
mul qword ptr [-88+rbp]
5390
mov rax, qword ptr [-472+rbp]
5391
mul qword ptr [-96+rbp]
5395
mov rax, qword ptr [-464+rbp]
5396
mul qword ptr [-104+rbp]
5400
mov rax, qword ptr [-456+rbp]
5401
mul qword ptr [-112+rbp]
5405
mov rax, qword ptr [-448+rbp]
5406
mul qword ptr [-120+rbp]
5410
mov rax, qword ptr [-440+rbp]
5411
mul qword ptr [-128+rbp]
5415
mov rax, qword ptr [-432+rbp]
5416
mul qword ptr [-136+rbp]
5420
mov rax, qword ptr [-424+rbp]
5421
mul qword ptr [-144+rbp]
5425
mov rax, qword ptr [-416+rbp]
5426
mul qword ptr [-152+rbp]
5430
mov rax, qword ptr [-408+rbp]
5431
mul qword ptr [-160+rbp]
5435
mov rax, qword ptr [-400+rbp]
5436
mul qword ptr [-168+rbp]
5440
mov rax, qword ptr [-392+rbp]
5441
mul qword ptr [-176+rbp]
5445
mov rax, qword ptr [-384+rbp]
5446
mul qword ptr [-184+rbp]
5450
mov rax, qword ptr [-376+rbp]
5451
mul qword ptr [-192+rbp]
5455
mov rax, qword ptr [-368+rbp]
5456
mul qword ptr [-200+rbp]
5460
mov rax, qword ptr [-360+rbp]
5461
mul qword ptr [-208+rbp]
5465
mov rax, qword ptr [-352+rbp]
5466
mul qword ptr [-216+rbp]
5470
mov rax, qword ptr [-344+rbp]
5471
mul qword ptr [-224+rbp]
5475
mov rax, qword ptr [-336+rbp]
5476
mul qword ptr [-232+rbp]
5480
mov rax, qword ptr [-328+rbp]
5481
mul qword ptr [-240+rbp]
5485
mov rax, qword ptr [-320+rbp]
5486
mul qword ptr [-248+rbp]
5490
mov rax, qword ptr [-312+rbp]
5491
mul qword ptr [-256+rbp]
5495
mov rax, qword ptr [-304+rbp]
5496
mul qword ptr [-264+rbp]
5502
mov rax, qword ptr [-296+rbp]
5503
mul qword ptr [-272+rbp]
5507
mov qword ptr [264+r9], rcx
5511
mov rax, qword ptr [-520+rbp]
5512
mul qword ptr [-40+rbp]
5516
mov rax, qword ptr [-512+rbp]
5517
mul qword ptr [-48+rbp]
5521
mov rax, qword ptr [-504+rbp]
5522
mul qword ptr [-56+rbp]
5526
mov rax, qword ptr [-496+rbp]
5527
mul qword ptr [-64+rbp]
5531
mov rax, qword ptr [-488+rbp]
5532
mul qword ptr [-72+rbp]
5536
mov rax, qword ptr [-480+rbp]
5537
mul qword ptr [-80+rbp]
5541
mov rax, qword ptr [-472+rbp]
5542
mul qword ptr [-88+rbp]
5546
mov rax, qword ptr [-464+rbp]
5547
mul qword ptr [-96+rbp]
5551
mov rax, qword ptr [-456+rbp]
5552
mul qword ptr [-104+rbp]
5556
mov rax, qword ptr [-448+rbp]
5557
mul qword ptr [-112+rbp]
5561
mov rax, qword ptr [-440+rbp]
5562
mul qword ptr [-120+rbp]
5566
mov rax, qword ptr [-432+rbp]
5567
mul qword ptr [-128+rbp]
5571
mov rax, qword ptr [-424+rbp]
5572
mul qword ptr [-136+rbp]
5576
mov rax, qword ptr [-416+rbp]
5577
mul qword ptr [-144+rbp]
5581
mov rax, qword ptr [-408+rbp]
5582
mul qword ptr [-152+rbp]
5586
mov rax, qword ptr [-400+rbp]
5587
mul qword ptr [-160+rbp]
5591
mov rax, qword ptr [-392+rbp]
5592
mul qword ptr [-168+rbp]
5596
mov rax, qword ptr [-384+rbp]
5597
mul qword ptr [-176+rbp]
5601
mov rax, qword ptr [-376+rbp]
5602
mul qword ptr [-184+rbp]
5606
mov rax, qword ptr [-368+rbp]
5607
mul qword ptr [-192+rbp]
5611
mov rax, qword ptr [-360+rbp]
5612
mul qword ptr [-200+rbp]
5616
mov rax, qword ptr [-352+rbp]
5617
mul qword ptr [-208+rbp]
5621
mov rax, qword ptr [-344+rbp]
5622
mul qword ptr [-216+rbp]
5626
mov rax, qword ptr [-336+rbp]
5627
mul qword ptr [-224+rbp]
5631
mov rax, qword ptr [-328+rbp]
5632
mul qword ptr [-232+rbp]
5636
mov rax, qword ptr [-320+rbp]
5637
mul qword ptr [-240+rbp]
5641
mov rax, qword ptr [-312+rbp]
5642
mul qword ptr [-248+rbp]
5646
mov rax, qword ptr [-304+rbp]
5647
mul qword ptr [-256+rbp]
5653
mov rax, qword ptr [-296+rbp]
5654
mul qword ptr [-264+rbp]
5658
mov qword ptr [272+r9], rsi
5662
mov rax, qword ptr [-512+rbp]
5663
mul qword ptr [-40+rbp]
5667
mov rax, qword ptr [-504+rbp]
5668
mul qword ptr [-48+rbp]
5672
mov rax, qword ptr [-496+rbp]
5673
mul qword ptr [-56+rbp]
5677
mov rax, qword ptr [-488+rbp]
5678
mul qword ptr [-64+rbp]
5682
mov rax, qword ptr [-480+rbp]
5683
mul qword ptr [-72+rbp]
5687
mov rax, qword ptr [-472+rbp]
5688
mul qword ptr [-80+rbp]
5692
mov rax, qword ptr [-464+rbp]
5693
mul qword ptr [-88+rbp]
5697
mov rax, qword ptr [-456+rbp]
5698
mul qword ptr [-96+rbp]
5702
mov rax, qword ptr [-448+rbp]
5703
mul qword ptr [-104+rbp]
5707
mov rax, qword ptr [-440+rbp]
5708
mul qword ptr [-112+rbp]
5712
mov rax, qword ptr [-432+rbp]
5713
mul qword ptr [-120+rbp]
5717
mov rax, qword ptr [-424+rbp]
5718
mul qword ptr [-128+rbp]
5722
mov rax, qword ptr [-416+rbp]
5723
mul qword ptr [-136+rbp]
5727
mov rax, qword ptr [-408+rbp]
5728
mul qword ptr [-144+rbp]
5732
mov rax, qword ptr [-400+rbp]
5733
mul qword ptr [-152+rbp]
5737
mov rax, qword ptr [-392+rbp]
5738
mul qword ptr [-160+rbp]
5742
mov rax, qword ptr [-384+rbp]
5743
mul qword ptr [-168+rbp]
5747
mov rax, qword ptr [-376+rbp]
5748
mul qword ptr [-176+rbp]
5752
mov rax, qword ptr [-368+rbp]
5753
mul qword ptr [-184+rbp]
5757
mov rax, qword ptr [-360+rbp]
5758
mul qword ptr [-192+rbp]
5762
mov rax, qword ptr [-352+rbp]
5763
mul qword ptr [-200+rbp]
5767
mov rax, qword ptr [-344+rbp]
5768
mul qword ptr [-208+rbp]
5772
mov rax, qword ptr [-336+rbp]
5773
mul qword ptr [-216+rbp]
5777
mov rax, qword ptr [-328+rbp]
5778
mul qword ptr [-224+rbp]
5782
mov rax, qword ptr [-320+rbp]
5783
mul qword ptr [-232+rbp]
5787
mov rax, qword ptr [-312+rbp]
5788
mul qword ptr [-240+rbp]
5792
mov rax, qword ptr [-304+rbp]
5793
mul qword ptr [-248+rbp]
5799
mov rax, qword ptr [-296+rbp]
5800
mul qword ptr [-256+rbp]
5804
mov qword ptr [280+r9], rcx
5808
mov rax, qword ptr [-504+rbp]
5809
mul qword ptr [-40+rbp]
5813
mov rax, qword ptr [-496+rbp]
5814
mul qword ptr [-48+rbp]
5818
mov rax, qword ptr [-488+rbp]
5819
mul qword ptr [-56+rbp]
5823
mov rax, qword ptr [-480+rbp]
5824
mul qword ptr [-64+rbp]
5828
mov rax, qword ptr [-472+rbp]
5829
mul qword ptr [-72+rbp]
5833
mov rax, qword ptr [-464+rbp]
5834
mul qword ptr [-80+rbp]
5838
mov rax, qword ptr [-456+rbp]
5839
mul qword ptr [-88+rbp]
5843
mov rax, qword ptr [-448+rbp]
5844
mul qword ptr [-96+rbp]
5848
mov rax, qword ptr [-440+rbp]
5849
mul qword ptr [-104+rbp]
5853
mov rax, qword ptr [-432+rbp]
5854
mul qword ptr [-112+rbp]
5858
mov rax, qword ptr [-424+rbp]
5859
mul qword ptr [-120+rbp]
5863
mov rax, qword ptr [-416+rbp]
5864
mul qword ptr [-128+rbp]
5868
mov rax, qword ptr [-408+rbp]
5869
mul qword ptr [-136+rbp]
5873
mov rax, qword ptr [-400+rbp]
5874
mul qword ptr [-144+rbp]
5878
mov rax, qword ptr [-392+rbp]
5879
mul qword ptr [-152+rbp]
5883
mov rax, qword ptr [-384+rbp]
5884
mul qword ptr [-160+rbp]
5888
mov rax, qword ptr [-376+rbp]
5889
mul qword ptr [-168+rbp]
5893
mov rax, qword ptr [-368+rbp]
5894
mul qword ptr [-176+rbp]
5898
mov rax, qword ptr [-360+rbp]
5899
mul qword ptr [-184+rbp]
5903
mov rax, qword ptr [-352+rbp]
5904
mul qword ptr [-192+rbp]
5908
mov rax, qword ptr [-344+rbp]
5909
mul qword ptr [-200+rbp]
5913
mov rax, qword ptr [-336+rbp]
5914
mul qword ptr [-208+rbp]
5918
mov rax, qword ptr [-328+rbp]
5919
mul qword ptr [-216+rbp]
5923
mov rax, qword ptr [-320+rbp]
5924
mul qword ptr [-224+rbp]
5928
mov rax, qword ptr [-312+rbp]
5929
mul qword ptr [-232+rbp]
5933
mov rax, qword ptr [-304+rbp]
5934
mul qword ptr [-240+rbp]
5940
mov rax, qword ptr [-296+rbp]
5941
mul qword ptr [-248+rbp]
5945
mov qword ptr [288+r9], rsi
5949
mov rax, qword ptr [-496+rbp]
5950
mul qword ptr [-40+rbp]
5954
mov rax, qword ptr [-488+rbp]
5955
mul qword ptr [-48+rbp]
5959
mov rax, qword ptr [-480+rbp]
5960
mul qword ptr [-56+rbp]
5964
mov rax, qword ptr [-472+rbp]
5965
mul qword ptr [-64+rbp]
5969
mov rax, qword ptr [-464+rbp]
5970
mul qword ptr [-72+rbp]
5974
mov rax, qword ptr [-456+rbp]
5975
mul qword ptr [-80+rbp]
5979
mov rax, qword ptr [-448+rbp]
5980
mul qword ptr [-88+rbp]
5984
mov rax, qword ptr [-440+rbp]
5985
mul qword ptr [-96+rbp]
5989
mov rax, qword ptr [-432+rbp]
5990
mul qword ptr [-104+rbp]
5994
mov rax, qword ptr [-424+rbp]
5995
mul qword ptr [-112+rbp]
5999
mov rax, qword ptr [-416+rbp]
6000
mul qword ptr [-120+rbp]
6004
mov rax, qword ptr [-408+rbp]
6005
mul qword ptr [-128+rbp]
6009
mov rax, qword ptr [-400+rbp]
6010
mul qword ptr [-136+rbp]
6014
mov rax, qword ptr [-392+rbp]
6015
mul qword ptr [-144+rbp]
6019
mov rax, qword ptr [-384+rbp]
6020
mul qword ptr [-152+rbp]
6024
mov rax, qword ptr [-376+rbp]
6025
mul qword ptr [-160+rbp]
6029
mov rax, qword ptr [-368+rbp]
6030
mul qword ptr [-168+rbp]
6034
mov rax, qword ptr [-360+rbp]
6035
mul qword ptr [-176+rbp]
6039
mov rax, qword ptr [-352+rbp]
6040
mul qword ptr [-184+rbp]
6044
mov rax, qword ptr [-344+rbp]
6045
mul qword ptr [-192+rbp]
6049
mov rax, qword ptr [-336+rbp]
6050
mul qword ptr [-200+rbp]
6054
mov rax, qword ptr [-328+rbp]
6055
mul qword ptr [-208+rbp]
6059
mov rax, qword ptr [-320+rbp]
6060
mul qword ptr [-216+rbp]
6064
mov rax, qword ptr [-312+rbp]
6065
mul qword ptr [-224+rbp]
6069
mov rax, qword ptr [-304+rbp]
6070
mul qword ptr [-232+rbp]
6076
mov rax, qword ptr [-296+rbp]
6077
mul qword ptr [-240+rbp]
6081
mov qword ptr [296+r9], rcx
6085
mov rax, qword ptr [-488+rbp]
6086
mul qword ptr [-40+rbp]
6090
mov rax, qword ptr [-480+rbp]
6091
mul qword ptr [-48+rbp]
6095
mov rax, qword ptr [-472+rbp]
6096
mul qword ptr [-56+rbp]
6100
mov rax, qword ptr [-464+rbp]
6101
mul qword ptr [-64+rbp]
6105
mov rax, qword ptr [-456+rbp]
6106
mul qword ptr [-72+rbp]
6110
mov rax, qword ptr [-448+rbp]
6111
mul qword ptr [-80+rbp]
6115
mov rax, qword ptr [-440+rbp]
6116
mul qword ptr [-88+rbp]
6120
mov rax, qword ptr [-432+rbp]
6121
mul qword ptr [-96+rbp]
6125
mov rax, qword ptr [-424+rbp]
6126
mul qword ptr [-104+rbp]
6130
mov rax, qword ptr [-416+rbp]
6131
mul qword ptr [-112+rbp]
6135
mov rax, qword ptr [-408+rbp]
6136
mul qword ptr [-120+rbp]
6140
mov rax, qword ptr [-400+rbp]
6141
mul qword ptr [-128+rbp]
6145
mov rax, qword ptr [-392+rbp]
6146
mul qword ptr [-136+rbp]
6150
mov rax, qword ptr [-384+rbp]
6151
mul qword ptr [-144+rbp]
6155
mov rax, qword ptr [-376+rbp]
6156
mul qword ptr [-152+rbp]
6160
mov rax, qword ptr [-368+rbp]
6161
mul qword ptr [-160+rbp]
6165
mov rax, qword ptr [-360+rbp]
6166
mul qword ptr [-168+rbp]
6170
mov rax, qword ptr [-352+rbp]
6171
mul qword ptr [-176+rbp]
6175
mov rax, qword ptr [-344+rbp]
6176
mul qword ptr [-184+rbp]
6180
mov rax, qword ptr [-336+rbp]
6181
mul qword ptr [-192+rbp]
6185
mov rax, qword ptr [-328+rbp]
6186
mul qword ptr [-200+rbp]
6190
mov rax, qword ptr [-320+rbp]
6191
mul qword ptr [-208+rbp]
6195
mov rax, qword ptr [-312+rbp]
6196
mul qword ptr [-216+rbp]
6200
mov rax, qword ptr [-304+rbp]
6201
mul qword ptr [-224+rbp]
6207
mov rax, qword ptr [-296+rbp]
6208
mul qword ptr [-232+rbp]
6212
mov qword ptr [304+r9], rsi
6216
mov rax, qword ptr [-480+rbp]
6217
mul qword ptr [-40+rbp]
6221
mov rax, qword ptr [-472+rbp]
6222
mul qword ptr [-48+rbp]
6226
mov rax, qword ptr [-464+rbp]
6227
mul qword ptr [-56+rbp]
6231
mov rax, qword ptr [-456+rbp]
6232
mul qword ptr [-64+rbp]
6236
mov rax, qword ptr [-448+rbp]
6237
mul qword ptr [-72+rbp]
6241
mov rax, qword ptr [-440+rbp]
6242
mul qword ptr [-80+rbp]
6246
mov rax, qword ptr [-432+rbp]
6247
mul qword ptr [-88+rbp]
6251
mov rax, qword ptr [-424+rbp]
6252
mul qword ptr [-96+rbp]
6256
mov rax, qword ptr [-416+rbp]
6257
mul qword ptr [-104+rbp]
6261
mov rax, qword ptr [-408+rbp]
6262
mul qword ptr [-112+rbp]
6266
mov rax, qword ptr [-400+rbp]
6267
mul qword ptr [-120+rbp]
6271
mov rax, qword ptr [-392+rbp]
6272
mul qword ptr [-128+rbp]
6276
mov rax, qword ptr [-384+rbp]
6277
mul qword ptr [-136+rbp]
6281
mov rax, qword ptr [-376+rbp]
6282
mul qword ptr [-144+rbp]
6286
mov rax, qword ptr [-368+rbp]
6287
mul qword ptr [-152+rbp]
6291
mov rax, qword ptr [-360+rbp]
6292
mul qword ptr [-160+rbp]
6296
mov rax, qword ptr [-352+rbp]
6297
mul qword ptr [-168+rbp]
6301
mov rax, qword ptr [-344+rbp]
6302
mul qword ptr [-176+rbp]
6306
mov rax, qword ptr [-336+rbp]
6307
mul qword ptr [-184+rbp]
6311
mov rax, qword ptr [-328+rbp]
6312
mul qword ptr [-192+rbp]
6316
mov rax, qword ptr [-320+rbp]
6317
mul qword ptr [-200+rbp]
6321
mov rax, qword ptr [-312+rbp]
6322
mul qword ptr [-208+rbp]
6326
mov rax, qword ptr [-304+rbp]
6327
mul qword ptr [-216+rbp]
6333
mov rax, qword ptr [-296+rbp]
6334
mul qword ptr [-224+rbp]
6338
mov qword ptr [312+r9], rcx
6342
mov rax, qword ptr [-472+rbp]
6343
mul qword ptr [-40+rbp]
6347
mov rax, qword ptr [-464+rbp]
6348
mul qword ptr [-48+rbp]
6352
mov rax, qword ptr [-456+rbp]
6353
mul qword ptr [-56+rbp]
6357
mov rax, qword ptr [-448+rbp]
6358
mul qword ptr [-64+rbp]
6362
mov rax, qword ptr [-440+rbp]
6363
mul qword ptr [-72+rbp]
6367
mov rax, qword ptr [-432+rbp]
6368
mul qword ptr [-80+rbp]
6372
mov rax, qword ptr [-424+rbp]
6373
mul qword ptr [-88+rbp]
6377
mov rax, qword ptr [-416+rbp]
6378
mul qword ptr [-96+rbp]
6382
mov rax, qword ptr [-408+rbp]
6383
mul qword ptr [-104+rbp]
6387
mov rax, qword ptr [-400+rbp]
6388
mul qword ptr [-112+rbp]
6392
mov rax, qword ptr [-392+rbp]
6393
mul qword ptr [-120+rbp]
6397
mov rax, qword ptr [-384+rbp]
6398
mul qword ptr [-128+rbp]
6402
mov rax, qword ptr [-376+rbp]
6403
mul qword ptr [-136+rbp]
6407
mov rax, qword ptr [-368+rbp]
6408
mul qword ptr [-144+rbp]
6412
mov rax, qword ptr [-360+rbp]
6413
mul qword ptr [-152+rbp]
6417
mov rax, qword ptr [-352+rbp]
6418
mul qword ptr [-160+rbp]
6422
mov rax, qword ptr [-344+rbp]
6423
mul qword ptr [-168+rbp]
6427
mov rax, qword ptr [-336+rbp]
6428
mul qword ptr [-176+rbp]
6432
mov rax, qword ptr [-328+rbp]
6433
mul qword ptr [-184+rbp]
6437
mov rax, qword ptr [-320+rbp]
6438
mul qword ptr [-192+rbp]
6442
mov rax, qword ptr [-312+rbp]
6443
mul qword ptr [-200+rbp]
6447
mov rax, qword ptr [-304+rbp]
6448
mul qword ptr [-208+rbp]
6454
mov rax, qword ptr [-296+rbp]
6455
mul qword ptr [-216+rbp]
6459
mov qword ptr [320+r9], rsi
6463
mov rax, qword ptr [-464+rbp]
6464
mul qword ptr [-40+rbp]
6468
mov rax, qword ptr [-456+rbp]
6469
mul qword ptr [-48+rbp]
6473
mov rax, qword ptr [-448+rbp]
6474
mul qword ptr [-56+rbp]
6478
mov rax, qword ptr [-440+rbp]
6479
mul qword ptr [-64+rbp]
6483
mov rax, qword ptr [-432+rbp]
6484
mul qword ptr [-72+rbp]
6488
mov rax, qword ptr [-424+rbp]
6489
mul qword ptr [-80+rbp]
6493
mov rax, qword ptr [-416+rbp]
6494
mul qword ptr [-88+rbp]
6498
mov rax, qword ptr [-408+rbp]
6499
mul qword ptr [-96+rbp]
6503
mov rax, qword ptr [-400+rbp]
6504
mul qword ptr [-104+rbp]
6508
mov rax, qword ptr [-392+rbp]
6509
mul qword ptr [-112+rbp]
6513
mov rax, qword ptr [-384+rbp]
6514
mul qword ptr [-120+rbp]
6518
mov rax, qword ptr [-376+rbp]
6519
mul qword ptr [-128+rbp]
6523
mov rax, qword ptr [-368+rbp]
6524
mul qword ptr [-136+rbp]
6528
mov rax, qword ptr [-360+rbp]
6529
mul qword ptr [-144+rbp]
6533
mov rax, qword ptr [-352+rbp]
6534
mul qword ptr [-152+rbp]
6538
mov rax, qword ptr [-344+rbp]
6539
mul qword ptr [-160+rbp]
6543
mov rax, qword ptr [-336+rbp]
6544
mul qword ptr [-168+rbp]
6548
mov rax, qword ptr [-328+rbp]
6549
mul qword ptr [-176+rbp]
6553
mov rax, qword ptr [-320+rbp]
6554
mul qword ptr [-184+rbp]
6558
mov rax, qword ptr [-312+rbp]
6559
mul qword ptr [-192+rbp]
6563
mov rax, qword ptr [-304+rbp]
6564
mul qword ptr [-200+rbp]
6570
mov rax, qword ptr [-296+rbp]
6571
mul qword ptr [-208+rbp]
6575
mov qword ptr [328+r9], rcx
6579
mov rax, qword ptr [-456+rbp]
6580
mul qword ptr [-40+rbp]
6584
mov rax, qword ptr [-448+rbp]
6585
mul qword ptr [-48+rbp]
6589
mov rax, qword ptr [-440+rbp]
6590
mul qword ptr [-56+rbp]
6594
mov rax, qword ptr [-432+rbp]
6595
mul qword ptr [-64+rbp]
6599
mov rax, qword ptr [-424+rbp]
6600
mul qword ptr [-72+rbp]
6604
mov rax, qword ptr [-416+rbp]
6605
mul qword ptr [-80+rbp]
6609
mov rax, qword ptr [-408+rbp]
6610
mul qword ptr [-88+rbp]
6614
mov rax, qword ptr [-400+rbp]
6615
mul qword ptr [-96+rbp]
6619
mov rax, qword ptr [-392+rbp]
6620
mul qword ptr [-104+rbp]
6624
mov rax, qword ptr [-384+rbp]
6625
mul qword ptr [-112+rbp]
6629
mov rax, qword ptr [-376+rbp]
6630
mul qword ptr [-120+rbp]
6634
mov rax, qword ptr [-368+rbp]
6635
mul qword ptr [-128+rbp]
6639
mov rax, qword ptr [-360+rbp]
6640
mul qword ptr [-136+rbp]
6644
mov rax, qword ptr [-352+rbp]
6645
mul qword ptr [-144+rbp]
6649
mov rax, qword ptr [-344+rbp]
6650
mul qword ptr [-152+rbp]
6654
mov rax, qword ptr [-336+rbp]
6655
mul qword ptr [-160+rbp]
6659
mov rax, qword ptr [-328+rbp]
6660
mul qword ptr [-168+rbp]
6664
mov rax, qword ptr [-320+rbp]
6665
mul qword ptr [-176+rbp]
6669
mov rax, qword ptr [-312+rbp]
6670
mul qword ptr [-184+rbp]
6674
mov rax, qword ptr [-304+rbp]
6675
mul qword ptr [-192+rbp]
6679
mov rax, qword ptr [-296+rbp]
6680
mul qword ptr [-200+rbp]
6684
mov qword ptr [336+r9], r11
6687
mov rax, qword ptr [-448+rbp]
6688
mul qword ptr [-40+rbp]
6693
mov rax, qword ptr [-440+rbp]
6694
mul qword ptr [-48+rbp]
6698
mov rax, qword ptr [-432+rbp]
6699
mul qword ptr [-56+rbp]
6703
mov rax, qword ptr [-424+rbp]
6704
mul qword ptr [-64+rbp]
6708
mov rax, qword ptr [-416+rbp]
6709
mul qword ptr [-72+rbp]
6713
mov rax, qword ptr [-408+rbp]
6714
mul qword ptr [-80+rbp]
6718
mov rax, qword ptr [-400+rbp]
6719
mul qword ptr [-88+rbp]
6723
mov rax, qword ptr [-392+rbp]
6724
mul qword ptr [-96+rbp]
6728
mov rax, qword ptr [-384+rbp]
6729
mul qword ptr [-104+rbp]
6733
mov rax, qword ptr [-376+rbp]
6734
mul qword ptr [-112+rbp]
6738
mov rax, qword ptr [-368+rbp]
6739
mul qword ptr [-120+rbp]
6743
mov rax, qword ptr [-360+rbp]
6744
mul qword ptr [-128+rbp]
6748
mov rax, qword ptr [-352+rbp]
6749
mul qword ptr [-136+rbp]
6753
mov rax, qword ptr [-344+rbp]
6754
mul qword ptr [-144+rbp]
6758
mov rax, qword ptr [-336+rbp]
6759
mul qword ptr [-152+rbp]
6763
mov rax, qword ptr [-328+rbp]
6764
mul qword ptr [-160+rbp]
6768
mov rax, qword ptr [-320+rbp]
6769
mul qword ptr [-168+rbp]
6773
mov rax, qword ptr [-312+rbp]
6774
mul qword ptr [-176+rbp]
6778
mov rax, qword ptr [-304+rbp]
6779
mul qword ptr [-184+rbp]
6785
mov rax, qword ptr [-296+rbp]
6786
mul qword ptr [-192+rbp]
6790
mov qword ptr [344+r9], rdi
6794
mov rax, qword ptr [-440+rbp]
6795
mul qword ptr [-40+rbp]
6800
mov rax, qword ptr [-432+rbp]
6801
mul qword ptr [-48+rbp]
6805
mov rax, qword ptr [-424+rbp]
6806
mul qword ptr [-56+rbp]
6810
mov rax, qword ptr [-416+rbp]
6811
mul qword ptr [-64+rbp]
6815
mov rax, qword ptr [-408+rbp]
6816
mul qword ptr [-72+rbp]
6820
mov rax, qword ptr [-400+rbp]
6821
mul qword ptr [-80+rbp]
6825
mov rax, qword ptr [-392+rbp]
6826
mul qword ptr [-88+rbp]
6830
mov rax, qword ptr [-384+rbp]
6831
mul qword ptr [-96+rbp]
6835
mov rax, qword ptr [-376+rbp]
6836
mul qword ptr [-104+rbp]
6840
mov rax, qword ptr [-368+rbp]
6841
mul qword ptr [-112+rbp]
6845
mov rax, qword ptr [-360+rbp]
6846
mul qword ptr [-120+rbp]
6850
mov rax, qword ptr [-352+rbp]
6851
mul qword ptr [-128+rbp]
6855
mov rax, qword ptr [-344+rbp]
6856
mul qword ptr [-136+rbp]
6860
mov rax, qword ptr [-336+rbp]
6861
mul qword ptr [-144+rbp]
6865
mov rax, qword ptr [-328+rbp]
6866
mul qword ptr [-152+rbp]
6870
mov rax, qword ptr [-320+rbp]
6871
mul qword ptr [-160+rbp]
6875
mov rax, qword ptr [-312+rbp]
6876
mul qword ptr [-168+rbp]
6880
mov rax, qword ptr [-304+rbp]
6881
mul qword ptr [-176+rbp]
6887
mov rax, qword ptr [-296+rbp]
6888
mul qword ptr [-184+rbp]
6892
mov qword ptr [352+r9], rcx
6896
mov rax, qword ptr [-432+rbp]
6897
mul qword ptr [-40+rbp]
6901
mov rax, qword ptr [-424+rbp]
6902
mul qword ptr [-48+rbp]
6906
mov rax, qword ptr [-416+rbp]
6907
mul qword ptr [-56+rbp]
6911
mov rax, qword ptr [-408+rbp]
6912
mul qword ptr [-64+rbp]
6916
mov rax, qword ptr [-400+rbp]
6917
mul qword ptr [-72+rbp]
6921
mov rax, qword ptr [-392+rbp]
6922
mul qword ptr [-80+rbp]
6926
mov rax, qword ptr [-384+rbp]
6927
mul qword ptr [-88+rbp]
6931
mov rax, qword ptr [-376+rbp]
6932
mul qword ptr [-96+rbp]
6936
mov rax, qword ptr [-368+rbp]
6937
mul qword ptr [-104+rbp]
6941
mov rax, qword ptr [-360+rbp]
6942
mul qword ptr [-112+rbp]
6946
mov rax, qword ptr [-352+rbp]
6947
mul qword ptr [-120+rbp]
6951
mov rax, qword ptr [-344+rbp]
6952
mul qword ptr [-128+rbp]
6956
mov rax, qword ptr [-336+rbp]
6957
mul qword ptr [-136+rbp]
6961
mov rax, qword ptr [-328+rbp]
6962
mul qword ptr [-144+rbp]
6966
mov rax, qword ptr [-320+rbp]
6967
mul qword ptr [-152+rbp]
6971
mov rax, qword ptr [-312+rbp]
6972
mul qword ptr [-160+rbp]
6976
mov rax, qword ptr [-304+rbp]
6977
mul qword ptr [-168+rbp]
6983
mov rax, qword ptr [-296+rbp]
6984
mul qword ptr [-176+rbp]
6988
mov qword ptr [360+r9], rsi
6992
mov rax, qword ptr [-424+rbp]
6993
mul qword ptr [-40+rbp]
6997
mov rax, qword ptr [-416+rbp]
6998
mul qword ptr [-48+rbp]
7002
mov rax, qword ptr [-408+rbp]
7003
mul qword ptr [-56+rbp]
7007
mov rax, qword ptr [-400+rbp]
7008
mul qword ptr [-64+rbp]
7012
mov rax, qword ptr [-392+rbp]
7013
mul qword ptr [-72+rbp]
7017
mov rax, qword ptr [-384+rbp]
7018
mul qword ptr [-80+rbp]
7022
mov rax, qword ptr [-376+rbp]
7023
mul qword ptr [-88+rbp]
7027
mov rax, qword ptr [-368+rbp]
7028
mul qword ptr [-96+rbp]
7032
mov rax, qword ptr [-360+rbp]
7033
mul qword ptr [-104+rbp]
7037
mov rax, qword ptr [-352+rbp]
7038
mul qword ptr [-112+rbp]
7042
mov rax, qword ptr [-344+rbp]
7043
mul qword ptr [-120+rbp]
7047
mov rax, qword ptr [-336+rbp]
7048
mul qword ptr [-128+rbp]
7052
mov rax, qword ptr [-328+rbp]
7053
mul qword ptr [-136+rbp]
7057
mov rax, qword ptr [-320+rbp]
7058
mul qword ptr [-144+rbp]
7062
mov rax, qword ptr [-312+rbp]
7063
mul qword ptr [-152+rbp]
7067
mov rax, qword ptr [-304+rbp]
7068
mul qword ptr [-160+rbp]
7074
mov rax, qword ptr [-296+rbp]
7075
mul qword ptr [-168+rbp]
7079
mov qword ptr [368+r9], rcx
7083
mov rax, qword ptr [-416+rbp]
7084
mul qword ptr [-40+rbp]
7088
mov rax, qword ptr [-408+rbp]
7089
mul qword ptr [-48+rbp]
7093
mov rax, qword ptr [-400+rbp]
7094
mul qword ptr [-56+rbp]
7098
mov rax, qword ptr [-392+rbp]
7099
mul qword ptr [-64+rbp]
7103
mov rax, qword ptr [-384+rbp]
7104
mul qword ptr [-72+rbp]
7108
mov rax, qword ptr [-376+rbp]
7109
mul qword ptr [-80+rbp]
7113
mov rax, qword ptr [-368+rbp]
7114
mul qword ptr [-88+rbp]
7118
mov rax, qword ptr [-360+rbp]
7119
mul qword ptr [-96+rbp]
7123
mov rax, qword ptr [-352+rbp]
7124
mul qword ptr [-104+rbp]
7128
mov rax, qword ptr [-344+rbp]
7129
mul qword ptr [-112+rbp]
7133
mov rax, qword ptr [-336+rbp]
7134
mul qword ptr [-120+rbp]
7138
mov rax, qword ptr [-328+rbp]
7139
mul qword ptr [-128+rbp]
7143
mov rax, qword ptr [-320+rbp]
7144
mul qword ptr [-136+rbp]
7148
mov rax, qword ptr [-312+rbp]
7149
mul qword ptr [-144+rbp]
7153
mov rax, qword ptr [-304+rbp]
7154
mul qword ptr [-152+rbp]
7160
mov rax, qword ptr [-296+rbp]
7161
mul qword ptr [-160+rbp]
7165
mov qword ptr [376+r9], rsi
7169
mov rax, qword ptr [-408+rbp]
7170
mul qword ptr [-40+rbp]
7174
mov rax, qword ptr [-400+rbp]
7175
mul qword ptr [-48+rbp]
7179
mov rax, qword ptr [-392+rbp]
7180
mul qword ptr [-56+rbp]
7184
mov rax, qword ptr [-384+rbp]
7185
mul qword ptr [-64+rbp]
7189
mov rax, qword ptr [-376+rbp]
7190
mul qword ptr [-72+rbp]
7194
mov rax, qword ptr [-368+rbp]
7195
mul qword ptr [-80+rbp]
7199
mov rax, qword ptr [-360+rbp]
7200
mul qword ptr [-88+rbp]
7204
mov rax, qword ptr [-352+rbp]
7205
mul qword ptr [-96+rbp]
7209
mov rax, qword ptr [-344+rbp]
7210
mul qword ptr [-104+rbp]
7214
mov rax, qword ptr [-336+rbp]
7215
mul qword ptr [-112+rbp]
7219
mov rax, qword ptr [-328+rbp]
7220
mul qword ptr [-120+rbp]
7224
mov rax, qword ptr [-320+rbp]
7225
mul qword ptr [-128+rbp]
7229
mov rax, qword ptr [-312+rbp]
7230
mul qword ptr [-136+rbp]
7234
mov rax, qword ptr [-304+rbp]
7235
mul qword ptr [-144+rbp]
7241
mov rax, qword ptr [-296+rbp]
7242
mul qword ptr [-152+rbp]
7246
mov qword ptr [384+r9], rcx
7250
mov rax, qword ptr [-400+rbp]
7251
mul qword ptr [-40+rbp]
7255
mov rax, qword ptr [-392+rbp]
7256
mul qword ptr [-48+rbp]
7260
mov rax, qword ptr [-384+rbp]
7261
mul qword ptr [-56+rbp]
7265
mov rax, qword ptr [-376+rbp]
7266
mul qword ptr [-64+rbp]
7270
mov rax, qword ptr [-368+rbp]
7271
mul qword ptr [-72+rbp]
7275
mov rax, qword ptr [-360+rbp]
7276
mul qword ptr [-80+rbp]
7280
mov rax, qword ptr [-352+rbp]
7281
mul qword ptr [-88+rbp]
7285
mov rax, qword ptr [-344+rbp]
7286
mul qword ptr [-96+rbp]
7290
mov rax, qword ptr [-336+rbp]
7291
mul qword ptr [-104+rbp]
7295
mov rax, qword ptr [-328+rbp]
7296
mul qword ptr [-112+rbp]
7300
mov rax, qword ptr [-320+rbp]
7301
mul qword ptr [-120+rbp]
7305
mov rax, qword ptr [-312+rbp]
7306
mul qword ptr [-128+rbp]
7310
mov rax, qword ptr [-304+rbp]
7311
mul qword ptr [-136+rbp]
7317
mov rax, qword ptr [-296+rbp]
7318
mul qword ptr [-144+rbp]
7322
mov qword ptr [392+r9], rsi
7326
mov rax, qword ptr [-392+rbp]
7327
mul qword ptr [-40+rbp]
7331
mov rax, qword ptr [-384+rbp]
7332
mul qword ptr [-48+rbp]
7336
mov rax, qword ptr [-376+rbp]
7337
mul qword ptr [-56+rbp]
7341
mov rax, qword ptr [-368+rbp]
7342
mul qword ptr [-64+rbp]
7346
mov rax, qword ptr [-360+rbp]
7347
mul qword ptr [-72+rbp]
7351
mov rax, qword ptr [-352+rbp]
7352
mul qword ptr [-80+rbp]
7356
mov rax, qword ptr [-344+rbp]
7357
mul qword ptr [-88+rbp]
7361
mov rax, qword ptr [-336+rbp]
7362
mul qword ptr [-96+rbp]
7366
mov rax, qword ptr [-328+rbp]
7367
mul qword ptr [-104+rbp]
7371
mov rax, qword ptr [-320+rbp]
7372
mul qword ptr [-112+rbp]
7376
mov rax, qword ptr [-312+rbp]
7377
mul qword ptr [-120+rbp]
7381
mov rax, qword ptr [-304+rbp]
7382
mul qword ptr [-128+rbp]
7388
mov rax, qword ptr [-296+rbp]
7389
mul qword ptr [-136+rbp]
7393
mov qword ptr [400+r9], rcx
7397
mov rax, qword ptr [-384+rbp]
7398
mul qword ptr [-40+rbp]
7402
mov rax, qword ptr [-376+rbp]
7403
mul qword ptr [-48+rbp]
7407
mov rax, qword ptr [-368+rbp]
7408
mul qword ptr [-56+rbp]
7412
mov rax, qword ptr [-360+rbp]
7413
mul qword ptr [-64+rbp]
7417
mov rax, qword ptr [-352+rbp]
7418
mul qword ptr [-72+rbp]
7422
mov rax, qword ptr [-344+rbp]
7423
mul qword ptr [-80+rbp]
7427
mov rax, qword ptr [-336+rbp]
7428
mul qword ptr [-88+rbp]
7432
mov rax, qword ptr [-328+rbp]
7433
mul qword ptr [-96+rbp]
7437
mov rax, qword ptr [-320+rbp]
7438
mul qword ptr [-104+rbp]
7442
mov rax, qword ptr [-312+rbp]
7443
mul qword ptr [-112+rbp]
7447
mov rax, qword ptr [-304+rbp]
7448
mul qword ptr [-120+rbp]
7454
mov rax, qword ptr [-296+rbp]
7455
mul qword ptr [-128+rbp]
7459
mov qword ptr [408+r9], rsi
7463
mov rax, qword ptr [-376+rbp]
7464
mul qword ptr [-40+rbp]
7468
mov rax, qword ptr [-368+rbp]
7469
mul qword ptr [-48+rbp]
7473
mov rax, qword ptr [-360+rbp]
7474
mul qword ptr [-56+rbp]
7478
mov rax, qword ptr [-352+rbp]
7479
mul qword ptr [-64+rbp]
7483
mov rax, qword ptr [-344+rbp]
7484
mul qword ptr [-72+rbp]
7488
mov rax, qword ptr [-336+rbp]
7489
mul qword ptr [-80+rbp]
7493
mov rax, qword ptr [-328+rbp]
7494
mul qword ptr [-88+rbp]
7498
mov rax, qword ptr [-320+rbp]
7499
mul qword ptr [-96+rbp]
7503
mov rax, qword ptr [-312+rbp]
7504
mul qword ptr [-104+rbp]
7508
mov rax, qword ptr [-304+rbp]
7509
mul qword ptr [-112+rbp]
7515
mov rax, qword ptr [-296+rbp]
7516
mul qword ptr [-120+rbp]
7520
mov qword ptr [416+r9], rcx
7524
mov rax, qword ptr [-368+rbp]
7525
mul qword ptr [-40+rbp]
7529
mov rax, qword ptr [-360+rbp]
7530
mul qword ptr [-48+rbp]
7534
mov rax, qword ptr [-352+rbp]
7535
mul qword ptr [-56+rbp]
7539
mov rax, qword ptr [-344+rbp]
7540
mul qword ptr [-64+rbp]
7544
mov rax, qword ptr [-336+rbp]
7545
mul qword ptr [-72+rbp]
7549
mov rax, qword ptr [-328+rbp]
7550
mul qword ptr [-80+rbp]
7554
mov rax, qword ptr [-320+rbp]
7555
mul qword ptr [-88+rbp]
7559
mov rax, qword ptr [-312+rbp]
7560
mul qword ptr [-96+rbp]
7564
mov rax, qword ptr [-304+rbp]
7565
mul qword ptr [-104+rbp]
7571
mov rax, qword ptr [-296+rbp]
7572
mul qword ptr [-112+rbp]
7576
mov qword ptr [424+r9], rsi
7580
mov rax, qword ptr [-360+rbp]
7581
mul qword ptr [-40+rbp]
7585
mov rax, qword ptr [-352+rbp]
7586
mul qword ptr [-48+rbp]
7590
mov rax, qword ptr [-344+rbp]
7591
mul qword ptr [-56+rbp]
7595
mov rax, qword ptr [-336+rbp]
7596
mul qword ptr [-64+rbp]
7600
mov rax, qword ptr [-328+rbp]
7601
mul qword ptr [-72+rbp]
7605
mov rax, qword ptr [-320+rbp]
7606
mul qword ptr [-80+rbp]
7610
mov rax, qword ptr [-312+rbp]
7611
mul qword ptr [-88+rbp]
7615
mov rax, qword ptr [-304+rbp]
7616
mul qword ptr [-96+rbp]
7622
mov rax, qword ptr [-296+rbp]
7623
mul qword ptr [-104+rbp]
7627
mov qword ptr [432+r9], rcx
7631
mov rax, qword ptr [-352+rbp]
7632
mul qword ptr [-40+rbp]
7636
mov rax, qword ptr [-344+rbp]
7637
mul qword ptr [-48+rbp]
7641
mov rax, qword ptr [-336+rbp]
7642
mul qword ptr [-56+rbp]
7646
mov rax, qword ptr [-328+rbp]
7647
mul qword ptr [-64+rbp]
7651
mov rax, qword ptr [-320+rbp]
7652
mul qword ptr [-72+rbp]
7656
mov rax, qword ptr [-312+rbp]
7657
mul qword ptr [-80+rbp]
7661
mov rax, qword ptr [-304+rbp]
7662
mul qword ptr [-88+rbp]
7668
mov rax, qword ptr [-296+rbp]
7669
mul qword ptr [-96+rbp]
7673
mov qword ptr [440+r9], rsi
7677
mov rax, qword ptr [-344+rbp]
7678
mul qword ptr [-40+rbp]
7682
mov rax, qword ptr [-336+rbp]
7683
mul qword ptr [-48+rbp]
7687
mov rax, qword ptr [-328+rbp]
7688
mul qword ptr [-56+rbp]
7692
mov rax, qword ptr [-320+rbp]
7693
mul qword ptr [-64+rbp]
7697
mov rax, qword ptr [-312+rbp]
7698
mul qword ptr [-72+rbp]
7702
mov rax, qword ptr [-304+rbp]
7703
mul qword ptr [-80+rbp]
7709
mov rax, qword ptr [-296+rbp]
7710
mul qword ptr [-88+rbp]
7714
mov qword ptr [448+r9], rcx
7718
mov rax, qword ptr [-336+rbp]
7719
mul qword ptr [-40+rbp]
7723
mov rax, qword ptr [-328+rbp]
7724
mul qword ptr [-48+rbp]
7728
mov rax, qword ptr [-320+rbp]
7729
mul qword ptr [-56+rbp]
7733
mov rax, qword ptr [-312+rbp]
7734
mul qword ptr [-64+rbp]
7738
mov rax, qword ptr [-304+rbp]
7739
mul qword ptr [-72+rbp]
7745
mov rax, qword ptr [-296+rbp]
7746
mul qword ptr [-80+rbp]
7750
mov qword ptr [456+r9], rsi
7754
mov rax, qword ptr [-328+rbp]
7755
mul qword ptr [-40+rbp]
7759
mov rax, qword ptr [-320+rbp]
7760
mul qword ptr [-48+rbp]
7764
mov rax, qword ptr [-312+rbp]
7765
mul qword ptr [-56+rbp]
7769
mov rax, qword ptr [-304+rbp]
7770
mul qword ptr [-64+rbp]
7776
mov rax, qword ptr [-296+rbp]
7777
mul qword ptr [-72+rbp]
7781
mov qword ptr [464+r9], rcx
7785
mov rax, qword ptr [-320+rbp]
7786
mul qword ptr [-40+rbp]
7790
mov rax, qword ptr [-312+rbp]
7791
mul qword ptr [-48+rbp]
7795
mov rax, qword ptr [-304+rbp]
7796
mul qword ptr [-56+rbp]
7802
mov rax, qword ptr [-296+rbp]
7803
mul qword ptr [-64+rbp]
7807
mov qword ptr [472+r9], rsi
7811
mov rax, qword ptr [-312+rbp]
7812
mul qword ptr [-40+rbp]
7816
mov rax, qword ptr [-304+rbp]
7817
mul qword ptr [-48+rbp]
7823
mov rax, qword ptr [-296+rbp]
7824
mul qword ptr [-56+rbp]
7828
mov qword ptr [480+r9], rcx
7832
mov rax, qword ptr [-304+rbp]
7833
mul qword ptr [-40+rbp]
7839
mov rax, qword ptr [-296+rbp]
7840
mul qword ptr [-48+rbp]
7844
mov qword ptr [488+r9], rsi
7847
mov rax, qword ptr [-296+rbp]
7848
mul qword ptr [-40+rbp]
7852
mov qword ptr [496+r9], rcx
7853
mov ecx, dword ptr [r12]
7854
xor ecx, dword ptr [rbx]
7856
mov qword ptr [504+r9], rsi
7857
mov dword ptr [8+r13], 64
7861
mov edx, dword ptr [8+r13]
7862
lea ebx, dword ptr [-1+rdx]
7864
mov dword ptr [8+r13], ebx
7866
lea r12d, dword ptr [-2+rdx]
7867
cmp dword ptr [r9+r12*8], 0
7870
mov r9d, dword ptr [8+r13]
7874
mov dword ptr [r13], edx
7875
add rsp, 520+32 ; +32 for "home" storage
7885
s_mp_mul_comba_32 ENDP
7888
; void s_mp_sqr_comba_4(const mp_int *A, mp_int *B);
7891
s_mp_sqr_comba_4 PROC
7908
mov rcx, qword ptr [16+rdi]
7910
mov rax, qword ptr [rcx]
7915
mov qword ptr [-72+80+rsp], r10
7916
mov rax, qword ptr [rcx]
7917
mul qword ptr [8+rcx]
7924
mov qword ptr [-64+80+rsp], rbx
7925
mov rax, qword ptr [rcx]
7926
mul qword ptr [16+rcx]
7935
mov rax, qword ptr [8+rcx]
7940
mov qword ptr [-56+80+rsp], rdi
7944
mov rax, qword ptr [rcx]
7945
mul qword ptr [24+rcx]
7954
mov rax, qword ptr [8+rcx]
7955
mul qword ptr [16+rcx]
7962
mov qword ptr [-48+80+rsp], r8
7966
mov dword ptr [8+r11], 8
7967
mov dword ptr [r11], 0
7968
mov rax, qword ptr [8+rcx]
7969
mul qword ptr [24+rcx]
7978
mov rax, qword ptr [16+rcx]
7984
mov qword ptr [-40+80+rsp], rdi
7988
mov rax, qword ptr [16+rcx]
7989
mul qword ptr [24+rcx]
7996
mov qword ptr [-32+80+rsp], rbp
7998
mov rax, qword ptr [24+rcx]
8003
mov rdx, qword ptr [16+r11]
8004
mov qword ptr [-24+80+rsp], rdi
8005
mov qword ptr [-16+80+rsp], r9
8006
mov qword ptr [rdx], r10
8007
mov r8, qword ptr [-64+80+rsp]
8008
mov qword ptr [8+rdx], r8
8009
mov rbp, qword ptr [-56+80+rsp]
8010
mov qword ptr [16+rdx], rbp
8011
mov rdi, qword ptr [-48+80+rsp]
8012
mov qword ptr [24+rdx], rdi
8013
mov rsi, qword ptr [-40+80+rsp]
8014
mov qword ptr [32+rdx], rsi
8015
mov rbx, qword ptr [-32+80+rsp]
8016
mov qword ptr [40+rdx], rbx
8017
mov rcx, qword ptr [-24+80+rsp]
8018
mov qword ptr [48+rdx], rcx
8019
mov rax, qword ptr [-16+80+rsp]
8020
mov qword ptr [56+rdx], rax
8021
mov edx, dword ptr [8+r11]
8024
lea ecx, dword ptr [-1+rdx]
8025
mov rsi, qword ptr [16+r11]
8027
cmp dword ptr [rsi+r10*8], 0
8037
cmp dword ptr [rsi+rax*8], 0
8039
mov dword ptr [8+r11], ecx
8044
mov eax, dword ptr [r11]
8048
mov dword ptr [8+r11], edx
8055
mov dword ptr [r11], eax
8062
s_mp_sqr_comba_4 ENDP
8065
; void s_mp_sqr_comba_8(const mp_int *A, mp_int *B);
8068
s_mp_sqr_comba_8 PROC
8092
mov rcx, qword ptr [16+rdi]
8093
mov rax, qword ptr [rcx]
8098
mov qword ptr [-120+128+rsp], r14
8099
mov rax, qword ptr [rcx]
8100
mul qword ptr [8+rcx]
8107
mov qword ptr [-112+128+rsp], rbx
8108
mov rax, qword ptr [rcx]
8109
mul qword ptr [16+rcx]
8119
mov rax, qword ptr [8+rcx]
8124
mov qword ptr [-104+128+rsp], r12
8127
mov rax, qword ptr [rcx]
8128
mul qword ptr [24+rcx]
8138
mov rax, qword ptr [8+rcx]
8139
mul qword ptr [16+rcx]
8147
mov qword ptr [-96+128+rsp], r11
8151
mov rax, qword ptr [rcx]
8152
mul qword ptr [32+rcx]
8159
mov rax, qword ptr [8+rcx]
8160
mul qword ptr [24+rcx]
8170
mov rax, qword ptr [16+rcx]
8175
mov qword ptr [-88+128+rsp], r12
8176
mov rax, qword ptr [rcx]
8177
mul qword ptr [40+rcx]
8181
mov rax, qword ptr [8+rcx]
8182
mul qword ptr [32+rcx]
8186
mov rax, qword ptr [16+rcx]
8187
mul qword ptr [24+rcx]
8197
mov qword ptr [-80+128+rsp], rbx
8198
mov rax, qword ptr [rcx]
8199
mul qword ptr [48+rcx]
8203
mov rax, qword ptr [8+rcx]
8204
mul qword ptr [40+rcx]
8208
mov rax, qword ptr [16+rcx]
8209
mul qword ptr [32+rcx]
8227
mov rax, qword ptr [24+rcx]
8232
mov qword ptr [-72+128+rsp], r10
8234
mov rax, qword ptr [rcx]
8235
mul qword ptr [56+rcx]
8239
mov rax, qword ptr [8+rcx]
8240
mul qword ptr [48+rcx]
8244
mov rax, qword ptr [16+rcx]
8245
mul qword ptr [40+rcx]
8249
mov rax, qword ptr [24+rcx]
8250
mul qword ptr [32+rcx]
8261
mov qword ptr [-64+128+rsp], rbx
8264
mov rax, qword ptr [8+rcx]
8265
mul qword ptr [56+rcx]
8269
mov rax, qword ptr [16+rcx]
8270
mul qword ptr [48+rcx]
8274
mov rax, qword ptr [24+rcx]
8275
mul qword ptr [40+rcx]
8292
mov rax, qword ptr [32+rcx]
8297
mov qword ptr [-56+128+rsp], r10
8299
mov rax, qword ptr [16+rcx]
8300
mul qword ptr [56+rcx]
8304
mov rax, qword ptr [24+rcx]
8305
mul qword ptr [48+rcx]
8309
mov rax, qword ptr [32+rcx]
8310
mul qword ptr [40+rcx]
8322
mov qword ptr [-48+128+rsp], rbx
8327
mov rax, qword ptr [24+rcx]
8328
mul qword ptr [56+rcx]
8336
mov rax, qword ptr [32+rcx]
8337
mul qword ptr [48+rcx]
8347
mov rax, qword ptr [40+rcx]
8352
mov qword ptr [-40+128+rsp], r12
8355
mov rax, qword ptr [32+rcx]
8356
mul qword ptr [56+rcx]
8365
mov rax, qword ptr [40+rcx]
8366
mul qword ptr [48+rcx]
8373
mov qword ptr [-32+128+rsp], rdi
8376
mov rax, qword ptr [40+rcx]
8377
mul qword ptr [56+rcx]
8386
mov rax, qword ptr [48+rcx]
8391
mov qword ptr [-24+128+rsp], r12
8395
mov dword ptr [8+rbp], 16
8396
mov dword ptr [rbp], 0
8397
mov rax, qword ptr [48+rcx]
8398
mul qword ptr [56+rcx]
8405
mov qword ptr [-16+128+rsp], rdi
8407
mov rax, qword ptr [56+rcx]
8412
mov rax, qword ptr [16+rbp]
8413
mov qword ptr [-8+128+rsp], rsi
8414
mov qword ptr [128+rsp], r8
8415
mov qword ptr [rax], r14
8416
mov rbx, qword ptr [-112+128+rsp]
8417
mov qword ptr [8+rax], rbx
8418
mov rcx, qword ptr [-104+128+rsp]
8419
mov qword ptr [16+rax], rcx
8420
mov rdx, qword ptr [-96+128+rsp]
8421
mov qword ptr [24+rax], rdx
8422
mov r14, qword ptr [-88+128+rsp]
8423
mov qword ptr [32+rax], r14
8424
mov r13, qword ptr [-80+128+rsp]
8425
mov qword ptr [40+rax], r13
8426
mov r12, qword ptr [-72+128+rsp]
8427
mov qword ptr [48+rax], r12
8428
mov r11, qword ptr [-64+128+rsp]
8429
mov qword ptr [56+rax], r11
8430
mov r10, qword ptr [-56+128+rsp]
8431
mov qword ptr [64+rax], r10
8432
mov r9, qword ptr [-48+128+rsp]
8433
mov qword ptr [72+rax], r9
8434
mov r8, qword ptr [-40+128+rsp]
8435
mov qword ptr [80+rax], r8
8436
mov rdi, qword ptr [-32+128+rsp]
8437
mov qword ptr [88+rax], rdi
8438
mov rsi, qword ptr [-24+128+rsp]
8439
mov qword ptr [96+rax], rsi
8440
mov rbx, qword ptr [-16+128+rsp]
8441
mov qword ptr [104+rax], rbx
8442
mov rcx, qword ptr [-8+128+rsp]
8443
mov qword ptr [112+rax], rcx
8444
mov rdx, qword ptr [128+rsp]
8445
mov qword ptr [120+rax], rdx
8446
mov edx, dword ptr [8+rbp]
8449
lea ecx, dword ptr [-1+rdx]
8450
mov rsi, qword ptr [16+rbp]
8452
cmp dword ptr [rsi+r14*8], 0
8462
cmp dword ptr [rsi+r9*8], 0
8464
mov dword ptr [8+rbp], ecx
8469
mov eax, dword ptr [rbp]
8473
mov dword ptr [8+rbp], edx
8477
mov dword ptr [rbp], eax
8490
s_mp_sqr_comba_8 ENDP
8493
; void s_mp_sqr_comba_16(const mp_int *A, mp_int *B)
8496
s_mp_sqr_comba_16 PROC ; A "FRAME" function
8518
sub rsp, 256+32 ; +32 for "home" storage
8519
mov rcx, qword ptr [16+rdi]
8520
mov rax, qword ptr [rcx]
8525
mov qword ptr [-288+rbp], r8
8526
mov rax, qword ptr [rcx]
8527
mul qword ptr [8+rcx]
8534
mov qword ptr [-280+rbp], rbx
8535
mov rax, qword ptr [rcx]
8536
mul qword ptr [16+rcx]
8545
mov rax, qword ptr [8+rcx]
8550
mov qword ptr [-272+rbp], rsi
8554
mov rax, qword ptr [rcx]
8555
mul qword ptr [24+rcx]
8565
mov rax, qword ptr [8+rcx]
8566
mul qword ptr [16+rcx]
8574
mov qword ptr [-264+rbp], r10
8578
mov rax, qword ptr [rcx]
8579
mul qword ptr [32+rcx]
8586
mov rax, qword ptr [8+rcx]
8587
mul qword ptr [24+rcx]
8597
mov rax, qword ptr [16+rcx]
8602
mov qword ptr [-256+rbp], r13
8603
mov rax, qword ptr [rcx]
8604
mul qword ptr [40+rcx]
8608
mov rax, qword ptr [8+rcx]
8609
mul qword ptr [32+rcx]
8613
mov rax, qword ptr [16+rcx]
8614
mul qword ptr [24+rcx]
8624
mov qword ptr [-248+rbp], rbx
8625
mov rax, qword ptr [rcx]
8626
mul qword ptr [48+rcx]
8630
mov rax, qword ptr [8+rcx]
8631
mul qword ptr [40+rcx]
8635
mov rax, qword ptr [16+rcx]
8636
mul qword ptr [32+rcx]
8654
mov rax, qword ptr [24+rcx]
8659
mov qword ptr [-240+rbp], r10
8661
mov rax, qword ptr [rcx]
8662
mul qword ptr [56+rcx]
8666
mov rax, qword ptr [8+rcx]
8667
mul qword ptr [48+rcx]
8671
mov rax, qword ptr [16+rcx]
8672
mul qword ptr [40+rcx]
8676
mov rax, qword ptr [24+rcx]
8677
mul qword ptr [32+rcx]
8689
mov qword ptr [-232+rbp], rbx
8691
mov rax, qword ptr [rcx]
8692
mul qword ptr [64+rcx]
8696
mov rax, qword ptr [8+rcx]
8697
mul qword ptr [56+rcx]
8701
mov rax, qword ptr [16+rcx]
8702
mul qword ptr [48+rcx]
8706
mov rax, qword ptr [24+rcx]
8707
mul qword ptr [40+rcx]
8719
mov rax, qword ptr [32+rcx]
8725
mov qword ptr [-224+rbp], r10
8729
mov rax, qword ptr [rcx]
8730
mul qword ptr [72+rcx]
8734
mov rax, qword ptr [8+rcx]
8735
mul qword ptr [64+rcx]
8739
mov rax, qword ptr [16+rcx]
8740
mul qword ptr [56+rcx]
8744
mov rax, qword ptr [24+rcx]
8745
mul qword ptr [48+rcx]
8749
mov rax, qword ptr [32+rcx]
8750
mul qword ptr [40+rcx]
8760
mov qword ptr [-216+rbp], r11
8762
mov rax, qword ptr [rcx]
8763
mul qword ptr [80+rcx]
8767
mov rax, qword ptr [8+rcx]
8768
mul qword ptr [72+rcx]
8772
mov rax, qword ptr [16+rcx]
8773
mul qword ptr [64+rcx]
8777
mov rax, qword ptr [24+rcx]
8778
mul qword ptr [56+rcx]
8782
mov rax, qword ptr [32+rcx]
8783
mul qword ptr [48+rcx]
8801
mov rax, qword ptr [40+rcx]
8806
mov qword ptr [-208+rbp], r10
8808
mov rax, qword ptr [rcx]
8809
mul qword ptr [88+rcx]
8813
mov rax, qword ptr [8+rcx]
8814
mul qword ptr [80+rcx]
8818
mov rax, qword ptr [16+rcx]
8819
mul qword ptr [72+rcx]
8823
mov rax, qword ptr [24+rcx]
8824
mul qword ptr [64+rcx]
8828
mov rax, qword ptr [32+rcx]
8829
mul qword ptr [56+rcx]
8833
mov rax, qword ptr [40+rcx]
8834
mul qword ptr [48+rcx]
8846
mov qword ptr [-200+rbp], r11
8848
mov rax, qword ptr [rcx]
8849
mul qword ptr [96+rcx]
8853
mov rax, qword ptr [8+rcx]
8854
mul qword ptr [88+rcx]
8858
mov rax, qword ptr [16+rcx]
8859
mul qword ptr [80+rcx]
8863
mov rax, qword ptr [24+rcx]
8864
mul qword ptr [72+rcx]
8868
mov rax, qword ptr [32+rcx]
8869
mul qword ptr [64+rcx]
8873
mov rax, qword ptr [40+rcx]
8874
mul qword ptr [56+rcx]
8890
mov rax, qword ptr [48+rcx]
8896
mov qword ptr [-192+rbp], r10
8898
mov rax, qword ptr [rcx]
8899
mul qword ptr [104+rcx]
8904
mov rax, qword ptr [8+rcx]
8905
mul qword ptr [96+rcx]
8909
mov rax, qword ptr [16+rcx]
8910
mul qword ptr [88+rcx]
8914
mov rax, qword ptr [24+rcx]
8915
mul qword ptr [80+rcx]
8919
mov rax, qword ptr [32+rcx]
8920
mul qword ptr [72+rcx]
8924
mov rax, qword ptr [40+rcx]
8925
mul qword ptr [64+rcx]
8929
mov rax, qword ptr [48+rcx]
8930
mul qword ptr [56+rcx]
8940
mov qword ptr [-184+rbp], r12
8942
mov rax, qword ptr [rcx]
8943
mul qword ptr [112+rcx]
8947
mov rax, qword ptr [8+rcx]
8948
mul qword ptr [104+rcx]
8952
mov rax, qword ptr [16+rcx]
8953
mul qword ptr [96+rcx]
8957
mov rax, qword ptr [24+rcx]
8958
mul qword ptr [88+rcx]
8962
mov rax, qword ptr [32+rcx]
8963
mul qword ptr [80+rcx]
8967
mov rax, qword ptr [40+rcx]
8968
mul qword ptr [72+rcx]
8972
mov rax, qword ptr [48+rcx]
8973
mul qword ptr [64+rcx]
8989
mov rax, qword ptr [56+rcx]
8995
mov qword ptr [-176+rbp], r10
8997
mov rax, qword ptr [rcx]
8998
mul qword ptr [120+rcx]
9003
mov rax, qword ptr [8+rcx]
9004
mul qword ptr [112+rcx]
9008
mov rax, qword ptr [16+rcx]
9009
mul qword ptr [104+rcx]
9013
mov rax, qword ptr [24+rcx]
9014
mul qword ptr [96+rcx]
9018
mov rax, qword ptr [32+rcx]
9019
mul qword ptr [88+rcx]
9023
mov rax, qword ptr [40+rcx]
9024
mul qword ptr [80+rcx]
9028
mov rax, qword ptr [48+rcx]
9029
mul qword ptr [72+rcx]
9033
mov rax, qword ptr [56+rcx]
9034
mul qword ptr [64+rcx]
9044
mov qword ptr [-168+rbp], r12
9046
mov rax, qword ptr [8+rcx]
9047
mul qword ptr [120+rcx]
9051
mov rax, qword ptr [16+rcx]
9052
mul qword ptr [112+rcx]
9056
mov rax, qword ptr [24+rcx]
9057
mul qword ptr [104+rcx]
9061
mov rax, qword ptr [32+rcx]
9062
mul qword ptr [96+rcx]
9066
mov rax, qword ptr [40+rcx]
9067
mul qword ptr [88+rcx]
9071
mov rax, qword ptr [48+rcx]
9072
mul qword ptr [80+rcx]
9076
mov rax, qword ptr [56+rcx]
9077
mul qword ptr [72+rcx]
9093
mov rax, qword ptr [64+rcx]
9099
mov qword ptr [-160+rbp], r10
9101
mov rax, qword ptr [16+rcx]
9102
mul qword ptr [120+rcx]
9108
mov rax, qword ptr [24+rcx]
9109
mul qword ptr [112+rcx]
9113
mov rax, qword ptr [32+rcx]
9114
mul qword ptr [104+rcx]
9118
mov rax, qword ptr [40+rcx]
9119
mul qword ptr [96+rcx]
9123
mov rax, qword ptr [48+rcx]
9124
mul qword ptr [88+rcx]
9128
mov rax, qword ptr [56+rcx]
9129
mul qword ptr [80+rcx]
9133
mov rax, qword ptr [64+rcx]
9134
mul qword ptr [72+rcx]
9144
mov qword ptr [-152+rbp], r12
9145
mov rax, qword ptr [24+rcx]
9146
mul qword ptr [120+rcx]
9150
mov rax, qword ptr [32+rcx]
9151
mul qword ptr [112+rcx]
9155
mov rax, qword ptr [40+rcx]
9156
mul qword ptr [104+rcx]
9160
mov rax, qword ptr [48+rcx]
9161
mul qword ptr [96+rcx]
9165
mov rax, qword ptr [56+rcx]
9166
mul qword ptr [88+rcx]
9170
mov rax, qword ptr [64+rcx]
9171
mul qword ptr [80+rcx]
9189
mov rax, qword ptr [72+rcx]
9194
mov qword ptr [-144+rbp], r10
9196
mov rax, qword ptr [32+rcx]
9197
mul qword ptr [120+rcx]
9201
mov rax, qword ptr [40+rcx]
9202
mul qword ptr [112+rcx]
9206
mov rax, qword ptr [48+rcx]
9207
mul qword ptr [104+rcx]
9211
mov rax, qword ptr [56+rcx]
9212
mul qword ptr [96+rcx]
9216
mov rax, qword ptr [64+rcx]
9217
mul qword ptr [88+rcx]
9221
mov rax, qword ptr [72+rcx]
9222
mul qword ptr [80+rcx]
9232
mov qword ptr [-136+rbp], rbx
9234
mov rax, qword ptr [40+rcx]
9235
mul qword ptr [120+rcx]
9239
mov rax, qword ptr [48+rcx]
9240
mul qword ptr [112+rcx]
9244
mov rax, qword ptr [56+rcx]
9245
mul qword ptr [104+rcx]
9249
mov rax, qword ptr [64+rcx]
9250
mul qword ptr [96+rcx]
9254
mov rax, qword ptr [72+rcx]
9255
mul qword ptr [88+rcx]
9273
mov rax, qword ptr [80+rcx]
9278
mov qword ptr [-128+rbp], r10
9280
mov rax, qword ptr [48+rcx]
9281
mul qword ptr [120+rcx]
9285
mov rax, qword ptr [56+rcx]
9286
mul qword ptr [112+rcx]
9290
mov rax, qword ptr [64+rcx]
9291
mul qword ptr [104+rcx]
9295
mov rax, qword ptr [72+rcx]
9296
mul qword ptr [96+rcx]
9300
mov rax, qword ptr [80+rcx]
9301
mul qword ptr [88+rcx]
9312
mov qword ptr [-120+rbp], rbx
9315
mov rax, qword ptr [56+rcx]
9316
mul qword ptr [120+rcx]
9320
mov rax, qword ptr [64+rcx]
9321
mul qword ptr [112+rcx]
9325
mov rax, qword ptr [72+rcx]
9326
mul qword ptr [104+rcx]
9330
mov rax, qword ptr [80+rcx]
9331
mul qword ptr [96+rcx]
9349
mov rax, qword ptr [88+rcx]
9354
mov qword ptr [-112+rbp], r10
9356
mov rax, qword ptr [64+rcx]
9357
mul qword ptr [120+rcx]
9361
mov rax, qword ptr [72+rcx]
9362
mul qword ptr [112+rcx]
9366
mov rax, qword ptr [80+rcx]
9367
mul qword ptr [104+rcx]
9371
mov rax, qword ptr [88+rcx]
9372
mul qword ptr [96+rcx]
9382
mov qword ptr [-104+rbp], rbx
9384
mov rax, qword ptr [72+rcx]
9385
mul qword ptr [120+rcx]
9389
mov rax, qword ptr [80+rcx]
9390
mul qword ptr [112+rcx]
9394
mov rax, qword ptr [88+rcx]
9395
mul qword ptr [104+rcx]
9413
mov rax, qword ptr [96+rcx]
9418
mov qword ptr [-96+rbp], r10
9420
mov rax, qword ptr [80+rcx]
9421
mul qword ptr [120+rcx]
9425
mov rax, qword ptr [88+rcx]
9426
mul qword ptr [112+rcx]
9430
mov rax, qword ptr [96+rcx]
9431
mul qword ptr [104+rcx]
9445
mov qword ptr [-88+rbp], rbx
9448
mov rax, qword ptr [88+rcx]
9449
mul qword ptr [120+rcx]
9457
mov rax, qword ptr [96+rcx]
9458
mul qword ptr [112+rcx]
9468
mov rax, qword ptr [104+rcx]
9473
mov qword ptr [-80+rbp], r13
9476
mov rax, qword ptr [96+rcx]
9477
mul qword ptr [120+rcx]
9486
mov rax, qword ptr [104+rcx]
9487
mul qword ptr [112+rcx]
9494
mov qword ptr [-72+rbp], r10
9497
mov rax, qword ptr [104+rcx]
9498
mul qword ptr [120+rcx]
9507
mov rax, qword ptr [112+rcx]
9512
mov qword ptr [-64+rbp], rbx
9516
mov rax, qword ptr [112+rcx]
9517
mul qword ptr [120+rcx]
9524
mov qword ptr [-56+rbp], rdi
9526
mov rax, qword ptr [120+rcx]
9531
mov qword ptr [-48+rbp], rsi
9532
mov qword ptr [-40+rbp], r8
9533
mov dword ptr [8+r14], 32
9534
mov dword ptr [r14], 0
9535
; mov rdi, qword ptr [16+r14]
9536
; lea rsi, qword ptr [-288+rbp]
9538
mov rcx, qword ptr [16+r14]
9539
lea rdx, qword ptr [-288+rbp]
9542
mov edx, dword ptr [8+r14]
9545
lea ecx, dword ptr [-1+rdx]
9546
mov rsi, qword ptr [16+r14]
9548
cmp dword ptr [rsi+r9*8], 0
9558
cmp dword ptr [rsi+rax*8], 0
9560
mov dword ptr [8+r14], ecx
9565
mov eax, dword ptr [r14]
9569
mov dword ptr [8+r14], edx
9573
mov dword ptr [r14], eax
9574
add rsp, 256+32 ; +32 for "home" storage
9585
s_mp_sqr_comba_16 ENDP
9588
; void s_mp_sqr_comba_32(const mp_int *A, mp_int *B);
9591
s_mp_sqr_comba_32 PROC ; A "FRAME" function
9613
sub rsp, 512+32 ; +32 for "home" storage
9614
mov rcx, qword ptr [16+rdi]
9615
mov rax, qword ptr [rcx]
9620
mov qword ptr [-544+rbp], r8
9621
mov rax, qword ptr [rcx]
9622
mul qword ptr [8+rcx]
9629
mov qword ptr [-536+rbp], rbx
9630
mov rax, qword ptr [rcx]
9631
mul qword ptr [16+rcx]
9640
mov rax, qword ptr [8+rcx]
9645
mov qword ptr [-528+rbp], rsi
9649
mov rax, qword ptr [rcx]
9650
mul qword ptr [24+rcx]
9660
mov rax, qword ptr [8+rcx]
9661
mul qword ptr [16+rcx]
9669
mov qword ptr [-520+rbp], r9
9673
mov rax, qword ptr [rcx]
9674
mul qword ptr [32+rcx]
9681
mov rax, qword ptr [8+rcx]
9682
mul qword ptr [24+rcx]
9692
mov rax, qword ptr [16+rcx]
9697
mov qword ptr [-512+rbp], r13
9698
mov rax, qword ptr [rcx]
9699
mul qword ptr [40+rcx]
9703
mov rax, qword ptr [8+rcx]
9704
mul qword ptr [32+rcx]
9708
mov rax, qword ptr [16+rcx]
9709
mul qword ptr [24+rcx]
9719
mov qword ptr [-504+rbp], rbx
9720
mov rax, qword ptr [rcx]
9721
mul qword ptr [48+rcx]
9725
mov rax, qword ptr [8+rcx]
9726
mul qword ptr [40+rcx]
9730
mov rax, qword ptr [16+rcx]
9731
mul qword ptr [32+rcx]
9749
mov rax, qword ptr [24+rcx]
9754
mov qword ptr [-496+rbp], r9
9756
mov rax, qword ptr [rcx]
9757
mul qword ptr [56+rcx]
9761
mov rax, qword ptr [8+rcx]
9762
mul qword ptr [48+rcx]
9766
mov rax, qword ptr [16+rcx]
9767
mul qword ptr [40+rcx]
9771
mov rax, qword ptr [24+rcx]
9772
mul qword ptr [32+rcx]
9784
mov qword ptr [-488+rbp], rbx
9786
mov rax, qword ptr [rcx]
9787
mul qword ptr [64+rcx]
9791
mov rax, qword ptr [8+rcx]
9792
mul qword ptr [56+rcx]
9796
mov rax, qword ptr [16+rcx]
9797
mul qword ptr [48+rcx]
9801
mov rax, qword ptr [24+rcx]
9802
mul qword ptr [40+rcx]
9814
mov rax, qword ptr [32+rcx]
9820
mov qword ptr [-480+rbp], r9
9824
mov rax, qword ptr [rcx]
9825
mul qword ptr [72+rcx]
9829
mov rax, qword ptr [8+rcx]
9830
mul qword ptr [64+rcx]
9834
mov rax, qword ptr [16+rcx]
9835
mul qword ptr [56+rcx]
9839
mov rax, qword ptr [24+rcx]
9840
mul qword ptr [48+rcx]
9844
mov rax, qword ptr [32+rcx]
9845
mul qword ptr [40+rcx]
9855
mov qword ptr [-472+rbp], r11
9857
mov rax, qword ptr [rcx]
9858
mul qword ptr [80+rcx]
9862
mov rax, qword ptr [8+rcx]
9863
mul qword ptr [72+rcx]
9867
mov rax, qword ptr [16+rcx]
9868
mul qword ptr [64+rcx]
9872
mov rax, qword ptr [24+rcx]
9873
mul qword ptr [56+rcx]
9877
mov rax, qword ptr [32+rcx]
9878
mul qword ptr [48+rcx]
9896
mov rax, qword ptr [40+rcx]
9901
mov qword ptr [-464+rbp], r9
9903
mov rax, qword ptr [rcx]
9904
mul qword ptr [88+rcx]
9908
mov rax, qword ptr [8+rcx]
9909
mul qword ptr [80+rcx]
9913
mov rax, qword ptr [16+rcx]
9914
mul qword ptr [72+rcx]
9918
mov rax, qword ptr [24+rcx]
9919
mul qword ptr [64+rcx]
9923
mov rax, qword ptr [32+rcx]
9924
mul qword ptr [56+rcx]
9928
mov rax, qword ptr [40+rcx]
9929
mul qword ptr [48+rcx]
9941
mov qword ptr [-456+rbp], r11
9944
mov rax, qword ptr [rcx]
9945
mul qword ptr [96+rcx]
9949
mov rax, qword ptr [8+rcx]
9950
mul qword ptr [88+rcx]
9954
mov rax, qword ptr [16+rcx]
9955
mul qword ptr [80+rcx]
9959
mov rax, qword ptr [24+rcx]
9960
mul qword ptr [72+rcx]
9964
mov rax, qword ptr [32+rcx]
9965
mul qword ptr [64+rcx]
9969
mov rax, qword ptr [40+rcx]
9970
mul qword ptr [56+rcx]
9984
mov rax, qword ptr [48+rcx]
9990
mov qword ptr [-448+rbp], r9
9992
mov rax, qword ptr [rcx]
9993
mul qword ptr [104+rcx]
9998
mov rax, qword ptr [8+rcx]
9999
mul qword ptr [96+rcx]
10003
mov rax, qword ptr [16+rcx]
10004
mul qword ptr [88+rcx]
10008
mov rax, qword ptr [24+rcx]
10009
mul qword ptr [80+rcx]
10013
mov rax, qword ptr [32+rcx]
10014
mul qword ptr [72+rcx]
10018
mov rax, qword ptr [40+rcx]
10019
mul qword ptr [64+rcx]
10023
mov rax, qword ptr [48+rcx]
10024
mul qword ptr [56+rcx]
10034
mov qword ptr [-440+rbp], r12
10036
mov rax, qword ptr [rcx]
10037
mul qword ptr [112+rcx]
10041
mov rax, qword ptr [8+rcx]
10042
mul qword ptr [104+rcx]
10046
mov rax, qword ptr [16+rcx]
10047
mul qword ptr [96+rcx]
10051
mov rax, qword ptr [24+rcx]
10052
mul qword ptr [88+rcx]
10056
mov rax, qword ptr [32+rcx]
10057
mul qword ptr [80+rcx]
10061
mov rax, qword ptr [40+rcx]
10062
mul qword ptr [72+rcx]
10066
mov rax, qword ptr [48+rcx]
10067
mul qword ptr [64+rcx]
10086
mov rax, qword ptr [56+rcx]
10091
mov qword ptr [-432+rbp], r9
10094
mov rax, qword ptr [rcx]
10095
mul qword ptr [120+rcx]
10099
mov rax, qword ptr [8+rcx]
10100
mul qword ptr [112+rcx]
10104
mov rax, qword ptr [16+rcx]
10105
mul qword ptr [104+rcx]
10109
mov rax, qword ptr [24+rcx]
10110
mul qword ptr [96+rcx]
10114
mov rax, qword ptr [32+rcx]
10115
mul qword ptr [88+rcx]
10119
mov rax, qword ptr [40+rcx]
10120
mul qword ptr [80+rcx]
10124
mov rax, qword ptr [48+rcx]
10125
mul qword ptr [72+rcx]
10129
mov rax, qword ptr [56+rcx]
10130
mul qword ptr [64+rcx]
10143
mov qword ptr [-424+rbp], r12
10149
mov rax, qword ptr [rcx]
10150
mul qword ptr [128+rcx]
10154
mov rax, qword ptr [8+rcx]
10155
mul qword ptr [120+rcx]
10159
mov rax, qword ptr [16+rcx]
10160
mul qword ptr [112+rcx]
10164
mov rax, qword ptr [24+rcx]
10165
mul qword ptr [104+rcx]
10169
mov rax, qword ptr [32+rcx]
10170
mul qword ptr [96+rcx]
10174
mov rax, qword ptr [40+rcx]
10175
mul qword ptr [88+rcx]
10179
mov rax, qword ptr [48+rcx]
10180
mul qword ptr [80+rcx]
10184
mov rax, qword ptr [56+rcx]
10185
mul qword ptr [72+rcx]
10201
mov rax, qword ptr [64+rcx]
10207
mov qword ptr [-416+rbp], r9
10209
mov rax, qword ptr [rcx]
10210
mul qword ptr [136+rcx]
10215
mov rax, qword ptr [8+rcx]
10216
mul qword ptr [128+rcx]
10220
mov rax, qword ptr [16+rcx]
10221
mul qword ptr [120+rcx]
10225
mov rax, qword ptr [24+rcx]
10226
mul qword ptr [112+rcx]
10230
mov rax, qword ptr [32+rcx]
10231
mul qword ptr [104+rcx]
10235
mov rax, qword ptr [40+rcx]
10236
mul qword ptr [96+rcx]
10240
mov rax, qword ptr [48+rcx]
10241
mul qword ptr [88+rcx]
10245
mov rax, qword ptr [56+rcx]
10246
mul qword ptr [80+rcx]
10250
mov rax, qword ptr [64+rcx]
10251
mul qword ptr [72+rcx]
10264
mov qword ptr [-408+rbp], r12
10270
mov rax, qword ptr [rcx]
10271
mul qword ptr [144+rcx]
10275
mov rax, qword ptr [8+rcx]
10276
mul qword ptr [136+rcx]
10280
mov rax, qword ptr [16+rcx]
10281
mul qword ptr [128+rcx]
10285
mov rax, qword ptr [24+rcx]
10286
mul qword ptr [120+rcx]
10290
mov rax, qword ptr [32+rcx]
10291
mul qword ptr [112+rcx]
10295
mov rax, qword ptr [40+rcx]
10296
mul qword ptr [104+rcx]
10300
mov rax, qword ptr [48+rcx]
10301
mul qword ptr [96+rcx]
10305
mov rax, qword ptr [56+rcx]
10306
mul qword ptr [88+rcx]
10310
mov rax, qword ptr [64+rcx]
10311
mul qword ptr [80+rcx]
10327
mov rax, qword ptr [72+rcx]
10333
mov qword ptr [-400+rbp], r9
10335
mov rax, qword ptr [rcx]
10336
mul qword ptr [152+rcx]
10341
mov rax, qword ptr [8+rcx]
10342
mul qword ptr [144+rcx]
10346
mov rax, qword ptr [16+rcx]
10347
mul qword ptr [136+rcx]
10351
mov rax, qword ptr [24+rcx]
10352
mul qword ptr [128+rcx]
10356
mov rax, qword ptr [32+rcx]
10357
mul qword ptr [120+rcx]
10361
mov rax, qword ptr [40+rcx]
10362
mul qword ptr [112+rcx]
10366
mov rax, qword ptr [48+rcx]
10367
mul qword ptr [104+rcx]
10371
mov rax, qword ptr [56+rcx]
10372
mul qword ptr [96+rcx]
10376
mov rax, qword ptr [64+rcx]
10377
mul qword ptr [88+rcx]
10381
mov rax, qword ptr [72+rcx]
10382
mul qword ptr [80+rcx]
10395
mov qword ptr [-392+rbp], r12
10401
mov rax, qword ptr [rcx]
10402
mul qword ptr [160+rcx]
10406
mov rax, qword ptr [8+rcx]
10407
mul qword ptr [152+rcx]
10411
mov rax, qword ptr [16+rcx]
10412
mul qword ptr [144+rcx]
10416
mov rax, qword ptr [24+rcx]
10417
mul qword ptr [136+rcx]
10421
mov rax, qword ptr [32+rcx]
10422
mul qword ptr [128+rcx]
10426
mov rax, qword ptr [40+rcx]
10427
mul qword ptr [120+rcx]
10431
mov rax, qword ptr [48+rcx]
10432
mul qword ptr [112+rcx]
10436
mov rax, qword ptr [56+rcx]
10437
mul qword ptr [104+rcx]
10441
mov rax, qword ptr [64+rcx]
10442
mul qword ptr [96+rcx]
10446
mov rax, qword ptr [72+rcx]
10447
mul qword ptr [88+rcx]
10463
mov rax, qword ptr [80+rcx]
10469
mov qword ptr [-384+rbp], r9
10471
mov rax, qword ptr [rcx]
10472
mul qword ptr [168+rcx]
10477
mov rax, qword ptr [8+rcx]
10478
mul qword ptr [160+rcx]
10482
mov rax, qword ptr [16+rcx]
10483
mul qword ptr [152+rcx]
10487
mov rax, qword ptr [24+rcx]
10488
mul qword ptr [144+rcx]
10492
mov rax, qword ptr [32+rcx]
10493
mul qword ptr [136+rcx]
10497
mov rax, qword ptr [40+rcx]
10498
mul qword ptr [128+rcx]
10502
mov rax, qword ptr [48+rcx]
10503
mul qword ptr [120+rcx]
10507
mov rax, qword ptr [56+rcx]
10508
mul qword ptr [112+rcx]
10512
mov rax, qword ptr [64+rcx]
10513
mul qword ptr [104+rcx]
10517
mov rax, qword ptr [72+rcx]
10518
mul qword ptr [96+rcx]
10522
mov rax, qword ptr [80+rcx]
10523
mul qword ptr [88+rcx]
10536
mov qword ptr [-376+rbp], r12
10542
mov rax, qword ptr [rcx]
10543
mul qword ptr [176+rcx]
10547
mov rax, qword ptr [8+rcx]
10548
mul qword ptr [168+rcx]
10552
mov rax, qword ptr [16+rcx]
10553
mul qword ptr [160+rcx]
10557
mov rax, qword ptr [24+rcx]
10558
mul qword ptr [152+rcx]
10562
mov rax, qword ptr [32+rcx]
10563
mul qword ptr [144+rcx]
10567
mov rax, qword ptr [40+rcx]
10568
mul qword ptr [136+rcx]
10572
mov rax, qword ptr [48+rcx]
10573
mul qword ptr [128+rcx]
10577
mov rax, qword ptr [56+rcx]
10578
mul qword ptr [120+rcx]
10582
mov rax, qword ptr [64+rcx]
10583
mul qword ptr [112+rcx]
10587
mov rax, qword ptr [72+rcx]
10588
mul qword ptr [104+rcx]
10592
mov rax, qword ptr [80+rcx]
10593
mul qword ptr [96+rcx]
10609
mov rax, qword ptr [88+rcx]
10615
mov qword ptr [-368+rbp], r9
10617
mov rax, qword ptr [rcx]
10618
mul qword ptr [184+rcx]
10623
mov rax, qword ptr [8+rcx]
10624
mul qword ptr [176+rcx]
10628
mov rax, qword ptr [16+rcx]
10629
mul qword ptr [168+rcx]
10633
mov rax, qword ptr [24+rcx]
10634
mul qword ptr [160+rcx]
10638
mov rax, qword ptr [32+rcx]
10639
mul qword ptr [152+rcx]
10643
mov rax, qword ptr [40+rcx]
10644
mul qword ptr [144+rcx]
10648
mov rax, qword ptr [48+rcx]
10649
mul qword ptr [136+rcx]
10653
mov rax, qword ptr [56+rcx]
10654
mul qword ptr [128+rcx]
10658
mov rax, qword ptr [64+rcx]
10659
mul qword ptr [120+rcx]
10663
mov rax, qword ptr [72+rcx]
10664
mul qword ptr [112+rcx]
10668
mov rax, qword ptr [80+rcx]
10669
mul qword ptr [104+rcx]
10673
mov rax, qword ptr [88+rcx]
10674
mul qword ptr [96+rcx]
10688
mov qword ptr [-360+rbp], r12
10693
mov rax, qword ptr [rcx]
10694
mul qword ptr [192+rcx]
10698
mov rax, qword ptr [8+rcx]
10699
mul qword ptr [184+rcx]
10703
mov rax, qword ptr [16+rcx]
10704
mul qword ptr [176+rcx]
10708
mov rax, qword ptr [24+rcx]
10709
mul qword ptr [168+rcx]
10713
mov rax, qword ptr [32+rcx]
10714
mul qword ptr [160+rcx]
10718
mov rax, qword ptr [40+rcx]
10719
mul qword ptr [152+rcx]
10723
mov rax, qword ptr [48+rcx]
10724
mul qword ptr [144+rcx]
10728
mov rax, qword ptr [56+rcx]
10729
mul qword ptr [136+rcx]
10733
mov rax, qword ptr [64+rcx]
10734
mul qword ptr [128+rcx]
10738
mov rax, qword ptr [72+rcx]
10739
mul qword ptr [120+rcx]
10743
mov rax, qword ptr [80+rcx]
10744
mul qword ptr [112+rcx]
10748
mov rax, qword ptr [88+rcx]
10749
mul qword ptr [104+rcx]
10763
mov rax, qword ptr [96+rcx]
10769
mov qword ptr [-352+rbp], r9
10771
mov rax, qword ptr [rcx]
10772
mul qword ptr [200+rcx]
10777
mov rax, qword ptr [8+rcx]
10778
mul qword ptr [192+rcx]
10782
mov rax, qword ptr [16+rcx]
10783
mul qword ptr [184+rcx]
10787
mov rax, qword ptr [24+rcx]
10788
mul qword ptr [176+rcx]
10792
mov rax, qword ptr [32+rcx]
10793
mul qword ptr [168+rcx]
10797
mov rax, qword ptr [40+rcx]
10798
mul qword ptr [160+rcx]
10802
mov rax, qword ptr [48+rcx]
10803
mul qword ptr [152+rcx]
10807
mov rax, qword ptr [56+rcx]
10808
mul qword ptr [144+rcx]
10812
mov rax, qword ptr [64+rcx]
10813
mul qword ptr [136+rcx]
10817
mov rax, qword ptr [72+rcx]
10818
mul qword ptr [128+rcx]
10822
mov rax, qword ptr [80+rcx]
10823
mul qword ptr [120+rcx]
10827
mov rax, qword ptr [88+rcx]
10828
mul qword ptr [112+rcx]
10832
mov rax, qword ptr [96+rcx]
10833
mul qword ptr [104+rcx]
10843
mov qword ptr [-344+rbp], r12
10845
mov rax, qword ptr [rcx]
10846
mul qword ptr [208+rcx]
10850
mov rax, qword ptr [8+rcx]
10851
mul qword ptr [200+rcx]
10855
mov rax, qword ptr [16+rcx]
10856
mul qword ptr [192+rcx]
10860
mov rax, qword ptr [24+rcx]
10861
mul qword ptr [184+rcx]
10865
mov rax, qword ptr [32+rcx]
10866
mul qword ptr [176+rcx]
10870
mov rax, qword ptr [40+rcx]
10871
mul qword ptr [168+rcx]
10875
mov rax, qword ptr [48+rcx]
10876
mul qword ptr [160+rcx]
10880
mov rax, qword ptr [56+rcx]
10881
mul qword ptr [152+rcx]
10885
mov rax, qword ptr [64+rcx]
10886
mul qword ptr [144+rcx]
10890
mov rax, qword ptr [72+rcx]
10891
mul qword ptr [136+rcx]
10895
mov rax, qword ptr [80+rcx]
10896
mul qword ptr [128+rcx]
10900
mov rax, qword ptr [88+rcx]
10901
mul qword ptr [120+rcx]
10905
mov rax, qword ptr [96+rcx]
10906
mul qword ptr [112+rcx]
10925
mov rax, qword ptr [104+rcx]
10930
mov qword ptr [-336+rbp], r9
10933
mov rax, qword ptr [rcx]
10934
mul qword ptr [216+rcx]
10938
mov rax, qword ptr [8+rcx]
10939
mul qword ptr [208+rcx]
10943
mov rax, qword ptr [16+rcx]
10944
mul qword ptr [200+rcx]
10948
mov rax, qword ptr [24+rcx]
10949
mul qword ptr [192+rcx]
10953
mov rax, qword ptr [32+rcx]
10954
mul qword ptr [184+rcx]
10958
mov rax, qword ptr [40+rcx]
10959
mul qword ptr [176+rcx]
10963
mov rax, qword ptr [48+rcx]
10964
mul qword ptr [168+rcx]
10968
mov rax, qword ptr [56+rcx]
10969
mul qword ptr [160+rcx]
10973
mov rax, qword ptr [64+rcx]
10974
mul qword ptr [152+rcx]
10978
mov rax, qword ptr [72+rcx]
10979
mul qword ptr [144+rcx]
10983
mov rax, qword ptr [80+rcx]
10984
mul qword ptr [136+rcx]
10988
mov rax, qword ptr [88+rcx]
10989
mul qword ptr [128+rcx]
10993
mov rax, qword ptr [96+rcx]
10994
mul qword ptr [120+rcx]
10998
mov rax, qword ptr [104+rcx]
10999
mul qword ptr [112+rcx]
11009
mov qword ptr [-328+rbp], r12
11010
mov rax, qword ptr [rcx]
11011
mul qword ptr [224+rcx]
11015
mov rax, qword ptr [8+rcx]
11016
mul qword ptr [216+rcx]
11020
mov rax, qword ptr [16+rcx]
11021
mul qword ptr [208+rcx]
11025
mov rax, qword ptr [24+rcx]
11026
mul qword ptr [200+rcx]
11030
mov rax, qword ptr [32+rcx]
11031
mul qword ptr [192+rcx]
11035
mov rax, qword ptr [40+rcx]
11036
mul qword ptr [184+rcx]
11040
mov rax, qword ptr [48+rcx]
11041
mul qword ptr [176+rcx]
11045
mov rax, qword ptr [56+rcx]
11046
mul qword ptr [168+rcx]
11050
mov rax, qword ptr [64+rcx]
11051
mul qword ptr [160+rcx]
11055
mov rax, qword ptr [72+rcx]
11056
mul qword ptr [152+rcx]
11060
mov rax, qword ptr [80+rcx]
11061
mul qword ptr [144+rcx]
11065
mov rax, qword ptr [88+rcx]
11066
mul qword ptr [136+rcx]
11070
mov rax, qword ptr [96+rcx]
11071
mul qword ptr [128+rcx]
11075
mov rax, qword ptr [104+rcx]
11076
mul qword ptr [120+rcx]
11096
mov rax, qword ptr [112+rcx]
11101
mov qword ptr [-320+rbp], r9
11104
mov rax, qword ptr [rcx]
11105
mul qword ptr [232+rcx]
11109
mov rax, qword ptr [8+rcx]
11110
mul qword ptr [224+rcx]
11114
mov rax, qword ptr [16+rcx]
11115
mul qword ptr [216+rcx]
11119
mov rax, qword ptr [24+rcx]
11120
mul qword ptr [208+rcx]
11124
mov rax, qword ptr [32+rcx]
11125
mul qword ptr [200+rcx]
11129
mov rax, qword ptr [40+rcx]
11130
mul qword ptr [192+rcx]
11134
mov rax, qword ptr [48+rcx]
11135
mul qword ptr [184+rcx]
11139
mov rax, qword ptr [56+rcx]
11140
mul qword ptr [176+rcx]
11144
mov rax, qword ptr [64+rcx]
11145
mul qword ptr [168+rcx]
11149
mov rax, qword ptr [72+rcx]
11150
mul qword ptr [160+rcx]
11154
mov rax, qword ptr [80+rcx]
11155
mul qword ptr [152+rcx]
11159
mov rax, qword ptr [88+rcx]
11160
mul qword ptr [144+rcx]
11164
mov rax, qword ptr [96+rcx]
11165
mul qword ptr [136+rcx]
11169
mov rax, qword ptr [104+rcx]
11170
mul qword ptr [128+rcx]
11174
mov rax, qword ptr [112+rcx]
11175
mul qword ptr [120+rcx]
11185
mov qword ptr [-312+rbp], r12
11187
mov rax, qword ptr [rcx]
11188
mul qword ptr [240+rcx]
11192
mov rax, qword ptr [8+rcx]
11193
mul qword ptr [232+rcx]
11197
mov rax, qword ptr [16+rcx]
11198
mul qword ptr [224+rcx]
11202
mov rax, qword ptr [24+rcx]
11203
mul qword ptr [216+rcx]
11207
mov rax, qword ptr [32+rcx]
11208
mul qword ptr [208+rcx]
11212
mov rax, qword ptr [40+rcx]
11213
mul qword ptr [200+rcx]
11217
mov rax, qword ptr [48+rcx]
11218
mul qword ptr [192+rcx]
11222
mov rax, qword ptr [56+rcx]
11223
mul qword ptr [184+rcx]
11227
mov rax, qword ptr [64+rcx]
11228
mul qword ptr [176+rcx]
11232
mov rax, qword ptr [72+rcx]
11233
mul qword ptr [168+rcx]
11237
mov rax, qword ptr [80+rcx]
11238
mul qword ptr [160+rcx]
11242
mov rax, qword ptr [88+rcx]
11243
mul qword ptr [152+rcx]
11247
mov rax, qword ptr [96+rcx]
11248
mul qword ptr [144+rcx]
11252
mov rax, qword ptr [104+rcx]
11253
mul qword ptr [136+rcx]
11257
mov rax, qword ptr [112+rcx]
11258
mul qword ptr [128+rcx]
11277
mov rax, qword ptr [120+rcx]
11282
mov qword ptr [-304+rbp], rbx
11285
mov rax, qword ptr [rcx]
11286
mul qword ptr [248+rcx]
11290
mov rax, qword ptr [8+rcx]
11291
mul qword ptr [240+rcx]
11295
mov rax, qword ptr [16+rcx]
11296
mul qword ptr [232+rcx]
11300
mov rax, qword ptr [24+rcx]
11301
mul qword ptr [224+rcx]
11305
mov rax, qword ptr [32+rcx]
11306
mul qword ptr [216+rcx]
11310
mov rax, qword ptr [40+rcx]
11311
mul qword ptr [208+rcx]
11315
mov rax, qword ptr [48+rcx]
11316
mul qword ptr [200+rcx]
11320
mov rax, qword ptr [56+rcx]
11321
mul qword ptr [192+rcx]
11325
mov rax, qword ptr [64+rcx]
11326
mul qword ptr [184+rcx]
11330
mov rax, qword ptr [72+rcx]
11331
mul qword ptr [176+rcx]
11335
mov rax, qword ptr [80+rcx]
11336
mul qword ptr [168+rcx]
11340
mov rax, qword ptr [88+rcx]
11341
mul qword ptr [160+rcx]
11345
mov rax, qword ptr [96+rcx]
11346
mul qword ptr [152+rcx]
11350
mov rax, qword ptr [104+rcx]
11351
mul qword ptr [144+rcx]
11355
mov rax, qword ptr [112+rcx]
11356
mul qword ptr [136+rcx]
11360
mov rax, qword ptr [120+rcx]
11361
mul qword ptr [128+rcx]
11371
mov qword ptr [-296+rbp], r12
11374
mov rax, qword ptr [8+rcx]
11375
mul qword ptr [248+rcx]
11379
mov rax, qword ptr [16+rcx]
11380
mul qword ptr [240+rcx]
11384
mov rax, qword ptr [24+rcx]
11385
mul qword ptr [232+rcx]
11389
mov rax, qword ptr [32+rcx]
11390
mul qword ptr [224+rcx]
11394
mov rax, qword ptr [40+rcx]
11395
mul qword ptr [216+rcx]
11399
mov rax, qword ptr [48+rcx]
11400
mul qword ptr [208+rcx]
11404
mov rax, qword ptr [56+rcx]
11405
mul qword ptr [200+rcx]
11409
mov rax, qword ptr [64+rcx]
11410
mul qword ptr [192+rcx]
11414
mov rax, qword ptr [72+rcx]
11415
mul qword ptr [184+rcx]
11419
mov rax, qword ptr [80+rcx]
11420
mul qword ptr [176+rcx]
11424
mov rax, qword ptr [88+rcx]
11425
mul qword ptr [168+rcx]
11429
mov rax, qword ptr [96+rcx]
11430
mul qword ptr [160+rcx]
11434
mov rax, qword ptr [104+rcx]
11435
mul qword ptr [152+rcx]
11439
mov rax, qword ptr [112+rcx]
11440
mul qword ptr [144+rcx]
11444
mov rax, qword ptr [120+rcx]
11445
mul qword ptr [136+rcx]
11459
mov rax, qword ptr [128+rcx]
11465
mov qword ptr [-288+rbp], rbx
11467
mov rax, qword ptr [16+rcx]
11468
mul qword ptr [248+rcx]
11473
mov rax, qword ptr [24+rcx]
11474
mul qword ptr [240+rcx]
11478
mov rax, qword ptr [32+rcx]
11479
mul qword ptr [232+rcx]
11483
mov rax, qword ptr [40+rcx]
11484
mul qword ptr [224+rcx]
11488
mov rax, qword ptr [48+rcx]
11489
mul qword ptr [216+rcx]
11493
mov rax, qword ptr [56+rcx]
11494
mul qword ptr [208+rcx]
11498
mov rax, qword ptr [64+rcx]
11499
mul qword ptr [200+rcx]
11503
mov rax, qword ptr [72+rcx]
11504
mul qword ptr [192+rcx]
11508
mov rax, qword ptr [80+rcx]
11509
mul qword ptr [184+rcx]
11513
mov rax, qword ptr [88+rcx]
11514
mul qword ptr [176+rcx]
11518
mov rax, qword ptr [96+rcx]
11519
mul qword ptr [168+rcx]
11523
mov rax, qword ptr [104+rcx]
11524
mul qword ptr [160+rcx]
11528
mov rax, qword ptr [112+rcx]
11529
mul qword ptr [152+rcx]
11533
mov rax, qword ptr [120+rcx]
11534
mul qword ptr [144+rcx]
11538
mov rax, qword ptr [128+rcx]
11539
mul qword ptr [136+rcx]
11549
mov qword ptr [-280+rbp], r12
11551
mov rax, qword ptr [24+rcx]
11552
mul qword ptr [248+rcx]
11556
mov rax, qword ptr [32+rcx]
11557
mul qword ptr [240+rcx]
11561
mov rax, qword ptr [40+rcx]
11562
mul qword ptr [232+rcx]
11566
mov rax, qword ptr [48+rcx]
11567
mul qword ptr [224+rcx]
11571
mov rax, qword ptr [56+rcx]
11572
mul qword ptr [216+rcx]
11576
mov rax, qword ptr [64+rcx]
11577
mul qword ptr [208+rcx]
11581
mov rax, qword ptr [72+rcx]
11582
mul qword ptr [200+rcx]
11586
mov rax, qword ptr [80+rcx]
11587
mul qword ptr [192+rcx]
11591
mov rax, qword ptr [88+rcx]
11592
mul qword ptr [184+rcx]
11596
mov rax, qword ptr [96+rcx]
11597
mul qword ptr [176+rcx]
11601
mov rax, qword ptr [104+rcx]
11602
mul qword ptr [168+rcx]
11606
mov rax, qword ptr [112+rcx]
11607
mul qword ptr [160+rcx]
11611
mov rax, qword ptr [120+rcx]
11612
mul qword ptr [152+rcx]
11616
mov rax, qword ptr [128+rcx]
11617
mul qword ptr [144+rcx]
11636
mov rax, qword ptr [136+rcx]
11641
mov qword ptr [-272+rbp], r9
11644
mov rax, qword ptr [32+rcx]
11645
mul qword ptr [248+rcx]
11649
mov rax, qword ptr [40+rcx]
11650
mul qword ptr [240+rcx]
11654
mov rax, qword ptr [48+rcx]
11655
mul qword ptr [232+rcx]
11659
mov rax, qword ptr [56+rcx]
11660
mul qword ptr [224+rcx]
11664
mov rax, qword ptr [64+rcx]
11665
mul qword ptr [216+rcx]
11669
mov rax, qword ptr [72+rcx]
11670
mul qword ptr [208+rcx]
11674
mov rax, qword ptr [80+rcx]
11675
mul qword ptr [200+rcx]
11679
mov rax, qword ptr [88+rcx]
11680
mul qword ptr [192+rcx]
11684
mov rax, qword ptr [96+rcx]
11685
mul qword ptr [184+rcx]
11689
mov rax, qword ptr [104+rcx]
11690
mul qword ptr [176+rcx]
11694
mov rax, qword ptr [112+rcx]
11695
mul qword ptr [168+rcx]
11699
mov rax, qword ptr [120+rcx]
11700
mul qword ptr [160+rcx]
11704
mov rax, qword ptr [128+rcx]
11705
mul qword ptr [152+rcx]
11709
mov rax, qword ptr [136+rcx]
11710
mul qword ptr [144+rcx]
11720
mov qword ptr [-264+rbp], r12
11721
mov rax, qword ptr [40+rcx]
11722
mul qword ptr [248+rcx]
11726
mov rax, qword ptr [48+rcx]
11727
mul qword ptr [240+rcx]
11731
mov rax, qword ptr [56+rcx]
11732
mul qword ptr [232+rcx]
11736
mov rax, qword ptr [64+rcx]
11737
mul qword ptr [224+rcx]
11741
mov rax, qword ptr [72+rcx]
11742
mul qword ptr [216+rcx]
11746
mov rax, qword ptr [80+rcx]
11747
mul qword ptr [208+rcx]
11751
mov rax, qword ptr [88+rcx]
11752
mul qword ptr [200+rcx]
11756
mov rax, qword ptr [96+rcx]
11757
mul qword ptr [192+rcx]
11761
mov rax, qword ptr [104+rcx]
11762
mul qword ptr [184+rcx]
11766
mov rax, qword ptr [112+rcx]
11767
mul qword ptr [176+rcx]
11771
mov rax, qword ptr [120+rcx]
11772
mul qword ptr [168+rcx]
11776
mov rax, qword ptr [128+rcx]
11777
mul qword ptr [160+rcx]
11781
mov rax, qword ptr [136+rcx]
11782
mul qword ptr [152+rcx]
11802
mov rax, qword ptr [144+rcx]
11808
mov qword ptr [-256+rbp], r9
11810
mov rax, qword ptr [48+rcx]
11811
mul qword ptr [248+rcx]
11815
mov rax, qword ptr [56+rcx]
11816
mul qword ptr [240+rcx]
11820
mov rax, qword ptr [64+rcx]
11821
mul qword ptr [232+rcx]
11825
mov rax, qword ptr [72+rcx]
11826
mul qword ptr [224+rcx]
11830
mov rax, qword ptr [80+rcx]
11831
mul qword ptr [216+rcx]
11835
mov rax, qword ptr [88+rcx]
11836
mul qword ptr [208+rcx]
11840
mov rax, qword ptr [96+rcx]
11841
mul qword ptr [200+rcx]
11845
mov rax, qword ptr [104+rcx]
11846
mul qword ptr [192+rcx]
11850
mov rax, qword ptr [112+rcx]
11851
mul qword ptr [184+rcx]
11855
mov rax, qword ptr [120+rcx]
11856
mul qword ptr [176+rcx]
11860
mov rax, qword ptr [128+rcx]
11861
mul qword ptr [168+rcx]
11865
mov rax, qword ptr [136+rcx]
11866
mul qword ptr [160+rcx]
11870
mov rax, qword ptr [144+rcx]
11871
mul qword ptr [152+rcx]
11881
mov qword ptr [-248+rbp], r12
11883
mov rax, qword ptr [56+rcx]
11884
mul qword ptr [248+rcx]
11888
mov rax, qword ptr [64+rcx]
11889
mul qword ptr [240+rcx]
11893
mov rax, qword ptr [72+rcx]
11894
mul qword ptr [232+rcx]
11898
mov rax, qword ptr [80+rcx]
11899
mul qword ptr [224+rcx]
11903
mov rax, qword ptr [88+rcx]
11904
mul qword ptr [216+rcx]
11908
mov rax, qword ptr [96+rcx]
11909
mul qword ptr [208+rcx]
11913
mov rax, qword ptr [104+rcx]
11914
mul qword ptr [200+rcx]
11918
mov rax, qword ptr [112+rcx]
11919
mul qword ptr [192+rcx]
11923
mov rax, qword ptr [120+rcx]
11924
mul qword ptr [184+rcx]
11928
mov rax, qword ptr [128+rcx]
11929
mul qword ptr [176+rcx]
11933
mov rax, qword ptr [136+rcx]
11934
mul qword ptr [168+rcx]
11938
mov rax, qword ptr [144+rcx]
11939
mul qword ptr [160+rcx]
11960
mov rax, qword ptr [152+rcx]
11965
mov qword ptr [-240+rbp], r9
11968
mov rax, qword ptr [64+rcx]
11969
mul qword ptr [248+rcx]
11973
mov rax, qword ptr [72+rcx]
11974
mul qword ptr [240+rcx]
11978
mov rax, qword ptr [80+rcx]
11979
mul qword ptr [232+rcx]
11983
mov rax, qword ptr [88+rcx]
11984
mul qword ptr [224+rcx]
11988
mov rax, qword ptr [96+rcx]
11989
mul qword ptr [216+rcx]
11993
mov rax, qword ptr [104+rcx]
11994
mul qword ptr [208+rcx]
11998
mov rax, qword ptr [112+rcx]
11999
mul qword ptr [200+rcx]
12003
mov rax, qword ptr [120+rcx]
12004
mul qword ptr [192+rcx]
12008
mov rax, qword ptr [128+rcx]
12009
mul qword ptr [184+rcx]
12013
mov rax, qword ptr [136+rcx]
12014
mul qword ptr [176+rcx]
12018
mov rax, qword ptr [144+rcx]
12019
mul qword ptr [168+rcx]
12023
mov rax, qword ptr [152+rcx]
12024
mul qword ptr [160+rcx]
12037
mov qword ptr [-232+rbp], r12
12043
mov rax, qword ptr [72+rcx]
12044
mul qword ptr [248+rcx]
12048
mov rax, qword ptr [80+rcx]
12049
mul qword ptr [240+rcx]
12053
mov rax, qword ptr [88+rcx]
12054
mul qword ptr [232+rcx]
12058
mov rax, qword ptr [96+rcx]
12059
mul qword ptr [224+rcx]
12063
mov rax, qword ptr [104+rcx]
12064
mul qword ptr [216+rcx]
12068
mov rax, qword ptr [112+rcx]
12069
mul qword ptr [208+rcx]
12073
mov rax, qword ptr [120+rcx]
12074
mul qword ptr [200+rcx]
12078
mov rax, qword ptr [128+rcx]
12079
mul qword ptr [192+rcx]
12083
mov rax, qword ptr [136+rcx]
12084
mul qword ptr [184+rcx]
12088
mov rax, qword ptr [144+rcx]
12089
mul qword ptr [176+rcx]
12093
mov rax, qword ptr [152+rcx]
12094
mul qword ptr [168+rcx]
12110
mov rax, qword ptr [160+rcx]
12116
mov qword ptr [-224+rbp], r9
12118
mov rax, qword ptr [80+rcx]
12119
mul qword ptr [248+rcx]
12124
mov rax, qword ptr [88+rcx]
12125
mul qword ptr [240+rcx]
12129
mov rax, qword ptr [96+rcx]
12130
mul qword ptr [232+rcx]
12134
mov rax, qword ptr [104+rcx]
12135
mul qword ptr [224+rcx]
12139
mov rax, qword ptr [112+rcx]
12140
mul qword ptr [216+rcx]
12144
mov rax, qword ptr [120+rcx]
12145
mul qword ptr [208+rcx]
12149
mov rax, qword ptr [128+rcx]
12150
mul qword ptr [200+rcx]
12154
mov rax, qword ptr [136+rcx]
12155
mul qword ptr [192+rcx]
12159
mov rax, qword ptr [144+rcx]
12160
mul qword ptr [184+rcx]
12164
mov rax, qword ptr [152+rcx]
12165
mul qword ptr [176+rcx]
12169
mov rax, qword ptr [160+rcx]
12170
mul qword ptr [168+rcx]
12183
mov qword ptr [-216+rbp], r12
12189
mov rax, qword ptr [88+rcx]
12190
mul qword ptr [248+rcx]
12194
mov rax, qword ptr [96+rcx]
12195
mul qword ptr [240+rcx]
12199
mov rax, qword ptr [104+rcx]
12200
mul qword ptr [232+rcx]
12204
mov rax, qword ptr [112+rcx]
12205
mul qword ptr [224+rcx]
12209
mov rax, qword ptr [120+rcx]
12210
mul qword ptr [216+rcx]
12214
mov rax, qword ptr [128+rcx]
12215
mul qword ptr [208+rcx]
12219
mov rax, qword ptr [136+rcx]
12220
mul qword ptr [200+rcx]
12224
mov rax, qword ptr [144+rcx]
12225
mul qword ptr [192+rcx]
12229
mov rax, qword ptr [152+rcx]
12230
mul qword ptr [184+rcx]
12234
mov rax, qword ptr [160+rcx]
12235
mul qword ptr [176+rcx]
12251
mov rax, qword ptr [168+rcx]
12257
mov qword ptr [-208+rbp], r9
12259
mov rax, qword ptr [96+rcx]
12260
mul qword ptr [248+rcx]
12265
mov rax, qword ptr [104+rcx]
12266
mul qword ptr [240+rcx]
12270
mov rax, qword ptr [112+rcx]
12271
mul qword ptr [232+rcx]
12275
mov rax, qword ptr [120+rcx]
12276
mul qword ptr [224+rcx]
12280
mov rax, qword ptr [128+rcx]
12281
mul qword ptr [216+rcx]
12285
mov rax, qword ptr [136+rcx]
12286
mul qword ptr [208+rcx]
12290
mov rax, qword ptr [144+rcx]
12291
mul qword ptr [200+rcx]
12295
mov rax, qword ptr [152+rcx]
12296
mul qword ptr [192+rcx]
12300
mov rax, qword ptr [160+rcx]
12301
mul qword ptr [184+rcx]
12305
mov rax, qword ptr [168+rcx]
12306
mul qword ptr [176+rcx]
12319
mov qword ptr [-200+rbp], r12
12325
mov rax, qword ptr [104+rcx]
12326
mul qword ptr [248+rcx]
12330
mov rax, qword ptr [112+rcx]
12331
mul qword ptr [240+rcx]
12335
mov rax, qword ptr [120+rcx]
12336
mul qword ptr [232+rcx]
12340
mov rax, qword ptr [128+rcx]
12341
mul qword ptr [224+rcx]
12345
mov rax, qword ptr [136+rcx]
12346
mul qword ptr [216+rcx]
12350
mov rax, qword ptr [144+rcx]
12351
mul qword ptr [208+rcx]
12355
mov rax, qword ptr [152+rcx]
12356
mul qword ptr [200+rcx]
12360
mov rax, qword ptr [160+rcx]
12361
mul qword ptr [192+rcx]
12365
mov rax, qword ptr [168+rcx]
12366
mul qword ptr [184+rcx]
12382
mov rax, qword ptr [176+rcx]
12388
mov qword ptr [-192+rbp], r9
12390
mov rax, qword ptr [112+rcx]
12391
mul qword ptr [248+rcx]
12396
mov rax, qword ptr [120+rcx]
12397
mul qword ptr [240+rcx]
12401
mov rax, qword ptr [128+rcx]
12402
mul qword ptr [232+rcx]
12406
mov rax, qword ptr [136+rcx]
12407
mul qword ptr [224+rcx]
12411
mov rax, qword ptr [144+rcx]
12412
mul qword ptr [216+rcx]
12416
mov rax, qword ptr [152+rcx]
12417
mul qword ptr [208+rcx]
12421
mov rax, qword ptr [160+rcx]
12422
mul qword ptr [200+rcx]
12426
mov rax, qword ptr [168+rcx]
12427
mul qword ptr [192+rcx]
12431
mov rax, qword ptr [176+rcx]
12432
mul qword ptr [184+rcx]
12445
mov qword ptr [-184+rbp], r12
12451
mov rax, qword ptr [120+rcx]
12452
mul qword ptr [248+rcx]
12456
mov rax, qword ptr [128+rcx]
12457
mul qword ptr [240+rcx]
12461
mov rax, qword ptr [136+rcx]
12462
mul qword ptr [232+rcx]
12466
mov rax, qword ptr [144+rcx]
12467
mul qword ptr [224+rcx]
12471
mov rax, qword ptr [152+rcx]
12472
mul qword ptr [216+rcx]
12476
mov rax, qword ptr [160+rcx]
12477
mul qword ptr [208+rcx]
12481
mov rax, qword ptr [168+rcx]
12482
mul qword ptr [200+rcx]
12486
mov rax, qword ptr [176+rcx]
12487
mul qword ptr [192+rcx]
12503
mov rax, qword ptr [184+rcx]
12509
mov qword ptr [-176+rbp], r9
12511
mov rax, qword ptr [128+rcx]
12512
mul qword ptr [248+rcx]
12517
mov rax, qword ptr [136+rcx]
12518
mul qword ptr [240+rcx]
12522
mov rax, qword ptr [144+rcx]
12523
mul qword ptr [232+rcx]
12527
mov rax, qword ptr [152+rcx]
12528
mul qword ptr [224+rcx]
12532
mov rax, qword ptr [160+rcx]
12533
mul qword ptr [216+rcx]
12537
mov rax, qword ptr [168+rcx]
12538
mul qword ptr [208+rcx]
12542
mov rax, qword ptr [176+rcx]
12543
mul qword ptr [200+rcx]
12547
mov rax, qword ptr [184+rcx]
12548
mul qword ptr [192+rcx]
12558
mov qword ptr [-168+rbp], r12
12561
mov rax, qword ptr [136+rcx]
12562
mul qword ptr [248+rcx]
12566
mov rax, qword ptr [144+rcx]
12567
mul qword ptr [240+rcx]
12571
mov rax, qword ptr [152+rcx]
12572
mul qword ptr [232+rcx]
12576
mov rax, qword ptr [160+rcx]
12577
mul qword ptr [224+rcx]
12581
mov rax, qword ptr [168+rcx]
12582
mul qword ptr [216+rcx]
12586
mov rax, qword ptr [176+rcx]
12587
mul qword ptr [208+rcx]
12591
mov rax, qword ptr [184+rcx]
12592
mul qword ptr [200+rcx]
12607
mov rax, qword ptr [192+rcx]
12613
mov qword ptr [-160+rbp], r9
12615
mov rax, qword ptr [144+rcx]
12616
mul qword ptr [248+rcx]
12620
mov rax, qword ptr [152+rcx]
12621
mul qword ptr [240+rcx]
12625
mov rax, qword ptr [160+rcx]
12626
mul qword ptr [232+rcx]
12630
mov rax, qword ptr [168+rcx]
12631
mul qword ptr [224+rcx]
12635
mov rax, qword ptr [176+rcx]
12636
mul qword ptr [216+rcx]
12640
mov rax, qword ptr [184+rcx]
12641
mul qword ptr [208+rcx]
12645
mov rax, qword ptr [192+rcx]
12646
mul qword ptr [200+rcx]
12656
mov qword ptr [-152+rbp], r12
12657
mov rax, qword ptr [152+rcx]
12658
mul qword ptr [248+rcx]
12662
mov rax, qword ptr [160+rcx]
12663
mul qword ptr [240+rcx]
12667
mov rax, qword ptr [168+rcx]
12668
mul qword ptr [232+rcx]
12672
mov rax, qword ptr [176+rcx]
12673
mul qword ptr [224+rcx]
12677
mov rax, qword ptr [184+rcx]
12678
mul qword ptr [216+rcx]
12682
mov rax, qword ptr [192+rcx]
12683
mul qword ptr [208+rcx]
12701
mov rax, qword ptr [200+rcx]
12706
mov qword ptr [-144+rbp], r9
12708
mov rax, qword ptr [160+rcx]
12709
mul qword ptr [248+rcx]
12713
mov rax, qword ptr [168+rcx]
12714
mul qword ptr [240+rcx]
12718
mov rax, qword ptr [176+rcx]
12719
mul qword ptr [232+rcx]
12723
mov rax, qword ptr [184+rcx]
12724
mul qword ptr [224+rcx]
12728
mov rax, qword ptr [192+rcx]
12729
mul qword ptr [216+rcx]
12733
mov rax, qword ptr [200+rcx]
12734
mul qword ptr [208+rcx]
12744
mov qword ptr [-136+rbp], rbx
12746
mov rax, qword ptr [168+rcx]
12747
mul qword ptr [248+rcx]
12751
mov rax, qword ptr [176+rcx]
12752
mul qword ptr [240+rcx]
12756
mov rax, qword ptr [184+rcx]
12757
mul qword ptr [232+rcx]
12761
mov rax, qword ptr [192+rcx]
12762
mul qword ptr [224+rcx]
12766
mov rax, qword ptr [200+rcx]
12767
mul qword ptr [216+rcx]
12785
mov rax, qword ptr [208+rcx]
12790
mov qword ptr [-128+rbp], r9
12792
mov rax, qword ptr [176+rcx]
12793
mul qword ptr [248+rcx]
12797
mov rax, qword ptr [184+rcx]
12798
mul qword ptr [240+rcx]
12802
mov rax, qword ptr [192+rcx]
12803
mul qword ptr [232+rcx]
12807
mov rax, qword ptr [200+rcx]
12808
mul qword ptr [224+rcx]
12812
mov rax, qword ptr [208+rcx]
12813
mul qword ptr [216+rcx]
12824
mov qword ptr [-120+rbp], rbx
12827
mov rax, qword ptr [184+rcx]
12828
mul qword ptr [248+rcx]
12832
mov rax, qword ptr [192+rcx]
12833
mul qword ptr [240+rcx]
12837
mov rax, qword ptr [200+rcx]
12838
mul qword ptr [232+rcx]
12842
mov rax, qword ptr [208+rcx]
12843
mul qword ptr [224+rcx]
12861
mov rax, qword ptr [216+rcx]
12866
mov qword ptr [-112+rbp], r9
12868
mov rax, qword ptr [192+rcx]
12869
mul qword ptr [248+rcx]
12873
mov rax, qword ptr [200+rcx]
12874
mul qword ptr [240+rcx]
12878
mov rax, qword ptr [208+rcx]
12879
mul qword ptr [232+rcx]
12883
mov rax, qword ptr [216+rcx]
12884
mul qword ptr [224+rcx]
12894
mov qword ptr [-104+rbp], rbx
12896
mov rax, qword ptr [200+rcx]
12897
mul qword ptr [248+rcx]
12901
mov rax, qword ptr [208+rcx]
12902
mul qword ptr [240+rcx]
12906
mov rax, qword ptr [216+rcx]
12907
mul qword ptr [232+rcx]
12926
mov rax, qword ptr [224+rcx]
12931
mov qword ptr [-96+rbp], r9
12933
mov rax, qword ptr [208+rcx]
12934
mul qword ptr [248+rcx]
12938
mov rax, qword ptr [216+rcx]
12939
mul qword ptr [240+rcx]
12943
mov rax, qword ptr [224+rcx]
12944
mul qword ptr [232+rcx]
12956
mov qword ptr [-88+rbp], rbx
12959
mov rax, qword ptr [216+rcx]
12960
mul qword ptr [248+rcx]
12968
mov rax, qword ptr [224+rcx]
12969
mul qword ptr [240+rcx]
12978
mov rax, qword ptr [232+rcx]
12983
mov qword ptr [-80+rbp], rsi
12987
mov rax, qword ptr [224+rcx]
12988
mul qword ptr [248+rcx]
12997
mov rax, qword ptr [232+rcx]
12998
mul qword ptr [240+rcx]
13005
mov qword ptr [-72+rbp], rdi
13009
mov rax, qword ptr [232+rcx]
13010
mul qword ptr [248+rcx]
13020
mov rax, qword ptr [240+rcx]
13025
mov qword ptr [-64+rbp], r11
13028
mov rax, qword ptr [240+rcx]
13029
mul qword ptr [248+rcx]
13036
mov qword ptr [-56+rbp], rdi
13038
mov rax, qword ptr [248+rcx]
13043
mov qword ptr [-48+rbp], rsi
13044
mov qword ptr [-40+rbp], r8
13045
mov dword ptr [8+r14], 64
13046
mov dword ptr [r14], 0
13047
; mov rdi, qword ptr [16+r14]
13048
; lea rsi, qword ptr [-544+rbp]
13050
mov rcx, qword ptr [16+r14]
13051
lea rdx, qword ptr [-544+rbp]
13054
mov edx, dword ptr [8+r14]
13057
lea ecx, dword ptr [-1+rdx]
13058
mov rsi, qword ptr [16+r14]
13060
cmp dword ptr [rsi+r10*8], 0
13070
cmp dword ptr [rsi+rax*8], 0
13072
mov dword ptr [8+r14], ecx
13077
mov eax, dword ptr [r14]
13081
mov dword ptr [8+r14], edx
13085
mov dword ptr [r14], eax
13086
add rsp, 512+32 ; +32 for "home" storage
13098
s_mp_sqr_comba_32 ENDP