OLD | NEW |
(Empty) | |
| 1 default rel |
| 2 %define XMMWORD |
| 3 %define YMMWORD |
| 4 %define ZMMWORD |
| 5 section .text code align=64 |
| 6 |
| 7 ALIGN 16 |
| 8 |
| 9 global md5_block_asm_data_order |
| 10 |
| 11 md5_block_asm_data_order: |
| 12 mov QWORD[8+rsp],rdi ;WIN64 prologue |
| 13 mov QWORD[16+rsp],rsi |
| 14 mov rax,rsp |
| 15 $L$SEH_begin_md5_block_asm_data_order: |
| 16 mov rdi,rcx |
| 17 mov rsi,rdx |
| 18 mov rdx,r8 |
| 19 |
| 20 |
| 21 push rbp |
| 22 push rbx |
| 23 push r12 |
| 24 push r14 |
| 25 push r15 |
| 26 $L$prologue: |
| 27 |
| 28 |
| 29 |
| 30 |
| 31 mov rbp,rdi |
| 32 shl rdx,6 |
| 33 lea rdi,[rdx*1+rsi] |
| 34 mov eax,DWORD[rbp] |
| 35 mov ebx,DWORD[4+rbp] |
| 36 mov ecx,DWORD[8+rbp] |
| 37 mov edx,DWORD[12+rbp] |
| 38 |
| 39 |
| 40 |
| 41 |
| 42 |
| 43 |
| 44 |
| 45 cmp rsi,rdi |
| 46 je NEAR $L$end |
| 47 |
| 48 |
| 49 $L$loop: |
| 50 mov r8d,eax |
| 51 mov r9d,ebx |
| 52 mov r14d,ecx |
| 53 mov r15d,edx |
| 54 mov r10d,DWORD[rsi] |
| 55 mov r11d,edx |
| 56 xor r11d,ecx |
| 57 lea eax,[((-680876936))+r10*1+rax] |
| 58 and r11d,ebx |
| 59 xor r11d,edx |
| 60 mov r10d,DWORD[4+rsi] |
| 61 add eax,r11d |
| 62 rol eax,7 |
| 63 mov r11d,ecx |
| 64 add eax,ebx |
| 65 xor r11d,ebx |
| 66 lea edx,[((-389564586))+r10*1+rdx] |
| 67 and r11d,eax |
| 68 xor r11d,ecx |
| 69 mov r10d,DWORD[8+rsi] |
| 70 add edx,r11d |
| 71 rol edx,12 |
| 72 mov r11d,ebx |
| 73 add edx,eax |
| 74 xor r11d,eax |
| 75 lea ecx,[606105819+r10*1+rcx] |
| 76 and r11d,edx |
| 77 xor r11d,ebx |
| 78 mov r10d,DWORD[12+rsi] |
| 79 add ecx,r11d |
| 80 rol ecx,17 |
| 81 mov r11d,eax |
| 82 add ecx,edx |
| 83 xor r11d,edx |
| 84 lea ebx,[((-1044525330))+r10*1+rbx] |
| 85 and r11d,ecx |
| 86 xor r11d,eax |
| 87 mov r10d,DWORD[16+rsi] |
| 88 add ebx,r11d |
| 89 rol ebx,22 |
| 90 mov r11d,edx |
| 91 add ebx,ecx |
| 92 xor r11d,ecx |
| 93 lea eax,[((-176418897))+r10*1+rax] |
| 94 and r11d,ebx |
| 95 xor r11d,edx |
| 96 mov r10d,DWORD[20+rsi] |
| 97 add eax,r11d |
| 98 rol eax,7 |
| 99 mov r11d,ecx |
| 100 add eax,ebx |
| 101 xor r11d,ebx |
| 102 lea edx,[1200080426+r10*1+rdx] |
| 103 and r11d,eax |
| 104 xor r11d,ecx |
| 105 mov r10d,DWORD[24+rsi] |
| 106 add edx,r11d |
| 107 rol edx,12 |
| 108 mov r11d,ebx |
| 109 add edx,eax |
| 110 xor r11d,eax |
| 111 lea ecx,[((-1473231341))+r10*1+rcx] |
| 112 and r11d,edx |
| 113 xor r11d,ebx |
| 114 mov r10d,DWORD[28+rsi] |
| 115 add ecx,r11d |
| 116 rol ecx,17 |
| 117 mov r11d,eax |
| 118 add ecx,edx |
| 119 xor r11d,edx |
| 120 lea ebx,[((-45705983))+r10*1+rbx] |
| 121 and r11d,ecx |
| 122 xor r11d,eax |
| 123 mov r10d,DWORD[32+rsi] |
| 124 add ebx,r11d |
| 125 rol ebx,22 |
| 126 mov r11d,edx |
| 127 add ebx,ecx |
| 128 xor r11d,ecx |
| 129 lea eax,[1770035416+r10*1+rax] |
| 130 and r11d,ebx |
| 131 xor r11d,edx |
| 132 mov r10d,DWORD[36+rsi] |
| 133 add eax,r11d |
| 134 rol eax,7 |
| 135 mov r11d,ecx |
| 136 add eax,ebx |
| 137 xor r11d,ebx |
| 138 lea edx,[((-1958414417))+r10*1+rdx] |
| 139 and r11d,eax |
| 140 xor r11d,ecx |
| 141 mov r10d,DWORD[40+rsi] |
| 142 add edx,r11d |
| 143 rol edx,12 |
| 144 mov r11d,ebx |
| 145 add edx,eax |
| 146 xor r11d,eax |
| 147 lea ecx,[((-42063))+r10*1+rcx] |
| 148 and r11d,edx |
| 149 xor r11d,ebx |
| 150 mov r10d,DWORD[44+rsi] |
| 151 add ecx,r11d |
| 152 rol ecx,17 |
| 153 mov r11d,eax |
| 154 add ecx,edx |
| 155 xor r11d,edx |
| 156 lea ebx,[((-1990404162))+r10*1+rbx] |
| 157 and r11d,ecx |
| 158 xor r11d,eax |
| 159 mov r10d,DWORD[48+rsi] |
| 160 add ebx,r11d |
| 161 rol ebx,22 |
| 162 mov r11d,edx |
| 163 add ebx,ecx |
| 164 xor r11d,ecx |
| 165 lea eax,[1804603682+r10*1+rax] |
| 166 and r11d,ebx |
| 167 xor r11d,edx |
| 168 mov r10d,DWORD[52+rsi] |
| 169 add eax,r11d |
| 170 rol eax,7 |
| 171 mov r11d,ecx |
| 172 add eax,ebx |
| 173 xor r11d,ebx |
| 174 lea edx,[((-40341101))+r10*1+rdx] |
| 175 and r11d,eax |
| 176 xor r11d,ecx |
| 177 mov r10d,DWORD[56+rsi] |
| 178 add edx,r11d |
| 179 rol edx,12 |
| 180 mov r11d,ebx |
| 181 add edx,eax |
| 182 xor r11d,eax |
| 183 lea ecx,[((-1502002290))+r10*1+rcx] |
| 184 and r11d,edx |
| 185 xor r11d,ebx |
| 186 mov r10d,DWORD[60+rsi] |
| 187 add ecx,r11d |
| 188 rol ecx,17 |
| 189 mov r11d,eax |
| 190 add ecx,edx |
| 191 xor r11d,edx |
| 192 lea ebx,[1236535329+r10*1+rbx] |
| 193 and r11d,ecx |
| 194 xor r11d,eax |
| 195 mov r10d,DWORD[rsi] |
| 196 add ebx,r11d |
| 197 rol ebx,22 |
| 198 mov r11d,edx |
| 199 add ebx,ecx |
| 200 mov r10d,DWORD[4+rsi] |
| 201 mov r11d,edx |
| 202 mov r12d,edx |
| 203 not r11d |
| 204 lea eax,[((-165796510))+r10*1+rax] |
| 205 and r12d,ebx |
| 206 and r11d,ecx |
| 207 mov r10d,DWORD[24+rsi] |
| 208 or r12d,r11d |
| 209 mov r11d,ecx |
| 210 add eax,r12d |
| 211 mov r12d,ecx |
| 212 rol eax,5 |
| 213 add eax,ebx |
| 214 not r11d |
| 215 lea edx,[((-1069501632))+r10*1+rdx] |
| 216 and r12d,eax |
| 217 and r11d,ebx |
| 218 mov r10d,DWORD[44+rsi] |
| 219 or r12d,r11d |
| 220 mov r11d,ebx |
| 221 add edx,r12d |
| 222 mov r12d,ebx |
| 223 rol edx,9 |
| 224 add edx,eax |
| 225 not r11d |
| 226 lea ecx,[643717713+r10*1+rcx] |
| 227 and r12d,edx |
| 228 and r11d,eax |
| 229 mov r10d,DWORD[rsi] |
| 230 or r12d,r11d |
| 231 mov r11d,eax |
| 232 add ecx,r12d |
| 233 mov r12d,eax |
| 234 rol ecx,14 |
| 235 add ecx,edx |
| 236 not r11d |
| 237 lea ebx,[((-373897302))+r10*1+rbx] |
| 238 and r12d,ecx |
| 239 and r11d,edx |
| 240 mov r10d,DWORD[20+rsi] |
| 241 or r12d,r11d |
| 242 mov r11d,edx |
| 243 add ebx,r12d |
| 244 mov r12d,edx |
| 245 rol ebx,20 |
| 246 add ebx,ecx |
| 247 not r11d |
| 248 lea eax,[((-701558691))+r10*1+rax] |
| 249 and r12d,ebx |
| 250 and r11d,ecx |
| 251 mov r10d,DWORD[40+rsi] |
| 252 or r12d,r11d |
| 253 mov r11d,ecx |
| 254 add eax,r12d |
| 255 mov r12d,ecx |
| 256 rol eax,5 |
| 257 add eax,ebx |
| 258 not r11d |
| 259 lea edx,[38016083+r10*1+rdx] |
| 260 and r12d,eax |
| 261 and r11d,ebx |
| 262 mov r10d,DWORD[60+rsi] |
| 263 or r12d,r11d |
| 264 mov r11d,ebx |
| 265 add edx,r12d |
| 266 mov r12d,ebx |
| 267 rol edx,9 |
| 268 add edx,eax |
| 269 not r11d |
| 270 lea ecx,[((-660478335))+r10*1+rcx] |
| 271 and r12d,edx |
| 272 and r11d,eax |
| 273 mov r10d,DWORD[16+rsi] |
| 274 or r12d,r11d |
| 275 mov r11d,eax |
| 276 add ecx,r12d |
| 277 mov r12d,eax |
| 278 rol ecx,14 |
| 279 add ecx,edx |
| 280 not r11d |
| 281 lea ebx,[((-405537848))+r10*1+rbx] |
| 282 and r12d,ecx |
| 283 and r11d,edx |
| 284 mov r10d,DWORD[36+rsi] |
| 285 or r12d,r11d |
| 286 mov r11d,edx |
| 287 add ebx,r12d |
| 288 mov r12d,edx |
| 289 rol ebx,20 |
| 290 add ebx,ecx |
| 291 not r11d |
| 292 lea eax,[568446438+r10*1+rax] |
| 293 and r12d,ebx |
| 294 and r11d,ecx |
| 295 mov r10d,DWORD[56+rsi] |
| 296 or r12d,r11d |
| 297 mov r11d,ecx |
| 298 add eax,r12d |
| 299 mov r12d,ecx |
| 300 rol eax,5 |
| 301 add eax,ebx |
| 302 not r11d |
| 303 lea edx,[((-1019803690))+r10*1+rdx] |
| 304 and r12d,eax |
| 305 and r11d,ebx |
| 306 mov r10d,DWORD[12+rsi] |
| 307 or r12d,r11d |
| 308 mov r11d,ebx |
| 309 add edx,r12d |
| 310 mov r12d,ebx |
| 311 rol edx,9 |
| 312 add edx,eax |
| 313 not r11d |
| 314 lea ecx,[((-187363961))+r10*1+rcx] |
| 315 and r12d,edx |
| 316 and r11d,eax |
| 317 mov r10d,DWORD[32+rsi] |
| 318 or r12d,r11d |
| 319 mov r11d,eax |
| 320 add ecx,r12d |
| 321 mov r12d,eax |
| 322 rol ecx,14 |
| 323 add ecx,edx |
| 324 not r11d |
| 325 lea ebx,[1163531501+r10*1+rbx] |
| 326 and r12d,ecx |
| 327 and r11d,edx |
| 328 mov r10d,DWORD[52+rsi] |
| 329 or r12d,r11d |
| 330 mov r11d,edx |
| 331 add ebx,r12d |
| 332 mov r12d,edx |
| 333 rol ebx,20 |
| 334 add ebx,ecx |
| 335 not r11d |
| 336 lea eax,[((-1444681467))+r10*1+rax] |
| 337 and r12d,ebx |
| 338 and r11d,ecx |
| 339 mov r10d,DWORD[8+rsi] |
| 340 or r12d,r11d |
| 341 mov r11d,ecx |
| 342 add eax,r12d |
| 343 mov r12d,ecx |
| 344 rol eax,5 |
| 345 add eax,ebx |
| 346 not r11d |
| 347 lea edx,[((-51403784))+r10*1+rdx] |
| 348 and r12d,eax |
| 349 and r11d,ebx |
| 350 mov r10d,DWORD[28+rsi] |
| 351 or r12d,r11d |
| 352 mov r11d,ebx |
| 353 add edx,r12d |
| 354 mov r12d,ebx |
| 355 rol edx,9 |
| 356 add edx,eax |
| 357 not r11d |
| 358 lea ecx,[1735328473+r10*1+rcx] |
| 359 and r12d,edx |
| 360 and r11d,eax |
| 361 mov r10d,DWORD[48+rsi] |
| 362 or r12d,r11d |
| 363 mov r11d,eax |
| 364 add ecx,r12d |
| 365 mov r12d,eax |
| 366 rol ecx,14 |
| 367 add ecx,edx |
| 368 not r11d |
| 369 lea ebx,[((-1926607734))+r10*1+rbx] |
| 370 and r12d,ecx |
| 371 and r11d,edx |
| 372 mov r10d,DWORD[rsi] |
| 373 or r12d,r11d |
| 374 mov r11d,edx |
| 375 add ebx,r12d |
| 376 mov r12d,edx |
| 377 rol ebx,20 |
| 378 add ebx,ecx |
| 379 mov r10d,DWORD[20+rsi] |
| 380 mov r11d,ecx |
| 381 lea eax,[((-378558))+r10*1+rax] |
| 382 mov r10d,DWORD[32+rsi] |
| 383 xor r11d,edx |
| 384 xor r11d,ebx |
| 385 add eax,r11d |
| 386 rol eax,4 |
| 387 mov r11d,ebx |
| 388 add eax,ebx |
| 389 lea edx,[((-2022574463))+r10*1+rdx] |
| 390 mov r10d,DWORD[44+rsi] |
| 391 xor r11d,ecx |
| 392 xor r11d,eax |
| 393 add edx,r11d |
| 394 rol edx,11 |
| 395 mov r11d,eax |
| 396 add edx,eax |
| 397 lea ecx,[1839030562+r10*1+rcx] |
| 398 mov r10d,DWORD[56+rsi] |
| 399 xor r11d,ebx |
| 400 xor r11d,edx |
| 401 add ecx,r11d |
| 402 rol ecx,16 |
| 403 mov r11d,edx |
| 404 add ecx,edx |
| 405 lea ebx,[((-35309556))+r10*1+rbx] |
| 406 mov r10d,DWORD[4+rsi] |
| 407 xor r11d,eax |
| 408 xor r11d,ecx |
| 409 add ebx,r11d |
| 410 rol ebx,23 |
| 411 mov r11d,ecx |
| 412 add ebx,ecx |
| 413 lea eax,[((-1530992060))+r10*1+rax] |
| 414 mov r10d,DWORD[16+rsi] |
| 415 xor r11d,edx |
| 416 xor r11d,ebx |
| 417 add eax,r11d |
| 418 rol eax,4 |
| 419 mov r11d,ebx |
| 420 add eax,ebx |
| 421 lea edx,[1272893353+r10*1+rdx] |
| 422 mov r10d,DWORD[28+rsi] |
| 423 xor r11d,ecx |
| 424 xor r11d,eax |
| 425 add edx,r11d |
| 426 rol edx,11 |
| 427 mov r11d,eax |
| 428 add edx,eax |
| 429 lea ecx,[((-155497632))+r10*1+rcx] |
| 430 mov r10d,DWORD[40+rsi] |
| 431 xor r11d,ebx |
| 432 xor r11d,edx |
| 433 add ecx,r11d |
| 434 rol ecx,16 |
| 435 mov r11d,edx |
| 436 add ecx,edx |
| 437 lea ebx,[((-1094730640))+r10*1+rbx] |
| 438 mov r10d,DWORD[52+rsi] |
| 439 xor r11d,eax |
| 440 xor r11d,ecx |
| 441 add ebx,r11d |
| 442 rol ebx,23 |
| 443 mov r11d,ecx |
| 444 add ebx,ecx |
| 445 lea eax,[681279174+r10*1+rax] |
| 446 mov r10d,DWORD[rsi] |
| 447 xor r11d,edx |
| 448 xor r11d,ebx |
| 449 add eax,r11d |
| 450 rol eax,4 |
| 451 mov r11d,ebx |
| 452 add eax,ebx |
| 453 lea edx,[((-358537222))+r10*1+rdx] |
| 454 mov r10d,DWORD[12+rsi] |
| 455 xor r11d,ecx |
| 456 xor r11d,eax |
| 457 add edx,r11d |
| 458 rol edx,11 |
| 459 mov r11d,eax |
| 460 add edx,eax |
| 461 lea ecx,[((-722521979))+r10*1+rcx] |
| 462 mov r10d,DWORD[24+rsi] |
| 463 xor r11d,ebx |
| 464 xor r11d,edx |
| 465 add ecx,r11d |
| 466 rol ecx,16 |
| 467 mov r11d,edx |
| 468 add ecx,edx |
| 469 lea ebx,[76029189+r10*1+rbx] |
| 470 mov r10d,DWORD[36+rsi] |
| 471 xor r11d,eax |
| 472 xor r11d,ecx |
| 473 add ebx,r11d |
| 474 rol ebx,23 |
| 475 mov r11d,ecx |
| 476 add ebx,ecx |
| 477 lea eax,[((-640364487))+r10*1+rax] |
| 478 mov r10d,DWORD[48+rsi] |
| 479 xor r11d,edx |
| 480 xor r11d,ebx |
| 481 add eax,r11d |
| 482 rol eax,4 |
| 483 mov r11d,ebx |
| 484 add eax,ebx |
| 485 lea edx,[((-421815835))+r10*1+rdx] |
| 486 mov r10d,DWORD[60+rsi] |
| 487 xor r11d,ecx |
| 488 xor r11d,eax |
| 489 add edx,r11d |
| 490 rol edx,11 |
| 491 mov r11d,eax |
| 492 add edx,eax |
| 493 lea ecx,[530742520+r10*1+rcx] |
| 494 mov r10d,DWORD[8+rsi] |
| 495 xor r11d,ebx |
| 496 xor r11d,edx |
| 497 add ecx,r11d |
| 498 rol ecx,16 |
| 499 mov r11d,edx |
| 500 add ecx,edx |
| 501 lea ebx,[((-995338651))+r10*1+rbx] |
| 502 mov r10d,DWORD[rsi] |
| 503 xor r11d,eax |
| 504 xor r11d,ecx |
| 505 add ebx,r11d |
| 506 rol ebx,23 |
| 507 mov r11d,ecx |
| 508 add ebx,ecx |
| 509 mov r10d,DWORD[rsi] |
| 510 mov r11d,0xffffffff |
| 511 xor r11d,edx |
| 512 lea eax,[((-198630844))+r10*1+rax] |
| 513 or r11d,ebx |
| 514 xor r11d,ecx |
| 515 add eax,r11d |
| 516 mov r10d,DWORD[28+rsi] |
| 517 mov r11d,0xffffffff |
| 518 rol eax,6 |
| 519 xor r11d,ecx |
| 520 add eax,ebx |
| 521 lea edx,[1126891415+r10*1+rdx] |
| 522 or r11d,eax |
| 523 xor r11d,ebx |
| 524 add edx,r11d |
| 525 mov r10d,DWORD[56+rsi] |
| 526 mov r11d,0xffffffff |
| 527 rol edx,10 |
| 528 xor r11d,ebx |
| 529 add edx,eax |
| 530 lea ecx,[((-1416354905))+r10*1+rcx] |
| 531 or r11d,edx |
| 532 xor r11d,eax |
| 533 add ecx,r11d |
| 534 mov r10d,DWORD[20+rsi] |
| 535 mov r11d,0xffffffff |
| 536 rol ecx,15 |
| 537 xor r11d,eax |
| 538 add ecx,edx |
| 539 lea ebx,[((-57434055))+r10*1+rbx] |
| 540 or r11d,ecx |
| 541 xor r11d,edx |
| 542 add ebx,r11d |
| 543 mov r10d,DWORD[48+rsi] |
| 544 mov r11d,0xffffffff |
| 545 rol ebx,21 |
| 546 xor r11d,edx |
| 547 add ebx,ecx |
| 548 lea eax,[1700485571+r10*1+rax] |
| 549 or r11d,ebx |
| 550 xor r11d,ecx |
| 551 add eax,r11d |
| 552 mov r10d,DWORD[12+rsi] |
| 553 mov r11d,0xffffffff |
| 554 rol eax,6 |
| 555 xor r11d,ecx |
| 556 add eax,ebx |
| 557 lea edx,[((-1894986606))+r10*1+rdx] |
| 558 or r11d,eax |
| 559 xor r11d,ebx |
| 560 add edx,r11d |
| 561 mov r10d,DWORD[40+rsi] |
| 562 mov r11d,0xffffffff |
| 563 rol edx,10 |
| 564 xor r11d,ebx |
| 565 add edx,eax |
| 566 lea ecx,[((-1051523))+r10*1+rcx] |
| 567 or r11d,edx |
| 568 xor r11d,eax |
| 569 add ecx,r11d |
| 570 mov r10d,DWORD[4+rsi] |
| 571 mov r11d,0xffffffff |
| 572 rol ecx,15 |
| 573 xor r11d,eax |
| 574 add ecx,edx |
| 575 lea ebx,[((-2054922799))+r10*1+rbx] |
| 576 or r11d,ecx |
| 577 xor r11d,edx |
| 578 add ebx,r11d |
| 579 mov r10d,DWORD[32+rsi] |
| 580 mov r11d,0xffffffff |
| 581 rol ebx,21 |
| 582 xor r11d,edx |
| 583 add ebx,ecx |
| 584 lea eax,[1873313359+r10*1+rax] |
| 585 or r11d,ebx |
| 586 xor r11d,ecx |
| 587 add eax,r11d |
| 588 mov r10d,DWORD[60+rsi] |
| 589 mov r11d,0xffffffff |
| 590 rol eax,6 |
| 591 xor r11d,ecx |
| 592 add eax,ebx |
| 593 lea edx,[((-30611744))+r10*1+rdx] |
| 594 or r11d,eax |
| 595 xor r11d,ebx |
| 596 add edx,r11d |
| 597 mov r10d,DWORD[24+rsi] |
| 598 mov r11d,0xffffffff |
| 599 rol edx,10 |
| 600 xor r11d,ebx |
| 601 add edx,eax |
| 602 lea ecx,[((-1560198380))+r10*1+rcx] |
| 603 or r11d,edx |
| 604 xor r11d,eax |
| 605 add ecx,r11d |
| 606 mov r10d,DWORD[52+rsi] |
| 607 mov r11d,0xffffffff |
| 608 rol ecx,15 |
| 609 xor r11d,eax |
| 610 add ecx,edx |
| 611 lea ebx,[1309151649+r10*1+rbx] |
| 612 or r11d,ecx |
| 613 xor r11d,edx |
| 614 add ebx,r11d |
| 615 mov r10d,DWORD[16+rsi] |
| 616 mov r11d,0xffffffff |
| 617 rol ebx,21 |
| 618 xor r11d,edx |
| 619 add ebx,ecx |
| 620 lea eax,[((-145523070))+r10*1+rax] |
| 621 or r11d,ebx |
| 622 xor r11d,ecx |
| 623 add eax,r11d |
| 624 mov r10d,DWORD[44+rsi] |
| 625 mov r11d,0xffffffff |
| 626 rol eax,6 |
| 627 xor r11d,ecx |
| 628 add eax,ebx |
| 629 lea edx,[((-1120210379))+r10*1+rdx] |
| 630 or r11d,eax |
| 631 xor r11d,ebx |
| 632 add edx,r11d |
| 633 mov r10d,DWORD[8+rsi] |
| 634 mov r11d,0xffffffff |
| 635 rol edx,10 |
| 636 xor r11d,ebx |
| 637 add edx,eax |
| 638 lea ecx,[718787259+r10*1+rcx] |
| 639 or r11d,edx |
| 640 xor r11d,eax |
| 641 add ecx,r11d |
| 642 mov r10d,DWORD[36+rsi] |
| 643 mov r11d,0xffffffff |
| 644 rol ecx,15 |
| 645 xor r11d,eax |
| 646 add ecx,edx |
| 647 lea ebx,[((-343485551))+r10*1+rbx] |
| 648 or r11d,ecx |
| 649 xor r11d,edx |
| 650 add ebx,r11d |
| 651 mov r10d,DWORD[rsi] |
| 652 mov r11d,0xffffffff |
| 653 rol ebx,21 |
| 654 xor r11d,edx |
| 655 add ebx,ecx |
| 656 |
| 657 add eax,r8d |
| 658 add ebx,r9d |
| 659 add ecx,r14d |
| 660 add edx,r15d |
| 661 |
| 662 |
| 663 add rsi,64 |
| 664 cmp rsi,rdi |
| 665 jb NEAR $L$loop |
| 666 |
| 667 |
| 668 $L$end: |
| 669 mov DWORD[rbp],eax |
| 670 mov DWORD[4+rbp],ebx |
| 671 mov DWORD[8+rbp],ecx |
| 672 mov DWORD[12+rbp],edx |
| 673 |
| 674 mov r15,QWORD[rsp] |
| 675 mov r14,QWORD[8+rsp] |
| 676 mov r12,QWORD[16+rsp] |
| 677 mov rbx,QWORD[24+rsp] |
| 678 mov rbp,QWORD[32+rsp] |
| 679 add rsp,40 |
| 680 $L$epilogue: |
| 681 mov rdi,QWORD[8+rsp] ;WIN64 epilogue |
| 682 mov rsi,QWORD[16+rsp] |
| 683 DB 0F3h,0C3h ;repret |
| 684 $L$SEH_end_md5_block_asm_data_order: |
| 685 EXTERN __imp_RtlVirtualUnwind |
| 686 |
| 687 ALIGN 16 |
| 688 se_handler: |
| 689 push rsi |
| 690 push rdi |
| 691 push rbx |
| 692 push rbp |
| 693 push r12 |
| 694 push r13 |
| 695 push r14 |
| 696 push r15 |
| 697 pushfq |
| 698 sub rsp,64 |
| 699 |
| 700 mov rax,QWORD[120+r8] |
| 701 mov rbx,QWORD[248+r8] |
| 702 |
| 703 lea r10,[$L$prologue] |
| 704 cmp rbx,r10 |
| 705 jb NEAR $L$in_prologue |
| 706 |
| 707 mov rax,QWORD[152+r8] |
| 708 |
| 709 lea r10,[$L$epilogue] |
| 710 cmp rbx,r10 |
| 711 jae NEAR $L$in_prologue |
| 712 |
| 713 lea rax,[40+rax] |
| 714 |
| 715 mov rbp,QWORD[((-8))+rax] |
| 716 mov rbx,QWORD[((-16))+rax] |
| 717 mov r12,QWORD[((-24))+rax] |
| 718 mov r14,QWORD[((-32))+rax] |
| 719 mov r15,QWORD[((-40))+rax] |
| 720 mov QWORD[144+r8],rbx |
| 721 mov QWORD[160+r8],rbp |
| 722 mov QWORD[216+r8],r12 |
| 723 mov QWORD[232+r8],r14 |
| 724 mov QWORD[240+r8],r15 |
| 725 |
| 726 $L$in_prologue: |
| 727 mov rdi,QWORD[8+rax] |
| 728 mov rsi,QWORD[16+rax] |
| 729 mov QWORD[152+r8],rax |
| 730 mov QWORD[168+r8],rsi |
| 731 mov QWORD[176+r8],rdi |
| 732 |
| 733 mov rdi,QWORD[40+r9] |
| 734 mov rsi,r8 |
| 735 mov ecx,154 |
| 736 DD 0xa548f3fc |
| 737 |
| 738 mov rsi,r9 |
| 739 xor rcx,rcx |
| 740 mov rdx,QWORD[8+rsi] |
| 741 mov r8,QWORD[rsi] |
| 742 mov r9,QWORD[16+rsi] |
| 743 mov r10,QWORD[40+rsi] |
| 744 lea r11,[56+rsi] |
| 745 lea r12,[24+rsi] |
| 746 mov QWORD[32+rsp],r10 |
| 747 mov QWORD[40+rsp],r11 |
| 748 mov QWORD[48+rsp],r12 |
| 749 mov QWORD[56+rsp],rcx |
| 750 call QWORD[__imp_RtlVirtualUnwind] |
| 751 |
| 752 mov eax,1 |
| 753 add rsp,64 |
| 754 popfq |
| 755 pop r15 |
| 756 pop r14 |
| 757 pop r13 |
| 758 pop r12 |
| 759 pop rbp |
| 760 pop rbx |
| 761 pop rdi |
| 762 pop rsi |
| 763 DB 0F3h,0C3h ;repret |
| 764 |
| 765 |
| 766 section .pdata rdata align=4 |
| 767 ALIGN 4 |
| 768 DD $L$SEH_begin_md5_block_asm_data_order wrt ..imagebase |
| 769 DD $L$SEH_end_md5_block_asm_data_order wrt ..imagebase |
| 770 DD $L$SEH_info_md5_block_asm_data_order wrt ..imagebase |
| 771 |
| 772 section .xdata rdata align=8 |
| 773 ALIGN 8 |
| 774 $L$SEH_info_md5_block_asm_data_order: |
| 775 DB 9,0,0,0 |
| 776 DD se_handler wrt ..imagebase |
OLD | NEW |