📄 y-win32.asm
字号:
; Don't even think of reading this code ; It was automatically generated by crypt586.pl ; Which is a perl program used to generate the x86 assember for ; any of elf, a.out, BSDI,Win32, or Solaris ; eric <eay@cryptsoft.com> ; TITLE crypt586.asm .386.model FLAT_TEXT SEGMENTPUBLIC _fcrypt_bodyEXTRN _des_SPtrans:DWORD_fcrypt_body PROC NEAR push ebp push ebx push esi push edi ; ; Load the 2 words xor edi, edi xor esi, esi mov ebp, DWORD PTR 24[esp] push 25L000start: ; ; Round 0 mov eax, DWORD PTR 32[esp] mov edx, esi shr edx, 16 mov ecx, DWORD PTR 36[esp] xor edx, esi and eax, edx and edx, ecx mov ebx, eax shl ebx, 16 mov ecx, edx shl ecx, 16 xor eax, ebx xor edx, ecx mov ebx, DWORD PTR [ebp] xor eax, ebx mov ecx, DWORD PTR 4[ebp] xor eax, esi xor edx, esi xor edx, ecx and eax, 0fcfcfcfch xor ebx, ebx and edx, 0cfcfcfcfh xor ecx, ecx mov bl, al mov cl, ah ror edx, 4 mov ebp, DWORD PTR _des_SPtrans[ebx] mov bl, dl xor edi, ebp mov ebp, DWORD PTR _des_SPtrans[0200h+ecx] xor edi, ebp mov cl, dh shr eax, 16 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx] xor edi, ebp mov bl, ah shr edx, 16 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx] xor edi, ebp mov ebp, DWORD PTR 28[esp] mov cl, dh and eax, 0ffh and edx, 0ffh mov ebx, DWORD PTR _des_SPtrans[0600h+ebx] xor edi, ebx mov ebx, DWORD PTR _des_SPtrans[0700h+ecx] xor edi, ebx mov ebx, DWORD PTR _des_SPtrans[0400h+eax] xor edi, ebx mov ebx, DWORD PTR _des_SPtrans[0500h+edx] xor edi, ebx ; ; Round 1 mov eax, DWORD PTR 32[esp] mov edx, edi shr edx, 16 mov ecx, DWORD PTR 36[esp] xor edx, edi and eax, edx and edx, ecx mov ebx, eax shl ebx, 16 mov ecx, edx shl ecx, 16 xor eax, ebx xor edx, ecx mov ebx, DWORD PTR 8[ebp] xor eax, ebx mov ecx, DWORD PTR 12[ebp] xor eax, edi xor edx, edi xor edx, ecx and eax, 0fcfcfcfch xor ebx, ebx and edx, 0cfcfcfcfh xor ecx, ecx mov bl, al mov cl, ah ror edx, 4 mov ebp, DWORD PTR _des_SPtrans[ebx] mov bl, dl xor esi, ebp mov ebp, DWORD PTR _des_SPtrans[0200h+ecx] xor esi, ebp mov cl, dh shr eax, 16 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx] xor esi, ebp mov bl, ah shr edx, 16 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx] xor esi, ebp mov ebp, DWORD PTR 28[esp] mov cl, dh and eax, 0ffh and edx, 0ffh mov ebx, DWORD PTR _des_SPtrans[0600h+ebx] xor esi, ebx mov ebx, DWORD PTR _des_SPtrans[0700h+ecx] xor esi, ebx mov ebx, DWORD PTR _des_SPtrans[0400h+eax] xor esi, ebx mov ebx, DWORD PTR _des_SPtrans[0500h+edx] xor esi, ebx ; ; Round 2 mov eax, DWORD PTR 32[esp] mov edx, esi shr edx, 16 mov ecx, DWORD PTR 36[esp] xor edx, esi and eax, edx and edx, ecx mov ebx, eax shl ebx, 16 mov ecx, edx shl ecx, 16 xor eax, ebx xor edx, ecx mov ebx, DWORD PTR 16[ebp] xor eax, ebx mov ecx, DWORD PTR 20[ebp] xor eax, esi xor edx, esi xor edx, ecx and eax, 0fcfcfcfch xor ebx, ebx and edx, 0cfcfcfcfh xor ecx, ecx mov bl, al mov cl, ah ror edx, 4 mov ebp, DWORD PTR _des_SPtrans[ebx] mov bl, dl xor edi, ebp mov ebp, DWORD PTR _des_SPtrans[0200h+ecx] xor edi, ebp mov cl, dh shr eax, 16 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx] xor edi, ebp mov bl, ah shr edx, 16 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx] xor edi, ebp mov ebp, DWORD PTR 28[esp] mov cl, dh and eax, 0ffh and edx, 0ffh mov ebx, DWORD PTR _des_SPtrans[0600h+ebx] xor edi, ebx mov ebx, DWORD PTR _des_SPtrans[0700h+ecx] xor edi, ebx mov ebx, DWORD PTR _des_SPtrans[0400h+eax] xor edi, ebx mov ebx, DWORD PTR _des_SPtrans[0500h+edx] xor edi, ebx ; ; Round 3 mov eax, DWORD PTR 32[esp] mov edx, edi shr edx, 16 mov ecx, DWORD PTR 36[esp] xor edx, edi and eax, edx and edx, ecx mov ebx, eax shl ebx, 16 mov ecx, edx shl ecx, 16 xor eax, ebx xor edx, ecx mov ebx, DWORD PTR 24[ebp] xor eax, ebx mov ecx, DWORD PTR 28[ebp] xor eax, edi xor edx, edi xor edx, ecx and eax, 0fcfcfcfch xor ebx, ebx and edx, 0cfcfcfcfh xor ecx, ecx mov bl, al mov cl, ah ror edx, 4 mov ebp, DWORD PTR _des_SPtrans[ebx] mov bl, dl xor esi, ebp mov ebp, DWORD PTR _des_SPtrans[0200h+ecx] xor esi, ebp mov cl, dh shr eax, 16 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx] xor esi, ebp mov bl, ah shr edx, 16 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx] xor esi, ebp mov ebp, DWORD PTR 28[esp] mov cl, dh and eax, 0ffh and edx, 0ffh mov ebx, DWORD PTR _des_SPtrans[0600h+ebx] xor esi, ebx mov ebx, DWORD PTR _des_SPtrans[0700h+ecx] xor esi, ebx mov ebx, DWORD PTR _des_SPtrans[0400h+eax] xor esi, ebx mov ebx, DWORD PTR _des_SPtrans[0500h+edx] xor esi, ebx ; ; Round 4 mov eax, DWORD PTR 32[esp] mov edx, esi shr edx, 16 mov ecx, DWORD PTR 36[esp] xor edx, esi and eax, edx and edx, ecx mov ebx, eax shl ebx, 16 mov ecx, edx shl ecx, 16 xor eax, ebx xor edx, ecx mov ebx, DWORD PTR 32[ebp] xor eax, ebx mov ecx, DWORD PTR 36[ebp] xor eax, esi xor edx, esi xor edx, ecx and eax, 0fcfcfcfch xor ebx, ebx and edx, 0cfcfcfcfh xor ecx, ecx mov bl, al mov cl, ah ror edx, 4 mov ebp, DWORD PTR _des_SPtrans[ebx] mov bl, dl xor edi, ebp mov ebp, DWORD PTR _des_SPtrans[0200h+ecx] xor edi, ebp mov cl, dh shr eax, 16 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx] xor edi, ebp mov bl, ah shr edx, 16 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx] xor edi, ebp mov ebp, DWORD PTR 28[esp] mov cl, dh and eax, 0ffh and edx, 0ffh mov ebx, DWORD PTR _des_SPtrans[0600h+ebx] xor edi, ebx mov ebx, DWORD PTR _des_SPtrans[0700h+ecx] xor edi, ebx mov ebx, DWORD PTR _des_SPtrans[0400h+eax] xor edi, ebx mov ebx, DWORD PTR _des_SPtrans[0500h+edx] xor edi, ebx ; ; Round 5 mov eax, DWORD PTR 32[esp] mov edx, edi shr edx, 16 mov ecx, DWORD PTR 36[esp] xor edx, edi and eax, edx and edx, ecx mov ebx, eax shl ebx, 16 mov ecx, edx shl ecx, 16 xor eax, ebx xor edx, ecx mov ebx, DWORD PTR 40[ebp] xor eax, ebx mov ecx, DWORD PTR 44[ebp] xor eax, edi xor edx, edi xor edx, ecx and eax, 0fcfcfcfch xor ebx, ebx and edx, 0cfcfcfcfh xor ecx, ecx mov bl, al mov cl, ah ror edx, 4 mov ebp, DWORD PTR _des_SPtrans[ebx] mov bl, dl xor esi, ebp mov ebp, DWORD PTR _des_SPtrans[0200h+ecx] xor esi, ebp mov cl, dh shr eax, 16 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx] xor esi, ebp mov bl, ah shr edx, 16 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx] xor esi, ebp mov ebp, DWORD PTR 28[esp] mov cl, dh and eax, 0ffh and edx, 0ffh mov ebx, DWORD PTR _des_SPtrans[0600h+ebx] xor esi, ebx mov ebx, DWORD PTR _des_SPtrans[0700h+ecx] xor esi, ebx mov ebx, DWORD PTR _des_SPtrans[0400h+eax] xor esi, ebx mov ebx, DWORD PTR _des_SPtrans[0500h+edx] xor esi, ebx ; ; Round 6 mov eax, DWORD PTR 32[esp] mov edx, esi shr edx, 16 mov ecx, DWORD PTR 36[esp] xor edx, esi and eax, edx and edx, ecx mov ebx, eax shl ebx, 16 mov ecx, edx shl ecx, 16 xor eax, ebx xor edx, ecx mov ebx, DWORD PTR 48[ebp] xor eax, ebx mov ecx, DWORD PTR 52[ebp] xor eax, esi xor edx, esi xor edx, ecx and eax, 0fcfcfcfch xor ebx, ebx and edx, 0cfcfcfcfh xor ecx, ecx mov bl, al mov cl, ah ror edx, 4 mov ebp, DWORD PTR _des_SPtrans[ebx] mov bl, dl xor edi, ebp mov ebp, DWORD PTR _des_SPtrans[0200h+ecx] xor edi, ebp mov cl, dh shr eax, 16 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx] xor edi, ebp mov bl, ah shr edx, 16 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx] xor edi, ebp mov ebp, DWORD PTR 28[esp] mov cl, dh and eax, 0ffh and edx, 0ffh mov ebx, DWORD PTR _des_SPtrans[0600h+ebx] xor edi, ebx mov ebx, DWORD PTR _des_SPtrans[0700h+ecx] xor edi, ebx mov ebx, DWORD PTR _des_SPtrans[0400h+eax] xor edi, ebx mov ebx, DWORD PTR _des_SPtrans[0500h+edx] xor edi, ebx ; ; Round 7 mov eax, DWORD PTR 32[esp] mov edx, edi shr edx, 16 mov ecx, DWORD PTR 36[esp] xor edx, edi and eax, edx and edx, ecx mov ebx, eax shl ebx, 16 mov ecx, edx shl ecx, 16 xor eax, ebx xor edx, ecx mov ebx, DWORD PTR 56[ebp] xor eax, ebx mov ecx, DWORD PTR 60[ebp] xor eax, edi xor edx, edi xor edx, ecx and eax, 0fcfcfcfch xor ebx, ebx and edx, 0cfcfcfcfh xor ecx, ecx mov bl, al mov cl, ah ror edx, 4 mov ebp, DWORD PTR _des_SPtrans[ebx] mov bl, dl xor esi, ebp mov ebp, DWORD PTR _des_SPtrans[0200h+ecx] xor esi, ebp mov cl, dh shr eax, 16 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx] xor esi, ebp mov bl, ah shr edx, 16 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx] xor esi, ebp mov ebp, DWORD PTR 28[esp] mov cl, dh and eax, 0ffh and edx, 0ffh mov ebx, DWORD PTR _des_SPtrans[0600h+ebx] xor esi, ebx mov ebx, DWORD PTR _des_SPtrans[0700h+ecx] xor esi, ebx mov ebx, DWORD PTR _des_SPtrans[0400h+eax] xor esi, ebx mov ebx, DWORD PTR _des_SPtrans[0500h+edx] xor esi, ebx ; ; Round 8 mov eax, DWORD PTR 32[esp] mov edx, esi shr edx, 16 mov ecx, DWORD PTR 36[esp] xor edx, esi and eax, edx and edx, ecx mov ebx, eax shl ebx, 16 mov ecx, edx shl ecx, 16 xor eax, ebx xor edx, ecx mov ebx, DWORD PTR 64[ebp] xor eax, ebx
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -