Home | History | Annotate | Download | only in md5
      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.
      7 %endif
      8 ; Yasm automatically includes .00 and complains about redefining it.
      9 ; https://www.tortall.net/projects/yasm/manual/html/objfmt-win32-safeseh.html
     10 %else
     11 $@feat.00 equ 1
     12 %endif
     13 section	.text	code align=64
     14 %else
     15 section	.text	code
     16 %endif
     17 global	_md5_block_asm_data_order
     18 align	16
     19 _md5_block_asm_data_order:
     20 L$_md5_block_asm_data_order_begin:
     21 	push	esi
     22 	push	edi
     23 	mov	edi,DWORD [12+esp]
     24 	mov	esi,DWORD [16+esp]
     25 	mov	ecx,DWORD [20+esp]
     26 	push	ebp
     27 	shl	ecx,6
     28 	push	ebx
     29 	add	ecx,esi
     30 	sub	ecx,64
     31 	mov	eax,DWORD [edi]
     32 	push	ecx
     33 	mov	ebx,DWORD [4+edi]
     34 	mov	ecx,DWORD [8+edi]
     35 	mov	edx,DWORD [12+edi]
     36 L$000start:
     37 	; 
     38 	; R0 section
     39 	mov	edi,ecx
     40 	mov	ebp,DWORD [esi]
     41 	; R0 0
     42 	xor	edi,edx
     43 	and	edi,ebx
     44 	lea	eax,[3614090360+ebp*1+eax]
     45 	xor	edi,edx
     46 	add	eax,edi
     47 	mov	edi,ebx
     48 	rol	eax,7
     49 	mov	ebp,DWORD [4+esi]
     50 	add	eax,ebx
     51 	; R0 1
     52 	xor	edi,ecx
     53 	and	edi,eax
     54 	lea	edx,[3905402710+ebp*1+edx]
     55 	xor	edi,ecx
     56 	add	edx,edi
     57 	mov	edi,eax
     58 	rol	edx,12
     59 	mov	ebp,DWORD [8+esi]
     60 	add	edx,eax
     61 	; R0 2
     62 	xor	edi,ebx
     63 	and	edi,edx
     64 	lea	ecx,[606105819+ebp*1+ecx]
     65 	xor	edi,ebx
     66 	add	ecx,edi
     67 	mov	edi,edx
     68 	rol	ecx,17
     69 	mov	ebp,DWORD [12+esi]
     70 	add	ecx,edx
     71 	; R0 3
     72 	xor	edi,eax
     73 	and	edi,ecx
     74 	lea	ebx,[3250441966+ebp*1+ebx]
     75 	xor	edi,eax
     76 	add	ebx,edi
     77 	mov	edi,ecx
     78 	rol	ebx,22
     79 	mov	ebp,DWORD [16+esi]
     80 	add	ebx,ecx
     81 	; R0 4
     82 	xor	edi,edx
     83 	and	edi,ebx
     84 	lea	eax,[4118548399+ebp*1+eax]
     85 	xor	edi,edx
     86 	add	eax,edi
     87 	mov	edi,ebx
     88 	rol	eax,7
     89 	mov	ebp,DWORD [20+esi]
     90 	add	eax,ebx
     91 	; R0 5
     92 	xor	edi,ecx
     93 	and	edi,eax
     94 	lea	edx,[1200080426+ebp*1+edx]
     95 	xor	edi,ecx
     96 	add	edx,edi
     97 	mov	edi,eax
     98 	rol	edx,12
     99 	mov	ebp,DWORD [24+esi]
    100 	add	edx,eax
    101 	; R0 6
    102 	xor	edi,ebx
    103 	and	edi,edx
    104 	lea	ecx,[2821735955+ebp*1+ecx]
    105 	xor	edi,ebx
    106 	add	ecx,edi
    107 	mov	edi,edx
    108 	rol	ecx,17
    109 	mov	ebp,DWORD [28+esi]
    110 	add	ecx,edx
    111 	; R0 7
    112 	xor	edi,eax
    113 	and	edi,ecx
    114 	lea	ebx,[4249261313+ebp*1+ebx]
    115 	xor	edi,eax
    116 	add	ebx,edi
    117 	mov	edi,ecx
    118 	rol	ebx,22
    119 	mov	ebp,DWORD [32+esi]
    120 	add	ebx,ecx
    121 	; R0 8
    122 	xor	edi,edx
    123 	and	edi,ebx
    124 	lea	eax,[1770035416+ebp*1+eax]
    125 	xor	edi,edx
    126 	add	eax,edi
    127 	mov	edi,ebx
    128 	rol	eax,7
    129 	mov	ebp,DWORD [36+esi]
    130 	add	eax,ebx
    131 	; R0 9
    132 	xor	edi,ecx
    133 	and	edi,eax
    134 	lea	edx,[2336552879+ebp*1+edx]
    135 	xor	edi,ecx
    136 	add	edx,edi
    137 	mov	edi,eax
    138 	rol	edx,12
    139 	mov	ebp,DWORD [40+esi]
    140 	add	edx,eax
    141 	; R0 10
    142 	xor	edi,ebx
    143 	and	edi,edx
    144 	lea	ecx,[4294925233+ebp*1+ecx]
    145 	xor	edi,ebx
    146 	add	ecx,edi
    147 	mov	edi,edx
    148 	rol	ecx,17
    149 	mov	ebp,DWORD [44+esi]
    150 	add	ecx,edx
    151 	; R0 11
    152 	xor	edi,eax
    153 	and	edi,ecx
    154 	lea	ebx,[2304563134+ebp*1+ebx]
    155 	xor	edi,eax
    156 	add	ebx,edi
    157 	mov	edi,ecx
    158 	rol	ebx,22
    159 	mov	ebp,DWORD [48+esi]
    160 	add	ebx,ecx
    161 	; R0 12
    162 	xor	edi,edx
    163 	and	edi,ebx
    164 	lea	eax,[1804603682+ebp*1+eax]
    165 	xor	edi,edx
    166 	add	eax,edi
    167 	mov	edi,ebx
    168 	rol	eax,7
    169 	mov	ebp,DWORD [52+esi]
    170 	add	eax,ebx
    171 	; R0 13
    172 	xor	edi,ecx
    173 	and	edi,eax
    174 	lea	edx,[4254626195+ebp*1+edx]
    175 	xor	edi,ecx
    176 	add	edx,edi
    177 	mov	edi,eax
    178 	rol	edx,12
    179 	mov	ebp,DWORD [56+esi]
    180 	add	edx,eax
    181 	; R0 14
    182 	xor	edi,ebx
    183 	and	edi,edx
    184 	lea	ecx,[2792965006+ebp*1+ecx]
    185 	xor	edi,ebx
    186 	add	ecx,edi
    187 	mov	edi,edx
    188 	rol	ecx,17
    189 	mov	ebp,DWORD [60+esi]
    190 	add	ecx,edx
    191 	; R0 15
    192 	xor	edi,eax
    193 	and	edi,ecx
    194 	lea	ebx,[1236535329+ebp*1+ebx]
    195 	xor	edi,eax
    196 	add	ebx,edi
    197 	mov	edi,ecx
    198 	rol	ebx,22
    199 	mov	ebp,DWORD [4+esi]
    200 	add	ebx,ecx
    201 	; 
    202 	; R1 section
    203 	; R1 16
    204 	lea	eax,[4129170786+ebp*1+eax]
    205 	xor	edi,ebx
    206 	and	edi,edx
    207 	mov	ebp,DWORD [24+esi]
    208 	xor	edi,ecx
    209 	add	eax,edi
    210 	mov	edi,ebx
    211 	rol	eax,5
    212 	add	eax,ebx
    213 	; R1 17
    214 	lea	edx,[3225465664+ebp*1+edx]
    215 	xor	edi,eax
    216 	and	edi,ecx
    217 	mov	ebp,DWORD [44+esi]
    218 	xor	edi,ebx
    219 	add	edx,edi
    220 	mov	edi,eax
    221 	rol	edx,9
    222 	add	edx,eax
    223 	; R1 18
    224 	lea	ecx,[643717713+ebp*1+ecx]
    225 	xor	edi,edx
    226 	and	edi,ebx
    227 	mov	ebp,DWORD [esi]
    228 	xor	edi,eax
    229 	add	ecx,edi
    230 	mov	edi,edx
    231 	rol	ecx,14
    232 	add	ecx,edx
    233 	; R1 19
    234 	lea	ebx,[3921069994+ebp*1+ebx]
    235 	xor	edi,ecx
    236 	and	edi,eax
    237 	mov	ebp,DWORD [20+esi]
    238 	xor	edi,edx
    239 	add	ebx,edi
    240 	mov	edi,ecx
    241 	rol	ebx,20
    242 	add	ebx,ecx
    243 	; R1 20
    244 	lea	eax,[3593408605+ebp*1+eax]
    245 	xor	edi,ebx
    246 	and	edi,edx
    247 	mov	ebp,DWORD [40+esi]
    248 	xor	edi,ecx
    249 	add	eax,edi
    250 	mov	edi,ebx
    251 	rol	eax,5
    252 	add	eax,ebx
    253 	; R1 21
    254 	lea	edx,[38016083+ebp*1+edx]
    255 	xor	edi,eax
    256 	and	edi,ecx
    257 	mov	ebp,DWORD [60+esi]
    258 	xor	edi,ebx
    259 	add	edx,edi
    260 	mov	edi,eax
    261 	rol	edx,9
    262 	add	edx,eax
    263 	; R1 22
    264 	lea	ecx,[3634488961+ebp*1+ecx]
    265 	xor	edi,edx
    266 	and	edi,ebx
    267 	mov	ebp,DWORD [16+esi]
    268 	xor	edi,eax
    269 	add	ecx,edi
    270 	mov	edi,edx
    271 	rol	ecx,14
    272 	add	ecx,edx
    273 	; R1 23
    274 	lea	ebx,[3889429448+ebp*1+ebx]
    275 	xor	edi,ecx
    276 	and	edi,eax
    277 	mov	ebp,DWORD [36+esi]
    278 	xor	edi,edx
    279 	add	ebx,edi
    280 	mov	edi,ecx
    281 	rol	ebx,20
    282 	add	ebx,ecx
    283 	; R1 24
    284 	lea	eax,[568446438+ebp*1+eax]
    285 	xor	edi,ebx
    286 	and	edi,edx
    287 	mov	ebp,DWORD [56+esi]
    288 	xor	edi,ecx
    289 	add	eax,edi
    290 	mov	edi,ebx
    291 	rol	eax,5
    292 	add	eax,ebx
    293 	; R1 25
    294 	lea	edx,[3275163606+ebp*1+edx]
    295 	xor	edi,eax
    296 	and	edi,ecx
    297 	mov	ebp,DWORD [12+esi]
    298 	xor	edi,ebx
    299 	add	edx,edi
    300 	mov	edi,eax
    301 	rol	edx,9
    302 	add	edx,eax
    303 	; R1 26
    304 	lea	ecx,[4107603335+ebp*1+ecx]
    305 	xor	edi,edx
    306 	and	edi,ebx
    307 	mov	ebp,DWORD [32+esi]
    308 	xor	edi,eax
    309 	add	ecx,edi
    310 	mov	edi,edx
    311 	rol	ecx,14
    312 	add	ecx,edx
    313 	; R1 27
    314 	lea	ebx,[1163531501+ebp*1+ebx]
    315 	xor	edi,ecx
    316 	and	edi,eax
    317 	mov	ebp,DWORD [52+esi]
    318 	xor	edi,edx
    319 	add	ebx,edi
    320 	mov	edi,ecx
    321 	rol	ebx,20
    322 	add	ebx,ecx
    323 	; R1 28
    324 	lea	eax,[2850285829+ebp*1+eax]
    325 	xor	edi,ebx
    326 	and	edi,edx
    327 	mov	ebp,DWORD [8+esi]
    328 	xor	edi,ecx
    329 	add	eax,edi
    330 	mov	edi,ebx
    331 	rol	eax,5
    332 	add	eax,ebx
    333 	; R1 29
    334 	lea	edx,[4243563512+ebp*1+edx]
    335 	xor	edi,eax
    336 	and	edi,ecx
    337 	mov	ebp,DWORD [28+esi]
    338 	xor	edi,ebx
    339 	add	edx,edi
    340 	mov	edi,eax
    341 	rol	edx,9
    342 	add	edx,eax
    343 	; R1 30
    344 	lea	ecx,[1735328473+ebp*1+ecx]
    345 	xor	edi,edx
    346 	and	edi,ebx
    347 	mov	ebp,DWORD [48+esi]
    348 	xor	edi,eax
    349 	add	ecx,edi
    350 	mov	edi,edx
    351 	rol	ecx,14
    352 	add	ecx,edx
    353 	; R1 31
    354 	lea	ebx,[2368359562+ebp*1+ebx]
    355 	xor	edi,ecx
    356 	and	edi,eax
    357 	mov	ebp,DWORD [20+esi]
    358 	xor	edi,edx
    359 	add	ebx,edi
    360 	mov	edi,ecx
    361 	rol	ebx,20
    362 	add	ebx,ecx
    363 	; 
    364 	; R2 section
    365 	; R2 32
    366 	xor	edi,edx
    367 	xor	edi,ebx
    368 	lea	eax,[4294588738+ebp*1+eax]
    369 	add	eax,edi
    370 	rol	eax,4
    371 	mov	ebp,DWORD [32+esi]
    372 	mov	edi,ebx
    373 	; R2 33
    374 	lea	edx,[2272392833+ebp*1+edx]
    375 	add	eax,ebx
    376 	xor	edi,ecx
    377 	xor	edi,eax
    378 	mov	ebp,DWORD [44+esi]
    379 	add	edx,edi
    380 	mov	edi,eax
    381 	rol	edx,11
    382 	add	edx,eax
    383 	; R2 34
    384 	xor	edi,ebx
    385 	xor	edi,edx
    386 	lea	ecx,[1839030562+ebp*1+ecx]
    387 	add	ecx,edi
    388 	rol	ecx,16
    389 	mov	ebp,DWORD [56+esi]
    390 	mov	edi,edx
    391 	; R2 35
    392 	lea	ebx,[4259657740+ebp*1+ebx]
    393 	add	ecx,edx
    394 	xor	edi,eax
    395 	xor	edi,ecx
    396 	mov	ebp,DWORD [4+esi]
    397 	add	ebx,edi
    398 	mov	edi,ecx
    399 	rol	ebx,23
    400 	add	ebx,ecx
    401 	; R2 36
    402 	xor	edi,edx
    403 	xor	edi,ebx
    404 	lea	eax,[2763975236+ebp*1+eax]
    405 	add	eax,edi
    406 	rol	eax,4
    407 	mov	ebp,DWORD [16+esi]
    408 	mov	edi,ebx
    409 	; R2 37
    410 	lea	edx,[1272893353+ebp*1+edx]
    411 	add	eax,ebx
    412 	xor	edi,ecx
    413 	xor	edi,eax
    414 	mov	ebp,DWORD [28+esi]
    415 	add	edx,edi
    416 	mov	edi,eax
    417 	rol	edx,11
    418 	add	edx,eax
    419 	; R2 38
    420 	xor	edi,ebx
    421 	xor	edi,edx
    422 	lea	ecx,[4139469664+ebp*1+ecx]
    423 	add	ecx,edi
    424 	rol	ecx,16
    425 	mov	ebp,DWORD [40+esi]
    426 	mov	edi,edx
    427 	; R2 39
    428 	lea	ebx,[3200236656+ebp*1+ebx]
    429 	add	ecx,edx
    430 	xor	edi,eax
    431 	xor	edi,ecx
    432 	mov	ebp,DWORD [52+esi]
    433 	add	ebx,edi
    434 	mov	edi,ecx
    435 	rol	ebx,23
    436 	add	ebx,ecx
    437 	; R2 40
    438 	xor	edi,edx
    439 	xor	edi,ebx
    440 	lea	eax,[681279174+ebp*1+eax]
    441 	add	eax,edi
    442 	rol	eax,4
    443 	mov	ebp,DWORD [esi]
    444 	mov	edi,ebx
    445 	; R2 41
    446 	lea	edx,[3936430074+ebp*1+edx]
    447 	add	eax,ebx
    448 	xor	edi,ecx
    449 	xor	edi,eax
    450 	mov	ebp,DWORD [12+esi]
    451 	add	edx,edi
    452 	mov	edi,eax
    453 	rol	edx,11
    454 	add	edx,eax
    455 	; R2 42
    456 	xor	edi,ebx
    457 	xor	edi,edx
    458 	lea	ecx,[3572445317+ebp*1+ecx]
    459 	add	ecx,edi
    460 	rol	ecx,16
    461 	mov	ebp,DWORD [24+esi]
    462 	mov	edi,edx
    463 	; R2 43
    464 	lea	ebx,[76029189+ebp*1+ebx]
    465 	add	ecx,edx
    466 	xor	edi,eax
    467 	xor	edi,ecx
    468 	mov	ebp,DWORD [36+esi]
    469 	add	ebx,edi
    470 	mov	edi,ecx
    471 	rol	ebx,23
    472 	add	ebx,ecx
    473 	; R2 44
    474 	xor	edi,edx
    475 	xor	edi,ebx
    476 	lea	eax,[3654602809+ebp*1+eax]
    477 	add	eax,edi
    478 	rol	eax,4
    479 	mov	ebp,DWORD [48+esi]
    480 	mov	edi,ebx
    481 	; R2 45
    482 	lea	edx,[3873151461+ebp*1+edx]
    483 	add	eax,ebx
    484 	xor	edi,ecx
    485 	xor	edi,eax
    486 	mov	ebp,DWORD [60+esi]
    487 	add	edx,edi
    488 	mov	edi,eax
    489 	rol	edx,11
    490 	add	edx,eax
    491 	; R2 46
    492 	xor	edi,ebx
    493 	xor	edi,edx
    494 	lea	ecx,[530742520+ebp*1+ecx]
    495 	add	ecx,edi
    496 	rol	ecx,16
    497 	mov	ebp,DWORD [8+esi]
    498 	mov	edi,edx
    499 	; R2 47
    500 	lea	ebx,[3299628645+ebp*1+ebx]
    501 	add	ecx,edx
    502 	xor	edi,eax
    503 	xor	edi,ecx
    504 	mov	ebp,DWORD [esi]
    505 	add	ebx,edi
    506 	mov	edi,-1
    507 	rol	ebx,23
    508 	add	ebx,ecx
    509 	; 
    510 	; R3 section
    511 	; R3 48
    512 	xor	edi,edx
    513 	or	edi,ebx
    514 	lea	eax,[4096336452+ebp*1+eax]
    515 	xor	edi,ecx
    516 	mov	ebp,DWORD [28+esi]
    517 	add	eax,edi
    518 	mov	edi,-1
    519 	rol	eax,6
    520 	xor	edi,ecx
    521 	add	eax,ebx
    522 	; R3 49
    523 	or	edi,eax
    524 	lea	edx,[1126891415+ebp*1+edx]
    525 	xor	edi,ebx
    526 	mov	ebp,DWORD [56+esi]
    527 	add	edx,edi
    528 	mov	edi,-1
    529 	rol	edx,10
    530 	xor	edi,ebx
    531 	add	edx,eax
    532 	; R3 50
    533 	or	edi,edx
    534 	lea	ecx,[2878612391+ebp*1+ecx]
    535 	xor	edi,eax
    536 	mov	ebp,DWORD [20+esi]
    537 	add	ecx,edi
    538 	mov	edi,-1
    539 	rol	ecx,15
    540 	xor	edi,eax
    541 	add	ecx,edx
    542 	; R3 51
    543 	or	edi,ecx
    544 	lea	ebx,[4237533241+ebp*1+ebx]
    545 	xor	edi,edx
    546 	mov	ebp,DWORD [48+esi]
    547 	add	ebx,edi
    548 	mov	edi,-1
    549 	rol	ebx,21
    550 	xor	edi,edx
    551 	add	ebx,ecx
    552 	; R3 52
    553 	or	edi,ebx
    554 	lea	eax,[1700485571+ebp*1+eax]
    555 	xor	edi,ecx
    556 	mov	ebp,DWORD [12+esi]
    557 	add	eax,edi
    558 	mov	edi,-1
    559 	rol	eax,6
    560 	xor	edi,ecx
    561 	add	eax,ebx
    562 	; R3 53
    563 	or	edi,eax
    564 	lea	edx,[2399980690+ebp*1+edx]
    565 	xor	edi,ebx
    566 	mov	ebp,DWORD [40+esi]
    567 	add	edx,edi
    568 	mov	edi,-1
    569 	rol	edx,10
    570 	xor	edi,ebx
    571 	add	edx,eax
    572 	; R3 54
    573 	or	edi,edx
    574 	lea	ecx,[4293915773+ebp*1+ecx]
    575 	xor	edi,eax
    576 	mov	ebp,DWORD [4+esi]
    577 	add	ecx,edi
    578 	mov	edi,-1
    579 	rol	ecx,15
    580 	xor	edi,eax
    581 	add	ecx,edx
    582 	; R3 55
    583 	or	edi,ecx
    584 	lea	ebx,[2240044497+ebp*1+ebx]
    585 	xor	edi,edx
    586 	mov	ebp,DWORD [32+esi]
    587 	add	ebx,edi
    588 	mov	edi,-1
    589 	rol	ebx,21
    590 	xor	edi,edx
    591 	add	ebx,ecx
    592 	; R3 56
    593 	or	edi,ebx
    594 	lea	eax,[1873313359+ebp*1+eax]
    595 	xor	edi,ecx
    596 	mov	ebp,DWORD [60+esi]
    597 	add	eax,edi
    598 	mov	edi,-1
    599 	rol	eax,6
    600 	xor	edi,ecx
    601 	add	eax,ebx
    602 	; R3 57
    603 	or	edi,eax
    604 	lea	edx,[4264355552+ebp*1+edx]
    605 	xor	edi,ebx
    606 	mov	ebp,DWORD [24+esi]
    607 	add	edx,edi
    608 	mov	edi,-1
    609 	rol	edx,10
    610 	xor	edi,ebx
    611 	add	edx,eax
    612 	; R3 58
    613 	or	edi,edx
    614 	lea	ecx,[2734768916+ebp*1+ecx]
    615 	xor	edi,eax
    616 	mov	ebp,DWORD [52+esi]
    617 	add	ecx,edi
    618 	mov	edi,-1
    619 	rol	ecx,15
    620 	xor	edi,eax
    621 	add	ecx,edx
    622 	; R3 59
    623 	or	edi,ecx
    624 	lea	ebx,[1309151649+ebp*1+ebx]
    625 	xor	edi,edx
    626 	mov	ebp,DWORD [16+esi]
    627 	add	ebx,edi
    628 	mov	edi,-1
    629 	rol	ebx,21
    630 	xor	edi,edx
    631 	add	ebx,ecx
    632 	; R3 60
    633 	or	edi,ebx
    634 	lea	eax,[4149444226+ebp*1+eax]
    635 	xor	edi,ecx
    636 	mov	ebp,DWORD [44+esi]
    637 	add	eax,edi
    638 	mov	edi,-1
    639 	rol	eax,6
    640 	xor	edi,ecx
    641 	add	eax,ebx
    642 	; R3 61
    643 	or	edi,eax
    644 	lea	edx,[3174756917+ebp*1+edx]
    645 	xor	edi,ebx
    646 	mov	ebp,DWORD [8+esi]
    647 	add	edx,edi
    648 	mov	edi,-1
    649 	rol	edx,10
    650 	xor	edi,ebx
    651 	add	edx,eax
    652 	; R3 62
    653 	or	edi,edx
    654 	lea	ecx,[718787259+ebp*1+ecx]
    655 	xor	edi,eax
    656 	mov	ebp,DWORD [36+esi]
    657 	add	ecx,edi
    658 	mov	edi,-1
    659 	rol	ecx,15
    660 	xor	edi,eax
    661 	add	ecx,edx
    662 	; R3 63
    663 	or	edi,ecx
    664 	lea	ebx,[3951481745+ebp*1+ebx]
    665 	xor	edi,edx
    666 	mov	ebp,DWORD [24+esp]
    667 	add	ebx,edi
    668 	add	esi,64
    669 	rol	ebx,21
    670 	mov	edi,DWORD [ebp]
    671 	add	ebx,ecx
    672 	add	eax,edi
    673 	mov	edi,DWORD [4+ebp]
    674 	add	ebx,edi
    675 	mov	edi,DWORD [8+ebp]
    676 	add	ecx,edi
    677 	mov	edi,DWORD [12+ebp]
    678 	add	edx,edi
    679 	mov	DWORD [ebp],eax
    680 	mov	DWORD [4+ebp],ebx
    681 	mov	edi,DWORD [esp]
    682 	mov	DWORD [8+ebp],ecx
    683 	mov	DWORD [12+ebp],edx
    684 	cmp	edi,esi
    685 	jae	NEAR L$000start
    686 	pop	eax
    687 	pop	ebx
    688 	pop	ebp
    689 	pop	edi
    690 	pop	esi
    691 	ret
    692