tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

mp_comba_amd64_masm.asm (332877B)


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