| OLD | NEW |
| 1 OPTION» DOTNAME | 1 default»rel |
| 2 .text$» SEGMENT ALIGN(256) 'CODE' | 2 %define XMMWORD |
| 3 %define YMMWORD |
| 4 %define ZMMWORD |
| 5 section».text code align=64 |
| 6 |
| 3 | 7 |
| 4 | 8 |
| 5 ALIGN 16 | 9 ALIGN 16 |
| 6 MULADD_128x512» PROC PRIVATE | 10 MULADD_128x512: |
| 7 » mov» rax,QWORD PTR[rsi] | 11 » mov» rax,QWORD[rsi] |
| 8 mul rbp | 12 mul rbp |
| 9 add r8,rax | 13 add r8,rax |
| 10 adc rdx,0 | 14 adc rdx,0 |
| 11 » mov» QWORD PTR[rcx],r8 | 15 » mov» QWORD[rcx],r8 |
| 12 mov rbx,rdx | 16 mov rbx,rdx |
| 13 | 17 |
| 14 » mov» rax,QWORD PTR[8+rsi] | 18 » mov» rax,QWORD[8+rsi] |
| 15 mul rbp | 19 mul rbp |
| 16 add r9,rax | 20 add r9,rax |
| 17 adc rdx,0 | 21 adc rdx,0 |
| 18 add r9,rbx | 22 add r9,rbx |
| 19 adc rdx,0 | 23 adc rdx,0 |
| 20 mov rbx,rdx | 24 mov rbx,rdx |
| 21 | 25 |
| 22 » mov» rax,QWORD PTR[16+rsi] | 26 » mov» rax,QWORD[16+rsi] |
| 23 mul rbp | 27 mul rbp |
| 24 add r10,rax | 28 add r10,rax |
| 25 adc rdx,0 | 29 adc rdx,0 |
| 26 add r10,rbx | 30 add r10,rbx |
| 27 adc rdx,0 | 31 adc rdx,0 |
| 28 mov rbx,rdx | 32 mov rbx,rdx |
| 29 | 33 |
| 30 » mov» rax,QWORD PTR[24+rsi] | 34 » mov» rax,QWORD[24+rsi] |
| 31 mul rbp | 35 mul rbp |
| 32 add r11,rax | 36 add r11,rax |
| 33 adc rdx,0 | 37 adc rdx,0 |
| 34 add r11,rbx | 38 add r11,rbx |
| 35 adc rdx,0 | 39 adc rdx,0 |
| 36 mov rbx,rdx | 40 mov rbx,rdx |
| 37 | 41 |
| 38 » mov» rax,QWORD PTR[32+rsi] | 42 » mov» rax,QWORD[32+rsi] |
| 39 mul rbp | 43 mul rbp |
| 40 add r12,rax | 44 add r12,rax |
| 41 adc rdx,0 | 45 adc rdx,0 |
| 42 add r12,rbx | 46 add r12,rbx |
| 43 adc rdx,0 | 47 adc rdx,0 |
| 44 mov rbx,rdx | 48 mov rbx,rdx |
| 45 | 49 |
| 46 » mov» rax,QWORD PTR[40+rsi] | 50 » mov» rax,QWORD[40+rsi] |
| 47 mul rbp | 51 mul rbp |
| 48 add r13,rax | 52 add r13,rax |
| 49 adc rdx,0 | 53 adc rdx,0 |
| 50 add r13,rbx | 54 add r13,rbx |
| 51 adc rdx,0 | 55 adc rdx,0 |
| 52 mov rbx,rdx | 56 mov rbx,rdx |
| 53 | 57 |
| 54 » mov» rax,QWORD PTR[48+rsi] | 58 » mov» rax,QWORD[48+rsi] |
| 55 mul rbp | 59 mul rbp |
| 56 add r14,rax | 60 add r14,rax |
| 57 adc rdx,0 | 61 adc rdx,0 |
| 58 add r14,rbx | 62 add r14,rbx |
| 59 adc rdx,0 | 63 adc rdx,0 |
| 60 mov rbx,rdx | 64 mov rbx,rdx |
| 61 | 65 |
| 62 » mov» rax,QWORD PTR[56+rsi] | 66 » mov» rax,QWORD[56+rsi] |
| 63 mul rbp | 67 mul rbp |
| 64 add r15,rax | 68 add r15,rax |
| 65 adc rdx,0 | 69 adc rdx,0 |
| 66 add r15,rbx | 70 add r15,rbx |
| 67 adc rdx,0 | 71 adc rdx,0 |
| 68 mov r8,rdx | 72 mov r8,rdx |
| 69 » mov» rbp,QWORD PTR[8+rdi] | 73 » mov» rbp,QWORD[8+rdi] |
| 70 » mov» rax,QWORD PTR[rsi] | 74 » mov» rax,QWORD[rsi] |
| 71 mul rbp | 75 mul rbp |
| 72 add r9,rax | 76 add r9,rax |
| 73 adc rdx,0 | 77 adc rdx,0 |
| 74 » mov» QWORD PTR[8+rcx],r9 | 78 » mov» QWORD[8+rcx],r9 |
| 75 mov rbx,rdx | 79 mov rbx,rdx |
| 76 | 80 |
| 77 » mov» rax,QWORD PTR[8+rsi] | 81 » mov» rax,QWORD[8+rsi] |
| 78 mul rbp | 82 mul rbp |
| 79 add r10,rax | 83 add r10,rax |
| 80 adc rdx,0 | 84 adc rdx,0 |
| 81 add r10,rbx | 85 add r10,rbx |
| 82 adc rdx,0 | 86 adc rdx,0 |
| 83 mov rbx,rdx | 87 mov rbx,rdx |
| 84 | 88 |
| 85 » mov» rax,QWORD PTR[16+rsi] | 89 » mov» rax,QWORD[16+rsi] |
| 86 mul rbp | 90 mul rbp |
| 87 add r11,rax | 91 add r11,rax |
| 88 adc rdx,0 | 92 adc rdx,0 |
| 89 add r11,rbx | 93 add r11,rbx |
| 90 adc rdx,0 | 94 adc rdx,0 |
| 91 mov rbx,rdx | 95 mov rbx,rdx |
| 92 | 96 |
| 93 » mov» rax,QWORD PTR[24+rsi] | 97 » mov» rax,QWORD[24+rsi] |
| 94 mul rbp | 98 mul rbp |
| 95 add r12,rax | 99 add r12,rax |
| 96 adc rdx,0 | 100 adc rdx,0 |
| 97 add r12,rbx | 101 add r12,rbx |
| 98 adc rdx,0 | 102 adc rdx,0 |
| 99 mov rbx,rdx | 103 mov rbx,rdx |
| 100 | 104 |
| 101 » mov» rax,QWORD PTR[32+rsi] | 105 » mov» rax,QWORD[32+rsi] |
| 102 mul rbp | 106 mul rbp |
| 103 add r13,rax | 107 add r13,rax |
| 104 adc rdx,0 | 108 adc rdx,0 |
| 105 add r13,rbx | 109 add r13,rbx |
| 106 adc rdx,0 | 110 adc rdx,0 |
| 107 mov rbx,rdx | 111 mov rbx,rdx |
| 108 | 112 |
| 109 » mov» rax,QWORD PTR[40+rsi] | 113 » mov» rax,QWORD[40+rsi] |
| 110 mul rbp | 114 mul rbp |
| 111 add r14,rax | 115 add r14,rax |
| 112 adc rdx,0 | 116 adc rdx,0 |
| 113 add r14,rbx | 117 add r14,rbx |
| 114 adc rdx,0 | 118 adc rdx,0 |
| 115 mov rbx,rdx | 119 mov rbx,rdx |
| 116 | 120 |
| 117 » mov» rax,QWORD PTR[48+rsi] | 121 » mov» rax,QWORD[48+rsi] |
| 118 mul rbp | 122 mul rbp |
| 119 add r15,rax | 123 add r15,rax |
| 120 adc rdx,0 | 124 adc rdx,0 |
| 121 add r15,rbx | 125 add r15,rbx |
| 122 adc rdx,0 | 126 adc rdx,0 |
| 123 mov rbx,rdx | 127 mov rbx,rdx |
| 124 | 128 |
| 125 » mov» rax,QWORD PTR[56+rsi] | 129 » mov» rax,QWORD[56+rsi] |
| 126 mul rbp | 130 mul rbp |
| 127 add r8,rax | 131 add r8,rax |
| 128 adc rdx,0 | 132 adc rdx,0 |
| 129 add r8,rbx | 133 add r8,rbx |
| 130 adc rdx,0 | 134 adc rdx,0 |
| 131 mov r9,rdx | 135 mov r9,rdx |
| 132 DB 0F3h,0C3h ;repret | 136 DB 0F3h,0C3h ;repret |
| 133 MULADD_128x512» ENDP | 137 |
| 134 | 138 |
| 135 ALIGN 16 | 139 ALIGN 16 |
| 136 mont_reduce» PROC PRIVATE | 140 mont_reduce: |
| 137 » lea» rdi,QWORD PTR[192+rsp] | 141 » lea» rdi,[192+rsp] |
| 138 » mov» rsi,QWORD PTR[32+rsp] | 142 » mov» rsi,QWORD[32+rsp] |
| 139 add rsi,576 | 143 add rsi,576 |
| 140 » lea» rcx,QWORD PTR[520+rsp] | 144 » lea» rcx,[520+rsp] |
| 141 | 145 |
| 142 » mov» rbp,QWORD PTR[96+rcx] | 146 » mov» rbp,QWORD[96+rcx] |
| 143 » mov» rax,QWORD PTR[rsi] | 147 » mov» rax,QWORD[rsi] |
| 144 mul rbp | 148 mul rbp |
| 145 » mov» r8,QWORD PTR[rcx] | 149 » mov» r8,QWORD[rcx] |
| 146 add r8,rax | 150 add r8,rax |
| 147 adc rdx,0 | 151 adc rdx,0 |
| 148 » mov» QWORD PTR[rdi],r8 | 152 » mov» QWORD[rdi],r8 |
| 149 mov rbx,rdx | 153 mov rbx,rdx |
| 150 | 154 |
| 151 » mov» rax,QWORD PTR[8+rsi] | 155 » mov» rax,QWORD[8+rsi] |
| 152 mul rbp | 156 mul rbp |
| 153 » mov» r9,QWORD PTR[8+rcx] | 157 » mov» r9,QWORD[8+rcx] |
| 154 add r9,rax | 158 add r9,rax |
| 155 adc rdx,0 | 159 adc rdx,0 |
| 156 add r9,rbx | 160 add r9,rbx |
| 157 adc rdx,0 | 161 adc rdx,0 |
| 158 mov rbx,rdx | 162 mov rbx,rdx |
| 159 | 163 |
| 160 » mov» rax,QWORD PTR[16+rsi] | 164 » mov» rax,QWORD[16+rsi] |
| 161 mul rbp | 165 mul rbp |
| 162 » mov» r10,QWORD PTR[16+rcx] | 166 » mov» r10,QWORD[16+rcx] |
| 163 add r10,rax | 167 add r10,rax |
| 164 adc rdx,0 | 168 adc rdx,0 |
| 165 add r10,rbx | 169 add r10,rbx |
| 166 adc rdx,0 | 170 adc rdx,0 |
| 167 mov rbx,rdx | 171 mov rbx,rdx |
| 168 | 172 |
| 169 » mov» rax,QWORD PTR[24+rsi] | 173 » mov» rax,QWORD[24+rsi] |
| 170 mul rbp | 174 mul rbp |
| 171 » mov» r11,QWORD PTR[24+rcx] | 175 » mov» r11,QWORD[24+rcx] |
| 172 add r11,rax | 176 add r11,rax |
| 173 adc rdx,0 | 177 adc rdx,0 |
| 174 add r11,rbx | 178 add r11,rbx |
| 175 adc rdx,0 | 179 adc rdx,0 |
| 176 mov rbx,rdx | 180 mov rbx,rdx |
| 177 | 181 |
| 178 » mov» rax,QWORD PTR[32+rsi] | 182 » mov» rax,QWORD[32+rsi] |
| 179 mul rbp | 183 mul rbp |
| 180 » mov» r12,QWORD PTR[32+rcx] | 184 » mov» r12,QWORD[32+rcx] |
| 181 add r12,rax | 185 add r12,rax |
| 182 adc rdx,0 | 186 adc rdx,0 |
| 183 add r12,rbx | 187 add r12,rbx |
| 184 adc rdx,0 | 188 adc rdx,0 |
| 185 mov rbx,rdx | 189 mov rbx,rdx |
| 186 | 190 |
| 187 » mov» rax,QWORD PTR[40+rsi] | 191 » mov» rax,QWORD[40+rsi] |
| 188 mul rbp | 192 mul rbp |
| 189 » mov» r13,QWORD PTR[40+rcx] | 193 » mov» r13,QWORD[40+rcx] |
| 190 add r13,rax | 194 add r13,rax |
| 191 adc rdx,0 | 195 adc rdx,0 |
| 192 add r13,rbx | 196 add r13,rbx |
| 193 adc rdx,0 | 197 adc rdx,0 |
| 194 mov rbx,rdx | 198 mov rbx,rdx |
| 195 | 199 |
| 196 » mov» rax,QWORD PTR[48+rsi] | 200 » mov» rax,QWORD[48+rsi] |
| 197 mul rbp | 201 mul rbp |
| 198 » mov» r14,QWORD PTR[48+rcx] | 202 » mov» r14,QWORD[48+rcx] |
| 199 add r14,rax | 203 add r14,rax |
| 200 adc rdx,0 | 204 adc rdx,0 |
| 201 add r14,rbx | 205 add r14,rbx |
| 202 adc rdx,0 | 206 adc rdx,0 |
| 203 mov rbx,rdx | 207 mov rbx,rdx |
| 204 | 208 |
| 205 » mov» rax,QWORD PTR[56+rsi] | 209 » mov» rax,QWORD[56+rsi] |
| 206 mul rbp | 210 mul rbp |
| 207 » mov» r15,QWORD PTR[56+rcx] | 211 » mov» r15,QWORD[56+rcx] |
| 208 add r15,rax | 212 add r15,rax |
| 209 adc rdx,0 | 213 adc rdx,0 |
| 210 add r15,rbx | 214 add r15,rbx |
| 211 adc rdx,0 | 215 adc rdx,0 |
| 212 mov r8,rdx | 216 mov r8,rdx |
| 213 » mov» rbp,QWORD PTR[104+rcx] | 217 » mov» rbp,QWORD[104+rcx] |
| 214 » mov» rax,QWORD PTR[rsi] | 218 » mov» rax,QWORD[rsi] |
| 215 mul rbp | 219 mul rbp |
| 216 add r9,rax | 220 add r9,rax |
| 217 adc rdx,0 | 221 adc rdx,0 |
| 218 » mov» QWORD PTR[8+rdi],r9 | 222 » mov» QWORD[8+rdi],r9 |
| 219 mov rbx,rdx | 223 mov rbx,rdx |
| 220 | 224 |
| 221 » mov» rax,QWORD PTR[8+rsi] | 225 » mov» rax,QWORD[8+rsi] |
| 222 mul rbp | 226 mul rbp |
| 223 add r10,rax | 227 add r10,rax |
| 224 adc rdx,0 | 228 adc rdx,0 |
| 225 add r10,rbx | 229 add r10,rbx |
| 226 adc rdx,0 | 230 adc rdx,0 |
| 227 mov rbx,rdx | 231 mov rbx,rdx |
| 228 | 232 |
| 229 » mov» rax,QWORD PTR[16+rsi] | 233 » mov» rax,QWORD[16+rsi] |
| 230 mul rbp | 234 mul rbp |
| 231 add r11,rax | 235 add r11,rax |
| 232 adc rdx,0 | 236 adc rdx,0 |
| 233 add r11,rbx | 237 add r11,rbx |
| 234 adc rdx,0 | 238 adc rdx,0 |
| 235 mov rbx,rdx | 239 mov rbx,rdx |
| 236 | 240 |
| 237 » mov» rax,QWORD PTR[24+rsi] | 241 » mov» rax,QWORD[24+rsi] |
| 238 mul rbp | 242 mul rbp |
| 239 add r12,rax | 243 add r12,rax |
| 240 adc rdx,0 | 244 adc rdx,0 |
| 241 add r12,rbx | 245 add r12,rbx |
| 242 adc rdx,0 | 246 adc rdx,0 |
| 243 mov rbx,rdx | 247 mov rbx,rdx |
| 244 | 248 |
| 245 » mov» rax,QWORD PTR[32+rsi] | 249 » mov» rax,QWORD[32+rsi] |
| 246 mul rbp | 250 mul rbp |
| 247 add r13,rax | 251 add r13,rax |
| 248 adc rdx,0 | 252 adc rdx,0 |
| 249 add r13,rbx | 253 add r13,rbx |
| 250 adc rdx,0 | 254 adc rdx,0 |
| 251 mov rbx,rdx | 255 mov rbx,rdx |
| 252 | 256 |
| 253 » mov» rax,QWORD PTR[40+rsi] | 257 » mov» rax,QWORD[40+rsi] |
| 254 mul rbp | 258 mul rbp |
| 255 add r14,rax | 259 add r14,rax |
| 256 adc rdx,0 | 260 adc rdx,0 |
| 257 add r14,rbx | 261 add r14,rbx |
| 258 adc rdx,0 | 262 adc rdx,0 |
| 259 mov rbx,rdx | 263 mov rbx,rdx |
| 260 | 264 |
| 261 » mov» rax,QWORD PTR[48+rsi] | 265 » mov» rax,QWORD[48+rsi] |
| 262 mul rbp | 266 mul rbp |
| 263 add r15,rax | 267 add r15,rax |
| 264 adc rdx,0 | 268 adc rdx,0 |
| 265 add r15,rbx | 269 add r15,rbx |
| 266 adc rdx,0 | 270 adc rdx,0 |
| 267 mov rbx,rdx | 271 mov rbx,rdx |
| 268 | 272 |
| 269 » mov» rax,QWORD PTR[56+rsi] | 273 » mov» rax,QWORD[56+rsi] |
| 270 mul rbp | 274 mul rbp |
| 271 add r8,rax | 275 add r8,rax |
| 272 adc rdx,0 | 276 adc rdx,0 |
| 273 add r8,rbx | 277 add r8,rbx |
| 274 adc rdx,0 | 278 adc rdx,0 |
| 275 mov r9,rdx | 279 mov r9,rdx |
| 276 » mov» rbp,QWORD PTR[112+rcx] | 280 » mov» rbp,QWORD[112+rcx] |
| 277 » mov» rax,QWORD PTR[rsi] | 281 » mov» rax,QWORD[rsi] |
| 278 mul rbp | 282 mul rbp |
| 279 add r10,rax | 283 add r10,rax |
| 280 adc rdx,0 | 284 adc rdx,0 |
| 281 » mov» QWORD PTR[16+rdi],r10 | 285 » mov» QWORD[16+rdi],r10 |
| 282 mov rbx,rdx | 286 mov rbx,rdx |
| 283 | 287 |
| 284 » mov» rax,QWORD PTR[8+rsi] | 288 » mov» rax,QWORD[8+rsi] |
| 285 mul rbp | 289 mul rbp |
| 286 add r11,rax | 290 add r11,rax |
| 287 adc rdx,0 | 291 adc rdx,0 |
| 288 add r11,rbx | 292 add r11,rbx |
| 289 adc rdx,0 | 293 adc rdx,0 |
| 290 mov rbx,rdx | 294 mov rbx,rdx |
| 291 | 295 |
| 292 » mov» rax,QWORD PTR[16+rsi] | 296 » mov» rax,QWORD[16+rsi] |
| 293 mul rbp | 297 mul rbp |
| 294 add r12,rax | 298 add r12,rax |
| 295 adc rdx,0 | 299 adc rdx,0 |
| 296 add r12,rbx | 300 add r12,rbx |
| 297 adc rdx,0 | 301 adc rdx,0 |
| 298 mov rbx,rdx | 302 mov rbx,rdx |
| 299 | 303 |
| 300 » mov» rax,QWORD PTR[24+rsi] | 304 » mov» rax,QWORD[24+rsi] |
| 301 mul rbp | 305 mul rbp |
| 302 add r13,rax | 306 add r13,rax |
| 303 adc rdx,0 | 307 adc rdx,0 |
| 304 add r13,rbx | 308 add r13,rbx |
| 305 adc rdx,0 | 309 adc rdx,0 |
| 306 mov rbx,rdx | 310 mov rbx,rdx |
| 307 | 311 |
| 308 » mov» rax,QWORD PTR[32+rsi] | 312 » mov» rax,QWORD[32+rsi] |
| 309 mul rbp | 313 mul rbp |
| 310 add r14,rax | 314 add r14,rax |
| 311 adc rdx,0 | 315 adc rdx,0 |
| 312 add r14,rbx | 316 add r14,rbx |
| 313 adc rdx,0 | 317 adc rdx,0 |
| 314 mov rbx,rdx | 318 mov rbx,rdx |
| 315 | 319 |
| 316 » mov» rax,QWORD PTR[40+rsi] | 320 » mov» rax,QWORD[40+rsi] |
| 317 mul rbp | 321 mul rbp |
| 318 add r15,rax | 322 add r15,rax |
| 319 adc rdx,0 | 323 adc rdx,0 |
| 320 add r15,rbx | 324 add r15,rbx |
| 321 adc rdx,0 | 325 adc rdx,0 |
| 322 mov rbx,rdx | 326 mov rbx,rdx |
| 323 | 327 |
| 324 » mov» rax,QWORD PTR[48+rsi] | 328 » mov» rax,QWORD[48+rsi] |
| 325 mul rbp | 329 mul rbp |
| 326 add r8,rax | 330 add r8,rax |
| 327 adc rdx,0 | 331 adc rdx,0 |
| 328 add r8,rbx | 332 add r8,rbx |
| 329 adc rdx,0 | 333 adc rdx,0 |
| 330 mov rbx,rdx | 334 mov rbx,rdx |
| 331 | 335 |
| 332 » mov» rax,QWORD PTR[56+rsi] | 336 » mov» rax,QWORD[56+rsi] |
| 333 mul rbp | 337 mul rbp |
| 334 add r9,rax | 338 add r9,rax |
| 335 adc rdx,0 | 339 adc rdx,0 |
| 336 add r9,rbx | 340 add r9,rbx |
| 337 adc rdx,0 | 341 adc rdx,0 |
| 338 mov r10,rdx | 342 mov r10,rdx |
| 339 » mov» rbp,QWORD PTR[120+rcx] | 343 » mov» rbp,QWORD[120+rcx] |
| 340 » mov» rax,QWORD PTR[rsi] | 344 » mov» rax,QWORD[rsi] |
| 341 mul rbp | 345 mul rbp |
| 342 add r11,rax | 346 add r11,rax |
| 343 adc rdx,0 | 347 adc rdx,0 |
| 344 » mov» QWORD PTR[24+rdi],r11 | 348 » mov» QWORD[24+rdi],r11 |
| 345 mov rbx,rdx | 349 mov rbx,rdx |
| 346 | 350 |
| 347 » mov» rax,QWORD PTR[8+rsi] | 351 » mov» rax,QWORD[8+rsi] |
| 348 mul rbp | 352 mul rbp |
| 349 add r12,rax | 353 add r12,rax |
| 350 adc rdx,0 | 354 adc rdx,0 |
| 351 add r12,rbx | 355 add r12,rbx |
| 352 adc rdx,0 | 356 adc rdx,0 |
| 353 mov rbx,rdx | 357 mov rbx,rdx |
| 354 | 358 |
| 355 » mov» rax,QWORD PTR[16+rsi] | 359 » mov» rax,QWORD[16+rsi] |
| 356 mul rbp | 360 mul rbp |
| 357 add r13,rax | 361 add r13,rax |
| 358 adc rdx,0 | 362 adc rdx,0 |
| 359 add r13,rbx | 363 add r13,rbx |
| 360 adc rdx,0 | 364 adc rdx,0 |
| 361 mov rbx,rdx | 365 mov rbx,rdx |
| 362 | 366 |
| 363 » mov» rax,QWORD PTR[24+rsi] | 367 » mov» rax,QWORD[24+rsi] |
| 364 mul rbp | 368 mul rbp |
| 365 add r14,rax | 369 add r14,rax |
| 366 adc rdx,0 | 370 adc rdx,0 |
| 367 add r14,rbx | 371 add r14,rbx |
| 368 adc rdx,0 | 372 adc rdx,0 |
| 369 mov rbx,rdx | 373 mov rbx,rdx |
| 370 | 374 |
| 371 » mov» rax,QWORD PTR[32+rsi] | 375 » mov» rax,QWORD[32+rsi] |
| 372 mul rbp | 376 mul rbp |
| 373 add r15,rax | 377 add r15,rax |
| 374 adc rdx,0 | 378 adc rdx,0 |
| 375 add r15,rbx | 379 add r15,rbx |
| 376 adc rdx,0 | 380 adc rdx,0 |
| 377 mov rbx,rdx | 381 mov rbx,rdx |
| 378 | 382 |
| 379 » mov» rax,QWORD PTR[40+rsi] | 383 » mov» rax,QWORD[40+rsi] |
| 380 mul rbp | 384 mul rbp |
| 381 add r8,rax | 385 add r8,rax |
| 382 adc rdx,0 | 386 adc rdx,0 |
| 383 add r8,rbx | 387 add r8,rbx |
| 384 adc rdx,0 | 388 adc rdx,0 |
| 385 mov rbx,rdx | 389 mov rbx,rdx |
| 386 | 390 |
| 387 » mov» rax,QWORD PTR[48+rsi] | 391 » mov» rax,QWORD[48+rsi] |
| 388 mul rbp | 392 mul rbp |
| 389 add r9,rax | 393 add r9,rax |
| 390 adc rdx,0 | 394 adc rdx,0 |
| 391 add r9,rbx | 395 add r9,rbx |
| 392 adc rdx,0 | 396 adc rdx,0 |
| 393 mov rbx,rdx | 397 mov rbx,rdx |
| 394 | 398 |
| 395 » mov» rax,QWORD PTR[56+rsi] | 399 » mov» rax,QWORD[56+rsi] |
| 396 mul rbp | 400 mul rbp |
| 397 add r10,rax | 401 add r10,rax |
| 398 adc rdx,0 | 402 adc rdx,0 |
| 399 add r10,rbx | 403 add r10,rbx |
| 400 adc rdx,0 | 404 adc rdx,0 |
| 401 mov r11,rdx | 405 mov r11,rdx |
| 402 xor rax,rax | 406 xor rax,rax |
| 403 | 407 |
| 404 » add» r8,QWORD PTR[64+rcx] | 408 » add» r8,QWORD[64+rcx] |
| 405 » adc» r9,QWORD PTR[72+rcx] | 409 » adc» r9,QWORD[72+rcx] |
| 406 » adc» r10,QWORD PTR[80+rcx] | 410 » adc» r10,QWORD[80+rcx] |
| 407 » adc» r11,QWORD PTR[88+rcx] | 411 » adc» r11,QWORD[88+rcx] |
| 408 adc rax,0 | 412 adc rax,0 |
| 409 | 413 |
| 410 | 414 |
| 411 | 415 |
| 412 | 416 |
| 413 » mov» QWORD PTR[64+rdi],r8 | 417 » mov» QWORD[64+rdi],r8 |
| 414 » mov» QWORD PTR[72+rdi],r9 | 418 » mov» QWORD[72+rdi],r9 |
| 415 mov rbp,r10 | 419 mov rbp,r10 |
| 416 » mov» QWORD PTR[88+rdi],r11 | 420 » mov» QWORD[88+rdi],r11 |
| 417 | 421 |
| 418 » mov» QWORD PTR[384+rsp],rax | 422 » mov» QWORD[384+rsp],rax |
| 419 | 423 |
| 420 » mov» r8,QWORD PTR[rdi] | 424 » mov» r8,QWORD[rdi] |
| 421 » mov» r9,QWORD PTR[8+rdi] | 425 » mov» r9,QWORD[8+rdi] |
| 422 » mov» r10,QWORD PTR[16+rdi] | 426 » mov» r10,QWORD[16+rdi] |
| 423 » mov» r11,QWORD PTR[24+rdi] | 427 » mov» r11,QWORD[24+rdi] |
| 424 | 428 |
| 425 | 429 |
| 426 | 430 |
| 427 | 431 |
| 428 | 432 |
| 429 | 433 |
| 430 | 434 |
| 431 | 435 |
| 432 add rdi,8*10 | 436 add rdi,8*10 |
| 433 | 437 |
| 434 add rsi,64 | 438 add rsi,64 |
| 435 » lea» rcx,QWORD PTR[296+rsp] | 439 » lea» rcx,[296+rsp] |
| 436 | 440 |
| 437 call MULADD_128x512 | 441 call MULADD_128x512 |
| 438 | 442 |
| 439 » mov» rax,QWORD PTR[384+rsp] | 443 » mov» rax,QWORD[384+rsp] |
| 440 | 444 |
| 441 | 445 |
| 442 » add» r8,QWORD PTR[((-16))+rdi] | 446 » add» r8,QWORD[((-16))+rdi] |
| 443 » adc» r9,QWORD PTR[((-8))+rdi] | 447 » adc» r9,QWORD[((-8))+rdi] |
| 444 » mov» QWORD PTR[64+rcx],r8 | 448 » mov» QWORD[64+rcx],r8 |
| 445 » mov» QWORD PTR[72+rcx],r9 | 449 » mov» QWORD[72+rcx],r9 |
| 446 | 450 |
| 447 adc rax,rax | 451 adc rax,rax |
| 448 » mov» QWORD PTR[384+rsp],rax | 452 » mov» QWORD[384+rsp],rax |
| 449 | 453 |
| 450 » lea» rdi,QWORD PTR[192+rsp] | 454 » lea» rdi,[192+rsp] |
| 451 add rsi,64 | 455 add rsi,64 |
| 452 | 456 |
| 453 | 457 |
| 454 | 458 |
| 455 | 459 |
| 456 | 460 |
| 457 » mov» r8,QWORD PTR[rsi] | 461 » mov» r8,QWORD[rsi] |
| 458 » mov» rbx,QWORD PTR[8+rsi] | 462 » mov» rbx,QWORD[8+rsi] |
| 459 | 463 |
| 460 » mov» rax,QWORD PTR[rcx] | 464 » mov» rax,QWORD[rcx] |
| 461 mul r8 | 465 mul r8 |
| 462 mov rbp,rax | 466 mov rbp,rax |
| 463 mov r9,rdx | 467 mov r9,rdx |
| 464 | 468 |
| 465 » mov» rax,QWORD PTR[8+rcx] | 469 » mov» rax,QWORD[8+rcx] |
| 466 mul r8 | 470 mul r8 |
| 467 add r9,rax | 471 add r9,rax |
| 468 | 472 |
| 469 » mov» rax,QWORD PTR[rcx] | 473 » mov» rax,QWORD[rcx] |
| 470 mul rbx | 474 mul rbx |
| 471 add r9,rax | 475 add r9,rax |
| 472 | 476 |
| 473 » mov» QWORD PTR[8+rdi],r9 | 477 » mov» QWORD[8+rdi],r9 |
| 474 | 478 |
| 475 | 479 |
| 476 sub rsi,192 | 480 sub rsi,192 |
| 477 | 481 |
| 478 » mov» r8,QWORD PTR[rcx] | 482 » mov» r8,QWORD[rcx] |
| 479 » mov» r9,QWORD PTR[8+rcx] | 483 » mov» r9,QWORD[8+rcx] |
| 480 | 484 |
| 481 call MULADD_128x512 | 485 call MULADD_128x512 |
| 482 | 486 |
| 483 | 487 |
| 484 | 488 |
| 485 | 489 |
| 486 » mov» rax,QWORD PTR[rsi] | 490 » mov» rax,QWORD[rsi] |
| 487 » mov» rbx,QWORD PTR[8+rsi] | 491 » mov» rbx,QWORD[8+rsi] |
| 488 » mov» rdi,QWORD PTR[16+rsi] | 492 » mov» rdi,QWORD[16+rsi] |
| 489 » mov» rdx,QWORD PTR[24+rsi] | 493 » mov» rdx,QWORD[24+rsi] |
| 490 | 494 |
| 491 | 495 |
| 492 » mov» rbp,QWORD PTR[384+rsp] | 496 » mov» rbp,QWORD[384+rsp] |
| 493 | 497 |
| 494 » add» r8,QWORD PTR[64+rcx] | 498 » add» r8,QWORD[64+rcx] |
| 495 » adc» r9,QWORD PTR[72+rcx] | 499 » adc» r9,QWORD[72+rcx] |
| 496 | 500 |
| 497 | 501 |
| 498 adc rbp,rbp | 502 adc rbp,rbp |
| 499 | 503 |
| 500 | 504 |
| 501 | 505 |
| 502 shl rbp,3 | 506 shl rbp,3 |
| 503 » mov» rcx,QWORD PTR[32+rsp] | 507 » mov» rcx,QWORD[32+rsp] |
| 504 add rbp,rcx | 508 add rbp,rcx |
| 505 | 509 |
| 506 | 510 |
| 507 xor rsi,rsi | 511 xor rsi,rsi |
| 508 | 512 |
| 509 » add» r10,QWORD PTR[rbp] | 513 » add» r10,QWORD[rbp] |
| 510 » adc» r11,QWORD PTR[64+rbp] | 514 » adc» r11,QWORD[64+rbp] |
| 511 » adc» r12,QWORD PTR[128+rbp] | 515 » adc» r12,QWORD[128+rbp] |
| 512 » adc» r13,QWORD PTR[192+rbp] | 516 » adc» r13,QWORD[192+rbp] |
| 513 » adc» r14,QWORD PTR[256+rbp] | 517 » adc» r14,QWORD[256+rbp] |
| 514 » adc» r15,QWORD PTR[320+rbp] | 518 » adc» r15,QWORD[320+rbp] |
| 515 » adc» r8,QWORD PTR[384+rbp] | 519 » adc» r8,QWORD[384+rbp] |
| 516 » adc» r9,QWORD PTR[448+rbp] | 520 » adc» r9,QWORD[448+rbp] |
| 517 | 521 |
| 518 | 522 |
| 519 | 523 |
| 520 sbb rsi,0 | 524 sbb rsi,0 |
| 521 | 525 |
| 522 | 526 |
| 523 and rax,rsi | 527 and rax,rsi |
| 524 and rbx,rsi | 528 and rbx,rsi |
| 525 and rdi,rsi | 529 and rdi,rsi |
| 526 and rdx,rsi | 530 and rdx,rsi |
| 527 | 531 |
| 528 mov rbp,1 | 532 mov rbp,1 |
| 529 sub r10,rax | 533 sub r10,rax |
| 530 sbb r11,rbx | 534 sbb r11,rbx |
| 531 sbb r12,rdi | 535 sbb r12,rdi |
| 532 sbb r13,rdx | 536 sbb r13,rdx |
| 533 | 537 |
| 534 | 538 |
| 535 | 539 |
| 536 | 540 |
| 537 sbb rbp,0 | 541 sbb rbp,0 |
| 538 | 542 |
| 539 | 543 |
| 540 | 544 |
| 541 add rcx,512 | 545 add rcx,512 |
| 542 » mov» rax,QWORD PTR[32+rcx] | 546 » mov» rax,QWORD[32+rcx] |
| 543 » mov» rbx,QWORD PTR[40+rcx] | 547 » mov» rbx,QWORD[40+rcx] |
| 544 » mov» rdi,QWORD PTR[48+rcx] | 548 » mov» rdi,QWORD[48+rcx] |
| 545 » mov» rdx,QWORD PTR[56+rcx] | 549 » mov» rdx,QWORD[56+rcx] |
| 546 | 550 |
| 547 | 551 |
| 548 | 552 |
| 549 and rax,rsi | 553 and rax,rsi |
| 550 and rbx,rsi | 554 and rbx,rsi |
| 551 and rdi,rsi | 555 and rdi,rsi |
| 552 and rdx,rsi | 556 and rdx,rsi |
| 553 | 557 |
| 554 | 558 |
| 555 | 559 |
| 556 sub rbp,1 | 560 sub rbp,1 |
| 557 | 561 |
| 558 sbb r14,rax | 562 sbb r14,rax |
| 559 sbb r15,rbx | 563 sbb r15,rbx |
| 560 sbb r8,rdi | 564 sbb r8,rdi |
| 561 sbb r9,rdx | 565 sbb r9,rdx |
| 562 | 566 |
| 563 | 567 |
| 564 | 568 |
| 565 » mov» rsi,QWORD PTR[144+rsp] | 569 » mov» rsi,QWORD[144+rsp] |
| 566 » mov» QWORD PTR[rsi],r10 | 570 » mov» QWORD[rsi],r10 |
| 567 » mov» QWORD PTR[8+rsi],r11 | 571 » mov» QWORD[8+rsi],r11 |
| 568 » mov» QWORD PTR[16+rsi],r12 | 572 » mov» QWORD[16+rsi],r12 |
| 569 » mov» QWORD PTR[24+rsi],r13 | 573 » mov» QWORD[24+rsi],r13 |
| 570 » mov» QWORD PTR[32+rsi],r14 | 574 » mov» QWORD[32+rsi],r14 |
| 571 » mov» QWORD PTR[40+rsi],r15 | 575 » mov» QWORD[40+rsi],r15 |
| 572 » mov» QWORD PTR[48+rsi],r8 | 576 » mov» QWORD[48+rsi],r8 |
| 573 » mov» QWORD PTR[56+rsi],r9 | 577 » mov» QWORD[56+rsi],r9 |
| 574 | 578 |
| 575 DB 0F3h,0C3h ;repret | 579 DB 0F3h,0C3h ;repret |
| 576 mont_reduce» ENDP | 580 |
| 577 | 581 |
| 578 ALIGN 16 | 582 ALIGN 16 |
| 579 mont_mul_a3b» PROC PRIVATE | 583 mont_mul_a3b: |
| 580 | 584 |
| 581 | 585 |
| 582 | 586 |
| 583 | 587 |
| 584 » mov» rbp,QWORD PTR[rdi] | 588 » mov» rbp,QWORD[rdi] |
| 585 | 589 |
| 586 mov rax,r10 | 590 mov rax,r10 |
| 587 mul rbp | 591 mul rbp |
| 588 » mov» QWORD PTR[520+rsp],rax | 592 » mov» QWORD[520+rsp],rax |
| 589 mov r10,rdx | 593 mov r10,rdx |
| 590 mov rax,r11 | 594 mov rax,r11 |
| 591 mul rbp | 595 mul rbp |
| 592 add r10,rax | 596 add r10,rax |
| 593 adc rdx,0 | 597 adc rdx,0 |
| 594 mov r11,rdx | 598 mov r11,rdx |
| 595 mov rax,r12 | 599 mov rax,r12 |
| 596 mul rbp | 600 mul rbp |
| 597 add r11,rax | 601 add r11,rax |
| 598 adc rdx,0 | 602 adc rdx,0 |
| (...skipping 16 matching lines...) Expand all Loading... |
| 615 mov rax,r8 | 619 mov rax,r8 |
| 616 mul rbp | 620 mul rbp |
| 617 add r15,rax | 621 add r15,rax |
| 618 adc rdx,0 | 622 adc rdx,0 |
| 619 mov r8,rdx | 623 mov r8,rdx |
| 620 mov rax,r9 | 624 mov rax,r9 |
| 621 mul rbp | 625 mul rbp |
| 622 add r8,rax | 626 add r8,rax |
| 623 adc rdx,0 | 627 adc rdx,0 |
| 624 mov r9,rdx | 628 mov r9,rdx |
| 625 » mov» rbp,QWORD PTR[8+rdi] | 629 » mov» rbp,QWORD[8+rdi] |
| 626 » mov» rax,QWORD PTR[rsi] | 630 » mov» rax,QWORD[rsi] |
| 627 mul rbp | 631 mul rbp |
| 628 add r10,rax | 632 add r10,rax |
| 629 adc rdx,0 | 633 adc rdx,0 |
| 630 » mov» QWORD PTR[528+rsp],r10 | 634 » mov» QWORD[528+rsp],r10 |
| 631 mov rbx,rdx | 635 mov rbx,rdx |
| 632 | 636 |
| 633 » mov» rax,QWORD PTR[8+rsi] | 637 » mov» rax,QWORD[8+rsi] |
| 634 mul rbp | 638 mul rbp |
| 635 add r11,rax | 639 add r11,rax |
| 636 adc rdx,0 | 640 adc rdx,0 |
| 637 add r11,rbx | 641 add r11,rbx |
| 638 adc rdx,0 | 642 adc rdx,0 |
| 639 mov rbx,rdx | 643 mov rbx,rdx |
| 640 | 644 |
| 641 » mov» rax,QWORD PTR[16+rsi] | 645 » mov» rax,QWORD[16+rsi] |
| 642 mul rbp | 646 mul rbp |
| 643 add r12,rax | 647 add r12,rax |
| 644 adc rdx,0 | 648 adc rdx,0 |
| 645 add r12,rbx | 649 add r12,rbx |
| 646 adc rdx,0 | 650 adc rdx,0 |
| 647 mov rbx,rdx | 651 mov rbx,rdx |
| 648 | 652 |
| 649 » mov» rax,QWORD PTR[24+rsi] | 653 » mov» rax,QWORD[24+rsi] |
| 650 mul rbp | 654 mul rbp |
| 651 add r13,rax | 655 add r13,rax |
| 652 adc rdx,0 | 656 adc rdx,0 |
| 653 add r13,rbx | 657 add r13,rbx |
| 654 adc rdx,0 | 658 adc rdx,0 |
| 655 mov rbx,rdx | 659 mov rbx,rdx |
| 656 | 660 |
| 657 » mov» rax,QWORD PTR[32+rsi] | 661 » mov» rax,QWORD[32+rsi] |
| 658 mul rbp | 662 mul rbp |
| 659 add r14,rax | 663 add r14,rax |
| 660 adc rdx,0 | 664 adc rdx,0 |
| 661 add r14,rbx | 665 add r14,rbx |
| 662 adc rdx,0 | 666 adc rdx,0 |
| 663 mov rbx,rdx | 667 mov rbx,rdx |
| 664 | 668 |
| 665 » mov» rax,QWORD PTR[40+rsi] | 669 » mov» rax,QWORD[40+rsi] |
| 666 mul rbp | 670 mul rbp |
| 667 add r15,rax | 671 add r15,rax |
| 668 adc rdx,0 | 672 adc rdx,0 |
| 669 add r15,rbx | 673 add r15,rbx |
| 670 adc rdx,0 | 674 adc rdx,0 |
| 671 mov rbx,rdx | 675 mov rbx,rdx |
| 672 | 676 |
| 673 » mov» rax,QWORD PTR[48+rsi] | 677 » mov» rax,QWORD[48+rsi] |
| 674 mul rbp | 678 mul rbp |
| 675 add r8,rax | 679 add r8,rax |
| 676 adc rdx,0 | 680 adc rdx,0 |
| 677 add r8,rbx | 681 add r8,rbx |
| 678 adc rdx,0 | 682 adc rdx,0 |
| 679 mov rbx,rdx | 683 mov rbx,rdx |
| 680 | 684 |
| 681 » mov» rax,QWORD PTR[56+rsi] | 685 » mov» rax,QWORD[56+rsi] |
| 682 mul rbp | 686 mul rbp |
| 683 add r9,rax | 687 add r9,rax |
| 684 adc rdx,0 | 688 adc rdx,0 |
| 685 add r9,rbx | 689 add r9,rbx |
| 686 adc rdx,0 | 690 adc rdx,0 |
| 687 mov r10,rdx | 691 mov r10,rdx |
| 688 » mov» rbp,QWORD PTR[16+rdi] | 692 » mov» rbp,QWORD[16+rdi] |
| 689 » mov» rax,QWORD PTR[rsi] | 693 » mov» rax,QWORD[rsi] |
| 690 mul rbp | 694 mul rbp |
| 691 add r11,rax | 695 add r11,rax |
| 692 adc rdx,0 | 696 adc rdx,0 |
| 693 » mov» QWORD PTR[536+rsp],r11 | 697 » mov» QWORD[536+rsp],r11 |
| 694 mov rbx,rdx | 698 mov rbx,rdx |
| 695 | 699 |
| 696 » mov» rax,QWORD PTR[8+rsi] | 700 » mov» rax,QWORD[8+rsi] |
| 697 mul rbp | 701 mul rbp |
| 698 add r12,rax | 702 add r12,rax |
| 699 adc rdx,0 | 703 adc rdx,0 |
| 700 add r12,rbx | 704 add r12,rbx |
| 701 adc rdx,0 | 705 adc rdx,0 |
| 702 mov rbx,rdx | 706 mov rbx,rdx |
| 703 | 707 |
| 704 » mov» rax,QWORD PTR[16+rsi] | 708 » mov» rax,QWORD[16+rsi] |
| 705 mul rbp | 709 mul rbp |
| 706 add r13,rax | 710 add r13,rax |
| 707 adc rdx,0 | 711 adc rdx,0 |
| 708 add r13,rbx | 712 add r13,rbx |
| 709 adc rdx,0 | 713 adc rdx,0 |
| 710 mov rbx,rdx | 714 mov rbx,rdx |
| 711 | 715 |
| 712 » mov» rax,QWORD PTR[24+rsi] | 716 » mov» rax,QWORD[24+rsi] |
| 713 mul rbp | 717 mul rbp |
| 714 add r14,rax | 718 add r14,rax |
| 715 adc rdx,0 | 719 adc rdx,0 |
| 716 add r14,rbx | 720 add r14,rbx |
| 717 adc rdx,0 | 721 adc rdx,0 |
| 718 mov rbx,rdx | 722 mov rbx,rdx |
| 719 | 723 |
| 720 » mov» rax,QWORD PTR[32+rsi] | 724 » mov» rax,QWORD[32+rsi] |
| 721 mul rbp | 725 mul rbp |
| 722 add r15,rax | 726 add r15,rax |
| 723 adc rdx,0 | 727 adc rdx,0 |
| 724 add r15,rbx | 728 add r15,rbx |
| 725 adc rdx,0 | 729 adc rdx,0 |
| 726 mov rbx,rdx | 730 mov rbx,rdx |
| 727 | 731 |
| 728 » mov» rax,QWORD PTR[40+rsi] | 732 » mov» rax,QWORD[40+rsi] |
| 729 mul rbp | 733 mul rbp |
| 730 add r8,rax | 734 add r8,rax |
| 731 adc rdx,0 | 735 adc rdx,0 |
| 732 add r8,rbx | 736 add r8,rbx |
| 733 adc rdx,0 | 737 adc rdx,0 |
| 734 mov rbx,rdx | 738 mov rbx,rdx |
| 735 | 739 |
| 736 » mov» rax,QWORD PTR[48+rsi] | 740 » mov» rax,QWORD[48+rsi] |
| 737 mul rbp | 741 mul rbp |
| 738 add r9,rax | 742 add r9,rax |
| 739 adc rdx,0 | 743 adc rdx,0 |
| 740 add r9,rbx | 744 add r9,rbx |
| 741 adc rdx,0 | 745 adc rdx,0 |
| 742 mov rbx,rdx | 746 mov rbx,rdx |
| 743 | 747 |
| 744 » mov» rax,QWORD PTR[56+rsi] | 748 » mov» rax,QWORD[56+rsi] |
| 745 mul rbp | 749 mul rbp |
| 746 add r10,rax | 750 add r10,rax |
| 747 adc rdx,0 | 751 adc rdx,0 |
| 748 add r10,rbx | 752 add r10,rbx |
| 749 adc rdx,0 | 753 adc rdx,0 |
| 750 mov r11,rdx | 754 mov r11,rdx |
| 751 » mov» rbp,QWORD PTR[24+rdi] | 755 » mov» rbp,QWORD[24+rdi] |
| 752 » mov» rax,QWORD PTR[rsi] | 756 » mov» rax,QWORD[rsi] |
| 753 mul rbp | 757 mul rbp |
| 754 add r12,rax | 758 add r12,rax |
| 755 adc rdx,0 | 759 adc rdx,0 |
| 756 » mov» QWORD PTR[544+rsp],r12 | 760 » mov» QWORD[544+rsp],r12 |
| 757 mov rbx,rdx | 761 mov rbx,rdx |
| 758 | 762 |
| 759 » mov» rax,QWORD PTR[8+rsi] | 763 » mov» rax,QWORD[8+rsi] |
| 760 mul rbp | 764 mul rbp |
| 761 add r13,rax | 765 add r13,rax |
| 762 adc rdx,0 | 766 adc rdx,0 |
| 763 add r13,rbx | 767 add r13,rbx |
| 764 adc rdx,0 | 768 adc rdx,0 |
| 765 mov rbx,rdx | 769 mov rbx,rdx |
| 766 | 770 |
| 767 » mov» rax,QWORD PTR[16+rsi] | 771 » mov» rax,QWORD[16+rsi] |
| 768 mul rbp | 772 mul rbp |
| 769 add r14,rax | 773 add r14,rax |
| 770 adc rdx,0 | 774 adc rdx,0 |
| 771 add r14,rbx | 775 add r14,rbx |
| 772 adc rdx,0 | 776 adc rdx,0 |
| 773 mov rbx,rdx | 777 mov rbx,rdx |
| 774 | 778 |
| 775 » mov» rax,QWORD PTR[24+rsi] | 779 » mov» rax,QWORD[24+rsi] |
| 776 mul rbp | 780 mul rbp |
| 777 add r15,rax | 781 add r15,rax |
| 778 adc rdx,0 | 782 adc rdx,0 |
| 779 add r15,rbx | 783 add r15,rbx |
| 780 adc rdx,0 | 784 adc rdx,0 |
| 781 mov rbx,rdx | 785 mov rbx,rdx |
| 782 | 786 |
| 783 » mov» rax,QWORD PTR[32+rsi] | 787 » mov» rax,QWORD[32+rsi] |
| 784 mul rbp | 788 mul rbp |
| 785 add r8,rax | 789 add r8,rax |
| 786 adc rdx,0 | 790 adc rdx,0 |
| 787 add r8,rbx | 791 add r8,rbx |
| 788 adc rdx,0 | 792 adc rdx,0 |
| 789 mov rbx,rdx | 793 mov rbx,rdx |
| 790 | 794 |
| 791 » mov» rax,QWORD PTR[40+rsi] | 795 » mov» rax,QWORD[40+rsi] |
| 792 mul rbp | 796 mul rbp |
| 793 add r9,rax | 797 add r9,rax |
| 794 adc rdx,0 | 798 adc rdx,0 |
| 795 add r9,rbx | 799 add r9,rbx |
| 796 adc rdx,0 | 800 adc rdx,0 |
| 797 mov rbx,rdx | 801 mov rbx,rdx |
| 798 | 802 |
| 799 » mov» rax,QWORD PTR[48+rsi] | 803 » mov» rax,QWORD[48+rsi] |
| 800 mul rbp | 804 mul rbp |
| 801 add r10,rax | 805 add r10,rax |
| 802 adc rdx,0 | 806 adc rdx,0 |
| 803 add r10,rbx | 807 add r10,rbx |
| 804 adc rdx,0 | 808 adc rdx,0 |
| 805 mov rbx,rdx | 809 mov rbx,rdx |
| 806 | 810 |
| 807 » mov» rax,QWORD PTR[56+rsi] | 811 » mov» rax,QWORD[56+rsi] |
| 808 mul rbp | 812 mul rbp |
| 809 add r11,rax | 813 add r11,rax |
| 810 adc rdx,0 | 814 adc rdx,0 |
| 811 add r11,rbx | 815 add r11,rbx |
| 812 adc rdx,0 | 816 adc rdx,0 |
| 813 mov r12,rdx | 817 mov r12,rdx |
| 814 » mov» rbp,QWORD PTR[32+rdi] | 818 » mov» rbp,QWORD[32+rdi] |
| 815 » mov» rax,QWORD PTR[rsi] | 819 » mov» rax,QWORD[rsi] |
| 816 mul rbp | 820 mul rbp |
| 817 add r13,rax | 821 add r13,rax |
| 818 adc rdx,0 | 822 adc rdx,0 |
| 819 » mov» QWORD PTR[552+rsp],r13 | 823 » mov» QWORD[552+rsp],r13 |
| 820 mov rbx,rdx | 824 mov rbx,rdx |
| 821 | 825 |
| 822 » mov» rax,QWORD PTR[8+rsi] | 826 » mov» rax,QWORD[8+rsi] |
| 823 mul rbp | 827 mul rbp |
| 824 add r14,rax | 828 add r14,rax |
| 825 adc rdx,0 | 829 adc rdx,0 |
| 826 add r14,rbx | 830 add r14,rbx |
| 827 adc rdx,0 | 831 adc rdx,0 |
| 828 mov rbx,rdx | 832 mov rbx,rdx |
| 829 | 833 |
| 830 » mov» rax,QWORD PTR[16+rsi] | 834 » mov» rax,QWORD[16+rsi] |
| 831 mul rbp | 835 mul rbp |
| 832 add r15,rax | 836 add r15,rax |
| 833 adc rdx,0 | 837 adc rdx,0 |
| 834 add r15,rbx | 838 add r15,rbx |
| 835 adc rdx,0 | 839 adc rdx,0 |
| 836 mov rbx,rdx | 840 mov rbx,rdx |
| 837 | 841 |
| 838 » mov» rax,QWORD PTR[24+rsi] | 842 » mov» rax,QWORD[24+rsi] |
| 839 mul rbp | 843 mul rbp |
| 840 add r8,rax | 844 add r8,rax |
| 841 adc rdx,0 | 845 adc rdx,0 |
| 842 add r8,rbx | 846 add r8,rbx |
| 843 adc rdx,0 | 847 adc rdx,0 |
| 844 mov rbx,rdx | 848 mov rbx,rdx |
| 845 | 849 |
| 846 » mov» rax,QWORD PTR[32+rsi] | 850 » mov» rax,QWORD[32+rsi] |
| 847 mul rbp | 851 mul rbp |
| 848 add r9,rax | 852 add r9,rax |
| 849 adc rdx,0 | 853 adc rdx,0 |
| 850 add r9,rbx | 854 add r9,rbx |
| 851 adc rdx,0 | 855 adc rdx,0 |
| 852 mov rbx,rdx | 856 mov rbx,rdx |
| 853 | 857 |
| 854 » mov» rax,QWORD PTR[40+rsi] | 858 » mov» rax,QWORD[40+rsi] |
| 855 mul rbp | 859 mul rbp |
| 856 add r10,rax | 860 add r10,rax |
| 857 adc rdx,0 | 861 adc rdx,0 |
| 858 add r10,rbx | 862 add r10,rbx |
| 859 adc rdx,0 | 863 adc rdx,0 |
| 860 mov rbx,rdx | 864 mov rbx,rdx |
| 861 | 865 |
| 862 » mov» rax,QWORD PTR[48+rsi] | 866 » mov» rax,QWORD[48+rsi] |
| 863 mul rbp | 867 mul rbp |
| 864 add r11,rax | 868 add r11,rax |
| 865 adc rdx,0 | 869 adc rdx,0 |
| 866 add r11,rbx | 870 add r11,rbx |
| 867 adc rdx,0 | 871 adc rdx,0 |
| 868 mov rbx,rdx | 872 mov rbx,rdx |
| 869 | 873 |
| 870 » mov» rax,QWORD PTR[56+rsi] | 874 » mov» rax,QWORD[56+rsi] |
| 871 mul rbp | 875 mul rbp |
| 872 add r12,rax | 876 add r12,rax |
| 873 adc rdx,0 | 877 adc rdx,0 |
| 874 add r12,rbx | 878 add r12,rbx |
| 875 adc rdx,0 | 879 adc rdx,0 |
| 876 mov r13,rdx | 880 mov r13,rdx |
| 877 » mov» rbp,QWORD PTR[40+rdi] | 881 » mov» rbp,QWORD[40+rdi] |
| 878 » mov» rax,QWORD PTR[rsi] | 882 » mov» rax,QWORD[rsi] |
| 879 mul rbp | 883 mul rbp |
| 880 add r14,rax | 884 add r14,rax |
| 881 adc rdx,0 | 885 adc rdx,0 |
| 882 » mov» QWORD PTR[560+rsp],r14 | 886 » mov» QWORD[560+rsp],r14 |
| 883 mov rbx,rdx | 887 mov rbx,rdx |
| 884 | 888 |
| 885 » mov» rax,QWORD PTR[8+rsi] | 889 » mov» rax,QWORD[8+rsi] |
| 886 mul rbp | 890 mul rbp |
| 887 add r15,rax | 891 add r15,rax |
| 888 adc rdx,0 | 892 adc rdx,0 |
| 889 add r15,rbx | 893 add r15,rbx |
| 890 adc rdx,0 | 894 adc rdx,0 |
| 891 mov rbx,rdx | 895 mov rbx,rdx |
| 892 | 896 |
| 893 » mov» rax,QWORD PTR[16+rsi] | 897 » mov» rax,QWORD[16+rsi] |
| 894 mul rbp | 898 mul rbp |
| 895 add r8,rax | 899 add r8,rax |
| 896 adc rdx,0 | 900 adc rdx,0 |
| 897 add r8,rbx | 901 add r8,rbx |
| 898 adc rdx,0 | 902 adc rdx,0 |
| 899 mov rbx,rdx | 903 mov rbx,rdx |
| 900 | 904 |
| 901 » mov» rax,QWORD PTR[24+rsi] | 905 » mov» rax,QWORD[24+rsi] |
| 902 mul rbp | 906 mul rbp |
| 903 add r9,rax | 907 add r9,rax |
| 904 adc rdx,0 | 908 adc rdx,0 |
| 905 add r9,rbx | 909 add r9,rbx |
| 906 adc rdx,0 | 910 adc rdx,0 |
| 907 mov rbx,rdx | 911 mov rbx,rdx |
| 908 | 912 |
| 909 » mov» rax,QWORD PTR[32+rsi] | 913 » mov» rax,QWORD[32+rsi] |
| 910 mul rbp | 914 mul rbp |
| 911 add r10,rax | 915 add r10,rax |
| 912 adc rdx,0 | 916 adc rdx,0 |
| 913 add r10,rbx | 917 add r10,rbx |
| 914 adc rdx,0 | 918 adc rdx,0 |
| 915 mov rbx,rdx | 919 mov rbx,rdx |
| 916 | 920 |
| 917 » mov» rax,QWORD PTR[40+rsi] | 921 » mov» rax,QWORD[40+rsi] |
| 918 mul rbp | 922 mul rbp |
| 919 add r11,rax | 923 add r11,rax |
| 920 adc rdx,0 | 924 adc rdx,0 |
| 921 add r11,rbx | 925 add r11,rbx |
| 922 adc rdx,0 | 926 adc rdx,0 |
| 923 mov rbx,rdx | 927 mov rbx,rdx |
| 924 | 928 |
| 925 » mov» rax,QWORD PTR[48+rsi] | 929 » mov» rax,QWORD[48+rsi] |
| 926 mul rbp | 930 mul rbp |
| 927 add r12,rax | 931 add r12,rax |
| 928 adc rdx,0 | 932 adc rdx,0 |
| 929 add r12,rbx | 933 add r12,rbx |
| 930 adc rdx,0 | 934 adc rdx,0 |
| 931 mov rbx,rdx | 935 mov rbx,rdx |
| 932 | 936 |
| 933 » mov» rax,QWORD PTR[56+rsi] | 937 » mov» rax,QWORD[56+rsi] |
| 934 mul rbp | 938 mul rbp |
| 935 add r13,rax | 939 add r13,rax |
| 936 adc rdx,0 | 940 adc rdx,0 |
| 937 add r13,rbx | 941 add r13,rbx |
| 938 adc rdx,0 | 942 adc rdx,0 |
| 939 mov r14,rdx | 943 mov r14,rdx |
| 940 » mov» rbp,QWORD PTR[48+rdi] | 944 » mov» rbp,QWORD[48+rdi] |
| 941 » mov» rax,QWORD PTR[rsi] | 945 » mov» rax,QWORD[rsi] |
| 942 mul rbp | 946 mul rbp |
| 943 add r15,rax | 947 add r15,rax |
| 944 adc rdx,0 | 948 adc rdx,0 |
| 945 » mov» QWORD PTR[568+rsp],r15 | 949 » mov» QWORD[568+rsp],r15 |
| 946 mov rbx,rdx | 950 mov rbx,rdx |
| 947 | 951 |
| 948 » mov» rax,QWORD PTR[8+rsi] | 952 » mov» rax,QWORD[8+rsi] |
| 949 mul rbp | 953 mul rbp |
| 950 add r8,rax | 954 add r8,rax |
| 951 adc rdx,0 | 955 adc rdx,0 |
| 952 add r8,rbx | 956 add r8,rbx |
| 953 adc rdx,0 | 957 adc rdx,0 |
| 954 mov rbx,rdx | 958 mov rbx,rdx |
| 955 | 959 |
| 956 » mov» rax,QWORD PTR[16+rsi] | 960 » mov» rax,QWORD[16+rsi] |
| 957 mul rbp | 961 mul rbp |
| 958 add r9,rax | 962 add r9,rax |
| 959 adc rdx,0 | 963 adc rdx,0 |
| 960 add r9,rbx | 964 add r9,rbx |
| 961 adc rdx,0 | 965 adc rdx,0 |
| 962 mov rbx,rdx | 966 mov rbx,rdx |
| 963 | 967 |
| 964 » mov» rax,QWORD PTR[24+rsi] | 968 » mov» rax,QWORD[24+rsi] |
| 965 mul rbp | 969 mul rbp |
| 966 add r10,rax | 970 add r10,rax |
| 967 adc rdx,0 | 971 adc rdx,0 |
| 968 add r10,rbx | 972 add r10,rbx |
| 969 adc rdx,0 | 973 adc rdx,0 |
| 970 mov rbx,rdx | 974 mov rbx,rdx |
| 971 | 975 |
| 972 » mov» rax,QWORD PTR[32+rsi] | 976 » mov» rax,QWORD[32+rsi] |
| 973 mul rbp | 977 mul rbp |
| 974 add r11,rax | 978 add r11,rax |
| 975 adc rdx,0 | 979 adc rdx,0 |
| 976 add r11,rbx | 980 add r11,rbx |
| 977 adc rdx,0 | 981 adc rdx,0 |
| 978 mov rbx,rdx | 982 mov rbx,rdx |
| 979 | 983 |
| 980 » mov» rax,QWORD PTR[40+rsi] | 984 » mov» rax,QWORD[40+rsi] |
| 981 mul rbp | 985 mul rbp |
| 982 add r12,rax | 986 add r12,rax |
| 983 adc rdx,0 | 987 adc rdx,0 |
| 984 add r12,rbx | 988 add r12,rbx |
| 985 adc rdx,0 | 989 adc rdx,0 |
| 986 mov rbx,rdx | 990 mov rbx,rdx |
| 987 | 991 |
| 988 » mov» rax,QWORD PTR[48+rsi] | 992 » mov» rax,QWORD[48+rsi] |
| 989 mul rbp | 993 mul rbp |
| 990 add r13,rax | 994 add r13,rax |
| 991 adc rdx,0 | 995 adc rdx,0 |
| 992 add r13,rbx | 996 add r13,rbx |
| 993 adc rdx,0 | 997 adc rdx,0 |
| 994 mov rbx,rdx | 998 mov rbx,rdx |
| 995 | 999 |
| 996 » mov» rax,QWORD PTR[56+rsi] | 1000 » mov» rax,QWORD[56+rsi] |
| 997 mul rbp | 1001 mul rbp |
| 998 add r14,rax | 1002 add r14,rax |
| 999 adc rdx,0 | 1003 adc rdx,0 |
| 1000 add r14,rbx | 1004 add r14,rbx |
| 1001 adc rdx,0 | 1005 adc rdx,0 |
| 1002 mov r15,rdx | 1006 mov r15,rdx |
| 1003 » mov» rbp,QWORD PTR[56+rdi] | 1007 » mov» rbp,QWORD[56+rdi] |
| 1004 » mov» rax,QWORD PTR[rsi] | 1008 » mov» rax,QWORD[rsi] |
| 1005 mul rbp | 1009 mul rbp |
| 1006 add r8,rax | 1010 add r8,rax |
| 1007 adc rdx,0 | 1011 adc rdx,0 |
| 1008 » mov» QWORD PTR[576+rsp],r8 | 1012 » mov» QWORD[576+rsp],r8 |
| 1009 mov rbx,rdx | 1013 mov rbx,rdx |
| 1010 | 1014 |
| 1011 » mov» rax,QWORD PTR[8+rsi] | 1015 » mov» rax,QWORD[8+rsi] |
| 1012 mul rbp | 1016 mul rbp |
| 1013 add r9,rax | 1017 add r9,rax |
| 1014 adc rdx,0 | 1018 adc rdx,0 |
| 1015 add r9,rbx | 1019 add r9,rbx |
| 1016 adc rdx,0 | 1020 adc rdx,0 |
| 1017 mov rbx,rdx | 1021 mov rbx,rdx |
| 1018 | 1022 |
| 1019 » mov» rax,QWORD PTR[16+rsi] | 1023 » mov» rax,QWORD[16+rsi] |
| 1020 mul rbp | 1024 mul rbp |
| 1021 add r10,rax | 1025 add r10,rax |
| 1022 adc rdx,0 | 1026 adc rdx,0 |
| 1023 add r10,rbx | 1027 add r10,rbx |
| 1024 adc rdx,0 | 1028 adc rdx,0 |
| 1025 mov rbx,rdx | 1029 mov rbx,rdx |
| 1026 | 1030 |
| 1027 » mov» rax,QWORD PTR[24+rsi] | 1031 » mov» rax,QWORD[24+rsi] |
| 1028 mul rbp | 1032 mul rbp |
| 1029 add r11,rax | 1033 add r11,rax |
| 1030 adc rdx,0 | 1034 adc rdx,0 |
| 1031 add r11,rbx | 1035 add r11,rbx |
| 1032 adc rdx,0 | 1036 adc rdx,0 |
| 1033 mov rbx,rdx | 1037 mov rbx,rdx |
| 1034 | 1038 |
| 1035 » mov» rax,QWORD PTR[32+rsi] | 1039 » mov» rax,QWORD[32+rsi] |
| 1036 mul rbp | 1040 mul rbp |
| 1037 add r12,rax | 1041 add r12,rax |
| 1038 adc rdx,0 | 1042 adc rdx,0 |
| 1039 add r12,rbx | 1043 add r12,rbx |
| 1040 adc rdx,0 | 1044 adc rdx,0 |
| 1041 mov rbx,rdx | 1045 mov rbx,rdx |
| 1042 | 1046 |
| 1043 » mov» rax,QWORD PTR[40+rsi] | 1047 » mov» rax,QWORD[40+rsi] |
| 1044 mul rbp | 1048 mul rbp |
| 1045 add r13,rax | 1049 add r13,rax |
| 1046 adc rdx,0 | 1050 adc rdx,0 |
| 1047 add r13,rbx | 1051 add r13,rbx |
| 1048 adc rdx,0 | 1052 adc rdx,0 |
| 1049 mov rbx,rdx | 1053 mov rbx,rdx |
| 1050 | 1054 |
| 1051 » mov» rax,QWORD PTR[48+rsi] | 1055 » mov» rax,QWORD[48+rsi] |
| 1052 mul rbp | 1056 mul rbp |
| 1053 add r14,rax | 1057 add r14,rax |
| 1054 adc rdx,0 | 1058 adc rdx,0 |
| 1055 add r14,rbx | 1059 add r14,rbx |
| 1056 adc rdx,0 | 1060 adc rdx,0 |
| 1057 mov rbx,rdx | 1061 mov rbx,rdx |
| 1058 | 1062 |
| 1059 » mov» rax,QWORD PTR[56+rsi] | 1063 » mov» rax,QWORD[56+rsi] |
| 1060 mul rbp | 1064 mul rbp |
| 1061 add r15,rax | 1065 add r15,rax |
| 1062 adc rdx,0 | 1066 adc rdx,0 |
| 1063 add r15,rbx | 1067 add r15,rbx |
| 1064 adc rdx,0 | 1068 adc rdx,0 |
| 1065 mov r8,rdx | 1069 mov r8,rdx |
| 1066 » mov» QWORD PTR[584+rsp],r9 | 1070 » mov» QWORD[584+rsp],r9 |
| 1067 » mov» QWORD PTR[592+rsp],r10 | 1071 » mov» QWORD[592+rsp],r10 |
| 1068 » mov» QWORD PTR[600+rsp],r11 | 1072 » mov» QWORD[600+rsp],r11 |
| 1069 » mov» QWORD PTR[608+rsp],r12 | 1073 » mov» QWORD[608+rsp],r12 |
| 1070 » mov» QWORD PTR[616+rsp],r13 | 1074 » mov» QWORD[616+rsp],r13 |
| 1071 » mov» QWORD PTR[624+rsp],r14 | 1075 » mov» QWORD[624+rsp],r14 |
| 1072 » mov» QWORD PTR[632+rsp],r15 | 1076 » mov» QWORD[632+rsp],r15 |
| 1073 » mov» QWORD PTR[640+rsp],r8 | 1077 » mov» QWORD[640+rsp],r8 |
| 1074 | 1078 |
| 1075 | 1079 |
| 1076 | 1080 |
| 1077 | 1081 |
| 1078 | 1082 |
| 1079 » jmp» mont_reduce | 1083 » jmp» NEAR mont_reduce |
| 1080 | |
| 1081 | |
| 1082 mont_mul_a3b» ENDP | |
| 1083 | |
| 1084 ALIGN» 16 | |
| 1085 sqr_reduce» PROC PRIVATE | |
| 1086 » mov» rcx,QWORD PTR[16+rsp] | |
| 1087 | 1084 |
| 1088 | 1085 |
| 1089 | 1086 |
| 1087 |
| 1088 ALIGN 16 |
| 1089 sqr_reduce: |
| 1090 mov rcx,QWORD[16+rsp] |
| 1091 |
| 1092 |
| 1093 |
| 1090 mov rbx,r10 | 1094 mov rbx,r10 |
| 1091 | 1095 |
| 1092 mov rax,r11 | 1096 mov rax,r11 |
| 1093 mul rbx | 1097 mul rbx |
| 1094 » mov» QWORD PTR[528+rsp],rax | 1098 » mov» QWORD[528+rsp],rax |
| 1095 mov r10,rdx | 1099 mov r10,rdx |
| 1096 mov rax,r12 | 1100 mov rax,r12 |
| 1097 mul rbx | 1101 mul rbx |
| 1098 add r10,rax | 1102 add r10,rax |
| 1099 adc rdx,0 | 1103 adc rdx,0 |
| 1100 mov r11,rdx | 1104 mov r11,rdx |
| 1101 mov rax,r13 | 1105 mov rax,r13 |
| 1102 mul rbx | 1106 mul rbx |
| 1103 add r11,rax | 1107 add r11,rax |
| 1104 adc rdx,0 | 1108 adc rdx,0 |
| (...skipping 12 matching lines...) Expand all Loading... |
| 1117 mul rbx | 1121 mul rbx |
| 1118 add r14,rax | 1122 add r14,rax |
| 1119 adc rdx,0 | 1123 adc rdx,0 |
| 1120 mov r15,rdx | 1124 mov r15,rdx |
| 1121 mov rax,r9 | 1125 mov rax,r9 |
| 1122 mul rbx | 1126 mul rbx |
| 1123 add r15,rax | 1127 add r15,rax |
| 1124 adc rdx,0 | 1128 adc rdx,0 |
| 1125 mov rsi,rdx | 1129 mov rsi,rdx |
| 1126 | 1130 |
| 1127 » mov» QWORD PTR[536+rsp],r10 | 1131 » mov» QWORD[536+rsp],r10 |
| 1128 | 1132 |
| 1129 | 1133 |
| 1130 | 1134 |
| 1131 | 1135 |
| 1132 | 1136 |
| 1133 » mov» rbx,QWORD PTR[8+rcx] | 1137 » mov» rbx,QWORD[8+rcx] |
| 1134 | 1138 |
| 1135 » mov» rax,QWORD PTR[16+rcx] | 1139 » mov» rax,QWORD[16+rcx] |
| 1136 mul rbx | 1140 mul rbx |
| 1137 add r11,rax | 1141 add r11,rax |
| 1138 adc rdx,0 | 1142 adc rdx,0 |
| 1139 » mov» QWORD PTR[544+rsp],r11 | 1143 » mov» QWORD[544+rsp],r11 |
| 1140 | 1144 |
| 1141 mov r10,rdx | 1145 mov r10,rdx |
| 1142 » mov» rax,QWORD PTR[24+rcx] | 1146 » mov» rax,QWORD[24+rcx] |
| 1143 mul rbx | 1147 mul rbx |
| 1144 add r12,rax | 1148 add r12,rax |
| 1145 adc rdx,0 | 1149 adc rdx,0 |
| 1146 add r12,r10 | 1150 add r12,r10 |
| 1147 adc rdx,0 | 1151 adc rdx,0 |
| 1148 » mov» QWORD PTR[552+rsp],r12 | 1152 » mov» QWORD[552+rsp],r12 |
| 1149 | 1153 |
| 1150 mov r10,rdx | 1154 mov r10,rdx |
| 1151 » mov» rax,QWORD PTR[32+rcx] | 1155 » mov» rax,QWORD[32+rcx] |
| 1152 mul rbx | 1156 mul rbx |
| 1153 add r13,rax | 1157 add r13,rax |
| 1154 adc rdx,0 | 1158 adc rdx,0 |
| 1155 add r13,r10 | 1159 add r13,r10 |
| 1156 adc rdx,0 | 1160 adc rdx,0 |
| 1157 | 1161 |
| 1158 mov r10,rdx | 1162 mov r10,rdx |
| 1159 » mov» rax,QWORD PTR[40+rcx] | 1163 » mov» rax,QWORD[40+rcx] |
| 1160 mul rbx | 1164 mul rbx |
| 1161 add r14,rax | 1165 add r14,rax |
| 1162 adc rdx,0 | 1166 adc rdx,0 |
| 1163 add r14,r10 | 1167 add r14,r10 |
| 1164 adc rdx,0 | 1168 adc rdx,0 |
| 1165 | 1169 |
| 1166 mov r10,rdx | 1170 mov r10,rdx |
| 1167 mov rax,r8 | 1171 mov rax,r8 |
| 1168 mul rbx | 1172 mul rbx |
| 1169 add r15,rax | 1173 add r15,rax |
| 1170 adc rdx,0 | 1174 adc rdx,0 |
| 1171 add r15,r10 | 1175 add r15,r10 |
| 1172 adc rdx,0 | 1176 adc rdx,0 |
| 1173 | 1177 |
| 1174 mov r10,rdx | 1178 mov r10,rdx |
| 1175 mov rax,r9 | 1179 mov rax,r9 |
| 1176 mul rbx | 1180 mul rbx |
| 1177 add rsi,rax | 1181 add rsi,rax |
| 1178 adc rdx,0 | 1182 adc rdx,0 |
| 1179 add rsi,r10 | 1183 add rsi,r10 |
| 1180 adc rdx,0 | 1184 adc rdx,0 |
| 1181 | 1185 |
| 1182 mov r11,rdx | 1186 mov r11,rdx |
| 1183 | 1187 |
| 1184 | 1188 |
| 1185 | 1189 |
| 1186 | 1190 |
| 1187 » mov» rbx,QWORD PTR[16+rcx] | 1191 » mov» rbx,QWORD[16+rcx] |
| 1188 | 1192 |
| 1189 » mov» rax,QWORD PTR[24+rcx] | 1193 » mov» rax,QWORD[24+rcx] |
| 1190 mul rbx | 1194 mul rbx |
| 1191 add r13,rax | 1195 add r13,rax |
| 1192 adc rdx,0 | 1196 adc rdx,0 |
| 1193 » mov» QWORD PTR[560+rsp],r13 | 1197 » mov» QWORD[560+rsp],r13 |
| 1194 | 1198 |
| 1195 mov r10,rdx | 1199 mov r10,rdx |
| 1196 » mov» rax,QWORD PTR[32+rcx] | 1200 » mov» rax,QWORD[32+rcx] |
| 1197 mul rbx | 1201 mul rbx |
| 1198 add r14,rax | 1202 add r14,rax |
| 1199 adc rdx,0 | 1203 adc rdx,0 |
| 1200 add r14,r10 | 1204 add r14,r10 |
| 1201 adc rdx,0 | 1205 adc rdx,0 |
| 1202 » mov» QWORD PTR[568+rsp],r14 | 1206 » mov» QWORD[568+rsp],r14 |
| 1203 | 1207 |
| 1204 mov r10,rdx | 1208 mov r10,rdx |
| 1205 » mov» rax,QWORD PTR[40+rcx] | 1209 » mov» rax,QWORD[40+rcx] |
| 1206 mul rbx | 1210 mul rbx |
| 1207 add r15,rax | 1211 add r15,rax |
| 1208 adc rdx,0 | 1212 adc rdx,0 |
| 1209 add r15,r10 | 1213 add r15,r10 |
| 1210 adc rdx,0 | 1214 adc rdx,0 |
| 1211 | 1215 |
| 1212 mov r10,rdx | 1216 mov r10,rdx |
| 1213 mov rax,r8 | 1217 mov rax,r8 |
| 1214 mul rbx | 1218 mul rbx |
| 1215 add rsi,rax | 1219 add rsi,rax |
| 1216 adc rdx,0 | 1220 adc rdx,0 |
| 1217 add rsi,r10 | 1221 add rsi,r10 |
| 1218 adc rdx,0 | 1222 adc rdx,0 |
| 1219 | 1223 |
| 1220 mov r10,rdx | 1224 mov r10,rdx |
| 1221 mov rax,r9 | 1225 mov rax,r9 |
| 1222 mul rbx | 1226 mul rbx |
| 1223 add r11,rax | 1227 add r11,rax |
| 1224 adc rdx,0 | 1228 adc rdx,0 |
| 1225 add r11,r10 | 1229 add r11,r10 |
| 1226 adc rdx,0 | 1230 adc rdx,0 |
| 1227 | 1231 |
| 1228 mov r12,rdx | 1232 mov r12,rdx |
| 1229 | 1233 |
| 1230 | 1234 |
| 1231 | 1235 |
| 1232 | 1236 |
| 1233 | 1237 |
| 1234 » mov» rbx,QWORD PTR[24+rcx] | 1238 » mov» rbx,QWORD[24+rcx] |
| 1235 | 1239 |
| 1236 » mov» rax,QWORD PTR[32+rcx] | 1240 » mov» rax,QWORD[32+rcx] |
| 1237 mul rbx | 1241 mul rbx |
| 1238 add r15,rax | 1242 add r15,rax |
| 1239 adc rdx,0 | 1243 adc rdx,0 |
| 1240 » mov» QWORD PTR[576+rsp],r15 | 1244 » mov» QWORD[576+rsp],r15 |
| 1241 | 1245 |
| 1242 mov r10,rdx | 1246 mov r10,rdx |
| 1243 » mov» rax,QWORD PTR[40+rcx] | 1247 » mov» rax,QWORD[40+rcx] |
| 1244 mul rbx | 1248 mul rbx |
| 1245 add rsi,rax | 1249 add rsi,rax |
| 1246 adc rdx,0 | 1250 adc rdx,0 |
| 1247 add rsi,r10 | 1251 add rsi,r10 |
| 1248 adc rdx,0 | 1252 adc rdx,0 |
| 1249 » mov» QWORD PTR[584+rsp],rsi | 1253 » mov» QWORD[584+rsp],rsi |
| 1250 | 1254 |
| 1251 mov r10,rdx | 1255 mov r10,rdx |
| 1252 mov rax,r8 | 1256 mov rax,r8 |
| 1253 mul rbx | 1257 mul rbx |
| 1254 add r11,rax | 1258 add r11,rax |
| 1255 adc rdx,0 | 1259 adc rdx,0 |
| 1256 add r11,r10 | 1260 add r11,r10 |
| 1257 adc rdx,0 | 1261 adc rdx,0 |
| 1258 | 1262 |
| 1259 mov r10,rdx | 1263 mov r10,rdx |
| 1260 mov rax,r9 | 1264 mov rax,r9 |
| 1261 mul rbx | 1265 mul rbx |
| 1262 add r12,rax | 1266 add r12,rax |
| 1263 adc rdx,0 | 1267 adc rdx,0 |
| 1264 add r12,r10 | 1268 add r12,r10 |
| 1265 adc rdx,0 | 1269 adc rdx,0 |
| 1266 | 1270 |
| 1267 mov r15,rdx | 1271 mov r15,rdx |
| 1268 | 1272 |
| 1269 | 1273 |
| 1270 | 1274 |
| 1271 | 1275 |
| 1272 » mov» rbx,QWORD PTR[32+rcx] | 1276 » mov» rbx,QWORD[32+rcx] |
| 1273 | 1277 |
| 1274 » mov» rax,QWORD PTR[40+rcx] | 1278 » mov» rax,QWORD[40+rcx] |
| 1275 mul rbx | 1279 mul rbx |
| 1276 add r11,rax | 1280 add r11,rax |
| 1277 adc rdx,0 | 1281 adc rdx,0 |
| 1278 » mov» QWORD PTR[592+rsp],r11 | 1282 » mov» QWORD[592+rsp],r11 |
| 1279 | 1283 |
| 1280 mov r10,rdx | 1284 mov r10,rdx |
| 1281 mov rax,r8 | 1285 mov rax,r8 |
| 1282 mul rbx | 1286 mul rbx |
| 1283 add r12,rax | 1287 add r12,rax |
| 1284 adc rdx,0 | 1288 adc rdx,0 |
| 1285 add r12,r10 | 1289 add r12,r10 |
| 1286 adc rdx,0 | 1290 adc rdx,0 |
| 1287 » mov» QWORD PTR[600+rsp],r12 | 1291 » mov» QWORD[600+rsp],r12 |
| 1288 | 1292 |
| 1289 mov r10,rdx | 1293 mov r10,rdx |
| 1290 mov rax,r9 | 1294 mov rax,r9 |
| 1291 mul rbx | 1295 mul rbx |
| 1292 add r15,rax | 1296 add r15,rax |
| 1293 adc rdx,0 | 1297 adc rdx,0 |
| 1294 add r15,r10 | 1298 add r15,r10 |
| 1295 adc rdx,0 | 1299 adc rdx,0 |
| 1296 | 1300 |
| 1297 mov r11,rdx | 1301 mov r11,rdx |
| 1298 | 1302 |
| 1299 | 1303 |
| 1300 | 1304 |
| 1301 | 1305 |
| 1302 » mov» rbx,QWORD PTR[40+rcx] | 1306 » mov» rbx,QWORD[40+rcx] |
| 1303 | 1307 |
| 1304 mov rax,r8 | 1308 mov rax,r8 |
| 1305 mul rbx | 1309 mul rbx |
| 1306 add r15,rax | 1310 add r15,rax |
| 1307 adc rdx,0 | 1311 adc rdx,0 |
| 1308 » mov» QWORD PTR[608+rsp],r15 | 1312 » mov» QWORD[608+rsp],r15 |
| 1309 | 1313 |
| 1310 mov r10,rdx | 1314 mov r10,rdx |
| 1311 mov rax,r9 | 1315 mov rax,r9 |
| 1312 mul rbx | 1316 mul rbx |
| 1313 add r11,rax | 1317 add r11,rax |
| 1314 adc rdx,0 | 1318 adc rdx,0 |
| 1315 add r11,r10 | 1319 add r11,r10 |
| 1316 adc rdx,0 | 1320 adc rdx,0 |
| 1317 » mov» QWORD PTR[616+rsp],r11 | 1321 » mov» QWORD[616+rsp],r11 |
| 1318 | 1322 |
| 1319 mov r12,rdx | 1323 mov r12,rdx |
| 1320 | 1324 |
| 1321 | 1325 |
| 1322 | 1326 |
| 1323 | 1327 |
| 1324 mov rbx,r8 | 1328 mov rbx,r8 |
| 1325 | 1329 |
| 1326 mov rax,r9 | 1330 mov rax,r9 |
| 1327 mul rbx | 1331 mul rbx |
| 1328 add r12,rax | 1332 add r12,rax |
| 1329 adc rdx,0 | 1333 adc rdx,0 |
| 1330 » mov» QWORD PTR[624+rsp],r12 | 1334 » mov» QWORD[624+rsp],r12 |
| 1331 | 1335 |
| 1332 » mov» QWORD PTR[632+rsp],rdx | 1336 » mov» QWORD[632+rsp],rdx |
| 1333 | 1337 |
| 1334 | 1338 |
| 1335 » mov» r10,QWORD PTR[528+rsp] | 1339 » mov» r10,QWORD[528+rsp] |
| 1336 » mov» r11,QWORD PTR[536+rsp] | 1340 » mov» r11,QWORD[536+rsp] |
| 1337 » mov» r12,QWORD PTR[544+rsp] | 1341 » mov» r12,QWORD[544+rsp] |
| 1338 » mov» r13,QWORD PTR[552+rsp] | 1342 » mov» r13,QWORD[552+rsp] |
| 1339 » mov» r14,QWORD PTR[560+rsp] | 1343 » mov» r14,QWORD[560+rsp] |
| 1340 » mov» r15,QWORD PTR[568+rsp] | 1344 » mov» r15,QWORD[568+rsp] |
| 1341 | 1345 |
| 1342 » mov» rax,QWORD PTR[24+rcx] | 1346 » mov» rax,QWORD[24+rcx] |
| 1343 mul rax | 1347 mul rax |
| 1344 mov rdi,rax | 1348 mov rdi,rax |
| 1345 mov r8,rdx | 1349 mov r8,rdx |
| 1346 | 1350 |
| 1347 add r10,r10 | 1351 add r10,r10 |
| 1348 adc r11,r11 | 1352 adc r11,r11 |
| 1349 adc r12,r12 | 1353 adc r12,r12 |
| 1350 adc r13,r13 | 1354 adc r13,r13 |
| 1351 adc r14,r14 | 1355 adc r14,r14 |
| 1352 adc r15,r15 | 1356 adc r15,r15 |
| 1353 adc r8,0 | 1357 adc r8,0 |
| 1354 | 1358 |
| 1355 » mov» rax,QWORD PTR[rcx] | 1359 » mov» rax,QWORD[rcx] |
| 1356 mul rax | 1360 mul rax |
| 1357 » mov» QWORD PTR[520+rsp],rax | 1361 » mov» QWORD[520+rsp],rax |
| 1358 mov rbx,rdx | 1362 mov rbx,rdx |
| 1359 | 1363 |
| 1360 » mov» rax,QWORD PTR[8+rcx] | 1364 » mov» rax,QWORD[8+rcx] |
| 1361 mul rax | 1365 mul rax |
| 1362 | 1366 |
| 1363 add r10,rbx | 1367 add r10,rbx |
| 1364 adc r11,rax | 1368 adc r11,rax |
| 1365 adc rdx,0 | 1369 adc rdx,0 |
| 1366 | 1370 |
| 1367 mov rbx,rdx | 1371 mov rbx,rdx |
| 1368 » mov» QWORD PTR[528+rsp],r10 | 1372 » mov» QWORD[528+rsp],r10 |
| 1369 » mov» QWORD PTR[536+rsp],r11 | 1373 » mov» QWORD[536+rsp],r11 |
| 1370 | 1374 |
| 1371 » mov» rax,QWORD PTR[16+rcx] | 1375 » mov» rax,QWORD[16+rcx] |
| 1372 mul rax | 1376 mul rax |
| 1373 | 1377 |
| 1374 add r12,rbx | 1378 add r12,rbx |
| 1375 adc r13,rax | 1379 adc r13,rax |
| 1376 adc rdx,0 | 1380 adc rdx,0 |
| 1377 | 1381 |
| 1378 mov rbx,rdx | 1382 mov rbx,rdx |
| 1379 | 1383 |
| 1380 » mov» QWORD PTR[544+rsp],r12 | 1384 » mov» QWORD[544+rsp],r12 |
| 1381 » mov» QWORD PTR[552+rsp],r13 | 1385 » mov» QWORD[552+rsp],r13 |
| 1382 | 1386 |
| 1383 xor rbp,rbp | 1387 xor rbp,rbp |
| 1384 add r14,rbx | 1388 add r14,rbx |
| 1385 adc r15,rdi | 1389 adc r15,rdi |
| 1386 adc rbp,0 | 1390 adc rbp,0 |
| 1387 | 1391 |
| 1388 » mov» QWORD PTR[560+rsp],r14 | 1392 » mov» QWORD[560+rsp],r14 |
| 1389 » mov» QWORD PTR[568+rsp],r15 | 1393 » mov» QWORD[568+rsp],r15 |
| 1390 | 1394 |
| 1391 | 1395 |
| 1392 | 1396 |
| 1393 | 1397 |
| 1394 » mov» r10,QWORD PTR[576+rsp] | 1398 » mov» r10,QWORD[576+rsp] |
| 1395 » mov» r11,QWORD PTR[584+rsp] | 1399 » mov» r11,QWORD[584+rsp] |
| 1396 » mov» r12,QWORD PTR[592+rsp] | 1400 » mov» r12,QWORD[592+rsp] |
| 1397 » mov» r13,QWORD PTR[600+rsp] | 1401 » mov» r13,QWORD[600+rsp] |
| 1398 » mov» r14,QWORD PTR[608+rsp] | 1402 » mov» r14,QWORD[608+rsp] |
| 1399 » mov» r15,QWORD PTR[616+rsp] | 1403 » mov» r15,QWORD[616+rsp] |
| 1400 » mov» rdi,QWORD PTR[624+rsp] | 1404 » mov» rdi,QWORD[624+rsp] |
| 1401 » mov» rsi,QWORD PTR[632+rsp] | 1405 » mov» rsi,QWORD[632+rsp] |
| 1402 | 1406 |
| 1403 mov rax,r9 | 1407 mov rax,r9 |
| 1404 mul rax | 1408 mul rax |
| 1405 mov r9,rax | 1409 mov r9,rax |
| 1406 mov rbx,rdx | 1410 mov rbx,rdx |
| 1407 | 1411 |
| 1408 add r10,r10 | 1412 add r10,r10 |
| 1409 adc r11,r11 | 1413 adc r11,r11 |
| 1410 adc r12,r12 | 1414 adc r12,r12 |
| 1411 adc r13,r13 | 1415 adc r13,r13 |
| 1412 adc r14,r14 | 1416 adc r14,r14 |
| 1413 adc r15,r15 | 1417 adc r15,r15 |
| 1414 adc rdi,rdi | 1418 adc rdi,rdi |
| 1415 adc rsi,rsi | 1419 adc rsi,rsi |
| 1416 adc rbx,0 | 1420 adc rbx,0 |
| 1417 | 1421 |
| 1418 add r10,rbp | 1422 add r10,rbp |
| 1419 | 1423 |
| 1420 » mov» rax,QWORD PTR[32+rcx] | 1424 » mov» rax,QWORD[32+rcx] |
| 1421 mul rax | 1425 mul rax |
| 1422 | 1426 |
| 1423 add r10,r8 | 1427 add r10,r8 |
| 1424 adc r11,rax | 1428 adc r11,rax |
| 1425 adc rdx,0 | 1429 adc rdx,0 |
| 1426 | 1430 |
| 1427 mov rbp,rdx | 1431 mov rbp,rdx |
| 1428 | 1432 |
| 1429 » mov» QWORD PTR[576+rsp],r10 | 1433 » mov» QWORD[576+rsp],r10 |
| 1430 » mov» QWORD PTR[584+rsp],r11 | 1434 » mov» QWORD[584+rsp],r11 |
| 1431 | 1435 |
| 1432 » mov» rax,QWORD PTR[40+rcx] | 1436 » mov» rax,QWORD[40+rcx] |
| 1433 mul rax | 1437 mul rax |
| 1434 | 1438 |
| 1435 add r12,rbp | 1439 add r12,rbp |
| 1436 adc r13,rax | 1440 adc r13,rax |
| 1437 adc rdx,0 | 1441 adc rdx,0 |
| 1438 | 1442 |
| 1439 mov rbp,rdx | 1443 mov rbp,rdx |
| 1440 | 1444 |
| 1441 » mov» QWORD PTR[592+rsp],r12 | 1445 » mov» QWORD[592+rsp],r12 |
| 1442 » mov» QWORD PTR[600+rsp],r13 | 1446 » mov» QWORD[600+rsp],r13 |
| 1443 | 1447 |
| 1444 » mov» rax,QWORD PTR[48+rcx] | 1448 » mov» rax,QWORD[48+rcx] |
| 1445 mul rax | 1449 mul rax |
| 1446 | 1450 |
| 1447 add r14,rbp | 1451 add r14,rbp |
| 1448 adc r15,rax | 1452 adc r15,rax |
| 1449 adc rdx,0 | 1453 adc rdx,0 |
| 1450 | 1454 |
| 1451 » mov» QWORD PTR[608+rsp],r14 | 1455 » mov» QWORD[608+rsp],r14 |
| 1452 » mov» QWORD PTR[616+rsp],r15 | 1456 » mov» QWORD[616+rsp],r15 |
| 1453 | 1457 |
| 1454 add rdi,rdx | 1458 add rdi,rdx |
| 1455 adc rsi,r9 | 1459 adc rsi,r9 |
| 1456 adc rbx,0 | 1460 adc rbx,0 |
| 1457 | 1461 |
| 1458 » mov» QWORD PTR[624+rsp],rdi | 1462 » mov» QWORD[624+rsp],rdi |
| 1459 » mov» QWORD PTR[632+rsp],rsi | 1463 » mov» QWORD[632+rsp],rsi |
| 1460 » mov» QWORD PTR[640+rsp],rbx | 1464 » mov» QWORD[640+rsp],rbx |
| 1461 | 1465 |
| 1462 » jmp» mont_reduce | 1466 » jmp» NEAR mont_reduce |
| 1463 | 1467 |
| 1464 | 1468 |
| 1465 sqr_reduce ENDP | |
| 1466 PUBLIC mod_exp_512 | |
| 1467 | 1469 |
| 1468 mod_exp_512» PROC PUBLIC | 1470 global» mod_exp_512 |
| 1469 » mov» QWORD PTR[8+rsp],rdi» ;WIN64 prologue | 1471 |
| 1470 » mov» QWORD PTR[16+rsp],rsi | 1472 mod_exp_512: |
| 1473 » mov» QWORD[8+rsp],rdi» ;WIN64 prologue |
| 1474 » mov» QWORD[16+rsp],rsi |
| 1471 mov rax,rsp | 1475 mov rax,rsp |
| 1472 $L$SEH_begin_mod_exp_512:: | 1476 $L$SEH_begin_mod_exp_512: |
| 1473 mov rdi,rcx | 1477 mov rdi,rcx |
| 1474 mov rsi,rdx | 1478 mov rsi,rdx |
| 1475 mov rdx,r8 | 1479 mov rdx,r8 |
| 1476 mov rcx,r9 | 1480 mov rcx,r9 |
| 1477 | 1481 |
| 1478 | 1482 |
| 1479 push rbp | 1483 push rbp |
| 1480 push rbx | 1484 push rbx |
| 1481 push r12 | 1485 push r12 |
| 1482 push r13 | 1486 push r13 |
| 1483 push r14 | 1487 push r14 |
| 1484 push r15 | 1488 push r15 |
| 1485 | 1489 |
| 1486 | 1490 |
| 1487 mov r8,rsp | 1491 mov r8,rsp |
| 1488 sub rsp,2688 | 1492 sub rsp,2688 |
| 1489 and rsp,-64 | 1493 and rsp,-64 |
| 1490 | 1494 |
| 1491 | 1495 |
| 1492 » mov» QWORD PTR[rsp],r8 | 1496 » mov» QWORD[rsp],r8 |
| 1493 » mov» QWORD PTR[8+rsp],rdi | 1497 » mov» QWORD[8+rsp],rdi |
| 1494 » mov» QWORD PTR[16+rsp],rsi | 1498 » mov» QWORD[16+rsp],rsi |
| 1495 » mov» QWORD PTR[24+rsp],rcx | 1499 » mov» QWORD[24+rsp],rcx |
| 1496 $L$body:: | 1500 $L$body: |
| 1497 | 1501 |
| 1498 | 1502 |
| 1499 | 1503 |
| 1500 pxor xmm4,xmm4 | 1504 pxor xmm4,xmm4 |
| 1501 » movdqu» xmm0,XMMWORD PTR[rsi] | 1505 » movdqu» xmm0,XMMWORD[rsi] |
| 1502 » movdqu» xmm1,XMMWORD PTR[16+rsi] | 1506 » movdqu» xmm1,XMMWORD[16+rsi] |
| 1503 » movdqu» xmm2,XMMWORD PTR[32+rsi] | 1507 » movdqu» xmm2,XMMWORD[32+rsi] |
| 1504 » movdqu» xmm3,XMMWORD PTR[48+rsi] | 1508 » movdqu» xmm3,XMMWORD[48+rsi] |
| 1505 » movdqa» XMMWORD PTR[512+rsp],xmm4 | 1509 » movdqa» XMMWORD[512+rsp],xmm4 |
| 1506 » movdqa» XMMWORD PTR[528+rsp],xmm4 | 1510 » movdqa» XMMWORD[528+rsp],xmm4 |
| 1507 » movdqa» XMMWORD PTR[608+rsp],xmm4 | 1511 » movdqa» XMMWORD[608+rsp],xmm4 |
| 1508 » movdqa» XMMWORD PTR[624+rsp],xmm4 | 1512 » movdqa» XMMWORD[624+rsp],xmm4 |
| 1509 » movdqa» XMMWORD PTR[544+rsp],xmm0 | 1513 » movdqa» XMMWORD[544+rsp],xmm0 |
| 1510 » movdqa» XMMWORD PTR[560+rsp],xmm1 | 1514 » movdqa» XMMWORD[560+rsp],xmm1 |
| 1511 » movdqa» XMMWORD PTR[576+rsp],xmm2 | 1515 » movdqa» XMMWORD[576+rsp],xmm2 |
| 1512 » movdqa» XMMWORD PTR[592+rsp],xmm3 | 1516 » movdqa» XMMWORD[592+rsp],xmm3 |
| 1513 | 1517 |
| 1514 | 1518 |
| 1515 » movdqu» xmm0,XMMWORD PTR[rdx] | 1519 » movdqu» xmm0,XMMWORD[rdx] |
| 1516 » movdqu» xmm1,XMMWORD PTR[16+rdx] | 1520 » movdqu» xmm1,XMMWORD[16+rdx] |
| 1517 » movdqu» xmm2,XMMWORD PTR[32+rdx] | 1521 » movdqu» xmm2,XMMWORD[32+rdx] |
| 1518 » movdqu» xmm3,XMMWORD PTR[48+rdx] | 1522 » movdqu» xmm3,XMMWORD[48+rdx] |
| 1519 | 1523 |
| 1520 » lea» rbx,QWORD PTR[384+rsp] | 1524 » lea» rbx,[384+rsp] |
| 1521 » mov» QWORD PTR[136+rsp],rbx | 1525 » mov» QWORD[136+rsp],rbx |
| 1522 call mont_reduce | 1526 call mont_reduce |
| 1523 | 1527 |
| 1524 | 1528 |
| 1525 » lea» rcx,QWORD PTR[448+rsp] | 1529 » lea» rcx,[448+rsp] |
| 1526 xor rax,rax | 1530 xor rax,rax |
| 1527 » mov» QWORD PTR[rcx],rax | 1531 » mov» QWORD[rcx],rax |
| 1528 » mov» QWORD PTR[8+rcx],rax | 1532 » mov» QWORD[8+rcx],rax |
| 1529 » mov» QWORD PTR[24+rcx],rax | 1533 » mov» QWORD[24+rcx],rax |
| 1530 » mov» QWORD PTR[32+rcx],rax | 1534 » mov» QWORD[32+rcx],rax |
| 1531 » mov» QWORD PTR[40+rcx],rax | 1535 » mov» QWORD[40+rcx],rax |
| 1532 » mov» QWORD PTR[48+rcx],rax | 1536 » mov» QWORD[48+rcx],rax |
| 1533 » mov» QWORD PTR[56+rcx],rax | 1537 » mov» QWORD[56+rcx],rax |
| 1534 » mov» QWORD PTR[128+rsp],rax | 1538 » mov» QWORD[128+rsp],rax |
| 1535 » mov» QWORD PTR[16+rcx],1 | 1539 » mov» QWORD[16+rcx],1 |
| 1536 | 1540 |
| 1537 » lea» rbp,QWORD PTR[640+rsp] | 1541 » lea» rbp,[640+rsp] |
| 1538 mov rsi,rcx | 1542 mov rsi,rcx |
| 1539 mov rdi,rbp | 1543 mov rdi,rbp |
| 1540 mov rax,8 | 1544 mov rax,8 |
| 1541 loop_0:: | 1545 loop_0: |
| 1542 » mov» rbx,QWORD PTR[rcx] | 1546 » mov» rbx,QWORD[rcx] |
| 1543 » mov» WORD PTR[rdi],bx | 1547 » mov» WORD[rdi],bx |
| 1544 » shr» rbx,16 | 1548 » shr» rbx,16 |
| 1545 » mov» WORD PTR[64+rdi],bx | 1549 » mov» WORD[64+rdi],bx |
| 1546 » shr» rbx,16 | 1550 » shr» rbx,16 |
| 1547 » mov» WORD PTR[128+rdi],bx | 1551 » mov» WORD[128+rdi],bx |
| 1548 » shr» rbx,16 | 1552 » shr» rbx,16 |
| 1549 » mov» WORD PTR[192+rdi],bx | 1553 » mov» WORD[192+rdi],bx |
| 1550 » lea» rcx,QWORD PTR[8+rcx] | 1554 » lea» rcx,[8+rcx] |
| 1551 » lea» rdi,QWORD PTR[256+rdi] | 1555 » lea» rdi,[256+rdi] |
| 1552 dec rax | 1556 dec rax |
| 1553 » jnz» loop_0 | 1557 » jnz» NEAR loop_0 |
| 1554 mov rax,31 | 1558 mov rax,31 |
| 1555 » mov» QWORD PTR[32+rsp],rax | 1559 » mov» QWORD[32+rsp],rax |
| 1556 » mov» QWORD PTR[40+rsp],rbp | 1560 » mov» QWORD[40+rsp],rbp |
| 1557 | 1561 |
| 1558 » mov» QWORD PTR[136+rsp],rsi | 1562 » mov» QWORD[136+rsp],rsi |
| 1559 » mov» r10,QWORD PTR[rsi] | 1563 » mov» r10,QWORD[rsi] |
| 1560 » mov» r11,QWORD PTR[8+rsi] | 1564 » mov» r11,QWORD[8+rsi] |
| 1561 » mov» r12,QWORD PTR[16+rsi] | 1565 » mov» r12,QWORD[16+rsi] |
| 1562 » mov» r13,QWORD PTR[24+rsi] | 1566 » mov» r13,QWORD[24+rsi] |
| 1563 » mov» r14,QWORD PTR[32+rsi] | 1567 » mov» r14,QWORD[32+rsi] |
| 1564 » mov» r15,QWORD PTR[40+rsi] | 1568 » mov» r15,QWORD[40+rsi] |
| 1565 » mov» r8,QWORD PTR[48+rsi] | 1569 » mov» r8,QWORD[48+rsi] |
| 1566 » mov» r9,QWORD PTR[56+rsi] | 1570 » mov» r9,QWORD[56+rsi] |
| 1567 init_loop:: | 1571 init_loop: |
| 1568 » lea» rdi,QWORD PTR[384+rsp] | 1572 » lea» rdi,[384+rsp] |
| 1569 call mont_mul_a3b | 1573 call mont_mul_a3b |
| 1570 » lea» rsi,QWORD PTR[448+rsp] | 1574 » lea» rsi,[448+rsp] |
| 1571 » mov» rbp,QWORD PTR[40+rsp] | 1575 » mov» rbp,QWORD[40+rsp] |
| 1572 add rbp,2 | 1576 add rbp,2 |
| 1573 » mov» QWORD PTR[40+rsp],rbp | 1577 » mov» QWORD[40+rsp],rbp |
| 1574 mov rcx,rsi | 1578 mov rcx,rsi |
| 1575 mov rax,8 | 1579 mov rax,8 |
| 1576 loop_1:: | 1580 loop_1: |
| 1577 » mov» rbx,QWORD PTR[rcx] | 1581 » mov» rbx,QWORD[rcx] |
| 1578 » mov» WORD PTR[rbp],bx | 1582 » mov» WORD[rbp],bx |
| 1579 » shr» rbx,16 | 1583 » shr» rbx,16 |
| 1580 » mov» WORD PTR[64+rbp],bx | 1584 » mov» WORD[64+rbp],bx |
| 1581 » shr» rbx,16 | 1585 » shr» rbx,16 |
| 1582 » mov» WORD PTR[128+rbp],bx | 1586 » mov» WORD[128+rbp],bx |
| 1583 » shr» rbx,16 | 1587 » shr» rbx,16 |
| 1584 » mov» WORD PTR[192+rbp],bx | 1588 » mov» WORD[192+rbp],bx |
| 1585 » lea» rcx,QWORD PTR[8+rcx] | 1589 » lea» rcx,[8+rcx] |
| 1586 » lea» rbp,QWORD PTR[256+rbp] | 1590 » lea» rbp,[256+rbp] |
| 1587 dec rax | 1591 dec rax |
| 1588 » jnz» loop_1 | 1592 » jnz» NEAR loop_1 |
| 1589 » mov» rax,QWORD PTR[32+rsp] | 1593 » mov» rax,QWORD[32+rsp] |
| 1590 sub rax,1 | 1594 sub rax,1 |
| 1591 » mov» QWORD PTR[32+rsp],rax | 1595 » mov» QWORD[32+rsp],rax |
| 1592 » jne» init_loop | 1596 » jne» NEAR init_loop |
| 1593 | 1597 |
| 1594 | 1598 |
| 1595 | 1599 |
| 1596 » movdqa» XMMWORD PTR[64+rsp],xmm0 | 1600 » movdqa» XMMWORD[64+rsp],xmm0 |
| 1597 » movdqa» XMMWORD PTR[80+rsp],xmm1 | 1601 » movdqa» XMMWORD[80+rsp],xmm1 |
| 1598 » movdqa» XMMWORD PTR[96+rsp],xmm2 | 1602 » movdqa» XMMWORD[96+rsp],xmm2 |
| 1599 » movdqa» XMMWORD PTR[112+rsp],xmm3 | 1603 » movdqa» XMMWORD[112+rsp],xmm3 |
| 1600 | 1604 |
| 1601 | 1605 |
| 1602 | 1606 |
| 1603 | 1607 |
| 1604 | 1608 |
| 1605 » mov» eax,DWORD PTR[126+rsp] | 1609 » mov» eax,DWORD[126+rsp] |
| 1606 mov rdx,rax | 1610 mov rdx,rax |
| 1607 shr rax,11 | 1611 shr rax,11 |
| 1608 » and» edx,007FFh | 1612 » and» edx,0x07FF |
| 1609 » mov» DWORD PTR[126+rsp],edx | 1613 » mov» DWORD[126+rsp],edx |
| 1610 » lea» rsi,QWORD PTR[640+rax*2+rsp] | 1614 » lea» rsi,[640+rax*2+rsp] |
| 1611 » mov» rdx,QWORD PTR[8+rsp] | 1615 » mov» rdx,QWORD[8+rsp] |
| 1612 mov rbp,4 | 1616 mov rbp,4 |
| 1613 loop_2:: | 1617 loop_2: |
| 1614 » movzx» rbx,WORD PTR[192+rsi] | 1618 » movzx» rbx,WORD[192+rsi] |
| 1615 » movzx» rax,WORD PTR[448+rsi] | 1619 » movzx» rax,WORD[448+rsi] |
| 1616 » shl» rbx,16 | 1620 » shl» rbx,16 |
| 1617 » shl» rax,16 | 1621 » shl» rax,16 |
| 1618 » mov» bx,WORD PTR[128+rsi] | 1622 » mov» bx,WORD[128+rsi] |
| 1619 » mov» ax,WORD PTR[384+rsi] | 1623 » mov» ax,WORD[384+rsi] |
| 1620 » shl» rbx,16 | 1624 » shl» rbx,16 |
| 1621 » shl» rax,16 | 1625 » shl» rax,16 |
| 1622 » mov» bx,WORD PTR[64+rsi] | 1626 » mov» bx,WORD[64+rsi] |
| 1623 » mov» ax,WORD PTR[320+rsi] | 1627 » mov» ax,WORD[320+rsi] |
| 1624 » shl» rbx,16 | 1628 » shl» rbx,16 |
| 1625 » shl» rax,16 | 1629 » shl» rax,16 |
| 1626 » mov» bx,WORD PTR[rsi] | 1630 » mov» bx,WORD[rsi] |
| 1627 » mov» ax,WORD PTR[256+rsi] | 1631 » mov» ax,WORD[256+rsi] |
| 1628 » mov» QWORD PTR[rdx],rbx | 1632 » mov» QWORD[rdx],rbx |
| 1629 » mov» QWORD PTR[8+rdx],rax | 1633 » mov» QWORD[8+rdx],rax |
| 1630 » lea» rsi,QWORD PTR[512+rsi] | 1634 » lea» rsi,[512+rsi] |
| 1631 » lea» rdx,QWORD PTR[16+rdx] | 1635 » lea» rdx,[16+rdx] |
| 1632 sub rbp,1 | 1636 sub rbp,1 |
| 1633 » jnz» loop_2 | 1637 » jnz» NEAR loop_2 |
| 1634 » mov» QWORD PTR[48+rsp],505 | 1638 » mov» QWORD[48+rsp],505 |
| 1635 | 1639 |
| 1636 » mov» rcx,QWORD PTR[8+rsp] | 1640 » mov» rcx,QWORD[8+rsp] |
| 1637 » mov» QWORD PTR[136+rsp],rcx | 1641 » mov» QWORD[136+rsp],rcx |
| 1638 » mov» r10,QWORD PTR[rcx] | 1642 » mov» r10,QWORD[rcx] |
| 1639 » mov» r11,QWORD PTR[8+rcx] | 1643 » mov» r11,QWORD[8+rcx] |
| 1640 » mov» r12,QWORD PTR[16+rcx] | 1644 » mov» r12,QWORD[16+rcx] |
| 1641 » mov» r13,QWORD PTR[24+rcx] | 1645 » mov» r13,QWORD[24+rcx] |
| 1642 » mov» r14,QWORD PTR[32+rcx] | 1646 » mov» r14,QWORD[32+rcx] |
| 1643 » mov» r15,QWORD PTR[40+rcx] | 1647 » mov» r15,QWORD[40+rcx] |
| 1644 » mov» r8,QWORD PTR[48+rcx] | 1648 » mov» r8,QWORD[48+rcx] |
| 1645 » mov» r9,QWORD PTR[56+rcx] | 1649 » mov» r9,QWORD[56+rcx] |
| 1646 » jmp» sqr_2 | 1650 » jmp» NEAR sqr_2 |
| 1647 | 1651 |
| 1648 main_loop_a3b:: | 1652 main_loop_a3b: |
| 1649 » call» sqr_reduce | 1653 » call» sqr_reduce |
| 1650 » call» sqr_reduce | 1654 » call» sqr_reduce |
| 1651 » call» sqr_reduce | 1655 » call» sqr_reduce |
| 1652 sqr_2:: | 1656 sqr_2: |
| 1653 » call» sqr_reduce | 1657 » call» sqr_reduce |
| 1654 » call» sqr_reduce | 1658 » call» sqr_reduce |
| 1655 | 1659 |
| 1656 | 1660 |
| 1657 | 1661 |
| 1658 » mov» rcx,QWORD PTR[48+rsp] | 1662 » mov» rcx,QWORD[48+rsp] |
| 1659 mov rax,rcx | 1663 mov rax,rcx |
| 1660 shr rax,4 | 1664 shr rax,4 |
| 1661 » mov» edx,DWORD PTR[64+rax*2+rsp] | 1665 » mov» edx,DWORD[64+rax*2+rsp] |
| 1662 and rcx,15 | 1666 and rcx,15 |
| 1663 shr rdx,cl | 1667 shr rdx,cl |
| 1664 » and» rdx,01Fh | 1668 » and» rdx,0x1F |
| 1665 | 1669 |
| 1666 » lea» rsi,QWORD PTR[640+rdx*2+rsp] | 1670 » lea» rsi,[640+rdx*2+rsp] |
| 1667 » lea» rdx,QWORD PTR[448+rsp] | 1671 » lea» rdx,[448+rsp] |
| 1668 mov rdi,rdx | 1672 mov rdi,rdx |
| 1669 mov rbp,4 | 1673 mov rbp,4 |
| 1670 loop_3:: | 1674 loop_3: |
| 1671 » movzx» rbx,WORD PTR[192+rsi] | 1675 » movzx» rbx,WORD[192+rsi] |
| 1672 » movzx» rax,WORD PTR[448+rsi] | 1676 » movzx» rax,WORD[448+rsi] |
| 1673 » shl» rbx,16 | 1677 » shl» rbx,16 |
| 1674 » shl» rax,16 | 1678 » shl» rax,16 |
| 1675 » mov» bx,WORD PTR[128+rsi] | 1679 » mov» bx,WORD[128+rsi] |
| 1676 » mov» ax,WORD PTR[384+rsi] | 1680 » mov» ax,WORD[384+rsi] |
| 1677 » shl» rbx,16 | 1681 » shl» rbx,16 |
| 1678 » shl» rax,16 | 1682 » shl» rax,16 |
| 1679 » mov» bx,WORD PTR[64+rsi] | 1683 » mov» bx,WORD[64+rsi] |
| 1680 » mov» ax,WORD PTR[320+rsi] | 1684 » mov» ax,WORD[320+rsi] |
| 1681 » shl» rbx,16 | 1685 » shl» rbx,16 |
| 1682 » shl» rax,16 | 1686 » shl» rax,16 |
| 1683 » mov» bx,WORD PTR[rsi] | 1687 » mov» bx,WORD[rsi] |
| 1684 » mov» ax,WORD PTR[256+rsi] | 1688 » mov» ax,WORD[256+rsi] |
| 1685 » mov» QWORD PTR[rdx],rbx | 1689 » mov» QWORD[rdx],rbx |
| 1686 » mov» QWORD PTR[8+rdx],rax | 1690 » mov» QWORD[8+rdx],rax |
| 1687 » lea» rsi,QWORD PTR[512+rsi] | 1691 » lea» rsi,[512+rsi] |
| 1688 » lea» rdx,QWORD PTR[16+rdx] | 1692 » lea» rdx,[16+rdx] |
| 1689 sub rbp,1 | 1693 sub rbp,1 |
| 1690 » jnz» loop_3 | 1694 » jnz» NEAR loop_3 |
| 1691 » mov» rsi,QWORD PTR[8+rsp] | 1695 » mov» rsi,QWORD[8+rsp] |
| 1692 call mont_mul_a3b | 1696 call mont_mul_a3b |
| 1693 | 1697 |
| 1694 | 1698 |
| 1695 | 1699 |
| 1696 » mov» rcx,QWORD PTR[48+rsp] | 1700 » mov» rcx,QWORD[48+rsp] |
| 1697 sub rcx,5 | 1701 sub rcx,5 |
| 1698 » mov» QWORD PTR[48+rsp],rcx | 1702 » mov» QWORD[48+rsp],rcx |
| 1699 » jge» main_loop_a3b | 1703 » jge» NEAR main_loop_a3b |
| 1700 | 1704 |
| 1701 | 1705 |
| 1702 | 1706 |
| 1703 end_main_loop_a3b:: | 1707 end_main_loop_a3b: |
| 1704 | 1708 |
| 1705 | 1709 |
| 1706 » mov» rdx,QWORD PTR[8+rsp] | 1710 » mov» rdx,QWORD[8+rsp] |
| 1707 pxor xmm4,xmm4 | 1711 pxor xmm4,xmm4 |
| 1708 » movdqu» xmm0,XMMWORD PTR[rdx] | 1712 » movdqu» xmm0,XMMWORD[rdx] |
| 1709 » movdqu» xmm1,XMMWORD PTR[16+rdx] | 1713 » movdqu» xmm1,XMMWORD[16+rdx] |
| 1710 » movdqu» xmm2,XMMWORD PTR[32+rdx] | 1714 » movdqu» xmm2,XMMWORD[32+rdx] |
| 1711 » movdqu» xmm3,XMMWORD PTR[48+rdx] | 1715 » movdqu» xmm3,XMMWORD[48+rdx] |
| 1712 » movdqa» XMMWORD PTR[576+rsp],xmm4 | 1716 » movdqa» XMMWORD[576+rsp],xmm4 |
| 1713 » movdqa» XMMWORD PTR[592+rsp],xmm4 | 1717 » movdqa» XMMWORD[592+rsp],xmm4 |
| 1714 » movdqa» XMMWORD PTR[608+rsp],xmm4 | 1718 » movdqa» XMMWORD[608+rsp],xmm4 |
| 1715 » movdqa» XMMWORD PTR[624+rsp],xmm4 | 1719 » movdqa» XMMWORD[624+rsp],xmm4 |
| 1716 » movdqa» XMMWORD PTR[512+rsp],xmm0 | 1720 » movdqa» XMMWORD[512+rsp],xmm0 |
| 1717 » movdqa» XMMWORD PTR[528+rsp],xmm1 | 1721 » movdqa» XMMWORD[528+rsp],xmm1 |
| 1718 » movdqa» XMMWORD PTR[544+rsp],xmm2 | 1722 » movdqa» XMMWORD[544+rsp],xmm2 |
| 1719 » movdqa» XMMWORD PTR[560+rsp],xmm3 | 1723 » movdqa» XMMWORD[560+rsp],xmm3 |
| 1720 call mont_reduce | 1724 call mont_reduce |
| 1721 | 1725 |
| 1722 | 1726 |
| 1723 | 1727 |
| 1724 » mov» rax,QWORD PTR[8+rsp] | 1728 » mov» rax,QWORD[8+rsp] |
| 1725 » mov» r8,QWORD PTR[rax] | 1729 » mov» r8,QWORD[rax] |
| 1726 » mov» r9,QWORD PTR[8+rax] | 1730 » mov» r9,QWORD[8+rax] |
| 1727 » mov» r10,QWORD PTR[16+rax] | 1731 » mov» r10,QWORD[16+rax] |
| 1728 » mov» r11,QWORD PTR[24+rax] | 1732 » mov» r11,QWORD[24+rax] |
| 1729 » mov» r12,QWORD PTR[32+rax] | 1733 » mov» r12,QWORD[32+rax] |
| 1730 » mov» r13,QWORD PTR[40+rax] | 1734 » mov» r13,QWORD[40+rax] |
| 1731 » mov» r14,QWORD PTR[48+rax] | 1735 » mov» r14,QWORD[48+rax] |
| 1732 » mov» r15,QWORD PTR[56+rax] | 1736 » mov» r15,QWORD[56+rax] |
| 1733 | 1737 |
| 1734 | 1738 |
| 1735 » mov» rbx,QWORD PTR[24+rsp] | 1739 » mov» rbx,QWORD[24+rsp] |
| 1736 add rbx,512 | 1740 add rbx,512 |
| 1737 | 1741 |
| 1738 » sub» r8,QWORD PTR[rbx] | 1742 » sub» r8,QWORD[rbx] |
| 1739 » sbb» r9,QWORD PTR[8+rbx] | 1743 » sbb» r9,QWORD[8+rbx] |
| 1740 » sbb» r10,QWORD PTR[16+rbx] | 1744 » sbb» r10,QWORD[16+rbx] |
| 1741 » sbb» r11,QWORD PTR[24+rbx] | 1745 » sbb» r11,QWORD[24+rbx] |
| 1742 » sbb» r12,QWORD PTR[32+rbx] | 1746 » sbb» r12,QWORD[32+rbx] |
| 1743 » sbb» r13,QWORD PTR[40+rbx] | 1747 » sbb» r13,QWORD[40+rbx] |
| 1744 » sbb» r14,QWORD PTR[48+rbx] | 1748 » sbb» r14,QWORD[48+rbx] |
| 1745 » sbb» r15,QWORD PTR[56+rbx] | 1749 » sbb» r15,QWORD[56+rbx] |
| 1746 | 1750 |
| 1747 | 1751 |
| 1748 » mov» rsi,QWORD PTR[rax] | 1752 » mov» rsi,QWORD[rax] |
| 1749 » mov» rdi,QWORD PTR[8+rax] | 1753 » mov» rdi,QWORD[8+rax] |
| 1750 » mov» rcx,QWORD PTR[16+rax] | 1754 » mov» rcx,QWORD[16+rax] |
| 1751 » mov» rdx,QWORD PTR[24+rax] | 1755 » mov» rdx,QWORD[24+rax] |
| 1752 cmovnc rsi,r8 | 1756 cmovnc rsi,r8 |
| 1753 cmovnc rdi,r9 | 1757 cmovnc rdi,r9 |
| 1754 cmovnc rcx,r10 | 1758 cmovnc rcx,r10 |
| 1755 cmovnc rdx,r11 | 1759 cmovnc rdx,r11 |
| 1756 » mov» QWORD PTR[rax],rsi | 1760 » mov» QWORD[rax],rsi |
| 1757 » mov» QWORD PTR[8+rax],rdi | 1761 » mov» QWORD[8+rax],rdi |
| 1758 » mov» QWORD PTR[16+rax],rcx | 1762 » mov» QWORD[16+rax],rcx |
| 1759 » mov» QWORD PTR[24+rax],rdx | 1763 » mov» QWORD[24+rax],rdx |
| 1760 | 1764 |
| 1761 » mov» rsi,QWORD PTR[32+rax] | 1765 » mov» rsi,QWORD[32+rax] |
| 1762 » mov» rdi,QWORD PTR[40+rax] | 1766 » mov» rdi,QWORD[40+rax] |
| 1763 » mov» rcx,QWORD PTR[48+rax] | 1767 » mov» rcx,QWORD[48+rax] |
| 1764 » mov» rdx,QWORD PTR[56+rax] | 1768 » mov» rdx,QWORD[56+rax] |
| 1765 cmovnc rsi,r12 | 1769 cmovnc rsi,r12 |
| 1766 cmovnc rdi,r13 | 1770 cmovnc rdi,r13 |
| 1767 cmovnc rcx,r14 | 1771 cmovnc rcx,r14 |
| 1768 cmovnc rdx,r15 | 1772 cmovnc rdx,r15 |
| 1769 » mov» QWORD PTR[32+rax],rsi | 1773 » mov» QWORD[32+rax],rsi |
| 1770 » mov» QWORD PTR[40+rax],rdi | 1774 » mov» QWORD[40+rax],rdi |
| 1771 » mov» QWORD PTR[48+rax],rcx | 1775 » mov» QWORD[48+rax],rcx |
| 1772 » mov» QWORD PTR[56+rax],rdx | 1776 » mov» QWORD[56+rax],rdx |
| 1773 | 1777 |
| 1774 » mov» rsi,QWORD PTR[rsp] | 1778 » mov» rsi,QWORD[rsp] |
| 1775 » mov» r15,QWORD PTR[rsi] | 1779 » mov» r15,QWORD[rsi] |
| 1776 » mov» r14,QWORD PTR[8+rsi] | 1780 » mov» r14,QWORD[8+rsi] |
| 1777 » mov» r13,QWORD PTR[16+rsi] | 1781 » mov» r13,QWORD[16+rsi] |
| 1778 » mov» r12,QWORD PTR[24+rsi] | 1782 » mov» r12,QWORD[24+rsi] |
| 1779 » mov» rbx,QWORD PTR[32+rsi] | 1783 » mov» rbx,QWORD[32+rsi] |
| 1780 » mov» rbp,QWORD PTR[40+rsi] | 1784 » mov» rbp,QWORD[40+rsi] |
| 1781 » lea» rsp,QWORD PTR[48+rsi] | 1785 » lea» rsp,[48+rsi] |
| 1782 $L$epilogue:: | 1786 $L$epilogue: |
| 1783 » mov» rdi,QWORD PTR[8+rsp]» ;WIN64 epilogue | 1787 » mov» rdi,QWORD[8+rsp]» ;WIN64 epilogue |
| 1784 » mov» rsi,QWORD PTR[16+rsp] | 1788 » mov» rsi,QWORD[16+rsp] |
| 1785 DB 0F3h,0C3h ;repret | 1789 DB 0F3h,0C3h ;repret |
| 1786 $L$SEH_end_mod_exp_512:: | 1790 $L$SEH_end_mod_exp_512: |
| 1787 mod_exp_512» ENDP | 1791 EXTERN» __imp_RtlVirtualUnwind |
| 1788 EXTERN» __imp_RtlVirtualUnwind:NEAR | |
| 1789 | 1792 |
| 1790 ALIGN 16 | 1793 ALIGN 16 |
| 1791 mod_exp_512_se_handler» PROC PRIVATE | 1794 mod_exp_512_se_handler: |
| 1792 push rsi | 1795 push rsi |
| 1793 push rdi | 1796 push rdi |
| 1794 push rbx | 1797 push rbx |
| 1795 push rbp | 1798 push rbp |
| 1796 push r12 | 1799 push r12 |
| 1797 push r13 | 1800 push r13 |
| 1798 push r14 | 1801 push r14 |
| 1799 push r15 | 1802 push r15 |
| 1800 pushfq | 1803 pushfq |
| 1801 sub rsp,64 | 1804 sub rsp,64 |
| 1802 | 1805 |
| 1803 » mov» rax,QWORD PTR[120+r8] | 1806 » mov» rax,QWORD[120+r8] |
| 1804 » mov» rbx,QWORD PTR[248+r8] | 1807 » mov» rbx,QWORD[248+r8] |
| 1805 | 1808 |
| 1806 » lea» r10,QWORD PTR[$L$body] | 1809 » lea» r10,[$L$body] |
| 1807 cmp rbx,r10 | 1810 cmp rbx,r10 |
| 1808 » jb» $L$in_prologue | 1811 » jb» NEAR $L$in_prologue |
| 1809 | 1812 |
| 1810 » mov» rax,QWORD PTR[152+r8] | 1813 » mov» rax,QWORD[152+r8] |
| 1811 | 1814 |
| 1812 » lea» r10,QWORD PTR[$L$epilogue] | 1815 » lea» r10,[$L$epilogue] |
| 1813 cmp rbx,r10 | 1816 cmp rbx,r10 |
| 1814 » jae» $L$in_prologue | 1817 » jae» NEAR $L$in_prologue |
| 1815 | 1818 |
| 1816 » mov» rax,QWORD PTR[rax] | 1819 » mov» rax,QWORD[rax] |
| 1817 | 1820 |
| 1818 » mov» rbx,QWORD PTR[32+rax] | 1821 » mov» rbx,QWORD[32+rax] |
| 1819 » mov» rbp,QWORD PTR[40+rax] | 1822 » mov» rbp,QWORD[40+rax] |
| 1820 » mov» r12,QWORD PTR[24+rax] | 1823 » mov» r12,QWORD[24+rax] |
| 1821 » mov» r13,QWORD PTR[16+rax] | 1824 » mov» r13,QWORD[16+rax] |
| 1822 » mov» r14,QWORD PTR[8+rax] | 1825 » mov» r14,QWORD[8+rax] |
| 1823 » mov» r15,QWORD PTR[rax] | 1826 » mov» r15,QWORD[rax] |
| 1824 » lea» rax,QWORD PTR[48+rax] | 1827 » lea» rax,[48+rax] |
| 1825 » mov» QWORD PTR[144+r8],rbx | 1828 » mov» QWORD[144+r8],rbx |
| 1826 » mov» QWORD PTR[160+r8],rbp | 1829 » mov» QWORD[160+r8],rbp |
| 1827 » mov» QWORD PTR[216+r8],r12 | 1830 » mov» QWORD[216+r8],r12 |
| 1828 » mov» QWORD PTR[224+r8],r13 | 1831 » mov» QWORD[224+r8],r13 |
| 1829 » mov» QWORD PTR[232+r8],r14 | 1832 » mov» QWORD[232+r8],r14 |
| 1830 » mov» QWORD PTR[240+r8],r15 | 1833 » mov» QWORD[240+r8],r15 |
| 1831 | 1834 |
| 1832 $L$in_prologue:: | 1835 $L$in_prologue: |
| 1833 » mov» rdi,QWORD PTR[8+rax] | 1836 » mov» rdi,QWORD[8+rax] |
| 1834 » mov» rsi,QWORD PTR[16+rax] | 1837 » mov» rsi,QWORD[16+rax] |
| 1835 » mov» QWORD PTR[152+r8],rax | 1838 » mov» QWORD[152+r8],rax |
| 1836 » mov» QWORD PTR[168+r8],rsi | 1839 » mov» QWORD[168+r8],rsi |
| 1837 » mov» QWORD PTR[176+r8],rdi | 1840 » mov» QWORD[176+r8],rdi |
| 1838 | 1841 |
| 1839 » mov» rdi,QWORD PTR[40+r9] | 1842 » mov» rdi,QWORD[40+r9] |
| 1840 mov rsi,r8 | 1843 mov rsi,r8 |
| 1841 mov ecx,154 | 1844 mov ecx,154 |
| 1842 » DD» 0a548f3fch | 1845 » DD» 0xa548f3fc |
| 1843 | 1846 |
| 1844 mov rsi,r9 | 1847 mov rsi,r9 |
| 1845 xor rcx,rcx | 1848 xor rcx,rcx |
| 1846 » mov» rdx,QWORD PTR[8+rsi] | 1849 » mov» rdx,QWORD[8+rsi] |
| 1847 » mov» r8,QWORD PTR[rsi] | 1850 » mov» r8,QWORD[rsi] |
| 1848 » mov» r9,QWORD PTR[16+rsi] | 1851 » mov» r9,QWORD[16+rsi] |
| 1849 » mov» r10,QWORD PTR[40+rsi] | 1852 » mov» r10,QWORD[40+rsi] |
| 1850 » lea» r11,QWORD PTR[56+rsi] | 1853 » lea» r11,[56+rsi] |
| 1851 » lea» r12,QWORD PTR[24+rsi] | 1854 » lea» r12,[24+rsi] |
| 1852 » mov» QWORD PTR[32+rsp],r10 | 1855 » mov» QWORD[32+rsp],r10 |
| 1853 » mov» QWORD PTR[40+rsp],r11 | 1856 » mov» QWORD[40+rsp],r11 |
| 1854 » mov» QWORD PTR[48+rsp],r12 | 1857 » mov» QWORD[48+rsp],r12 |
| 1855 » mov» QWORD PTR[56+rsp],rcx | 1858 » mov» QWORD[56+rsp],rcx |
| 1856 » call» QWORD PTR[__imp_RtlVirtualUnwind] | 1859 » call» QWORD[__imp_RtlVirtualUnwind] |
| 1857 | 1860 |
| 1858 mov eax,1 | 1861 mov eax,1 |
| 1859 add rsp,64 | 1862 add rsp,64 |
| 1860 popfq | 1863 popfq |
| 1861 pop r15 | 1864 pop r15 |
| 1862 pop r14 | 1865 pop r14 |
| 1863 pop r13 | 1866 pop r13 |
| 1864 pop r12 | 1867 pop r12 |
| 1865 pop rbp | 1868 pop rbp |
| 1866 pop rbx | 1869 pop rbx |
| 1867 pop rdi | 1870 pop rdi |
| 1868 pop rsi | 1871 pop rsi |
| 1869 DB 0F3h,0C3h ;repret | 1872 DB 0F3h,0C3h ;repret |
| 1870 mod_exp_512_se_handler ENDP | |
| 1871 | 1873 |
| 1872 .text$» ENDS | 1874 |
| 1873 .pdata» SEGMENT READONLY ALIGN(4) | 1875 section».pdata rdata align=4 |
| 1874 ALIGN 4 | 1876 ALIGN 4 |
| 1875 » DD» imagerel $L$SEH_begin_mod_exp_512 | 1877 » DD» $L$SEH_begin_mod_exp_512 wrt ..imagebase |
| 1876 » DD» imagerel $L$SEH_end_mod_exp_512 | 1878 » DD» $L$SEH_end_mod_exp_512 wrt ..imagebase |
| 1877 » DD» imagerel $L$SEH_info_mod_exp_512 | 1879 » DD» $L$SEH_info_mod_exp_512 wrt ..imagebase |
| 1878 | 1880 |
| 1879 .pdata» ENDS | 1881 section».xdata rdata align=8 |
| 1880 .xdata» SEGMENT READONLY ALIGN(8) | |
| 1881 ALIGN 8 | 1882 ALIGN 8 |
| 1882 $L$SEH_info_mod_exp_512:: | 1883 $L$SEH_info_mod_exp_512: |
| 1883 DB 9,0,0,0 | 1884 DB 9,0,0,0 |
| 1884 » DD» imagerel mod_exp_512_se_handler | 1885 » DD» mod_exp_512_se_handler wrt ..imagebase |
| 1885 | |
| 1886 .xdata» ENDS | |
| 1887 END | |
| OLD | NEW |