123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689 |
- ; This file is generated from a similarly-named Perl script in the BoringSSL
- ; source tree. Do not edit by hand.
- %ifdef BORINGSSL_PREFIX
- %include "boringssl_prefix_symbols_nasm.inc"
- %endif
- %ifidn __OUTPUT_FORMAT__,obj
- section code use32 class=code align=64
- %elifidn __OUTPUT_FORMAT__,win32
- $@feat.00 equ 1
- section .text code align=64
- %else
- section .text code
- %endif
- global _md5_block_asm_data_order
- align 16
- _md5_block_asm_data_order:
- L$_md5_block_asm_data_order_begin:
- push esi
- push edi
- mov edi,DWORD [12+esp]
- mov esi,DWORD [16+esp]
- mov ecx,DWORD [20+esp]
- push ebp
- shl ecx,6
- push ebx
- add ecx,esi
- sub ecx,64
- mov eax,DWORD [edi]
- push ecx
- mov ebx,DWORD [4+edi]
- mov ecx,DWORD [8+edi]
- mov edx,DWORD [12+edi]
- L$000start:
- ;
- ; R0 section
- mov edi,ecx
- mov ebp,DWORD [esi]
- ; R0 0
- xor edi,edx
- and edi,ebx
- lea eax,[3614090360+ebp*1+eax]
- xor edi,edx
- add eax,edi
- mov edi,ebx
- rol eax,7
- mov ebp,DWORD [4+esi]
- add eax,ebx
- ; R0 1
- xor edi,ecx
- and edi,eax
- lea edx,[3905402710+ebp*1+edx]
- xor edi,ecx
- add edx,edi
- mov edi,eax
- rol edx,12
- mov ebp,DWORD [8+esi]
- add edx,eax
- ; R0 2
- xor edi,ebx
- and edi,edx
- lea ecx,[606105819+ebp*1+ecx]
- xor edi,ebx
- add ecx,edi
- mov edi,edx
- rol ecx,17
- mov ebp,DWORD [12+esi]
- add ecx,edx
- ; R0 3
- xor edi,eax
- and edi,ecx
- lea ebx,[3250441966+ebp*1+ebx]
- xor edi,eax
- add ebx,edi
- mov edi,ecx
- rol ebx,22
- mov ebp,DWORD [16+esi]
- add ebx,ecx
- ; R0 4
- xor edi,edx
- and edi,ebx
- lea eax,[4118548399+ebp*1+eax]
- xor edi,edx
- add eax,edi
- mov edi,ebx
- rol eax,7
- mov ebp,DWORD [20+esi]
- add eax,ebx
- ; R0 5
- xor edi,ecx
- and edi,eax
- lea edx,[1200080426+ebp*1+edx]
- xor edi,ecx
- add edx,edi
- mov edi,eax
- rol edx,12
- mov ebp,DWORD [24+esi]
- add edx,eax
- ; R0 6
- xor edi,ebx
- and edi,edx
- lea ecx,[2821735955+ebp*1+ecx]
- xor edi,ebx
- add ecx,edi
- mov edi,edx
- rol ecx,17
- mov ebp,DWORD [28+esi]
- add ecx,edx
- ; R0 7
- xor edi,eax
- and edi,ecx
- lea ebx,[4249261313+ebp*1+ebx]
- xor edi,eax
- add ebx,edi
- mov edi,ecx
- rol ebx,22
- mov ebp,DWORD [32+esi]
- add ebx,ecx
- ; R0 8
- xor edi,edx
- and edi,ebx
- lea eax,[1770035416+ebp*1+eax]
- xor edi,edx
- add eax,edi
- mov edi,ebx
- rol eax,7
- mov ebp,DWORD [36+esi]
- add eax,ebx
- ; R0 9
- xor edi,ecx
- and edi,eax
- lea edx,[2336552879+ebp*1+edx]
- xor edi,ecx
- add edx,edi
- mov edi,eax
- rol edx,12
- mov ebp,DWORD [40+esi]
- add edx,eax
- ; R0 10
- xor edi,ebx
- and edi,edx
- lea ecx,[4294925233+ebp*1+ecx]
- xor edi,ebx
- add ecx,edi
- mov edi,edx
- rol ecx,17
- mov ebp,DWORD [44+esi]
- add ecx,edx
- ; R0 11
- xor edi,eax
- and edi,ecx
- lea ebx,[2304563134+ebp*1+ebx]
- xor edi,eax
- add ebx,edi
- mov edi,ecx
- rol ebx,22
- mov ebp,DWORD [48+esi]
- add ebx,ecx
- ; R0 12
- xor edi,edx
- and edi,ebx
- lea eax,[1804603682+ebp*1+eax]
- xor edi,edx
- add eax,edi
- mov edi,ebx
- rol eax,7
- mov ebp,DWORD [52+esi]
- add eax,ebx
- ; R0 13
- xor edi,ecx
- and edi,eax
- lea edx,[4254626195+ebp*1+edx]
- xor edi,ecx
- add edx,edi
- mov edi,eax
- rol edx,12
- mov ebp,DWORD [56+esi]
- add edx,eax
- ; R0 14
- xor edi,ebx
- and edi,edx
- lea ecx,[2792965006+ebp*1+ecx]
- xor edi,ebx
- add ecx,edi
- mov edi,edx
- rol ecx,17
- mov ebp,DWORD [60+esi]
- add ecx,edx
- ; R0 15
- xor edi,eax
- and edi,ecx
- lea ebx,[1236535329+ebp*1+ebx]
- xor edi,eax
- add ebx,edi
- mov edi,ecx
- rol ebx,22
- mov ebp,DWORD [4+esi]
- add ebx,ecx
- ;
- ; R1 section
- ; R1 16
- lea eax,[4129170786+ebp*1+eax]
- xor edi,ebx
- and edi,edx
- mov ebp,DWORD [24+esi]
- xor edi,ecx
- add eax,edi
- mov edi,ebx
- rol eax,5
- add eax,ebx
- ; R1 17
- lea edx,[3225465664+ebp*1+edx]
- xor edi,eax
- and edi,ecx
- mov ebp,DWORD [44+esi]
- xor edi,ebx
- add edx,edi
- mov edi,eax
- rol edx,9
- add edx,eax
- ; R1 18
- lea ecx,[643717713+ebp*1+ecx]
- xor edi,edx
- and edi,ebx
- mov ebp,DWORD [esi]
- xor edi,eax
- add ecx,edi
- mov edi,edx
- rol ecx,14
- add ecx,edx
- ; R1 19
- lea ebx,[3921069994+ebp*1+ebx]
- xor edi,ecx
- and edi,eax
- mov ebp,DWORD [20+esi]
- xor edi,edx
- add ebx,edi
- mov edi,ecx
- rol ebx,20
- add ebx,ecx
- ; R1 20
- lea eax,[3593408605+ebp*1+eax]
- xor edi,ebx
- and edi,edx
- mov ebp,DWORD [40+esi]
- xor edi,ecx
- add eax,edi
- mov edi,ebx
- rol eax,5
- add eax,ebx
- ; R1 21
- lea edx,[38016083+ebp*1+edx]
- xor edi,eax
- and edi,ecx
- mov ebp,DWORD [60+esi]
- xor edi,ebx
- add edx,edi
- mov edi,eax
- rol edx,9
- add edx,eax
- ; R1 22
- lea ecx,[3634488961+ebp*1+ecx]
- xor edi,edx
- and edi,ebx
- mov ebp,DWORD [16+esi]
- xor edi,eax
- add ecx,edi
- mov edi,edx
- rol ecx,14
- add ecx,edx
- ; R1 23
- lea ebx,[3889429448+ebp*1+ebx]
- xor edi,ecx
- and edi,eax
- mov ebp,DWORD [36+esi]
- xor edi,edx
- add ebx,edi
- mov edi,ecx
- rol ebx,20
- add ebx,ecx
- ; R1 24
- lea eax,[568446438+ebp*1+eax]
- xor edi,ebx
- and edi,edx
- mov ebp,DWORD [56+esi]
- xor edi,ecx
- add eax,edi
- mov edi,ebx
- rol eax,5
- add eax,ebx
- ; R1 25
- lea edx,[3275163606+ebp*1+edx]
- xor edi,eax
- and edi,ecx
- mov ebp,DWORD [12+esi]
- xor edi,ebx
- add edx,edi
- mov edi,eax
- rol edx,9
- add edx,eax
- ; R1 26
- lea ecx,[4107603335+ebp*1+ecx]
- xor edi,edx
- and edi,ebx
- mov ebp,DWORD [32+esi]
- xor edi,eax
- add ecx,edi
- mov edi,edx
- rol ecx,14
- add ecx,edx
- ; R1 27
- lea ebx,[1163531501+ebp*1+ebx]
- xor edi,ecx
- and edi,eax
- mov ebp,DWORD [52+esi]
- xor edi,edx
- add ebx,edi
- mov edi,ecx
- rol ebx,20
- add ebx,ecx
- ; R1 28
- lea eax,[2850285829+ebp*1+eax]
- xor edi,ebx
- and edi,edx
- mov ebp,DWORD [8+esi]
- xor edi,ecx
- add eax,edi
- mov edi,ebx
- rol eax,5
- add eax,ebx
- ; R1 29
- lea edx,[4243563512+ebp*1+edx]
- xor edi,eax
- and edi,ecx
- mov ebp,DWORD [28+esi]
- xor edi,ebx
- add edx,edi
- mov edi,eax
- rol edx,9
- add edx,eax
- ; R1 30
- lea ecx,[1735328473+ebp*1+ecx]
- xor edi,edx
- and edi,ebx
- mov ebp,DWORD [48+esi]
- xor edi,eax
- add ecx,edi
- mov edi,edx
- rol ecx,14
- add ecx,edx
- ; R1 31
- lea ebx,[2368359562+ebp*1+ebx]
- xor edi,ecx
- and edi,eax
- mov ebp,DWORD [20+esi]
- xor edi,edx
- add ebx,edi
- mov edi,ecx
- rol ebx,20
- add ebx,ecx
- ;
- ; R2 section
- ; R2 32
- xor edi,edx
- xor edi,ebx
- lea eax,[4294588738+ebp*1+eax]
- add eax,edi
- rol eax,4
- mov ebp,DWORD [32+esi]
- mov edi,ebx
- ; R2 33
- lea edx,[2272392833+ebp*1+edx]
- add eax,ebx
- xor edi,ecx
- xor edi,eax
- mov ebp,DWORD [44+esi]
- add edx,edi
- mov edi,eax
- rol edx,11
- add edx,eax
- ; R2 34
- xor edi,ebx
- xor edi,edx
- lea ecx,[1839030562+ebp*1+ecx]
- add ecx,edi
- rol ecx,16
- mov ebp,DWORD [56+esi]
- mov edi,edx
- ; R2 35
- lea ebx,[4259657740+ebp*1+ebx]
- add ecx,edx
- xor edi,eax
- xor edi,ecx
- mov ebp,DWORD [4+esi]
- add ebx,edi
- mov edi,ecx
- rol ebx,23
- add ebx,ecx
- ; R2 36
- xor edi,edx
- xor edi,ebx
- lea eax,[2763975236+ebp*1+eax]
- add eax,edi
- rol eax,4
- mov ebp,DWORD [16+esi]
- mov edi,ebx
- ; R2 37
- lea edx,[1272893353+ebp*1+edx]
- add eax,ebx
- xor edi,ecx
- xor edi,eax
- mov ebp,DWORD [28+esi]
- add edx,edi
- mov edi,eax
- rol edx,11
- add edx,eax
- ; R2 38
- xor edi,ebx
- xor edi,edx
- lea ecx,[4139469664+ebp*1+ecx]
- add ecx,edi
- rol ecx,16
- mov ebp,DWORD [40+esi]
- mov edi,edx
- ; R2 39
- lea ebx,[3200236656+ebp*1+ebx]
- add ecx,edx
- xor edi,eax
- xor edi,ecx
- mov ebp,DWORD [52+esi]
- add ebx,edi
- mov edi,ecx
- rol ebx,23
- add ebx,ecx
- ; R2 40
- xor edi,edx
- xor edi,ebx
- lea eax,[681279174+ebp*1+eax]
- add eax,edi
- rol eax,4
- mov ebp,DWORD [esi]
- mov edi,ebx
- ; R2 41
- lea edx,[3936430074+ebp*1+edx]
- add eax,ebx
- xor edi,ecx
- xor edi,eax
- mov ebp,DWORD [12+esi]
- add edx,edi
- mov edi,eax
- rol edx,11
- add edx,eax
- ; R2 42
- xor edi,ebx
- xor edi,edx
- lea ecx,[3572445317+ebp*1+ecx]
- add ecx,edi
- rol ecx,16
- mov ebp,DWORD [24+esi]
- mov edi,edx
- ; R2 43
- lea ebx,[76029189+ebp*1+ebx]
- add ecx,edx
- xor edi,eax
- xor edi,ecx
- mov ebp,DWORD [36+esi]
- add ebx,edi
- mov edi,ecx
- rol ebx,23
- add ebx,ecx
- ; R2 44
- xor edi,edx
- xor edi,ebx
- lea eax,[3654602809+ebp*1+eax]
- add eax,edi
- rol eax,4
- mov ebp,DWORD [48+esi]
- mov edi,ebx
- ; R2 45
- lea edx,[3873151461+ebp*1+edx]
- add eax,ebx
- xor edi,ecx
- xor edi,eax
- mov ebp,DWORD [60+esi]
- add edx,edi
- mov edi,eax
- rol edx,11
- add edx,eax
- ; R2 46
- xor edi,ebx
- xor edi,edx
- lea ecx,[530742520+ebp*1+ecx]
- add ecx,edi
- rol ecx,16
- mov ebp,DWORD [8+esi]
- mov edi,edx
- ; R2 47
- lea ebx,[3299628645+ebp*1+ebx]
- add ecx,edx
- xor edi,eax
- xor edi,ecx
- mov ebp,DWORD [esi]
- add ebx,edi
- mov edi,-1
- rol ebx,23
- add ebx,ecx
- ;
- ; R3 section
- ; R3 48
- xor edi,edx
- or edi,ebx
- lea eax,[4096336452+ebp*1+eax]
- xor edi,ecx
- mov ebp,DWORD [28+esi]
- add eax,edi
- mov edi,-1
- rol eax,6
- xor edi,ecx
- add eax,ebx
- ; R3 49
- or edi,eax
- lea edx,[1126891415+ebp*1+edx]
- xor edi,ebx
- mov ebp,DWORD [56+esi]
- add edx,edi
- mov edi,-1
- rol edx,10
- xor edi,ebx
- add edx,eax
- ; R3 50
- or edi,edx
- lea ecx,[2878612391+ebp*1+ecx]
- xor edi,eax
- mov ebp,DWORD [20+esi]
- add ecx,edi
- mov edi,-1
- rol ecx,15
- xor edi,eax
- add ecx,edx
- ; R3 51
- or edi,ecx
- lea ebx,[4237533241+ebp*1+ebx]
- xor edi,edx
- mov ebp,DWORD [48+esi]
- add ebx,edi
- mov edi,-1
- rol ebx,21
- xor edi,edx
- add ebx,ecx
- ; R3 52
- or edi,ebx
- lea eax,[1700485571+ebp*1+eax]
- xor edi,ecx
- mov ebp,DWORD [12+esi]
- add eax,edi
- mov edi,-1
- rol eax,6
- xor edi,ecx
- add eax,ebx
- ; R3 53
- or edi,eax
- lea edx,[2399980690+ebp*1+edx]
- xor edi,ebx
- mov ebp,DWORD [40+esi]
- add edx,edi
- mov edi,-1
- rol edx,10
- xor edi,ebx
- add edx,eax
- ; R3 54
- or edi,edx
- lea ecx,[4293915773+ebp*1+ecx]
- xor edi,eax
- mov ebp,DWORD [4+esi]
- add ecx,edi
- mov edi,-1
- rol ecx,15
- xor edi,eax
- add ecx,edx
- ; R3 55
- or edi,ecx
- lea ebx,[2240044497+ebp*1+ebx]
- xor edi,edx
- mov ebp,DWORD [32+esi]
- add ebx,edi
- mov edi,-1
- rol ebx,21
- xor edi,edx
- add ebx,ecx
- ; R3 56
- or edi,ebx
- lea eax,[1873313359+ebp*1+eax]
- xor edi,ecx
- mov ebp,DWORD [60+esi]
- add eax,edi
- mov edi,-1
- rol eax,6
- xor edi,ecx
- add eax,ebx
- ; R3 57
- or edi,eax
- lea edx,[4264355552+ebp*1+edx]
- xor edi,ebx
- mov ebp,DWORD [24+esi]
- add edx,edi
- mov edi,-1
- rol edx,10
- xor edi,ebx
- add edx,eax
- ; R3 58
- or edi,edx
- lea ecx,[2734768916+ebp*1+ecx]
- xor edi,eax
- mov ebp,DWORD [52+esi]
- add ecx,edi
- mov edi,-1
- rol ecx,15
- xor edi,eax
- add ecx,edx
- ; R3 59
- or edi,ecx
- lea ebx,[1309151649+ebp*1+ebx]
- xor edi,edx
- mov ebp,DWORD [16+esi]
- add ebx,edi
- mov edi,-1
- rol ebx,21
- xor edi,edx
- add ebx,ecx
- ; R3 60
- or edi,ebx
- lea eax,[4149444226+ebp*1+eax]
- xor edi,ecx
- mov ebp,DWORD [44+esi]
- add eax,edi
- mov edi,-1
- rol eax,6
- xor edi,ecx
- add eax,ebx
- ; R3 61
- or edi,eax
- lea edx,[3174756917+ebp*1+edx]
- xor edi,ebx
- mov ebp,DWORD [8+esi]
- add edx,edi
- mov edi,-1
- rol edx,10
- xor edi,ebx
- add edx,eax
- ; R3 62
- or edi,edx
- lea ecx,[718787259+ebp*1+ecx]
- xor edi,eax
- mov ebp,DWORD [36+esi]
- add ecx,edi
- mov edi,-1
- rol ecx,15
- xor edi,eax
- add ecx,edx
- ; R3 63
- or edi,ecx
- lea ebx,[3951481745+ebp*1+ebx]
- xor edi,edx
- mov ebp,DWORD [24+esp]
- add ebx,edi
- add esi,64
- rol ebx,21
- mov edi,DWORD [ebp]
- add ebx,ecx
- add eax,edi
- mov edi,DWORD [4+ebp]
- add ebx,edi
- mov edi,DWORD [8+ebp]
- add ecx,edi
- mov edi,DWORD [12+ebp]
- add edx,edi
- mov DWORD [ebp],eax
- mov DWORD [4+ebp],ebx
- mov edi,DWORD [esp]
- mov DWORD [8+ebp],ecx
- mov DWORD [12+ebp],edx
- cmp edi,esi
- jae NEAR L$000start
- pop eax
- pop ebx
- pop ebp
- pop edi
- pop esi
- ret
|