1 %ifidn __OUTPUT_FORMAT__
,obj
2 section code use32 class
=code
align=64
3 %elifidn __OUTPUT_FORMAT__
,win32
4 %ifdef __YASM_VERSION_ID__
5 %if __YASM_VERSION_ID__
< 01010000h
6 %error yasm version
1.1.0 or later needed.
8 ; Yasm automatically includes .00 and complains about redefining it.
9 ; https://www.tortall.net/projects/yasm/manual/html/objfmt-win32-safeseh.html
13 section .text code
align=64
17 global _md5_block_asm_data_order
19 _md5_block_asm_data_order:
20 L$
_md5_block_asm_data_order_begin:
23 mov edi,DWORD [12+esp]
24 mov esi,DWORD [16+esp]
25 mov ecx,DWORD [20+esp]
35 mov edx,DWORD [12+edi]
44 lea eax,[3614090360+ebp*1+eax]
54 lea edx,[3905402710+ebp*1+edx]
64 lea ecx,[606105819+ebp*1+ecx]
69 mov ebp,DWORD [12+esi]
74 lea ebx,[3250441966+ebp*1+ebx]
79 mov ebp,DWORD [16+esi]
84 lea eax,[4118548399+ebp*1+eax]
89 mov ebp,DWORD [20+esi]
94 lea edx,[1200080426+ebp*1+edx]
99 mov ebp,DWORD [24+esi]
104 lea ecx,[2821735955+ebp*1+ecx]
109 mov ebp,DWORD [28+esi]
114 lea ebx,[4249261313+ebp*1+ebx]
119 mov ebp,DWORD [32+esi]
124 lea eax,[1770035416+ebp*1+eax]
129 mov ebp,DWORD [36+esi]
134 lea edx,[2336552879+ebp*1+edx]
139 mov ebp,DWORD [40+esi]
144 lea ecx,[4294925233+ebp*1+ecx]
149 mov ebp,DWORD [44+esi]
154 lea ebx,[2304563134+ebp*1+ebx]
159 mov ebp,DWORD [48+esi]
164 lea eax,[1804603682+ebp*1+eax]
169 mov ebp,DWORD [52+esi]
174 lea edx,[4254626195+ebp*1+edx]
179 mov ebp,DWORD [56+esi]
184 lea ecx,[2792965006+ebp*1+ecx]
189 mov ebp,DWORD [60+esi]
194 lea ebx,[1236535329+ebp*1+ebx]
199 mov ebp,DWORD [4+esi]
204 lea eax,[4129170786+ebp*1+eax]
207 mov ebp,DWORD [24+esi]
214 lea edx,[3225465664+ebp*1+edx]
217 mov ebp,DWORD [44+esi]
224 lea ecx,[643717713+ebp*1+ecx]
234 lea ebx,[3921069994+ebp*1+ebx]
237 mov ebp,DWORD [20+esi]
244 lea eax,[3593408605+ebp*1+eax]
247 mov ebp,DWORD [40+esi]
254 lea edx,[38016083+ebp*1+edx]
257 mov ebp,DWORD [60+esi]
264 lea ecx,[3634488961+ebp*1+ecx]
267 mov ebp,DWORD [16+esi]
274 lea ebx,[3889429448+ebp*1+ebx]
277 mov ebp,DWORD [36+esi]
284 lea eax,[568446438+ebp*1+eax]
287 mov ebp,DWORD [56+esi]
294 lea edx,[3275163606+ebp*1+edx]
297 mov ebp,DWORD [12+esi]
304 lea ecx,[4107603335+ebp*1+ecx]
307 mov ebp,DWORD [32+esi]
314 lea ebx,[1163531501+ebp*1+ebx]
317 mov ebp,DWORD [52+esi]
324 lea eax,[2850285829+ebp*1+eax]
327 mov ebp,DWORD [8+esi]
334 lea edx,[4243563512+ebp*1+edx]
337 mov ebp,DWORD [28+esi]
344 lea ecx,[1735328473+ebp*1+ecx]
347 mov ebp,DWORD [48+esi]
354 lea ebx,[2368359562+ebp*1+ebx]
357 mov ebp,DWORD [20+esi]
368 lea eax,[4294588738+ebp*1+eax]
371 mov ebp,DWORD [32+esi]
374 lea edx,[2272392833+ebp*1+edx]
378 mov ebp,DWORD [44+esi]
386 lea ecx,[1839030562+ebp*1+ecx]
389 mov ebp,DWORD [56+esi]
392 lea ebx,[4259657740+ebp*1+ebx]
396 mov ebp,DWORD [4+esi]
404 lea eax,[2763975236+ebp*1+eax]
407 mov ebp,DWORD [16+esi]
410 lea edx,[1272893353+ebp*1+edx]
414 mov ebp,DWORD [28+esi]
422 lea ecx,[4139469664+ebp*1+ecx]
425 mov ebp,DWORD [40+esi]
428 lea ebx,[3200236656+ebp*1+ebx]
432 mov ebp,DWORD [52+esi]
440 lea eax,[681279174+ebp*1+eax]
446 lea edx,[3936430074+ebp*1+edx]
450 mov ebp,DWORD [12+esi]
458 lea ecx,[3572445317+ebp*1+ecx]
461 mov ebp,DWORD [24+esi]
464 lea ebx,[76029189+ebp*1+ebx]
468 mov ebp,DWORD [36+esi]
476 lea eax,[3654602809+ebp*1+eax]
479 mov ebp,DWORD [48+esi]
482 lea edx,[3873151461+ebp*1+edx]
486 mov ebp,DWORD [60+esi]
494 lea ecx,[530742520+ebp*1+ecx]
497 mov ebp,DWORD [8+esi]
500 lea ebx,[3299628645+ebp*1+ebx]
514 lea eax,[4096336452+ebp*1+eax]
516 mov ebp,DWORD [28+esi]
524 lea edx,[1126891415+ebp*1+edx]
526 mov ebp,DWORD [56+esi]
534 lea ecx,[2878612391+ebp*1+ecx]
536 mov ebp,DWORD [20+esi]
544 lea ebx,[4237533241+ebp*1+ebx]
546 mov ebp,DWORD [48+esi]
554 lea eax,[1700485571+ebp*1+eax]
556 mov ebp,DWORD [12+esi]
564 lea edx,[2399980690+ebp*1+edx]
566 mov ebp,DWORD [40+esi]
574 lea ecx,[4293915773+ebp*1+ecx]
576 mov ebp,DWORD [4+esi]
584 lea ebx,[2240044497+ebp*1+ebx]
586 mov ebp,DWORD [32+esi]
594 lea eax,[1873313359+ebp*1+eax]
596 mov ebp,DWORD [60+esi]
604 lea edx,[4264355552+ebp*1+edx]
606 mov ebp,DWORD [24+esi]
614 lea ecx,[2734768916+ebp*1+ecx]
616 mov ebp,DWORD [52+esi]
624 lea ebx,[1309151649+ebp*1+ebx]
626 mov ebp,DWORD [16+esi]
634 lea eax,[4149444226+ebp*1+eax]
636 mov ebp,DWORD [44+esi]
644 lea edx,[3174756917+ebp*1+edx]
646 mov ebp,DWORD [8+esi]
654 lea ecx,[718787259+ebp*1+ecx]
656 mov ebp,DWORD [36+esi]
664 lea ebx,[3951481745+ebp*1+ebx]
666 mov ebp,DWORD [24+esp]
673 mov edi,DWORD [4+ebp]
675 mov edi,DWORD [8+ebp]
677 mov edi,DWORD [12+ebp]
680 mov DWORD [4+ebp],ebx
682 mov DWORD [8+ebp],ecx
683 mov DWORD [12+ebp],edx