📄 cx86-cpp.s
字号:
/* Don't even think of reading this code */ /* It was automatically generated by crypt.pl */ /* Which is a perl program used to generate the x86 assember for */ /* any of elf, a.out, Win32, or Solaris */ /* It can be found in SSLeay 0.6.5+ or in libdes 3.26+ */ /* eric <eay@cryptsoft.com> */ /* The inner loop instruction sequence and the IP/FP modifications */ /* are from Svend Olaf Mikkelsen <svolaf@inet.uni-c.dk> */ .file "dx86xxxx.s" .version "01.01"gcc2_compiled.:.text .align ALIGN.globl fcrypt_body TYPE(fcrypt_body,@function)fcrypt_body: pushl %ebp pushl %ebx pushl %esi pushl %edi /* Load the 2 words */ xorl %edi, %edi xorl %esi, %esi movl 24(%esp), %ebp movl $25, -8(%esp).align ALIGN.L000start: /* Round 0 */ movl 28(%esp), %eax movl %esi, %edx shrl $16, %edx movl 32(%esp), %ecx xorl %esi, %edx andl %edx, %eax andl %ecx, %edx movl %eax, %ebx sall $16, %ebx movl %edx, %ecx sall $16, %ecx xorl %ebx, %eax xorl %ecx, %edx movl (%ebp), %ebx xorl %ebx, %eax movl 4(%ebp), %ecx xorl %esi, %eax xorl %esi, %edx xorl %ecx, %edx andl $0xfcfcfcfc, %eax xorl %ebx, %ebx andl $0xcfcfcfcf, %edx xorl %ecx, %ecx movb %al, %bl movb %ah, %cl rorl $4, %edx movl des_SPtrans(%ebx),%ebp movb %dl, %bl xorl %ebp, %edi movl 0x200+des_SPtrans(%ecx),%ebp xorl %ebp, %edi movb %dh, %cl shrl $16, %eax movl 0x100+des_SPtrans(%ebx),%ebp xorl %ebp, %edi movb %ah, %bl shrl $16, %edx movl 0x300+des_SPtrans(%ecx),%ebp xorl %ebp, %edi movl 24(%esp), %ebp movb %dh, %cl andl $0xff, %eax andl $0xff, %edx movl 0x600+des_SPtrans(%ebx),%ebx xorl %ebx, %edi movl 0x700+des_SPtrans(%ecx),%ebx xorl %ebx, %edi movl 0x400+des_SPtrans(%eax),%ebx xorl %ebx, %edi movl 0x500+des_SPtrans(%edx),%ebx xorl %ebx, %edi /* Round 1 */ movl 28(%esp), %eax movl %edi, %edx shrl $16, %edx movl 32(%esp), %ecx xorl %edi, %edx andl %edx, %eax andl %ecx, %edx movl %eax, %ebx sall $16, %ebx movl %edx, %ecx sall $16, %ecx xorl %ebx, %eax xorl %ecx, %edx movl 8(%ebp), %ebx xorl %ebx, %eax movl 12(%ebp), %ecx xorl %edi, %eax xorl %edi, %edx xorl %ecx, %edx andl $0xfcfcfcfc, %eax xorl %ebx, %ebx andl $0xcfcfcfcf, %edx xorl %ecx, %ecx movb %al, %bl movb %ah, %cl rorl $4, %edx movl des_SPtrans(%ebx),%ebp movb %dl, %bl xorl %ebp, %esi movl 0x200+des_SPtrans(%ecx),%ebp xorl %ebp, %esi movb %dh, %cl shrl $16, %eax movl 0x100+des_SPtrans(%ebx),%ebp xorl %ebp, %esi movb %ah, %bl shrl $16, %edx movl 0x300+des_SPtrans(%ecx),%ebp xorl %ebp, %esi movl 24(%esp), %ebp movb %dh, %cl andl $0xff, %eax andl $0xff, %edx movl 0x600+des_SPtrans(%ebx),%ebx xorl %ebx, %esi movl 0x700+des_SPtrans(%ecx),%ebx xorl %ebx, %esi movl 0x400+des_SPtrans(%eax),%ebx xorl %ebx, %esi movl 0x500+des_SPtrans(%edx),%ebx xorl %ebx, %esi /* Round 2 */ movl 28(%esp), %eax movl %esi, %edx shrl $16, %edx movl 32(%esp), %ecx xorl %esi, %edx andl %edx, %eax andl %ecx, %edx movl %eax, %ebx sall $16, %ebx movl %edx, %ecx sall $16, %ecx xorl %ebx, %eax xorl %ecx, %edx movl 16(%ebp), %ebx xorl %ebx, %eax movl 20(%ebp), %ecx xorl %esi, %eax xorl %esi, %edx xorl %ecx, %edx andl $0xfcfcfcfc, %eax xorl %ebx, %ebx andl $0xcfcfcfcf, %edx xorl %ecx, %ecx movb %al, %bl movb %ah, %cl rorl $4, %edx movl des_SPtrans(%ebx),%ebp movb %dl, %bl xorl %ebp, %edi movl 0x200+des_SPtrans(%ecx),%ebp xorl %ebp, %edi movb %dh, %cl shrl $16, %eax movl 0x100+des_SPtrans(%ebx),%ebp xorl %ebp, %edi movb %ah, %bl shrl $16, %edx movl 0x300+des_SPtrans(%ecx),%ebp xorl %ebp, %edi movl 24(%esp), %ebp movb %dh, %cl andl $0xff, %eax andl $0xff, %edx movl 0x600+des_SPtrans(%ebx),%ebx xorl %ebx, %edi movl 0x700+des_SPtrans(%ecx),%ebx xorl %ebx, %edi movl 0x400+des_SPtrans(%eax),%ebx xorl %ebx, %edi movl 0x500+des_SPtrans(%edx),%ebx xorl %ebx, %edi /* Round 3 */ movl 28(%esp), %eax movl %edi, %edx shrl $16, %edx movl 32(%esp), %ecx xorl %edi, %edx andl %edx, %eax andl %ecx, %edx movl %eax, %ebx sall $16, %ebx movl %edx, %ecx sall $16, %ecx xorl %ebx, %eax xorl %ecx, %edx movl 24(%ebp), %ebx xorl %ebx, %eax movl 28(%ebp), %ecx xorl %edi, %eax xorl %edi, %edx xorl %ecx, %edx andl $0xfcfcfcfc, %eax xorl %ebx, %ebx andl $0xcfcfcfcf, %edx xorl %ecx, %ecx movb %al, %bl movb %ah, %cl rorl $4, %edx movl des_SPtrans(%ebx),%ebp movb %dl, %bl xorl %ebp, %esi movl 0x200+des_SPtrans(%ecx),%ebp xorl %ebp, %esi movb %dh, %cl shrl $16, %eax movl 0x100+des_SPtrans(%ebx),%ebp xorl %ebp, %esi movb %ah, %bl shrl $16, %edx movl 0x300+des_SPtrans(%ecx),%ebp xorl %ebp, %esi movl 24(%esp), %ebp movb %dh, %cl andl $0xff, %eax andl $0xff, %edx movl 0x600+des_SPtrans(%ebx),%ebx xorl %ebx, %esi movl 0x700+des_SPtrans(%ecx),%ebx xorl %ebx, %esi movl 0x400+des_SPtrans(%eax),%ebx xorl %ebx, %esi movl 0x500+des_SPtrans(%edx),%ebx xorl %ebx, %esi /* Round 4 */ movl 28(%esp), %eax movl %esi, %edx shrl $16, %edx movl 32(%esp), %ecx xorl %esi, %edx andl %edx, %eax andl %ecx, %edx movl %eax, %ebx sall $16, %ebx movl %edx, %ecx sall $16, %ecx xorl %ebx, %eax xorl %ecx, %edx movl 32(%ebp), %ebx xorl %ebx, %eax movl 36(%ebp), %ecx xorl %esi, %eax xorl %esi, %edx xorl %ecx, %edx andl $0xfcfcfcfc, %eax xorl %ebx, %ebx andl $0xcfcfcfcf, %edx xorl %ecx, %ecx movb %al, %bl movb %ah, %cl rorl $4, %edx movl des_SPtrans(%ebx),%ebp movb %dl, %bl xorl %ebp, %edi movl 0x200+des_SPtrans(%ecx),%ebp xorl %ebp, %edi movb %dh, %cl shrl $16, %eax movl 0x100+des_SPtrans(%ebx),%ebp xorl %ebp, %edi movb %ah, %bl shrl $16, %edx movl 0x300+des_SPtrans(%ecx),%ebp xorl %ebp, %edi movl 24(%esp), %ebp movb %dh, %cl andl $0xff, %eax andl $0xff, %edx movl 0x600+des_SPtrans(%ebx),%ebx xorl %ebx, %edi movl 0x700+des_SPtrans(%ecx),%ebx xorl %ebx, %edi movl 0x400+des_SPtrans(%eax),%ebx xorl %ebx, %edi movl 0x500+des_SPtrans(%edx),%ebx xorl %ebx, %edi /* Round 5 */ movl 28(%esp), %eax movl %edi, %edx shrl $16, %edx movl 32(%esp), %ecx xorl %edi, %edx andl %edx, %eax andl %ecx, %edx movl %eax, %ebx sall $16, %ebx movl %edx, %ecx sall $16, %ecx xorl %ebx, %eax xorl %ecx, %edx movl 40(%ebp), %ebx xorl %ebx, %eax movl 44(%ebp), %ecx xorl %edi, %eax xorl %edi, %edx xorl %ecx, %edx andl $0xfcfcfcfc, %eax xorl %ebx, %ebx andl $0xcfcfcfcf, %edx xorl %ecx, %ecx movb %al, %bl movb %ah, %cl rorl $4, %edx movl des_SPtrans(%ebx),%ebp movb %dl, %bl xorl %ebp, %esi movl 0x200+des_SPtrans(%ecx),%ebp xorl %ebp, %esi movb %dh, %cl shrl $16, %eax movl 0x100+des_SPtrans(%ebx),%ebp xorl %ebp, %esi movb %ah, %bl shrl $16, %edx movl 0x300+des_SPtrans(%ecx),%ebp xorl %ebp, %esi movl 24(%esp), %ebp movb %dh, %cl andl $0xff, %eax andl $0xff, %edx movl 0x600+des_SPtrans(%ebx),%ebx xorl %ebx, %esi movl 0x700+des_SPtrans(%ecx),%ebx xorl %ebx, %esi movl 0x400+des_SPtrans(%eax),%ebx xorl %ebx, %esi movl 0x500+des_SPtrans(%edx),%ebx xorl %ebx, %esi /* Round 6 */ movl 28(%esp), %eax movl %esi, %edx shrl $16, %edx movl 32(%esp), %ecx xorl %esi, %edx andl %edx, %eax andl %ecx, %edx movl %eax, %ebx sall $16, %ebx movl %edx, %ecx sall $16, %ecx xorl %ebx, %eax xorl %ecx, %edx movl 48(%ebp), %ebx xorl %ebx, %eax movl 52(%ebp), %ecx xorl %esi, %eax xorl %esi, %edx xorl %ecx, %edx andl $0xfcfcfcfc, %eax xorl %ebx, %ebx andl $0xcfcfcfcf, %edx xorl %ecx, %ecx movb %al, %bl movb %ah, %cl rorl $4, %edx movl des_SPtrans(%ebx),%ebp movb %dl, %bl xorl %ebp, %edi movl 0x200+des_SPtrans(%ecx),%ebp xorl %ebp, %edi movb %dh, %cl shrl $16, %eax movl 0x100+des_SPtrans(%ebx),%ebp xorl %ebp, %edi movb %ah, %bl shrl $16, %edx movl 0x300+des_SPtrans(%ecx),%ebp xorl %ebp, %edi movl 24(%esp), %ebp movb %dh, %cl andl $0xff, %eax andl $0xff, %edx movl 0x600+des_SPtrans(%ebx),%ebx xorl %ebx, %edi movl 0x700+des_SPtrans(%ecx),%ebx xorl %ebx, %edi movl 0x400+des_SPtrans(%eax),%ebx xorl %ebx, %edi movl 0x500+des_SPtrans(%edx),%ebx xorl %ebx, %edi /* Round 7 */ movl 28(%esp), %eax movl %edi, %edx shrl $16, %edx movl 32(%esp), %ecx xorl %edi, %edx andl %edx, %eax andl %ecx, %edx movl %eax, %ebx sall $16, %ebx movl %edx, %ecx sall $16, %ecx xorl %ebx, %eax xorl %ecx, %edx movl 56(%ebp), %ebx xorl %ebx, %eax movl 60(%ebp), %ecx xorl %edi, %eax xorl %edi, %edx xorl %ecx, %edx andl $0xfcfcfcfc, %eax xorl %ebx, %ebx andl $0xcfcfcfcf, %edx xorl %ecx, %ecx movb %al, %bl movb %ah, %cl rorl $4, %edx movl des_SPtrans(%ebx),%ebp movb %dl, %bl xorl %ebp, %esi movl 0x200+des_SPtrans(%ecx),%ebp xorl %ebp, %esi movb %dh, %cl shrl $16, %eax movl 0x100+des_SPtrans(%ebx),%ebp xorl %ebp, %esi movb %ah, %bl shrl $16, %edx movl 0x300+des_SPtrans(%ecx),%ebp xorl %ebp, %esi movl 24(%esp), %ebp movb %dh, %cl andl $0xff, %eax andl $0xff, %edx movl 0x600+des_SPtrans(%ebx),%ebx xorl %ebx, %esi movl 0x700+des_SPtrans(%ecx),%ebx xorl %ebx, %esi movl 0x400+des_SPtrans(%eax),%ebx xorl %ebx, %esi movl 0x500+des_SPtrans(%edx),%ebx xorl %ebx, %esi /* Round 8 */ movl 28(%esp), %eax movl %esi, %edx shrl $16, %edx movl 32(%esp), %ecx xorl %esi, %edx andl %edx, %eax andl %ecx, %edx movl %eax, %ebx sall $16, %ebx movl %edx, %ecx sall $16, %ecx
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -