diff --git a/x86/aes-decrypt.asm b/x86/aes-decrypt.asm index 716f322018c1ae1a47ed0bb3a2835933762fe4e8..373f8866cf6f62d771665bdaf5ace9627b6ac5d3 100644 --- a/x86/aes-decrypt.asm +++ b/x86/aes-decrypt.asm @@ -65,24 +65,25 @@ aes_decrypt: AES_ROUND(_aes_decrypt_table,d,a,b,c) pushl %edi - C // Third column - C c d a b - movl %ecx,%esi C copy first in - andl $0x000000ff,%esi C clear all but offset - shll $2,%esi C index in itbl1 - movl AES_TABLE0 + _aes_decrypt_table (%esi),%edi - movl %edx,%esi C second one - shrl $6,%esi - andl $0x000003fc,%esi C clear all but offset bytes - xorl AES_TABLE1 + _aes_decrypt_table (%esi),%edi - movl %eax,%esi C third one - shrl $14,%esi - andl $0x000003fc,%esi - xorl AES_TABLE2 + _aes_decrypt_table (%esi),%edi - movl %ebx,%esi C fourth one - shrl $22,%esi - andl $0x000003fc,%esi - xorl AES_TABLE3 + _aes_decrypt_table (%esi),%edi + AES_ROUND(_aes_decrypt_table,c,d,a,b) +C C // Third column +C C c d a b +C movl %ecx,%esi C copy first in +C andl $0x000000ff,%esi C clear all but offset +C shll $2,%esi C index in itbl1 +C movl AES_TABLE0 + _aes_decrypt_table (%esi),%edi +C movl %edx,%esi C second one +C shrl $6,%esi +C andl $0x000003fc,%esi C clear all but offset bytes +C xorl AES_TABLE1 + _aes_decrypt_table (%esi),%edi +C movl %eax,%esi C third one +C shrl $14,%esi +C andl $0x000003fc,%esi +C xorl AES_TABLE2 + _aes_decrypt_table (%esi),%edi +C movl %ebx,%esi C fourth one +C shrl $22,%esi +C andl $0x000003fc,%esi +C xorl AES_TABLE3 + _aes_decrypt_table (%esi),%edi pushl %edi C save first on stack C // Fourth column