Re-add the hand-optimised assembler versions of some of the ciphers
to the build. Should have done this ages ago: markm Reminded above to do this: peter
This commit is contained in:
parent
b1e9afabe1
commit
f3d90904b0
@ -42,7 +42,16 @@ SRCS+= a_bitstr.c a_bool.c a_bytes.c a_d2i_fp.c a_digest.c \
|
|||||||
INCS+= asn1.h asn1_mac.h asn1t.h
|
INCS+= asn1.h asn1_mac.h asn1t.h
|
||||||
|
|
||||||
# bf
|
# bf
|
||||||
SRCS+= bf_cfb64.c bf_ecb.c bf_enc.c bf_ofb64.c bf_skey.c
|
SRCS+= bf_cfb64.c bf_ecb.c bf_ofb64.c bf_skey.c
|
||||||
|
.if ${MACHINE_ARCH} == "i386"
|
||||||
|
.if ${MACHINE_CPU:Mi686}
|
||||||
|
SRCS+= bf-686.s
|
||||||
|
.else
|
||||||
|
SRCS+= bf-586.s
|
||||||
|
.endif
|
||||||
|
.else
|
||||||
|
SRCS+= bf_enc.c
|
||||||
|
.endif
|
||||||
INCS+= blowfish.h
|
INCS+= blowfish.h
|
||||||
|
|
||||||
# bio
|
# bio
|
||||||
@ -53,10 +62,16 @@ SRCS+= b_dump.c b_print.c b_sock.c bf_buff.c bf_lbuf.c bf_nbio.c \
|
|||||||
INCS+= bio.h
|
INCS+= bio.h
|
||||||
|
|
||||||
# bn
|
# bn
|
||||||
SRCS+= bn_add.c bn_asm.c bn_blind.c bn_ctx.c bn_div.c bn_err.c bn_exp.c \
|
SRCS+= bn_add.c bn_blind.c bn_ctx.c bn_div.c bn_err.c bn_exp.c \
|
||||||
bn_exp2.c bn_gcd.c bn_kron.c bn_lib.c bn_mod.c bn_mont.c \
|
bn_exp2.c bn_gcd.c bn_kron.c bn_lib.c bn_mod.c bn_mont.c \
|
||||||
bn_mpi.c bn_mul.c bn_prime.c bn_print.c bn_rand.c bn_recp.c \
|
bn_mpi.c bn_mul.c bn_prime.c bn_print.c bn_rand.c bn_recp.c \
|
||||||
bn_shift.c bn_sqr.c bn_sqrt.c bn_word.c
|
bn_shift.c bn_sqr.c bn_sqrt.c bn_word.c
|
||||||
|
.if ${MACHINE_ARCH} == "i386"
|
||||||
|
SRCS+= bn-586.s co-586.s
|
||||||
|
.else
|
||||||
|
SRCS+= bn_asm.c
|
||||||
|
.endif
|
||||||
|
|
||||||
INCS+= bn.h
|
INCS+= bn.h
|
||||||
|
|
||||||
# buffer
|
# buffer
|
||||||
@ -64,7 +79,12 @@ SRCS+= buf_err.c buffer.c
|
|||||||
INCS+= buffer.h
|
INCS+= buffer.h
|
||||||
|
|
||||||
# cast
|
# cast
|
||||||
SRCS+= c_cfb64.c c_ecb.c c_enc.c c_ofb64.c c_skey.c
|
SRCS+= c_cfb64.c c_ecb.c c_ofb64.c c_skey.c
|
||||||
|
.if ${MACHINE_ARCH} == "i386"
|
||||||
|
SRCS+= cast-586.s
|
||||||
|
.else
|
||||||
|
SRCS+= c_enc.c
|
||||||
|
.endif
|
||||||
INCS+= cast.h
|
INCS+= cast.h
|
||||||
|
|
||||||
# comp
|
# comp
|
||||||
@ -77,10 +97,15 @@ INCS+= conf.h conf_api.h
|
|||||||
|
|
||||||
# des
|
# des
|
||||||
SRCS+= cbc3_enc.c cbc_cksm.c cbc_enc.c cfb64ede.c cfb64enc.c cfb_enc.c \
|
SRCS+= cbc3_enc.c cbc_cksm.c cbc_enc.c cfb64ede.c cfb64enc.c cfb_enc.c \
|
||||||
des_enc.c des_old.c des_old2.c ecb3_enc.c ecb_enc.c ede_cbcm_enc.c \
|
des_old.c des_old2.c ecb3_enc.c ecb_enc.c ede_cbcm_enc.c \
|
||||||
enc_read.c enc_writ.c fcrypt.c fcrypt_b.c ofb64ede.c ofb64enc.c \
|
enc_read.c enc_writ.c fcrypt.c ofb64ede.c ofb64enc.c \
|
||||||
ofb_enc.c pcbc_enc.c qud_cksm.c rand_key.c read2pwd.c \
|
ofb_enc.c pcbc_enc.c qud_cksm.c rand_key.c read2pwd.c \
|
||||||
rpc_enc.c set_key.c str2key.c xcbc_enc.c
|
rpc_enc.c set_key.c str2key.c xcbc_enc.c
|
||||||
|
.if ${MACHINE_ARCH} == "i386"
|
||||||
|
SRCS+= des-586.s crypt586.s
|
||||||
|
.else
|
||||||
|
SRCS+= des_enc.c fcrypt_b.c
|
||||||
|
.endif
|
||||||
INCS+= des.h des_old.h
|
INCS+= des.h des_old.h
|
||||||
|
|
||||||
# dh
|
# dh
|
||||||
@ -126,6 +151,7 @@ SRCS+= bio_b64.c bio_enc.c bio_md.c bio_ok.c c_all.c c_allc.c c_alld.c \
|
|||||||
m_ripemd.c m_sha.c m_sha1.c names.c openbsd_hw.c p5_crpt.c \
|
m_ripemd.c m_sha.c m_sha1.c names.c openbsd_hw.c p5_crpt.c \
|
||||||
p5_crpt2.c p_dec.c p_enc.c p_lib.c p_open.c p_seal.c p_sign.c \
|
p5_crpt2.c p_dec.c p_enc.c p_lib.c p_open.c p_seal.c p_sign.c \
|
||||||
p_verify.c
|
p_verify.c
|
||||||
|
INCS+= evp.h
|
||||||
|
|
||||||
# hmac
|
# hmac
|
||||||
SRCS+= hmac.c
|
SRCS+= hmac.c
|
||||||
@ -155,6 +181,9 @@ INCS+= md4.h
|
|||||||
|
|
||||||
# md5
|
# md5
|
||||||
SRCS+= md5_dgst.c md5_one.c
|
SRCS+= md5_dgst.c md5_one.c
|
||||||
|
.if ${MACHINE_ARCH} == "i386"
|
||||||
|
SRCS+= md5-586.s
|
||||||
|
.endif
|
||||||
INCS+= md5.h
|
INCS+= md5.h
|
||||||
|
|
||||||
# mdc2
|
# mdc2
|
||||||
@ -194,11 +223,21 @@ SRCS+= rc2_cbc.c rc2_ecb.c rc2_skey.c rc2cfb64.c rc2ofb64.c
|
|||||||
INCS+= rc2.h
|
INCS+= rc2.h
|
||||||
|
|
||||||
# rc4
|
# rc4
|
||||||
SRCS+= rc4_enc.c rc4_skey.c
|
SRCS+= rc4_skey.c
|
||||||
|
.if ${MACHINE_ARCH} == "i386"
|
||||||
|
SRCS+= rc4-586.s
|
||||||
|
.else
|
||||||
|
SRCS+= rc4_enc.c
|
||||||
|
.endif
|
||||||
INCS+= rc4.h
|
INCS+= rc4.h
|
||||||
|
|
||||||
# rc5
|
# rc5
|
||||||
SRCS+= rc5_ecb.c rc5_enc.c rc5_skey.c rc5cfb64.c rc5ofb64.c
|
SRCS+= rc5_ecb.c rc5_skey.c rc5cfb64.c rc5ofb64.c
|
||||||
|
.if ${MACHINE_ARCH} == "i386"
|
||||||
|
SRCS+= rc5-586.s
|
||||||
|
.else
|
||||||
|
SRCS+= rc5_enc.c
|
||||||
|
.endif
|
||||||
INCS+= rc5.h
|
INCS+= rc5.h
|
||||||
|
|
||||||
# ripemd
|
# ripemd
|
||||||
@ -213,6 +252,9 @@ INCS+= rsa.h
|
|||||||
|
|
||||||
# sha
|
# sha
|
||||||
SRCS+= sha1_one.c sha1dgst.c sha_dgst.c sha_one.c
|
SRCS+= sha1_one.c sha1dgst.c sha_dgst.c sha_one.c
|
||||||
|
.if ${MACHINE_ARCH} == "i386"
|
||||||
|
SRCS+= sha1-586.s
|
||||||
|
.endif
|
||||||
INCS+= sha.h
|
INCS+= sha.h
|
||||||
|
|
||||||
# stack
|
# stack
|
||||||
@ -281,6 +323,10 @@ afterinstall:
|
|||||||
|
|
||||||
.include <bsd.lib.mk>
|
.include <bsd.lib.mk>
|
||||||
|
|
||||||
|
.if ${MACHINE_ARCH} == "i386"
|
||||||
|
.PATH: ${.CURDIR}/i386
|
||||||
|
.endif
|
||||||
|
|
||||||
.if defined(MAKE_IDEA) && ${MAKE_IDEA} == YES
|
.if defined(MAKE_IDEA) && ${MAKE_IDEA} == YES
|
||||||
_ideapath= ${LCRYPTO_SRC}/crypto/idea
|
_ideapath= ${LCRYPTO_SRC}/crypto/idea
|
||||||
.endif
|
.endif
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
# Use this to help generate the asm *.s files after an import. It is not
|
# Use this to help generate the asm *.s files after an import. It is not
|
||||||
# perfect by any means, but does what is needed.
|
# perfect by any means, but does what is needed.
|
||||||
# Do a 'make -f Makefile.asm all' and it will generate *.s. Move them
|
# Do a 'make -f Makefile.asm all' and it will generate *.s. Move them
|
||||||
# to the i386 subdir, and correct any exposed paths and $FreeBSD$ tags.
|
# to the i386 subdir, and correct any exposed paths and $ FreeBSD $ tags.
|
||||||
|
|
||||||
.if ${MACHINE_ARCH} == "i386"
|
.if ${MACHINE_ARCH} == "i386"
|
||||||
|
|
||||||
@ -51,7 +51,8 @@ CLEANFILES+= ${SRCS:M*.pl:S/.pl$/.cmt/} ${SRCS:M*.pl:S/.pl$/.s/}
|
|||||||
.SUFFIXES: .pl .cmt
|
.SUFFIXES: .pl .cmt
|
||||||
|
|
||||||
.pl.cmt:
|
.pl.cmt:
|
||||||
perl -I${PERLPATH} ${.IMPSRC} elf ${CPUTYPE:Mi386:S/i//} > ${.TARGET}
|
( echo ' # $$'FreeBSD'$$' ;\
|
||||||
|
perl -I${PERLPATH} ${.IMPSRC} elf ${CPUTYPE:Mi386:S/i//} ) > ${.TARGET}
|
||||||
|
|
||||||
.cmt.s:
|
.cmt.s:
|
||||||
tr -d "'" < ${.IMPSRC} > ${.TARGET}
|
tr -d "'" < ${.IMPSRC} > ${.TARGET}
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
# $FreeBSD$
|
# $FreeBSD$
|
||||||
# Dont even think of reading this code
|
|
||||||
# It was automatically generated by bf-586.pl
|
|
||||||
# Which is a perl program used to generate the x86 assember for
|
|
||||||
# any of elf, a.out, BSDI, Win32, gaswin (for GNU as on Win32) or Solaris
|
|
||||||
# eric <eay@cryptsoft.com>
|
|
||||||
|
|
||||||
.file "bf-586.s"
|
.file "bf-586.s"
|
||||||
.version "01.01"
|
.version "01.01"
|
||||||
@ -20,7 +20,7 @@ BF_encrypt:
|
|||||||
movl 16(%esp), %ebp
|
movl 16(%esp), %ebp
|
||||||
pushl %esi
|
pushl %esi
|
||||||
pushl %edi
|
pushl %edi
|
||||||
# Load the 2 words
|
|
||||||
movl (%ebx), %edi
|
movl (%ebx), %edi
|
||||||
movl 4(%ebx), %esi
|
movl 4(%ebx), %esi
|
||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
@ -28,7 +28,7 @@ BF_encrypt:
|
|||||||
xorl %ecx, %ecx
|
xorl %ecx, %ecx
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
|
|
||||||
# Round 0
|
|
||||||
movl 4(%ebp), %edx
|
movl 4(%ebp), %edx
|
||||||
movl %edi, %ebx
|
movl %edi, %ebx
|
||||||
xorl %edx, %esi
|
xorl %edx, %esi
|
||||||
@ -48,7 +48,7 @@ BF_encrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
|
|
||||||
# Round 1
|
|
||||||
movl 8(%ebp), %edx
|
movl 8(%ebp), %edx
|
||||||
movl %esi, %ebx
|
movl %esi, %ebx
|
||||||
xorl %edx, %edi
|
xorl %edx, %edi
|
||||||
@ -68,7 +68,7 @@ BF_encrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
|
|
||||||
# Round 2
|
|
||||||
movl 12(%ebp), %edx
|
movl 12(%ebp), %edx
|
||||||
movl %edi, %ebx
|
movl %edi, %ebx
|
||||||
xorl %edx, %esi
|
xorl %edx, %esi
|
||||||
@ -88,7 +88,7 @@ BF_encrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
|
|
||||||
# Round 3
|
|
||||||
movl 16(%ebp), %edx
|
movl 16(%ebp), %edx
|
||||||
movl %esi, %ebx
|
movl %esi, %ebx
|
||||||
xorl %edx, %edi
|
xorl %edx, %edi
|
||||||
@ -108,7 +108,7 @@ BF_encrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
|
|
||||||
# Round 4
|
|
||||||
movl 20(%ebp), %edx
|
movl 20(%ebp), %edx
|
||||||
movl %edi, %ebx
|
movl %edi, %ebx
|
||||||
xorl %edx, %esi
|
xorl %edx, %esi
|
||||||
@ -128,7 +128,7 @@ BF_encrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
|
|
||||||
# Round 5
|
|
||||||
movl 24(%ebp), %edx
|
movl 24(%ebp), %edx
|
||||||
movl %esi, %ebx
|
movl %esi, %ebx
|
||||||
xorl %edx, %edi
|
xorl %edx, %edi
|
||||||
@ -148,7 +148,7 @@ BF_encrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
|
|
||||||
# Round 6
|
|
||||||
movl 28(%ebp), %edx
|
movl 28(%ebp), %edx
|
||||||
movl %edi, %ebx
|
movl %edi, %ebx
|
||||||
xorl %edx, %esi
|
xorl %edx, %esi
|
||||||
@ -168,7 +168,7 @@ BF_encrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
|
|
||||||
# Round 7
|
|
||||||
movl 32(%ebp), %edx
|
movl 32(%ebp), %edx
|
||||||
movl %esi, %ebx
|
movl %esi, %ebx
|
||||||
xorl %edx, %edi
|
xorl %edx, %edi
|
||||||
@ -188,7 +188,7 @@ BF_encrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
|
|
||||||
# Round 8
|
|
||||||
movl 36(%ebp), %edx
|
movl 36(%ebp), %edx
|
||||||
movl %edi, %ebx
|
movl %edi, %ebx
|
||||||
xorl %edx, %esi
|
xorl %edx, %esi
|
||||||
@ -208,7 +208,7 @@ BF_encrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
|
|
||||||
# Round 9
|
|
||||||
movl 40(%ebp), %edx
|
movl 40(%ebp), %edx
|
||||||
movl %esi, %ebx
|
movl %esi, %ebx
|
||||||
xorl %edx, %edi
|
xorl %edx, %edi
|
||||||
@ -228,7 +228,7 @@ BF_encrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
|
|
||||||
# Round 10
|
|
||||||
movl 44(%ebp), %edx
|
movl 44(%ebp), %edx
|
||||||
movl %edi, %ebx
|
movl %edi, %ebx
|
||||||
xorl %edx, %esi
|
xorl %edx, %esi
|
||||||
@ -248,7 +248,7 @@ BF_encrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
|
|
||||||
# Round 11
|
|
||||||
movl 48(%ebp), %edx
|
movl 48(%ebp), %edx
|
||||||
movl %esi, %ebx
|
movl %esi, %ebx
|
||||||
xorl %edx, %edi
|
xorl %edx, %edi
|
||||||
@ -268,7 +268,7 @@ BF_encrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
|
|
||||||
# Round 12
|
|
||||||
movl 52(%ebp), %edx
|
movl 52(%ebp), %edx
|
||||||
movl %edi, %ebx
|
movl %edi, %ebx
|
||||||
xorl %edx, %esi
|
xorl %edx, %esi
|
||||||
@ -288,7 +288,7 @@ BF_encrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
|
|
||||||
# Round 13
|
|
||||||
movl 56(%ebp), %edx
|
movl 56(%ebp), %edx
|
||||||
movl %esi, %ebx
|
movl %esi, %ebx
|
||||||
xorl %edx, %edi
|
xorl %edx, %edi
|
||||||
@ -308,7 +308,7 @@ BF_encrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
|
|
||||||
# Round 14
|
|
||||||
movl 60(%ebp), %edx
|
movl 60(%ebp), %edx
|
||||||
movl %edi, %ebx
|
movl %edi, %ebx
|
||||||
xorl %edx, %esi
|
xorl %edx, %esi
|
||||||
@ -328,7 +328,7 @@ BF_encrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
|
|
||||||
# Round 15
|
|
||||||
movl 64(%ebp), %edx
|
movl 64(%ebp), %edx
|
||||||
movl %esi, %ebx
|
movl %esi, %ebx
|
||||||
xorl %edx, %edi
|
xorl %edx, %edi
|
||||||
@ -345,7 +345,7 @@ BF_encrypt:
|
|||||||
xorl %eax, %ebx
|
xorl %eax, %ebx
|
||||||
movl 3144(%ebp,%edx,4),%edx
|
movl 3144(%ebp,%edx,4),%edx
|
||||||
addl %edx, %ebx
|
addl %edx, %ebx
|
||||||
# Load parameter 0 (16) enc=1
|
|
||||||
movl 20(%esp), %eax
|
movl 20(%esp), %eax
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
movl 68(%ebp), %edx
|
movl 68(%ebp), %edx
|
||||||
@ -357,8 +357,8 @@ BF_encrypt:
|
|||||||
popl %ebx
|
popl %ebx
|
||||||
popl %ebp
|
popl %ebp
|
||||||
ret
|
ret
|
||||||
.BF_encrypt_end:
|
.L_BF_encrypt_end:
|
||||||
.size BF_encrypt,.BF_encrypt_end-BF_encrypt
|
.size BF_encrypt,.L_BF_encrypt_end-BF_encrypt
|
||||||
.ident "BF_encrypt"
|
.ident "BF_encrypt"
|
||||||
.text
|
.text
|
||||||
.align 16
|
.align 16
|
||||||
@ -372,7 +372,7 @@ BF_decrypt:
|
|||||||
movl 16(%esp), %ebp
|
movl 16(%esp), %ebp
|
||||||
pushl %esi
|
pushl %esi
|
||||||
pushl %edi
|
pushl %edi
|
||||||
# Load the 2 words
|
|
||||||
movl (%ebx), %edi
|
movl (%ebx), %edi
|
||||||
movl 4(%ebx), %esi
|
movl 4(%ebx), %esi
|
||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
@ -380,7 +380,7 @@ BF_decrypt:
|
|||||||
xorl %ecx, %ecx
|
xorl %ecx, %ecx
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
|
|
||||||
# Round 16
|
|
||||||
movl 64(%ebp), %edx
|
movl 64(%ebp), %edx
|
||||||
movl %edi, %ebx
|
movl %edi, %ebx
|
||||||
xorl %edx, %esi
|
xorl %edx, %esi
|
||||||
@ -400,7 +400,7 @@ BF_decrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
|
|
||||||
# Round 15
|
|
||||||
movl 60(%ebp), %edx
|
movl 60(%ebp), %edx
|
||||||
movl %esi, %ebx
|
movl %esi, %ebx
|
||||||
xorl %edx, %edi
|
xorl %edx, %edi
|
||||||
@ -420,7 +420,7 @@ BF_decrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
|
|
||||||
# Round 14
|
|
||||||
movl 56(%ebp), %edx
|
movl 56(%ebp), %edx
|
||||||
movl %edi, %ebx
|
movl %edi, %ebx
|
||||||
xorl %edx, %esi
|
xorl %edx, %esi
|
||||||
@ -440,7 +440,7 @@ BF_decrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
|
|
||||||
# Round 13
|
|
||||||
movl 52(%ebp), %edx
|
movl 52(%ebp), %edx
|
||||||
movl %esi, %ebx
|
movl %esi, %ebx
|
||||||
xorl %edx, %edi
|
xorl %edx, %edi
|
||||||
@ -460,7 +460,7 @@ BF_decrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
|
|
||||||
# Round 12
|
|
||||||
movl 48(%ebp), %edx
|
movl 48(%ebp), %edx
|
||||||
movl %edi, %ebx
|
movl %edi, %ebx
|
||||||
xorl %edx, %esi
|
xorl %edx, %esi
|
||||||
@ -480,7 +480,7 @@ BF_decrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
|
|
||||||
# Round 11
|
|
||||||
movl 44(%ebp), %edx
|
movl 44(%ebp), %edx
|
||||||
movl %esi, %ebx
|
movl %esi, %ebx
|
||||||
xorl %edx, %edi
|
xorl %edx, %edi
|
||||||
@ -500,7 +500,7 @@ BF_decrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
|
|
||||||
# Round 10
|
|
||||||
movl 40(%ebp), %edx
|
movl 40(%ebp), %edx
|
||||||
movl %edi, %ebx
|
movl %edi, %ebx
|
||||||
xorl %edx, %esi
|
xorl %edx, %esi
|
||||||
@ -520,7 +520,7 @@ BF_decrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
|
|
||||||
# Round 9
|
|
||||||
movl 36(%ebp), %edx
|
movl 36(%ebp), %edx
|
||||||
movl %esi, %ebx
|
movl %esi, %ebx
|
||||||
xorl %edx, %edi
|
xorl %edx, %edi
|
||||||
@ -540,7 +540,7 @@ BF_decrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
|
|
||||||
# Round 8
|
|
||||||
movl 32(%ebp), %edx
|
movl 32(%ebp), %edx
|
||||||
movl %edi, %ebx
|
movl %edi, %ebx
|
||||||
xorl %edx, %esi
|
xorl %edx, %esi
|
||||||
@ -560,7 +560,7 @@ BF_decrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
|
|
||||||
# Round 7
|
|
||||||
movl 28(%ebp), %edx
|
movl 28(%ebp), %edx
|
||||||
movl %esi, %ebx
|
movl %esi, %ebx
|
||||||
xorl %edx, %edi
|
xorl %edx, %edi
|
||||||
@ -580,7 +580,7 @@ BF_decrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
|
|
||||||
# Round 6
|
|
||||||
movl 24(%ebp), %edx
|
movl 24(%ebp), %edx
|
||||||
movl %edi, %ebx
|
movl %edi, %ebx
|
||||||
xorl %edx, %esi
|
xorl %edx, %esi
|
||||||
@ -600,7 +600,7 @@ BF_decrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
|
|
||||||
# Round 5
|
|
||||||
movl 20(%ebp), %edx
|
movl 20(%ebp), %edx
|
||||||
movl %esi, %ebx
|
movl %esi, %ebx
|
||||||
xorl %edx, %edi
|
xorl %edx, %edi
|
||||||
@ -620,7 +620,7 @@ BF_decrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
|
|
||||||
# Round 4
|
|
||||||
movl 16(%ebp), %edx
|
movl 16(%ebp), %edx
|
||||||
movl %edi, %ebx
|
movl %edi, %ebx
|
||||||
xorl %edx, %esi
|
xorl %edx, %esi
|
||||||
@ -640,7 +640,7 @@ BF_decrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
|
|
||||||
# Round 3
|
|
||||||
movl 12(%ebp), %edx
|
movl 12(%ebp), %edx
|
||||||
movl %esi, %ebx
|
movl %esi, %ebx
|
||||||
xorl %edx, %edi
|
xorl %edx, %edi
|
||||||
@ -660,7 +660,7 @@ BF_decrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
|
|
||||||
# Round 2
|
|
||||||
movl 8(%ebp), %edx
|
movl 8(%ebp), %edx
|
||||||
movl %edi, %ebx
|
movl %edi, %ebx
|
||||||
xorl %edx, %esi
|
xorl %edx, %esi
|
||||||
@ -680,7 +680,7 @@ BF_decrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
|
|
||||||
# Round 1
|
|
||||||
movl 4(%ebp), %edx
|
movl 4(%ebp), %edx
|
||||||
movl %esi, %ebx
|
movl %esi, %ebx
|
||||||
xorl %edx, %edi
|
xorl %edx, %edi
|
||||||
@ -697,7 +697,7 @@ BF_decrypt:
|
|||||||
xorl %eax, %ebx
|
xorl %eax, %ebx
|
||||||
movl 3144(%ebp,%edx,4),%edx
|
movl 3144(%ebp,%edx,4),%edx
|
||||||
addl %edx, %ebx
|
addl %edx, %ebx
|
||||||
# Load parameter 0 (1) enc=0
|
|
||||||
movl 20(%esp), %eax
|
movl 20(%esp), %eax
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
movl (%ebp), %edx
|
movl (%ebp), %edx
|
||||||
@ -709,8 +709,8 @@ BF_decrypt:
|
|||||||
popl %ebx
|
popl %ebx
|
||||||
popl %ebp
|
popl %ebp
|
||||||
ret
|
ret
|
||||||
.BF_decrypt_end:
|
.L_BF_decrypt_end:
|
||||||
.size BF_decrypt,.BF_decrypt_end-BF_decrypt
|
.size BF_decrypt,.L_BF_decrypt_end-BF_decrypt
|
||||||
.ident "BF_decrypt"
|
.ident "BF_decrypt"
|
||||||
.text
|
.text
|
||||||
.align 16
|
.align 16
|
||||||
@ -723,7 +723,7 @@ BF_cbc_encrypt:
|
|||||||
pushl %esi
|
pushl %esi
|
||||||
pushl %edi
|
pushl %edi
|
||||||
movl 28(%esp), %ebp
|
movl 28(%esp), %ebp
|
||||||
# getting iv ptr from parameter 4
|
|
||||||
movl 36(%esp), %ebx
|
movl 36(%esp), %ebx
|
||||||
movl (%ebx), %esi
|
movl (%ebx), %esi
|
||||||
movl 4(%ebx), %edi
|
movl 4(%ebx), %edi
|
||||||
@ -734,9 +734,9 @@ BF_cbc_encrypt:
|
|||||||
movl %esp, %ebx
|
movl %esp, %ebx
|
||||||
movl 36(%esp), %esi
|
movl 36(%esp), %esi
|
||||||
movl 40(%esp), %edi
|
movl 40(%esp), %edi
|
||||||
# getting encrypt flag from parameter 5
|
|
||||||
movl 56(%esp), %ecx
|
movl 56(%esp), %ecx
|
||||||
# get and push parameter 3
|
|
||||||
movl 48(%esp), %eax
|
movl 48(%esp), %eax
|
||||||
pushl %eax
|
pushl %eax
|
||||||
pushl %ebx
|
pushl %ebx
|
||||||
@ -752,18 +752,18 @@ BF_cbc_encrypt:
|
|||||||
xorl %ecx, %eax
|
xorl %ecx, %eax
|
||||||
xorl %edx, %ebx
|
xorl %edx, %ebx
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 200 # bswapl %eax
|
.byte 200
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 203 # bswapl %ebx
|
.byte 203
|
||||||
movl %eax, 8(%esp)
|
movl %eax, 8(%esp)
|
||||||
movl %ebx, 12(%esp)
|
movl %ebx, 12(%esp)
|
||||||
call BF_encrypt
|
call BF_encrypt
|
||||||
movl 8(%esp), %eax
|
movl 8(%esp), %eax
|
||||||
movl 12(%esp), %ebx
|
movl 12(%esp), %ebx
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 200 # bswapl %eax
|
.byte 200
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 203 # bswapl %ebx
|
.byte 203
|
||||||
movl %eax, (%edi)
|
movl %eax, (%edi)
|
||||||
movl %ebx, 4(%edi)
|
movl %ebx, 4(%edi)
|
||||||
addl $8, %esi
|
addl $8, %esi
|
||||||
@ -774,43 +774,48 @@ BF_cbc_encrypt:
|
|||||||
movl 52(%esp), %ebp
|
movl 52(%esp), %ebp
|
||||||
andl $7, %ebp
|
andl $7, %ebp
|
||||||
jz .L003finish
|
jz .L003finish
|
||||||
|
call .L004PIC_point
|
||||||
|
.L004PIC_point:
|
||||||
|
popl %edx
|
||||||
|
leal .L005cbc_enc_jmp_table-.L004PIC_point(%edx),%ecx
|
||||||
|
movl (%ecx,%ebp,4), %ebp
|
||||||
|
addl %edx, %ebp
|
||||||
xorl %ecx, %ecx
|
xorl %ecx, %ecx
|
||||||
xorl %edx, %edx
|
xorl %edx, %edx
|
||||||
movl .L004cbc_enc_jmp_table(,%ebp,4),%ebp
|
|
||||||
jmp *%ebp
|
jmp *%ebp
|
||||||
.L005ej7:
|
.L006ej7:
|
||||||
movb 6(%esi), %dh
|
movb 6(%esi), %dh
|
||||||
sall $8, %edx
|
sall $8, %edx
|
||||||
.L006ej6:
|
.L007ej6:
|
||||||
movb 5(%esi), %dh
|
movb 5(%esi), %dh
|
||||||
.L007ej5:
|
.L008ej5:
|
||||||
movb 4(%esi), %dl
|
movb 4(%esi), %dl
|
||||||
.L008ej4:
|
.L009ej4:
|
||||||
movl (%esi), %ecx
|
movl (%esi), %ecx
|
||||||
jmp .L009ejend
|
jmp .L010ejend
|
||||||
.L010ej3:
|
.L011ej3:
|
||||||
movb 2(%esi), %ch
|
movb 2(%esi), %ch
|
||||||
sall $8, %ecx
|
sall $8, %ecx
|
||||||
.L011ej2:
|
.L012ej2:
|
||||||
movb 1(%esi), %ch
|
movb 1(%esi), %ch
|
||||||
.L012ej1:
|
.L013ej1:
|
||||||
movb (%esi), %cl
|
movb (%esi), %cl
|
||||||
.L009ejend:
|
.L010ejend:
|
||||||
xorl %ecx, %eax
|
xorl %ecx, %eax
|
||||||
xorl %edx, %ebx
|
xorl %edx, %ebx
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 200 # bswapl %eax
|
.byte 200
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 203 # bswapl %ebx
|
.byte 203
|
||||||
movl %eax, 8(%esp)
|
movl %eax, 8(%esp)
|
||||||
movl %ebx, 12(%esp)
|
movl %ebx, 12(%esp)
|
||||||
call BF_encrypt
|
call BF_encrypt
|
||||||
movl 8(%esp), %eax
|
movl 8(%esp), %eax
|
||||||
movl 12(%esp), %ebx
|
movl 12(%esp), %ebx
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 200 # bswapl %eax
|
.byte 200
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 203 # bswapl %ebx
|
.byte 203
|
||||||
movl %eax, (%edi)
|
movl %eax, (%edi)
|
||||||
movl %ebx, 4(%edi)
|
movl %ebx, 4(%edi)
|
||||||
jmp .L003finish
|
jmp .L003finish
|
||||||
@ -819,23 +824,23 @@ BF_cbc_encrypt:
|
|||||||
andl $4294967288, %ebp
|
andl $4294967288, %ebp
|
||||||
movl 16(%esp), %eax
|
movl 16(%esp), %eax
|
||||||
movl 20(%esp), %ebx
|
movl 20(%esp), %ebx
|
||||||
jz .L013decrypt_finish
|
jz .L014decrypt_finish
|
||||||
.L014decrypt_loop:
|
.L015decrypt_loop:
|
||||||
movl (%esi), %eax
|
movl (%esi), %eax
|
||||||
movl 4(%esi), %ebx
|
movl 4(%esi), %ebx
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 200 # bswapl %eax
|
.byte 200
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 203 # bswapl %ebx
|
.byte 203
|
||||||
movl %eax, 8(%esp)
|
movl %eax, 8(%esp)
|
||||||
movl %ebx, 12(%esp)
|
movl %ebx, 12(%esp)
|
||||||
call BF_decrypt
|
call BF_decrypt
|
||||||
movl 8(%esp), %eax
|
movl 8(%esp), %eax
|
||||||
movl 12(%esp), %ebx
|
movl 12(%esp), %ebx
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 200 # bswapl %eax
|
.byte 200
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 203 # bswapl %ebx
|
.byte 203
|
||||||
movl 16(%esp), %ecx
|
movl 16(%esp), %ecx
|
||||||
movl 20(%esp), %edx
|
movl 20(%esp), %edx
|
||||||
xorl %eax, %ecx
|
xorl %eax, %ecx
|
||||||
@ -849,52 +854,52 @@ BF_cbc_encrypt:
|
|||||||
addl $8, %esi
|
addl $8, %esi
|
||||||
addl $8, %edi
|
addl $8, %edi
|
||||||
subl $8, %ebp
|
subl $8, %ebp
|
||||||
jnz .L014decrypt_loop
|
jnz .L015decrypt_loop
|
||||||
.L013decrypt_finish:
|
.L014decrypt_finish:
|
||||||
movl 52(%esp), %ebp
|
movl 52(%esp), %ebp
|
||||||
andl $7, %ebp
|
andl $7, %ebp
|
||||||
jz .L003finish
|
jz .L003finish
|
||||||
movl (%esi), %eax
|
movl (%esi), %eax
|
||||||
movl 4(%esi), %ebx
|
movl 4(%esi), %ebx
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 200 # bswapl %eax
|
.byte 200
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 203 # bswapl %ebx
|
.byte 203
|
||||||
movl %eax, 8(%esp)
|
movl %eax, 8(%esp)
|
||||||
movl %ebx, 12(%esp)
|
movl %ebx, 12(%esp)
|
||||||
call BF_decrypt
|
call BF_decrypt
|
||||||
movl 8(%esp), %eax
|
movl 8(%esp), %eax
|
||||||
movl 12(%esp), %ebx
|
movl 12(%esp), %ebx
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 200 # bswapl %eax
|
.byte 200
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 203 # bswapl %ebx
|
.byte 203
|
||||||
movl 16(%esp), %ecx
|
movl 16(%esp), %ecx
|
||||||
movl 20(%esp), %edx
|
movl 20(%esp), %edx
|
||||||
xorl %eax, %ecx
|
xorl %eax, %ecx
|
||||||
xorl %ebx, %edx
|
xorl %ebx, %edx
|
||||||
movl (%esi), %eax
|
movl (%esi), %eax
|
||||||
movl 4(%esi), %ebx
|
movl 4(%esi), %ebx
|
||||||
.L015dj7:
|
.L016dj7:
|
||||||
rorl $16, %edx
|
rorl $16, %edx
|
||||||
movb %dl, 6(%edi)
|
movb %dl, 6(%edi)
|
||||||
shrl $16, %edx
|
shrl $16, %edx
|
||||||
.L016dj6:
|
.L017dj6:
|
||||||
movb %dh, 5(%edi)
|
movb %dh, 5(%edi)
|
||||||
.L017dj5:
|
.L018dj5:
|
||||||
movb %dl, 4(%edi)
|
movb %dl, 4(%edi)
|
||||||
.L018dj4:
|
.L019dj4:
|
||||||
movl %ecx, (%edi)
|
movl %ecx, (%edi)
|
||||||
jmp .L019djend
|
jmp .L020djend
|
||||||
.L020dj3:
|
.L021dj3:
|
||||||
rorl $16, %ecx
|
rorl $16, %ecx
|
||||||
movb %cl, 2(%edi)
|
movb %cl, 2(%edi)
|
||||||
sall $16, %ecx
|
sall $16, %ecx
|
||||||
.L021dj2:
|
.L022dj2:
|
||||||
movb %ch, 1(%esi)
|
movb %ch, 1(%esi)
|
||||||
.L022dj1:
|
.L023dj1:
|
||||||
movb %cl, (%esi)
|
movb %cl, (%esi)
|
||||||
.L019djend:
|
.L020djend:
|
||||||
jmp .L003finish
|
jmp .L003finish
|
||||||
.align 16
|
.align 16
|
||||||
.L003finish:
|
.L003finish:
|
||||||
@ -908,25 +913,15 @@ BF_cbc_encrypt:
|
|||||||
popl %ebp
|
popl %ebp
|
||||||
ret
|
ret
|
||||||
.align 16
|
.align 16
|
||||||
.L004cbc_enc_jmp_table:
|
.L005cbc_enc_jmp_table:
|
||||||
.long 0
|
.long 0
|
||||||
.long .L012ej1
|
.long .L013ej1-.L004PIC_point
|
||||||
.long .L011ej2
|
.long .L012ej2-.L004PIC_point
|
||||||
.long .L010ej3
|
.long .L011ej3-.L004PIC_point
|
||||||
.long .L008ej4
|
.long .L009ej4-.L004PIC_point
|
||||||
.long .L007ej5
|
.long .L008ej5-.L004PIC_point
|
||||||
.long .L006ej6
|
.long .L007ej6-.L004PIC_point
|
||||||
.long .L005ej7
|
.long .L006ej7-.L004PIC_point
|
||||||
.align 16
|
|
||||||
.L023cbc_dec_jmp_table:
|
|
||||||
.long 0
|
|
||||||
.long .L022dj1
|
|
||||||
.long .L021dj2
|
|
||||||
.long .L020dj3
|
|
||||||
.long .L018dj4
|
|
||||||
.long .L017dj5
|
|
||||||
.long .L016dj6
|
|
||||||
.long .L015dj7
|
|
||||||
.L_BF_cbc_encrypt_end:
|
.L_BF_cbc_encrypt_end:
|
||||||
.size BF_cbc_encrypt,.L_BF_cbc_encrypt_end-BF_cbc_encrypt
|
.size BF_cbc_encrypt,.L_BF_cbc_encrypt_end-BF_cbc_encrypt
|
||||||
.ident "desasm.pl"
|
.ident "desasm.pl"
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
# $FreeBSD$
|
# $FreeBSD$
|
||||||
# Dont even think of reading this code
|
|
||||||
# It was automatically generated by bf-686.pl
|
|
||||||
# Which is a perl program used to generate the x86 assember for
|
|
||||||
# any of elf, a.out, BSDI, Win32, gaswin (for GNU as on Win32) or Solaris
|
|
||||||
# eric <eay@cryptsoft.com>
|
|
||||||
|
|
||||||
.file "bf-686.s"
|
.file "bf-686.s"
|
||||||
.version "01.01"
|
.version "01.01"
|
||||||
@ -19,18 +19,18 @@ BF_encrypt:
|
|||||||
pushl %edi
|
pushl %edi
|
||||||
|
|
||||||
|
|
||||||
# Load the 2 words
|
|
||||||
movl 20(%esp), %eax
|
movl 20(%esp), %eax
|
||||||
movl (%eax), %ecx
|
movl (%eax), %ecx
|
||||||
movl 4(%eax), %edx
|
movl 4(%eax), %edx
|
||||||
|
|
||||||
# P pointer, s and enc flag
|
|
||||||
movl 24(%esp), %edi
|
movl 24(%esp), %edi
|
||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %ebx, %ebx
|
xorl %ebx, %ebx
|
||||||
xorl (%edi), %ecx
|
xorl (%edi), %ecx
|
||||||
|
|
||||||
# Round 0
|
|
||||||
rorl $16, %ecx
|
rorl $16, %ecx
|
||||||
movl 4(%edi), %esi
|
movl 4(%edi), %esi
|
||||||
movb %ch, %al
|
movb %ch, %al
|
||||||
@ -49,7 +49,7 @@ BF_encrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %esi, %edx
|
xorl %esi, %edx
|
||||||
|
|
||||||
# Round 1
|
|
||||||
rorl $16, %edx
|
rorl $16, %edx
|
||||||
movl 8(%edi), %esi
|
movl 8(%edi), %esi
|
||||||
movb %dh, %al
|
movb %dh, %al
|
||||||
@ -68,7 +68,7 @@ BF_encrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %esi, %ecx
|
xorl %esi, %ecx
|
||||||
|
|
||||||
# Round 2
|
|
||||||
rorl $16, %ecx
|
rorl $16, %ecx
|
||||||
movl 12(%edi), %esi
|
movl 12(%edi), %esi
|
||||||
movb %ch, %al
|
movb %ch, %al
|
||||||
@ -87,7 +87,7 @@ BF_encrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %esi, %edx
|
xorl %esi, %edx
|
||||||
|
|
||||||
# Round 3
|
|
||||||
rorl $16, %edx
|
rorl $16, %edx
|
||||||
movl 16(%edi), %esi
|
movl 16(%edi), %esi
|
||||||
movb %dh, %al
|
movb %dh, %al
|
||||||
@ -106,7 +106,7 @@ BF_encrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %esi, %ecx
|
xorl %esi, %ecx
|
||||||
|
|
||||||
# Round 4
|
|
||||||
rorl $16, %ecx
|
rorl $16, %ecx
|
||||||
movl 20(%edi), %esi
|
movl 20(%edi), %esi
|
||||||
movb %ch, %al
|
movb %ch, %al
|
||||||
@ -125,7 +125,7 @@ BF_encrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %esi, %edx
|
xorl %esi, %edx
|
||||||
|
|
||||||
# Round 5
|
|
||||||
rorl $16, %edx
|
rorl $16, %edx
|
||||||
movl 24(%edi), %esi
|
movl 24(%edi), %esi
|
||||||
movb %dh, %al
|
movb %dh, %al
|
||||||
@ -144,7 +144,7 @@ BF_encrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %esi, %ecx
|
xorl %esi, %ecx
|
||||||
|
|
||||||
# Round 6
|
|
||||||
rorl $16, %ecx
|
rorl $16, %ecx
|
||||||
movl 28(%edi), %esi
|
movl 28(%edi), %esi
|
||||||
movb %ch, %al
|
movb %ch, %al
|
||||||
@ -163,7 +163,7 @@ BF_encrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %esi, %edx
|
xorl %esi, %edx
|
||||||
|
|
||||||
# Round 7
|
|
||||||
rorl $16, %edx
|
rorl $16, %edx
|
||||||
movl 32(%edi), %esi
|
movl 32(%edi), %esi
|
||||||
movb %dh, %al
|
movb %dh, %al
|
||||||
@ -182,7 +182,7 @@ BF_encrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %esi, %ecx
|
xorl %esi, %ecx
|
||||||
|
|
||||||
# Round 8
|
|
||||||
rorl $16, %ecx
|
rorl $16, %ecx
|
||||||
movl 36(%edi), %esi
|
movl 36(%edi), %esi
|
||||||
movb %ch, %al
|
movb %ch, %al
|
||||||
@ -201,7 +201,7 @@ BF_encrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %esi, %edx
|
xorl %esi, %edx
|
||||||
|
|
||||||
# Round 9
|
|
||||||
rorl $16, %edx
|
rorl $16, %edx
|
||||||
movl 40(%edi), %esi
|
movl 40(%edi), %esi
|
||||||
movb %dh, %al
|
movb %dh, %al
|
||||||
@ -220,7 +220,7 @@ BF_encrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %esi, %ecx
|
xorl %esi, %ecx
|
||||||
|
|
||||||
# Round 10
|
|
||||||
rorl $16, %ecx
|
rorl $16, %ecx
|
||||||
movl 44(%edi), %esi
|
movl 44(%edi), %esi
|
||||||
movb %ch, %al
|
movb %ch, %al
|
||||||
@ -239,7 +239,7 @@ BF_encrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %esi, %edx
|
xorl %esi, %edx
|
||||||
|
|
||||||
# Round 11
|
|
||||||
rorl $16, %edx
|
rorl $16, %edx
|
||||||
movl 48(%edi), %esi
|
movl 48(%edi), %esi
|
||||||
movb %dh, %al
|
movb %dh, %al
|
||||||
@ -258,7 +258,7 @@ BF_encrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %esi, %ecx
|
xorl %esi, %ecx
|
||||||
|
|
||||||
# Round 12
|
|
||||||
rorl $16, %ecx
|
rorl $16, %ecx
|
||||||
movl 52(%edi), %esi
|
movl 52(%edi), %esi
|
||||||
movb %ch, %al
|
movb %ch, %al
|
||||||
@ -277,7 +277,7 @@ BF_encrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %esi, %edx
|
xorl %esi, %edx
|
||||||
|
|
||||||
# Round 13
|
|
||||||
rorl $16, %edx
|
rorl $16, %edx
|
||||||
movl 56(%edi), %esi
|
movl 56(%edi), %esi
|
||||||
movb %dh, %al
|
movb %dh, %al
|
||||||
@ -296,7 +296,7 @@ BF_encrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %esi, %ecx
|
xorl %esi, %ecx
|
||||||
|
|
||||||
# Round 14
|
|
||||||
rorl $16, %ecx
|
rorl $16, %ecx
|
||||||
movl 60(%edi), %esi
|
movl 60(%edi), %esi
|
||||||
movb %ch, %al
|
movb %ch, %al
|
||||||
@ -315,7 +315,7 @@ BF_encrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %esi, %edx
|
xorl %esi, %edx
|
||||||
|
|
||||||
# Round 15
|
|
||||||
rorl $16, %edx
|
rorl $16, %edx
|
||||||
movl 64(%edi), %esi
|
movl 64(%edi), %esi
|
||||||
movb %dh, %al
|
movb %dh, %al
|
||||||
@ -356,18 +356,18 @@ BF_decrypt:
|
|||||||
pushl %edi
|
pushl %edi
|
||||||
|
|
||||||
|
|
||||||
# Load the 2 words
|
|
||||||
movl 20(%esp), %eax
|
movl 20(%esp), %eax
|
||||||
movl (%eax), %ecx
|
movl (%eax), %ecx
|
||||||
movl 4(%eax), %edx
|
movl 4(%eax), %edx
|
||||||
|
|
||||||
# P pointer, s and enc flag
|
|
||||||
movl 24(%esp), %edi
|
movl 24(%esp), %edi
|
||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %ebx, %ebx
|
xorl %ebx, %ebx
|
||||||
xorl 68(%edi), %ecx
|
xorl 68(%edi), %ecx
|
||||||
|
|
||||||
# Round 16
|
|
||||||
rorl $16, %ecx
|
rorl $16, %ecx
|
||||||
movl 64(%edi), %esi
|
movl 64(%edi), %esi
|
||||||
movb %ch, %al
|
movb %ch, %al
|
||||||
@ -386,7 +386,7 @@ BF_decrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %esi, %edx
|
xorl %esi, %edx
|
||||||
|
|
||||||
# Round 15
|
|
||||||
rorl $16, %edx
|
rorl $16, %edx
|
||||||
movl 60(%edi), %esi
|
movl 60(%edi), %esi
|
||||||
movb %dh, %al
|
movb %dh, %al
|
||||||
@ -405,7 +405,7 @@ BF_decrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %esi, %ecx
|
xorl %esi, %ecx
|
||||||
|
|
||||||
# Round 14
|
|
||||||
rorl $16, %ecx
|
rorl $16, %ecx
|
||||||
movl 56(%edi), %esi
|
movl 56(%edi), %esi
|
||||||
movb %ch, %al
|
movb %ch, %al
|
||||||
@ -424,7 +424,7 @@ BF_decrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %esi, %edx
|
xorl %esi, %edx
|
||||||
|
|
||||||
# Round 13
|
|
||||||
rorl $16, %edx
|
rorl $16, %edx
|
||||||
movl 52(%edi), %esi
|
movl 52(%edi), %esi
|
||||||
movb %dh, %al
|
movb %dh, %al
|
||||||
@ -443,7 +443,7 @@ BF_decrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %esi, %ecx
|
xorl %esi, %ecx
|
||||||
|
|
||||||
# Round 12
|
|
||||||
rorl $16, %ecx
|
rorl $16, %ecx
|
||||||
movl 48(%edi), %esi
|
movl 48(%edi), %esi
|
||||||
movb %ch, %al
|
movb %ch, %al
|
||||||
@ -462,7 +462,7 @@ BF_decrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %esi, %edx
|
xorl %esi, %edx
|
||||||
|
|
||||||
# Round 11
|
|
||||||
rorl $16, %edx
|
rorl $16, %edx
|
||||||
movl 44(%edi), %esi
|
movl 44(%edi), %esi
|
||||||
movb %dh, %al
|
movb %dh, %al
|
||||||
@ -481,7 +481,7 @@ BF_decrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %esi, %ecx
|
xorl %esi, %ecx
|
||||||
|
|
||||||
# Round 10
|
|
||||||
rorl $16, %ecx
|
rorl $16, %ecx
|
||||||
movl 40(%edi), %esi
|
movl 40(%edi), %esi
|
||||||
movb %ch, %al
|
movb %ch, %al
|
||||||
@ -500,7 +500,7 @@ BF_decrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %esi, %edx
|
xorl %esi, %edx
|
||||||
|
|
||||||
# Round 9
|
|
||||||
rorl $16, %edx
|
rorl $16, %edx
|
||||||
movl 36(%edi), %esi
|
movl 36(%edi), %esi
|
||||||
movb %dh, %al
|
movb %dh, %al
|
||||||
@ -519,7 +519,7 @@ BF_decrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %esi, %ecx
|
xorl %esi, %ecx
|
||||||
|
|
||||||
# Round 8
|
|
||||||
rorl $16, %ecx
|
rorl $16, %ecx
|
||||||
movl 32(%edi), %esi
|
movl 32(%edi), %esi
|
||||||
movb %ch, %al
|
movb %ch, %al
|
||||||
@ -538,7 +538,7 @@ BF_decrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %esi, %edx
|
xorl %esi, %edx
|
||||||
|
|
||||||
# Round 7
|
|
||||||
rorl $16, %edx
|
rorl $16, %edx
|
||||||
movl 28(%edi), %esi
|
movl 28(%edi), %esi
|
||||||
movb %dh, %al
|
movb %dh, %al
|
||||||
@ -557,7 +557,7 @@ BF_decrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %esi, %ecx
|
xorl %esi, %ecx
|
||||||
|
|
||||||
# Round 6
|
|
||||||
rorl $16, %ecx
|
rorl $16, %ecx
|
||||||
movl 24(%edi), %esi
|
movl 24(%edi), %esi
|
||||||
movb %ch, %al
|
movb %ch, %al
|
||||||
@ -576,7 +576,7 @@ BF_decrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %esi, %edx
|
xorl %esi, %edx
|
||||||
|
|
||||||
# Round 5
|
|
||||||
rorl $16, %edx
|
rorl $16, %edx
|
||||||
movl 20(%edi), %esi
|
movl 20(%edi), %esi
|
||||||
movb %dh, %al
|
movb %dh, %al
|
||||||
@ -595,7 +595,7 @@ BF_decrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %esi, %ecx
|
xorl %esi, %ecx
|
||||||
|
|
||||||
# Round 4
|
|
||||||
rorl $16, %ecx
|
rorl $16, %ecx
|
||||||
movl 16(%edi), %esi
|
movl 16(%edi), %esi
|
||||||
movb %ch, %al
|
movb %ch, %al
|
||||||
@ -614,7 +614,7 @@ BF_decrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %esi, %edx
|
xorl %esi, %edx
|
||||||
|
|
||||||
# Round 3
|
|
||||||
rorl $16, %edx
|
rorl $16, %edx
|
||||||
movl 12(%edi), %esi
|
movl 12(%edi), %esi
|
||||||
movb %dh, %al
|
movb %dh, %al
|
||||||
@ -633,7 +633,7 @@ BF_decrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %esi, %ecx
|
xorl %esi, %ecx
|
||||||
|
|
||||||
# Round 2
|
|
||||||
rorl $16, %ecx
|
rorl $16, %ecx
|
||||||
movl 8(%edi), %esi
|
movl 8(%edi), %esi
|
||||||
movb %ch, %al
|
movb %ch, %al
|
||||||
@ -652,7 +652,7 @@ BF_decrypt:
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
xorl %esi, %edx
|
xorl %esi, %edx
|
||||||
|
|
||||||
# Round 1
|
|
||||||
rorl $16, %edx
|
rorl $16, %edx
|
||||||
movl 4(%edi), %esi
|
movl 4(%edi), %esi
|
||||||
movb %dh, %al
|
movb %dh, %al
|
||||||
@ -693,7 +693,7 @@ BF_cbc_encrypt:
|
|||||||
pushl %esi
|
pushl %esi
|
||||||
pushl %edi
|
pushl %edi
|
||||||
movl 28(%esp), %ebp
|
movl 28(%esp), %ebp
|
||||||
# getting iv ptr from parameter 4
|
|
||||||
movl 36(%esp), %ebx
|
movl 36(%esp), %ebx
|
||||||
movl (%ebx), %esi
|
movl (%ebx), %esi
|
||||||
movl 4(%ebx), %edi
|
movl 4(%ebx), %edi
|
||||||
@ -704,9 +704,9 @@ BF_cbc_encrypt:
|
|||||||
movl %esp, %ebx
|
movl %esp, %ebx
|
||||||
movl 36(%esp), %esi
|
movl 36(%esp), %esi
|
||||||
movl 40(%esp), %edi
|
movl 40(%esp), %edi
|
||||||
# getting encrypt flag from parameter 5
|
|
||||||
movl 56(%esp), %ecx
|
movl 56(%esp), %ecx
|
||||||
# get and push parameter 3
|
|
||||||
movl 48(%esp), %eax
|
movl 48(%esp), %eax
|
||||||
pushl %eax
|
pushl %eax
|
||||||
pushl %ebx
|
pushl %ebx
|
||||||
@ -722,18 +722,18 @@ BF_cbc_encrypt:
|
|||||||
xorl %ecx, %eax
|
xorl %ecx, %eax
|
||||||
xorl %edx, %ebx
|
xorl %edx, %ebx
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 200 # bswapl %eax
|
.byte 200
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 203 # bswapl %ebx
|
.byte 203
|
||||||
movl %eax, 8(%esp)
|
movl %eax, 8(%esp)
|
||||||
movl %ebx, 12(%esp)
|
movl %ebx, 12(%esp)
|
||||||
call BF_encrypt
|
call BF_encrypt
|
||||||
movl 8(%esp), %eax
|
movl 8(%esp), %eax
|
||||||
movl 12(%esp), %ebx
|
movl 12(%esp), %ebx
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 200 # bswapl %eax
|
.byte 200
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 203 # bswapl %ebx
|
.byte 203
|
||||||
movl %eax, (%edi)
|
movl %eax, (%edi)
|
||||||
movl %ebx, 4(%edi)
|
movl %ebx, 4(%edi)
|
||||||
addl $8, %esi
|
addl $8, %esi
|
||||||
@ -744,43 +744,48 @@ BF_cbc_encrypt:
|
|||||||
movl 52(%esp), %ebp
|
movl 52(%esp), %ebp
|
||||||
andl $7, %ebp
|
andl $7, %ebp
|
||||||
jz .L003finish
|
jz .L003finish
|
||||||
|
call .L004PIC_point
|
||||||
|
.L004PIC_point:
|
||||||
|
popl %edx
|
||||||
|
leal .L005cbc_enc_jmp_table-.L004PIC_point(%edx),%ecx
|
||||||
|
movl (%ecx,%ebp,4), %ebp
|
||||||
|
addl %edx, %ebp
|
||||||
xorl %ecx, %ecx
|
xorl %ecx, %ecx
|
||||||
xorl %edx, %edx
|
xorl %edx, %edx
|
||||||
movl .L004cbc_enc_jmp_table(,%ebp,4),%ebp
|
|
||||||
jmp *%ebp
|
jmp *%ebp
|
||||||
.L005ej7:
|
.L006ej7:
|
||||||
movb 6(%esi), %dh
|
movb 6(%esi), %dh
|
||||||
sall $8, %edx
|
sall $8, %edx
|
||||||
.L006ej6:
|
.L007ej6:
|
||||||
movb 5(%esi), %dh
|
movb 5(%esi), %dh
|
||||||
.L007ej5:
|
.L008ej5:
|
||||||
movb 4(%esi), %dl
|
movb 4(%esi), %dl
|
||||||
.L008ej4:
|
.L009ej4:
|
||||||
movl (%esi), %ecx
|
movl (%esi), %ecx
|
||||||
jmp .L009ejend
|
jmp .L010ejend
|
||||||
.L010ej3:
|
.L011ej3:
|
||||||
movb 2(%esi), %ch
|
movb 2(%esi), %ch
|
||||||
sall $8, %ecx
|
sall $8, %ecx
|
||||||
.L011ej2:
|
.L012ej2:
|
||||||
movb 1(%esi), %ch
|
movb 1(%esi), %ch
|
||||||
.L012ej1:
|
.L013ej1:
|
||||||
movb (%esi), %cl
|
movb (%esi), %cl
|
||||||
.L009ejend:
|
.L010ejend:
|
||||||
xorl %ecx, %eax
|
xorl %ecx, %eax
|
||||||
xorl %edx, %ebx
|
xorl %edx, %ebx
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 200 # bswapl %eax
|
.byte 200
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 203 # bswapl %ebx
|
.byte 203
|
||||||
movl %eax, 8(%esp)
|
movl %eax, 8(%esp)
|
||||||
movl %ebx, 12(%esp)
|
movl %ebx, 12(%esp)
|
||||||
call BF_encrypt
|
call BF_encrypt
|
||||||
movl 8(%esp), %eax
|
movl 8(%esp), %eax
|
||||||
movl 12(%esp), %ebx
|
movl 12(%esp), %ebx
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 200 # bswapl %eax
|
.byte 200
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 203 # bswapl %ebx
|
.byte 203
|
||||||
movl %eax, (%edi)
|
movl %eax, (%edi)
|
||||||
movl %ebx, 4(%edi)
|
movl %ebx, 4(%edi)
|
||||||
jmp .L003finish
|
jmp .L003finish
|
||||||
@ -789,23 +794,23 @@ BF_cbc_encrypt:
|
|||||||
andl $4294967288, %ebp
|
andl $4294967288, %ebp
|
||||||
movl 16(%esp), %eax
|
movl 16(%esp), %eax
|
||||||
movl 20(%esp), %ebx
|
movl 20(%esp), %ebx
|
||||||
jz .L013decrypt_finish
|
jz .L014decrypt_finish
|
||||||
.L014decrypt_loop:
|
.L015decrypt_loop:
|
||||||
movl (%esi), %eax
|
movl (%esi), %eax
|
||||||
movl 4(%esi), %ebx
|
movl 4(%esi), %ebx
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 200 # bswapl %eax
|
.byte 200
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 203 # bswapl %ebx
|
.byte 203
|
||||||
movl %eax, 8(%esp)
|
movl %eax, 8(%esp)
|
||||||
movl %ebx, 12(%esp)
|
movl %ebx, 12(%esp)
|
||||||
call BF_decrypt
|
call BF_decrypt
|
||||||
movl 8(%esp), %eax
|
movl 8(%esp), %eax
|
||||||
movl 12(%esp), %ebx
|
movl 12(%esp), %ebx
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 200 # bswapl %eax
|
.byte 200
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 203 # bswapl %ebx
|
.byte 203
|
||||||
movl 16(%esp), %ecx
|
movl 16(%esp), %ecx
|
||||||
movl 20(%esp), %edx
|
movl 20(%esp), %edx
|
||||||
xorl %eax, %ecx
|
xorl %eax, %ecx
|
||||||
@ -819,52 +824,52 @@ BF_cbc_encrypt:
|
|||||||
addl $8, %esi
|
addl $8, %esi
|
||||||
addl $8, %edi
|
addl $8, %edi
|
||||||
subl $8, %ebp
|
subl $8, %ebp
|
||||||
jnz .L014decrypt_loop
|
jnz .L015decrypt_loop
|
||||||
.L013decrypt_finish:
|
.L014decrypt_finish:
|
||||||
movl 52(%esp), %ebp
|
movl 52(%esp), %ebp
|
||||||
andl $7, %ebp
|
andl $7, %ebp
|
||||||
jz .L003finish
|
jz .L003finish
|
||||||
movl (%esi), %eax
|
movl (%esi), %eax
|
||||||
movl 4(%esi), %ebx
|
movl 4(%esi), %ebx
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 200 # bswapl %eax
|
.byte 200
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 203 # bswapl %ebx
|
.byte 203
|
||||||
movl %eax, 8(%esp)
|
movl %eax, 8(%esp)
|
||||||
movl %ebx, 12(%esp)
|
movl %ebx, 12(%esp)
|
||||||
call BF_decrypt
|
call BF_decrypt
|
||||||
movl 8(%esp), %eax
|
movl 8(%esp), %eax
|
||||||
movl 12(%esp), %ebx
|
movl 12(%esp), %ebx
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 200 # bswapl %eax
|
.byte 200
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 203 # bswapl %ebx
|
.byte 203
|
||||||
movl 16(%esp), %ecx
|
movl 16(%esp), %ecx
|
||||||
movl 20(%esp), %edx
|
movl 20(%esp), %edx
|
||||||
xorl %eax, %ecx
|
xorl %eax, %ecx
|
||||||
xorl %ebx, %edx
|
xorl %ebx, %edx
|
||||||
movl (%esi), %eax
|
movl (%esi), %eax
|
||||||
movl 4(%esi), %ebx
|
movl 4(%esi), %ebx
|
||||||
.L015dj7:
|
.L016dj7:
|
||||||
rorl $16, %edx
|
rorl $16, %edx
|
||||||
movb %dl, 6(%edi)
|
movb %dl, 6(%edi)
|
||||||
shrl $16, %edx
|
shrl $16, %edx
|
||||||
.L016dj6:
|
.L017dj6:
|
||||||
movb %dh, 5(%edi)
|
movb %dh, 5(%edi)
|
||||||
.L017dj5:
|
.L018dj5:
|
||||||
movb %dl, 4(%edi)
|
movb %dl, 4(%edi)
|
||||||
.L018dj4:
|
.L019dj4:
|
||||||
movl %ecx, (%edi)
|
movl %ecx, (%edi)
|
||||||
jmp .L019djend
|
jmp .L020djend
|
||||||
.L020dj3:
|
.L021dj3:
|
||||||
rorl $16, %ecx
|
rorl $16, %ecx
|
||||||
movb %cl, 2(%edi)
|
movb %cl, 2(%edi)
|
||||||
sall $16, %ecx
|
sall $16, %ecx
|
||||||
.L021dj2:
|
.L022dj2:
|
||||||
movb %ch, 1(%esi)
|
movb %ch, 1(%esi)
|
||||||
.L022dj1:
|
.L023dj1:
|
||||||
movb %cl, (%esi)
|
movb %cl, (%esi)
|
||||||
.L019djend:
|
.L020djend:
|
||||||
jmp .L003finish
|
jmp .L003finish
|
||||||
.align 16
|
.align 16
|
||||||
.L003finish:
|
.L003finish:
|
||||||
@ -878,25 +883,15 @@ BF_cbc_encrypt:
|
|||||||
popl %ebp
|
popl %ebp
|
||||||
ret
|
ret
|
||||||
.align 16
|
.align 16
|
||||||
.L004cbc_enc_jmp_table:
|
.L005cbc_enc_jmp_table:
|
||||||
.long 0
|
.long 0
|
||||||
.long .L012ej1
|
.long .L013ej1-.L004PIC_point
|
||||||
.long .L011ej2
|
.long .L012ej2-.L004PIC_point
|
||||||
.long .L010ej3
|
.long .L011ej3-.L004PIC_point
|
||||||
.long .L008ej4
|
.long .L009ej4-.L004PIC_point
|
||||||
.long .L007ej5
|
.long .L008ej5-.L004PIC_point
|
||||||
.long .L006ej6
|
.long .L007ej6-.L004PIC_point
|
||||||
.long .L005ej7
|
.long .L006ej7-.L004PIC_point
|
||||||
.align 16
|
|
||||||
.L023cbc_dec_jmp_table:
|
|
||||||
.long 0
|
|
||||||
.long .L022dj1
|
|
||||||
.long .L021dj2
|
|
||||||
.long .L020dj3
|
|
||||||
.long .L018dj4
|
|
||||||
.long .L017dj5
|
|
||||||
.long .L016dj6
|
|
||||||
.long .L015dj7
|
|
||||||
.L_BF_cbc_encrypt_end:
|
.L_BF_cbc_encrypt_end:
|
||||||
.size BF_cbc_encrypt,.L_BF_cbc_encrypt_end-BF_cbc_encrypt
|
.size BF_cbc_encrypt,.L_BF_cbc_encrypt_end-BF_cbc_encrypt
|
||||||
.ident "desasm.pl"
|
.ident "desasm.pl"
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
# $FreeBSD$
|
# $FreeBSD$
|
||||||
# Dont even think of reading this code
|
|
||||||
# It was automatically generated by bn-586.pl
|
|
||||||
# Which is a perl program used to generate the x86 assember for
|
|
||||||
# any of elf, a.out, BSDI, Win32, gaswin (for GNU as on Win32) or Solaris
|
|
||||||
# eric <eay@cryptsoft.com>
|
|
||||||
|
|
||||||
.file "bn-586.s"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.file "/usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/bn/asm/bn-586.s"
|
||||||
.version "01.01"
|
.version "01.01"
|
||||||
gcc2_compiled.:
|
gcc2_compiled.:
|
||||||
.text
|
.text
|
||||||
@ -29,7 +29,7 @@ bn_mul_add_words:
|
|||||||
jz .L000maw_finish
|
jz .L000maw_finish
|
||||||
.L001maw_loop:
|
.L001maw_loop:
|
||||||
movl %ecx, (%esp)
|
movl %ecx, (%esp)
|
||||||
# Round 0
|
|
||||||
movl (%ebx), %eax
|
movl (%ebx), %eax
|
||||||
mull %ebp
|
mull %ebp
|
||||||
addl %esi, %eax
|
addl %esi, %eax
|
||||||
@ -39,7 +39,7 @@ bn_mul_add_words:
|
|||||||
adcl $0, %edx
|
adcl $0, %edx
|
||||||
movl %eax, (%edi)
|
movl %eax, (%edi)
|
||||||
movl %edx, %esi
|
movl %edx, %esi
|
||||||
# Round 4
|
|
||||||
movl 4(%ebx), %eax
|
movl 4(%ebx), %eax
|
||||||
mull %ebp
|
mull %ebp
|
||||||
addl %esi, %eax
|
addl %esi, %eax
|
||||||
@ -49,7 +49,7 @@ bn_mul_add_words:
|
|||||||
adcl $0, %edx
|
adcl $0, %edx
|
||||||
movl %eax, 4(%edi)
|
movl %eax, 4(%edi)
|
||||||
movl %edx, %esi
|
movl %edx, %esi
|
||||||
# Round 8
|
|
||||||
movl 8(%ebx), %eax
|
movl 8(%ebx), %eax
|
||||||
mull %ebp
|
mull %ebp
|
||||||
addl %esi, %eax
|
addl %esi, %eax
|
||||||
@ -59,7 +59,7 @@ bn_mul_add_words:
|
|||||||
adcl $0, %edx
|
adcl $0, %edx
|
||||||
movl %eax, 8(%edi)
|
movl %eax, 8(%edi)
|
||||||
movl %edx, %esi
|
movl %edx, %esi
|
||||||
# Round 12
|
|
||||||
movl 12(%ebx), %eax
|
movl 12(%ebx), %eax
|
||||||
mull %ebp
|
mull %ebp
|
||||||
addl %esi, %eax
|
addl %esi, %eax
|
||||||
@ -69,7 +69,7 @@ bn_mul_add_words:
|
|||||||
adcl $0, %edx
|
adcl $0, %edx
|
||||||
movl %eax, 12(%edi)
|
movl %eax, 12(%edi)
|
||||||
movl %edx, %esi
|
movl %edx, %esi
|
||||||
# Round 16
|
|
||||||
movl 16(%ebx), %eax
|
movl 16(%ebx), %eax
|
||||||
mull %ebp
|
mull %ebp
|
||||||
addl %esi, %eax
|
addl %esi, %eax
|
||||||
@ -79,7 +79,7 @@ bn_mul_add_words:
|
|||||||
adcl $0, %edx
|
adcl $0, %edx
|
||||||
movl %eax, 16(%edi)
|
movl %eax, 16(%edi)
|
||||||
movl %edx, %esi
|
movl %edx, %esi
|
||||||
# Round 20
|
|
||||||
movl 20(%ebx), %eax
|
movl 20(%ebx), %eax
|
||||||
mull %ebp
|
mull %ebp
|
||||||
addl %esi, %eax
|
addl %esi, %eax
|
||||||
@ -89,7 +89,7 @@ bn_mul_add_words:
|
|||||||
adcl $0, %edx
|
adcl $0, %edx
|
||||||
movl %eax, 20(%edi)
|
movl %eax, 20(%edi)
|
||||||
movl %edx, %esi
|
movl %edx, %esi
|
||||||
# Round 24
|
|
||||||
movl 24(%ebx), %eax
|
movl 24(%ebx), %eax
|
||||||
mull %ebp
|
mull %ebp
|
||||||
addl %esi, %eax
|
addl %esi, %eax
|
||||||
@ -99,7 +99,7 @@ bn_mul_add_words:
|
|||||||
adcl $0, %edx
|
adcl $0, %edx
|
||||||
movl %eax, 24(%edi)
|
movl %eax, 24(%edi)
|
||||||
movl %edx, %esi
|
movl %edx, %esi
|
||||||
# Round 28
|
|
||||||
movl 28(%ebx), %eax
|
movl 28(%ebx), %eax
|
||||||
mull %ebp
|
mull %ebp
|
||||||
addl %esi, %eax
|
addl %esi, %eax
|
||||||
@ -122,7 +122,7 @@ bn_mul_add_words:
|
|||||||
jmp .L003maw_end
|
jmp .L003maw_end
|
||||||
.align 16
|
.align 16
|
||||||
.L002maw_finish2:
|
.L002maw_finish2:
|
||||||
# Tail Round 0
|
|
||||||
movl (%ebx), %eax
|
movl (%ebx), %eax
|
||||||
mull %ebp
|
mull %ebp
|
||||||
addl %esi, %eax
|
addl %esi, %eax
|
||||||
@ -134,7 +134,7 @@ bn_mul_add_words:
|
|||||||
movl %eax, (%edi)
|
movl %eax, (%edi)
|
||||||
movl %edx, %esi
|
movl %edx, %esi
|
||||||
jz .L003maw_end
|
jz .L003maw_end
|
||||||
# Tail Round 1
|
|
||||||
movl 4(%ebx), %eax
|
movl 4(%ebx), %eax
|
||||||
mull %ebp
|
mull %ebp
|
||||||
addl %esi, %eax
|
addl %esi, %eax
|
||||||
@ -146,7 +146,7 @@ bn_mul_add_words:
|
|||||||
movl %eax, 4(%edi)
|
movl %eax, 4(%edi)
|
||||||
movl %edx, %esi
|
movl %edx, %esi
|
||||||
jz .L003maw_end
|
jz .L003maw_end
|
||||||
# Tail Round 2
|
|
||||||
movl 8(%ebx), %eax
|
movl 8(%ebx), %eax
|
||||||
mull %ebp
|
mull %ebp
|
||||||
addl %esi, %eax
|
addl %esi, %eax
|
||||||
@ -158,7 +158,7 @@ bn_mul_add_words:
|
|||||||
movl %eax, 8(%edi)
|
movl %eax, 8(%edi)
|
||||||
movl %edx, %esi
|
movl %edx, %esi
|
||||||
jz .L003maw_end
|
jz .L003maw_end
|
||||||
# Tail Round 3
|
|
||||||
movl 12(%ebx), %eax
|
movl 12(%ebx), %eax
|
||||||
mull %ebp
|
mull %ebp
|
||||||
addl %esi, %eax
|
addl %esi, %eax
|
||||||
@ -170,7 +170,7 @@ bn_mul_add_words:
|
|||||||
movl %eax, 12(%edi)
|
movl %eax, 12(%edi)
|
||||||
movl %edx, %esi
|
movl %edx, %esi
|
||||||
jz .L003maw_end
|
jz .L003maw_end
|
||||||
# Tail Round 4
|
|
||||||
movl 16(%ebx), %eax
|
movl 16(%ebx), %eax
|
||||||
mull %ebp
|
mull %ebp
|
||||||
addl %esi, %eax
|
addl %esi, %eax
|
||||||
@ -182,7 +182,7 @@ bn_mul_add_words:
|
|||||||
movl %eax, 16(%edi)
|
movl %eax, 16(%edi)
|
||||||
movl %edx, %esi
|
movl %edx, %esi
|
||||||
jz .L003maw_end
|
jz .L003maw_end
|
||||||
# Tail Round 5
|
|
||||||
movl 20(%ebx), %eax
|
movl 20(%ebx), %eax
|
||||||
mull %ebp
|
mull %ebp
|
||||||
addl %esi, %eax
|
addl %esi, %eax
|
||||||
@ -194,7 +194,7 @@ bn_mul_add_words:
|
|||||||
movl %eax, 20(%edi)
|
movl %eax, 20(%edi)
|
||||||
movl %edx, %esi
|
movl %edx, %esi
|
||||||
jz .L003maw_end
|
jz .L003maw_end
|
||||||
# Tail Round 6
|
|
||||||
movl 24(%ebx), %eax
|
movl 24(%ebx), %eax
|
||||||
mull %ebp
|
mull %ebp
|
||||||
addl %esi, %eax
|
addl %esi, %eax
|
||||||
@ -212,8 +212,8 @@ bn_mul_add_words:
|
|||||||
popl %ebx
|
popl %ebx
|
||||||
popl %ebp
|
popl %ebp
|
||||||
ret
|
ret
|
||||||
.bn_mul_add_words_end:
|
.L_bn_mul_add_words_end:
|
||||||
.size bn_mul_add_words,.bn_mul_add_words_end-bn_mul_add_words
|
.size bn_mul_add_words,.L_bn_mul_add_words_end-bn_mul_add_words
|
||||||
.ident "bn_mul_add_words"
|
.ident "bn_mul_add_words"
|
||||||
.text
|
.text
|
||||||
.align 16
|
.align 16
|
||||||
@ -234,56 +234,56 @@ bn_mul_words:
|
|||||||
andl $4294967288, %ebp
|
andl $4294967288, %ebp
|
||||||
jz .L004mw_finish
|
jz .L004mw_finish
|
||||||
.L005mw_loop:
|
.L005mw_loop:
|
||||||
# Round 0
|
|
||||||
movl (%ebx), %eax
|
movl (%ebx), %eax
|
||||||
mull %ecx
|
mull %ecx
|
||||||
addl %esi, %eax
|
addl %esi, %eax
|
||||||
adcl $0, %edx
|
adcl $0, %edx
|
||||||
movl %eax, (%edi)
|
movl %eax, (%edi)
|
||||||
movl %edx, %esi
|
movl %edx, %esi
|
||||||
# Round 4
|
|
||||||
movl 4(%ebx), %eax
|
movl 4(%ebx), %eax
|
||||||
mull %ecx
|
mull %ecx
|
||||||
addl %esi, %eax
|
addl %esi, %eax
|
||||||
adcl $0, %edx
|
adcl $0, %edx
|
||||||
movl %eax, 4(%edi)
|
movl %eax, 4(%edi)
|
||||||
movl %edx, %esi
|
movl %edx, %esi
|
||||||
# Round 8
|
|
||||||
movl 8(%ebx), %eax
|
movl 8(%ebx), %eax
|
||||||
mull %ecx
|
mull %ecx
|
||||||
addl %esi, %eax
|
addl %esi, %eax
|
||||||
adcl $0, %edx
|
adcl $0, %edx
|
||||||
movl %eax, 8(%edi)
|
movl %eax, 8(%edi)
|
||||||
movl %edx, %esi
|
movl %edx, %esi
|
||||||
# Round 12
|
|
||||||
movl 12(%ebx), %eax
|
movl 12(%ebx), %eax
|
||||||
mull %ecx
|
mull %ecx
|
||||||
addl %esi, %eax
|
addl %esi, %eax
|
||||||
adcl $0, %edx
|
adcl $0, %edx
|
||||||
movl %eax, 12(%edi)
|
movl %eax, 12(%edi)
|
||||||
movl %edx, %esi
|
movl %edx, %esi
|
||||||
# Round 16
|
|
||||||
movl 16(%ebx), %eax
|
movl 16(%ebx), %eax
|
||||||
mull %ecx
|
mull %ecx
|
||||||
addl %esi, %eax
|
addl %esi, %eax
|
||||||
adcl $0, %edx
|
adcl $0, %edx
|
||||||
movl %eax, 16(%edi)
|
movl %eax, 16(%edi)
|
||||||
movl %edx, %esi
|
movl %edx, %esi
|
||||||
# Round 20
|
|
||||||
movl 20(%ebx), %eax
|
movl 20(%ebx), %eax
|
||||||
mull %ecx
|
mull %ecx
|
||||||
addl %esi, %eax
|
addl %esi, %eax
|
||||||
adcl $0, %edx
|
adcl $0, %edx
|
||||||
movl %eax, 20(%edi)
|
movl %eax, 20(%edi)
|
||||||
movl %edx, %esi
|
movl %edx, %esi
|
||||||
# Round 24
|
|
||||||
movl 24(%ebx), %eax
|
movl 24(%ebx), %eax
|
||||||
mull %ecx
|
mull %ecx
|
||||||
addl %esi, %eax
|
addl %esi, %eax
|
||||||
adcl $0, %edx
|
adcl $0, %edx
|
||||||
movl %eax, 24(%edi)
|
movl %eax, 24(%edi)
|
||||||
movl %edx, %esi
|
movl %edx, %esi
|
||||||
# Round 28
|
|
||||||
movl 28(%ebx), %eax
|
movl 28(%ebx), %eax
|
||||||
mull %ecx
|
mull %ecx
|
||||||
addl %esi, %eax
|
addl %esi, %eax
|
||||||
@ -303,7 +303,7 @@ bn_mul_words:
|
|||||||
jmp .L007mw_end
|
jmp .L007mw_end
|
||||||
.align 16
|
.align 16
|
||||||
.L006mw_finish2:
|
.L006mw_finish2:
|
||||||
# Tail Round 0
|
|
||||||
movl (%ebx), %eax
|
movl (%ebx), %eax
|
||||||
mull %ecx
|
mull %ecx
|
||||||
addl %esi, %eax
|
addl %esi, %eax
|
||||||
@ -312,7 +312,7 @@ bn_mul_words:
|
|||||||
movl %edx, %esi
|
movl %edx, %esi
|
||||||
decl %ebp
|
decl %ebp
|
||||||
jz .L007mw_end
|
jz .L007mw_end
|
||||||
# Tail Round 1
|
|
||||||
movl 4(%ebx), %eax
|
movl 4(%ebx), %eax
|
||||||
mull %ecx
|
mull %ecx
|
||||||
addl %esi, %eax
|
addl %esi, %eax
|
||||||
@ -321,7 +321,7 @@ bn_mul_words:
|
|||||||
movl %edx, %esi
|
movl %edx, %esi
|
||||||
decl %ebp
|
decl %ebp
|
||||||
jz .L007mw_end
|
jz .L007mw_end
|
||||||
# Tail Round 2
|
|
||||||
movl 8(%ebx), %eax
|
movl 8(%ebx), %eax
|
||||||
mull %ecx
|
mull %ecx
|
||||||
addl %esi, %eax
|
addl %esi, %eax
|
||||||
@ -330,7 +330,7 @@ bn_mul_words:
|
|||||||
movl %edx, %esi
|
movl %edx, %esi
|
||||||
decl %ebp
|
decl %ebp
|
||||||
jz .L007mw_end
|
jz .L007mw_end
|
||||||
# Tail Round 3
|
|
||||||
movl 12(%ebx), %eax
|
movl 12(%ebx), %eax
|
||||||
mull %ecx
|
mull %ecx
|
||||||
addl %esi, %eax
|
addl %esi, %eax
|
||||||
@ -339,7 +339,7 @@ bn_mul_words:
|
|||||||
movl %edx, %esi
|
movl %edx, %esi
|
||||||
decl %ebp
|
decl %ebp
|
||||||
jz .L007mw_end
|
jz .L007mw_end
|
||||||
# Tail Round 4
|
|
||||||
movl 16(%ebx), %eax
|
movl 16(%ebx), %eax
|
||||||
mull %ecx
|
mull %ecx
|
||||||
addl %esi, %eax
|
addl %esi, %eax
|
||||||
@ -348,7 +348,7 @@ bn_mul_words:
|
|||||||
movl %edx, %esi
|
movl %edx, %esi
|
||||||
decl %ebp
|
decl %ebp
|
||||||
jz .L007mw_end
|
jz .L007mw_end
|
||||||
# Tail Round 5
|
|
||||||
movl 20(%ebx), %eax
|
movl 20(%ebx), %eax
|
||||||
mull %ecx
|
mull %ecx
|
||||||
addl %esi, %eax
|
addl %esi, %eax
|
||||||
@ -357,7 +357,7 @@ bn_mul_words:
|
|||||||
movl %edx, %esi
|
movl %edx, %esi
|
||||||
decl %ebp
|
decl %ebp
|
||||||
jz .L007mw_end
|
jz .L007mw_end
|
||||||
# Tail Round 6
|
|
||||||
movl 24(%ebx), %eax
|
movl 24(%ebx), %eax
|
||||||
mull %ecx
|
mull %ecx
|
||||||
addl %esi, %eax
|
addl %esi, %eax
|
||||||
@ -371,8 +371,8 @@ bn_mul_words:
|
|||||||
popl %ebx
|
popl %ebx
|
||||||
popl %ebp
|
popl %ebp
|
||||||
ret
|
ret
|
||||||
.bn_mul_words_end:
|
.L_bn_mul_words_end:
|
||||||
.size bn_mul_words,.bn_mul_words_end-bn_mul_words
|
.size bn_mul_words,.L_bn_mul_words_end-bn_mul_words
|
||||||
.ident "bn_mul_words"
|
.ident "bn_mul_words"
|
||||||
.text
|
.text
|
||||||
.align 16
|
.align 16
|
||||||
@ -391,42 +391,42 @@ bn_sqr_words:
|
|||||||
andl $4294967288, %ebx
|
andl $4294967288, %ebx
|
||||||
jz .L008sw_finish
|
jz .L008sw_finish
|
||||||
.L009sw_loop:
|
.L009sw_loop:
|
||||||
# Round 0
|
|
||||||
movl (%edi), %eax
|
movl (%edi), %eax
|
||||||
mull %eax
|
mull %eax
|
||||||
movl %eax, (%esi)
|
movl %eax, (%esi)
|
||||||
movl %edx, 4(%esi)
|
movl %edx, 4(%esi)
|
||||||
# Round 4
|
|
||||||
movl 4(%edi), %eax
|
movl 4(%edi), %eax
|
||||||
mull %eax
|
mull %eax
|
||||||
movl %eax, 8(%esi)
|
movl %eax, 8(%esi)
|
||||||
movl %edx, 12(%esi)
|
movl %edx, 12(%esi)
|
||||||
# Round 8
|
|
||||||
movl 8(%edi), %eax
|
movl 8(%edi), %eax
|
||||||
mull %eax
|
mull %eax
|
||||||
movl %eax, 16(%esi)
|
movl %eax, 16(%esi)
|
||||||
movl %edx, 20(%esi)
|
movl %edx, 20(%esi)
|
||||||
# Round 12
|
|
||||||
movl 12(%edi), %eax
|
movl 12(%edi), %eax
|
||||||
mull %eax
|
mull %eax
|
||||||
movl %eax, 24(%esi)
|
movl %eax, 24(%esi)
|
||||||
movl %edx, 28(%esi)
|
movl %edx, 28(%esi)
|
||||||
# Round 16
|
|
||||||
movl 16(%edi), %eax
|
movl 16(%edi), %eax
|
||||||
mull %eax
|
mull %eax
|
||||||
movl %eax, 32(%esi)
|
movl %eax, 32(%esi)
|
||||||
movl %edx, 36(%esi)
|
movl %edx, 36(%esi)
|
||||||
# Round 20
|
|
||||||
movl 20(%edi), %eax
|
movl 20(%edi), %eax
|
||||||
mull %eax
|
mull %eax
|
||||||
movl %eax, 40(%esi)
|
movl %eax, 40(%esi)
|
||||||
movl %edx, 44(%esi)
|
movl %edx, 44(%esi)
|
||||||
# Round 24
|
|
||||||
movl 24(%edi), %eax
|
movl 24(%edi), %eax
|
||||||
mull %eax
|
mull %eax
|
||||||
movl %eax, 48(%esi)
|
movl %eax, 48(%esi)
|
||||||
movl %edx, 52(%esi)
|
movl %edx, 52(%esi)
|
||||||
# Round 28
|
|
||||||
movl 28(%edi), %eax
|
movl 28(%edi), %eax
|
||||||
mull %eax
|
mull %eax
|
||||||
movl %eax, 56(%esi)
|
movl %eax, 56(%esi)
|
||||||
@ -440,49 +440,49 @@ bn_sqr_words:
|
|||||||
movl 28(%esp), %ebx
|
movl 28(%esp), %ebx
|
||||||
andl $7, %ebx
|
andl $7, %ebx
|
||||||
jz .L010sw_end
|
jz .L010sw_end
|
||||||
# Tail Round 0
|
|
||||||
movl (%edi), %eax
|
movl (%edi), %eax
|
||||||
mull %eax
|
mull %eax
|
||||||
movl %eax, (%esi)
|
movl %eax, (%esi)
|
||||||
decl %ebx
|
decl %ebx
|
||||||
movl %edx, 4(%esi)
|
movl %edx, 4(%esi)
|
||||||
jz .L010sw_end
|
jz .L010sw_end
|
||||||
# Tail Round 1
|
|
||||||
movl 4(%edi), %eax
|
movl 4(%edi), %eax
|
||||||
mull %eax
|
mull %eax
|
||||||
movl %eax, 8(%esi)
|
movl %eax, 8(%esi)
|
||||||
decl %ebx
|
decl %ebx
|
||||||
movl %edx, 12(%esi)
|
movl %edx, 12(%esi)
|
||||||
jz .L010sw_end
|
jz .L010sw_end
|
||||||
# Tail Round 2
|
|
||||||
movl 8(%edi), %eax
|
movl 8(%edi), %eax
|
||||||
mull %eax
|
mull %eax
|
||||||
movl %eax, 16(%esi)
|
movl %eax, 16(%esi)
|
||||||
decl %ebx
|
decl %ebx
|
||||||
movl %edx, 20(%esi)
|
movl %edx, 20(%esi)
|
||||||
jz .L010sw_end
|
jz .L010sw_end
|
||||||
# Tail Round 3
|
|
||||||
movl 12(%edi), %eax
|
movl 12(%edi), %eax
|
||||||
mull %eax
|
mull %eax
|
||||||
movl %eax, 24(%esi)
|
movl %eax, 24(%esi)
|
||||||
decl %ebx
|
decl %ebx
|
||||||
movl %edx, 28(%esi)
|
movl %edx, 28(%esi)
|
||||||
jz .L010sw_end
|
jz .L010sw_end
|
||||||
# Tail Round 4
|
|
||||||
movl 16(%edi), %eax
|
movl 16(%edi), %eax
|
||||||
mull %eax
|
mull %eax
|
||||||
movl %eax, 32(%esi)
|
movl %eax, 32(%esi)
|
||||||
decl %ebx
|
decl %ebx
|
||||||
movl %edx, 36(%esi)
|
movl %edx, 36(%esi)
|
||||||
jz .L010sw_end
|
jz .L010sw_end
|
||||||
# Tail Round 5
|
|
||||||
movl 20(%edi), %eax
|
movl 20(%edi), %eax
|
||||||
mull %eax
|
mull %eax
|
||||||
movl %eax, 40(%esi)
|
movl %eax, 40(%esi)
|
||||||
decl %ebx
|
decl %ebx
|
||||||
movl %edx, 44(%esi)
|
movl %edx, 44(%esi)
|
||||||
jz .L010sw_end
|
jz .L010sw_end
|
||||||
# Tail Round 6
|
|
||||||
movl 24(%edi), %eax
|
movl 24(%edi), %eax
|
||||||
mull %eax
|
mull %eax
|
||||||
movl %eax, 48(%esi)
|
movl %eax, 48(%esi)
|
||||||
@ -493,8 +493,8 @@ bn_sqr_words:
|
|||||||
popl %ebx
|
popl %ebx
|
||||||
popl %ebp
|
popl %ebp
|
||||||
ret
|
ret
|
||||||
.bn_sqr_words_end:
|
.L_bn_sqr_words_end:
|
||||||
.size bn_sqr_words,.bn_sqr_words_end-bn_sqr_words
|
.size bn_sqr_words,.L_bn_sqr_words_end-bn_sqr_words
|
||||||
.ident "bn_sqr_words"
|
.ident "bn_sqr_words"
|
||||||
.text
|
.text
|
||||||
.align 16
|
.align 16
|
||||||
@ -515,8 +515,8 @@ bn_div_words:
|
|||||||
popl %ebx
|
popl %ebx
|
||||||
popl %ebp
|
popl %ebp
|
||||||
ret
|
ret
|
||||||
.bn_div_words_end:
|
.L_bn_div_words_end:
|
||||||
.size bn_div_words,.bn_div_words_end-bn_div_words
|
.size bn_div_words,.L_bn_div_words_end-bn_div_words
|
||||||
.ident "bn_div_words"
|
.ident "bn_div_words"
|
||||||
.text
|
.text
|
||||||
.align 16
|
.align 16
|
||||||
@ -537,7 +537,7 @@ bn_add_words:
|
|||||||
andl $4294967288, %ebp
|
andl $4294967288, %ebp
|
||||||
jz .L011aw_finish
|
jz .L011aw_finish
|
||||||
.L012aw_loop:
|
.L012aw_loop:
|
||||||
# Round 0
|
|
||||||
movl (%esi), %ecx
|
movl (%esi), %ecx
|
||||||
movl (%edi), %edx
|
movl (%edi), %edx
|
||||||
addl %eax, %ecx
|
addl %eax, %ecx
|
||||||
@ -546,7 +546,7 @@ bn_add_words:
|
|||||||
addl %edx, %ecx
|
addl %edx, %ecx
|
||||||
adcl $0, %eax
|
adcl $0, %eax
|
||||||
movl %ecx, (%ebx)
|
movl %ecx, (%ebx)
|
||||||
# Round 1
|
|
||||||
movl 4(%esi), %ecx
|
movl 4(%esi), %ecx
|
||||||
movl 4(%edi), %edx
|
movl 4(%edi), %edx
|
||||||
addl %eax, %ecx
|
addl %eax, %ecx
|
||||||
@ -555,7 +555,7 @@ bn_add_words:
|
|||||||
addl %edx, %ecx
|
addl %edx, %ecx
|
||||||
adcl $0, %eax
|
adcl $0, %eax
|
||||||
movl %ecx, 4(%ebx)
|
movl %ecx, 4(%ebx)
|
||||||
# Round 2
|
|
||||||
movl 8(%esi), %ecx
|
movl 8(%esi), %ecx
|
||||||
movl 8(%edi), %edx
|
movl 8(%edi), %edx
|
||||||
addl %eax, %ecx
|
addl %eax, %ecx
|
||||||
@ -564,7 +564,7 @@ bn_add_words:
|
|||||||
addl %edx, %ecx
|
addl %edx, %ecx
|
||||||
adcl $0, %eax
|
adcl $0, %eax
|
||||||
movl %ecx, 8(%ebx)
|
movl %ecx, 8(%ebx)
|
||||||
# Round 3
|
|
||||||
movl 12(%esi), %ecx
|
movl 12(%esi), %ecx
|
||||||
movl 12(%edi), %edx
|
movl 12(%edi), %edx
|
||||||
addl %eax, %ecx
|
addl %eax, %ecx
|
||||||
@ -573,7 +573,7 @@ bn_add_words:
|
|||||||
addl %edx, %ecx
|
addl %edx, %ecx
|
||||||
adcl $0, %eax
|
adcl $0, %eax
|
||||||
movl %ecx, 12(%ebx)
|
movl %ecx, 12(%ebx)
|
||||||
# Round 4
|
|
||||||
movl 16(%esi), %ecx
|
movl 16(%esi), %ecx
|
||||||
movl 16(%edi), %edx
|
movl 16(%edi), %edx
|
||||||
addl %eax, %ecx
|
addl %eax, %ecx
|
||||||
@ -582,7 +582,7 @@ bn_add_words:
|
|||||||
addl %edx, %ecx
|
addl %edx, %ecx
|
||||||
adcl $0, %eax
|
adcl $0, %eax
|
||||||
movl %ecx, 16(%ebx)
|
movl %ecx, 16(%ebx)
|
||||||
# Round 5
|
|
||||||
movl 20(%esi), %ecx
|
movl 20(%esi), %ecx
|
||||||
movl 20(%edi), %edx
|
movl 20(%edi), %edx
|
||||||
addl %eax, %ecx
|
addl %eax, %ecx
|
||||||
@ -591,7 +591,7 @@ bn_add_words:
|
|||||||
addl %edx, %ecx
|
addl %edx, %ecx
|
||||||
adcl $0, %eax
|
adcl $0, %eax
|
||||||
movl %ecx, 20(%ebx)
|
movl %ecx, 20(%ebx)
|
||||||
# Round 6
|
|
||||||
movl 24(%esi), %ecx
|
movl 24(%esi), %ecx
|
||||||
movl 24(%edi), %edx
|
movl 24(%edi), %edx
|
||||||
addl %eax, %ecx
|
addl %eax, %ecx
|
||||||
@ -600,7 +600,7 @@ bn_add_words:
|
|||||||
addl %edx, %ecx
|
addl %edx, %ecx
|
||||||
adcl $0, %eax
|
adcl $0, %eax
|
||||||
movl %ecx, 24(%ebx)
|
movl %ecx, 24(%ebx)
|
||||||
# Round 7
|
|
||||||
movl 28(%esi), %ecx
|
movl 28(%esi), %ecx
|
||||||
movl 28(%edi), %edx
|
movl 28(%edi), %edx
|
||||||
addl %eax, %ecx
|
addl %eax, %ecx
|
||||||
@ -619,7 +619,7 @@ bn_add_words:
|
|||||||
movl 32(%esp), %ebp
|
movl 32(%esp), %ebp
|
||||||
andl $7, %ebp
|
andl $7, %ebp
|
||||||
jz .L013aw_end
|
jz .L013aw_end
|
||||||
# Tail Round 0
|
|
||||||
movl (%esi), %ecx
|
movl (%esi), %ecx
|
||||||
movl (%edi), %edx
|
movl (%edi), %edx
|
||||||
addl %eax, %ecx
|
addl %eax, %ecx
|
||||||
@ -630,7 +630,7 @@ bn_add_words:
|
|||||||
decl %ebp
|
decl %ebp
|
||||||
movl %ecx, (%ebx)
|
movl %ecx, (%ebx)
|
||||||
jz .L013aw_end
|
jz .L013aw_end
|
||||||
# Tail Round 1
|
|
||||||
movl 4(%esi), %ecx
|
movl 4(%esi), %ecx
|
||||||
movl 4(%edi), %edx
|
movl 4(%edi), %edx
|
||||||
addl %eax, %ecx
|
addl %eax, %ecx
|
||||||
@ -641,7 +641,7 @@ bn_add_words:
|
|||||||
decl %ebp
|
decl %ebp
|
||||||
movl %ecx, 4(%ebx)
|
movl %ecx, 4(%ebx)
|
||||||
jz .L013aw_end
|
jz .L013aw_end
|
||||||
# Tail Round 2
|
|
||||||
movl 8(%esi), %ecx
|
movl 8(%esi), %ecx
|
||||||
movl 8(%edi), %edx
|
movl 8(%edi), %edx
|
||||||
addl %eax, %ecx
|
addl %eax, %ecx
|
||||||
@ -652,7 +652,7 @@ bn_add_words:
|
|||||||
decl %ebp
|
decl %ebp
|
||||||
movl %ecx, 8(%ebx)
|
movl %ecx, 8(%ebx)
|
||||||
jz .L013aw_end
|
jz .L013aw_end
|
||||||
# Tail Round 3
|
|
||||||
movl 12(%esi), %ecx
|
movl 12(%esi), %ecx
|
||||||
movl 12(%edi), %edx
|
movl 12(%edi), %edx
|
||||||
addl %eax, %ecx
|
addl %eax, %ecx
|
||||||
@ -663,7 +663,7 @@ bn_add_words:
|
|||||||
decl %ebp
|
decl %ebp
|
||||||
movl %ecx, 12(%ebx)
|
movl %ecx, 12(%ebx)
|
||||||
jz .L013aw_end
|
jz .L013aw_end
|
||||||
# Tail Round 4
|
|
||||||
movl 16(%esi), %ecx
|
movl 16(%esi), %ecx
|
||||||
movl 16(%edi), %edx
|
movl 16(%edi), %edx
|
||||||
addl %eax, %ecx
|
addl %eax, %ecx
|
||||||
@ -674,7 +674,7 @@ bn_add_words:
|
|||||||
decl %ebp
|
decl %ebp
|
||||||
movl %ecx, 16(%ebx)
|
movl %ecx, 16(%ebx)
|
||||||
jz .L013aw_end
|
jz .L013aw_end
|
||||||
# Tail Round 5
|
|
||||||
movl 20(%esi), %ecx
|
movl 20(%esi), %ecx
|
||||||
movl 20(%edi), %edx
|
movl 20(%edi), %edx
|
||||||
addl %eax, %ecx
|
addl %eax, %ecx
|
||||||
@ -685,7 +685,7 @@ bn_add_words:
|
|||||||
decl %ebp
|
decl %ebp
|
||||||
movl %ecx, 20(%ebx)
|
movl %ecx, 20(%ebx)
|
||||||
jz .L013aw_end
|
jz .L013aw_end
|
||||||
# Tail Round 6
|
|
||||||
movl 24(%esi), %ecx
|
movl 24(%esi), %ecx
|
||||||
movl 24(%edi), %edx
|
movl 24(%edi), %edx
|
||||||
addl %eax, %ecx
|
addl %eax, %ecx
|
||||||
@ -700,8 +700,8 @@ bn_add_words:
|
|||||||
popl %ebx
|
popl %ebx
|
||||||
popl %ebp
|
popl %ebp
|
||||||
ret
|
ret
|
||||||
.bn_add_words_end:
|
.L_bn_add_words_end:
|
||||||
.size bn_add_words,.bn_add_words_end-bn_add_words
|
.size bn_add_words,.L_bn_add_words_end-bn_add_words
|
||||||
.ident "bn_add_words"
|
.ident "bn_add_words"
|
||||||
.text
|
.text
|
||||||
.align 16
|
.align 16
|
||||||
@ -722,7 +722,7 @@ bn_sub_words:
|
|||||||
andl $4294967288, %ebp
|
andl $4294967288, %ebp
|
||||||
jz .L014aw_finish
|
jz .L014aw_finish
|
||||||
.L015aw_loop:
|
.L015aw_loop:
|
||||||
# Round 0
|
|
||||||
movl (%esi), %ecx
|
movl (%esi), %ecx
|
||||||
movl (%edi), %edx
|
movl (%edi), %edx
|
||||||
subl %eax, %ecx
|
subl %eax, %ecx
|
||||||
@ -731,7 +731,7 @@ bn_sub_words:
|
|||||||
subl %edx, %ecx
|
subl %edx, %ecx
|
||||||
adcl $0, %eax
|
adcl $0, %eax
|
||||||
movl %ecx, (%ebx)
|
movl %ecx, (%ebx)
|
||||||
# Round 1
|
|
||||||
movl 4(%esi), %ecx
|
movl 4(%esi), %ecx
|
||||||
movl 4(%edi), %edx
|
movl 4(%edi), %edx
|
||||||
subl %eax, %ecx
|
subl %eax, %ecx
|
||||||
@ -740,7 +740,7 @@ bn_sub_words:
|
|||||||
subl %edx, %ecx
|
subl %edx, %ecx
|
||||||
adcl $0, %eax
|
adcl $0, %eax
|
||||||
movl %ecx, 4(%ebx)
|
movl %ecx, 4(%ebx)
|
||||||
# Round 2
|
|
||||||
movl 8(%esi), %ecx
|
movl 8(%esi), %ecx
|
||||||
movl 8(%edi), %edx
|
movl 8(%edi), %edx
|
||||||
subl %eax, %ecx
|
subl %eax, %ecx
|
||||||
@ -749,7 +749,7 @@ bn_sub_words:
|
|||||||
subl %edx, %ecx
|
subl %edx, %ecx
|
||||||
adcl $0, %eax
|
adcl $0, %eax
|
||||||
movl %ecx, 8(%ebx)
|
movl %ecx, 8(%ebx)
|
||||||
# Round 3
|
|
||||||
movl 12(%esi), %ecx
|
movl 12(%esi), %ecx
|
||||||
movl 12(%edi), %edx
|
movl 12(%edi), %edx
|
||||||
subl %eax, %ecx
|
subl %eax, %ecx
|
||||||
@ -758,7 +758,7 @@ bn_sub_words:
|
|||||||
subl %edx, %ecx
|
subl %edx, %ecx
|
||||||
adcl $0, %eax
|
adcl $0, %eax
|
||||||
movl %ecx, 12(%ebx)
|
movl %ecx, 12(%ebx)
|
||||||
# Round 4
|
|
||||||
movl 16(%esi), %ecx
|
movl 16(%esi), %ecx
|
||||||
movl 16(%edi), %edx
|
movl 16(%edi), %edx
|
||||||
subl %eax, %ecx
|
subl %eax, %ecx
|
||||||
@ -767,7 +767,7 @@ bn_sub_words:
|
|||||||
subl %edx, %ecx
|
subl %edx, %ecx
|
||||||
adcl $0, %eax
|
adcl $0, %eax
|
||||||
movl %ecx, 16(%ebx)
|
movl %ecx, 16(%ebx)
|
||||||
# Round 5
|
|
||||||
movl 20(%esi), %ecx
|
movl 20(%esi), %ecx
|
||||||
movl 20(%edi), %edx
|
movl 20(%edi), %edx
|
||||||
subl %eax, %ecx
|
subl %eax, %ecx
|
||||||
@ -776,7 +776,7 @@ bn_sub_words:
|
|||||||
subl %edx, %ecx
|
subl %edx, %ecx
|
||||||
adcl $0, %eax
|
adcl $0, %eax
|
||||||
movl %ecx, 20(%ebx)
|
movl %ecx, 20(%ebx)
|
||||||
# Round 6
|
|
||||||
movl 24(%esi), %ecx
|
movl 24(%esi), %ecx
|
||||||
movl 24(%edi), %edx
|
movl 24(%edi), %edx
|
||||||
subl %eax, %ecx
|
subl %eax, %ecx
|
||||||
@ -785,7 +785,7 @@ bn_sub_words:
|
|||||||
subl %edx, %ecx
|
subl %edx, %ecx
|
||||||
adcl $0, %eax
|
adcl $0, %eax
|
||||||
movl %ecx, 24(%ebx)
|
movl %ecx, 24(%ebx)
|
||||||
# Round 7
|
|
||||||
movl 28(%esi), %ecx
|
movl 28(%esi), %ecx
|
||||||
movl 28(%edi), %edx
|
movl 28(%edi), %edx
|
||||||
subl %eax, %ecx
|
subl %eax, %ecx
|
||||||
@ -804,7 +804,7 @@ bn_sub_words:
|
|||||||
movl 32(%esp), %ebp
|
movl 32(%esp), %ebp
|
||||||
andl $7, %ebp
|
andl $7, %ebp
|
||||||
jz .L016aw_end
|
jz .L016aw_end
|
||||||
# Tail Round 0
|
|
||||||
movl (%esi), %ecx
|
movl (%esi), %ecx
|
||||||
movl (%edi), %edx
|
movl (%edi), %edx
|
||||||
subl %eax, %ecx
|
subl %eax, %ecx
|
||||||
@ -815,7 +815,7 @@ bn_sub_words:
|
|||||||
decl %ebp
|
decl %ebp
|
||||||
movl %ecx, (%ebx)
|
movl %ecx, (%ebx)
|
||||||
jz .L016aw_end
|
jz .L016aw_end
|
||||||
# Tail Round 1
|
|
||||||
movl 4(%esi), %ecx
|
movl 4(%esi), %ecx
|
||||||
movl 4(%edi), %edx
|
movl 4(%edi), %edx
|
||||||
subl %eax, %ecx
|
subl %eax, %ecx
|
||||||
@ -826,7 +826,7 @@ bn_sub_words:
|
|||||||
decl %ebp
|
decl %ebp
|
||||||
movl %ecx, 4(%ebx)
|
movl %ecx, 4(%ebx)
|
||||||
jz .L016aw_end
|
jz .L016aw_end
|
||||||
# Tail Round 2
|
|
||||||
movl 8(%esi), %ecx
|
movl 8(%esi), %ecx
|
||||||
movl 8(%edi), %edx
|
movl 8(%edi), %edx
|
||||||
subl %eax, %ecx
|
subl %eax, %ecx
|
||||||
@ -837,7 +837,7 @@ bn_sub_words:
|
|||||||
decl %ebp
|
decl %ebp
|
||||||
movl %ecx, 8(%ebx)
|
movl %ecx, 8(%ebx)
|
||||||
jz .L016aw_end
|
jz .L016aw_end
|
||||||
# Tail Round 3
|
|
||||||
movl 12(%esi), %ecx
|
movl 12(%esi), %ecx
|
||||||
movl 12(%edi), %edx
|
movl 12(%edi), %edx
|
||||||
subl %eax, %ecx
|
subl %eax, %ecx
|
||||||
@ -848,7 +848,7 @@ bn_sub_words:
|
|||||||
decl %ebp
|
decl %ebp
|
||||||
movl %ecx, 12(%ebx)
|
movl %ecx, 12(%ebx)
|
||||||
jz .L016aw_end
|
jz .L016aw_end
|
||||||
# Tail Round 4
|
|
||||||
movl 16(%esi), %ecx
|
movl 16(%esi), %ecx
|
||||||
movl 16(%edi), %edx
|
movl 16(%edi), %edx
|
||||||
subl %eax, %ecx
|
subl %eax, %ecx
|
||||||
@ -859,7 +859,7 @@ bn_sub_words:
|
|||||||
decl %ebp
|
decl %ebp
|
||||||
movl %ecx, 16(%ebx)
|
movl %ecx, 16(%ebx)
|
||||||
jz .L016aw_end
|
jz .L016aw_end
|
||||||
# Tail Round 5
|
|
||||||
movl 20(%esi), %ecx
|
movl 20(%esi), %ecx
|
||||||
movl 20(%edi), %edx
|
movl 20(%edi), %edx
|
||||||
subl %eax, %ecx
|
subl %eax, %ecx
|
||||||
@ -870,7 +870,7 @@ bn_sub_words:
|
|||||||
decl %ebp
|
decl %ebp
|
||||||
movl %ecx, 20(%ebx)
|
movl %ecx, 20(%ebx)
|
||||||
jz .L016aw_end
|
jz .L016aw_end
|
||||||
# Tail Round 6
|
|
||||||
movl 24(%esi), %ecx
|
movl 24(%esi), %ecx
|
||||||
movl 24(%edi), %edx
|
movl 24(%edi), %edx
|
||||||
subl %eax, %ecx
|
subl %eax, %ecx
|
||||||
@ -885,6 +885,6 @@ bn_sub_words:
|
|||||||
popl %ebx
|
popl %ebx
|
||||||
popl %ebp
|
popl %ebp
|
||||||
ret
|
ret
|
||||||
.bn_sub_words_end:
|
.L_bn_sub_words_end:
|
||||||
.size bn_sub_words,.bn_sub_words_end-bn_sub_words
|
.size bn_sub_words,.L_bn_sub_words_end-bn_sub_words
|
||||||
.ident "bn_sub_words"
|
.ident "bn_sub_words"
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
# $FreeBSD$
|
# $FreeBSD$
|
||||||
# Dont even think of reading this code
|
|
||||||
# It was automatically generated by cast-586.pl
|
|
||||||
# Which is a perl program used to generate the x86 assember for
|
|
||||||
# any of elf, a.out, BSDI, Win32, gaswin (for GNU as on Win32) or Solaris
|
|
||||||
# eric <eay@cryptsoft.com>
|
|
||||||
|
|
||||||
.file "cast-586.s"
|
.file "cast-586.s"
|
||||||
.version "01.01"
|
.version "01.01"
|
||||||
@ -20,14 +20,14 @@ CAST_encrypt:
|
|||||||
movl 16(%esp), %ebp
|
movl 16(%esp), %ebp
|
||||||
pushl %esi
|
pushl %esi
|
||||||
pushl %edi
|
pushl %edi
|
||||||
# Load the 2 words
|
|
||||||
movl (%ebx), %edi
|
movl (%ebx), %edi
|
||||||
movl 4(%ebx), %esi
|
movl 4(%ebx), %esi
|
||||||
# Get short key flag
|
|
||||||
movl 128(%ebp), %eax
|
movl 128(%ebp), %eax
|
||||||
pushl %eax
|
pushl %eax
|
||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
# round 0
|
|
||||||
movl (%ebp), %edx
|
movl (%ebp), %edx
|
||||||
movl 4(%ebp), %ecx
|
movl 4(%ebp), %ecx
|
||||||
addl %esi, %edx
|
addl %esi, %edx
|
||||||
@ -48,7 +48,7 @@ CAST_encrypt:
|
|||||||
movl CAST_S_table3(,%edx,4),%ebx
|
movl CAST_S_table3(,%edx,4),%ebx
|
||||||
addl %ebx, %ecx
|
addl %ebx, %ecx
|
||||||
xorl %ecx, %edi
|
xorl %ecx, %edi
|
||||||
# round 1
|
|
||||||
movl 8(%ebp), %edx
|
movl 8(%ebp), %edx
|
||||||
movl 12(%ebp), %ecx
|
movl 12(%ebp), %ecx
|
||||||
xorl %edi, %edx
|
xorl %edi, %edx
|
||||||
@ -69,7 +69,7 @@ CAST_encrypt:
|
|||||||
movl CAST_S_table3(,%edx,4),%ebx
|
movl CAST_S_table3(,%edx,4),%ebx
|
||||||
xorl %ebx, %ecx
|
xorl %ebx, %ecx
|
||||||
xorl %ecx, %esi
|
xorl %ecx, %esi
|
||||||
# round 2
|
|
||||||
movl 16(%ebp), %edx
|
movl 16(%ebp), %edx
|
||||||
movl 20(%ebp), %ecx
|
movl 20(%ebp), %ecx
|
||||||
subl %esi, %edx
|
subl %esi, %edx
|
||||||
@ -90,7 +90,7 @@ CAST_encrypt:
|
|||||||
movl CAST_S_table3(,%edx,4),%ebx
|
movl CAST_S_table3(,%edx,4),%ebx
|
||||||
subl %ebx, %ecx
|
subl %ebx, %ecx
|
||||||
xorl %ecx, %edi
|
xorl %ecx, %edi
|
||||||
# round 3
|
|
||||||
movl 24(%ebp), %edx
|
movl 24(%ebp), %edx
|
||||||
movl 28(%ebp), %ecx
|
movl 28(%ebp), %ecx
|
||||||
addl %edi, %edx
|
addl %edi, %edx
|
||||||
@ -111,7 +111,7 @@ CAST_encrypt:
|
|||||||
movl CAST_S_table3(,%edx,4),%ebx
|
movl CAST_S_table3(,%edx,4),%ebx
|
||||||
addl %ebx, %ecx
|
addl %ebx, %ecx
|
||||||
xorl %ecx, %esi
|
xorl %ecx, %esi
|
||||||
# round 4
|
|
||||||
movl 32(%ebp), %edx
|
movl 32(%ebp), %edx
|
||||||
movl 36(%ebp), %ecx
|
movl 36(%ebp), %ecx
|
||||||
xorl %esi, %edx
|
xorl %esi, %edx
|
||||||
@ -132,7 +132,7 @@ CAST_encrypt:
|
|||||||
movl CAST_S_table3(,%edx,4),%ebx
|
movl CAST_S_table3(,%edx,4),%ebx
|
||||||
xorl %ebx, %ecx
|
xorl %ebx, %ecx
|
||||||
xorl %ecx, %edi
|
xorl %ecx, %edi
|
||||||
# round 5
|
|
||||||
movl 40(%ebp), %edx
|
movl 40(%ebp), %edx
|
||||||
movl 44(%ebp), %ecx
|
movl 44(%ebp), %ecx
|
||||||
subl %edi, %edx
|
subl %edi, %edx
|
||||||
@ -153,7 +153,7 @@ CAST_encrypt:
|
|||||||
movl CAST_S_table3(,%edx,4),%ebx
|
movl CAST_S_table3(,%edx,4),%ebx
|
||||||
subl %ebx, %ecx
|
subl %ebx, %ecx
|
||||||
xorl %ecx, %esi
|
xorl %ecx, %esi
|
||||||
# round 6
|
|
||||||
movl 48(%ebp), %edx
|
movl 48(%ebp), %edx
|
||||||
movl 52(%ebp), %ecx
|
movl 52(%ebp), %ecx
|
||||||
addl %esi, %edx
|
addl %esi, %edx
|
||||||
@ -174,7 +174,7 @@ CAST_encrypt:
|
|||||||
movl CAST_S_table3(,%edx,4),%ebx
|
movl CAST_S_table3(,%edx,4),%ebx
|
||||||
addl %ebx, %ecx
|
addl %ebx, %ecx
|
||||||
xorl %ecx, %edi
|
xorl %ecx, %edi
|
||||||
# round 7
|
|
||||||
movl 56(%ebp), %edx
|
movl 56(%ebp), %edx
|
||||||
movl 60(%ebp), %ecx
|
movl 60(%ebp), %ecx
|
||||||
xorl %edi, %edx
|
xorl %edi, %edx
|
||||||
@ -195,7 +195,7 @@ CAST_encrypt:
|
|||||||
movl CAST_S_table3(,%edx,4),%ebx
|
movl CAST_S_table3(,%edx,4),%ebx
|
||||||
xorl %ebx, %ecx
|
xorl %ebx, %ecx
|
||||||
xorl %ecx, %esi
|
xorl %ecx, %esi
|
||||||
# round 8
|
|
||||||
movl 64(%ebp), %edx
|
movl 64(%ebp), %edx
|
||||||
movl 68(%ebp), %ecx
|
movl 68(%ebp), %ecx
|
||||||
subl %esi, %edx
|
subl %esi, %edx
|
||||||
@ -216,7 +216,7 @@ CAST_encrypt:
|
|||||||
movl CAST_S_table3(,%edx,4),%ebx
|
movl CAST_S_table3(,%edx,4),%ebx
|
||||||
subl %ebx, %ecx
|
subl %ebx, %ecx
|
||||||
xorl %ecx, %edi
|
xorl %ecx, %edi
|
||||||
# round 9
|
|
||||||
movl 72(%ebp), %edx
|
movl 72(%ebp), %edx
|
||||||
movl 76(%ebp), %ecx
|
movl 76(%ebp), %ecx
|
||||||
addl %edi, %edx
|
addl %edi, %edx
|
||||||
@ -237,7 +237,7 @@ CAST_encrypt:
|
|||||||
movl CAST_S_table3(,%edx,4),%ebx
|
movl CAST_S_table3(,%edx,4),%ebx
|
||||||
addl %ebx, %ecx
|
addl %ebx, %ecx
|
||||||
xorl %ecx, %esi
|
xorl %ecx, %esi
|
||||||
# round 10
|
|
||||||
movl 80(%ebp), %edx
|
movl 80(%ebp), %edx
|
||||||
movl 84(%ebp), %ecx
|
movl 84(%ebp), %ecx
|
||||||
xorl %esi, %edx
|
xorl %esi, %edx
|
||||||
@ -258,7 +258,7 @@ CAST_encrypt:
|
|||||||
movl CAST_S_table3(,%edx,4),%ebx
|
movl CAST_S_table3(,%edx,4),%ebx
|
||||||
xorl %ebx, %ecx
|
xorl %ebx, %ecx
|
||||||
xorl %ecx, %edi
|
xorl %ecx, %edi
|
||||||
# round 11
|
|
||||||
movl 88(%ebp), %edx
|
movl 88(%ebp), %edx
|
||||||
movl 92(%ebp), %ecx
|
movl 92(%ebp), %ecx
|
||||||
subl %edi, %edx
|
subl %edi, %edx
|
||||||
@ -279,11 +279,11 @@ CAST_encrypt:
|
|||||||
movl CAST_S_table3(,%edx,4),%ebx
|
movl CAST_S_table3(,%edx,4),%ebx
|
||||||
subl %ebx, %ecx
|
subl %ebx, %ecx
|
||||||
xorl %ecx, %esi
|
xorl %ecx, %esi
|
||||||
# test short key flag
|
|
||||||
popl %edx
|
popl %edx
|
||||||
orl %edx, %edx
|
orl %edx, %edx
|
||||||
jnz .L000cast_enc_done
|
jnz .L000cast_enc_done
|
||||||
# round 12
|
|
||||||
movl 96(%ebp), %edx
|
movl 96(%ebp), %edx
|
||||||
movl 100(%ebp), %ecx
|
movl 100(%ebp), %ecx
|
||||||
addl %esi, %edx
|
addl %esi, %edx
|
||||||
@ -304,7 +304,7 @@ CAST_encrypt:
|
|||||||
movl CAST_S_table3(,%edx,4),%ebx
|
movl CAST_S_table3(,%edx,4),%ebx
|
||||||
addl %ebx, %ecx
|
addl %ebx, %ecx
|
||||||
xorl %ecx, %edi
|
xorl %ecx, %edi
|
||||||
# round 13
|
|
||||||
movl 104(%ebp), %edx
|
movl 104(%ebp), %edx
|
||||||
movl 108(%ebp), %ecx
|
movl 108(%ebp), %ecx
|
||||||
xorl %edi, %edx
|
xorl %edi, %edx
|
||||||
@ -325,7 +325,7 @@ CAST_encrypt:
|
|||||||
movl CAST_S_table3(,%edx,4),%ebx
|
movl CAST_S_table3(,%edx,4),%ebx
|
||||||
xorl %ebx, %ecx
|
xorl %ebx, %ecx
|
||||||
xorl %ecx, %esi
|
xorl %ecx, %esi
|
||||||
# round 14
|
|
||||||
movl 112(%ebp), %edx
|
movl 112(%ebp), %edx
|
||||||
movl 116(%ebp), %ecx
|
movl 116(%ebp), %ecx
|
||||||
subl %esi, %edx
|
subl %esi, %edx
|
||||||
@ -346,7 +346,7 @@ CAST_encrypt:
|
|||||||
movl CAST_S_table3(,%edx,4),%ebx
|
movl CAST_S_table3(,%edx,4),%ebx
|
||||||
subl %ebx, %ecx
|
subl %ebx, %ecx
|
||||||
xorl %ecx, %edi
|
xorl %ecx, %edi
|
||||||
# round 15
|
|
||||||
movl 120(%ebp), %edx
|
movl 120(%ebp), %edx
|
||||||
movl 124(%ebp), %ecx
|
movl 124(%ebp), %ecx
|
||||||
addl %edi, %edx
|
addl %edi, %edx
|
||||||
@ -377,8 +377,8 @@ CAST_encrypt:
|
|||||||
popl %ebx
|
popl %ebx
|
||||||
popl %ebp
|
popl %ebp
|
||||||
ret
|
ret
|
||||||
.CAST_encrypt_end:
|
.L_CAST_encrypt_end:
|
||||||
.size CAST_encrypt,.CAST_encrypt_end-CAST_encrypt
|
.size CAST_encrypt,.L_CAST_encrypt_end-CAST_encrypt
|
||||||
.ident "CAST_encrypt"
|
.ident "CAST_encrypt"
|
||||||
.text
|
.text
|
||||||
.align 16
|
.align 16
|
||||||
@ -392,15 +392,15 @@ CAST_decrypt:
|
|||||||
movl 16(%esp), %ebp
|
movl 16(%esp), %ebp
|
||||||
pushl %esi
|
pushl %esi
|
||||||
pushl %edi
|
pushl %edi
|
||||||
# Load the 2 words
|
|
||||||
movl (%ebx), %edi
|
movl (%ebx), %edi
|
||||||
movl 4(%ebx), %esi
|
movl 4(%ebx), %esi
|
||||||
# Get short key flag
|
|
||||||
movl 128(%ebp), %eax
|
movl 128(%ebp), %eax
|
||||||
orl %eax, %eax
|
orl %eax, %eax
|
||||||
jnz .L001cast_dec_skip
|
jnz .L001cast_dec_skip
|
||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
# round 15
|
|
||||||
movl 120(%ebp), %edx
|
movl 120(%ebp), %edx
|
||||||
movl 124(%ebp), %ecx
|
movl 124(%ebp), %ecx
|
||||||
addl %esi, %edx
|
addl %esi, %edx
|
||||||
@ -421,7 +421,7 @@ CAST_decrypt:
|
|||||||
movl CAST_S_table3(,%edx,4),%ebx
|
movl CAST_S_table3(,%edx,4),%ebx
|
||||||
addl %ebx, %ecx
|
addl %ebx, %ecx
|
||||||
xorl %ecx, %edi
|
xorl %ecx, %edi
|
||||||
# round 14
|
|
||||||
movl 112(%ebp), %edx
|
movl 112(%ebp), %edx
|
||||||
movl 116(%ebp), %ecx
|
movl 116(%ebp), %ecx
|
||||||
subl %edi, %edx
|
subl %edi, %edx
|
||||||
@ -442,7 +442,7 @@ CAST_decrypt:
|
|||||||
movl CAST_S_table3(,%edx,4),%ebx
|
movl CAST_S_table3(,%edx,4),%ebx
|
||||||
subl %ebx, %ecx
|
subl %ebx, %ecx
|
||||||
xorl %ecx, %esi
|
xorl %ecx, %esi
|
||||||
# round 13
|
|
||||||
movl 104(%ebp), %edx
|
movl 104(%ebp), %edx
|
||||||
movl 108(%ebp), %ecx
|
movl 108(%ebp), %ecx
|
||||||
xorl %esi, %edx
|
xorl %esi, %edx
|
||||||
@ -463,7 +463,7 @@ CAST_decrypt:
|
|||||||
movl CAST_S_table3(,%edx,4),%ebx
|
movl CAST_S_table3(,%edx,4),%ebx
|
||||||
xorl %ebx, %ecx
|
xorl %ebx, %ecx
|
||||||
xorl %ecx, %edi
|
xorl %ecx, %edi
|
||||||
# round 12
|
|
||||||
movl 96(%ebp), %edx
|
movl 96(%ebp), %edx
|
||||||
movl 100(%ebp), %ecx
|
movl 100(%ebp), %ecx
|
||||||
addl %edi, %edx
|
addl %edi, %edx
|
||||||
@ -485,7 +485,7 @@ CAST_decrypt:
|
|||||||
addl %ebx, %ecx
|
addl %ebx, %ecx
|
||||||
xorl %ecx, %esi
|
xorl %ecx, %esi
|
||||||
.L001cast_dec_skip:
|
.L001cast_dec_skip:
|
||||||
# round 11
|
|
||||||
movl 88(%ebp), %edx
|
movl 88(%ebp), %edx
|
||||||
movl 92(%ebp), %ecx
|
movl 92(%ebp), %ecx
|
||||||
subl %esi, %edx
|
subl %esi, %edx
|
||||||
@ -506,7 +506,7 @@ CAST_decrypt:
|
|||||||
movl CAST_S_table3(,%edx,4),%ebx
|
movl CAST_S_table3(,%edx,4),%ebx
|
||||||
subl %ebx, %ecx
|
subl %ebx, %ecx
|
||||||
xorl %ecx, %edi
|
xorl %ecx, %edi
|
||||||
# round 10
|
|
||||||
movl 80(%ebp), %edx
|
movl 80(%ebp), %edx
|
||||||
movl 84(%ebp), %ecx
|
movl 84(%ebp), %ecx
|
||||||
xorl %edi, %edx
|
xorl %edi, %edx
|
||||||
@ -527,7 +527,7 @@ CAST_decrypt:
|
|||||||
movl CAST_S_table3(,%edx,4),%ebx
|
movl CAST_S_table3(,%edx,4),%ebx
|
||||||
xorl %ebx, %ecx
|
xorl %ebx, %ecx
|
||||||
xorl %ecx, %esi
|
xorl %ecx, %esi
|
||||||
# round 9
|
|
||||||
movl 72(%ebp), %edx
|
movl 72(%ebp), %edx
|
||||||
movl 76(%ebp), %ecx
|
movl 76(%ebp), %ecx
|
||||||
addl %esi, %edx
|
addl %esi, %edx
|
||||||
@ -548,7 +548,7 @@ CAST_decrypt:
|
|||||||
movl CAST_S_table3(,%edx,4),%ebx
|
movl CAST_S_table3(,%edx,4),%ebx
|
||||||
addl %ebx, %ecx
|
addl %ebx, %ecx
|
||||||
xorl %ecx, %edi
|
xorl %ecx, %edi
|
||||||
# round 8
|
|
||||||
movl 64(%ebp), %edx
|
movl 64(%ebp), %edx
|
||||||
movl 68(%ebp), %ecx
|
movl 68(%ebp), %ecx
|
||||||
subl %edi, %edx
|
subl %edi, %edx
|
||||||
@ -569,7 +569,7 @@ CAST_decrypt:
|
|||||||
movl CAST_S_table3(,%edx,4),%ebx
|
movl CAST_S_table3(,%edx,4),%ebx
|
||||||
subl %ebx, %ecx
|
subl %ebx, %ecx
|
||||||
xorl %ecx, %esi
|
xorl %ecx, %esi
|
||||||
# round 7
|
|
||||||
movl 56(%ebp), %edx
|
movl 56(%ebp), %edx
|
||||||
movl 60(%ebp), %ecx
|
movl 60(%ebp), %ecx
|
||||||
xorl %esi, %edx
|
xorl %esi, %edx
|
||||||
@ -590,7 +590,7 @@ CAST_decrypt:
|
|||||||
movl CAST_S_table3(,%edx,4),%ebx
|
movl CAST_S_table3(,%edx,4),%ebx
|
||||||
xorl %ebx, %ecx
|
xorl %ebx, %ecx
|
||||||
xorl %ecx, %edi
|
xorl %ecx, %edi
|
||||||
# round 6
|
|
||||||
movl 48(%ebp), %edx
|
movl 48(%ebp), %edx
|
||||||
movl 52(%ebp), %ecx
|
movl 52(%ebp), %ecx
|
||||||
addl %edi, %edx
|
addl %edi, %edx
|
||||||
@ -611,7 +611,7 @@ CAST_decrypt:
|
|||||||
movl CAST_S_table3(,%edx,4),%ebx
|
movl CAST_S_table3(,%edx,4),%ebx
|
||||||
addl %ebx, %ecx
|
addl %ebx, %ecx
|
||||||
xorl %ecx, %esi
|
xorl %ecx, %esi
|
||||||
# round 5
|
|
||||||
movl 40(%ebp), %edx
|
movl 40(%ebp), %edx
|
||||||
movl 44(%ebp), %ecx
|
movl 44(%ebp), %ecx
|
||||||
subl %esi, %edx
|
subl %esi, %edx
|
||||||
@ -632,7 +632,7 @@ CAST_decrypt:
|
|||||||
movl CAST_S_table3(,%edx,4),%ebx
|
movl CAST_S_table3(,%edx,4),%ebx
|
||||||
subl %ebx, %ecx
|
subl %ebx, %ecx
|
||||||
xorl %ecx, %edi
|
xorl %ecx, %edi
|
||||||
# round 4
|
|
||||||
movl 32(%ebp), %edx
|
movl 32(%ebp), %edx
|
||||||
movl 36(%ebp), %ecx
|
movl 36(%ebp), %ecx
|
||||||
xorl %edi, %edx
|
xorl %edi, %edx
|
||||||
@ -653,7 +653,7 @@ CAST_decrypt:
|
|||||||
movl CAST_S_table3(,%edx,4),%ebx
|
movl CAST_S_table3(,%edx,4),%ebx
|
||||||
xorl %ebx, %ecx
|
xorl %ebx, %ecx
|
||||||
xorl %ecx, %esi
|
xorl %ecx, %esi
|
||||||
# round 3
|
|
||||||
movl 24(%ebp), %edx
|
movl 24(%ebp), %edx
|
||||||
movl 28(%ebp), %ecx
|
movl 28(%ebp), %ecx
|
||||||
addl %esi, %edx
|
addl %esi, %edx
|
||||||
@ -674,7 +674,7 @@ CAST_decrypt:
|
|||||||
movl CAST_S_table3(,%edx,4),%ebx
|
movl CAST_S_table3(,%edx,4),%ebx
|
||||||
addl %ebx, %ecx
|
addl %ebx, %ecx
|
||||||
xorl %ecx, %edi
|
xorl %ecx, %edi
|
||||||
# round 2
|
|
||||||
movl 16(%ebp), %edx
|
movl 16(%ebp), %edx
|
||||||
movl 20(%ebp), %ecx
|
movl 20(%ebp), %ecx
|
||||||
subl %edi, %edx
|
subl %edi, %edx
|
||||||
@ -695,7 +695,7 @@ CAST_decrypt:
|
|||||||
movl CAST_S_table3(,%edx,4),%ebx
|
movl CAST_S_table3(,%edx,4),%ebx
|
||||||
subl %ebx, %ecx
|
subl %ebx, %ecx
|
||||||
xorl %ecx, %esi
|
xorl %ecx, %esi
|
||||||
# round 1
|
|
||||||
movl 8(%ebp), %edx
|
movl 8(%ebp), %edx
|
||||||
movl 12(%ebp), %ecx
|
movl 12(%ebp), %ecx
|
||||||
xorl %esi, %edx
|
xorl %esi, %edx
|
||||||
@ -716,7 +716,7 @@ CAST_decrypt:
|
|||||||
movl CAST_S_table3(,%edx,4),%ebx
|
movl CAST_S_table3(,%edx,4),%ebx
|
||||||
xorl %ebx, %ecx
|
xorl %ebx, %ecx
|
||||||
xorl %ecx, %edi
|
xorl %ecx, %edi
|
||||||
# round 0
|
|
||||||
movl (%ebp), %edx
|
movl (%ebp), %edx
|
||||||
movl 4(%ebp), %ecx
|
movl 4(%ebp), %ecx
|
||||||
addl %edi, %edx
|
addl %edi, %edx
|
||||||
@ -746,8 +746,8 @@ CAST_decrypt:
|
|||||||
popl %ebx
|
popl %ebx
|
||||||
popl %ebp
|
popl %ebp
|
||||||
ret
|
ret
|
||||||
.CAST_decrypt_end:
|
.L_CAST_decrypt_end:
|
||||||
.size CAST_decrypt,.CAST_decrypt_end-CAST_decrypt
|
.size CAST_decrypt,.L_CAST_decrypt_end-CAST_decrypt
|
||||||
.ident "CAST_decrypt"
|
.ident "CAST_decrypt"
|
||||||
.text
|
.text
|
||||||
.align 16
|
.align 16
|
||||||
@ -760,7 +760,7 @@ CAST_cbc_encrypt:
|
|||||||
pushl %esi
|
pushl %esi
|
||||||
pushl %edi
|
pushl %edi
|
||||||
movl 28(%esp), %ebp
|
movl 28(%esp), %ebp
|
||||||
# getting iv ptr from parameter 4
|
|
||||||
movl 36(%esp), %ebx
|
movl 36(%esp), %ebx
|
||||||
movl (%ebx), %esi
|
movl (%ebx), %esi
|
||||||
movl 4(%ebx), %edi
|
movl 4(%ebx), %edi
|
||||||
@ -771,9 +771,9 @@ CAST_cbc_encrypt:
|
|||||||
movl %esp, %ebx
|
movl %esp, %ebx
|
||||||
movl 36(%esp), %esi
|
movl 36(%esp), %esi
|
||||||
movl 40(%esp), %edi
|
movl 40(%esp), %edi
|
||||||
# getting encrypt flag from parameter 5
|
|
||||||
movl 56(%esp), %ecx
|
movl 56(%esp), %ecx
|
||||||
# get and push parameter 3
|
|
||||||
movl 48(%esp), %eax
|
movl 48(%esp), %eax
|
||||||
pushl %eax
|
pushl %eax
|
||||||
pushl %ebx
|
pushl %ebx
|
||||||
@ -789,18 +789,18 @@ CAST_cbc_encrypt:
|
|||||||
xorl %ecx, %eax
|
xorl %ecx, %eax
|
||||||
xorl %edx, %ebx
|
xorl %edx, %ebx
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 200 # bswapl %eax
|
.byte 200
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 203 # bswapl %ebx
|
.byte 203
|
||||||
movl %eax, 8(%esp)
|
movl %eax, 8(%esp)
|
||||||
movl %ebx, 12(%esp)
|
movl %ebx, 12(%esp)
|
||||||
call CAST_encrypt
|
call CAST_encrypt
|
||||||
movl 8(%esp), %eax
|
movl 8(%esp), %eax
|
||||||
movl 12(%esp), %ebx
|
movl 12(%esp), %ebx
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 200 # bswapl %eax
|
.byte 200
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 203 # bswapl %ebx
|
.byte 203
|
||||||
movl %eax, (%edi)
|
movl %eax, (%edi)
|
||||||
movl %ebx, 4(%edi)
|
movl %ebx, 4(%edi)
|
||||||
addl $8, %esi
|
addl $8, %esi
|
||||||
@ -811,45 +811,50 @@ CAST_cbc_encrypt:
|
|||||||
movl 52(%esp), %ebp
|
movl 52(%esp), %ebp
|
||||||
andl $7, %ebp
|
andl $7, %ebp
|
||||||
jz .L005finish
|
jz .L005finish
|
||||||
|
call .L006PIC_point
|
||||||
|
.L006PIC_point:
|
||||||
|
popl %edx
|
||||||
|
leal .L007cbc_enc_jmp_table-.L006PIC_point(%edx),%ecx
|
||||||
|
movl (%ecx,%ebp,4), %ebp
|
||||||
|
addl %edx, %ebp
|
||||||
xorl %ecx, %ecx
|
xorl %ecx, %ecx
|
||||||
xorl %edx, %edx
|
xorl %edx, %edx
|
||||||
movl .L006cbc_enc_jmp_table(,%ebp,4),%ebp
|
|
||||||
jmp *%ebp
|
jmp *%ebp
|
||||||
.L007ej7:
|
.L008ej7:
|
||||||
xorl %edx, %edx
|
xorl %edx, %edx
|
||||||
movb 6(%esi), %dh
|
movb 6(%esi), %dh
|
||||||
sall $8, %edx
|
sall $8, %edx
|
||||||
.L008ej6:
|
.L009ej6:
|
||||||
movb 5(%esi), %dh
|
movb 5(%esi), %dh
|
||||||
.L009ej5:
|
.L010ej5:
|
||||||
movb 4(%esi), %dl
|
movb 4(%esi), %dl
|
||||||
.L010ej4:
|
.L011ej4:
|
||||||
movl (%esi), %ecx
|
movl (%esi), %ecx
|
||||||
jmp .L011ejend
|
jmp .L012ejend
|
||||||
.L012ej3:
|
.L013ej3:
|
||||||
movb 2(%esi), %ch
|
movb 2(%esi), %ch
|
||||||
xorl %ecx, %ecx
|
xorl %ecx, %ecx
|
||||||
sall $8, %ecx
|
sall $8, %ecx
|
||||||
.L013ej2:
|
.L014ej2:
|
||||||
movb 1(%esi), %ch
|
movb 1(%esi), %ch
|
||||||
.L014ej1:
|
.L015ej1:
|
||||||
movb (%esi), %cl
|
movb (%esi), %cl
|
||||||
.L011ejend:
|
.L012ejend:
|
||||||
xorl %ecx, %eax
|
xorl %ecx, %eax
|
||||||
xorl %edx, %ebx
|
xorl %edx, %ebx
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 200 # bswapl %eax
|
.byte 200
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 203 # bswapl %ebx
|
.byte 203
|
||||||
movl %eax, 8(%esp)
|
movl %eax, 8(%esp)
|
||||||
movl %ebx, 12(%esp)
|
movl %ebx, 12(%esp)
|
||||||
call CAST_encrypt
|
call CAST_encrypt
|
||||||
movl 8(%esp), %eax
|
movl 8(%esp), %eax
|
||||||
movl 12(%esp), %ebx
|
movl 12(%esp), %ebx
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 200 # bswapl %eax
|
.byte 200
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 203 # bswapl %ebx
|
.byte 203
|
||||||
movl %eax, (%edi)
|
movl %eax, (%edi)
|
||||||
movl %ebx, 4(%edi)
|
movl %ebx, 4(%edi)
|
||||||
jmp .L005finish
|
jmp .L005finish
|
||||||
@ -858,23 +863,23 @@ CAST_cbc_encrypt:
|
|||||||
andl $4294967288, %ebp
|
andl $4294967288, %ebp
|
||||||
movl 16(%esp), %eax
|
movl 16(%esp), %eax
|
||||||
movl 20(%esp), %ebx
|
movl 20(%esp), %ebx
|
||||||
jz .L015decrypt_finish
|
jz .L016decrypt_finish
|
||||||
.L016decrypt_loop:
|
.L017decrypt_loop:
|
||||||
movl (%esi), %eax
|
movl (%esi), %eax
|
||||||
movl 4(%esi), %ebx
|
movl 4(%esi), %ebx
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 200 # bswapl %eax
|
.byte 200
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 203 # bswapl %ebx
|
.byte 203
|
||||||
movl %eax, 8(%esp)
|
movl %eax, 8(%esp)
|
||||||
movl %ebx, 12(%esp)
|
movl %ebx, 12(%esp)
|
||||||
call CAST_decrypt
|
call CAST_decrypt
|
||||||
movl 8(%esp), %eax
|
movl 8(%esp), %eax
|
||||||
movl 12(%esp), %ebx
|
movl 12(%esp), %ebx
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 200 # bswapl %eax
|
.byte 200
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 203 # bswapl %ebx
|
.byte 203
|
||||||
movl 16(%esp), %ecx
|
movl 16(%esp), %ecx
|
||||||
movl 20(%esp), %edx
|
movl 20(%esp), %edx
|
||||||
xorl %eax, %ecx
|
xorl %eax, %ecx
|
||||||
@ -888,52 +893,52 @@ CAST_cbc_encrypt:
|
|||||||
addl $8, %esi
|
addl $8, %esi
|
||||||
addl $8, %edi
|
addl $8, %edi
|
||||||
subl $8, %ebp
|
subl $8, %ebp
|
||||||
jnz .L016decrypt_loop
|
jnz .L017decrypt_loop
|
||||||
.L015decrypt_finish:
|
.L016decrypt_finish:
|
||||||
movl 52(%esp), %ebp
|
movl 52(%esp), %ebp
|
||||||
andl $7, %ebp
|
andl $7, %ebp
|
||||||
jz .L005finish
|
jz .L005finish
|
||||||
movl (%esi), %eax
|
movl (%esi), %eax
|
||||||
movl 4(%esi), %ebx
|
movl 4(%esi), %ebx
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 200 # bswapl %eax
|
.byte 200
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 203 # bswapl %ebx
|
.byte 203
|
||||||
movl %eax, 8(%esp)
|
movl %eax, 8(%esp)
|
||||||
movl %ebx, 12(%esp)
|
movl %ebx, 12(%esp)
|
||||||
call CAST_decrypt
|
call CAST_decrypt
|
||||||
movl 8(%esp), %eax
|
movl 8(%esp), %eax
|
||||||
movl 12(%esp), %ebx
|
movl 12(%esp), %ebx
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 200 # bswapl %eax
|
.byte 200
|
||||||
.byte 15
|
.byte 15
|
||||||
.byte 203 # bswapl %ebx
|
.byte 203
|
||||||
movl 16(%esp), %ecx
|
movl 16(%esp), %ecx
|
||||||
movl 20(%esp), %edx
|
movl 20(%esp), %edx
|
||||||
xorl %eax, %ecx
|
xorl %eax, %ecx
|
||||||
xorl %ebx, %edx
|
xorl %ebx, %edx
|
||||||
movl (%esi), %eax
|
movl (%esi), %eax
|
||||||
movl 4(%esi), %ebx
|
movl 4(%esi), %ebx
|
||||||
.L017dj7:
|
.L018dj7:
|
||||||
rorl $16, %edx
|
rorl $16, %edx
|
||||||
movb %dl, 6(%edi)
|
movb %dl, 6(%edi)
|
||||||
shrl $16, %edx
|
shrl $16, %edx
|
||||||
.L018dj6:
|
.L019dj6:
|
||||||
movb %dh, 5(%edi)
|
movb %dh, 5(%edi)
|
||||||
.L019dj5:
|
.L020dj5:
|
||||||
movb %dl, 4(%edi)
|
movb %dl, 4(%edi)
|
||||||
.L020dj4:
|
.L021dj4:
|
||||||
movl %ecx, (%edi)
|
movl %ecx, (%edi)
|
||||||
jmp .L021djend
|
jmp .L022djend
|
||||||
.L022dj3:
|
.L023dj3:
|
||||||
rorl $16, %ecx
|
rorl $16, %ecx
|
||||||
movb %cl, 2(%edi)
|
movb %cl, 2(%edi)
|
||||||
sall $16, %ecx
|
sall $16, %ecx
|
||||||
.L023dj2:
|
.L024dj2:
|
||||||
movb %ch, 1(%esi)
|
movb %ch, 1(%esi)
|
||||||
.L024dj1:
|
.L025dj1:
|
||||||
movb %cl, (%esi)
|
movb %cl, (%esi)
|
||||||
.L021djend:
|
.L022djend:
|
||||||
jmp .L005finish
|
jmp .L005finish
|
||||||
.align 16
|
.align 16
|
||||||
.L005finish:
|
.L005finish:
|
||||||
@ -947,25 +952,15 @@ CAST_cbc_encrypt:
|
|||||||
popl %ebp
|
popl %ebp
|
||||||
ret
|
ret
|
||||||
.align 16
|
.align 16
|
||||||
.L006cbc_enc_jmp_table:
|
.L007cbc_enc_jmp_table:
|
||||||
.long 0
|
.long 0
|
||||||
.long .L014ej1
|
.long .L015ej1-.L006PIC_point
|
||||||
.long .L013ej2
|
.long .L014ej2-.L006PIC_point
|
||||||
.long .L012ej3
|
.long .L013ej3-.L006PIC_point
|
||||||
.long .L010ej4
|
.long .L011ej4-.L006PIC_point
|
||||||
.long .L009ej5
|
.long .L010ej5-.L006PIC_point
|
||||||
.long .L008ej6
|
.long .L009ej6-.L006PIC_point
|
||||||
.long .L007ej7
|
.long .L008ej7-.L006PIC_point
|
||||||
.align 16
|
|
||||||
.L025cbc_dec_jmp_table:
|
|
||||||
.long 0
|
|
||||||
.long .L024dj1
|
|
||||||
.long .L023dj2
|
|
||||||
.long .L022dj3
|
|
||||||
.long .L020dj4
|
|
||||||
.long .L019dj5
|
|
||||||
.long .L018dj6
|
|
||||||
.long .L017dj7
|
|
||||||
.L_CAST_cbc_encrypt_end:
|
.L_CAST_cbc_encrypt_end:
|
||||||
.size CAST_cbc_encrypt,.L_CAST_cbc_encrypt_end-CAST_cbc_encrypt
|
.size CAST_cbc_encrypt,.L_CAST_cbc_encrypt_end-CAST_cbc_encrypt
|
||||||
.ident "desasm.pl"
|
.ident "desasm.pl"
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,9 +1,9 @@
|
|||||||
# $FreeBSD$
|
# $FreeBSD$
|
||||||
# Dont 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, gaswin (for GNU as on Win32) or Solaris
|
|
||||||
# eric <eay@cryptsoft.com>
|
|
||||||
|
|
||||||
.file "crypt586.s"
|
.file "crypt586.s"
|
||||||
.version "01.01"
|
.version "01.01"
|
||||||
@ -19,18 +19,20 @@ fcrypt_body:
|
|||||||
pushl %edi
|
pushl %edi
|
||||||
|
|
||||||
|
|
||||||
# Load the 2 words
|
|
||||||
xorl %edi, %edi
|
xorl %edi, %edi
|
||||||
xorl %esi, %esi
|
xorl %esi, %esi
|
||||||
movl 24(%esp), %ebp
|
leal DES_SPtrans, %edx
|
||||||
|
pushl %edx
|
||||||
|
movl 28(%esp), %ebp
|
||||||
pushl $25
|
pushl $25
|
||||||
.L000start:
|
.L000start:
|
||||||
|
|
||||||
# Round 0
|
|
||||||
movl 32(%esp), %eax
|
movl 36(%esp), %eax
|
||||||
movl %esi, %edx
|
movl %esi, %edx
|
||||||
shrl $16, %edx
|
shrl $16, %edx
|
||||||
movl 36(%esp), %ecx
|
movl 40(%esp), %ecx
|
||||||
xorl %esi, %edx
|
xorl %esi, %edx
|
||||||
andl %edx, %eax
|
andl %edx, %eax
|
||||||
andl %ecx, %edx
|
andl %ecx, %edx
|
||||||
@ -53,37 +55,34 @@ fcrypt_body:
|
|||||||
movb %al, %bl
|
movb %al, %bl
|
||||||
movb %ah, %cl
|
movb %ah, %cl
|
||||||
rorl $4, %edx
|
rorl $4, %edx
|
||||||
movl des_SPtrans(%ebx),%ebp
|
movl 4(%esp), %ebp
|
||||||
|
xorl (%ebp,%ebx),%edi
|
||||||
movb %dl, %bl
|
movb %dl, %bl
|
||||||
xorl %ebp, %edi
|
xorl 0x200(%ebp,%ecx),%edi
|
||||||
movl 0x200+des_SPtrans(%ecx),%ebp
|
|
||||||
xorl %ebp, %edi
|
|
||||||
movb %dh, %cl
|
movb %dh, %cl
|
||||||
shrl $16, %eax
|
shrl $16, %eax
|
||||||
movl 0x100+des_SPtrans(%ebx),%ebp
|
xorl 0x100(%ebp,%ebx),%edi
|
||||||
xorl %ebp, %edi
|
|
||||||
movb %ah, %bl
|
movb %ah, %bl
|
||||||
shrl $16, %edx
|
shrl $16, %edx
|
||||||
movl 0x300+des_SPtrans(%ecx),%ebp
|
xorl 0x300(%ebp,%ecx),%edi
|
||||||
xorl %ebp, %edi
|
|
||||||
movl 28(%esp), %ebp
|
|
||||||
movb %dh, %cl
|
movb %dh, %cl
|
||||||
andl $0xff, %eax
|
andl $0xff, %eax
|
||||||
andl $0xff, %edx
|
andl $0xff, %edx
|
||||||
movl 0x600+des_SPtrans(%ebx),%ebx
|
movl 0x600(%ebp,%ebx),%ebx
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
movl 0x700+des_SPtrans(%ecx),%ebx
|
movl 0x700(%ebp,%ecx),%ebx
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
movl 0x400+des_SPtrans(%eax),%ebx
|
movl 0x400(%ebp,%eax),%ebx
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
movl 0x500+des_SPtrans(%edx),%ebx
|
movl 0x500(%ebp,%edx),%ebx
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
|
movl 32(%esp), %ebp
|
||||||
|
|
||||||
# Round 1
|
|
||||||
movl 32(%esp), %eax
|
movl 36(%esp), %eax
|
||||||
movl %edi, %edx
|
movl %edi, %edx
|
||||||
shrl $16, %edx
|
shrl $16, %edx
|
||||||
movl 36(%esp), %ecx
|
movl 40(%esp), %ecx
|
||||||
xorl %edi, %edx
|
xorl %edi, %edx
|
||||||
andl %edx, %eax
|
andl %edx, %eax
|
||||||
andl %ecx, %edx
|
andl %ecx, %edx
|
||||||
@ -106,37 +105,34 @@ fcrypt_body:
|
|||||||
movb %al, %bl
|
movb %al, %bl
|
||||||
movb %ah, %cl
|
movb %ah, %cl
|
||||||
rorl $4, %edx
|
rorl $4, %edx
|
||||||
movl des_SPtrans(%ebx),%ebp
|
movl 4(%esp), %ebp
|
||||||
|
xorl (%ebp,%ebx),%esi
|
||||||
movb %dl, %bl
|
movb %dl, %bl
|
||||||
xorl %ebp, %esi
|
xorl 0x200(%ebp,%ecx),%esi
|
||||||
movl 0x200+des_SPtrans(%ecx),%ebp
|
|
||||||
xorl %ebp, %esi
|
|
||||||
movb %dh, %cl
|
movb %dh, %cl
|
||||||
shrl $16, %eax
|
shrl $16, %eax
|
||||||
movl 0x100+des_SPtrans(%ebx),%ebp
|
xorl 0x100(%ebp,%ebx),%esi
|
||||||
xorl %ebp, %esi
|
|
||||||
movb %ah, %bl
|
movb %ah, %bl
|
||||||
shrl $16, %edx
|
shrl $16, %edx
|
||||||
movl 0x300+des_SPtrans(%ecx),%ebp
|
xorl 0x300(%ebp,%ecx),%esi
|
||||||
xorl %ebp, %esi
|
|
||||||
movl 28(%esp), %ebp
|
|
||||||
movb %dh, %cl
|
movb %dh, %cl
|
||||||
andl $0xff, %eax
|
andl $0xff, %eax
|
||||||
andl $0xff, %edx
|
andl $0xff, %edx
|
||||||
movl 0x600+des_SPtrans(%ebx),%ebx
|
movl 0x600(%ebp,%ebx),%ebx
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
movl 0x700+des_SPtrans(%ecx),%ebx
|
movl 0x700(%ebp,%ecx),%ebx
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
movl 0x400+des_SPtrans(%eax),%ebx
|
movl 0x400(%ebp,%eax),%ebx
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
movl 0x500+des_SPtrans(%edx),%ebx
|
movl 0x500(%ebp,%edx),%ebx
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
|
movl 32(%esp), %ebp
|
||||||
|
|
||||||
# Round 2
|
|
||||||
movl 32(%esp), %eax
|
movl 36(%esp), %eax
|
||||||
movl %esi, %edx
|
movl %esi, %edx
|
||||||
shrl $16, %edx
|
shrl $16, %edx
|
||||||
movl 36(%esp), %ecx
|
movl 40(%esp), %ecx
|
||||||
xorl %esi, %edx
|
xorl %esi, %edx
|
||||||
andl %edx, %eax
|
andl %edx, %eax
|
||||||
andl %ecx, %edx
|
andl %ecx, %edx
|
||||||
@ -159,37 +155,34 @@ fcrypt_body:
|
|||||||
movb %al, %bl
|
movb %al, %bl
|
||||||
movb %ah, %cl
|
movb %ah, %cl
|
||||||
rorl $4, %edx
|
rorl $4, %edx
|
||||||
movl des_SPtrans(%ebx),%ebp
|
movl 4(%esp), %ebp
|
||||||
|
xorl (%ebp,%ebx),%edi
|
||||||
movb %dl, %bl
|
movb %dl, %bl
|
||||||
xorl %ebp, %edi
|
xorl 0x200(%ebp,%ecx),%edi
|
||||||
movl 0x200+des_SPtrans(%ecx),%ebp
|
|
||||||
xorl %ebp, %edi
|
|
||||||
movb %dh, %cl
|
movb %dh, %cl
|
||||||
shrl $16, %eax
|
shrl $16, %eax
|
||||||
movl 0x100+des_SPtrans(%ebx),%ebp
|
xorl 0x100(%ebp,%ebx),%edi
|
||||||
xorl %ebp, %edi
|
|
||||||
movb %ah, %bl
|
movb %ah, %bl
|
||||||
shrl $16, %edx
|
shrl $16, %edx
|
||||||
movl 0x300+des_SPtrans(%ecx),%ebp
|
xorl 0x300(%ebp,%ecx),%edi
|
||||||
xorl %ebp, %edi
|
|
||||||
movl 28(%esp), %ebp
|
|
||||||
movb %dh, %cl
|
movb %dh, %cl
|
||||||
andl $0xff, %eax
|
andl $0xff, %eax
|
||||||
andl $0xff, %edx
|
andl $0xff, %edx
|
||||||
movl 0x600+des_SPtrans(%ebx),%ebx
|
movl 0x600(%ebp,%ebx),%ebx
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
movl 0x700+des_SPtrans(%ecx),%ebx
|
movl 0x700(%ebp,%ecx),%ebx
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
movl 0x400+des_SPtrans(%eax),%ebx
|
movl 0x400(%ebp,%eax),%ebx
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
movl 0x500+des_SPtrans(%edx),%ebx
|
movl 0x500(%ebp,%edx),%ebx
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
|
movl 32(%esp), %ebp
|
||||||
|
|
||||||
# Round 3
|
|
||||||
movl 32(%esp), %eax
|
movl 36(%esp), %eax
|
||||||
movl %edi, %edx
|
movl %edi, %edx
|
||||||
shrl $16, %edx
|
shrl $16, %edx
|
||||||
movl 36(%esp), %ecx
|
movl 40(%esp), %ecx
|
||||||
xorl %edi, %edx
|
xorl %edi, %edx
|
||||||
andl %edx, %eax
|
andl %edx, %eax
|
||||||
andl %ecx, %edx
|
andl %ecx, %edx
|
||||||
@ -212,37 +205,34 @@ fcrypt_body:
|
|||||||
movb %al, %bl
|
movb %al, %bl
|
||||||
movb %ah, %cl
|
movb %ah, %cl
|
||||||
rorl $4, %edx
|
rorl $4, %edx
|
||||||
movl des_SPtrans(%ebx),%ebp
|
movl 4(%esp), %ebp
|
||||||
|
xorl (%ebp,%ebx),%esi
|
||||||
movb %dl, %bl
|
movb %dl, %bl
|
||||||
xorl %ebp, %esi
|
xorl 0x200(%ebp,%ecx),%esi
|
||||||
movl 0x200+des_SPtrans(%ecx),%ebp
|
|
||||||
xorl %ebp, %esi
|
|
||||||
movb %dh, %cl
|
movb %dh, %cl
|
||||||
shrl $16, %eax
|
shrl $16, %eax
|
||||||
movl 0x100+des_SPtrans(%ebx),%ebp
|
xorl 0x100(%ebp,%ebx),%esi
|
||||||
xorl %ebp, %esi
|
|
||||||
movb %ah, %bl
|
movb %ah, %bl
|
||||||
shrl $16, %edx
|
shrl $16, %edx
|
||||||
movl 0x300+des_SPtrans(%ecx),%ebp
|
xorl 0x300(%ebp,%ecx),%esi
|
||||||
xorl %ebp, %esi
|
|
||||||
movl 28(%esp), %ebp
|
|
||||||
movb %dh, %cl
|
movb %dh, %cl
|
||||||
andl $0xff, %eax
|
andl $0xff, %eax
|
||||||
andl $0xff, %edx
|
andl $0xff, %edx
|
||||||
movl 0x600+des_SPtrans(%ebx),%ebx
|
movl 0x600(%ebp,%ebx),%ebx
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
movl 0x700+des_SPtrans(%ecx),%ebx
|
movl 0x700(%ebp,%ecx),%ebx
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
movl 0x400+des_SPtrans(%eax),%ebx
|
movl 0x400(%ebp,%eax),%ebx
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
movl 0x500+des_SPtrans(%edx),%ebx
|
movl 0x500(%ebp,%edx),%ebx
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
|
movl 32(%esp), %ebp
|
||||||
|
|
||||||
# Round 4
|
|
||||||
movl 32(%esp), %eax
|
movl 36(%esp), %eax
|
||||||
movl %esi, %edx
|
movl %esi, %edx
|
||||||
shrl $16, %edx
|
shrl $16, %edx
|
||||||
movl 36(%esp), %ecx
|
movl 40(%esp), %ecx
|
||||||
xorl %esi, %edx
|
xorl %esi, %edx
|
||||||
andl %edx, %eax
|
andl %edx, %eax
|
||||||
andl %ecx, %edx
|
andl %ecx, %edx
|
||||||
@ -265,37 +255,34 @@ fcrypt_body:
|
|||||||
movb %al, %bl
|
movb %al, %bl
|
||||||
movb %ah, %cl
|
movb %ah, %cl
|
||||||
rorl $4, %edx
|
rorl $4, %edx
|
||||||
movl des_SPtrans(%ebx),%ebp
|
movl 4(%esp), %ebp
|
||||||
|
xorl (%ebp,%ebx),%edi
|
||||||
movb %dl, %bl
|
movb %dl, %bl
|
||||||
xorl %ebp, %edi
|
xorl 0x200(%ebp,%ecx),%edi
|
||||||
movl 0x200+des_SPtrans(%ecx),%ebp
|
|
||||||
xorl %ebp, %edi
|
|
||||||
movb %dh, %cl
|
movb %dh, %cl
|
||||||
shrl $16, %eax
|
shrl $16, %eax
|
||||||
movl 0x100+des_SPtrans(%ebx),%ebp
|
xorl 0x100(%ebp,%ebx),%edi
|
||||||
xorl %ebp, %edi
|
|
||||||
movb %ah, %bl
|
movb %ah, %bl
|
||||||
shrl $16, %edx
|
shrl $16, %edx
|
||||||
movl 0x300+des_SPtrans(%ecx),%ebp
|
xorl 0x300(%ebp,%ecx),%edi
|
||||||
xorl %ebp, %edi
|
|
||||||
movl 28(%esp), %ebp
|
|
||||||
movb %dh, %cl
|
movb %dh, %cl
|
||||||
andl $0xff, %eax
|
andl $0xff, %eax
|
||||||
andl $0xff, %edx
|
andl $0xff, %edx
|
||||||
movl 0x600+des_SPtrans(%ebx),%ebx
|
movl 0x600(%ebp,%ebx),%ebx
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
movl 0x700+des_SPtrans(%ecx),%ebx
|
movl 0x700(%ebp,%ecx),%ebx
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
movl 0x400+des_SPtrans(%eax),%ebx
|
movl 0x400(%ebp,%eax),%ebx
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
movl 0x500+des_SPtrans(%edx),%ebx
|
movl 0x500(%ebp,%edx),%ebx
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
|
movl 32(%esp), %ebp
|
||||||
|
|
||||||
# Round 5
|
|
||||||
movl 32(%esp), %eax
|
movl 36(%esp), %eax
|
||||||
movl %edi, %edx
|
movl %edi, %edx
|
||||||
shrl $16, %edx
|
shrl $16, %edx
|
||||||
movl 36(%esp), %ecx
|
movl 40(%esp), %ecx
|
||||||
xorl %edi, %edx
|
xorl %edi, %edx
|
||||||
andl %edx, %eax
|
andl %edx, %eax
|
||||||
andl %ecx, %edx
|
andl %ecx, %edx
|
||||||
@ -318,37 +305,34 @@ fcrypt_body:
|
|||||||
movb %al, %bl
|
movb %al, %bl
|
||||||
movb %ah, %cl
|
movb %ah, %cl
|
||||||
rorl $4, %edx
|
rorl $4, %edx
|
||||||
movl des_SPtrans(%ebx),%ebp
|
movl 4(%esp), %ebp
|
||||||
|
xorl (%ebp,%ebx),%esi
|
||||||
movb %dl, %bl
|
movb %dl, %bl
|
||||||
xorl %ebp, %esi
|
xorl 0x200(%ebp,%ecx),%esi
|
||||||
movl 0x200+des_SPtrans(%ecx),%ebp
|
|
||||||
xorl %ebp, %esi
|
|
||||||
movb %dh, %cl
|
movb %dh, %cl
|
||||||
shrl $16, %eax
|
shrl $16, %eax
|
||||||
movl 0x100+des_SPtrans(%ebx),%ebp
|
xorl 0x100(%ebp,%ebx),%esi
|
||||||
xorl %ebp, %esi
|
|
||||||
movb %ah, %bl
|
movb %ah, %bl
|
||||||
shrl $16, %edx
|
shrl $16, %edx
|
||||||
movl 0x300+des_SPtrans(%ecx),%ebp
|
xorl 0x300(%ebp,%ecx),%esi
|
||||||
xorl %ebp, %esi
|
|
||||||
movl 28(%esp), %ebp
|
|
||||||
movb %dh, %cl
|
movb %dh, %cl
|
||||||
andl $0xff, %eax
|
andl $0xff, %eax
|
||||||
andl $0xff, %edx
|
andl $0xff, %edx
|
||||||
movl 0x600+des_SPtrans(%ebx),%ebx
|
movl 0x600(%ebp,%ebx),%ebx
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
movl 0x700+des_SPtrans(%ecx),%ebx
|
movl 0x700(%ebp,%ecx),%ebx
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
movl 0x400+des_SPtrans(%eax),%ebx
|
movl 0x400(%ebp,%eax),%ebx
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
movl 0x500+des_SPtrans(%edx),%ebx
|
movl 0x500(%ebp,%edx),%ebx
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
|
movl 32(%esp), %ebp
|
||||||
|
|
||||||
# Round 6
|
|
||||||
movl 32(%esp), %eax
|
movl 36(%esp), %eax
|
||||||
movl %esi, %edx
|
movl %esi, %edx
|
||||||
shrl $16, %edx
|
shrl $16, %edx
|
||||||
movl 36(%esp), %ecx
|
movl 40(%esp), %ecx
|
||||||
xorl %esi, %edx
|
xorl %esi, %edx
|
||||||
andl %edx, %eax
|
andl %edx, %eax
|
||||||
andl %ecx, %edx
|
andl %ecx, %edx
|
||||||
@ -371,37 +355,34 @@ fcrypt_body:
|
|||||||
movb %al, %bl
|
movb %al, %bl
|
||||||
movb %ah, %cl
|
movb %ah, %cl
|
||||||
rorl $4, %edx
|
rorl $4, %edx
|
||||||
movl des_SPtrans(%ebx),%ebp
|
movl 4(%esp), %ebp
|
||||||
|
xorl (%ebp,%ebx),%edi
|
||||||
movb %dl, %bl
|
movb %dl, %bl
|
||||||
xorl %ebp, %edi
|
xorl 0x200(%ebp,%ecx),%edi
|
||||||
movl 0x200+des_SPtrans(%ecx),%ebp
|
|
||||||
xorl %ebp, %edi
|
|
||||||
movb %dh, %cl
|
movb %dh, %cl
|
||||||
shrl $16, %eax
|
shrl $16, %eax
|
||||||
movl 0x100+des_SPtrans(%ebx),%ebp
|
xorl 0x100(%ebp,%ebx),%edi
|
||||||
xorl %ebp, %edi
|
|
||||||
movb %ah, %bl
|
movb %ah, %bl
|
||||||
shrl $16, %edx
|
shrl $16, %edx
|
||||||
movl 0x300+des_SPtrans(%ecx),%ebp
|
xorl 0x300(%ebp,%ecx),%edi
|
||||||
xorl %ebp, %edi
|
|
||||||
movl 28(%esp), %ebp
|
|
||||||
movb %dh, %cl
|
movb %dh, %cl
|
||||||
andl $0xff, %eax
|
andl $0xff, %eax
|
||||||
andl $0xff, %edx
|
andl $0xff, %edx
|
||||||
movl 0x600+des_SPtrans(%ebx),%ebx
|
movl 0x600(%ebp,%ebx),%ebx
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
movl 0x700+des_SPtrans(%ecx),%ebx
|
movl 0x700(%ebp,%ecx),%ebx
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
movl 0x400+des_SPtrans(%eax),%ebx
|
movl 0x400(%ebp,%eax),%ebx
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
movl 0x500+des_SPtrans(%edx),%ebx
|
movl 0x500(%ebp,%edx),%ebx
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
|
movl 32(%esp), %ebp
|
||||||
|
|
||||||
# Round 7
|
|
||||||
movl 32(%esp), %eax
|
movl 36(%esp), %eax
|
||||||
movl %edi, %edx
|
movl %edi, %edx
|
||||||
shrl $16, %edx
|
shrl $16, %edx
|
||||||
movl 36(%esp), %ecx
|
movl 40(%esp), %ecx
|
||||||
xorl %edi, %edx
|
xorl %edi, %edx
|
||||||
andl %edx, %eax
|
andl %edx, %eax
|
||||||
andl %ecx, %edx
|
andl %ecx, %edx
|
||||||
@ -424,37 +405,34 @@ fcrypt_body:
|
|||||||
movb %al, %bl
|
movb %al, %bl
|
||||||
movb %ah, %cl
|
movb %ah, %cl
|
||||||
rorl $4, %edx
|
rorl $4, %edx
|
||||||
movl des_SPtrans(%ebx),%ebp
|
movl 4(%esp), %ebp
|
||||||
|
xorl (%ebp,%ebx),%esi
|
||||||
movb %dl, %bl
|
movb %dl, %bl
|
||||||
xorl %ebp, %esi
|
xorl 0x200(%ebp,%ecx),%esi
|
||||||
movl 0x200+des_SPtrans(%ecx),%ebp
|
|
||||||
xorl %ebp, %esi
|
|
||||||
movb %dh, %cl
|
movb %dh, %cl
|
||||||
shrl $16, %eax
|
shrl $16, %eax
|
||||||
movl 0x100+des_SPtrans(%ebx),%ebp
|
xorl 0x100(%ebp,%ebx),%esi
|
||||||
xorl %ebp, %esi
|
|
||||||
movb %ah, %bl
|
movb %ah, %bl
|
||||||
shrl $16, %edx
|
shrl $16, %edx
|
||||||
movl 0x300+des_SPtrans(%ecx),%ebp
|
xorl 0x300(%ebp,%ecx),%esi
|
||||||
xorl %ebp, %esi
|
|
||||||
movl 28(%esp), %ebp
|
|
||||||
movb %dh, %cl
|
movb %dh, %cl
|
||||||
andl $0xff, %eax
|
andl $0xff, %eax
|
||||||
andl $0xff, %edx
|
andl $0xff, %edx
|
||||||
movl 0x600+des_SPtrans(%ebx),%ebx
|
movl 0x600(%ebp,%ebx),%ebx
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
movl 0x700+des_SPtrans(%ecx),%ebx
|
movl 0x700(%ebp,%ecx),%ebx
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
movl 0x400+des_SPtrans(%eax),%ebx
|
movl 0x400(%ebp,%eax),%ebx
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
movl 0x500+des_SPtrans(%edx),%ebx
|
movl 0x500(%ebp,%edx),%ebx
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
|
movl 32(%esp), %ebp
|
||||||
|
|
||||||
# Round 8
|
|
||||||
movl 32(%esp), %eax
|
movl 36(%esp), %eax
|
||||||
movl %esi, %edx
|
movl %esi, %edx
|
||||||
shrl $16, %edx
|
shrl $16, %edx
|
||||||
movl 36(%esp), %ecx
|
movl 40(%esp), %ecx
|
||||||
xorl %esi, %edx
|
xorl %esi, %edx
|
||||||
andl %edx, %eax
|
andl %edx, %eax
|
||||||
andl %ecx, %edx
|
andl %ecx, %edx
|
||||||
@ -477,37 +455,34 @@ fcrypt_body:
|
|||||||
movb %al, %bl
|
movb %al, %bl
|
||||||
movb %ah, %cl
|
movb %ah, %cl
|
||||||
rorl $4, %edx
|
rorl $4, %edx
|
||||||
movl des_SPtrans(%ebx),%ebp
|
movl 4(%esp), %ebp
|
||||||
|
xorl (%ebp,%ebx),%edi
|
||||||
movb %dl, %bl
|
movb %dl, %bl
|
||||||
xorl %ebp, %edi
|
xorl 0x200(%ebp,%ecx),%edi
|
||||||
movl 0x200+des_SPtrans(%ecx),%ebp
|
|
||||||
xorl %ebp, %edi
|
|
||||||
movb %dh, %cl
|
movb %dh, %cl
|
||||||
shrl $16, %eax
|
shrl $16, %eax
|
||||||
movl 0x100+des_SPtrans(%ebx),%ebp
|
xorl 0x100(%ebp,%ebx),%edi
|
||||||
xorl %ebp, %edi
|
|
||||||
movb %ah, %bl
|
movb %ah, %bl
|
||||||
shrl $16, %edx
|
shrl $16, %edx
|
||||||
movl 0x300+des_SPtrans(%ecx),%ebp
|
xorl 0x300(%ebp,%ecx),%edi
|
||||||
xorl %ebp, %edi
|
|
||||||
movl 28(%esp), %ebp
|
|
||||||
movb %dh, %cl
|
movb %dh, %cl
|
||||||
andl $0xff, %eax
|
andl $0xff, %eax
|
||||||
andl $0xff, %edx
|
andl $0xff, %edx
|
||||||
movl 0x600+des_SPtrans(%ebx),%ebx
|
movl 0x600(%ebp,%ebx),%ebx
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
movl 0x700+des_SPtrans(%ecx),%ebx
|
movl 0x700(%ebp,%ecx),%ebx
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
movl 0x400+des_SPtrans(%eax),%ebx
|
movl 0x400(%ebp,%eax),%ebx
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
movl 0x500+des_SPtrans(%edx),%ebx
|
movl 0x500(%ebp,%edx),%ebx
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
|
movl 32(%esp), %ebp
|
||||||
|
|
||||||
# Round 9
|
|
||||||
movl 32(%esp), %eax
|
movl 36(%esp), %eax
|
||||||
movl %edi, %edx
|
movl %edi, %edx
|
||||||
shrl $16, %edx
|
shrl $16, %edx
|
||||||
movl 36(%esp), %ecx
|
movl 40(%esp), %ecx
|
||||||
xorl %edi, %edx
|
xorl %edi, %edx
|
||||||
andl %edx, %eax
|
andl %edx, %eax
|
||||||
andl %ecx, %edx
|
andl %ecx, %edx
|
||||||
@ -530,37 +505,34 @@ fcrypt_body:
|
|||||||
movb %al, %bl
|
movb %al, %bl
|
||||||
movb %ah, %cl
|
movb %ah, %cl
|
||||||
rorl $4, %edx
|
rorl $4, %edx
|
||||||
movl des_SPtrans(%ebx),%ebp
|
movl 4(%esp), %ebp
|
||||||
|
xorl (%ebp,%ebx),%esi
|
||||||
movb %dl, %bl
|
movb %dl, %bl
|
||||||
xorl %ebp, %esi
|
xorl 0x200(%ebp,%ecx),%esi
|
||||||
movl 0x200+des_SPtrans(%ecx),%ebp
|
|
||||||
xorl %ebp, %esi
|
|
||||||
movb %dh, %cl
|
movb %dh, %cl
|
||||||
shrl $16, %eax
|
shrl $16, %eax
|
||||||
movl 0x100+des_SPtrans(%ebx),%ebp
|
xorl 0x100(%ebp,%ebx),%esi
|
||||||
xorl %ebp, %esi
|
|
||||||
movb %ah, %bl
|
movb %ah, %bl
|
||||||
shrl $16, %edx
|
shrl $16, %edx
|
||||||
movl 0x300+des_SPtrans(%ecx),%ebp
|
xorl 0x300(%ebp,%ecx),%esi
|
||||||
xorl %ebp, %esi
|
|
||||||
movl 28(%esp), %ebp
|
|
||||||
movb %dh, %cl
|
movb %dh, %cl
|
||||||
andl $0xff, %eax
|
andl $0xff, %eax
|
||||||
andl $0xff, %edx
|
andl $0xff, %edx
|
||||||
movl 0x600+des_SPtrans(%ebx),%ebx
|
movl 0x600(%ebp,%ebx),%ebx
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
movl 0x700+des_SPtrans(%ecx),%ebx
|
movl 0x700(%ebp,%ecx),%ebx
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
movl 0x400+des_SPtrans(%eax),%ebx
|
movl 0x400(%ebp,%eax),%ebx
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
movl 0x500+des_SPtrans(%edx),%ebx
|
movl 0x500(%ebp,%edx),%ebx
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
|
movl 32(%esp), %ebp
|
||||||
|
|
||||||
# Round 10
|
|
||||||
movl 32(%esp), %eax
|
movl 36(%esp), %eax
|
||||||
movl %esi, %edx
|
movl %esi, %edx
|
||||||
shrl $16, %edx
|
shrl $16, %edx
|
||||||
movl 36(%esp), %ecx
|
movl 40(%esp), %ecx
|
||||||
xorl %esi, %edx
|
xorl %esi, %edx
|
||||||
andl %edx, %eax
|
andl %edx, %eax
|
||||||
andl %ecx, %edx
|
andl %ecx, %edx
|
||||||
@ -583,37 +555,34 @@ fcrypt_body:
|
|||||||
movb %al, %bl
|
movb %al, %bl
|
||||||
movb %ah, %cl
|
movb %ah, %cl
|
||||||
rorl $4, %edx
|
rorl $4, %edx
|
||||||
movl des_SPtrans(%ebx),%ebp
|
movl 4(%esp), %ebp
|
||||||
|
xorl (%ebp,%ebx),%edi
|
||||||
movb %dl, %bl
|
movb %dl, %bl
|
||||||
xorl %ebp, %edi
|
xorl 0x200(%ebp,%ecx),%edi
|
||||||
movl 0x200+des_SPtrans(%ecx),%ebp
|
|
||||||
xorl %ebp, %edi
|
|
||||||
movb %dh, %cl
|
movb %dh, %cl
|
||||||
shrl $16, %eax
|
shrl $16, %eax
|
||||||
movl 0x100+des_SPtrans(%ebx),%ebp
|
xorl 0x100(%ebp,%ebx),%edi
|
||||||
xorl %ebp, %edi
|
|
||||||
movb %ah, %bl
|
movb %ah, %bl
|
||||||
shrl $16, %edx
|
shrl $16, %edx
|
||||||
movl 0x300+des_SPtrans(%ecx),%ebp
|
xorl 0x300(%ebp,%ecx),%edi
|
||||||
xorl %ebp, %edi
|
|
||||||
movl 28(%esp), %ebp
|
|
||||||
movb %dh, %cl
|
movb %dh, %cl
|
||||||
andl $0xff, %eax
|
andl $0xff, %eax
|
||||||
andl $0xff, %edx
|
andl $0xff, %edx
|
||||||
movl 0x600+des_SPtrans(%ebx),%ebx
|
movl 0x600(%ebp,%ebx),%ebx
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
movl 0x700+des_SPtrans(%ecx),%ebx
|
movl 0x700(%ebp,%ecx),%ebx
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
movl 0x400+des_SPtrans(%eax),%ebx
|
movl 0x400(%ebp,%eax),%ebx
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
movl 0x500+des_SPtrans(%edx),%ebx
|
movl 0x500(%ebp,%edx),%ebx
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
|
movl 32(%esp), %ebp
|
||||||
|
|
||||||
# Round 11
|
|
||||||
movl 32(%esp), %eax
|
movl 36(%esp), %eax
|
||||||
movl %edi, %edx
|
movl %edi, %edx
|
||||||
shrl $16, %edx
|
shrl $16, %edx
|
||||||
movl 36(%esp), %ecx
|
movl 40(%esp), %ecx
|
||||||
xorl %edi, %edx
|
xorl %edi, %edx
|
||||||
andl %edx, %eax
|
andl %edx, %eax
|
||||||
andl %ecx, %edx
|
andl %ecx, %edx
|
||||||
@ -636,37 +605,34 @@ fcrypt_body:
|
|||||||
movb %al, %bl
|
movb %al, %bl
|
||||||
movb %ah, %cl
|
movb %ah, %cl
|
||||||
rorl $4, %edx
|
rorl $4, %edx
|
||||||
movl des_SPtrans(%ebx),%ebp
|
movl 4(%esp), %ebp
|
||||||
|
xorl (%ebp,%ebx),%esi
|
||||||
movb %dl, %bl
|
movb %dl, %bl
|
||||||
xorl %ebp, %esi
|
xorl 0x200(%ebp,%ecx),%esi
|
||||||
movl 0x200+des_SPtrans(%ecx),%ebp
|
|
||||||
xorl %ebp, %esi
|
|
||||||
movb %dh, %cl
|
movb %dh, %cl
|
||||||
shrl $16, %eax
|
shrl $16, %eax
|
||||||
movl 0x100+des_SPtrans(%ebx),%ebp
|
xorl 0x100(%ebp,%ebx),%esi
|
||||||
xorl %ebp, %esi
|
|
||||||
movb %ah, %bl
|
movb %ah, %bl
|
||||||
shrl $16, %edx
|
shrl $16, %edx
|
||||||
movl 0x300+des_SPtrans(%ecx),%ebp
|
xorl 0x300(%ebp,%ecx),%esi
|
||||||
xorl %ebp, %esi
|
|
||||||
movl 28(%esp), %ebp
|
|
||||||
movb %dh, %cl
|
movb %dh, %cl
|
||||||
andl $0xff, %eax
|
andl $0xff, %eax
|
||||||
andl $0xff, %edx
|
andl $0xff, %edx
|
||||||
movl 0x600+des_SPtrans(%ebx),%ebx
|
movl 0x600(%ebp,%ebx),%ebx
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
movl 0x700+des_SPtrans(%ecx),%ebx
|
movl 0x700(%ebp,%ecx),%ebx
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
movl 0x400+des_SPtrans(%eax),%ebx
|
movl 0x400(%ebp,%eax),%ebx
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
movl 0x500+des_SPtrans(%edx),%ebx
|
movl 0x500(%ebp,%edx),%ebx
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
|
movl 32(%esp), %ebp
|
||||||
|
|
||||||
# Round 12
|
|
||||||
movl 32(%esp), %eax
|
movl 36(%esp), %eax
|
||||||
movl %esi, %edx
|
movl %esi, %edx
|
||||||
shrl $16, %edx
|
shrl $16, %edx
|
||||||
movl 36(%esp), %ecx
|
movl 40(%esp), %ecx
|
||||||
xorl %esi, %edx
|
xorl %esi, %edx
|
||||||
andl %edx, %eax
|
andl %edx, %eax
|
||||||
andl %ecx, %edx
|
andl %ecx, %edx
|
||||||
@ -689,37 +655,34 @@ fcrypt_body:
|
|||||||
movb %al, %bl
|
movb %al, %bl
|
||||||
movb %ah, %cl
|
movb %ah, %cl
|
||||||
rorl $4, %edx
|
rorl $4, %edx
|
||||||
movl des_SPtrans(%ebx),%ebp
|
movl 4(%esp), %ebp
|
||||||
|
xorl (%ebp,%ebx),%edi
|
||||||
movb %dl, %bl
|
movb %dl, %bl
|
||||||
xorl %ebp, %edi
|
xorl 0x200(%ebp,%ecx),%edi
|
||||||
movl 0x200+des_SPtrans(%ecx),%ebp
|
|
||||||
xorl %ebp, %edi
|
|
||||||
movb %dh, %cl
|
movb %dh, %cl
|
||||||
shrl $16, %eax
|
shrl $16, %eax
|
||||||
movl 0x100+des_SPtrans(%ebx),%ebp
|
xorl 0x100(%ebp,%ebx),%edi
|
||||||
xorl %ebp, %edi
|
|
||||||
movb %ah, %bl
|
movb %ah, %bl
|
||||||
shrl $16, %edx
|
shrl $16, %edx
|
||||||
movl 0x300+des_SPtrans(%ecx),%ebp
|
xorl 0x300(%ebp,%ecx),%edi
|
||||||
xorl %ebp, %edi
|
|
||||||
movl 28(%esp), %ebp
|
|
||||||
movb %dh, %cl
|
movb %dh, %cl
|
||||||
andl $0xff, %eax
|
andl $0xff, %eax
|
||||||
andl $0xff, %edx
|
andl $0xff, %edx
|
||||||
movl 0x600+des_SPtrans(%ebx),%ebx
|
movl 0x600(%ebp,%ebx),%ebx
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
movl 0x700+des_SPtrans(%ecx),%ebx
|
movl 0x700(%ebp,%ecx),%ebx
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
movl 0x400+des_SPtrans(%eax),%ebx
|
movl 0x400(%ebp,%eax),%ebx
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
movl 0x500+des_SPtrans(%edx),%ebx
|
movl 0x500(%ebp,%edx),%ebx
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
|
movl 32(%esp), %ebp
|
||||||
|
|
||||||
# Round 13
|
|
||||||
movl 32(%esp), %eax
|
movl 36(%esp), %eax
|
||||||
movl %edi, %edx
|
movl %edi, %edx
|
||||||
shrl $16, %edx
|
shrl $16, %edx
|
||||||
movl 36(%esp), %ecx
|
movl 40(%esp), %ecx
|
||||||
xorl %edi, %edx
|
xorl %edi, %edx
|
||||||
andl %edx, %eax
|
andl %edx, %eax
|
||||||
andl %ecx, %edx
|
andl %ecx, %edx
|
||||||
@ -742,37 +705,34 @@ fcrypt_body:
|
|||||||
movb %al, %bl
|
movb %al, %bl
|
||||||
movb %ah, %cl
|
movb %ah, %cl
|
||||||
rorl $4, %edx
|
rorl $4, %edx
|
||||||
movl des_SPtrans(%ebx),%ebp
|
movl 4(%esp), %ebp
|
||||||
|
xorl (%ebp,%ebx),%esi
|
||||||
movb %dl, %bl
|
movb %dl, %bl
|
||||||
xorl %ebp, %esi
|
xorl 0x200(%ebp,%ecx),%esi
|
||||||
movl 0x200+des_SPtrans(%ecx),%ebp
|
|
||||||
xorl %ebp, %esi
|
|
||||||
movb %dh, %cl
|
movb %dh, %cl
|
||||||
shrl $16, %eax
|
shrl $16, %eax
|
||||||
movl 0x100+des_SPtrans(%ebx),%ebp
|
xorl 0x100(%ebp,%ebx),%esi
|
||||||
xorl %ebp, %esi
|
|
||||||
movb %ah, %bl
|
movb %ah, %bl
|
||||||
shrl $16, %edx
|
shrl $16, %edx
|
||||||
movl 0x300+des_SPtrans(%ecx),%ebp
|
xorl 0x300(%ebp,%ecx),%esi
|
||||||
xorl %ebp, %esi
|
|
||||||
movl 28(%esp), %ebp
|
|
||||||
movb %dh, %cl
|
movb %dh, %cl
|
||||||
andl $0xff, %eax
|
andl $0xff, %eax
|
||||||
andl $0xff, %edx
|
andl $0xff, %edx
|
||||||
movl 0x600+des_SPtrans(%ebx),%ebx
|
movl 0x600(%ebp,%ebx),%ebx
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
movl 0x700+des_SPtrans(%ecx),%ebx
|
movl 0x700(%ebp,%ecx),%ebx
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
movl 0x400+des_SPtrans(%eax),%ebx
|
movl 0x400(%ebp,%eax),%ebx
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
movl 0x500+des_SPtrans(%edx),%ebx
|
movl 0x500(%ebp,%edx),%ebx
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
|
movl 32(%esp), %ebp
|
||||||
|
|
||||||
# Round 14
|
|
||||||
movl 32(%esp), %eax
|
movl 36(%esp), %eax
|
||||||
movl %esi, %edx
|
movl %esi, %edx
|
||||||
shrl $16, %edx
|
shrl $16, %edx
|
||||||
movl 36(%esp), %ecx
|
movl 40(%esp), %ecx
|
||||||
xorl %esi, %edx
|
xorl %esi, %edx
|
||||||
andl %edx, %eax
|
andl %edx, %eax
|
||||||
andl %ecx, %edx
|
andl %ecx, %edx
|
||||||
@ -795,37 +755,34 @@ fcrypt_body:
|
|||||||
movb %al, %bl
|
movb %al, %bl
|
||||||
movb %ah, %cl
|
movb %ah, %cl
|
||||||
rorl $4, %edx
|
rorl $4, %edx
|
||||||
movl des_SPtrans(%ebx),%ebp
|
movl 4(%esp), %ebp
|
||||||
|
xorl (%ebp,%ebx),%edi
|
||||||
movb %dl, %bl
|
movb %dl, %bl
|
||||||
xorl %ebp, %edi
|
xorl 0x200(%ebp,%ecx),%edi
|
||||||
movl 0x200+des_SPtrans(%ecx),%ebp
|
|
||||||
xorl %ebp, %edi
|
|
||||||
movb %dh, %cl
|
movb %dh, %cl
|
||||||
shrl $16, %eax
|
shrl $16, %eax
|
||||||
movl 0x100+des_SPtrans(%ebx),%ebp
|
xorl 0x100(%ebp,%ebx),%edi
|
||||||
xorl %ebp, %edi
|
|
||||||
movb %ah, %bl
|
movb %ah, %bl
|
||||||
shrl $16, %edx
|
shrl $16, %edx
|
||||||
movl 0x300+des_SPtrans(%ecx),%ebp
|
xorl 0x300(%ebp,%ecx),%edi
|
||||||
xorl %ebp, %edi
|
|
||||||
movl 28(%esp), %ebp
|
|
||||||
movb %dh, %cl
|
movb %dh, %cl
|
||||||
andl $0xff, %eax
|
andl $0xff, %eax
|
||||||
andl $0xff, %edx
|
andl $0xff, %edx
|
||||||
movl 0x600+des_SPtrans(%ebx),%ebx
|
movl 0x600(%ebp,%ebx),%ebx
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
movl 0x700+des_SPtrans(%ecx),%ebx
|
movl 0x700(%ebp,%ecx),%ebx
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
movl 0x400+des_SPtrans(%eax),%ebx
|
movl 0x400(%ebp,%eax),%ebx
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
movl 0x500+des_SPtrans(%edx),%ebx
|
movl 0x500(%ebp,%edx),%ebx
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
|
movl 32(%esp), %ebp
|
||||||
|
|
||||||
# Round 15
|
|
||||||
movl 32(%esp), %eax
|
movl 36(%esp), %eax
|
||||||
movl %edi, %edx
|
movl %edi, %edx
|
||||||
shrl $16, %edx
|
shrl $16, %edx
|
||||||
movl 36(%esp), %ecx
|
movl 40(%esp), %ecx
|
||||||
xorl %edi, %edx
|
xorl %edi, %edx
|
||||||
andl %edx, %eax
|
andl %edx, %eax
|
||||||
andl %ecx, %edx
|
andl %ecx, %edx
|
||||||
@ -848,31 +805,28 @@ fcrypt_body:
|
|||||||
movb %al, %bl
|
movb %al, %bl
|
||||||
movb %ah, %cl
|
movb %ah, %cl
|
||||||
rorl $4, %edx
|
rorl $4, %edx
|
||||||
movl des_SPtrans(%ebx),%ebp
|
movl 4(%esp), %ebp
|
||||||
|
xorl (%ebp,%ebx),%esi
|
||||||
movb %dl, %bl
|
movb %dl, %bl
|
||||||
xorl %ebp, %esi
|
xorl 0x200(%ebp,%ecx),%esi
|
||||||
movl 0x200+des_SPtrans(%ecx),%ebp
|
|
||||||
xorl %ebp, %esi
|
|
||||||
movb %dh, %cl
|
movb %dh, %cl
|
||||||
shrl $16, %eax
|
shrl $16, %eax
|
||||||
movl 0x100+des_SPtrans(%ebx),%ebp
|
xorl 0x100(%ebp,%ebx),%esi
|
||||||
xorl %ebp, %esi
|
|
||||||
movb %ah, %bl
|
movb %ah, %bl
|
||||||
shrl $16, %edx
|
shrl $16, %edx
|
||||||
movl 0x300+des_SPtrans(%ecx),%ebp
|
xorl 0x300(%ebp,%ecx),%esi
|
||||||
xorl %ebp, %esi
|
|
||||||
movl 28(%esp), %ebp
|
|
||||||
movb %dh, %cl
|
movb %dh, %cl
|
||||||
andl $0xff, %eax
|
andl $0xff, %eax
|
||||||
andl $0xff, %edx
|
andl $0xff, %edx
|
||||||
movl 0x600+des_SPtrans(%ebx),%ebx
|
movl 0x600(%ebp,%ebx),%ebx
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
movl 0x700+des_SPtrans(%ecx),%ebx
|
movl 0x700(%ebp,%ecx),%ebx
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
movl 0x400+des_SPtrans(%eax),%ebx
|
movl 0x400(%ebp,%eax),%ebx
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
movl 0x500+des_SPtrans(%edx),%ebx
|
movl 0x500(%ebp,%edx),%ebx
|
||||||
xorl %ebx, %esi
|
xorl %ebx, %esi
|
||||||
|
movl 32(%esp), %ebp
|
||||||
movl (%esp), %ebx
|
movl (%esp), %ebx
|
||||||
movl %edi, %eax
|
movl %edi, %eax
|
||||||
decl %ebx
|
decl %ebx
|
||||||
@ -881,10 +835,10 @@ fcrypt_body:
|
|||||||
movl %ebx, (%esp)
|
movl %ebx, (%esp)
|
||||||
jnz .L000start
|
jnz .L000start
|
||||||
|
|
||||||
# FP
|
|
||||||
movl 24(%esp), %edx
|
movl 28(%esp), %edx
|
||||||
.byte 209
|
.byte 209
|
||||||
.byte 207 # rorl $1 %edi
|
.byte 207
|
||||||
movl %esi, %eax
|
movl %esi, %eax
|
||||||
xorl %edi, %esi
|
xorl %edi, %esi
|
||||||
andl $0xaaaaaaaa, %esi
|
andl $0xaaaaaaaa, %esi
|
||||||
@ -922,12 +876,12 @@ fcrypt_body:
|
|||||||
rorl $4, %eax
|
rorl $4, %eax
|
||||||
movl %eax, (%edx)
|
movl %eax, (%edx)
|
||||||
movl %edi, 4(%edx)
|
movl %edi, 4(%edx)
|
||||||
popl %ecx
|
addl $8, %esp
|
||||||
popl %edi
|
popl %edi
|
||||||
popl %esi
|
popl %esi
|
||||||
popl %ebx
|
popl %ebx
|
||||||
popl %ebp
|
popl %ebp
|
||||||
ret
|
ret
|
||||||
.fcrypt_body_end:
|
.L_fcrypt_body_end:
|
||||||
.size fcrypt_body,.fcrypt_body_end-fcrypt_body
|
.size fcrypt_body,.L_fcrypt_body_end-fcrypt_body
|
||||||
.ident "fcrypt_body"
|
.ident "fcrypt_body"
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,11 +1,11 @@
|
|||||||
# $FreeBSD$
|
# $FreeBSD$
|
||||||
# Dont even think of reading this code
|
|
||||||
# It was automatically generated by md5-586.pl
|
|
||||||
# Which is a perl program used to generate the x86 assember for
|
|
||||||
# any of elf, a.out, BSDI, Win32, gaswin (for GNU as on Win32) or Solaris
|
|
||||||
# eric <eay@cryptsoft.com>
|
|
||||||
|
|
||||||
.file "md5-586.s"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.file "/usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/md5/asm/md5-586.s"
|
||||||
.version "01.01"
|
.version "01.01"
|
||||||
gcc2_compiled.:
|
gcc2_compiled.:
|
||||||
.text
|
.text
|
||||||
@ -30,10 +30,10 @@ md5_block_asm_host_order:
|
|||||||
movl 12(%edi), %edx
|
movl 12(%edi), %edx
|
||||||
.L000start:
|
.L000start:
|
||||||
|
|
||||||
# R0 section
|
|
||||||
movl %ecx, %edi
|
movl %ecx, %edi
|
||||||
movl (%esi), %ebp
|
movl (%esi), %ebp
|
||||||
# R0 0
|
|
||||||
xorl %edx, %edi
|
xorl %edx, %edi
|
||||||
andl %ebx, %edi
|
andl %ebx, %edi
|
||||||
leal 3614090360(%eax,%ebp,1),%eax
|
leal 3614090360(%eax,%ebp,1),%eax
|
||||||
@ -43,7 +43,7 @@ md5_block_asm_host_order:
|
|||||||
roll $7, %eax
|
roll $7, %eax
|
||||||
movl 4(%esi), %ebp
|
movl 4(%esi), %ebp
|
||||||
addl %ebx, %eax
|
addl %ebx, %eax
|
||||||
# R0 1
|
|
||||||
xorl %ecx, %edi
|
xorl %ecx, %edi
|
||||||
andl %eax, %edi
|
andl %eax, %edi
|
||||||
leal 3905402710(%edx,%ebp,1),%edx
|
leal 3905402710(%edx,%ebp,1),%edx
|
||||||
@ -53,7 +53,7 @@ md5_block_asm_host_order:
|
|||||||
roll $12, %edx
|
roll $12, %edx
|
||||||
movl 8(%esi), %ebp
|
movl 8(%esi), %ebp
|
||||||
addl %eax, %edx
|
addl %eax, %edx
|
||||||
# R0 2
|
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
andl %edx, %edi
|
andl %edx, %edi
|
||||||
leal 606105819(%ecx,%ebp,1),%ecx
|
leal 606105819(%ecx,%ebp,1),%ecx
|
||||||
@ -63,7 +63,7 @@ md5_block_asm_host_order:
|
|||||||
roll $17, %ecx
|
roll $17, %ecx
|
||||||
movl 12(%esi), %ebp
|
movl 12(%esi), %ebp
|
||||||
addl %edx, %ecx
|
addl %edx, %ecx
|
||||||
# R0 3
|
|
||||||
xorl %eax, %edi
|
xorl %eax, %edi
|
||||||
andl %ecx, %edi
|
andl %ecx, %edi
|
||||||
leal 3250441966(%ebx,%ebp,1),%ebx
|
leal 3250441966(%ebx,%ebp,1),%ebx
|
||||||
@ -73,7 +73,7 @@ md5_block_asm_host_order:
|
|||||||
roll $22, %ebx
|
roll $22, %ebx
|
||||||
movl 16(%esi), %ebp
|
movl 16(%esi), %ebp
|
||||||
addl %ecx, %ebx
|
addl %ecx, %ebx
|
||||||
# R0 4
|
|
||||||
xorl %edx, %edi
|
xorl %edx, %edi
|
||||||
andl %ebx, %edi
|
andl %ebx, %edi
|
||||||
leal 4118548399(%eax,%ebp,1),%eax
|
leal 4118548399(%eax,%ebp,1),%eax
|
||||||
@ -83,7 +83,7 @@ md5_block_asm_host_order:
|
|||||||
roll $7, %eax
|
roll $7, %eax
|
||||||
movl 20(%esi), %ebp
|
movl 20(%esi), %ebp
|
||||||
addl %ebx, %eax
|
addl %ebx, %eax
|
||||||
# R0 5
|
|
||||||
xorl %ecx, %edi
|
xorl %ecx, %edi
|
||||||
andl %eax, %edi
|
andl %eax, %edi
|
||||||
leal 1200080426(%edx,%ebp,1),%edx
|
leal 1200080426(%edx,%ebp,1),%edx
|
||||||
@ -93,7 +93,7 @@ md5_block_asm_host_order:
|
|||||||
roll $12, %edx
|
roll $12, %edx
|
||||||
movl 24(%esi), %ebp
|
movl 24(%esi), %ebp
|
||||||
addl %eax, %edx
|
addl %eax, %edx
|
||||||
# R0 6
|
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
andl %edx, %edi
|
andl %edx, %edi
|
||||||
leal 2821735955(%ecx,%ebp,1),%ecx
|
leal 2821735955(%ecx,%ebp,1),%ecx
|
||||||
@ -103,7 +103,7 @@ md5_block_asm_host_order:
|
|||||||
roll $17, %ecx
|
roll $17, %ecx
|
||||||
movl 28(%esi), %ebp
|
movl 28(%esi), %ebp
|
||||||
addl %edx, %ecx
|
addl %edx, %ecx
|
||||||
# R0 7
|
|
||||||
xorl %eax, %edi
|
xorl %eax, %edi
|
||||||
andl %ecx, %edi
|
andl %ecx, %edi
|
||||||
leal 4249261313(%ebx,%ebp,1),%ebx
|
leal 4249261313(%ebx,%ebp,1),%ebx
|
||||||
@ -113,7 +113,7 @@ md5_block_asm_host_order:
|
|||||||
roll $22, %ebx
|
roll $22, %ebx
|
||||||
movl 32(%esi), %ebp
|
movl 32(%esi), %ebp
|
||||||
addl %ecx, %ebx
|
addl %ecx, %ebx
|
||||||
# R0 8
|
|
||||||
xorl %edx, %edi
|
xorl %edx, %edi
|
||||||
andl %ebx, %edi
|
andl %ebx, %edi
|
||||||
leal 1770035416(%eax,%ebp,1),%eax
|
leal 1770035416(%eax,%ebp,1),%eax
|
||||||
@ -123,7 +123,7 @@ md5_block_asm_host_order:
|
|||||||
roll $7, %eax
|
roll $7, %eax
|
||||||
movl 36(%esi), %ebp
|
movl 36(%esi), %ebp
|
||||||
addl %ebx, %eax
|
addl %ebx, %eax
|
||||||
# R0 9
|
|
||||||
xorl %ecx, %edi
|
xorl %ecx, %edi
|
||||||
andl %eax, %edi
|
andl %eax, %edi
|
||||||
leal 2336552879(%edx,%ebp,1),%edx
|
leal 2336552879(%edx,%ebp,1),%edx
|
||||||
@ -133,7 +133,7 @@ md5_block_asm_host_order:
|
|||||||
roll $12, %edx
|
roll $12, %edx
|
||||||
movl 40(%esi), %ebp
|
movl 40(%esi), %ebp
|
||||||
addl %eax, %edx
|
addl %eax, %edx
|
||||||
# R0 10
|
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
andl %edx, %edi
|
andl %edx, %edi
|
||||||
leal 4294925233(%ecx,%ebp,1),%ecx
|
leal 4294925233(%ecx,%ebp,1),%ecx
|
||||||
@ -143,7 +143,7 @@ md5_block_asm_host_order:
|
|||||||
roll $17, %ecx
|
roll $17, %ecx
|
||||||
movl 44(%esi), %ebp
|
movl 44(%esi), %ebp
|
||||||
addl %edx, %ecx
|
addl %edx, %ecx
|
||||||
# R0 11
|
|
||||||
xorl %eax, %edi
|
xorl %eax, %edi
|
||||||
andl %ecx, %edi
|
andl %ecx, %edi
|
||||||
leal 2304563134(%ebx,%ebp,1),%ebx
|
leal 2304563134(%ebx,%ebp,1),%ebx
|
||||||
@ -153,7 +153,7 @@ md5_block_asm_host_order:
|
|||||||
roll $22, %ebx
|
roll $22, %ebx
|
||||||
movl 48(%esi), %ebp
|
movl 48(%esi), %ebp
|
||||||
addl %ecx, %ebx
|
addl %ecx, %ebx
|
||||||
# R0 12
|
|
||||||
xorl %edx, %edi
|
xorl %edx, %edi
|
||||||
andl %ebx, %edi
|
andl %ebx, %edi
|
||||||
leal 1804603682(%eax,%ebp,1),%eax
|
leal 1804603682(%eax,%ebp,1),%eax
|
||||||
@ -163,7 +163,7 @@ md5_block_asm_host_order:
|
|||||||
roll $7, %eax
|
roll $7, %eax
|
||||||
movl 52(%esi), %ebp
|
movl 52(%esi), %ebp
|
||||||
addl %ebx, %eax
|
addl %ebx, %eax
|
||||||
# R0 13
|
|
||||||
xorl %ecx, %edi
|
xorl %ecx, %edi
|
||||||
andl %eax, %edi
|
andl %eax, %edi
|
||||||
leal 4254626195(%edx,%ebp,1),%edx
|
leal 4254626195(%edx,%ebp,1),%edx
|
||||||
@ -173,7 +173,7 @@ md5_block_asm_host_order:
|
|||||||
roll $12, %edx
|
roll $12, %edx
|
||||||
movl 56(%esi), %ebp
|
movl 56(%esi), %ebp
|
||||||
addl %eax, %edx
|
addl %eax, %edx
|
||||||
# R0 14
|
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
andl %edx, %edi
|
andl %edx, %edi
|
||||||
leal 2792965006(%ecx,%ebp,1),%ecx
|
leal 2792965006(%ecx,%ebp,1),%ecx
|
||||||
@ -183,7 +183,7 @@ md5_block_asm_host_order:
|
|||||||
roll $17, %ecx
|
roll $17, %ecx
|
||||||
movl 60(%esi), %ebp
|
movl 60(%esi), %ebp
|
||||||
addl %edx, %ecx
|
addl %edx, %ecx
|
||||||
# R0 15
|
|
||||||
xorl %eax, %edi
|
xorl %eax, %edi
|
||||||
andl %ecx, %edi
|
andl %ecx, %edi
|
||||||
leal 1236535329(%ebx,%ebp,1),%ebx
|
leal 1236535329(%ebx,%ebp,1),%ebx
|
||||||
@ -194,8 +194,8 @@ md5_block_asm_host_order:
|
|||||||
movl 4(%esi), %ebp
|
movl 4(%esi), %ebp
|
||||||
addl %ecx, %ebx
|
addl %ecx, %ebx
|
||||||
|
|
||||||
# R1 section
|
|
||||||
# R1 16
|
|
||||||
leal 4129170786(%eax,%ebp,1),%eax
|
leal 4129170786(%eax,%ebp,1),%eax
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
andl %edx, %edi
|
andl %edx, %edi
|
||||||
@ -205,7 +205,7 @@ md5_block_asm_host_order:
|
|||||||
movl %ebx, %edi
|
movl %ebx, %edi
|
||||||
roll $5, %eax
|
roll $5, %eax
|
||||||
addl %ebx, %eax
|
addl %ebx, %eax
|
||||||
# R1 17
|
|
||||||
leal 3225465664(%edx,%ebp,1),%edx
|
leal 3225465664(%edx,%ebp,1),%edx
|
||||||
xorl %eax, %edi
|
xorl %eax, %edi
|
||||||
andl %ecx, %edi
|
andl %ecx, %edi
|
||||||
@ -215,7 +215,7 @@ md5_block_asm_host_order:
|
|||||||
movl %eax, %edi
|
movl %eax, %edi
|
||||||
roll $9, %edx
|
roll $9, %edx
|
||||||
addl %eax, %edx
|
addl %eax, %edx
|
||||||
# R1 18
|
|
||||||
leal 643717713(%ecx,%ebp,1),%ecx
|
leal 643717713(%ecx,%ebp,1),%ecx
|
||||||
xorl %edx, %edi
|
xorl %edx, %edi
|
||||||
andl %ebx, %edi
|
andl %ebx, %edi
|
||||||
@ -225,7 +225,7 @@ md5_block_asm_host_order:
|
|||||||
movl %edx, %edi
|
movl %edx, %edi
|
||||||
roll $14, %ecx
|
roll $14, %ecx
|
||||||
addl %edx, %ecx
|
addl %edx, %ecx
|
||||||
# R1 19
|
|
||||||
leal 3921069994(%ebx,%ebp,1),%ebx
|
leal 3921069994(%ebx,%ebp,1),%ebx
|
||||||
xorl %ecx, %edi
|
xorl %ecx, %edi
|
||||||
andl %eax, %edi
|
andl %eax, %edi
|
||||||
@ -235,7 +235,7 @@ md5_block_asm_host_order:
|
|||||||
movl %ecx, %edi
|
movl %ecx, %edi
|
||||||
roll $20, %ebx
|
roll $20, %ebx
|
||||||
addl %ecx, %ebx
|
addl %ecx, %ebx
|
||||||
# R1 20
|
|
||||||
leal 3593408605(%eax,%ebp,1),%eax
|
leal 3593408605(%eax,%ebp,1),%eax
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
andl %edx, %edi
|
andl %edx, %edi
|
||||||
@ -245,7 +245,7 @@ md5_block_asm_host_order:
|
|||||||
movl %ebx, %edi
|
movl %ebx, %edi
|
||||||
roll $5, %eax
|
roll $5, %eax
|
||||||
addl %ebx, %eax
|
addl %ebx, %eax
|
||||||
# R1 21
|
|
||||||
leal 38016083(%edx,%ebp,1),%edx
|
leal 38016083(%edx,%ebp,1),%edx
|
||||||
xorl %eax, %edi
|
xorl %eax, %edi
|
||||||
andl %ecx, %edi
|
andl %ecx, %edi
|
||||||
@ -255,7 +255,7 @@ md5_block_asm_host_order:
|
|||||||
movl %eax, %edi
|
movl %eax, %edi
|
||||||
roll $9, %edx
|
roll $9, %edx
|
||||||
addl %eax, %edx
|
addl %eax, %edx
|
||||||
# R1 22
|
|
||||||
leal 3634488961(%ecx,%ebp,1),%ecx
|
leal 3634488961(%ecx,%ebp,1),%ecx
|
||||||
xorl %edx, %edi
|
xorl %edx, %edi
|
||||||
andl %ebx, %edi
|
andl %ebx, %edi
|
||||||
@ -265,7 +265,7 @@ md5_block_asm_host_order:
|
|||||||
movl %edx, %edi
|
movl %edx, %edi
|
||||||
roll $14, %ecx
|
roll $14, %ecx
|
||||||
addl %edx, %ecx
|
addl %edx, %ecx
|
||||||
# R1 23
|
|
||||||
leal 3889429448(%ebx,%ebp,1),%ebx
|
leal 3889429448(%ebx,%ebp,1),%ebx
|
||||||
xorl %ecx, %edi
|
xorl %ecx, %edi
|
||||||
andl %eax, %edi
|
andl %eax, %edi
|
||||||
@ -275,7 +275,7 @@ md5_block_asm_host_order:
|
|||||||
movl %ecx, %edi
|
movl %ecx, %edi
|
||||||
roll $20, %ebx
|
roll $20, %ebx
|
||||||
addl %ecx, %ebx
|
addl %ecx, %ebx
|
||||||
# R1 24
|
|
||||||
leal 568446438(%eax,%ebp,1),%eax
|
leal 568446438(%eax,%ebp,1),%eax
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
andl %edx, %edi
|
andl %edx, %edi
|
||||||
@ -285,7 +285,7 @@ md5_block_asm_host_order:
|
|||||||
movl %ebx, %edi
|
movl %ebx, %edi
|
||||||
roll $5, %eax
|
roll $5, %eax
|
||||||
addl %ebx, %eax
|
addl %ebx, %eax
|
||||||
# R1 25
|
|
||||||
leal 3275163606(%edx,%ebp,1),%edx
|
leal 3275163606(%edx,%ebp,1),%edx
|
||||||
xorl %eax, %edi
|
xorl %eax, %edi
|
||||||
andl %ecx, %edi
|
andl %ecx, %edi
|
||||||
@ -295,7 +295,7 @@ md5_block_asm_host_order:
|
|||||||
movl %eax, %edi
|
movl %eax, %edi
|
||||||
roll $9, %edx
|
roll $9, %edx
|
||||||
addl %eax, %edx
|
addl %eax, %edx
|
||||||
# R1 26
|
|
||||||
leal 4107603335(%ecx,%ebp,1),%ecx
|
leal 4107603335(%ecx,%ebp,1),%ecx
|
||||||
xorl %edx, %edi
|
xorl %edx, %edi
|
||||||
andl %ebx, %edi
|
andl %ebx, %edi
|
||||||
@ -305,7 +305,7 @@ md5_block_asm_host_order:
|
|||||||
movl %edx, %edi
|
movl %edx, %edi
|
||||||
roll $14, %ecx
|
roll $14, %ecx
|
||||||
addl %edx, %ecx
|
addl %edx, %ecx
|
||||||
# R1 27
|
|
||||||
leal 1163531501(%ebx,%ebp,1),%ebx
|
leal 1163531501(%ebx,%ebp,1),%ebx
|
||||||
xorl %ecx, %edi
|
xorl %ecx, %edi
|
||||||
andl %eax, %edi
|
andl %eax, %edi
|
||||||
@ -315,7 +315,7 @@ md5_block_asm_host_order:
|
|||||||
movl %ecx, %edi
|
movl %ecx, %edi
|
||||||
roll $20, %ebx
|
roll $20, %ebx
|
||||||
addl %ecx, %ebx
|
addl %ecx, %ebx
|
||||||
# R1 28
|
|
||||||
leal 2850285829(%eax,%ebp,1),%eax
|
leal 2850285829(%eax,%ebp,1),%eax
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
andl %edx, %edi
|
andl %edx, %edi
|
||||||
@ -325,7 +325,7 @@ md5_block_asm_host_order:
|
|||||||
movl %ebx, %edi
|
movl %ebx, %edi
|
||||||
roll $5, %eax
|
roll $5, %eax
|
||||||
addl %ebx, %eax
|
addl %ebx, %eax
|
||||||
# R1 29
|
|
||||||
leal 4243563512(%edx,%ebp,1),%edx
|
leal 4243563512(%edx,%ebp,1),%edx
|
||||||
xorl %eax, %edi
|
xorl %eax, %edi
|
||||||
andl %ecx, %edi
|
andl %ecx, %edi
|
||||||
@ -335,7 +335,7 @@ md5_block_asm_host_order:
|
|||||||
movl %eax, %edi
|
movl %eax, %edi
|
||||||
roll $9, %edx
|
roll $9, %edx
|
||||||
addl %eax, %edx
|
addl %eax, %edx
|
||||||
# R1 30
|
|
||||||
leal 1735328473(%ecx,%ebp,1),%ecx
|
leal 1735328473(%ecx,%ebp,1),%ecx
|
||||||
xorl %edx, %edi
|
xorl %edx, %edi
|
||||||
andl %ebx, %edi
|
andl %ebx, %edi
|
||||||
@ -345,7 +345,7 @@ md5_block_asm_host_order:
|
|||||||
movl %edx, %edi
|
movl %edx, %edi
|
||||||
roll $14, %ecx
|
roll $14, %ecx
|
||||||
addl %edx, %ecx
|
addl %edx, %ecx
|
||||||
# R1 31
|
|
||||||
leal 2368359562(%ebx,%ebp,1),%ebx
|
leal 2368359562(%ebx,%ebp,1),%ebx
|
||||||
xorl %ecx, %edi
|
xorl %ecx, %edi
|
||||||
andl %eax, %edi
|
andl %eax, %edi
|
||||||
@ -356,8 +356,8 @@ md5_block_asm_host_order:
|
|||||||
roll $20, %ebx
|
roll $20, %ebx
|
||||||
addl %ecx, %ebx
|
addl %ecx, %ebx
|
||||||
|
|
||||||
# R2 section
|
|
||||||
# R2 32
|
|
||||||
xorl %edx, %edi
|
xorl %edx, %edi
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
leal 4294588738(%eax,%ebp,1),%eax
|
leal 4294588738(%eax,%ebp,1),%eax
|
||||||
@ -365,7 +365,7 @@ md5_block_asm_host_order:
|
|||||||
roll $4, %eax
|
roll $4, %eax
|
||||||
movl 32(%esi), %ebp
|
movl 32(%esi), %ebp
|
||||||
movl %ebx, %edi
|
movl %ebx, %edi
|
||||||
# R2 33
|
|
||||||
leal 2272392833(%edx,%ebp,1),%edx
|
leal 2272392833(%edx,%ebp,1),%edx
|
||||||
addl %ebx, %eax
|
addl %ebx, %eax
|
||||||
xorl %ecx, %edi
|
xorl %ecx, %edi
|
||||||
@ -375,7 +375,7 @@ md5_block_asm_host_order:
|
|||||||
movl %eax, %edi
|
movl %eax, %edi
|
||||||
roll $11, %edx
|
roll $11, %edx
|
||||||
addl %eax, %edx
|
addl %eax, %edx
|
||||||
# R2 34
|
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
xorl %edx, %edi
|
xorl %edx, %edi
|
||||||
leal 1839030562(%ecx,%ebp,1),%ecx
|
leal 1839030562(%ecx,%ebp,1),%ecx
|
||||||
@ -383,7 +383,7 @@ md5_block_asm_host_order:
|
|||||||
roll $16, %ecx
|
roll $16, %ecx
|
||||||
movl 56(%esi), %ebp
|
movl 56(%esi), %ebp
|
||||||
movl %edx, %edi
|
movl %edx, %edi
|
||||||
# R2 35
|
|
||||||
leal 4259657740(%ebx,%ebp,1),%ebx
|
leal 4259657740(%ebx,%ebp,1),%ebx
|
||||||
addl %edx, %ecx
|
addl %edx, %ecx
|
||||||
xorl %eax, %edi
|
xorl %eax, %edi
|
||||||
@ -393,7 +393,7 @@ md5_block_asm_host_order:
|
|||||||
movl %ecx, %edi
|
movl %ecx, %edi
|
||||||
roll $23, %ebx
|
roll $23, %ebx
|
||||||
addl %ecx, %ebx
|
addl %ecx, %ebx
|
||||||
# R2 36
|
|
||||||
xorl %edx, %edi
|
xorl %edx, %edi
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
leal 2763975236(%eax,%ebp,1),%eax
|
leal 2763975236(%eax,%ebp,1),%eax
|
||||||
@ -401,7 +401,7 @@ md5_block_asm_host_order:
|
|||||||
roll $4, %eax
|
roll $4, %eax
|
||||||
movl 16(%esi), %ebp
|
movl 16(%esi), %ebp
|
||||||
movl %ebx, %edi
|
movl %ebx, %edi
|
||||||
# R2 37
|
|
||||||
leal 1272893353(%edx,%ebp,1),%edx
|
leal 1272893353(%edx,%ebp,1),%edx
|
||||||
addl %ebx, %eax
|
addl %ebx, %eax
|
||||||
xorl %ecx, %edi
|
xorl %ecx, %edi
|
||||||
@ -411,7 +411,7 @@ md5_block_asm_host_order:
|
|||||||
movl %eax, %edi
|
movl %eax, %edi
|
||||||
roll $11, %edx
|
roll $11, %edx
|
||||||
addl %eax, %edx
|
addl %eax, %edx
|
||||||
# R2 38
|
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
xorl %edx, %edi
|
xorl %edx, %edi
|
||||||
leal 4139469664(%ecx,%ebp,1),%ecx
|
leal 4139469664(%ecx,%ebp,1),%ecx
|
||||||
@ -419,7 +419,7 @@ md5_block_asm_host_order:
|
|||||||
roll $16, %ecx
|
roll $16, %ecx
|
||||||
movl 40(%esi), %ebp
|
movl 40(%esi), %ebp
|
||||||
movl %edx, %edi
|
movl %edx, %edi
|
||||||
# R2 39
|
|
||||||
leal 3200236656(%ebx,%ebp,1),%ebx
|
leal 3200236656(%ebx,%ebp,1),%ebx
|
||||||
addl %edx, %ecx
|
addl %edx, %ecx
|
||||||
xorl %eax, %edi
|
xorl %eax, %edi
|
||||||
@ -429,7 +429,7 @@ md5_block_asm_host_order:
|
|||||||
movl %ecx, %edi
|
movl %ecx, %edi
|
||||||
roll $23, %ebx
|
roll $23, %ebx
|
||||||
addl %ecx, %ebx
|
addl %ecx, %ebx
|
||||||
# R2 40
|
|
||||||
xorl %edx, %edi
|
xorl %edx, %edi
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
leal 681279174(%eax,%ebp,1),%eax
|
leal 681279174(%eax,%ebp,1),%eax
|
||||||
@ -437,7 +437,7 @@ md5_block_asm_host_order:
|
|||||||
roll $4, %eax
|
roll $4, %eax
|
||||||
movl (%esi), %ebp
|
movl (%esi), %ebp
|
||||||
movl %ebx, %edi
|
movl %ebx, %edi
|
||||||
# R2 41
|
|
||||||
leal 3936430074(%edx,%ebp,1),%edx
|
leal 3936430074(%edx,%ebp,1),%edx
|
||||||
addl %ebx, %eax
|
addl %ebx, %eax
|
||||||
xorl %ecx, %edi
|
xorl %ecx, %edi
|
||||||
@ -447,7 +447,7 @@ md5_block_asm_host_order:
|
|||||||
movl %eax, %edi
|
movl %eax, %edi
|
||||||
roll $11, %edx
|
roll $11, %edx
|
||||||
addl %eax, %edx
|
addl %eax, %edx
|
||||||
# R2 42
|
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
xorl %edx, %edi
|
xorl %edx, %edi
|
||||||
leal 3572445317(%ecx,%ebp,1),%ecx
|
leal 3572445317(%ecx,%ebp,1),%ecx
|
||||||
@ -455,7 +455,7 @@ md5_block_asm_host_order:
|
|||||||
roll $16, %ecx
|
roll $16, %ecx
|
||||||
movl 24(%esi), %ebp
|
movl 24(%esi), %ebp
|
||||||
movl %edx, %edi
|
movl %edx, %edi
|
||||||
# R2 43
|
|
||||||
leal 76029189(%ebx,%ebp,1),%ebx
|
leal 76029189(%ebx,%ebp,1),%ebx
|
||||||
addl %edx, %ecx
|
addl %edx, %ecx
|
||||||
xorl %eax, %edi
|
xorl %eax, %edi
|
||||||
@ -465,7 +465,7 @@ md5_block_asm_host_order:
|
|||||||
movl %ecx, %edi
|
movl %ecx, %edi
|
||||||
roll $23, %ebx
|
roll $23, %ebx
|
||||||
addl %ecx, %ebx
|
addl %ecx, %ebx
|
||||||
# R2 44
|
|
||||||
xorl %edx, %edi
|
xorl %edx, %edi
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
leal 3654602809(%eax,%ebp,1),%eax
|
leal 3654602809(%eax,%ebp,1),%eax
|
||||||
@ -473,7 +473,7 @@ md5_block_asm_host_order:
|
|||||||
roll $4, %eax
|
roll $4, %eax
|
||||||
movl 48(%esi), %ebp
|
movl 48(%esi), %ebp
|
||||||
movl %ebx, %edi
|
movl %ebx, %edi
|
||||||
# R2 45
|
|
||||||
leal 3873151461(%edx,%ebp,1),%edx
|
leal 3873151461(%edx,%ebp,1),%edx
|
||||||
addl %ebx, %eax
|
addl %ebx, %eax
|
||||||
xorl %ecx, %edi
|
xorl %ecx, %edi
|
||||||
@ -483,7 +483,7 @@ md5_block_asm_host_order:
|
|||||||
movl %eax, %edi
|
movl %eax, %edi
|
||||||
roll $11, %edx
|
roll $11, %edx
|
||||||
addl %eax, %edx
|
addl %eax, %edx
|
||||||
# R2 46
|
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
xorl %edx, %edi
|
xorl %edx, %edi
|
||||||
leal 530742520(%ecx,%ebp,1),%ecx
|
leal 530742520(%ecx,%ebp,1),%ecx
|
||||||
@ -491,7 +491,7 @@ md5_block_asm_host_order:
|
|||||||
roll $16, %ecx
|
roll $16, %ecx
|
||||||
movl 8(%esi), %ebp
|
movl 8(%esi), %ebp
|
||||||
movl %edx, %edi
|
movl %edx, %edi
|
||||||
# R2 47
|
|
||||||
leal 3299628645(%ebx,%ebp,1),%ebx
|
leal 3299628645(%ebx,%ebp,1),%ebx
|
||||||
addl %edx, %ecx
|
addl %edx, %ecx
|
||||||
xorl %eax, %edi
|
xorl %eax, %edi
|
||||||
@ -502,8 +502,8 @@ md5_block_asm_host_order:
|
|||||||
roll $23, %ebx
|
roll $23, %ebx
|
||||||
addl %ecx, %ebx
|
addl %ecx, %ebx
|
||||||
|
|
||||||
# R3 section
|
|
||||||
# R3 48
|
|
||||||
xorl %edx, %edi
|
xorl %edx, %edi
|
||||||
orl %ebx, %edi
|
orl %ebx, %edi
|
||||||
leal 4096336452(%eax,%ebp,1),%eax
|
leal 4096336452(%eax,%ebp,1),%eax
|
||||||
@ -514,7 +514,7 @@ md5_block_asm_host_order:
|
|||||||
roll $6, %eax
|
roll $6, %eax
|
||||||
xorl %ecx, %edi
|
xorl %ecx, %edi
|
||||||
addl %ebx, %eax
|
addl %ebx, %eax
|
||||||
# R3 49
|
|
||||||
orl %eax, %edi
|
orl %eax, %edi
|
||||||
leal 1126891415(%edx,%ebp,1),%edx
|
leal 1126891415(%edx,%ebp,1),%edx
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
@ -524,7 +524,7 @@ md5_block_asm_host_order:
|
|||||||
roll $10, %edx
|
roll $10, %edx
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
addl %eax, %edx
|
addl %eax, %edx
|
||||||
# R3 50
|
|
||||||
orl %edx, %edi
|
orl %edx, %edi
|
||||||
leal 2878612391(%ecx,%ebp,1),%ecx
|
leal 2878612391(%ecx,%ebp,1),%ecx
|
||||||
xorl %eax, %edi
|
xorl %eax, %edi
|
||||||
@ -534,7 +534,7 @@ md5_block_asm_host_order:
|
|||||||
roll $15, %ecx
|
roll $15, %ecx
|
||||||
xorl %eax, %edi
|
xorl %eax, %edi
|
||||||
addl %edx, %ecx
|
addl %edx, %ecx
|
||||||
# R3 51
|
|
||||||
orl %ecx, %edi
|
orl %ecx, %edi
|
||||||
leal 4237533241(%ebx,%ebp,1),%ebx
|
leal 4237533241(%ebx,%ebp,1),%ebx
|
||||||
xorl %edx, %edi
|
xorl %edx, %edi
|
||||||
@ -544,7 +544,7 @@ md5_block_asm_host_order:
|
|||||||
roll $21, %ebx
|
roll $21, %ebx
|
||||||
xorl %edx, %edi
|
xorl %edx, %edi
|
||||||
addl %ecx, %ebx
|
addl %ecx, %ebx
|
||||||
# R3 52
|
|
||||||
orl %ebx, %edi
|
orl %ebx, %edi
|
||||||
leal 1700485571(%eax,%ebp,1),%eax
|
leal 1700485571(%eax,%ebp,1),%eax
|
||||||
xorl %ecx, %edi
|
xorl %ecx, %edi
|
||||||
@ -554,7 +554,7 @@ md5_block_asm_host_order:
|
|||||||
roll $6, %eax
|
roll $6, %eax
|
||||||
xorl %ecx, %edi
|
xorl %ecx, %edi
|
||||||
addl %ebx, %eax
|
addl %ebx, %eax
|
||||||
# R3 53
|
|
||||||
orl %eax, %edi
|
orl %eax, %edi
|
||||||
leal 2399980690(%edx,%ebp,1),%edx
|
leal 2399980690(%edx,%ebp,1),%edx
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
@ -564,7 +564,7 @@ md5_block_asm_host_order:
|
|||||||
roll $10, %edx
|
roll $10, %edx
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
addl %eax, %edx
|
addl %eax, %edx
|
||||||
# R3 54
|
|
||||||
orl %edx, %edi
|
orl %edx, %edi
|
||||||
leal 4293915773(%ecx,%ebp,1),%ecx
|
leal 4293915773(%ecx,%ebp,1),%ecx
|
||||||
xorl %eax, %edi
|
xorl %eax, %edi
|
||||||
@ -574,7 +574,7 @@ md5_block_asm_host_order:
|
|||||||
roll $15, %ecx
|
roll $15, %ecx
|
||||||
xorl %eax, %edi
|
xorl %eax, %edi
|
||||||
addl %edx, %ecx
|
addl %edx, %ecx
|
||||||
# R3 55
|
|
||||||
orl %ecx, %edi
|
orl %ecx, %edi
|
||||||
leal 2240044497(%ebx,%ebp,1),%ebx
|
leal 2240044497(%ebx,%ebp,1),%ebx
|
||||||
xorl %edx, %edi
|
xorl %edx, %edi
|
||||||
@ -584,7 +584,7 @@ md5_block_asm_host_order:
|
|||||||
roll $21, %ebx
|
roll $21, %ebx
|
||||||
xorl %edx, %edi
|
xorl %edx, %edi
|
||||||
addl %ecx, %ebx
|
addl %ecx, %ebx
|
||||||
# R3 56
|
|
||||||
orl %ebx, %edi
|
orl %ebx, %edi
|
||||||
leal 1873313359(%eax,%ebp,1),%eax
|
leal 1873313359(%eax,%ebp,1),%eax
|
||||||
xorl %ecx, %edi
|
xorl %ecx, %edi
|
||||||
@ -594,7 +594,7 @@ md5_block_asm_host_order:
|
|||||||
roll $6, %eax
|
roll $6, %eax
|
||||||
xorl %ecx, %edi
|
xorl %ecx, %edi
|
||||||
addl %ebx, %eax
|
addl %ebx, %eax
|
||||||
# R3 57
|
|
||||||
orl %eax, %edi
|
orl %eax, %edi
|
||||||
leal 4264355552(%edx,%ebp,1),%edx
|
leal 4264355552(%edx,%ebp,1),%edx
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
@ -604,7 +604,7 @@ md5_block_asm_host_order:
|
|||||||
roll $10, %edx
|
roll $10, %edx
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
addl %eax, %edx
|
addl %eax, %edx
|
||||||
# R3 58
|
|
||||||
orl %edx, %edi
|
orl %edx, %edi
|
||||||
leal 2734768916(%ecx,%ebp,1),%ecx
|
leal 2734768916(%ecx,%ebp,1),%ecx
|
||||||
xorl %eax, %edi
|
xorl %eax, %edi
|
||||||
@ -614,7 +614,7 @@ md5_block_asm_host_order:
|
|||||||
roll $15, %ecx
|
roll $15, %ecx
|
||||||
xorl %eax, %edi
|
xorl %eax, %edi
|
||||||
addl %edx, %ecx
|
addl %edx, %ecx
|
||||||
# R3 59
|
|
||||||
orl %ecx, %edi
|
orl %ecx, %edi
|
||||||
leal 1309151649(%ebx,%ebp,1),%ebx
|
leal 1309151649(%ebx,%ebp,1),%ebx
|
||||||
xorl %edx, %edi
|
xorl %edx, %edi
|
||||||
@ -624,7 +624,7 @@ md5_block_asm_host_order:
|
|||||||
roll $21, %ebx
|
roll $21, %ebx
|
||||||
xorl %edx, %edi
|
xorl %edx, %edi
|
||||||
addl %ecx, %ebx
|
addl %ecx, %ebx
|
||||||
# R3 60
|
|
||||||
orl %ebx, %edi
|
orl %ebx, %edi
|
||||||
leal 4149444226(%eax,%ebp,1),%eax
|
leal 4149444226(%eax,%ebp,1),%eax
|
||||||
xorl %ecx, %edi
|
xorl %ecx, %edi
|
||||||
@ -634,7 +634,7 @@ md5_block_asm_host_order:
|
|||||||
roll $6, %eax
|
roll $6, %eax
|
||||||
xorl %ecx, %edi
|
xorl %ecx, %edi
|
||||||
addl %ebx, %eax
|
addl %ebx, %eax
|
||||||
# R3 61
|
|
||||||
orl %eax, %edi
|
orl %eax, %edi
|
||||||
leal 3174756917(%edx,%ebp,1),%edx
|
leal 3174756917(%edx,%ebp,1),%edx
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
@ -644,7 +644,7 @@ md5_block_asm_host_order:
|
|||||||
roll $10, %edx
|
roll $10, %edx
|
||||||
xorl %ebx, %edi
|
xorl %ebx, %edi
|
||||||
addl %eax, %edx
|
addl %eax, %edx
|
||||||
# R3 62
|
|
||||||
orl %edx, %edi
|
orl %edx, %edi
|
||||||
leal 718787259(%ecx,%ebp,1),%ecx
|
leal 718787259(%ecx,%ebp,1),%ecx
|
||||||
xorl %eax, %edi
|
xorl %eax, %edi
|
||||||
@ -654,7 +654,7 @@ md5_block_asm_host_order:
|
|||||||
roll $15, %ecx
|
roll $15, %ecx
|
||||||
xorl %eax, %edi
|
xorl %eax, %edi
|
||||||
addl %edx, %ecx
|
addl %edx, %ecx
|
||||||
# R3 63
|
|
||||||
orl %ecx, %edi
|
orl %ecx, %edi
|
||||||
leal 3951481745(%ebx,%ebp,1),%ebx
|
leal 3951481745(%ebx,%ebp,1),%ebx
|
||||||
xorl %edx, %edi
|
xorl %edx, %edi
|
||||||
@ -677,7 +677,7 @@ md5_block_asm_host_order:
|
|||||||
movl %ecx, 8(%ebp)
|
movl %ecx, 8(%ebp)
|
||||||
movl %edx, 12(%ebp)
|
movl %edx, 12(%ebp)
|
||||||
cmpl %esi, %edi
|
cmpl %esi, %edi
|
||||||
jge .L000start
|
jae .L000start
|
||||||
popl %eax
|
popl %eax
|
||||||
popl %ebx
|
popl %ebx
|
||||||
popl %ebp
|
popl %ebp
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
# $FreeBSD$
|
# $FreeBSD$
|
||||||
# Dont even think of reading this code
|
|
||||||
# It was automatically generated by rc4-586.pl
|
|
||||||
# Which is a perl program used to generate the x86 assember for
|
|
||||||
# any of elf, a.out, BSDI, Win32, gaswin (for GNU as on Win32) or Solaris
|
|
||||||
# eric <eay@cryptsoft.com>
|
|
||||||
|
|
||||||
.file "rc4-586.s"
|
.file "rc4-586.s"
|
||||||
.version "01.01"
|
.version "01.01"
|
||||||
@ -35,7 +35,7 @@ RC4:
|
|||||||
jl .L000end
|
jl .L000end
|
||||||
.L001start:
|
.L001start:
|
||||||
addl $8, %esi
|
addl $8, %esi
|
||||||
# Round 0
|
|
||||||
addl %eax, %edx
|
addl %eax, %edx
|
||||||
andl $255, %edx
|
andl $255, %edx
|
||||||
incl %ecx
|
incl %ecx
|
||||||
@ -49,7 +49,7 @@ RC4:
|
|||||||
movl (%ebp,%ebx,4), %ebx
|
movl (%ebp,%ebx,4), %ebx
|
||||||
movl (%ebp,%ecx,4), %eax
|
movl (%ebp,%ecx,4), %eax
|
||||||
movb %bl, (%esp)
|
movb %bl, (%esp)
|
||||||
# Round 1
|
|
||||||
addl %eax, %edx
|
addl %eax, %edx
|
||||||
andl $255, %edx
|
andl $255, %edx
|
||||||
incl %ecx
|
incl %ecx
|
||||||
@ -63,7 +63,7 @@ RC4:
|
|||||||
movl (%ebp,%ebx,4), %ebx
|
movl (%ebp,%ebx,4), %ebx
|
||||||
movl (%ebp,%ecx,4), %eax
|
movl (%ebp,%ecx,4), %eax
|
||||||
movb %bl, 1(%esp)
|
movb %bl, 1(%esp)
|
||||||
# Round 2
|
|
||||||
addl %eax, %edx
|
addl %eax, %edx
|
||||||
andl $255, %edx
|
andl $255, %edx
|
||||||
incl %ecx
|
incl %ecx
|
||||||
@ -77,7 +77,7 @@ RC4:
|
|||||||
movl (%ebp,%ebx,4), %ebx
|
movl (%ebp,%ebx,4), %ebx
|
||||||
movl (%ebp,%ecx,4), %eax
|
movl (%ebp,%ecx,4), %eax
|
||||||
movb %bl, 2(%esp)
|
movb %bl, 2(%esp)
|
||||||
# Round 3
|
|
||||||
addl %eax, %edx
|
addl %eax, %edx
|
||||||
andl $255, %edx
|
andl $255, %edx
|
||||||
incl %ecx
|
incl %ecx
|
||||||
@ -91,7 +91,7 @@ RC4:
|
|||||||
movl (%ebp,%ebx,4), %ebx
|
movl (%ebp,%ebx,4), %ebx
|
||||||
movl (%ebp,%ecx,4), %eax
|
movl (%ebp,%ecx,4), %eax
|
||||||
movb %bl, 3(%esp)
|
movb %bl, 3(%esp)
|
||||||
# Round 4
|
|
||||||
addl %eax, %edx
|
addl %eax, %edx
|
||||||
andl $255, %edx
|
andl $255, %edx
|
||||||
incl %ecx
|
incl %ecx
|
||||||
@ -105,7 +105,7 @@ RC4:
|
|||||||
movl (%ebp,%ebx,4), %ebx
|
movl (%ebp,%ebx,4), %ebx
|
||||||
movl (%ebp,%ecx,4), %eax
|
movl (%ebp,%ecx,4), %eax
|
||||||
movb %bl, 4(%esp)
|
movb %bl, 4(%esp)
|
||||||
# Round 5
|
|
||||||
addl %eax, %edx
|
addl %eax, %edx
|
||||||
andl $255, %edx
|
andl $255, %edx
|
||||||
incl %ecx
|
incl %ecx
|
||||||
@ -119,7 +119,7 @@ RC4:
|
|||||||
movl (%ebp,%ebx,4), %ebx
|
movl (%ebp,%ebx,4), %ebx
|
||||||
movl (%ebp,%ecx,4), %eax
|
movl (%ebp,%ecx,4), %eax
|
||||||
movb %bl, 5(%esp)
|
movb %bl, 5(%esp)
|
||||||
# Round 6
|
|
||||||
addl %eax, %edx
|
addl %eax, %edx
|
||||||
andl $255, %edx
|
andl $255, %edx
|
||||||
incl %ecx
|
incl %ecx
|
||||||
@ -133,7 +133,7 @@ RC4:
|
|||||||
movl (%ebp,%ebx,4), %ebx
|
movl (%ebp,%ebx,4), %ebx
|
||||||
movl (%ebp,%ecx,4), %eax
|
movl (%ebp,%ecx,4), %eax
|
||||||
movb %bl, 6(%esp)
|
movb %bl, 6(%esp)
|
||||||
# Round 7
|
|
||||||
addl %eax, %edx
|
addl %eax, %edx
|
||||||
andl $255, %edx
|
andl $255, %edx
|
||||||
incl %ecx
|
incl %ecx
|
||||||
@ -147,7 +147,7 @@ RC4:
|
|||||||
movl (%ebp,%ebx,4), %ebx
|
movl (%ebp,%ebx,4), %ebx
|
||||||
addl $8, %edi
|
addl $8, %edi
|
||||||
movb %bl, 7(%esp)
|
movb %bl, 7(%esp)
|
||||||
# apply the cipher text
|
|
||||||
movl (%esp), %eax
|
movl (%esp), %eax
|
||||||
movl -8(%esi), %ebx
|
movl -8(%esi), %ebx
|
||||||
xorl %ebx, %eax
|
xorl %ebx, %eax
|
||||||
@ -161,7 +161,7 @@ RC4:
|
|||||||
cmpl %ebx, %esi
|
cmpl %ebx, %esi
|
||||||
jle .L001start
|
jle .L001start
|
||||||
.L000end:
|
.L000end:
|
||||||
# Round 0
|
|
||||||
addl $8, %ebx
|
addl $8, %ebx
|
||||||
incl %esi
|
incl %esi
|
||||||
cmpl %esi, %ebx
|
cmpl %esi, %ebx
|
||||||
@ -182,7 +182,7 @@ RC4:
|
|||||||
movb -1(%esi), %bh
|
movb -1(%esi), %bh
|
||||||
xorb %bh, %bl
|
xorb %bh, %bl
|
||||||
movb %bl, (%edi)
|
movb %bl, (%edi)
|
||||||
# Round 1
|
|
||||||
movl 8(%esp), %ebx
|
movl 8(%esp), %ebx
|
||||||
cmpl %esi, %ebx
|
cmpl %esi, %ebx
|
||||||
jle .L002finished
|
jle .L002finished
|
||||||
@ -202,7 +202,7 @@ RC4:
|
|||||||
movb -1(%esi), %bh
|
movb -1(%esi), %bh
|
||||||
xorb %bh, %bl
|
xorb %bh, %bl
|
||||||
movb %bl, 1(%edi)
|
movb %bl, 1(%edi)
|
||||||
# Round 2
|
|
||||||
movl 8(%esp), %ebx
|
movl 8(%esp), %ebx
|
||||||
cmpl %esi, %ebx
|
cmpl %esi, %ebx
|
||||||
jle .L002finished
|
jle .L002finished
|
||||||
@ -222,7 +222,7 @@ RC4:
|
|||||||
movb -1(%esi), %bh
|
movb -1(%esi), %bh
|
||||||
xorb %bh, %bl
|
xorb %bh, %bl
|
||||||
movb %bl, 2(%edi)
|
movb %bl, 2(%edi)
|
||||||
# Round 3
|
|
||||||
movl 8(%esp), %ebx
|
movl 8(%esp), %ebx
|
||||||
cmpl %esi, %ebx
|
cmpl %esi, %ebx
|
||||||
jle .L002finished
|
jle .L002finished
|
||||||
@ -242,7 +242,7 @@ RC4:
|
|||||||
movb -1(%esi), %bh
|
movb -1(%esi), %bh
|
||||||
xorb %bh, %bl
|
xorb %bh, %bl
|
||||||
movb %bl, 3(%edi)
|
movb %bl, 3(%edi)
|
||||||
# Round 4
|
|
||||||
movl 8(%esp), %ebx
|
movl 8(%esp), %ebx
|
||||||
cmpl %esi, %ebx
|
cmpl %esi, %ebx
|
||||||
jle .L002finished
|
jle .L002finished
|
||||||
@ -262,7 +262,7 @@ RC4:
|
|||||||
movb -1(%esi), %bh
|
movb -1(%esi), %bh
|
||||||
xorb %bh, %bl
|
xorb %bh, %bl
|
||||||
movb %bl, 4(%edi)
|
movb %bl, 4(%edi)
|
||||||
# Round 5
|
|
||||||
movl 8(%esp), %ebx
|
movl 8(%esp), %ebx
|
||||||
cmpl %esi, %ebx
|
cmpl %esi, %ebx
|
||||||
jle .L002finished
|
jle .L002finished
|
||||||
@ -282,7 +282,7 @@ RC4:
|
|||||||
movb -1(%esi), %bh
|
movb -1(%esi), %bh
|
||||||
xorb %bh, %bl
|
xorb %bh, %bl
|
||||||
movb %bl, 5(%edi)
|
movb %bl, 5(%edi)
|
||||||
# Round 6
|
|
||||||
movl 8(%esp), %ebx
|
movl 8(%esp), %ebx
|
||||||
cmpl %esi, %ebx
|
cmpl %esi, %ebx
|
||||||
jle .L002finished
|
jle .L002finished
|
||||||
@ -311,6 +311,6 @@ RC4:
|
|||||||
popl %ebx
|
popl %ebx
|
||||||
popl %ebp
|
popl %ebp
|
||||||
ret
|
ret
|
||||||
.RC4_end:
|
.L_RC4_end:
|
||||||
.size RC4,.RC4_end-RC4
|
.size RC4,.L_RC4_end-RC4
|
||||||
.ident "RC4"
|
.ident "RC4"
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
# $FreeBSD$
|
# $FreeBSD$
|
||||||
# Dont even think of reading this code
|
|
||||||
# It was automatically generated by rc5-586.pl
|
|
||||||
# Which is a perl program used to generate the x86 assember for
|
|
||||||
# any of elf, a.out, BSDI, Win32, gaswin (for GNU as on Win32) or Solaris
|
|
||||||
# eric <eay@cryptsoft.com>
|
|
||||||
|
|
||||||
.file "rc5-586.s"
|
.file "rc5-586.s"
|
||||||
.version "01.01"
|
.version "01.01"
|
||||||
@ -19,7 +19,7 @@ RC5_32_encrypt:
|
|||||||
pushl %edi
|
pushl %edi
|
||||||
movl 16(%esp), %edx
|
movl 16(%esp), %edx
|
||||||
movl 20(%esp), %ebp
|
movl 20(%esp), %ebp
|
||||||
# Load the 2 words
|
|
||||||
movl (%edx), %edi
|
movl (%edx), %edi
|
||||||
movl 4(%edx), %esi
|
movl 4(%edx), %esi
|
||||||
pushl %ebx
|
pushl %ebx
|
||||||
@ -212,7 +212,7 @@ RC5_32_decrypt:
|
|||||||
pushl %edi
|
pushl %edi
|
||||||
movl 16(%esp), %edx
|
movl 16(%esp), %edx
|
||||||
movl 20(%esp), %ebp
|
movl 20(%esp), %ebp
|
||||||
# Load the 2 words
|
|
||||||
movl (%edx), %edi
|
movl (%edx), %edi
|
||||||
movl 4(%edx), %esi
|
movl 4(%edx), %esi
|
||||||
pushl %ebx
|
pushl %ebx
|
||||||
@ -407,7 +407,7 @@ RC5_32_cbc_encrypt:
|
|||||||
pushl %esi
|
pushl %esi
|
||||||
pushl %edi
|
pushl %edi
|
||||||
movl 28(%esp), %ebp
|
movl 28(%esp), %ebp
|
||||||
# getting iv ptr from parameter 4
|
|
||||||
movl 36(%esp), %ebx
|
movl 36(%esp), %ebx
|
||||||
movl (%ebx), %esi
|
movl (%ebx), %esi
|
||||||
movl 4(%ebx), %edi
|
movl 4(%ebx), %edi
|
||||||
@ -418,9 +418,9 @@ RC5_32_cbc_encrypt:
|
|||||||
movl %esp, %ebx
|
movl %esp, %ebx
|
||||||
movl 36(%esp), %esi
|
movl 36(%esp), %esi
|
||||||
movl 40(%esp), %edi
|
movl 40(%esp), %edi
|
||||||
# getting encrypt flag from parameter 5
|
|
||||||
movl 56(%esp), %ecx
|
movl 56(%esp), %ecx
|
||||||
# get and push parameter 3
|
|
||||||
movl 48(%esp), %eax
|
movl 48(%esp), %eax
|
||||||
pushl %eax
|
pushl %eax
|
||||||
pushl %ebx
|
pushl %ebx
|
||||||
@ -450,28 +450,33 @@ RC5_32_cbc_encrypt:
|
|||||||
movl 52(%esp), %ebp
|
movl 52(%esp), %ebp
|
||||||
andl $7, %ebp
|
andl $7, %ebp
|
||||||
jz .L007finish
|
jz .L007finish
|
||||||
|
call .L008PIC_point
|
||||||
|
.L008PIC_point:
|
||||||
|
popl %edx
|
||||||
|
leal .L009cbc_enc_jmp_table-.L008PIC_point(%edx),%ecx
|
||||||
|
movl (%ecx,%ebp,4), %ebp
|
||||||
|
addl %edx, %ebp
|
||||||
xorl %ecx, %ecx
|
xorl %ecx, %ecx
|
||||||
xorl %edx, %edx
|
xorl %edx, %edx
|
||||||
movl .L008cbc_enc_jmp_table(,%ebp,4),%ebp
|
|
||||||
jmp *%ebp
|
jmp *%ebp
|
||||||
.L009ej7:
|
.L010ej7:
|
||||||
movb 6(%esi), %dh
|
movb 6(%esi), %dh
|
||||||
sall $8, %edx
|
sall $8, %edx
|
||||||
.L010ej6:
|
.L011ej6:
|
||||||
movb 5(%esi), %dh
|
movb 5(%esi), %dh
|
||||||
.L011ej5:
|
.L012ej5:
|
||||||
movb 4(%esi), %dl
|
movb 4(%esi), %dl
|
||||||
.L012ej4:
|
.L013ej4:
|
||||||
movl (%esi), %ecx
|
movl (%esi), %ecx
|
||||||
jmp .L013ejend
|
jmp .L014ejend
|
||||||
.L014ej3:
|
.L015ej3:
|
||||||
movb 2(%esi), %ch
|
movb 2(%esi), %ch
|
||||||
sall $8, %ecx
|
sall $8, %ecx
|
||||||
.L015ej2:
|
.L016ej2:
|
||||||
movb 1(%esi), %ch
|
movb 1(%esi), %ch
|
||||||
.L016ej1:
|
.L017ej1:
|
||||||
movb (%esi), %cl
|
movb (%esi), %cl
|
||||||
.L013ejend:
|
.L014ejend:
|
||||||
xorl %ecx, %eax
|
xorl %ecx, %eax
|
||||||
xorl %edx, %ebx
|
xorl %edx, %ebx
|
||||||
movl %eax, 8(%esp)
|
movl %eax, 8(%esp)
|
||||||
@ -487,8 +492,8 @@ RC5_32_cbc_encrypt:
|
|||||||
andl $4294967288, %ebp
|
andl $4294967288, %ebp
|
||||||
movl 16(%esp), %eax
|
movl 16(%esp), %eax
|
||||||
movl 20(%esp), %ebx
|
movl 20(%esp), %ebx
|
||||||
jz .L017decrypt_finish
|
jz .L018decrypt_finish
|
||||||
.L018decrypt_loop:
|
.L019decrypt_loop:
|
||||||
movl (%esi), %eax
|
movl (%esi), %eax
|
||||||
movl 4(%esi), %ebx
|
movl 4(%esi), %ebx
|
||||||
movl %eax, 8(%esp)
|
movl %eax, 8(%esp)
|
||||||
@ -509,8 +514,8 @@ RC5_32_cbc_encrypt:
|
|||||||
addl $8, %esi
|
addl $8, %esi
|
||||||
addl $8, %edi
|
addl $8, %edi
|
||||||
subl $8, %ebp
|
subl $8, %ebp
|
||||||
jnz .L018decrypt_loop
|
jnz .L019decrypt_loop
|
||||||
.L017decrypt_finish:
|
.L018decrypt_finish:
|
||||||
movl 52(%esp), %ebp
|
movl 52(%esp), %ebp
|
||||||
andl $7, %ebp
|
andl $7, %ebp
|
||||||
jz .L007finish
|
jz .L007finish
|
||||||
@ -527,26 +532,26 @@ RC5_32_cbc_encrypt:
|
|||||||
xorl %ebx, %edx
|
xorl %ebx, %edx
|
||||||
movl (%esi), %eax
|
movl (%esi), %eax
|
||||||
movl 4(%esi), %ebx
|
movl 4(%esi), %ebx
|
||||||
.L019dj7:
|
.L020dj7:
|
||||||
rorl $16, %edx
|
rorl $16, %edx
|
||||||
movb %dl, 6(%edi)
|
movb %dl, 6(%edi)
|
||||||
shrl $16, %edx
|
shrl $16, %edx
|
||||||
.L020dj6:
|
.L021dj6:
|
||||||
movb %dh, 5(%edi)
|
movb %dh, 5(%edi)
|
||||||
.L021dj5:
|
.L022dj5:
|
||||||
movb %dl, 4(%edi)
|
movb %dl, 4(%edi)
|
||||||
.L022dj4:
|
.L023dj4:
|
||||||
movl %ecx, (%edi)
|
movl %ecx, (%edi)
|
||||||
jmp .L023djend
|
jmp .L024djend
|
||||||
.L024dj3:
|
.L025dj3:
|
||||||
rorl $16, %ecx
|
rorl $16, %ecx
|
||||||
movb %cl, 2(%edi)
|
movb %cl, 2(%edi)
|
||||||
sall $16, %ecx
|
sall $16, %ecx
|
||||||
.L025dj2:
|
.L026dj2:
|
||||||
movb %ch, 1(%esi)
|
movb %ch, 1(%esi)
|
||||||
.L026dj1:
|
.L027dj1:
|
||||||
movb %cl, (%esi)
|
movb %cl, (%esi)
|
||||||
.L023djend:
|
.L024djend:
|
||||||
jmp .L007finish
|
jmp .L007finish
|
||||||
.align 16
|
.align 16
|
||||||
.L007finish:
|
.L007finish:
|
||||||
@ -560,25 +565,15 @@ RC5_32_cbc_encrypt:
|
|||||||
popl %ebp
|
popl %ebp
|
||||||
ret
|
ret
|
||||||
.align 16
|
.align 16
|
||||||
.L008cbc_enc_jmp_table:
|
.L009cbc_enc_jmp_table:
|
||||||
.long 0
|
.long 0
|
||||||
.long .L016ej1
|
.long .L017ej1-.L008PIC_point
|
||||||
.long .L015ej2
|
.long .L016ej2-.L008PIC_point
|
||||||
.long .L014ej3
|
.long .L015ej3-.L008PIC_point
|
||||||
.long .L012ej4
|
.long .L013ej4-.L008PIC_point
|
||||||
.long .L011ej5
|
.long .L012ej5-.L008PIC_point
|
||||||
.long .L010ej6
|
.long .L011ej6-.L008PIC_point
|
||||||
.long .L009ej7
|
.long .L010ej7-.L008PIC_point
|
||||||
.align 16
|
|
||||||
.L027cbc_dec_jmp_table:
|
|
||||||
.long 0
|
|
||||||
.long .L026dj1
|
|
||||||
.long .L025dj2
|
|
||||||
.long .L024dj3
|
|
||||||
.long .L022dj4
|
|
||||||
.long .L021dj5
|
|
||||||
.long .L020dj6
|
|
||||||
.long .L019dj7
|
|
||||||
.L_RC5_32_cbc_encrypt_end:
|
.L_RC5_32_cbc_encrypt_end:
|
||||||
.size RC5_32_cbc_encrypt,.L_RC5_32_cbc_encrypt_end-RC5_32_cbc_encrypt
|
.size RC5_32_cbc_encrypt,.L_RC5_32_cbc_encrypt_end-RC5_32_cbc_encrypt
|
||||||
.ident "desasm.pl"
|
.ident "desasm.pl"
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user