📄 d-win32.asm
字号:
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 24[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 15
mov eax, DWORD PTR 120[ebp]
xor ebx, ebx
mov edx, DWORD PTR 124[ebp]
xor eax, edi
xor edx, edi
and eax, 0fcfcfcfch
and edx, 0cfcfcfcfh
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 24[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
jmp $L001end
$L000start_decrypt:
;
; Round 15
mov eax, DWORD PTR 120[ebp]
xor ebx, ebx
mov edx, DWORD PTR 124[ebp]
xor eax, esi
xor edx, esi
and eax, 0fcfcfcfch
and edx, 0cfcfcfcfh
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 24[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 14
mov eax, DWORD PTR 112[ebp]
xor ebx, ebx
mov edx, DWORD PTR 116[ebp]
xor eax, edi
xor edx, edi
and eax, 0fcfcfcfch
and edx, 0cfcfcfcfh
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 24[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 13
mov eax, DWORD PTR 104[ebp]
xor ebx, ebx
mov edx, DWORD PTR 108[ebp]
xor eax, esi
xor edx, esi
and eax, 0fcfcfcfch
and edx, 0cfcfcfcfh
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 24[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 12
mov eax, DWORD PTR 96[ebp]
xor ebx, ebx
mov edx, DWORD PTR 100[ebp]
xor eax, edi
xor edx, edi
and eax, 0fcfcfcfch
and edx, 0cfcfcfcfh
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 24[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 11
mov eax, DWORD PTR 88[ebp]
xor ebx, ebx
mov edx, DWORD PTR 92[ebp]
xor eax, esi
xor edx, esi
and eax, 0fcfcfcfch
and edx, 0cfcfcfcfh
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 24[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 10
mov eax, DWORD PTR 80[ebp]
xor ebx, ebx
mov edx, DWORD PTR 84[ebp]
xor eax, edi
xor edx, edi
and eax, 0fcfcfcfch
and edx, 0cfcfcfcfh
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 24[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 9
mov eax, DWORD PTR 72[ebp]
xor ebx, ebx
mov edx, DWORD PTR 76[ebp]
xor eax, esi
xor edx, esi
and eax, 0fcfcfcfch
and edx, 0cfcfcfcfh
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 24[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 8
mov eax, DWORD PTR 64[ebp]
xor ebx, ebx
mov edx, DWORD PTR 68[ebp]
xor eax, edi
xor edx, edi
and eax, 0fcfcfcfch
and edx, 0cfcfcfcfh
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 24[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 7
mov eax, DWORD PTR 56[ebp]
xor ebx, ebx
mov edx, DWORD PTR 60[ebp]
xor eax, esi
xor edx, esi
and eax, 0fcfcfcfch
and edx, 0cfcfcfcfh
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 24[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 6
mov eax, DWORD PTR 48[ebp]
xor ebx, ebx
mov edx, DWORD PTR 52[ebp]
xor eax, edi
xor edx, edi
and eax, 0fcfcfcfch
and edx, 0cfcfcfcfh
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 24[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 5
mov eax, DWORD PTR 40[ebp]
xor ebx, ebx
mov edx, DWORD PTR 44[ebp]
xor eax, esi
xor edx, esi
and eax, 0fcfcfcfch
and edx, 0cfcfcfcfh
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 24[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 4
mov eax, DWORD PTR 32[ebp]
xor ebx, ebx
mov edx, DWORD PTR 36[ebp]
xor eax, edi
xor edx, edi
and eax, 0fcfcfcfch
and edx, 0cfcfcfcfh
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 24[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 3
mov eax, DWORD PTR 24[ebp]
xor ebx, ebx
mov edx, DWORD PTR 28[ebp]
xor eax, esi
xor edx, esi
and eax, 0fcfcfcfch
and edx, 0cfcfcfcfh
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 24[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 2
mov eax, DWORD PTR 16[ebp]
xor ebx, ebx
mov edx, DWORD PTR 20[ebp]
xor eax, edi
xor edx, edi
and eax, 0fcfcfcfch
and edx, 0cfcfcfcfh
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 24[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 1
mov eax, DWORD PTR 8[ebp]
xor ebx, ebx
mov edx, DWORD PTR 12[ebp]
xor eax, esi
xor edx, esi
and eax, 0fcfcfcfch
and edx, 0cfcfcfcfh
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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -