OLD | NEW |
1 %ifidn __OUTPUT_FORMAT__,obj | 1 %ifidn __OUTPUT_FORMAT__,obj |
2 section code use32 class=code align=64 | 2 section code use32 class=code align=64 |
3 %elifidn __OUTPUT_FORMAT__,win32 | 3 %elifidn __OUTPUT_FORMAT__,win32 |
4 %ifdef __YASM_VERSION_ID__ | 4 %ifdef __YASM_VERSION_ID__ |
5 %if __YASM_VERSION_ID__ < 01010000h | 5 %if __YASM_VERSION_ID__ < 01010000h |
6 %error yasm version 1.1.0 or later needed. | 6 %error yasm version 1.1.0 or later needed. |
7 %endif | 7 %endif |
8 ; Yasm automatically includes .00 and complains about redefining it. | 8 ; Yasm automatically includes .00 and complains about redefining it. |
9 ; https://www.tortall.net/projects/yasm/manual/html/objfmt-win32-safeseh.html | 9 ; https://www.tortall.net/projects/yasm/manual/html/objfmt-win32-safeseh.html |
10 %else | 10 %else |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
42 lea edx,[_OPENSSL_ia32cap_P] | 42 lea edx,[_OPENSSL_ia32cap_P] |
43 mov ecx,DWORD [edx] | 43 mov ecx,DWORD [edx] |
44 mov ebx,DWORD [4+edx] | 44 mov ebx,DWORD [4+edx] |
45 test ecx,1048576 | 45 test ecx,1048576 |
46 jnz NEAR L$002loop | 46 jnz NEAR L$002loop |
47 mov edx,DWORD [8+edx] | 47 mov edx,DWORD [8+edx] |
48 test ecx,16777216 | 48 test ecx,16777216 |
49 jz NEAR L$003no_xmm | 49 jz NEAR L$003no_xmm |
50 and ecx,1073741824 | 50 and ecx,1073741824 |
51 and ebx,268435968 | 51 and ebx,268435968 |
| 52 test edx,536870912 |
| 53 jnz NEAR L$004shaext |
52 or ecx,ebx | 54 or ecx,ebx |
53 and ecx,1342177280 | 55 and ecx,1342177280 |
54 cmp ecx,1342177280 | 56 cmp ecx,1342177280 |
55 je NEAR L$004AVX | |
56 test ebx,512 | 57 test ebx,512 |
57 jnz NEAR L$005SSSE3 | 58 jnz NEAR L$005SSSE3 |
58 L$003no_xmm: | 59 L$003no_xmm: |
59 sub eax,edi | 60 sub eax,edi |
60 cmp eax,256 | 61 cmp eax,256 |
61 jae NEAR L$006unrolled | 62 jae NEAR L$006unrolled |
62 jmp NEAR L$002loop | 63 jmp NEAR L$002loop |
63 align 16 | 64 align 16 |
64 L$002loop: | 65 L$002loop: |
65 mov eax,DWORD [edi] | 66 mov eax,DWORD [edi] |
(...skipping 3105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3171 mov DWORD [28+esp],ecx | 3172 mov DWORD [28+esp],ecx |
3172 cmp edi,DWORD [104+esp] | 3173 cmp edi,DWORD [104+esp] |
3173 jb NEAR L$009grand_loop | 3174 jb NEAR L$009grand_loop |
3174 mov esp,DWORD [108+esp] | 3175 mov esp,DWORD [108+esp] |
3175 pop edi | 3176 pop edi |
3176 pop esi | 3177 pop esi |
3177 pop ebx | 3178 pop ebx |
3178 pop ebp | 3179 pop ebp |
3179 ret | 3180 ret |
3180 align 32 | 3181 align 32 |
| 3182 L$004shaext: |
| 3183 sub esp,32 |
| 3184 movdqu xmm1,[esi] |
| 3185 lea ebp,[128+ebp] |
| 3186 movdqu xmm2,[16+esi] |
| 3187 movdqa xmm7,[128+ebp] |
| 3188 pshufd xmm0,xmm1,27 |
| 3189 pshufd xmm1,xmm1,177 |
| 3190 pshufd xmm2,xmm2,27 |
| 3191 db 102,15,58,15,202,8 |
| 3192 punpcklqdq xmm2,xmm0 |
| 3193 jmp NEAR L$010loop_shaext |
| 3194 align 16 |
| 3195 L$010loop_shaext: |
| 3196 movdqu xmm3,[edi] |
| 3197 movdqu xmm4,[16+edi] |
| 3198 movdqu xmm5,[32+edi] |
| 3199 db 102,15,56,0,223 |
| 3200 movdqu xmm6,[48+edi] |
| 3201 movdqa [16+esp],xmm2 |
| 3202 movdqa xmm0,[ebp-128] |
| 3203 paddd xmm0,xmm3 |
| 3204 db 102,15,56,0,231 |
| 3205 db 15,56,203,209 |
| 3206 pshufd xmm0,xmm0,14 |
| 3207 nop |
| 3208 movdqa [esp],xmm1 |
| 3209 db 15,56,203,202 |
| 3210 movdqa xmm0,[ebp-112] |
| 3211 paddd xmm0,xmm4 |
| 3212 db 102,15,56,0,239 |
| 3213 db 15,56,203,209 |
| 3214 pshufd xmm0,xmm0,14 |
| 3215 lea edi,[64+edi] |
| 3216 db 15,56,204,220 |
| 3217 db 15,56,203,202 |
| 3218 movdqa xmm0,[ebp-96] |
| 3219 paddd xmm0,xmm5 |
| 3220 db 102,15,56,0,247 |
| 3221 db 15,56,203,209 |
| 3222 pshufd xmm0,xmm0,14 |
| 3223 movdqa xmm7,xmm6 |
| 3224 db 102,15,58,15,253,4 |
| 3225 nop |
| 3226 paddd xmm3,xmm7 |
| 3227 db 15,56,204,229 |
| 3228 db 15,56,203,202 |
| 3229 movdqa xmm0,[ebp-80] |
| 3230 paddd xmm0,xmm6 |
| 3231 db 15,56,205,222 |
| 3232 db 15,56,203,209 |
| 3233 pshufd xmm0,xmm0,14 |
| 3234 movdqa xmm7,xmm3 |
| 3235 db 102,15,58,15,254,4 |
| 3236 nop |
| 3237 paddd xmm4,xmm7 |
| 3238 db 15,56,204,238 |
| 3239 db 15,56,203,202 |
| 3240 movdqa xmm0,[ebp-64] |
| 3241 paddd xmm0,xmm3 |
| 3242 db 15,56,205,227 |
| 3243 db 15,56,203,209 |
| 3244 pshufd xmm0,xmm0,14 |
| 3245 movdqa xmm7,xmm4 |
| 3246 db 102,15,58,15,251,4 |
| 3247 nop |
| 3248 paddd xmm5,xmm7 |
| 3249 db 15,56,204,243 |
| 3250 db 15,56,203,202 |
| 3251 movdqa xmm0,[ebp-48] |
| 3252 paddd xmm0,xmm4 |
| 3253 db 15,56,205,236 |
| 3254 db 15,56,203,209 |
| 3255 pshufd xmm0,xmm0,14 |
| 3256 movdqa xmm7,xmm5 |
| 3257 db 102,15,58,15,252,4 |
| 3258 nop |
| 3259 paddd xmm6,xmm7 |
| 3260 db 15,56,204,220 |
| 3261 db 15,56,203,202 |
| 3262 movdqa xmm0,[ebp-32] |
| 3263 paddd xmm0,xmm5 |
| 3264 db 15,56,205,245 |
| 3265 db 15,56,203,209 |
| 3266 pshufd xmm0,xmm0,14 |
| 3267 movdqa xmm7,xmm6 |
| 3268 db 102,15,58,15,253,4 |
| 3269 nop |
| 3270 paddd xmm3,xmm7 |
| 3271 db 15,56,204,229 |
| 3272 db 15,56,203,202 |
| 3273 movdqa xmm0,[ebp-16] |
| 3274 paddd xmm0,xmm6 |
| 3275 db 15,56,205,222 |
| 3276 db 15,56,203,209 |
| 3277 pshufd xmm0,xmm0,14 |
| 3278 movdqa xmm7,xmm3 |
| 3279 db 102,15,58,15,254,4 |
| 3280 nop |
| 3281 paddd xmm4,xmm7 |
| 3282 db 15,56,204,238 |
| 3283 db 15,56,203,202 |
| 3284 movdqa xmm0,[ebp] |
| 3285 paddd xmm0,xmm3 |
| 3286 db 15,56,205,227 |
| 3287 db 15,56,203,209 |
| 3288 pshufd xmm0,xmm0,14 |
| 3289 movdqa xmm7,xmm4 |
| 3290 db 102,15,58,15,251,4 |
| 3291 nop |
| 3292 paddd xmm5,xmm7 |
| 3293 db 15,56,204,243 |
| 3294 db 15,56,203,202 |
| 3295 movdqa xmm0,[16+ebp] |
| 3296 paddd xmm0,xmm4 |
| 3297 db 15,56,205,236 |
| 3298 db 15,56,203,209 |
| 3299 pshufd xmm0,xmm0,14 |
| 3300 movdqa xmm7,xmm5 |
| 3301 db 102,15,58,15,252,4 |
| 3302 nop |
| 3303 paddd xmm6,xmm7 |
| 3304 db 15,56,204,220 |
| 3305 db 15,56,203,202 |
| 3306 movdqa xmm0,[32+ebp] |
| 3307 paddd xmm0,xmm5 |
| 3308 db 15,56,205,245 |
| 3309 db 15,56,203,209 |
| 3310 pshufd xmm0,xmm0,14 |
| 3311 movdqa xmm7,xmm6 |
| 3312 db 102,15,58,15,253,4 |
| 3313 nop |
| 3314 paddd xmm3,xmm7 |
| 3315 db 15,56,204,229 |
| 3316 db 15,56,203,202 |
| 3317 movdqa xmm0,[48+ebp] |
| 3318 paddd xmm0,xmm6 |
| 3319 db 15,56,205,222 |
| 3320 db 15,56,203,209 |
| 3321 pshufd xmm0,xmm0,14 |
| 3322 movdqa xmm7,xmm3 |
| 3323 db 102,15,58,15,254,4 |
| 3324 nop |
| 3325 paddd xmm4,xmm7 |
| 3326 db 15,56,204,238 |
| 3327 db 15,56,203,202 |
| 3328 movdqa xmm0,[64+ebp] |
| 3329 paddd xmm0,xmm3 |
| 3330 db 15,56,205,227 |
| 3331 db 15,56,203,209 |
| 3332 pshufd xmm0,xmm0,14 |
| 3333 movdqa xmm7,xmm4 |
| 3334 db 102,15,58,15,251,4 |
| 3335 nop |
| 3336 paddd xmm5,xmm7 |
| 3337 db 15,56,204,243 |
| 3338 db 15,56,203,202 |
| 3339 movdqa xmm0,[80+ebp] |
| 3340 paddd xmm0,xmm4 |
| 3341 db 15,56,205,236 |
| 3342 db 15,56,203,209 |
| 3343 pshufd xmm0,xmm0,14 |
| 3344 movdqa xmm7,xmm5 |
| 3345 db 102,15,58,15,252,4 |
| 3346 db 15,56,203,202 |
| 3347 paddd xmm6,xmm7 |
| 3348 movdqa xmm0,[96+ebp] |
| 3349 paddd xmm0,xmm5 |
| 3350 db 15,56,203,209 |
| 3351 pshufd xmm0,xmm0,14 |
| 3352 db 15,56,205,245 |
| 3353 movdqa xmm7,[128+ebp] |
| 3354 db 15,56,203,202 |
| 3355 movdqa xmm0,[112+ebp] |
| 3356 paddd xmm0,xmm6 |
| 3357 nop |
| 3358 db 15,56,203,209 |
| 3359 pshufd xmm0,xmm0,14 |
| 3360 cmp eax,edi |
| 3361 nop |
| 3362 db 15,56,203,202 |
| 3363 paddd xmm2,[16+esp] |
| 3364 paddd xmm1,[esp] |
| 3365 jnz NEAR L$010loop_shaext |
| 3366 pshufd xmm2,xmm2,177 |
| 3367 pshufd xmm7,xmm1,27 |
| 3368 pshufd xmm1,xmm1,177 |
| 3369 punpckhqdq xmm1,xmm2 |
| 3370 db 102,15,58,15,215,8 |
| 3371 mov esp,DWORD [44+esp] |
| 3372 movdqu [esi],xmm1 |
| 3373 movdqu [16+esi],xmm2 |
| 3374 pop edi |
| 3375 pop esi |
| 3376 pop ebx |
| 3377 pop ebp |
| 3378 ret |
| 3379 align 32 |
3181 L$005SSSE3: | 3380 L$005SSSE3: |
3182 lea esp,[esp-96] | 3381 lea esp,[esp-96] |
3183 mov eax,DWORD [esi] | 3382 mov eax,DWORD [esi] |
3184 mov ebx,DWORD [4+esi] | 3383 mov ebx,DWORD [4+esi] |
3185 mov ecx,DWORD [8+esi] | 3384 mov ecx,DWORD [8+esi] |
3186 mov edi,DWORD [12+esi] | 3385 mov edi,DWORD [12+esi] |
3187 mov DWORD [4+esp],ebx | 3386 mov DWORD [4+esp],ebx |
3188 xor ebx,ecx | 3387 xor ebx,ecx |
3189 mov DWORD [8+esp],ecx | 3388 mov DWORD [8+esp],ecx |
3190 mov DWORD [12+esp],edi | 3389 mov DWORD [12+esp],edi |
3191 mov edx,DWORD [16+esi] | 3390 mov edx,DWORD [16+esi] |
3192 mov edi,DWORD [20+esi] | 3391 mov edi,DWORD [20+esi] |
3193 mov ecx,DWORD [24+esi] | 3392 mov ecx,DWORD [24+esi] |
3194 mov esi,DWORD [28+esi] | 3393 mov esi,DWORD [28+esi] |
3195 mov DWORD [20+esp],edi | 3394 mov DWORD [20+esp],edi |
3196 mov edi,DWORD [100+esp] | 3395 mov edi,DWORD [100+esp] |
3197 mov DWORD [24+esp],ecx | 3396 mov DWORD [24+esp],ecx |
3198 mov DWORD [28+esp],esi | 3397 mov DWORD [28+esp],esi |
3199 movdqa xmm7,[256+ebp] | 3398 movdqa xmm7,[256+ebp] |
3200 » jmp» NEAR L$010grand_ssse3 | 3399 » jmp» NEAR L$011grand_ssse3 |
3201 align 16 | 3400 align 16 |
3202 L$010grand_ssse3: | 3401 L$011grand_ssse3: |
3203 movdqu xmm0,[edi] | 3402 movdqu xmm0,[edi] |
3204 movdqu xmm1,[16+edi] | 3403 movdqu xmm1,[16+edi] |
3205 movdqu xmm2,[32+edi] | 3404 movdqu xmm2,[32+edi] |
3206 movdqu xmm3,[48+edi] | 3405 movdqu xmm3,[48+edi] |
3207 add edi,64 | 3406 add edi,64 |
3208 db 102,15,56,0,199 | 3407 db 102,15,56,0,199 |
3209 mov DWORD [100+esp],edi | 3408 mov DWORD [100+esp],edi |
3210 db 102,15,56,0,207 | 3409 db 102,15,56,0,207 |
3211 movdqa xmm4,[ebp] | 3410 movdqa xmm4,[ebp] |
3212 db 102,15,56,0,215 | 3411 db 102,15,56,0,215 |
3213 movdqa xmm5,[16+ebp] | 3412 movdqa xmm5,[16+ebp] |
3214 paddd xmm4,xmm0 | 3413 paddd xmm4,xmm0 |
3215 db 102,15,56,0,223 | 3414 db 102,15,56,0,223 |
3216 movdqa xmm6,[32+ebp] | 3415 movdqa xmm6,[32+ebp] |
3217 paddd xmm5,xmm1 | 3416 paddd xmm5,xmm1 |
3218 movdqa xmm7,[48+ebp] | 3417 movdqa xmm7,[48+ebp] |
3219 movdqa [32+esp],xmm4 | 3418 movdqa [32+esp],xmm4 |
3220 paddd xmm6,xmm2 | 3419 paddd xmm6,xmm2 |
3221 movdqa [48+esp],xmm5 | 3420 movdqa [48+esp],xmm5 |
3222 paddd xmm7,xmm3 | 3421 paddd xmm7,xmm3 |
3223 movdqa [64+esp],xmm6 | 3422 movdqa [64+esp],xmm6 |
3224 movdqa [80+esp],xmm7 | 3423 movdqa [80+esp],xmm7 |
3225 » jmp» NEAR L$011ssse3_00_47 | 3424 » jmp» NEAR L$012ssse3_00_47 |
3226 align 16 | 3425 align 16 |
3227 L$011ssse3_00_47: | 3426 L$012ssse3_00_47: |
3228 add ebp,64 | 3427 add ebp,64 |
3229 mov ecx,edx | 3428 mov ecx,edx |
3230 movdqa xmm4,xmm1 | 3429 movdqa xmm4,xmm1 |
3231 ror edx,14 | 3430 ror edx,14 |
3232 mov esi,DWORD [20+esp] | 3431 mov esi,DWORD [20+esp] |
3233 movdqa xmm7,xmm3 | 3432 movdqa xmm7,xmm3 |
3234 xor edx,ecx | 3433 xor edx,ecx |
3235 mov edi,DWORD [24+esp] | 3434 mov edi,DWORD [24+esp] |
3236 db 102,15,58,15,224,4 | 3435 db 102,15,58,15,224,4 |
3237 xor esi,edi | 3436 xor esi,edi |
(...skipping 622 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3860 and eax,ebx | 4059 and eax,ebx |
3861 xor ecx,esi | 4060 xor ecx,esi |
3862 add edx,DWORD [92+esp] | 4061 add edx,DWORD [92+esp] |
3863 xor eax,edi | 4062 xor eax,edi |
3864 ror ecx,2 | 4063 ror ecx,2 |
3865 add eax,edx | 4064 add eax,edx |
3866 add edx,DWORD [16+esp] | 4065 add edx,DWORD [16+esp] |
3867 add eax,ecx | 4066 add eax,ecx |
3868 movdqa [80+esp],xmm6 | 4067 movdqa [80+esp],xmm6 |
3869 cmp DWORD [64+ebp],66051 | 4068 cmp DWORD [64+ebp],66051 |
3870 » jne» NEAR L$011ssse3_00_47 | 4069 » jne» NEAR L$012ssse3_00_47 |
3871 mov ecx,edx | 4070 mov ecx,edx |
3872 ror edx,14 | 4071 ror edx,14 |
3873 mov esi,DWORD [20+esp] | 4072 mov esi,DWORD [20+esp] |
3874 xor edx,ecx | 4073 xor edx,ecx |
3875 mov edi,DWORD [24+esp] | 4074 mov edi,DWORD [24+esp] |
3876 xor esi,edi | 4075 xor esi,edi |
3877 ror edx,5 | 4076 ror edx,5 |
3878 and esi,ecx | 4077 and esi,ecx |
3879 mov DWORD [16+esp],ecx | 4078 mov DWORD [16+esp],ecx |
3880 xor edx,ecx | 4079 xor edx,ecx |
(...skipping 493 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4374 mov edi,DWORD [28+esp] | 4573 mov edi,DWORD [28+esp] |
4375 mov DWORD [24+esi],ecx | 4574 mov DWORD [24+esi],ecx |
4376 add edi,DWORD [28+esi] | 4575 add edi,DWORD [28+esi] |
4377 mov DWORD [24+esp],ecx | 4576 mov DWORD [24+esp],ecx |
4378 mov DWORD [28+esi],edi | 4577 mov DWORD [28+esi],edi |
4379 mov DWORD [28+esp],edi | 4578 mov DWORD [28+esp],edi |
4380 mov edi,DWORD [100+esp] | 4579 mov edi,DWORD [100+esp] |
4381 movdqa xmm7,[64+ebp] | 4580 movdqa xmm7,[64+ebp] |
4382 sub ebp,192 | 4581 sub ebp,192 |
4383 cmp edi,DWORD [104+esp] | 4582 cmp edi,DWORD [104+esp] |
4384 » jb» NEAR L$010grand_ssse3 | 4583 » jb» NEAR L$011grand_ssse3 |
4385 mov esp,DWORD [108+esp] | 4584 mov esp,DWORD [108+esp] |
4386 pop edi | 4585 pop edi |
4387 pop esi | 4586 pop esi |
4388 pop ebx | 4587 pop ebx |
4389 pop ebp | |
4390 ret | |
4391 align 32 | |
4392 L$004AVX: | |
4393 lea esp,[esp-96] | |
4394 vzeroall | |
4395 mov eax,DWORD [esi] | |
4396 mov ebx,DWORD [4+esi] | |
4397 mov ecx,DWORD [8+esi] | |
4398 mov edi,DWORD [12+esi] | |
4399 mov DWORD [4+esp],ebx | |
4400 xor ebx,ecx | |
4401 mov DWORD [8+esp],ecx | |
4402 mov DWORD [12+esp],edi | |
4403 mov edx,DWORD [16+esi] | |
4404 mov edi,DWORD [20+esi] | |
4405 mov ecx,DWORD [24+esi] | |
4406 mov esi,DWORD [28+esi] | |
4407 mov DWORD [20+esp],edi | |
4408 mov edi,DWORD [100+esp] | |
4409 mov DWORD [24+esp],ecx | |
4410 mov DWORD [28+esp],esi | |
4411 vmovdqa xmm7,[256+ebp] | |
4412 jmp NEAR L$012grand_avx | |
4413 align 32 | |
4414 L$012grand_avx: | |
4415 vmovdqu xmm0,[edi] | |
4416 vmovdqu xmm1,[16+edi] | |
4417 vmovdqu xmm2,[32+edi] | |
4418 vmovdqu xmm3,[48+edi] | |
4419 add edi,64 | |
4420 vpshufb xmm0,xmm0,xmm7 | |
4421 mov DWORD [100+esp],edi | |
4422 vpshufb xmm1,xmm1,xmm7 | |
4423 vpshufb xmm2,xmm2,xmm7 | |
4424 vpaddd xmm4,xmm0,[ebp] | |
4425 vpshufb xmm3,xmm3,xmm7 | |
4426 vpaddd xmm5,xmm1,[16+ebp] | |
4427 vpaddd xmm6,xmm2,[32+ebp] | |
4428 vpaddd xmm7,xmm3,[48+ebp] | |
4429 vmovdqa [32+esp],xmm4 | |
4430 vmovdqa [48+esp],xmm5 | |
4431 vmovdqa [64+esp],xmm6 | |
4432 vmovdqa [80+esp],xmm7 | |
4433 jmp NEAR L$013avx_00_47 | |
4434 align 16 | |
4435 L$013avx_00_47: | |
4436 add ebp,64 | |
4437 vpalignr xmm4,xmm1,xmm0,4 | |
4438 mov ecx,edx | |
4439 shrd edx,edx,14 | |
4440 mov esi,DWORD [20+esp] | |
4441 vpalignr xmm7,xmm3,xmm2,4 | |
4442 xor edx,ecx | |
4443 mov edi,DWORD [24+esp] | |
4444 xor esi,edi | |
4445 vpsrld xmm6,xmm4,7 | |
4446 shrd edx,edx,5 | |
4447 and esi,ecx | |
4448 mov DWORD [16+esp],ecx | |
4449 vpaddd xmm0,xmm0,xmm7 | |
4450 xor edx,ecx | |
4451 xor edi,esi | |
4452 shrd edx,edx,6 | |
4453 vpsrld xmm7,xmm4,3 | |
4454 mov ecx,eax | |
4455 add edx,edi | |
4456 mov edi,DWORD [4+esp] | |
4457 vpslld xmm5,xmm4,14 | |
4458 mov esi,eax | |
4459 shrd ecx,ecx,9 | |
4460 mov DWORD [esp],eax | |
4461 vpxor xmm4,xmm7,xmm6 | |
4462 xor ecx,eax | |
4463 xor eax,edi | |
4464 add edx,DWORD [28+esp] | |
4465 vpshufd xmm7,xmm3,250 | |
4466 shrd ecx,ecx,11 | |
4467 and ebx,eax | |
4468 xor ecx,esi | |
4469 vpsrld xmm6,xmm6,11 | |
4470 add edx,DWORD [32+esp] | |
4471 xor ebx,edi | |
4472 shrd ecx,ecx,2 | |
4473 vpxor xmm4,xmm4,xmm5 | |
4474 add ebx,edx | |
4475 add edx,DWORD [12+esp] | |
4476 add ebx,ecx | |
4477 vpslld xmm5,xmm5,11 | |
4478 mov ecx,edx | |
4479 shrd edx,edx,14 | |
4480 mov esi,DWORD [16+esp] | |
4481 vpxor xmm4,xmm4,xmm6 | |
4482 xor edx,ecx | |
4483 mov edi,DWORD [20+esp] | |
4484 xor esi,edi | |
4485 vpsrld xmm6,xmm7,10 | |
4486 shrd edx,edx,5 | |
4487 and esi,ecx | |
4488 mov DWORD [12+esp],ecx | |
4489 vpxor xmm4,xmm4,xmm5 | |
4490 xor edx,ecx | |
4491 xor edi,esi | |
4492 shrd edx,edx,6 | |
4493 vpsrlq xmm5,xmm7,17 | |
4494 mov ecx,ebx | |
4495 add edx,edi | |
4496 mov edi,DWORD [esp] | |
4497 vpaddd xmm0,xmm0,xmm4 | |
4498 mov esi,ebx | |
4499 shrd ecx,ecx,9 | |
4500 mov DWORD [28+esp],ebx | |
4501 vpxor xmm6,xmm6,xmm5 | |
4502 xor ecx,ebx | |
4503 xor ebx,edi | |
4504 add edx,DWORD [24+esp] | |
4505 vpsrlq xmm7,xmm7,19 | |
4506 shrd ecx,ecx,11 | |
4507 and eax,ebx | |
4508 xor ecx,esi | |
4509 vpxor xmm6,xmm6,xmm7 | |
4510 add edx,DWORD [36+esp] | |
4511 xor eax,edi | |
4512 shrd ecx,ecx,2 | |
4513 vpshufd xmm7,xmm6,132 | |
4514 add eax,edx | |
4515 add edx,DWORD [8+esp] | |
4516 add eax,ecx | |
4517 vpsrldq xmm7,xmm7,8 | |
4518 mov ecx,edx | |
4519 shrd edx,edx,14 | |
4520 mov esi,DWORD [12+esp] | |
4521 vpaddd xmm0,xmm0,xmm7 | |
4522 xor edx,ecx | |
4523 mov edi,DWORD [16+esp] | |
4524 xor esi,edi | |
4525 vpshufd xmm7,xmm0,80 | |
4526 shrd edx,edx,5 | |
4527 and esi,ecx | |
4528 mov DWORD [8+esp],ecx | |
4529 vpsrld xmm6,xmm7,10 | |
4530 xor edx,ecx | |
4531 xor edi,esi | |
4532 shrd edx,edx,6 | |
4533 vpsrlq xmm5,xmm7,17 | |
4534 mov ecx,eax | |
4535 add edx,edi | |
4536 mov edi,DWORD [28+esp] | |
4537 vpxor xmm6,xmm6,xmm5 | |
4538 mov esi,eax | |
4539 shrd ecx,ecx,9 | |
4540 mov DWORD [24+esp],eax | |
4541 vpsrlq xmm7,xmm7,19 | |
4542 xor ecx,eax | |
4543 xor eax,edi | |
4544 add edx,DWORD [20+esp] | |
4545 vpxor xmm6,xmm6,xmm7 | |
4546 shrd ecx,ecx,11 | |
4547 and ebx,eax | |
4548 xor ecx,esi | |
4549 vpshufd xmm7,xmm6,232 | |
4550 add edx,DWORD [40+esp] | |
4551 xor ebx,edi | |
4552 shrd ecx,ecx,2 | |
4553 vpslldq xmm7,xmm7,8 | |
4554 add ebx,edx | |
4555 add edx,DWORD [4+esp] | |
4556 add ebx,ecx | |
4557 vpaddd xmm0,xmm0,xmm7 | |
4558 mov ecx,edx | |
4559 shrd edx,edx,14 | |
4560 mov esi,DWORD [8+esp] | |
4561 vpaddd xmm6,xmm0,[ebp] | |
4562 xor edx,ecx | |
4563 mov edi,DWORD [12+esp] | |
4564 xor esi,edi | |
4565 shrd edx,edx,5 | |
4566 and esi,ecx | |
4567 mov DWORD [4+esp],ecx | |
4568 xor edx,ecx | |
4569 xor edi,esi | |
4570 shrd edx,edx,6 | |
4571 mov ecx,ebx | |
4572 add edx,edi | |
4573 mov edi,DWORD [24+esp] | |
4574 mov esi,ebx | |
4575 shrd ecx,ecx,9 | |
4576 mov DWORD [20+esp],ebx | |
4577 xor ecx,ebx | |
4578 xor ebx,edi | |
4579 add edx,DWORD [16+esp] | |
4580 shrd ecx,ecx,11 | |
4581 and eax,ebx | |
4582 xor ecx,esi | |
4583 add edx,DWORD [44+esp] | |
4584 xor eax,edi | |
4585 shrd ecx,ecx,2 | |
4586 add eax,edx | |
4587 add edx,DWORD [esp] | |
4588 add eax,ecx | |
4589 vmovdqa [32+esp],xmm6 | |
4590 vpalignr xmm4,xmm2,xmm1,4 | |
4591 mov ecx,edx | |
4592 shrd edx,edx,14 | |
4593 mov esi,DWORD [4+esp] | |
4594 vpalignr xmm7,xmm0,xmm3,4 | |
4595 xor edx,ecx | |
4596 mov edi,DWORD [8+esp] | |
4597 xor esi,edi | |
4598 vpsrld xmm6,xmm4,7 | |
4599 shrd edx,edx,5 | |
4600 and esi,ecx | |
4601 mov DWORD [esp],ecx | |
4602 vpaddd xmm1,xmm1,xmm7 | |
4603 xor edx,ecx | |
4604 xor edi,esi | |
4605 shrd edx,edx,6 | |
4606 vpsrld xmm7,xmm4,3 | |
4607 mov ecx,eax | |
4608 add edx,edi | |
4609 mov edi,DWORD [20+esp] | |
4610 vpslld xmm5,xmm4,14 | |
4611 mov esi,eax | |
4612 shrd ecx,ecx,9 | |
4613 mov DWORD [16+esp],eax | |
4614 vpxor xmm4,xmm7,xmm6 | |
4615 xor ecx,eax | |
4616 xor eax,edi | |
4617 add edx,DWORD [12+esp] | |
4618 vpshufd xmm7,xmm0,250 | |
4619 shrd ecx,ecx,11 | |
4620 and ebx,eax | |
4621 xor ecx,esi | |
4622 vpsrld xmm6,xmm6,11 | |
4623 add edx,DWORD [48+esp] | |
4624 xor ebx,edi | |
4625 shrd ecx,ecx,2 | |
4626 vpxor xmm4,xmm4,xmm5 | |
4627 add ebx,edx | |
4628 add edx,DWORD [28+esp] | |
4629 add ebx,ecx | |
4630 vpslld xmm5,xmm5,11 | |
4631 mov ecx,edx | |
4632 shrd edx,edx,14 | |
4633 mov esi,DWORD [esp] | |
4634 vpxor xmm4,xmm4,xmm6 | |
4635 xor edx,ecx | |
4636 mov edi,DWORD [4+esp] | |
4637 xor esi,edi | |
4638 vpsrld xmm6,xmm7,10 | |
4639 shrd edx,edx,5 | |
4640 and esi,ecx | |
4641 mov DWORD [28+esp],ecx | |
4642 vpxor xmm4,xmm4,xmm5 | |
4643 xor edx,ecx | |
4644 xor edi,esi | |
4645 shrd edx,edx,6 | |
4646 vpsrlq xmm5,xmm7,17 | |
4647 mov ecx,ebx | |
4648 add edx,edi | |
4649 mov edi,DWORD [16+esp] | |
4650 vpaddd xmm1,xmm1,xmm4 | |
4651 mov esi,ebx | |
4652 shrd ecx,ecx,9 | |
4653 mov DWORD [12+esp],ebx | |
4654 vpxor xmm6,xmm6,xmm5 | |
4655 xor ecx,ebx | |
4656 xor ebx,edi | |
4657 add edx,DWORD [8+esp] | |
4658 vpsrlq xmm7,xmm7,19 | |
4659 shrd ecx,ecx,11 | |
4660 and eax,ebx | |
4661 xor ecx,esi | |
4662 vpxor xmm6,xmm6,xmm7 | |
4663 add edx,DWORD [52+esp] | |
4664 xor eax,edi | |
4665 shrd ecx,ecx,2 | |
4666 vpshufd xmm7,xmm6,132 | |
4667 add eax,edx | |
4668 add edx,DWORD [24+esp] | |
4669 add eax,ecx | |
4670 vpsrldq xmm7,xmm7,8 | |
4671 mov ecx,edx | |
4672 shrd edx,edx,14 | |
4673 mov esi,DWORD [28+esp] | |
4674 vpaddd xmm1,xmm1,xmm7 | |
4675 xor edx,ecx | |
4676 mov edi,DWORD [esp] | |
4677 xor esi,edi | |
4678 vpshufd xmm7,xmm1,80 | |
4679 shrd edx,edx,5 | |
4680 and esi,ecx | |
4681 mov DWORD [24+esp],ecx | |
4682 vpsrld xmm6,xmm7,10 | |
4683 xor edx,ecx | |
4684 xor edi,esi | |
4685 shrd edx,edx,6 | |
4686 vpsrlq xmm5,xmm7,17 | |
4687 mov ecx,eax | |
4688 add edx,edi | |
4689 mov edi,DWORD [12+esp] | |
4690 vpxor xmm6,xmm6,xmm5 | |
4691 mov esi,eax | |
4692 shrd ecx,ecx,9 | |
4693 mov DWORD [8+esp],eax | |
4694 vpsrlq xmm7,xmm7,19 | |
4695 xor ecx,eax | |
4696 xor eax,edi | |
4697 add edx,DWORD [4+esp] | |
4698 vpxor xmm6,xmm6,xmm7 | |
4699 shrd ecx,ecx,11 | |
4700 and ebx,eax | |
4701 xor ecx,esi | |
4702 vpshufd xmm7,xmm6,232 | |
4703 add edx,DWORD [56+esp] | |
4704 xor ebx,edi | |
4705 shrd ecx,ecx,2 | |
4706 vpslldq xmm7,xmm7,8 | |
4707 add ebx,edx | |
4708 add edx,DWORD [20+esp] | |
4709 add ebx,ecx | |
4710 vpaddd xmm1,xmm1,xmm7 | |
4711 mov ecx,edx | |
4712 shrd edx,edx,14 | |
4713 mov esi,DWORD [24+esp] | |
4714 vpaddd xmm6,xmm1,[16+ebp] | |
4715 xor edx,ecx | |
4716 mov edi,DWORD [28+esp] | |
4717 xor esi,edi | |
4718 shrd edx,edx,5 | |
4719 and esi,ecx | |
4720 mov DWORD [20+esp],ecx | |
4721 xor edx,ecx | |
4722 xor edi,esi | |
4723 shrd edx,edx,6 | |
4724 mov ecx,ebx | |
4725 add edx,edi | |
4726 mov edi,DWORD [8+esp] | |
4727 mov esi,ebx | |
4728 shrd ecx,ecx,9 | |
4729 mov DWORD [4+esp],ebx | |
4730 xor ecx,ebx | |
4731 xor ebx,edi | |
4732 add edx,DWORD [esp] | |
4733 shrd ecx,ecx,11 | |
4734 and eax,ebx | |
4735 xor ecx,esi | |
4736 add edx,DWORD [60+esp] | |
4737 xor eax,edi | |
4738 shrd ecx,ecx,2 | |
4739 add eax,edx | |
4740 add edx,DWORD [16+esp] | |
4741 add eax,ecx | |
4742 vmovdqa [48+esp],xmm6 | |
4743 vpalignr xmm4,xmm3,xmm2,4 | |
4744 mov ecx,edx | |
4745 shrd edx,edx,14 | |
4746 mov esi,DWORD [20+esp] | |
4747 vpalignr xmm7,xmm1,xmm0,4 | |
4748 xor edx,ecx | |
4749 mov edi,DWORD [24+esp] | |
4750 xor esi,edi | |
4751 vpsrld xmm6,xmm4,7 | |
4752 shrd edx,edx,5 | |
4753 and esi,ecx | |
4754 mov DWORD [16+esp],ecx | |
4755 vpaddd xmm2,xmm2,xmm7 | |
4756 xor edx,ecx | |
4757 xor edi,esi | |
4758 shrd edx,edx,6 | |
4759 vpsrld xmm7,xmm4,3 | |
4760 mov ecx,eax | |
4761 add edx,edi | |
4762 mov edi,DWORD [4+esp] | |
4763 vpslld xmm5,xmm4,14 | |
4764 mov esi,eax | |
4765 shrd ecx,ecx,9 | |
4766 mov DWORD [esp],eax | |
4767 vpxor xmm4,xmm7,xmm6 | |
4768 xor ecx,eax | |
4769 xor eax,edi | |
4770 add edx,DWORD [28+esp] | |
4771 vpshufd xmm7,xmm1,250 | |
4772 shrd ecx,ecx,11 | |
4773 and ebx,eax | |
4774 xor ecx,esi | |
4775 vpsrld xmm6,xmm6,11 | |
4776 add edx,DWORD [64+esp] | |
4777 xor ebx,edi | |
4778 shrd ecx,ecx,2 | |
4779 vpxor xmm4,xmm4,xmm5 | |
4780 add ebx,edx | |
4781 add edx,DWORD [12+esp] | |
4782 add ebx,ecx | |
4783 vpslld xmm5,xmm5,11 | |
4784 mov ecx,edx | |
4785 shrd edx,edx,14 | |
4786 mov esi,DWORD [16+esp] | |
4787 vpxor xmm4,xmm4,xmm6 | |
4788 xor edx,ecx | |
4789 mov edi,DWORD [20+esp] | |
4790 xor esi,edi | |
4791 vpsrld xmm6,xmm7,10 | |
4792 shrd edx,edx,5 | |
4793 and esi,ecx | |
4794 mov DWORD [12+esp],ecx | |
4795 vpxor xmm4,xmm4,xmm5 | |
4796 xor edx,ecx | |
4797 xor edi,esi | |
4798 shrd edx,edx,6 | |
4799 vpsrlq xmm5,xmm7,17 | |
4800 mov ecx,ebx | |
4801 add edx,edi | |
4802 mov edi,DWORD [esp] | |
4803 vpaddd xmm2,xmm2,xmm4 | |
4804 mov esi,ebx | |
4805 shrd ecx,ecx,9 | |
4806 mov DWORD [28+esp],ebx | |
4807 vpxor xmm6,xmm6,xmm5 | |
4808 xor ecx,ebx | |
4809 xor ebx,edi | |
4810 add edx,DWORD [24+esp] | |
4811 vpsrlq xmm7,xmm7,19 | |
4812 shrd ecx,ecx,11 | |
4813 and eax,ebx | |
4814 xor ecx,esi | |
4815 vpxor xmm6,xmm6,xmm7 | |
4816 add edx,DWORD [68+esp] | |
4817 xor eax,edi | |
4818 shrd ecx,ecx,2 | |
4819 vpshufd xmm7,xmm6,132 | |
4820 add eax,edx | |
4821 add edx,DWORD [8+esp] | |
4822 add eax,ecx | |
4823 vpsrldq xmm7,xmm7,8 | |
4824 mov ecx,edx | |
4825 shrd edx,edx,14 | |
4826 mov esi,DWORD [12+esp] | |
4827 vpaddd xmm2,xmm2,xmm7 | |
4828 xor edx,ecx | |
4829 mov edi,DWORD [16+esp] | |
4830 xor esi,edi | |
4831 vpshufd xmm7,xmm2,80 | |
4832 shrd edx,edx,5 | |
4833 and esi,ecx | |
4834 mov DWORD [8+esp],ecx | |
4835 vpsrld xmm6,xmm7,10 | |
4836 xor edx,ecx | |
4837 xor edi,esi | |
4838 shrd edx,edx,6 | |
4839 vpsrlq xmm5,xmm7,17 | |
4840 mov ecx,eax | |
4841 add edx,edi | |
4842 mov edi,DWORD [28+esp] | |
4843 vpxor xmm6,xmm6,xmm5 | |
4844 mov esi,eax | |
4845 shrd ecx,ecx,9 | |
4846 mov DWORD [24+esp],eax | |
4847 vpsrlq xmm7,xmm7,19 | |
4848 xor ecx,eax | |
4849 xor eax,edi | |
4850 add edx,DWORD [20+esp] | |
4851 vpxor xmm6,xmm6,xmm7 | |
4852 shrd ecx,ecx,11 | |
4853 and ebx,eax | |
4854 xor ecx,esi | |
4855 vpshufd xmm7,xmm6,232 | |
4856 add edx,DWORD [72+esp] | |
4857 xor ebx,edi | |
4858 shrd ecx,ecx,2 | |
4859 vpslldq xmm7,xmm7,8 | |
4860 add ebx,edx | |
4861 add edx,DWORD [4+esp] | |
4862 add ebx,ecx | |
4863 vpaddd xmm2,xmm2,xmm7 | |
4864 mov ecx,edx | |
4865 shrd edx,edx,14 | |
4866 mov esi,DWORD [8+esp] | |
4867 vpaddd xmm6,xmm2,[32+ebp] | |
4868 xor edx,ecx | |
4869 mov edi,DWORD [12+esp] | |
4870 xor esi,edi | |
4871 shrd edx,edx,5 | |
4872 and esi,ecx | |
4873 mov DWORD [4+esp],ecx | |
4874 xor edx,ecx | |
4875 xor edi,esi | |
4876 shrd edx,edx,6 | |
4877 mov ecx,ebx | |
4878 add edx,edi | |
4879 mov edi,DWORD [24+esp] | |
4880 mov esi,ebx | |
4881 shrd ecx,ecx,9 | |
4882 mov DWORD [20+esp],ebx | |
4883 xor ecx,ebx | |
4884 xor ebx,edi | |
4885 add edx,DWORD [16+esp] | |
4886 shrd ecx,ecx,11 | |
4887 and eax,ebx | |
4888 xor ecx,esi | |
4889 add edx,DWORD [76+esp] | |
4890 xor eax,edi | |
4891 shrd ecx,ecx,2 | |
4892 add eax,edx | |
4893 add edx,DWORD [esp] | |
4894 add eax,ecx | |
4895 vmovdqa [64+esp],xmm6 | |
4896 vpalignr xmm4,xmm0,xmm3,4 | |
4897 mov ecx,edx | |
4898 shrd edx,edx,14 | |
4899 mov esi,DWORD [4+esp] | |
4900 vpalignr xmm7,xmm2,xmm1,4 | |
4901 xor edx,ecx | |
4902 mov edi,DWORD [8+esp] | |
4903 xor esi,edi | |
4904 vpsrld xmm6,xmm4,7 | |
4905 shrd edx,edx,5 | |
4906 and esi,ecx | |
4907 mov DWORD [esp],ecx | |
4908 vpaddd xmm3,xmm3,xmm7 | |
4909 xor edx,ecx | |
4910 xor edi,esi | |
4911 shrd edx,edx,6 | |
4912 vpsrld xmm7,xmm4,3 | |
4913 mov ecx,eax | |
4914 add edx,edi | |
4915 mov edi,DWORD [20+esp] | |
4916 vpslld xmm5,xmm4,14 | |
4917 mov esi,eax | |
4918 shrd ecx,ecx,9 | |
4919 mov DWORD [16+esp],eax | |
4920 vpxor xmm4,xmm7,xmm6 | |
4921 xor ecx,eax | |
4922 xor eax,edi | |
4923 add edx,DWORD [12+esp] | |
4924 vpshufd xmm7,xmm2,250 | |
4925 shrd ecx,ecx,11 | |
4926 and ebx,eax | |
4927 xor ecx,esi | |
4928 vpsrld xmm6,xmm6,11 | |
4929 add edx,DWORD [80+esp] | |
4930 xor ebx,edi | |
4931 shrd ecx,ecx,2 | |
4932 vpxor xmm4,xmm4,xmm5 | |
4933 add ebx,edx | |
4934 add edx,DWORD [28+esp] | |
4935 add ebx,ecx | |
4936 vpslld xmm5,xmm5,11 | |
4937 mov ecx,edx | |
4938 shrd edx,edx,14 | |
4939 mov esi,DWORD [esp] | |
4940 vpxor xmm4,xmm4,xmm6 | |
4941 xor edx,ecx | |
4942 mov edi,DWORD [4+esp] | |
4943 xor esi,edi | |
4944 vpsrld xmm6,xmm7,10 | |
4945 shrd edx,edx,5 | |
4946 and esi,ecx | |
4947 mov DWORD [28+esp],ecx | |
4948 vpxor xmm4,xmm4,xmm5 | |
4949 xor edx,ecx | |
4950 xor edi,esi | |
4951 shrd edx,edx,6 | |
4952 vpsrlq xmm5,xmm7,17 | |
4953 mov ecx,ebx | |
4954 add edx,edi | |
4955 mov edi,DWORD [16+esp] | |
4956 vpaddd xmm3,xmm3,xmm4 | |
4957 mov esi,ebx | |
4958 shrd ecx,ecx,9 | |
4959 mov DWORD [12+esp],ebx | |
4960 vpxor xmm6,xmm6,xmm5 | |
4961 xor ecx,ebx | |
4962 xor ebx,edi | |
4963 add edx,DWORD [8+esp] | |
4964 vpsrlq xmm7,xmm7,19 | |
4965 shrd ecx,ecx,11 | |
4966 and eax,ebx | |
4967 xor ecx,esi | |
4968 vpxor xmm6,xmm6,xmm7 | |
4969 add edx,DWORD [84+esp] | |
4970 xor eax,edi | |
4971 shrd ecx,ecx,2 | |
4972 vpshufd xmm7,xmm6,132 | |
4973 add eax,edx | |
4974 add edx,DWORD [24+esp] | |
4975 add eax,ecx | |
4976 vpsrldq xmm7,xmm7,8 | |
4977 mov ecx,edx | |
4978 shrd edx,edx,14 | |
4979 mov esi,DWORD [28+esp] | |
4980 vpaddd xmm3,xmm3,xmm7 | |
4981 xor edx,ecx | |
4982 mov edi,DWORD [esp] | |
4983 xor esi,edi | |
4984 vpshufd xmm7,xmm3,80 | |
4985 shrd edx,edx,5 | |
4986 and esi,ecx | |
4987 mov DWORD [24+esp],ecx | |
4988 vpsrld xmm6,xmm7,10 | |
4989 xor edx,ecx | |
4990 xor edi,esi | |
4991 shrd edx,edx,6 | |
4992 vpsrlq xmm5,xmm7,17 | |
4993 mov ecx,eax | |
4994 add edx,edi | |
4995 mov edi,DWORD [12+esp] | |
4996 vpxor xmm6,xmm6,xmm5 | |
4997 mov esi,eax | |
4998 shrd ecx,ecx,9 | |
4999 mov DWORD [8+esp],eax | |
5000 vpsrlq xmm7,xmm7,19 | |
5001 xor ecx,eax | |
5002 xor eax,edi | |
5003 add edx,DWORD [4+esp] | |
5004 vpxor xmm6,xmm6,xmm7 | |
5005 shrd ecx,ecx,11 | |
5006 and ebx,eax | |
5007 xor ecx,esi | |
5008 vpshufd xmm7,xmm6,232 | |
5009 add edx,DWORD [88+esp] | |
5010 xor ebx,edi | |
5011 shrd ecx,ecx,2 | |
5012 vpslldq xmm7,xmm7,8 | |
5013 add ebx,edx | |
5014 add edx,DWORD [20+esp] | |
5015 add ebx,ecx | |
5016 vpaddd xmm3,xmm3,xmm7 | |
5017 mov ecx,edx | |
5018 shrd edx,edx,14 | |
5019 mov esi,DWORD [24+esp] | |
5020 vpaddd xmm6,xmm3,[48+ebp] | |
5021 xor edx,ecx | |
5022 mov edi,DWORD [28+esp] | |
5023 xor esi,edi | |
5024 shrd edx,edx,5 | |
5025 and esi,ecx | |
5026 mov DWORD [20+esp],ecx | |
5027 xor edx,ecx | |
5028 xor edi,esi | |
5029 shrd edx,edx,6 | |
5030 mov ecx,ebx | |
5031 add edx,edi | |
5032 mov edi,DWORD [8+esp] | |
5033 mov esi,ebx | |
5034 shrd ecx,ecx,9 | |
5035 mov DWORD [4+esp],ebx | |
5036 xor ecx,ebx | |
5037 xor ebx,edi | |
5038 add edx,DWORD [esp] | |
5039 shrd ecx,ecx,11 | |
5040 and eax,ebx | |
5041 xor ecx,esi | |
5042 add edx,DWORD [92+esp] | |
5043 xor eax,edi | |
5044 shrd ecx,ecx,2 | |
5045 add eax,edx | |
5046 add edx,DWORD [16+esp] | |
5047 add eax,ecx | |
5048 vmovdqa [80+esp],xmm6 | |
5049 cmp DWORD [64+ebp],66051 | |
5050 jne NEAR L$013avx_00_47 | |
5051 mov ecx,edx | |
5052 shrd edx,edx,14 | |
5053 mov esi,DWORD [20+esp] | |
5054 xor edx,ecx | |
5055 mov edi,DWORD [24+esp] | |
5056 xor esi,edi | |
5057 shrd edx,edx,5 | |
5058 and esi,ecx | |
5059 mov DWORD [16+esp],ecx | |
5060 xor edx,ecx | |
5061 xor edi,esi | |
5062 shrd edx,edx,6 | |
5063 mov ecx,eax | |
5064 add edx,edi | |
5065 mov edi,DWORD [4+esp] | |
5066 mov esi,eax | |
5067 shrd ecx,ecx,9 | |
5068 mov DWORD [esp],eax | |
5069 xor ecx,eax | |
5070 xor eax,edi | |
5071 add edx,DWORD [28+esp] | |
5072 shrd ecx,ecx,11 | |
5073 and ebx,eax | |
5074 xor ecx,esi | |
5075 add edx,DWORD [32+esp] | |
5076 xor ebx,edi | |
5077 shrd ecx,ecx,2 | |
5078 add ebx,edx | |
5079 add edx,DWORD [12+esp] | |
5080 add ebx,ecx | |
5081 mov ecx,edx | |
5082 shrd edx,edx,14 | |
5083 mov esi,DWORD [16+esp] | |
5084 xor edx,ecx | |
5085 mov edi,DWORD [20+esp] | |
5086 xor esi,edi | |
5087 shrd edx,edx,5 | |
5088 and esi,ecx | |
5089 mov DWORD [12+esp],ecx | |
5090 xor edx,ecx | |
5091 xor edi,esi | |
5092 shrd edx,edx,6 | |
5093 mov ecx,ebx | |
5094 add edx,edi | |
5095 mov edi,DWORD [esp] | |
5096 mov esi,ebx | |
5097 shrd ecx,ecx,9 | |
5098 mov DWORD [28+esp],ebx | |
5099 xor ecx,ebx | |
5100 xor ebx,edi | |
5101 add edx,DWORD [24+esp] | |
5102 shrd ecx,ecx,11 | |
5103 and eax,ebx | |
5104 xor ecx,esi | |
5105 add edx,DWORD [36+esp] | |
5106 xor eax,edi | |
5107 shrd ecx,ecx,2 | |
5108 add eax,edx | |
5109 add edx,DWORD [8+esp] | |
5110 add eax,ecx | |
5111 mov ecx,edx | |
5112 shrd edx,edx,14 | |
5113 mov esi,DWORD [12+esp] | |
5114 xor edx,ecx | |
5115 mov edi,DWORD [16+esp] | |
5116 xor esi,edi | |
5117 shrd edx,edx,5 | |
5118 and esi,ecx | |
5119 mov DWORD [8+esp],ecx | |
5120 xor edx,ecx | |
5121 xor edi,esi | |
5122 shrd edx,edx,6 | |
5123 mov ecx,eax | |
5124 add edx,edi | |
5125 mov edi,DWORD [28+esp] | |
5126 mov esi,eax | |
5127 shrd ecx,ecx,9 | |
5128 mov DWORD [24+esp],eax | |
5129 xor ecx,eax | |
5130 xor eax,edi | |
5131 add edx,DWORD [20+esp] | |
5132 shrd ecx,ecx,11 | |
5133 and ebx,eax | |
5134 xor ecx,esi | |
5135 add edx,DWORD [40+esp] | |
5136 xor ebx,edi | |
5137 shrd ecx,ecx,2 | |
5138 add ebx,edx | |
5139 add edx,DWORD [4+esp] | |
5140 add ebx,ecx | |
5141 mov ecx,edx | |
5142 shrd edx,edx,14 | |
5143 mov esi,DWORD [8+esp] | |
5144 xor edx,ecx | |
5145 mov edi,DWORD [12+esp] | |
5146 xor esi,edi | |
5147 shrd edx,edx,5 | |
5148 and esi,ecx | |
5149 mov DWORD [4+esp],ecx | |
5150 xor edx,ecx | |
5151 xor edi,esi | |
5152 shrd edx,edx,6 | |
5153 mov ecx,ebx | |
5154 add edx,edi | |
5155 mov edi,DWORD [24+esp] | |
5156 mov esi,ebx | |
5157 shrd ecx,ecx,9 | |
5158 mov DWORD [20+esp],ebx | |
5159 xor ecx,ebx | |
5160 xor ebx,edi | |
5161 add edx,DWORD [16+esp] | |
5162 shrd ecx,ecx,11 | |
5163 and eax,ebx | |
5164 xor ecx,esi | |
5165 add edx,DWORD [44+esp] | |
5166 xor eax,edi | |
5167 shrd ecx,ecx,2 | |
5168 add eax,edx | |
5169 add edx,DWORD [esp] | |
5170 add eax,ecx | |
5171 mov ecx,edx | |
5172 shrd edx,edx,14 | |
5173 mov esi,DWORD [4+esp] | |
5174 xor edx,ecx | |
5175 mov edi,DWORD [8+esp] | |
5176 xor esi,edi | |
5177 shrd edx,edx,5 | |
5178 and esi,ecx | |
5179 mov DWORD [esp],ecx | |
5180 xor edx,ecx | |
5181 xor edi,esi | |
5182 shrd edx,edx,6 | |
5183 mov ecx,eax | |
5184 add edx,edi | |
5185 mov edi,DWORD [20+esp] | |
5186 mov esi,eax | |
5187 shrd ecx,ecx,9 | |
5188 mov DWORD [16+esp],eax | |
5189 xor ecx,eax | |
5190 xor eax,edi | |
5191 add edx,DWORD [12+esp] | |
5192 shrd ecx,ecx,11 | |
5193 and ebx,eax | |
5194 xor ecx,esi | |
5195 add edx,DWORD [48+esp] | |
5196 xor ebx,edi | |
5197 shrd ecx,ecx,2 | |
5198 add ebx,edx | |
5199 add edx,DWORD [28+esp] | |
5200 add ebx,ecx | |
5201 mov ecx,edx | |
5202 shrd edx,edx,14 | |
5203 mov esi,DWORD [esp] | |
5204 xor edx,ecx | |
5205 mov edi,DWORD [4+esp] | |
5206 xor esi,edi | |
5207 shrd edx,edx,5 | |
5208 and esi,ecx | |
5209 mov DWORD [28+esp],ecx | |
5210 xor edx,ecx | |
5211 xor edi,esi | |
5212 shrd edx,edx,6 | |
5213 mov ecx,ebx | |
5214 add edx,edi | |
5215 mov edi,DWORD [16+esp] | |
5216 mov esi,ebx | |
5217 shrd ecx,ecx,9 | |
5218 mov DWORD [12+esp],ebx | |
5219 xor ecx,ebx | |
5220 xor ebx,edi | |
5221 add edx,DWORD [8+esp] | |
5222 shrd ecx,ecx,11 | |
5223 and eax,ebx | |
5224 xor ecx,esi | |
5225 add edx,DWORD [52+esp] | |
5226 xor eax,edi | |
5227 shrd ecx,ecx,2 | |
5228 add eax,edx | |
5229 add edx,DWORD [24+esp] | |
5230 add eax,ecx | |
5231 mov ecx,edx | |
5232 shrd edx,edx,14 | |
5233 mov esi,DWORD [28+esp] | |
5234 xor edx,ecx | |
5235 mov edi,DWORD [esp] | |
5236 xor esi,edi | |
5237 shrd edx,edx,5 | |
5238 and esi,ecx | |
5239 mov DWORD [24+esp],ecx | |
5240 xor edx,ecx | |
5241 xor edi,esi | |
5242 shrd edx,edx,6 | |
5243 mov ecx,eax | |
5244 add edx,edi | |
5245 mov edi,DWORD [12+esp] | |
5246 mov esi,eax | |
5247 shrd ecx,ecx,9 | |
5248 mov DWORD [8+esp],eax | |
5249 xor ecx,eax | |
5250 xor eax,edi | |
5251 add edx,DWORD [4+esp] | |
5252 shrd ecx,ecx,11 | |
5253 and ebx,eax | |
5254 xor ecx,esi | |
5255 add edx,DWORD [56+esp] | |
5256 xor ebx,edi | |
5257 shrd ecx,ecx,2 | |
5258 add ebx,edx | |
5259 add edx,DWORD [20+esp] | |
5260 add ebx,ecx | |
5261 mov ecx,edx | |
5262 shrd edx,edx,14 | |
5263 mov esi,DWORD [24+esp] | |
5264 xor edx,ecx | |
5265 mov edi,DWORD [28+esp] | |
5266 xor esi,edi | |
5267 shrd edx,edx,5 | |
5268 and esi,ecx | |
5269 mov DWORD [20+esp],ecx | |
5270 xor edx,ecx | |
5271 xor edi,esi | |
5272 shrd edx,edx,6 | |
5273 mov ecx,ebx | |
5274 add edx,edi | |
5275 mov edi,DWORD [8+esp] | |
5276 mov esi,ebx | |
5277 shrd ecx,ecx,9 | |
5278 mov DWORD [4+esp],ebx | |
5279 xor ecx,ebx | |
5280 xor ebx,edi | |
5281 add edx,DWORD [esp] | |
5282 shrd ecx,ecx,11 | |
5283 and eax,ebx | |
5284 xor ecx,esi | |
5285 add edx,DWORD [60+esp] | |
5286 xor eax,edi | |
5287 shrd ecx,ecx,2 | |
5288 add eax,edx | |
5289 add edx,DWORD [16+esp] | |
5290 add eax,ecx | |
5291 mov ecx,edx | |
5292 shrd edx,edx,14 | |
5293 mov esi,DWORD [20+esp] | |
5294 xor edx,ecx | |
5295 mov edi,DWORD [24+esp] | |
5296 xor esi,edi | |
5297 shrd edx,edx,5 | |
5298 and esi,ecx | |
5299 mov DWORD [16+esp],ecx | |
5300 xor edx,ecx | |
5301 xor edi,esi | |
5302 shrd edx,edx,6 | |
5303 mov ecx,eax | |
5304 add edx,edi | |
5305 mov edi,DWORD [4+esp] | |
5306 mov esi,eax | |
5307 shrd ecx,ecx,9 | |
5308 mov DWORD [esp],eax | |
5309 xor ecx,eax | |
5310 xor eax,edi | |
5311 add edx,DWORD [28+esp] | |
5312 shrd ecx,ecx,11 | |
5313 and ebx,eax | |
5314 xor ecx,esi | |
5315 add edx,DWORD [64+esp] | |
5316 xor ebx,edi | |
5317 shrd ecx,ecx,2 | |
5318 add ebx,edx | |
5319 add edx,DWORD [12+esp] | |
5320 add ebx,ecx | |
5321 mov ecx,edx | |
5322 shrd edx,edx,14 | |
5323 mov esi,DWORD [16+esp] | |
5324 xor edx,ecx | |
5325 mov edi,DWORD [20+esp] | |
5326 xor esi,edi | |
5327 shrd edx,edx,5 | |
5328 and esi,ecx | |
5329 mov DWORD [12+esp],ecx | |
5330 xor edx,ecx | |
5331 xor edi,esi | |
5332 shrd edx,edx,6 | |
5333 mov ecx,ebx | |
5334 add edx,edi | |
5335 mov edi,DWORD [esp] | |
5336 mov esi,ebx | |
5337 shrd ecx,ecx,9 | |
5338 mov DWORD [28+esp],ebx | |
5339 xor ecx,ebx | |
5340 xor ebx,edi | |
5341 add edx,DWORD [24+esp] | |
5342 shrd ecx,ecx,11 | |
5343 and eax,ebx | |
5344 xor ecx,esi | |
5345 add edx,DWORD [68+esp] | |
5346 xor eax,edi | |
5347 shrd ecx,ecx,2 | |
5348 add eax,edx | |
5349 add edx,DWORD [8+esp] | |
5350 add eax,ecx | |
5351 mov ecx,edx | |
5352 shrd edx,edx,14 | |
5353 mov esi,DWORD [12+esp] | |
5354 xor edx,ecx | |
5355 mov edi,DWORD [16+esp] | |
5356 xor esi,edi | |
5357 shrd edx,edx,5 | |
5358 and esi,ecx | |
5359 mov DWORD [8+esp],ecx | |
5360 xor edx,ecx | |
5361 xor edi,esi | |
5362 shrd edx,edx,6 | |
5363 mov ecx,eax | |
5364 add edx,edi | |
5365 mov edi,DWORD [28+esp] | |
5366 mov esi,eax | |
5367 shrd ecx,ecx,9 | |
5368 mov DWORD [24+esp],eax | |
5369 xor ecx,eax | |
5370 xor eax,edi | |
5371 add edx,DWORD [20+esp] | |
5372 shrd ecx,ecx,11 | |
5373 and ebx,eax | |
5374 xor ecx,esi | |
5375 add edx,DWORD [72+esp] | |
5376 xor ebx,edi | |
5377 shrd ecx,ecx,2 | |
5378 add ebx,edx | |
5379 add edx,DWORD [4+esp] | |
5380 add ebx,ecx | |
5381 mov ecx,edx | |
5382 shrd edx,edx,14 | |
5383 mov esi,DWORD [8+esp] | |
5384 xor edx,ecx | |
5385 mov edi,DWORD [12+esp] | |
5386 xor esi,edi | |
5387 shrd edx,edx,5 | |
5388 and esi,ecx | |
5389 mov DWORD [4+esp],ecx | |
5390 xor edx,ecx | |
5391 xor edi,esi | |
5392 shrd edx,edx,6 | |
5393 mov ecx,ebx | |
5394 add edx,edi | |
5395 mov edi,DWORD [24+esp] | |
5396 mov esi,ebx | |
5397 shrd ecx,ecx,9 | |
5398 mov DWORD [20+esp],ebx | |
5399 xor ecx,ebx | |
5400 xor ebx,edi | |
5401 add edx,DWORD [16+esp] | |
5402 shrd ecx,ecx,11 | |
5403 and eax,ebx | |
5404 xor ecx,esi | |
5405 add edx,DWORD [76+esp] | |
5406 xor eax,edi | |
5407 shrd ecx,ecx,2 | |
5408 add eax,edx | |
5409 add edx,DWORD [esp] | |
5410 add eax,ecx | |
5411 mov ecx,edx | |
5412 shrd edx,edx,14 | |
5413 mov esi,DWORD [4+esp] | |
5414 xor edx,ecx | |
5415 mov edi,DWORD [8+esp] | |
5416 xor esi,edi | |
5417 shrd edx,edx,5 | |
5418 and esi,ecx | |
5419 mov DWORD [esp],ecx | |
5420 xor edx,ecx | |
5421 xor edi,esi | |
5422 shrd edx,edx,6 | |
5423 mov ecx,eax | |
5424 add edx,edi | |
5425 mov edi,DWORD [20+esp] | |
5426 mov esi,eax | |
5427 shrd ecx,ecx,9 | |
5428 mov DWORD [16+esp],eax | |
5429 xor ecx,eax | |
5430 xor eax,edi | |
5431 add edx,DWORD [12+esp] | |
5432 shrd ecx,ecx,11 | |
5433 and ebx,eax | |
5434 xor ecx,esi | |
5435 add edx,DWORD [80+esp] | |
5436 xor ebx,edi | |
5437 shrd ecx,ecx,2 | |
5438 add ebx,edx | |
5439 add edx,DWORD [28+esp] | |
5440 add ebx,ecx | |
5441 mov ecx,edx | |
5442 shrd edx,edx,14 | |
5443 mov esi,DWORD [esp] | |
5444 xor edx,ecx | |
5445 mov edi,DWORD [4+esp] | |
5446 xor esi,edi | |
5447 shrd edx,edx,5 | |
5448 and esi,ecx | |
5449 mov DWORD [28+esp],ecx | |
5450 xor edx,ecx | |
5451 xor edi,esi | |
5452 shrd edx,edx,6 | |
5453 mov ecx,ebx | |
5454 add edx,edi | |
5455 mov edi,DWORD [16+esp] | |
5456 mov esi,ebx | |
5457 shrd ecx,ecx,9 | |
5458 mov DWORD [12+esp],ebx | |
5459 xor ecx,ebx | |
5460 xor ebx,edi | |
5461 add edx,DWORD [8+esp] | |
5462 shrd ecx,ecx,11 | |
5463 and eax,ebx | |
5464 xor ecx,esi | |
5465 add edx,DWORD [84+esp] | |
5466 xor eax,edi | |
5467 shrd ecx,ecx,2 | |
5468 add eax,edx | |
5469 add edx,DWORD [24+esp] | |
5470 add eax,ecx | |
5471 mov ecx,edx | |
5472 shrd edx,edx,14 | |
5473 mov esi,DWORD [28+esp] | |
5474 xor edx,ecx | |
5475 mov edi,DWORD [esp] | |
5476 xor esi,edi | |
5477 shrd edx,edx,5 | |
5478 and esi,ecx | |
5479 mov DWORD [24+esp],ecx | |
5480 xor edx,ecx | |
5481 xor edi,esi | |
5482 shrd edx,edx,6 | |
5483 mov ecx,eax | |
5484 add edx,edi | |
5485 mov edi,DWORD [12+esp] | |
5486 mov esi,eax | |
5487 shrd ecx,ecx,9 | |
5488 mov DWORD [8+esp],eax | |
5489 xor ecx,eax | |
5490 xor eax,edi | |
5491 add edx,DWORD [4+esp] | |
5492 shrd ecx,ecx,11 | |
5493 and ebx,eax | |
5494 xor ecx,esi | |
5495 add edx,DWORD [88+esp] | |
5496 xor ebx,edi | |
5497 shrd ecx,ecx,2 | |
5498 add ebx,edx | |
5499 add edx,DWORD [20+esp] | |
5500 add ebx,ecx | |
5501 mov ecx,edx | |
5502 shrd edx,edx,14 | |
5503 mov esi,DWORD [24+esp] | |
5504 xor edx,ecx | |
5505 mov edi,DWORD [28+esp] | |
5506 xor esi,edi | |
5507 shrd edx,edx,5 | |
5508 and esi,ecx | |
5509 mov DWORD [20+esp],ecx | |
5510 xor edx,ecx | |
5511 xor edi,esi | |
5512 shrd edx,edx,6 | |
5513 mov ecx,ebx | |
5514 add edx,edi | |
5515 mov edi,DWORD [8+esp] | |
5516 mov esi,ebx | |
5517 shrd ecx,ecx,9 | |
5518 mov DWORD [4+esp],ebx | |
5519 xor ecx,ebx | |
5520 xor ebx,edi | |
5521 add edx,DWORD [esp] | |
5522 shrd ecx,ecx,11 | |
5523 and eax,ebx | |
5524 xor ecx,esi | |
5525 add edx,DWORD [92+esp] | |
5526 xor eax,edi | |
5527 shrd ecx,ecx,2 | |
5528 add eax,edx | |
5529 add edx,DWORD [16+esp] | |
5530 add eax,ecx | |
5531 mov esi,DWORD [96+esp] | |
5532 xor ebx,edi | |
5533 mov ecx,DWORD [12+esp] | |
5534 add eax,DWORD [esi] | |
5535 add ebx,DWORD [4+esi] | |
5536 add edi,DWORD [8+esi] | |
5537 add ecx,DWORD [12+esi] | |
5538 mov DWORD [esi],eax | |
5539 mov DWORD [4+esi],ebx | |
5540 mov DWORD [8+esi],edi | |
5541 mov DWORD [12+esi],ecx | |
5542 mov DWORD [4+esp],ebx | |
5543 xor ebx,edi | |
5544 mov DWORD [8+esp],edi | |
5545 mov DWORD [12+esp],ecx | |
5546 mov edi,DWORD [20+esp] | |
5547 mov ecx,DWORD [24+esp] | |
5548 add edx,DWORD [16+esi] | |
5549 add edi,DWORD [20+esi] | |
5550 add ecx,DWORD [24+esi] | |
5551 mov DWORD [16+esi],edx | |
5552 mov DWORD [20+esi],edi | |
5553 mov DWORD [20+esp],edi | |
5554 mov edi,DWORD [28+esp] | |
5555 mov DWORD [24+esi],ecx | |
5556 add edi,DWORD [28+esi] | |
5557 mov DWORD [24+esp],ecx | |
5558 mov DWORD [28+esi],edi | |
5559 mov DWORD [28+esp],edi | |
5560 mov edi,DWORD [100+esp] | |
5561 vmovdqa xmm7,[64+ebp] | |
5562 sub ebp,192 | |
5563 cmp edi,DWORD [104+esp] | |
5564 jb NEAR L$012grand_avx | |
5565 mov esp,DWORD [108+esp] | |
5566 vzeroall | |
5567 pop edi | |
5568 pop esi | |
5569 pop ebx | |
5570 pop ebp | 4588 pop ebp |
5571 ret | 4589 ret |
5572 segment .bss | 4590 segment .bss |
5573 common _OPENSSL_ia32cap_P 16 | 4591 common _OPENSSL_ia32cap_P 16 |
OLD | NEW |