aes-586.S revision 9838b9f4b038825b061a6b323842f9d23729eac0
15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).file "aes-586.s" 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).text 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).type _x86_AES_encrypt_compact,@function 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).align 16 50f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles)_x86_AES_encrypt_compact: 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movl %edi,20(%esp) 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xorl (%edi),%eax 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xorl 4(%edi),%ebx 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xorl 8(%edi),%ecx 102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) xorl 12(%edi),%edx 111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci movl 240(%edi),%esi 12c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) leal -2(%esi,%esi,1),%esi 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) leal (%edi,%esi,8),%esi 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movl %esi,24(%esp) 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movl -128(%ebp),%edi 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movl -96(%ebp),%esi 17868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) movl -64(%ebp),%edi 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movl -32(%ebp),%esi 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movl (%ebp),%edi 20f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) movl 32(%ebp),%esi 21f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) movl 64(%ebp),%edi 22c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch movl 96(%ebp),%esi 23c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch.align 16 24c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch.L000loop: 253551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) movl %eax,%esi 263551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) andl $255,%esi 275d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) movzbl -128(%ebp,%esi,1),%esi 28f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) movzbl %bh,%edi 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movzbl -128(%ebp,%edi,1),%edi 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) shll $8,%edi 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xorl %edi,%esi 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movl %ecx,%edi 335d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) shrl $16,%edi 34a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) andl $255,%edi 35c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) movzbl -128(%ebp,%edi,1),%edi 36c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) shll $16,%edi 37c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) xorl %edi,%esi 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movl %edx,%edi 39c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) shrl $24,%edi 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movzbl -128(%ebp,%edi,1),%edi 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) shll $24,%edi 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xorl %edi,%esi 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movl %esi,4(%esp) 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movl %ebx,%esi 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) andl $255,%esi 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) shrl $16,%ebx 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movzbl -128(%ebp,%esi,1),%esi 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movzbl %ch,%edi 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movzbl -128(%ebp,%edi,1),%edi 515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) shll $8,%edi 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xorl %edi,%esi 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movl %edx,%edi 545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) shrl $16,%edi 555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) andl $255,%edi 565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movzbl -128(%ebp,%edi,1),%edi 575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) shll $16,%edi 585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xorl %edi,%esi 595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movl %eax,%edi 605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) shrl $24,%edi 615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movzbl -128(%ebp,%edi,1),%edi 625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) shll $24,%edi 635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xorl %edi,%esi 645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movl %esi,8(%esp) 655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 66c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) movl %ecx,%esi 675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) andl $255,%esi 685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) shrl $24,%ecx 695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movzbl -128(%ebp,%esi,1),%esi 705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movzbl %dh,%edi 71116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch movzbl -128(%ebp,%edi,1),%edi 72116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch shll $8,%edi 73116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch xorl %edi,%esi 74116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch movl %eax,%edi 75116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch shrl $16,%edi 76116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch andl $255,%edx 775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) andl $255,%edi 785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movzbl -128(%ebp,%edi,1),%edi 795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) shll $16,%edi 805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xorl %edi,%esi 81116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch movzbl %bh,%edi 82116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch movzbl -128(%ebp,%edi,1),%edi 835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) shll $24,%edi 845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xorl %edi,%esi 855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) andl $255,%edx 875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movzbl -128(%ebp,%edx,1),%edx 88116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch movzbl %ah,%eax 895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movzbl -128(%ebp,%eax,1),%eax 905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) shll $8,%eax 91116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch xorl %eax,%edx 92116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch movl 4(%esp),%eax 93116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch andl $255,%ebx 94116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch movzbl -128(%ebp,%ebx,1),%ebx 95116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch shll $16,%ebx 96116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch xorl %ebx,%edx 97116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch movl 8(%esp),%ebx 98116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch movzbl -128(%ebp,%ecx,1),%ecx 99116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch shll $24,%ecx 100116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch xorl %ecx,%edx 101116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch movl %esi,%ecx 102116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 103116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch movl %ecx,%esi 104116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch andl $2155905152,%esi 105116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch movl %esi,%ebp 1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) shrl $7,%ebp 1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) leal (%ecx,%ecx,1),%edi 108116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch subl %ebp,%esi 109116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch andl $4278124286,%edi 110116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch andl $454761243,%esi 111116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch movl %ecx,%ebp 1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xorl %edi,%esi 1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xorl %esi,%ecx 114116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch roll $24,%ecx 115116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch xorl %esi,%ecx 116116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch rorl $16,%ebp 117116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch xorl %ebp,%ecx 118116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch rorl $8,%ebp 119116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch xorl %ebp,%ecx 120116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch movl %edx,%esi 121116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch andl $2155905152,%esi 122116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch movl %esi,%ebp 123116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch shrl $7,%ebp 124116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch leal (%edx,%edx,1),%edi 125116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch subl %ebp,%esi 126116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch andl $4278124286,%edi 127116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch andl $454761243,%esi 128116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch movl %edx,%ebp 129116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch xorl %edi,%esi 130116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch xorl %esi,%edx 131116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch roll $24,%edx 132116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch xorl %esi,%edx 133116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch rorl $16,%ebp 134116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch xorl %ebp,%edx 135116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch rorl $8,%ebp 136116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch xorl %ebp,%edx 137116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch movl %eax,%esi 1385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) andl $2155905152,%esi 1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movl %esi,%ebp 140116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch shrl $7,%ebp 1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) leal (%eax,%eax,1),%edi 1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) subl %ebp,%esi 143116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch andl $4278124286,%edi 144116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch andl $454761243,%esi 145116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch movl %eax,%ebp 146116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch xorl %edi,%esi 147116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch xorl %esi,%eax 148116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch roll $24,%eax 149116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch xorl %esi,%eax 150116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch rorl $16,%ebp 151116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch xorl %ebp,%eax 152116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch rorl $8,%ebp 153116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch xorl %ebp,%eax 154116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch movl %ebx,%esi 1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) andl $2155905152,%esi 156c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) movl %esi,%ebp 157c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) shrl $7,%ebp 158c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) leal (%ebx,%ebx,1),%edi 159c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) subl %ebp,%esi 160c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) andl $4278124286,%edi 1615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) andl $454761243,%esi 162c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) movl %ebx,%ebp 16358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) xorl %edi,%esi 164c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) xorl %esi,%ebx 1655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) roll $24,%ebx 1667d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) xorl %esi,%ebx 167c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) rorl $16,%ebp 168c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) xorl %ebp,%ebx 169c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) rorl $8,%ebp 170116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch xorl %ebp,%ebx 171116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch movl 20(%esp),%edi 172116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch movl 28(%esp),%ebp 173c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) addl $16,%edi 1745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xorl (%edi),%eax 175c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) xorl 4(%edi),%ebx 176116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch xorl 8(%edi),%ecx 177116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch xorl 12(%edi),%edx 178116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch cmpl 24(%esp),%edi 179116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch movl %edi,20(%esp) 180c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) jb .L000loop 181c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) movl %eax,%esi 1825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) andl $255,%esi 1837d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) movzbl -128(%ebp,%esi,1),%esi 184c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) movzbl %bh,%edi 185c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) movzbl -128(%ebp,%edi,1),%edi 186c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) shll $8,%edi 187c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) xorl %edi,%esi 188c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) movl %ecx,%edi 189c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) shrl $16,%edi 190c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) andl $255,%edi 191c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) movzbl -128(%ebp,%edi,1),%edi 192c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) shll $16,%edi 193c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) xorl %edi,%esi 194c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) movl %edx,%edi 195c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) shrl $24,%edi 196c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) movzbl -128(%ebp,%edi,1),%edi 197c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) shll $24,%edi 198c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) xorl %edi,%esi 199c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) movl %esi,4(%esp) 200c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 201c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) movl %ebx,%esi 202c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) andl $255,%esi 203c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) shrl $16,%ebx 204c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) movzbl -128(%ebp,%esi,1),%esi 205c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) movzbl %ch,%edi 206c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) movzbl -128(%ebp,%edi,1),%edi 207c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) shll $8,%edi 208c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) xorl %edi,%esi 209c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) movl %edx,%edi 210c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) shrl $16,%edi 211c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) andl $255,%edi 212c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) movzbl -128(%ebp,%edi,1),%edi 213c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) shll $16,%edi 214c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) xorl %edi,%esi 215c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) movl %eax,%edi 216c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) shrl $24,%edi 217c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) movzbl -128(%ebp,%edi,1),%edi 218c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) shll $24,%edi 219c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) xorl %edi,%esi 220c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) movl %esi,8(%esp) 2217d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) 2227d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) movl %ecx,%esi 2237d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) andl $255,%esi 2247d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) shrl $24,%ecx 2257d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) movzbl -128(%ebp,%esi,1),%esi 2267d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) movzbl %dh,%edi 2277d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) movzbl -128(%ebp,%edi,1),%edi 2287d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) shll $8,%edi 2297d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) xorl %edi,%esi 2307d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) movl %eax,%edi 2317d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) shrl $16,%edi 2327d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) andl $255,%edx 2337d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) andl $255,%edi 2347d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) movzbl -128(%ebp,%edi,1),%edi 2357d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) shll $16,%edi 2367d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) xorl %edi,%esi 2377d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) movzbl %bh,%edi 2387d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) movzbl -128(%ebp,%edi,1),%edi 2397d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) shll $24,%edi 2407d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) xorl %edi,%esi 2417d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) 2427d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) movl 20(%esp),%edi 2437d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) andl $255,%edx 2447d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) movzbl -128(%ebp,%edx,1),%edx 2457d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) movzbl %ah,%eax 2467d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) movzbl -128(%ebp,%eax,1),%eax 2477d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) shll $8,%eax 2487d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) xorl %eax,%edx 2497d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) movl 4(%esp),%eax 2507d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) andl $255,%ebx 2517d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) movzbl -128(%ebp,%ebx,1),%ebx 2527d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) shll $16,%ebx 2537d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) xorl %ebx,%edx 2547d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) movl 8(%esp),%ebx 255c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) movzbl -128(%ebp,%ecx,1),%ecx 256c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) shll $24,%ecx 257c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) xorl %ecx,%edx 258c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) movl %esi,%ecx 259c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 260c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) xorl 16(%edi),%eax 261c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) xorl 20(%edi),%ebx 262c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) xorl 24(%edi),%ecx 263c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) xorl 28(%edi),%edx 26458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) ret 265c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).size _x86_AES_encrypt_compact,.-_x86_AES_encrypt_compact 266c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).type _sse_AES_encrypt_compact,@function 2677d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).align 16 268c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)_sse_AES_encrypt_compact: 269c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) pxor (%edi),%mm0 270c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) pxor 8(%edi),%mm4 271c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) movl 240(%edi),%esi 272c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) leal -2(%esi,%esi,1),%esi 273c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) leal (%edi,%esi,8),%esi 274c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) movl %esi,24(%esp) 275c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) movl $454761243,%eax 276c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) movl %eax,8(%esp) 2777d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) movl %eax,12(%esp) 2785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movl -128(%ebp),%eax 2795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movl -96(%ebp),%ebx 280116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch movl -64(%ebp),%ecx 281116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch movl -32(%ebp),%edx 282116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch movl (%ebp),%eax 283116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch movl 32(%ebp),%ebx 284116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch movl 64(%ebp),%ecx 285116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch movl 96(%ebp),%edx 286116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch.align 16 287116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch.L001loop: 288116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch pshufw $8,%mm0,%mm1 289116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch pshufw $13,%mm4,%mm5 290116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch movd %mm1,%eax 291116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch movd %mm5,%ebx 292116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch movzbl %al,%esi 2935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movzbl -128(%ebp,%esi,1),%ecx 2945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) pshufw $13,%mm0,%mm2 2955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movzbl %ah,%edx 2967d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) movzbl -128(%ebp,%edx,1),%edx 2973551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) shll $8,%edx 2983551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) shrl $16,%eax 2993551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) movzbl %bl,%esi 3003551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) movzbl -128(%ebp,%esi,1),%esi 3013551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) shll $16,%esi 3023551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) orl %esi,%ecx 3033551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) pshufw $8,%mm4,%mm6 3043551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) movzbl %bh,%esi 3053551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) movzbl -128(%ebp,%esi,1),%esi 3063551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) shll $24,%esi 3073551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) orl %esi,%edx 3083551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) shrl $16,%ebx 3093551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) movzbl %ah,%esi 3103551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) movzbl -128(%ebp,%esi,1),%esi 311b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) shll $8,%esi 312b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) orl %esi,%ecx 313b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) movzbl %bh,%esi 314b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) movzbl -128(%ebp,%esi,1),%esi 3153551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) shll $24,%esi 316b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) orl %esi,%ecx 317b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) movd %ecx,%mm0 3183551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) movzbl %al,%esi 3193551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) movzbl -128(%ebp,%esi,1),%ecx 3203551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) movd %mm2,%eax 3213551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) movzbl %bl,%esi 3223551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) movzbl -128(%ebp,%esi,1),%esi 3233551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) shll $16,%esi 3243551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) orl %esi,%ecx 325b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) movd %mm6,%ebx 3263551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) movzbl %ah,%esi 3273551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) movzbl -128(%ebp,%esi,1),%esi 3283551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) shll $24,%esi 3293551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) orl %esi,%ecx 3303551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) movzbl %bh,%esi 3313551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) movzbl -128(%ebp,%esi,1),%esi 3323551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) shll $8,%esi 3333551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) orl %esi,%ecx 3343551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) movd %ecx,%mm1 335b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) movzbl %bl,%esi 336b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) movzbl -128(%ebp,%esi,1),%ecx 337b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) shrl $16,%ebx 338b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) movzbl %al,%esi 339b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) movzbl -128(%ebp,%esi,1),%esi 340b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) shll $16,%esi 341b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) orl %esi,%ecx 342b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) shrl $16,%eax 343b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) punpckldq %mm1,%mm0 34458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) movzbl %ah,%esi 345b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) movzbl -128(%ebp,%esi,1),%esi 346b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) shll $24,%esi 3477d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) orl %esi,%ecx 348b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) andl $255,%eax 349b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) movzbl -128(%ebp,%eax,1),%eax 350b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) shll $16,%eax 351b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) orl %eax,%edx 352b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) movzbl %bh,%esi 353b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) movzbl -128(%ebp,%esi,1),%esi 354b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) shll $8,%esi 355b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) orl %esi,%ecx 356b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) movd %ecx,%mm4 3577d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) andl $255,%ebx 358b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) movzbl -128(%ebp,%ebx,1),%ebx 359b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) orl %ebx,%edx 3605d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) movd %edx,%mm5 3615d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) punpckldq %mm5,%mm4 3625d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) addl $16,%edi 363b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) cmpl 24(%esp),%edi 3645d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ja .L002out 3653551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) movq 8(%esp),%mm2 366b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) pxor %mm3,%mm3 3675d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) pxor %mm7,%mm7 3685d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) movq %mm0,%mm1 369b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) movq %mm4,%mm5 370b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) pcmpgtb %mm0,%mm3 371b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) pcmpgtb %mm4,%mm7 372c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) pand %mm2,%mm3 3735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) pand %mm2,%mm7 3745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) pshufw $177,%mm0,%mm2 375c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) pshufw $177,%mm4,%mm6 376c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) paddb %mm0,%mm0 3775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) paddb %mm4,%mm4 3785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) pxor %mm3,%mm0 3795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) pxor %mm7,%mm4 3805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) pshufw $177,%mm2,%mm3 3815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) pshufw $177,%mm6,%mm7 38258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) pxor %mm0,%mm1 38358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) pxor %mm4,%mm5 3845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) pxor %mm2,%mm0 3855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) pxor %mm6,%mm4 386a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) movq %mm3,%mm2 387a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) movq %mm7,%mm6 3885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) pslld $8,%mm3 3895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) pslld $8,%mm7 3905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) psrld $24,%mm2 3915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) psrld $24,%mm6 3925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) pxor %mm3,%mm0 3935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) pxor %mm7,%mm4 3945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) pxor %mm2,%mm0 3955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) pxor %mm6,%mm4 3962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) movq %mm1,%mm3 3975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movq %mm5,%mm7 3985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movq (%edi),%mm2 3995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movq 8(%edi),%mm6 4005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) psrld $8,%mm1 4012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) psrld $8,%mm5 4025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movl -128(%ebp),%eax 4035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) pslld $24,%mm3 4042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) pslld $24,%mm7 4055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movl -64(%ebp),%ebx 4065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) pxor %mm1,%mm0 4075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) pxor %mm5,%mm4 4085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movl (%ebp),%ecx 4095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) pxor %mm3,%mm0 4105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) pxor %mm7,%mm4 4112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) movl 64(%ebp),%edx 4122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) pxor %mm2,%mm0 4135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) pxor %mm6,%mm4 4145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) jmp .L001loop 4155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).align 16 4165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).L002out: 4175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) pxor (%edi),%mm0 4185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) pxor 8(%edi),%mm4 4195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ret 4205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).size _sse_AES_encrypt_compact,.-_sse_AES_encrypt_compact 4215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).type _x86_AES_encrypt,@function 4225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).align 16 4235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)_x86_AES_encrypt: 4245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movl %edi,20(%esp) 4255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xorl (%edi),%eax 426c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) xorl 4(%edi),%ebx 4275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xorl 8(%edi),%ecx 4285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xorl 12(%edi),%edx 4295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movl 240(%edi),%esi 4305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) leal -2(%esi,%esi,1),%esi 4315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) leal (%edi,%esi,8),%esi 4325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movl %esi,24(%esp) 4335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).align 16 4345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).L003loop: 4355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movl %eax,%esi 4365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) andl $255,%esi 4375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movl (%ebp,%esi,8),%esi 4385d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) movzbl %bh,%edi 439b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) xorl 3(%ebp,%edi,8),%esi 4405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movl %ecx,%edi 4417d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) shrl $16,%edi 4425d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) andl $255,%edi 4433551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) xorl 2(%ebp,%edi,8),%esi 4447d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) movl %edx,%edi 4457d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) shrl $24,%edi 4467d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) xorl 1(%ebp,%edi,8),%esi 4475d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) movl %esi,4(%esp) 4483551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) 4497d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) movl %ebx,%esi 4507d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) andl $255,%esi 4517d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) shrl $16,%ebx 4525d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) movl (%ebp,%esi,8),%esi 4533551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) movzbl %ch,%edi 4547d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) xorl 3(%ebp,%edi,8),%esi 4557d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) movl %edx,%edi 4565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) shrl $16,%edi 4575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) andl $255,%edi 4587d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) xorl 2(%ebp,%edi,8),%esi 4595d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) movl %eax,%edi 4603551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) shrl $24,%edi 4617d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) xorl 1(%ebp,%edi,8),%esi 4627d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) movl %esi,8(%esp) 4637d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) 4645d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) movl %ecx,%esi 4653551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) andl $255,%esi 4667d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) shrl $24,%ecx 4677d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) movl (%ebp,%esi,8),%esi 4687d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) movzbl %dh,%edi 4695d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) xorl 3(%ebp,%edi,8),%esi 4705d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) movl %eax,%edi 4715d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) shrl $16,%edi 4725d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) andl $255,%edx 4735d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) andl $255,%edi 4745d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) xorl 2(%ebp,%edi,8),%esi 4753551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) movzbl %bh,%edi 4767d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) xorl 1(%ebp,%edi,8),%esi 4777d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) 4785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movl 20(%esp),%edi 4795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movl (%ebp,%edx,8),%edx 4807d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) movzbl %ah,%eax 4815d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) xorl 3(%ebp,%eax,8),%edx 4823551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) movl 4(%esp),%eax 4837d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) andl $255,%ebx 4847d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) xorl 2(%ebp,%ebx,8),%edx 4857d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) movl 8(%esp),%ebx 4865d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) xorl 1(%ebp,%ecx,8),%edx 4873551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) movl %esi,%ecx 4887d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) 4897d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) addl $16,%edi 4907d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) xorl (%edi),%eax 4915d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) xorl 4(%edi),%ebx 4923551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) xorl 8(%edi),%ecx 4937d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) xorl 12(%edi),%edx 4947d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) cmpl 24(%esp),%edi 4955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) movl %edi,20(%esp) 4965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) jb .L003loop 497b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) movl %eax,%esi 498b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) andl $255,%esi 4993551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) movl 2(%ebp,%esi,8),%esi 5003551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) andl $255,%esi 5013551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) movzbl %bh,%edi 5023551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) movl (%ebp,%edi,8),%edi 503b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) andl $65280,%edi 504b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) xorl %edi,%esi 505b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) movl %ecx,%edi 506b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) shrl $16,%edi 507b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) andl $255,%edi 508b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) movl (%ebp,%edi,8),%edi 509b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) andl $16711680,%edi 510b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) xorl %edi,%esi 511b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) movl %edx,%edi 5127d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) shrl $24,%edi 5137d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) movl 2(%ebp,%edi,8),%edi 5147d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) andl $4278190080,%edi 5153551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) xorl %edi,%esi 5163551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) movl %esi,4(%esp) 5173551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) movl %ebx,%esi 5187d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) andl $255,%esi 5197d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) shrl $16,%ebx 5207d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) movl 2(%ebp,%esi,8),%esi 5217d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) andl $255,%esi 5227d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) movzbl %ch,%edi 5237d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) movl (%ebp,%edi,8),%edi 5247d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) andl $65280,%edi 5257d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) xorl %edi,%esi 5263551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) movl %edx,%edi 5277d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) shrl $16,%edi 5287d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) andl $255,%edi 5297d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) movl (%ebp,%edi,8),%edi 5307d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) andl $16711680,%edi 5317d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) xorl %edi,%esi 5327d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) movl %eax,%edi 5337d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) shrl $24,%edi 5347d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) movl 2(%ebp,%edi,8),%edi 5357d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) andl $4278190080,%edi 5367d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) xorl %edi,%esi 5377d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) movl %esi,8(%esp) 5387d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) movl %ecx,%esi 5397d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) andl $255,%esi 5407d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) shrl $24,%ecx 5417d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) movl 2(%ebp,%esi,8),%esi 5427d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) andl $255,%esi 5437d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) movzbl %dh,%edi 544b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) movl (%ebp,%edi,8),%edi 545b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) andl $65280,%edi 546b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) xorl %edi,%esi 547b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) movl %eax,%edi 548b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) shrl $16,%edi 549b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) andl $255,%edx 550a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) andl $255,%edi 551b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) movl (%ebp,%edi,8),%edi 552b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) andl $16711680,%edi 553b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) xorl %edi,%esi 554b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) movzbl %bh,%edi 555b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) movl 2(%ebp,%edi,8),%edi 556b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) andl $4278190080,%edi 557b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) xorl %edi,%esi 558b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) movl 20(%esp),%edi 559b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) andl $255,%edx 560b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) movl 2(%ebp,%edx,8),%edx 561b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) andl $255,%edx 562b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) movzbl %ah,%eax 563b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) movl (%ebp,%eax,8),%eax 564b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) andl $65280,%eax 565b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) xorl %eax,%edx 566b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) movl 4(%esp),%eax 567a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) andl $255,%ebx 568a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) movl (%ebp,%ebx,8),%ebx 569a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) andl $16711680,%ebx 570a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) xorl %ebx,%edx 571b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) movl 8(%esp),%ebx 572b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) movl 2(%ebp,%ecx,8),%ecx 5737d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) andl $4278190080,%ecx 5747d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) xorl %ecx,%edx 5757d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) movl %esi,%ecx 5767d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) addl $16,%edi 5777d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) xorl (%edi),%eax 5787d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) xorl 4(%edi),%ebx 5797d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) xorl 8(%edi),%ecx 5807d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) xorl 12(%edi),%edx 5817d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) ret 5827d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).align 64 5837d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).LAES_Te: 5847d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 2774754246,2774754246 5857d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 2222750968,2222750968 5867d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 2574743534,2574743534 5877d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 2373680118,2373680118 5887d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 234025727,234025727 5897d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 3177933782,3177933782 5907d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 2976870366,2976870366 5917d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 1422247313,1422247313 5927d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 1345335392,1345335392 5937d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 50397442,50397442 5947d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 2842126286,2842126286 5957d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 2099981142,2099981142 5967d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 436141799,436141799 5977d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 1658312629,1658312629 5987d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 3870010189,3870010189 5997d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 2591454956,2591454956 6007d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 1170918031,1170918031 6017d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 2642575903,2642575903 6027d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 1086966153,1086966153 6037d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 2273148410,2273148410 6047d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 368769775,368769775 6057d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 3948501426,3948501426 6067d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 3376891790,3376891790 6077d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 200339707,200339707 6087d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 3970805057,3970805057 6097d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 1742001331,1742001331 6107d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 4255294047,4255294047 6117d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 3937382213,3937382213 6127d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 3214711843,3214711843 6137d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 4154762323,4154762323 6147d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 2524082916,2524082916 6157d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 1539358875,1539358875 6167d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 3266819957,3266819957 6177d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 486407649,486407649 6187d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 2928907069,2928907069 6197d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 1780885068,1780885068 6207d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 1513502316,1513502316 6217d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 1094664062,1094664062 6227d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 49805301,49805301 6237d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 1338821763,1338821763 6247d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 1546925160,1546925160 6257d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 4104496465,4104496465 626c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long 887481809,887481809 6275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 150073849,150073849 6282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long 2473685474,2473685474 6295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 1943591083,1943591083 6305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 1395732834,1395732834 6315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 1058346282,1058346282 6325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 201589768,201589768 6335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 1388824469,1388824469 6342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long 1696801606,1696801606 6352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long 1589887901,1589887901 6362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long 672667696,672667696 6372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long 2711000631,2711000631 6382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long 251987210,251987210 6392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long 3046808111,3046808111 6402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long 151455502,151455502 6412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long 907153956,907153956 6425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 2608889883,2608889883 6435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 1038279391,1038279391 6445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 652995533,652995533 6455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 1764173646,1764173646 6465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 3451040383,3451040383 6475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 2675275242,2675275242 6485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 453576978,453576978 6495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 2659418909,2659418909 6505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 1949051992,1949051992 6512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long 773462580,773462580 6522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long 756751158,756751158 6532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long 2993581788,2993581788 6542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long 3998898868,3998898868 6552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long 4221608027,4221608027 6562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long 4132590244,4132590244 6572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long 1295727478,1295727478 6582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long 1641469623,1641469623 6595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 3467883389,3467883389 6605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 2066295122,2066295122 6615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 1055122397,1055122397 6625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 1898917726,1898917726 6635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 2542044179,2542044179 6642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long 4115878822,4115878822 6652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long 1758581177,1758581177 6665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 0,0 6675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 753790401,753790401 668c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long 1612718144,1612718144 6695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 536673507,536673507 6705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 3367088505,3367088505 6715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 3982187446,3982187446 6725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 3194645204,3194645204 6735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 1187761037,1187761037 6745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 3653156455,3653156455 6755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 1262041458,1262041458 6765f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles).long 3729410708,3729410708 6775f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles).long 3561770136,3561770136 6785f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles).long 3898103984,3898103984 679c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long 1255133061,1255133061 680c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long 1808847035,1808847035 681c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long 720367557,720367557 6825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 3853167183,3853167183 6835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 385612781,385612781 6845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 3309519750,3309519750 6855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 3612167578,3612167578 6865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 1429418854,1429418854 6875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 2491778321,2491778321 6885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 3477423498,3477423498 6895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 284817897,284817897 6905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 100794884,100794884 6915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 2172616702,2172616702 6925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 4031795360,4031795360 6935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 1144798328,1144798328 6945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 3131023141,3131023141 695c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long 3819481163,3819481163 6965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 4082192802,4082192802 6975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 4272137053,4272137053 6985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 3225436288,3225436288 6995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 2324664069,2324664069 7005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 2912064063,2912064063 7015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 3164445985,3164445985 7025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 1211644016,1211644016 7035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 83228145,83228145 7045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 3753688163,3753688163 7055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 3249976951,3249976951 7065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 1977277103,1977277103 7075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 1663115586,1663115586 7085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 806359072,806359072 7095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 452984805,452984805 7105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 250868733,250868733 7115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 1842533055,1842533055 7125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 1288555905,1288555905 7135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 336333848,336333848 7145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 890442534,890442534 7155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 804056259,804056259 7165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 3781124030,3781124030 7175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 2727843637,2727843637 7185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 3427026056,3427026056 7195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 957814574,957814574 7205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 1472513171,1472513171 7215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 4071073621,4071073621 7225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 2189328124,2189328124 723c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long 1195195770,1195195770 7245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 2892260552,2892260552 7255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 3881655738,3881655738 726c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long 723065138,723065138 727c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long 2507371494,2507371494 728c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long 2690670784,2690670784 729c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long 2558624025,2558624025 7305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 3511635870,3511635870 7315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 2145180835,2145180835 7322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long 1713513028,1713513028 7335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 2116692564,2116692564 7345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 2878378043,2878378043 7355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 2206763019,2206763019 7365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 3393603212,3393603212 7375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 703524551,703524551 7385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 3552098411,3552098411 7395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 1007948840,1007948840 7402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long 2044649127,2044649127 7415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 3797835452,3797835452 7425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 487262998,487262998 7435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 1994120109,1994120109 7445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 1004593371,1004593371 7455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 1446130276,1446130276 7460529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch.long 1312438900,1312438900 7474e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles).long 503974420,503974420 7485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 3679013266,3679013266 7495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 168166924,168166924 7505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 1814307912,1814307912 7515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 3831258296,3831258296 7525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 1573044895,1573044895 753c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long 1859376061,1859376061 754c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long 4021070915,4021070915 755c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long 2791465668,2791465668 756c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long 2828112185,2828112185 757c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long 2761266481,2761266481 758c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long 937747667,937747667 7592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long 2339994098,2339994098 7602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long 854058965,854058965 761c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long 1137232011,1137232011 7627d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 1496790894,1496790894 7637d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 3077402074,3077402074 764c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long 2358086913,2358086913 765c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long 1691735473,1691735473 7665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 3528347292,3528347292 7675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 3769215305,3769215305 768c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long 3027004632,3027004632 7695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 4199962284,4199962284 7705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 133494003,133494003 771c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long 636152527,636152527 772c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long 2942657994,2942657994 7735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 2390391540,2390391540 7745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 3920539207,3920539207 7755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 403179536,403179536 776c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long 3585784431,3585784431 777c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long 2289596656,2289596656 778c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long 1864705354,1864705354 779c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long 1915629148,1915629148 7805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 605822008,605822008 7815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 4054230615,4054230615 7825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 3350508659,3350508659 7835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 1371981463,1371981463 7842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long 602466507,602466507 7855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 2094914977,2094914977 7865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 2624877800,2624877800 7872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long 555687742,555687742 7882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long 3712699286,3712699286 7895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 3703422305,3703422305 7905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 2257292045,2257292045 7915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 2240449039,2240449039 7925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 2423288032,2423288032 793c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long 1111375484,1111375484 7942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long 3300242801,3300242801 7955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 2858837708,2858837708 7965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 3628615824,3628615824 7975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 84083462,84083462 7985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 32962295,32962295 7995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 302911004,302911004 8005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 2741068226,2741068226 80158537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles).long 1597322602,1597322602 8025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 4183250862,4183250862 8035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 3501832553,3501832553 8045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 2441512471,2441512471 8057d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 1489093017,1489093017 8067d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long 656219450,656219450 8075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 3114180135,3114180135 8082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long 954327513,954327513 8095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 335083755,335083755 8102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long 3013122091,3013122091 8112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long 856756514,856756514 8125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 3144247762,3144247762 8135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 1893325225,1893325225 8145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 2307821063,2307821063 8155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 2811532339,2811532339 8165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 3063651117,3063651117 8175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 572399164,572399164 8185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 2458355477,2458355477 8195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 552200649,552200649 8202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long 1238290055,1238290055 8215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 4283782570,4283782570 8225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 2015897680,2015897680 8235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 2061492133,2061492133 8245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 2408352771,2408352771 8255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 4171342169,4171342169 8265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 2156497161,2156497161 8275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 386731290,386731290 8285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 3669999461,3669999461 8295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 837215959,837215959 8305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 3326231172,3326231172 8315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 3093850320,3093850320 8325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 3275833730,3275833730 8335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 2962856233,2962856233 8345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 1999449434,1999449434 8355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 286199582,286199582 8365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 3417354363,3417354363 8375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 4233385128,4233385128 8385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 3602627437,3602627437 8395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long 974525996,974525996 8405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).byte 99,124,119,123,242,107,111,197 8415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).byte 48,1,103,43,254,215,171,118 8425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).byte 202,130,201,125,250,89,71,240 8435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).byte 173,212,162,175,156,164,114,192 8445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).byte 183,253,147,38,54,63,247,204 8455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).byte 52,165,229,241,113,216,49,21 8465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).byte 4,199,35,195,24,150,5,154 8475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).byte 7,18,128,226,235,39,178,117 8485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).byte 9,131,44,26,27,110,90,160 8495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).byte 82,59,214,179,41,227,47,132 8505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).byte 83,209,0,237,32,252,177,91 8515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).byte 106,203,190,57,74,76,88,207 8525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).byte 208,239,170,251,67,77,51,133 853a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 69,249,2,127,80,60,159,168 854a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 81,163,64,143,146,157,56,245 855a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 188,182,218,33,16,255,243,210 856a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 205,12,19,236,95,151,68,23 857a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 196,167,126,61,100,93,25,115 858a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 96,129,79,220,34,42,144,136 859a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 70,238,184,20,222,94,11,219 860a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 224,50,58,10,73,6,36,92 861a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 194,211,172,98,145,149,228,121 862a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 231,200,55,109,141,213,78,169 863a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 108,86,244,234,101,122,174,8 864a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 186,120,37,46,28,166,180,198 865a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 232,221,116,31,75,189,139,138 866a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 112,62,181,102,72,3,246,14 867a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 97,53,87,185,134,193,29,158 868a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 225,248,152,17,105,217,142,148 869a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 155,30,135,233,206,85,40,223 870a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 140,161,137,13,191,230,66,104 871a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 65,153,45,15,176,84,187,22 872a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 99,124,119,123,242,107,111,197 873a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 48,1,103,43,254,215,171,118 874a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 202,130,201,125,250,89,71,240 8753551c9c881056c480085172ff9840cab31610854Torne (Richard Coles).byte 173,212,162,175,156,164,114,192 876a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 183,253,147,38,54,63,247,204 877a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 52,165,229,241,113,216,49,21 878a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 4,199,35,195,24,150,5,154 879a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 7,18,128,226,235,39,178,117 880a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 9,131,44,26,27,110,90,160 881a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 82,59,214,179,41,227,47,132 882a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 83,209,0,237,32,252,177,91 8833551c9c881056c480085172ff9840cab31610854Torne (Richard Coles).byte 106,203,190,57,74,76,88,207 8843551c9c881056c480085172ff9840cab31610854Torne (Richard Coles).byte 208,239,170,251,67,77,51,133 8853551c9c881056c480085172ff9840cab31610854Torne (Richard Coles).byte 69,249,2,127,80,60,159,168 8863551c9c881056c480085172ff9840cab31610854Torne (Richard Coles).byte 81,163,64,143,146,157,56,245 887a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 188,182,218,33,16,255,243,210 888a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 205,12,19,236,95,151,68,23 889a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 196,167,126,61,100,93,25,115 890a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 96,129,79,220,34,42,144,136 891a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 70,238,184,20,222,94,11,219 892a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 224,50,58,10,73,6,36,92 893a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 194,211,172,98,145,149,228,121 894a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 231,200,55,109,141,213,78,169 895a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 108,86,244,234,101,122,174,8 896a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 186,120,37,46,28,166,180,198 897a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 232,221,116,31,75,189,139,138 898a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 112,62,181,102,72,3,246,14 899a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 97,53,87,185,134,193,29,158 900a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 225,248,152,17,105,217,142,148 901a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 155,30,135,233,206,85,40,223 902a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 140,161,137,13,191,230,66,104 903a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 65,153,45,15,176,84,187,22 904a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 99,124,119,123,242,107,111,197 905a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 48,1,103,43,254,215,171,118 906a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 202,130,201,125,250,89,71,240 907a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 173,212,162,175,156,164,114,192 908a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 183,253,147,38,54,63,247,204 909a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 52,165,229,241,113,216,49,21 910a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 4,199,35,195,24,150,5,154 911a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 7,18,128,226,235,39,178,117 912a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 9,131,44,26,27,110,90,160 913a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 82,59,214,179,41,227,47,132 914a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 83,209,0,237,32,252,177,91 915a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 106,203,190,57,74,76,88,207 916a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 208,239,170,251,67,77,51,133 917a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 69,249,2,127,80,60,159,168 918a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 81,163,64,143,146,157,56,245 919a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 188,182,218,33,16,255,243,210 920a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 205,12,19,236,95,151,68,23 921a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 196,167,126,61,100,93,25,115 922a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 96,129,79,220,34,42,144,136 923a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 70,238,184,20,222,94,11,219 924a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 224,50,58,10,73,6,36,92 925a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 194,211,172,98,145,149,228,121 926a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 231,200,55,109,141,213,78,169 927a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 108,86,244,234,101,122,174,8 928a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 186,120,37,46,28,166,180,198 929a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 232,221,116,31,75,189,139,138 930a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 112,62,181,102,72,3,246,14 931a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 97,53,87,185,134,193,29,158 932a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 225,248,152,17,105,217,142,148 933a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 155,30,135,233,206,85,40,223 934a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 140,161,137,13,191,230,66,104 935a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte 65,153,45,15,176,84,187,22 9365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).byte 99,124,119,123,242,107,111,197 937.byte 48,1,103,43,254,215,171,118 938.byte 202,130,201,125,250,89,71,240 939.byte 173,212,162,175,156,164,114,192 940.byte 183,253,147,38,54,63,247,204 941.byte 52,165,229,241,113,216,49,21 942.byte 4,199,35,195,24,150,5,154 943.byte 7,18,128,226,235,39,178,117 944.byte 9,131,44,26,27,110,90,160 945.byte 82,59,214,179,41,227,47,132 946.byte 83,209,0,237,32,252,177,91 947.byte 106,203,190,57,74,76,88,207 948.byte 208,239,170,251,67,77,51,133 949.byte 69,249,2,127,80,60,159,168 950.byte 81,163,64,143,146,157,56,245 951.byte 188,182,218,33,16,255,243,210 952.byte 205,12,19,236,95,151,68,23 953.byte 196,167,126,61,100,93,25,115 954.byte 96,129,79,220,34,42,144,136 955.byte 70,238,184,20,222,94,11,219 956.byte 224,50,58,10,73,6,36,92 957.byte 194,211,172,98,145,149,228,121 958.byte 231,200,55,109,141,213,78,169 959.byte 108,86,244,234,101,122,174,8 960.byte 186,120,37,46,28,166,180,198 961.byte 232,221,116,31,75,189,139,138 962.byte 112,62,181,102,72,3,246,14 963.byte 97,53,87,185,134,193,29,158 964.byte 225,248,152,17,105,217,142,148 965.byte 155,30,135,233,206,85,40,223 966.byte 140,161,137,13,191,230,66,104 967.byte 65,153,45,15,176,84,187,22 968.long 1,2,4,8 969.long 16,32,64,128 970.long 27,54,0,0 971.long 0,0,0,0 972.size _x86_AES_encrypt,.-_x86_AES_encrypt 973.globl AES_encrypt 974.type AES_encrypt,@function 975.align 16 976AES_encrypt: 977.L_AES_encrypt_begin: 978 pushl %ebp 979 pushl %ebx 980 pushl %esi 981 pushl %edi 982 movl 20(%esp),%esi 983 movl 28(%esp),%edi 984 movl %esp,%eax 985 subl $36,%esp 986 andl $-64,%esp 987 leal -127(%edi),%ebx 988 subl %esp,%ebx 989 negl %ebx 990 andl $960,%ebx 991 subl %ebx,%esp 992 addl $4,%esp 993 movl %eax,28(%esp) 994 call .L004pic_point 995.L004pic_point: 996 popl %ebp 997 leal OPENSSL_ia32cap_P,%eax 998 leal .LAES_Te-.L004pic_point(%ebp),%ebp 999 leal 764(%esp),%ebx 1000 subl %ebp,%ebx 1001 andl $768,%ebx 1002 leal 2176(%ebp,%ebx,1),%ebp 1003 btl $25,(%eax) 1004 jnc .L005x86 1005 movq (%esi),%mm0 1006 movq 8(%esi),%mm4 1007 call _sse_AES_encrypt_compact 1008 movl 28(%esp),%esp 1009 movl 24(%esp),%esi 1010 movq %mm0,(%esi) 1011 movq %mm4,8(%esi) 1012 emms 1013 popl %edi 1014 popl %esi 1015 popl %ebx 1016 popl %ebp 1017 ret 1018.align 16 1019.L005x86: 1020 movl %ebp,24(%esp) 1021 movl (%esi),%eax 1022 movl 4(%esi),%ebx 1023 movl 8(%esi),%ecx 1024 movl 12(%esi),%edx 1025 call _x86_AES_encrypt_compact 1026 movl 28(%esp),%esp 1027 movl 24(%esp),%esi 1028 movl %eax,(%esi) 1029 movl %ebx,4(%esi) 1030 movl %ecx,8(%esi) 1031 movl %edx,12(%esi) 1032 popl %edi 1033 popl %esi 1034 popl %ebx 1035 popl %ebp 1036 ret 1037.size AES_encrypt,.-.L_AES_encrypt_begin 1038.type _x86_AES_decrypt_compact,@function 1039.align 16 1040_x86_AES_decrypt_compact: 1041 movl %edi,20(%esp) 1042 xorl (%edi),%eax 1043 xorl 4(%edi),%ebx 1044 xorl 8(%edi),%ecx 1045 xorl 12(%edi),%edx 1046 movl 240(%edi),%esi 1047 leal -2(%esi,%esi,1),%esi 1048 leal (%edi,%esi,8),%esi 1049 movl %esi,24(%esp) 1050 movl -128(%ebp),%edi 1051 movl -96(%ebp),%esi 1052 movl -64(%ebp),%edi 1053 movl -32(%ebp),%esi 1054 movl (%ebp),%edi 1055 movl 32(%ebp),%esi 1056 movl 64(%ebp),%edi 1057 movl 96(%ebp),%esi 1058.align 16 1059.L006loop: 1060 movl %eax,%esi 1061 andl $255,%esi 1062 movzbl -128(%ebp,%esi,1),%esi 1063 movzbl %dh,%edi 1064 movzbl -128(%ebp,%edi,1),%edi 1065 shll $8,%edi 1066 xorl %edi,%esi 1067 movl %ecx,%edi 1068 shrl $16,%edi 1069 andl $255,%edi 1070 movzbl -128(%ebp,%edi,1),%edi 1071 shll $16,%edi 1072 xorl %edi,%esi 1073 movl %ebx,%edi 1074 shrl $24,%edi 1075 movzbl -128(%ebp,%edi,1),%edi 1076 shll $24,%edi 1077 xorl %edi,%esi 1078 movl %esi,4(%esp) 1079 movl %ebx,%esi 1080 andl $255,%esi 1081 movzbl -128(%ebp,%esi,1),%esi 1082 movzbl %ah,%edi 1083 movzbl -128(%ebp,%edi,1),%edi 1084 shll $8,%edi 1085 xorl %edi,%esi 1086 movl %edx,%edi 1087 shrl $16,%edi 1088 andl $255,%edi 1089 movzbl -128(%ebp,%edi,1),%edi 1090 shll $16,%edi 1091 xorl %edi,%esi 1092 movl %ecx,%edi 1093 shrl $24,%edi 1094 movzbl -128(%ebp,%edi,1),%edi 1095 shll $24,%edi 1096 xorl %edi,%esi 1097 movl %esi,8(%esp) 1098 movl %ecx,%esi 1099 andl $255,%esi 1100 movzbl -128(%ebp,%esi,1),%esi 1101 movzbl %bh,%edi 1102 movzbl -128(%ebp,%edi,1),%edi 1103 shll $8,%edi 1104 xorl %edi,%esi 1105 movl %eax,%edi 1106 shrl $16,%edi 1107 andl $255,%edi 1108 movzbl -128(%ebp,%edi,1),%edi 1109 shll $16,%edi 1110 xorl %edi,%esi 1111 movl %edx,%edi 1112 shrl $24,%edi 1113 movzbl -128(%ebp,%edi,1),%edi 1114 shll $24,%edi 1115 xorl %edi,%esi 1116 andl $255,%edx 1117 movzbl -128(%ebp,%edx,1),%edx 1118 movzbl %ch,%ecx 1119 movzbl -128(%ebp,%ecx,1),%ecx 1120 shll $8,%ecx 1121 xorl %ecx,%edx 1122 movl %esi,%ecx 1123 shrl $16,%ebx 1124 andl $255,%ebx 1125 movzbl -128(%ebp,%ebx,1),%ebx 1126 shll $16,%ebx 1127 xorl %ebx,%edx 1128 shrl $24,%eax 1129 movzbl -128(%ebp,%eax,1),%eax 1130 shll $24,%eax 1131 xorl %eax,%edx 1132 movl %ecx,%esi 1133 andl $2155905152,%esi 1134 movl %esi,%edi 1135 shrl $7,%edi 1136 leal (%ecx,%ecx,1),%eax 1137 subl %edi,%esi 1138 andl $4278124286,%eax 1139 andl $454761243,%esi 1140 xorl %eax,%esi 1141 movl %esi,%eax 1142 andl $2155905152,%esi 1143 movl %esi,%edi 1144 shrl $7,%edi 1145 leal (%eax,%eax,1),%ebx 1146 subl %edi,%esi 1147 andl $4278124286,%ebx 1148 andl $454761243,%esi 1149 xorl %ecx,%eax 1150 xorl %ebx,%esi 1151 movl %esi,%ebx 1152 andl $2155905152,%esi 1153 movl %esi,%edi 1154 shrl $7,%edi 1155 leal (%ebx,%ebx,1),%ebp 1156 subl %edi,%esi 1157 andl $4278124286,%ebp 1158 andl $454761243,%esi 1159 xorl %ecx,%ebx 1160 roll $8,%ecx 1161 xorl %esi,%ebp 1162 xorl %eax,%ecx 1163 xorl %ebp,%eax 1164 roll $24,%eax 1165 xorl %ebx,%ecx 1166 xorl %ebp,%ebx 1167 roll $16,%ebx 1168 xorl %ebp,%ecx 1169 roll $8,%ebp 1170 xorl %eax,%ecx 1171 xorl %ebx,%ecx 1172 movl 4(%esp),%eax 1173 xorl %ebp,%ecx 1174 movl %ecx,12(%esp) 1175 movl %edx,%esi 1176 andl $2155905152,%esi 1177 movl %esi,%edi 1178 shrl $7,%edi 1179 leal (%edx,%edx,1),%ebx 1180 subl %edi,%esi 1181 andl $4278124286,%ebx 1182 andl $454761243,%esi 1183 xorl %ebx,%esi 1184 movl %esi,%ebx 1185 andl $2155905152,%esi 1186 movl %esi,%edi 1187 shrl $7,%edi 1188 leal (%ebx,%ebx,1),%ecx 1189 subl %edi,%esi 1190 andl $4278124286,%ecx 1191 andl $454761243,%esi 1192 xorl %edx,%ebx 1193 xorl %ecx,%esi 1194 movl %esi,%ecx 1195 andl $2155905152,%esi 1196 movl %esi,%edi 1197 shrl $7,%edi 1198 leal (%ecx,%ecx,1),%ebp 1199 subl %edi,%esi 1200 andl $4278124286,%ebp 1201 andl $454761243,%esi 1202 xorl %edx,%ecx 1203 roll $8,%edx 1204 xorl %esi,%ebp 1205 xorl %ebx,%edx 1206 xorl %ebp,%ebx 1207 roll $24,%ebx 1208 xorl %ecx,%edx 1209 xorl %ebp,%ecx 1210 roll $16,%ecx 1211 xorl %ebp,%edx 1212 roll $8,%ebp 1213 xorl %ebx,%edx 1214 xorl %ecx,%edx 1215 movl 8(%esp),%ebx 1216 xorl %ebp,%edx 1217 movl %edx,16(%esp) 1218 movl %eax,%esi 1219 andl $2155905152,%esi 1220 movl %esi,%edi 1221 shrl $7,%edi 1222 leal (%eax,%eax,1),%ecx 1223 subl %edi,%esi 1224 andl $4278124286,%ecx 1225 andl $454761243,%esi 1226 xorl %ecx,%esi 1227 movl %esi,%ecx 1228 andl $2155905152,%esi 1229 movl %esi,%edi 1230 shrl $7,%edi 1231 leal (%ecx,%ecx,1),%edx 1232 subl %edi,%esi 1233 andl $4278124286,%edx 1234 andl $454761243,%esi 1235 xorl %eax,%ecx 1236 xorl %edx,%esi 1237 movl %esi,%edx 1238 andl $2155905152,%esi 1239 movl %esi,%edi 1240 shrl $7,%edi 1241 leal (%edx,%edx,1),%ebp 1242 subl %edi,%esi 1243 andl $4278124286,%ebp 1244 andl $454761243,%esi 1245 xorl %eax,%edx 1246 roll $8,%eax 1247 xorl %esi,%ebp 1248 xorl %ecx,%eax 1249 xorl %ebp,%ecx 1250 roll $24,%ecx 1251 xorl %edx,%eax 1252 xorl %ebp,%edx 1253 roll $16,%edx 1254 xorl %ebp,%eax 1255 roll $8,%ebp 1256 xorl %ecx,%eax 1257 xorl %edx,%eax 1258 xorl %ebp,%eax 1259 movl %ebx,%esi 1260 andl $2155905152,%esi 1261 movl %esi,%edi 1262 shrl $7,%edi 1263 leal (%ebx,%ebx,1),%ecx 1264 subl %edi,%esi 1265 andl $4278124286,%ecx 1266 andl $454761243,%esi 1267 xorl %ecx,%esi 1268 movl %esi,%ecx 1269 andl $2155905152,%esi 1270 movl %esi,%edi 1271 shrl $7,%edi 1272 leal (%ecx,%ecx,1),%edx 1273 subl %edi,%esi 1274 andl $4278124286,%edx 1275 andl $454761243,%esi 1276 xorl %ebx,%ecx 1277 xorl %edx,%esi 1278 movl %esi,%edx 1279 andl $2155905152,%esi 1280 movl %esi,%edi 1281 shrl $7,%edi 1282 leal (%edx,%edx,1),%ebp 1283 subl %edi,%esi 1284 andl $4278124286,%ebp 1285 andl $454761243,%esi 1286 xorl %ebx,%edx 1287 roll $8,%ebx 1288 xorl %esi,%ebp 1289 xorl %ecx,%ebx 1290 xorl %ebp,%ecx 1291 roll $24,%ecx 1292 xorl %edx,%ebx 1293 xorl %ebp,%edx 1294 roll $16,%edx 1295 xorl %ebp,%ebx 1296 roll $8,%ebp 1297 xorl %ecx,%ebx 1298 xorl %edx,%ebx 1299 movl 12(%esp),%ecx 1300 xorl %ebp,%ebx 1301 movl 16(%esp),%edx 1302 movl 20(%esp),%edi 1303 movl 28(%esp),%ebp 1304 addl $16,%edi 1305 xorl (%edi),%eax 1306 xorl 4(%edi),%ebx 1307 xorl 8(%edi),%ecx 1308 xorl 12(%edi),%edx 1309 cmpl 24(%esp),%edi 1310 movl %edi,20(%esp) 1311 jb .L006loop 1312 movl %eax,%esi 1313 andl $255,%esi 1314 movzbl -128(%ebp,%esi,1),%esi 1315 movzbl %dh,%edi 1316 movzbl -128(%ebp,%edi,1),%edi 1317 shll $8,%edi 1318 xorl %edi,%esi 1319 movl %ecx,%edi 1320 shrl $16,%edi 1321 andl $255,%edi 1322 movzbl -128(%ebp,%edi,1),%edi 1323 shll $16,%edi 1324 xorl %edi,%esi 1325 movl %ebx,%edi 1326 shrl $24,%edi 1327 movzbl -128(%ebp,%edi,1),%edi 1328 shll $24,%edi 1329 xorl %edi,%esi 1330 movl %esi,4(%esp) 1331 movl %ebx,%esi 1332 andl $255,%esi 1333 movzbl -128(%ebp,%esi,1),%esi 1334 movzbl %ah,%edi 1335 movzbl -128(%ebp,%edi,1),%edi 1336 shll $8,%edi 1337 xorl %edi,%esi 1338 movl %edx,%edi 1339 shrl $16,%edi 1340 andl $255,%edi 1341 movzbl -128(%ebp,%edi,1),%edi 1342 shll $16,%edi 1343 xorl %edi,%esi 1344 movl %ecx,%edi 1345 shrl $24,%edi 1346 movzbl -128(%ebp,%edi,1),%edi 1347 shll $24,%edi 1348 xorl %edi,%esi 1349 movl %esi,8(%esp) 1350 movl %ecx,%esi 1351 andl $255,%esi 1352 movzbl -128(%ebp,%esi,1),%esi 1353 movzbl %bh,%edi 1354 movzbl -128(%ebp,%edi,1),%edi 1355 shll $8,%edi 1356 xorl %edi,%esi 1357 movl %eax,%edi 1358 shrl $16,%edi 1359 andl $255,%edi 1360 movzbl -128(%ebp,%edi,1),%edi 1361 shll $16,%edi 1362 xorl %edi,%esi 1363 movl %edx,%edi 1364 shrl $24,%edi 1365 movzbl -128(%ebp,%edi,1),%edi 1366 shll $24,%edi 1367 xorl %edi,%esi 1368 movl 20(%esp),%edi 1369 andl $255,%edx 1370 movzbl -128(%ebp,%edx,1),%edx 1371 movzbl %ch,%ecx 1372 movzbl -128(%ebp,%ecx,1),%ecx 1373 shll $8,%ecx 1374 xorl %ecx,%edx 1375 movl %esi,%ecx 1376 shrl $16,%ebx 1377 andl $255,%ebx 1378 movzbl -128(%ebp,%ebx,1),%ebx 1379 shll $16,%ebx 1380 xorl %ebx,%edx 1381 movl 8(%esp),%ebx 1382 shrl $24,%eax 1383 movzbl -128(%ebp,%eax,1),%eax 1384 shll $24,%eax 1385 xorl %eax,%edx 1386 movl 4(%esp),%eax 1387 xorl 16(%edi),%eax 1388 xorl 20(%edi),%ebx 1389 xorl 24(%edi),%ecx 1390 xorl 28(%edi),%edx 1391 ret 1392.size _x86_AES_decrypt_compact,.-_x86_AES_decrypt_compact 1393.type _sse_AES_decrypt_compact,@function 1394.align 16 1395_sse_AES_decrypt_compact: 1396 pxor (%edi),%mm0 1397 pxor 8(%edi),%mm4 1398 movl 240(%edi),%esi 1399 leal -2(%esi,%esi,1),%esi 1400 leal (%edi,%esi,8),%esi 1401 movl %esi,24(%esp) 1402 movl $454761243,%eax 1403 movl %eax,8(%esp) 1404 movl %eax,12(%esp) 1405 movl -128(%ebp),%eax 1406 movl -96(%ebp),%ebx 1407 movl -64(%ebp),%ecx 1408 movl -32(%ebp),%edx 1409 movl (%ebp),%eax 1410 movl 32(%ebp),%ebx 1411 movl 64(%ebp),%ecx 1412 movl 96(%ebp),%edx 1413.align 16 1414.L007loop: 1415 pshufw $12,%mm0,%mm1 1416 movd %mm1,%eax 1417 pshufw $9,%mm4,%mm5 1418 movzbl %al,%esi 1419 movzbl -128(%ebp,%esi,1),%ecx 1420 movd %mm5,%ebx 1421 movzbl %ah,%edx 1422 movzbl -128(%ebp,%edx,1),%edx 1423 shll $8,%edx 1424 pshufw $6,%mm0,%mm2 1425 movzbl %bl,%esi 1426 movzbl -128(%ebp,%esi,1),%esi 1427 shll $16,%esi 1428 orl %esi,%ecx 1429 shrl $16,%eax 1430 movzbl %bh,%esi 1431 movzbl -128(%ebp,%esi,1),%esi 1432 shll $24,%esi 1433 orl %esi,%edx 1434 shrl $16,%ebx 1435 pshufw $3,%mm4,%mm6 1436 movzbl %ah,%esi 1437 movzbl -128(%ebp,%esi,1),%esi 1438 shll $24,%esi 1439 orl %esi,%ecx 1440 movzbl %bh,%esi 1441 movzbl -128(%ebp,%esi,1),%esi 1442 shll $8,%esi 1443 orl %esi,%ecx 1444 movd %ecx,%mm0 1445 movzbl %al,%esi 1446 movd %mm2,%eax 1447 movzbl -128(%ebp,%esi,1),%ecx 1448 shll $16,%ecx 1449 movzbl %bl,%esi 1450 movd %mm6,%ebx 1451 movzbl -128(%ebp,%esi,1),%esi 1452 orl %esi,%ecx 1453 movzbl %al,%esi 1454 movzbl -128(%ebp,%esi,1),%esi 1455 orl %esi,%edx 1456 movzbl %bl,%esi 1457 movzbl -128(%ebp,%esi,1),%esi 1458 shll $16,%esi 1459 orl %esi,%edx 1460 movd %edx,%mm1 1461 movzbl %ah,%esi 1462 movzbl -128(%ebp,%esi,1),%edx 1463 shll $8,%edx 1464 movzbl %bh,%esi 1465 shrl $16,%eax 1466 movzbl -128(%ebp,%esi,1),%esi 1467 shll $24,%esi 1468 orl %esi,%edx 1469 shrl $16,%ebx 1470 punpckldq %mm1,%mm0 1471 movzbl %bh,%esi 1472 movzbl -128(%ebp,%esi,1),%esi 1473 shll $8,%esi 1474 orl %esi,%ecx 1475 andl $255,%ebx 1476 movzbl -128(%ebp,%ebx,1),%ebx 1477 orl %ebx,%edx 1478 movzbl %al,%esi 1479 movzbl -128(%ebp,%esi,1),%esi 1480 shll $16,%esi 1481 orl %esi,%edx 1482 movd %edx,%mm4 1483 movzbl %ah,%eax 1484 movzbl -128(%ebp,%eax,1),%eax 1485 shll $24,%eax 1486 orl %eax,%ecx 1487 movd %ecx,%mm5 1488 punpckldq %mm5,%mm4 1489 addl $16,%edi 1490 cmpl 24(%esp),%edi 1491 ja .L008out 1492 movq %mm0,%mm3 1493 movq %mm4,%mm7 1494 pshufw $228,%mm0,%mm2 1495 pshufw $228,%mm4,%mm6 1496 movq %mm0,%mm1 1497 movq %mm4,%mm5 1498 pshufw $177,%mm0,%mm0 1499 pshufw $177,%mm4,%mm4 1500 pslld $8,%mm2 1501 pslld $8,%mm6 1502 psrld $8,%mm3 1503 psrld $8,%mm7 1504 pxor %mm2,%mm0 1505 pxor %mm6,%mm4 1506 pxor %mm3,%mm0 1507 pxor %mm7,%mm4 1508 pslld $16,%mm2 1509 pslld $16,%mm6 1510 psrld $16,%mm3 1511 psrld $16,%mm7 1512 pxor %mm2,%mm0 1513 pxor %mm6,%mm4 1514 pxor %mm3,%mm0 1515 pxor %mm7,%mm4 1516 movq 8(%esp),%mm3 1517 pxor %mm2,%mm2 1518 pxor %mm6,%mm6 1519 pcmpgtb %mm1,%mm2 1520 pcmpgtb %mm5,%mm6 1521 pand %mm3,%mm2 1522 pand %mm3,%mm6 1523 paddb %mm1,%mm1 1524 paddb %mm5,%mm5 1525 pxor %mm2,%mm1 1526 pxor %mm6,%mm5 1527 movq %mm1,%mm3 1528 movq %mm5,%mm7 1529 movq %mm1,%mm2 1530 movq %mm5,%mm6 1531 pxor %mm1,%mm0 1532 pxor %mm5,%mm4 1533 pslld $24,%mm3 1534 pslld $24,%mm7 1535 psrld $8,%mm2 1536 psrld $8,%mm6 1537 pxor %mm3,%mm0 1538 pxor %mm7,%mm4 1539 pxor %mm2,%mm0 1540 pxor %mm6,%mm4 1541 movq 8(%esp),%mm2 1542 pxor %mm3,%mm3 1543 pxor %mm7,%mm7 1544 pcmpgtb %mm1,%mm3 1545 pcmpgtb %mm5,%mm7 1546 pand %mm2,%mm3 1547 pand %mm2,%mm7 1548 paddb %mm1,%mm1 1549 paddb %mm5,%mm5 1550 pxor %mm3,%mm1 1551 pxor %mm7,%mm5 1552 pshufw $177,%mm1,%mm3 1553 pshufw $177,%mm5,%mm7 1554 pxor %mm1,%mm0 1555 pxor %mm5,%mm4 1556 pxor %mm3,%mm0 1557 pxor %mm7,%mm4 1558 pxor %mm3,%mm3 1559 pxor %mm7,%mm7 1560 pcmpgtb %mm1,%mm3 1561 pcmpgtb %mm5,%mm7 1562 pand %mm2,%mm3 1563 pand %mm2,%mm7 1564 paddb %mm1,%mm1 1565 paddb %mm5,%mm5 1566 pxor %mm3,%mm1 1567 pxor %mm7,%mm5 1568 pxor %mm1,%mm0 1569 pxor %mm5,%mm4 1570 movq %mm1,%mm3 1571 movq %mm5,%mm7 1572 pshufw $177,%mm1,%mm2 1573 pshufw $177,%mm5,%mm6 1574 pxor %mm2,%mm0 1575 pxor %mm6,%mm4 1576 pslld $8,%mm1 1577 pslld $8,%mm5 1578 psrld $8,%mm3 1579 psrld $8,%mm7 1580 movq (%edi),%mm2 1581 movq 8(%edi),%mm6 1582 pxor %mm1,%mm0 1583 pxor %mm5,%mm4 1584 pxor %mm3,%mm0 1585 pxor %mm7,%mm4 1586 movl -128(%ebp),%eax 1587 pslld $16,%mm1 1588 pslld $16,%mm5 1589 movl -64(%ebp),%ebx 1590 psrld $16,%mm3 1591 psrld $16,%mm7 1592 movl (%ebp),%ecx 1593 pxor %mm1,%mm0 1594 pxor %mm5,%mm4 1595 movl 64(%ebp),%edx 1596 pxor %mm3,%mm0 1597 pxor %mm7,%mm4 1598 pxor %mm2,%mm0 1599 pxor %mm6,%mm4 1600 jmp .L007loop 1601.align 16 1602.L008out: 1603 pxor (%edi),%mm0 1604 pxor 8(%edi),%mm4 1605 ret 1606.size _sse_AES_decrypt_compact,.-_sse_AES_decrypt_compact 1607.type _x86_AES_decrypt,@function 1608.align 16 1609_x86_AES_decrypt: 1610 movl %edi,20(%esp) 1611 xorl (%edi),%eax 1612 xorl 4(%edi),%ebx 1613 xorl 8(%edi),%ecx 1614 xorl 12(%edi),%edx 1615 movl 240(%edi),%esi 1616 leal -2(%esi,%esi,1),%esi 1617 leal (%edi,%esi,8),%esi 1618 movl %esi,24(%esp) 1619.align 16 1620.L009loop: 1621 movl %eax,%esi 1622 andl $255,%esi 1623 movl (%ebp,%esi,8),%esi 1624 movzbl %dh,%edi 1625 xorl 3(%ebp,%edi,8),%esi 1626 movl %ecx,%edi 1627 shrl $16,%edi 1628 andl $255,%edi 1629 xorl 2(%ebp,%edi,8),%esi 1630 movl %ebx,%edi 1631 shrl $24,%edi 1632 xorl 1(%ebp,%edi,8),%esi 1633 movl %esi,4(%esp) 1634 1635 movl %ebx,%esi 1636 andl $255,%esi 1637 movl (%ebp,%esi,8),%esi 1638 movzbl %ah,%edi 1639 xorl 3(%ebp,%edi,8),%esi 1640 movl %edx,%edi 1641 shrl $16,%edi 1642 andl $255,%edi 1643 xorl 2(%ebp,%edi,8),%esi 1644 movl %ecx,%edi 1645 shrl $24,%edi 1646 xorl 1(%ebp,%edi,8),%esi 1647 movl %esi,8(%esp) 1648 1649 movl %ecx,%esi 1650 andl $255,%esi 1651 movl (%ebp,%esi,8),%esi 1652 movzbl %bh,%edi 1653 xorl 3(%ebp,%edi,8),%esi 1654 movl %eax,%edi 1655 shrl $16,%edi 1656 andl $255,%edi 1657 xorl 2(%ebp,%edi,8),%esi 1658 movl %edx,%edi 1659 shrl $24,%edi 1660 xorl 1(%ebp,%edi,8),%esi 1661 1662 movl 20(%esp),%edi 1663 andl $255,%edx 1664 movl (%ebp,%edx,8),%edx 1665 movzbl %ch,%ecx 1666 xorl 3(%ebp,%ecx,8),%edx 1667 movl %esi,%ecx 1668 shrl $16,%ebx 1669 andl $255,%ebx 1670 xorl 2(%ebp,%ebx,8),%edx 1671 movl 8(%esp),%ebx 1672 shrl $24,%eax 1673 xorl 1(%ebp,%eax,8),%edx 1674 movl 4(%esp),%eax 1675 1676 addl $16,%edi 1677 xorl (%edi),%eax 1678 xorl 4(%edi),%ebx 1679 xorl 8(%edi),%ecx 1680 xorl 12(%edi),%edx 1681 cmpl 24(%esp),%edi 1682 movl %edi,20(%esp) 1683 jb .L009loop 1684 leal 2176(%ebp),%ebp 1685 movl -128(%ebp),%edi 1686 movl -96(%ebp),%esi 1687 movl -64(%ebp),%edi 1688 movl -32(%ebp),%esi 1689 movl (%ebp),%edi 1690 movl 32(%ebp),%esi 1691 movl 64(%ebp),%edi 1692 movl 96(%ebp),%esi 1693 leal -128(%ebp),%ebp 1694 movl %eax,%esi 1695 andl $255,%esi 1696 movzbl (%ebp,%esi,1),%esi 1697 movzbl %dh,%edi 1698 movzbl (%ebp,%edi,1),%edi 1699 shll $8,%edi 1700 xorl %edi,%esi 1701 movl %ecx,%edi 1702 shrl $16,%edi 1703 andl $255,%edi 1704 movzbl (%ebp,%edi,1),%edi 1705 shll $16,%edi 1706 xorl %edi,%esi 1707 movl %ebx,%edi 1708 shrl $24,%edi 1709 movzbl (%ebp,%edi,1),%edi 1710 shll $24,%edi 1711 xorl %edi,%esi 1712 movl %esi,4(%esp) 1713 movl %ebx,%esi 1714 andl $255,%esi 1715 movzbl (%ebp,%esi,1),%esi 1716 movzbl %ah,%edi 1717 movzbl (%ebp,%edi,1),%edi 1718 shll $8,%edi 1719 xorl %edi,%esi 1720 movl %edx,%edi 1721 shrl $16,%edi 1722 andl $255,%edi 1723 movzbl (%ebp,%edi,1),%edi 1724 shll $16,%edi 1725 xorl %edi,%esi 1726 movl %ecx,%edi 1727 shrl $24,%edi 1728 movzbl (%ebp,%edi,1),%edi 1729 shll $24,%edi 1730 xorl %edi,%esi 1731 movl %esi,8(%esp) 1732 movl %ecx,%esi 1733 andl $255,%esi 1734 movzbl (%ebp,%esi,1),%esi 1735 movzbl %bh,%edi 1736 movzbl (%ebp,%edi,1),%edi 1737 shll $8,%edi 1738 xorl %edi,%esi 1739 movl %eax,%edi 1740 shrl $16,%edi 1741 andl $255,%edi 1742 movzbl (%ebp,%edi,1),%edi 1743 shll $16,%edi 1744 xorl %edi,%esi 1745 movl %edx,%edi 1746 shrl $24,%edi 1747 movzbl (%ebp,%edi,1),%edi 1748 shll $24,%edi 1749 xorl %edi,%esi 1750 movl 20(%esp),%edi 1751 andl $255,%edx 1752 movzbl (%ebp,%edx,1),%edx 1753 movzbl %ch,%ecx 1754 movzbl (%ebp,%ecx,1),%ecx 1755 shll $8,%ecx 1756 xorl %ecx,%edx 1757 movl %esi,%ecx 1758 shrl $16,%ebx 1759 andl $255,%ebx 1760 movzbl (%ebp,%ebx,1),%ebx 1761 shll $16,%ebx 1762 xorl %ebx,%edx 1763 movl 8(%esp),%ebx 1764 shrl $24,%eax 1765 movzbl (%ebp,%eax,1),%eax 1766 shll $24,%eax 1767 xorl %eax,%edx 1768 movl 4(%esp),%eax 1769 leal -2048(%ebp),%ebp 1770 addl $16,%edi 1771 xorl (%edi),%eax 1772 xorl 4(%edi),%ebx 1773 xorl 8(%edi),%ecx 1774 xorl 12(%edi),%edx 1775 ret 1776.align 64 1777.LAES_Td: 1778.long 1353184337,1353184337 1779.long 1399144830,1399144830 1780.long 3282310938,3282310938 1781.long 2522752826,2522752826 1782.long 3412831035,3412831035 1783.long 4047871263,4047871263 1784.long 2874735276,2874735276 1785.long 2466505547,2466505547 1786.long 1442459680,1442459680 1787.long 4134368941,4134368941 1788.long 2440481928,2440481928 1789.long 625738485,625738485 1790.long 4242007375,4242007375 1791.long 3620416197,3620416197 1792.long 2151953702,2151953702 1793.long 2409849525,2409849525 1794.long 1230680542,1230680542 1795.long 1729870373,1729870373 1796.long 2551114309,2551114309 1797.long 3787521629,3787521629 1798.long 41234371,41234371 1799.long 317738113,317738113 1800.long 2744600205,2744600205 1801.long 3338261355,3338261355 1802.long 3881799427,3881799427 1803.long 2510066197,2510066197 1804.long 3950669247,3950669247 1805.long 3663286933,3663286933 1806.long 763608788,763608788 1807.long 3542185048,3542185048 1808.long 694804553,694804553 1809.long 1154009486,1154009486 1810.long 1787413109,1787413109 1811.long 2021232372,2021232372 1812.long 1799248025,1799248025 1813.long 3715217703,3715217703 1814.long 3058688446,3058688446 1815.long 397248752,397248752 1816.long 1722556617,1722556617 1817.long 3023752829,3023752829 1818.long 407560035,407560035 1819.long 2184256229,2184256229 1820.long 1613975959,1613975959 1821.long 1165972322,1165972322 1822.long 3765920945,3765920945 1823.long 2226023355,2226023355 1824.long 480281086,480281086 1825.long 2485848313,2485848313 1826.long 1483229296,1483229296 1827.long 436028815,436028815 1828.long 2272059028,2272059028 1829.long 3086515026,3086515026 1830.long 601060267,601060267 1831.long 3791801202,3791801202 1832.long 1468997603,1468997603 1833.long 715871590,715871590 1834.long 120122290,120122290 1835.long 63092015,63092015 1836.long 2591802758,2591802758 1837.long 2768779219,2768779219 1838.long 4068943920,4068943920 1839.long 2997206819,2997206819 1840.long 3127509762,3127509762 1841.long 1552029421,1552029421 1842.long 723308426,723308426 1843.long 2461301159,2461301159 1844.long 4042393587,4042393587 1845.long 2715969870,2715969870 1846.long 3455375973,3455375973 1847.long 3586000134,3586000134 1848.long 526529745,526529745 1849.long 2331944644,2331944644 1850.long 2639474228,2639474228 1851.long 2689987490,2689987490 1852.long 853641733,853641733 1853.long 1978398372,1978398372 1854.long 971801355,971801355 1855.long 2867814464,2867814464 1856.long 111112542,111112542 1857.long 1360031421,1360031421 1858.long 4186579262,4186579262 1859.long 1023860118,1023860118 1860.long 2919579357,2919579357 1861.long 1186850381,1186850381 1862.long 3045938321,3045938321 1863.long 90031217,90031217 1864.long 1876166148,1876166148 1865.long 4279586912,4279586912 1866.long 620468249,620468249 1867.long 2548678102,2548678102 1868.long 3426959497,3426959497 1869.long 2006899047,2006899047 1870.long 3175278768,3175278768 1871.long 2290845959,2290845959 1872.long 945494503,945494503 1873.long 3689859193,3689859193 1874.long 1191869601,1191869601 1875.long 3910091388,3910091388 1876.long 3374220536,3374220536 1877.long 0,0 1878.long 2206629897,2206629897 1879.long 1223502642,1223502642 1880.long 2893025566,2893025566 1881.long 1316117100,1316117100 1882.long 4227796733,4227796733 1883.long 1446544655,1446544655 1884.long 517320253,517320253 1885.long 658058550,658058550 1886.long 1691946762,1691946762 1887.long 564550760,564550760 1888.long 3511966619,3511966619 1889.long 976107044,976107044 1890.long 2976320012,2976320012 1891.long 266819475,266819475 1892.long 3533106868,3533106868 1893.long 2660342555,2660342555 1894.long 1338359936,1338359936 1895.long 2720062561,2720062561 1896.long 1766553434,1766553434 1897.long 370807324,370807324 1898.long 179999714,179999714 1899.long 3844776128,3844776128 1900.long 1138762300,1138762300 1901.long 488053522,488053522 1902.long 185403662,185403662 1903.long 2915535858,2915535858 1904.long 3114841645,3114841645 1905.long 3366526484,3366526484 1906.long 2233069911,2233069911 1907.long 1275557295,1275557295 1908.long 3151862254,3151862254 1909.long 4250959779,4250959779 1910.long 2670068215,2670068215 1911.long 3170202204,3170202204 1912.long 3309004356,3309004356 1913.long 880737115,880737115 1914.long 1982415755,1982415755 1915.long 3703972811,3703972811 1916.long 1761406390,1761406390 1917.long 1676797112,1676797112 1918.long 3403428311,3403428311 1919.long 277177154,277177154 1920.long 1076008723,1076008723 1921.long 538035844,538035844 1922.long 2099530373,2099530373 1923.long 4164795346,4164795346 1924.long 288553390,288553390 1925.long 1839278535,1839278535 1926.long 1261411869,1261411869 1927.long 4080055004,4080055004 1928.long 3964831245,3964831245 1929.long 3504587127,3504587127 1930.long 1813426987,1813426987 1931.long 2579067049,2579067049 1932.long 4199060497,4199060497 1933.long 577038663,577038663 1934.long 3297574056,3297574056 1935.long 440397984,440397984 1936.long 3626794326,3626794326 1937.long 4019204898,4019204898 1938.long 3343796615,3343796615 1939.long 3251714265,3251714265 1940.long 4272081548,4272081548 1941.long 906744984,906744984 1942.long 3481400742,3481400742 1943.long 685669029,685669029 1944.long 646887386,646887386 1945.long 2764025151,2764025151 1946.long 3835509292,3835509292 1947.long 227702864,227702864 1948.long 2613862250,2613862250 1949.long 1648787028,1648787028 1950.long 3256061430,3256061430 1951.long 3904428176,3904428176 1952.long 1593260334,1593260334 1953.long 4121936770,4121936770 1954.long 3196083615,3196083615 1955.long 2090061929,2090061929 1956.long 2838353263,2838353263 1957.long 3004310991,3004310991 1958.long 999926984,999926984 1959.long 2809993232,2809993232 1960.long 1852021992,1852021992 1961.long 2075868123,2075868123 1962.long 158869197,158869197 1963.long 4095236462,4095236462 1964.long 28809964,28809964 1965.long 2828685187,2828685187 1966.long 1701746150,1701746150 1967.long 2129067946,2129067946 1968.long 147831841,147831841 1969.long 3873969647,3873969647 1970.long 3650873274,3650873274 1971.long 3459673930,3459673930 1972.long 3557400554,3557400554 1973.long 3598495785,3598495785 1974.long 2947720241,2947720241 1975.long 824393514,824393514 1976.long 815048134,815048134 1977.long 3227951669,3227951669 1978.long 935087732,935087732 1979.long 2798289660,2798289660 1980.long 2966458592,2966458592 1981.long 366520115,366520115 1982.long 1251476721,1251476721 1983.long 4158319681,4158319681 1984.long 240176511,240176511 1985.long 804688151,804688151 1986.long 2379631990,2379631990 1987.long 1303441219,1303441219 1988.long 1414376140,1414376140 1989.long 3741619940,3741619940 1990.long 3820343710,3820343710 1991.long 461924940,461924940 1992.long 3089050817,3089050817 1993.long 2136040774,2136040774 1994.long 82468509,82468509 1995.long 1563790337,1563790337 1996.long 1937016826,1937016826 1997.long 776014843,776014843 1998.long 1511876531,1511876531 1999.long 1389550482,1389550482 2000.long 861278441,861278441 2001.long 323475053,323475053 2002.long 2355222426,2355222426 2003.long 2047648055,2047648055 2004.long 2383738969,2383738969 2005.long 2302415851,2302415851 2006.long 3995576782,3995576782 2007.long 902390199,902390199 2008.long 3991215329,3991215329 2009.long 1018251130,1018251130 2010.long 1507840668,1507840668 2011.long 1064563285,1064563285 2012.long 2043548696,2043548696 2013.long 3208103795,3208103795 2014.long 3939366739,3939366739 2015.long 1537932639,1537932639 2016.long 342834655,342834655 2017.long 2262516856,2262516856 2018.long 2180231114,2180231114 2019.long 1053059257,1053059257 2020.long 741614648,741614648 2021.long 1598071746,1598071746 2022.long 1925389590,1925389590 2023.long 203809468,203809468 2024.long 2336832552,2336832552 2025.long 1100287487,1100287487 2026.long 1895934009,1895934009 2027.long 3736275976,3736275976 2028.long 2632234200,2632234200 2029.long 2428589668,2428589668 2030.long 1636092795,1636092795 2031.long 1890988757,1890988757 2032.long 1952214088,1952214088 2033.long 1113045200,1113045200 2034.byte 82,9,106,213,48,54,165,56 2035.byte 191,64,163,158,129,243,215,251 2036.byte 124,227,57,130,155,47,255,135 2037.byte 52,142,67,68,196,222,233,203 2038.byte 84,123,148,50,166,194,35,61 2039.byte 238,76,149,11,66,250,195,78 2040.byte 8,46,161,102,40,217,36,178 2041.byte 118,91,162,73,109,139,209,37 2042.byte 114,248,246,100,134,104,152,22 2043.byte 212,164,92,204,93,101,182,146 2044.byte 108,112,72,80,253,237,185,218 2045.byte 94,21,70,87,167,141,157,132 2046.byte 144,216,171,0,140,188,211,10 2047.byte 247,228,88,5,184,179,69,6 2048.byte 208,44,30,143,202,63,15,2 2049.byte 193,175,189,3,1,19,138,107 2050.byte 58,145,17,65,79,103,220,234 2051.byte 151,242,207,206,240,180,230,115 2052.byte 150,172,116,34,231,173,53,133 2053.byte 226,249,55,232,28,117,223,110 2054.byte 71,241,26,113,29,41,197,137 2055.byte 111,183,98,14,170,24,190,27 2056.byte 252,86,62,75,198,210,121,32 2057.byte 154,219,192,254,120,205,90,244 2058.byte 31,221,168,51,136,7,199,49 2059.byte 177,18,16,89,39,128,236,95 2060.byte 96,81,127,169,25,181,74,13 2061.byte 45,229,122,159,147,201,156,239 2062.byte 160,224,59,77,174,42,245,176 2063.byte 200,235,187,60,131,83,153,97 2064.byte 23,43,4,126,186,119,214,38 2065.byte 225,105,20,99,85,33,12,125 2066.byte 82,9,106,213,48,54,165,56 2067.byte 191,64,163,158,129,243,215,251 2068.byte 124,227,57,130,155,47,255,135 2069.byte 52,142,67,68,196,222,233,203 2070.byte 84,123,148,50,166,194,35,61 2071.byte 238,76,149,11,66,250,195,78 2072.byte 8,46,161,102,40,217,36,178 2073.byte 118,91,162,73,109,139,209,37 2074.byte 114,248,246,100,134,104,152,22 2075.byte 212,164,92,204,93,101,182,146 2076.byte 108,112,72,80,253,237,185,218 2077.byte 94,21,70,87,167,141,157,132 2078.byte 144,216,171,0,140,188,211,10 2079.byte 247,228,88,5,184,179,69,6 2080.byte 208,44,30,143,202,63,15,2 2081.byte 193,175,189,3,1,19,138,107 2082.byte 58,145,17,65,79,103,220,234 2083.byte 151,242,207,206,240,180,230,115 2084.byte 150,172,116,34,231,173,53,133 2085.byte 226,249,55,232,28,117,223,110 2086.byte 71,241,26,113,29,41,197,137 2087.byte 111,183,98,14,170,24,190,27 2088.byte 252,86,62,75,198,210,121,32 2089.byte 154,219,192,254,120,205,90,244 2090.byte 31,221,168,51,136,7,199,49 2091.byte 177,18,16,89,39,128,236,95 2092.byte 96,81,127,169,25,181,74,13 2093.byte 45,229,122,159,147,201,156,239 2094.byte 160,224,59,77,174,42,245,176 2095.byte 200,235,187,60,131,83,153,97 2096.byte 23,43,4,126,186,119,214,38 2097.byte 225,105,20,99,85,33,12,125 2098.byte 82,9,106,213,48,54,165,56 2099.byte 191,64,163,158,129,243,215,251 2100.byte 124,227,57,130,155,47,255,135 2101.byte 52,142,67,68,196,222,233,203 2102.byte 84,123,148,50,166,194,35,61 2103.byte 238,76,149,11,66,250,195,78 2104.byte 8,46,161,102,40,217,36,178 2105.byte 118,91,162,73,109,139,209,37 2106.byte 114,248,246,100,134,104,152,22 2107.byte 212,164,92,204,93,101,182,146 2108.byte 108,112,72,80,253,237,185,218 2109.byte 94,21,70,87,167,141,157,132 2110.byte 144,216,171,0,140,188,211,10 2111.byte 247,228,88,5,184,179,69,6 2112.byte 208,44,30,143,202,63,15,2 2113.byte 193,175,189,3,1,19,138,107 2114.byte 58,145,17,65,79,103,220,234 2115.byte 151,242,207,206,240,180,230,115 2116.byte 150,172,116,34,231,173,53,133 2117.byte 226,249,55,232,28,117,223,110 2118.byte 71,241,26,113,29,41,197,137 2119.byte 111,183,98,14,170,24,190,27 2120.byte 252,86,62,75,198,210,121,32 2121.byte 154,219,192,254,120,205,90,244 2122.byte 31,221,168,51,136,7,199,49 2123.byte 177,18,16,89,39,128,236,95 2124.byte 96,81,127,169,25,181,74,13 2125.byte 45,229,122,159,147,201,156,239 2126.byte 160,224,59,77,174,42,245,176 2127.byte 200,235,187,60,131,83,153,97 2128.byte 23,43,4,126,186,119,214,38 2129.byte 225,105,20,99,85,33,12,125 2130.byte 82,9,106,213,48,54,165,56 2131.byte 191,64,163,158,129,243,215,251 2132.byte 124,227,57,130,155,47,255,135 2133.byte 52,142,67,68,196,222,233,203 2134.byte 84,123,148,50,166,194,35,61 2135.byte 238,76,149,11,66,250,195,78 2136.byte 8,46,161,102,40,217,36,178 2137.byte 118,91,162,73,109,139,209,37 2138.byte 114,248,246,100,134,104,152,22 2139.byte 212,164,92,204,93,101,182,146 2140.byte 108,112,72,80,253,237,185,218 2141.byte 94,21,70,87,167,141,157,132 2142.byte 144,216,171,0,140,188,211,10 2143.byte 247,228,88,5,184,179,69,6 2144.byte 208,44,30,143,202,63,15,2 2145.byte 193,175,189,3,1,19,138,107 2146.byte 58,145,17,65,79,103,220,234 2147.byte 151,242,207,206,240,180,230,115 2148.byte 150,172,116,34,231,173,53,133 2149.byte 226,249,55,232,28,117,223,110 2150.byte 71,241,26,113,29,41,197,137 2151.byte 111,183,98,14,170,24,190,27 2152.byte 252,86,62,75,198,210,121,32 2153.byte 154,219,192,254,120,205,90,244 2154.byte 31,221,168,51,136,7,199,49 2155.byte 177,18,16,89,39,128,236,95 2156.byte 96,81,127,169,25,181,74,13 2157.byte 45,229,122,159,147,201,156,239 2158.byte 160,224,59,77,174,42,245,176 2159.byte 200,235,187,60,131,83,153,97 2160.byte 23,43,4,126,186,119,214,38 2161.byte 225,105,20,99,85,33,12,125 2162.size _x86_AES_decrypt,.-_x86_AES_decrypt 2163.globl AES_decrypt 2164.type AES_decrypt,@function 2165.align 16 2166AES_decrypt: 2167.L_AES_decrypt_begin: 2168 pushl %ebp 2169 pushl %ebx 2170 pushl %esi 2171 pushl %edi 2172 movl 20(%esp),%esi 2173 movl 28(%esp),%edi 2174 movl %esp,%eax 2175 subl $36,%esp 2176 andl $-64,%esp 2177 leal -127(%edi),%ebx 2178 subl %esp,%ebx 2179 negl %ebx 2180 andl $960,%ebx 2181 subl %ebx,%esp 2182 addl $4,%esp 2183 movl %eax,28(%esp) 2184 call .L010pic_point 2185.L010pic_point: 2186 popl %ebp 2187 leal OPENSSL_ia32cap_P,%eax 2188 leal .LAES_Td-.L010pic_point(%ebp),%ebp 2189 leal 764(%esp),%ebx 2190 subl %ebp,%ebx 2191 andl $768,%ebx 2192 leal 2176(%ebp,%ebx,1),%ebp 2193 btl $25,(%eax) 2194 jnc .L011x86 2195 movq (%esi),%mm0 2196 movq 8(%esi),%mm4 2197 call _sse_AES_decrypt_compact 2198 movl 28(%esp),%esp 2199 movl 24(%esp),%esi 2200 movq %mm0,(%esi) 2201 movq %mm4,8(%esi) 2202 emms 2203 popl %edi 2204 popl %esi 2205 popl %ebx 2206 popl %ebp 2207 ret 2208.align 16 2209.L011x86: 2210 movl %ebp,24(%esp) 2211 movl (%esi),%eax 2212 movl 4(%esi),%ebx 2213 movl 8(%esi),%ecx 2214 movl 12(%esi),%edx 2215 call _x86_AES_decrypt_compact 2216 movl 28(%esp),%esp 2217 movl 24(%esp),%esi 2218 movl %eax,(%esi) 2219 movl %ebx,4(%esi) 2220 movl %ecx,8(%esi) 2221 movl %edx,12(%esi) 2222 popl %edi 2223 popl %esi 2224 popl %ebx 2225 popl %ebp 2226 ret 2227.size AES_decrypt,.-.L_AES_decrypt_begin 2228.globl AES_cbc_encrypt 2229.type AES_cbc_encrypt,@function 2230.align 16 2231AES_cbc_encrypt: 2232.L_AES_cbc_encrypt_begin: 2233 pushl %ebp 2234 pushl %ebx 2235 pushl %esi 2236 pushl %edi 2237 movl 28(%esp),%ecx 2238 cmpl $0,%ecx 2239 je .L012drop_out 2240 call .L013pic_point 2241.L013pic_point: 2242 popl %ebp 2243 leal OPENSSL_ia32cap_P,%eax 2244 cmpl $0,40(%esp) 2245 leal .LAES_Te-.L013pic_point(%ebp),%ebp 2246 jne .L014picked_te 2247 leal .LAES_Td-.LAES_Te(%ebp),%ebp 2248.L014picked_te: 2249 pushfl 2250 cld 2251 cmpl $512,%ecx 2252 jb .L015slow_way 2253 testl $15,%ecx 2254 jnz .L015slow_way 2255 btl $28,(%eax) 2256 jc .L015slow_way 2257 leal -324(%esp),%esi 2258 andl $-64,%esi 2259 movl %ebp,%eax 2260 leal 2304(%ebp),%ebx 2261 movl %esi,%edx 2262 andl $4095,%eax 2263 andl $4095,%ebx 2264 andl $4095,%edx 2265 cmpl %ebx,%edx 2266 jb .L016tbl_break_out 2267 subl %ebx,%edx 2268 subl %edx,%esi 2269 jmp .L017tbl_ok 2270.align 4 2271.L016tbl_break_out: 2272 subl %eax,%edx 2273 andl $4095,%edx 2274 addl $384,%edx 2275 subl %edx,%esi 2276.align 4 2277.L017tbl_ok: 2278 leal 24(%esp),%edx 2279 xchgl %esi,%esp 2280 addl $4,%esp 2281 movl %ebp,24(%esp) 2282 movl %esi,28(%esp) 2283 movl (%edx),%eax 2284 movl 4(%edx),%ebx 2285 movl 12(%edx),%edi 2286 movl 16(%edx),%esi 2287 movl 20(%edx),%edx 2288 movl %eax,32(%esp) 2289 movl %ebx,36(%esp) 2290 movl %ecx,40(%esp) 2291 movl %edi,44(%esp) 2292 movl %esi,48(%esp) 2293 movl $0,316(%esp) 2294 movl %edi,%ebx 2295 movl $61,%ecx 2296 subl %ebp,%ebx 2297 movl %edi,%esi 2298 andl $4095,%ebx 2299 leal 76(%esp),%edi 2300 cmpl $2304,%ebx 2301 jb .L018do_copy 2302 cmpl $3852,%ebx 2303 jb .L019skip_copy 2304.align 4 2305.L018do_copy: 2306 movl %edi,44(%esp) 2307.long 2784229001 2308.L019skip_copy: 2309 movl $16,%edi 2310.align 4 2311.L020prefetch_tbl: 2312 movl (%ebp),%eax 2313 movl 32(%ebp),%ebx 2314 movl 64(%ebp),%ecx 2315 movl 96(%ebp),%esi 2316 leal 128(%ebp),%ebp 2317 subl $1,%edi 2318 jnz .L020prefetch_tbl 2319 subl $2048,%ebp 2320 movl 32(%esp),%esi 2321 movl 48(%esp),%edi 2322 cmpl $0,%edx 2323 je .L021fast_decrypt 2324 movl (%edi),%eax 2325 movl 4(%edi),%ebx 2326.align 16 2327.L022fast_enc_loop: 2328 movl 8(%edi),%ecx 2329 movl 12(%edi),%edx 2330 xorl (%esi),%eax 2331 xorl 4(%esi),%ebx 2332 xorl 8(%esi),%ecx 2333 xorl 12(%esi),%edx 2334 movl 44(%esp),%edi 2335 call _x86_AES_encrypt 2336 movl 32(%esp),%esi 2337 movl 36(%esp),%edi 2338 movl %eax,(%edi) 2339 movl %ebx,4(%edi) 2340 movl %ecx,8(%edi) 2341 movl %edx,12(%edi) 2342 leal 16(%esi),%esi 2343 movl 40(%esp),%ecx 2344 movl %esi,32(%esp) 2345 leal 16(%edi),%edx 2346 movl %edx,36(%esp) 2347 subl $16,%ecx 2348 movl %ecx,40(%esp) 2349 jnz .L022fast_enc_loop 2350 movl 48(%esp),%esi 2351 movl 8(%edi),%ecx 2352 movl 12(%edi),%edx 2353 movl %eax,(%esi) 2354 movl %ebx,4(%esi) 2355 movl %ecx,8(%esi) 2356 movl %edx,12(%esi) 2357 cmpl $0,316(%esp) 2358 movl 44(%esp),%edi 2359 je .L023skip_ezero 2360 movl $60,%ecx 2361 xorl %eax,%eax 2362.align 4 2363.long 2884892297 2364.L023skip_ezero: 2365 movl 28(%esp),%esp 2366 popfl 2367.L012drop_out: 2368 popl %edi 2369 popl %esi 2370 popl %ebx 2371 popl %ebp 2372 ret 2373 pushfl 2374.align 16 2375.L021fast_decrypt: 2376 cmpl 36(%esp),%esi 2377 je .L024fast_dec_in_place 2378 movl %edi,52(%esp) 2379.align 4 2380.align 16 2381.L025fast_dec_loop: 2382 movl (%esi),%eax 2383 movl 4(%esi),%ebx 2384 movl 8(%esi),%ecx 2385 movl 12(%esi),%edx 2386 movl 44(%esp),%edi 2387 call _x86_AES_decrypt 2388 movl 52(%esp),%edi 2389 movl 40(%esp),%esi 2390 xorl (%edi),%eax 2391 xorl 4(%edi),%ebx 2392 xorl 8(%edi),%ecx 2393 xorl 12(%edi),%edx 2394 movl 36(%esp),%edi 2395 movl 32(%esp),%esi 2396 movl %eax,(%edi) 2397 movl %ebx,4(%edi) 2398 movl %ecx,8(%edi) 2399 movl %edx,12(%edi) 2400 movl 40(%esp),%ecx 2401 movl %esi,52(%esp) 2402 leal 16(%esi),%esi 2403 movl %esi,32(%esp) 2404 leal 16(%edi),%edi 2405 movl %edi,36(%esp) 2406 subl $16,%ecx 2407 movl %ecx,40(%esp) 2408 jnz .L025fast_dec_loop 2409 movl 52(%esp),%edi 2410 movl 48(%esp),%esi 2411 movl (%edi),%eax 2412 movl 4(%edi),%ebx 2413 movl 8(%edi),%ecx 2414 movl 12(%edi),%edx 2415 movl %eax,(%esi) 2416 movl %ebx,4(%esi) 2417 movl %ecx,8(%esi) 2418 movl %edx,12(%esi) 2419 jmp .L026fast_dec_out 2420.align 16 2421.L024fast_dec_in_place: 2422.L027fast_dec_in_place_loop: 2423 movl (%esi),%eax 2424 movl 4(%esi),%ebx 2425 movl 8(%esi),%ecx 2426 movl 12(%esi),%edx 2427 leal 60(%esp),%edi 2428 movl %eax,(%edi) 2429 movl %ebx,4(%edi) 2430 movl %ecx,8(%edi) 2431 movl %edx,12(%edi) 2432 movl 44(%esp),%edi 2433 call _x86_AES_decrypt 2434 movl 48(%esp),%edi 2435 movl 36(%esp),%esi 2436 xorl (%edi),%eax 2437 xorl 4(%edi),%ebx 2438 xorl 8(%edi),%ecx 2439 xorl 12(%edi),%edx 2440 movl %eax,(%esi) 2441 movl %ebx,4(%esi) 2442 movl %ecx,8(%esi) 2443 movl %edx,12(%esi) 2444 leal 16(%esi),%esi 2445 movl %esi,36(%esp) 2446 leal 60(%esp),%esi 2447 movl (%esi),%eax 2448 movl 4(%esi),%ebx 2449 movl 8(%esi),%ecx 2450 movl 12(%esi),%edx 2451 movl %eax,(%edi) 2452 movl %ebx,4(%edi) 2453 movl %ecx,8(%edi) 2454 movl %edx,12(%edi) 2455 movl 32(%esp),%esi 2456 movl 40(%esp),%ecx 2457 leal 16(%esi),%esi 2458 movl %esi,32(%esp) 2459 subl $16,%ecx 2460 movl %ecx,40(%esp) 2461 jnz .L027fast_dec_in_place_loop 2462.align 4 2463.L026fast_dec_out: 2464 cmpl $0,316(%esp) 2465 movl 44(%esp),%edi 2466 je .L028skip_dzero 2467 movl $60,%ecx 2468 xorl %eax,%eax 2469.align 4 2470.long 2884892297 2471.L028skip_dzero: 2472 movl 28(%esp),%esp 2473 popfl 2474 popl %edi 2475 popl %esi 2476 popl %ebx 2477 popl %ebp 2478 ret 2479 pushfl 2480.align 16 2481.L015slow_way: 2482 movl (%eax),%eax 2483 movl 36(%esp),%edi 2484 leal -80(%esp),%esi 2485 andl $-64,%esi 2486 leal -143(%edi),%ebx 2487 subl %esi,%ebx 2488 negl %ebx 2489 andl $960,%ebx 2490 subl %ebx,%esi 2491 leal 768(%esi),%ebx 2492 subl %ebp,%ebx 2493 andl $768,%ebx 2494 leal 2176(%ebp,%ebx,1),%ebp 2495 leal 24(%esp),%edx 2496 xchgl %esi,%esp 2497 addl $4,%esp 2498 movl %ebp,24(%esp) 2499 movl %esi,28(%esp) 2500 movl %eax,52(%esp) 2501 movl (%edx),%eax 2502 movl 4(%edx),%ebx 2503 movl 16(%edx),%esi 2504 movl 20(%edx),%edx 2505 movl %eax,32(%esp) 2506 movl %ebx,36(%esp) 2507 movl %ecx,40(%esp) 2508 movl %edi,44(%esp) 2509 movl %esi,48(%esp) 2510 movl %esi,%edi 2511 movl %eax,%esi 2512 cmpl $0,%edx 2513 je .L029slow_decrypt 2514 cmpl $16,%ecx 2515 movl %ebx,%edx 2516 jb .L030slow_enc_tail 2517 btl $25,52(%esp) 2518 jnc .L031slow_enc_x86 2519 movq (%edi),%mm0 2520 movq 8(%edi),%mm4 2521.align 16 2522.L032slow_enc_loop_sse: 2523 pxor (%esi),%mm0 2524 pxor 8(%esi),%mm4 2525 movl 44(%esp),%edi 2526 call _sse_AES_encrypt_compact 2527 movl 32(%esp),%esi 2528 movl 36(%esp),%edi 2529 movl 40(%esp),%ecx 2530 movq %mm0,(%edi) 2531 movq %mm4,8(%edi) 2532 leal 16(%esi),%esi 2533 movl %esi,32(%esp) 2534 leal 16(%edi),%edx 2535 movl %edx,36(%esp) 2536 subl $16,%ecx 2537 cmpl $16,%ecx 2538 movl %ecx,40(%esp) 2539 jae .L032slow_enc_loop_sse 2540 testl $15,%ecx 2541 jnz .L030slow_enc_tail 2542 movl 48(%esp),%esi 2543 movq %mm0,(%esi) 2544 movq %mm4,8(%esi) 2545 emms 2546 movl 28(%esp),%esp 2547 popfl 2548 popl %edi 2549 popl %esi 2550 popl %ebx 2551 popl %ebp 2552 ret 2553 pushfl 2554.align 16 2555.L031slow_enc_x86: 2556 movl (%edi),%eax 2557 movl 4(%edi),%ebx 2558.align 4 2559.L033slow_enc_loop_x86: 2560 movl 8(%edi),%ecx 2561 movl 12(%edi),%edx 2562 xorl (%esi),%eax 2563 xorl 4(%esi),%ebx 2564 xorl 8(%esi),%ecx 2565 xorl 12(%esi),%edx 2566 movl 44(%esp),%edi 2567 call _x86_AES_encrypt_compact 2568 movl 32(%esp),%esi 2569 movl 36(%esp),%edi 2570 movl %eax,(%edi) 2571 movl %ebx,4(%edi) 2572 movl %ecx,8(%edi) 2573 movl %edx,12(%edi) 2574 movl 40(%esp),%ecx 2575 leal 16(%esi),%esi 2576 movl %esi,32(%esp) 2577 leal 16(%edi),%edx 2578 movl %edx,36(%esp) 2579 subl $16,%ecx 2580 cmpl $16,%ecx 2581 movl %ecx,40(%esp) 2582 jae .L033slow_enc_loop_x86 2583 testl $15,%ecx 2584 jnz .L030slow_enc_tail 2585 movl 48(%esp),%esi 2586 movl 8(%edi),%ecx 2587 movl 12(%edi),%edx 2588 movl %eax,(%esi) 2589 movl %ebx,4(%esi) 2590 movl %ecx,8(%esi) 2591 movl %edx,12(%esi) 2592 movl 28(%esp),%esp 2593 popfl 2594 popl %edi 2595 popl %esi 2596 popl %ebx 2597 popl %ebp 2598 ret 2599 pushfl 2600.align 16 2601.L030slow_enc_tail: 2602 emms 2603 movl %edx,%edi 2604 movl $16,%ebx 2605 subl %ecx,%ebx 2606 cmpl %esi,%edi 2607 je .L034enc_in_place 2608.align 4 2609.long 2767451785 2610 jmp .L035enc_skip_in_place 2611.L034enc_in_place: 2612 leal (%edi,%ecx,1),%edi 2613.L035enc_skip_in_place: 2614 movl %ebx,%ecx 2615 xorl %eax,%eax 2616.align 4 2617.long 2868115081 2618 movl 48(%esp),%edi 2619 movl %edx,%esi 2620 movl (%edi),%eax 2621 movl 4(%edi),%ebx 2622 movl $16,40(%esp) 2623 jmp .L033slow_enc_loop_x86 2624.align 16 2625.L029slow_decrypt: 2626 btl $25,52(%esp) 2627 jnc .L036slow_dec_loop_x86 2628.align 4 2629.L037slow_dec_loop_sse: 2630 movq (%esi),%mm0 2631 movq 8(%esi),%mm4 2632 movl 44(%esp),%edi 2633 call _sse_AES_decrypt_compact 2634 movl 32(%esp),%esi 2635 leal 60(%esp),%eax 2636 movl 36(%esp),%ebx 2637 movl 40(%esp),%ecx 2638 movl 48(%esp),%edi 2639 movq (%esi),%mm1 2640 movq 8(%esi),%mm5 2641 pxor (%edi),%mm0 2642 pxor 8(%edi),%mm4 2643 movq %mm1,(%edi) 2644 movq %mm5,8(%edi) 2645 subl $16,%ecx 2646 jc .L038slow_dec_partial_sse 2647 movq %mm0,(%ebx) 2648 movq %mm4,8(%ebx) 2649 leal 16(%ebx),%ebx 2650 movl %ebx,36(%esp) 2651 leal 16(%esi),%esi 2652 movl %esi,32(%esp) 2653 movl %ecx,40(%esp) 2654 jnz .L037slow_dec_loop_sse 2655 emms 2656 movl 28(%esp),%esp 2657 popfl 2658 popl %edi 2659 popl %esi 2660 popl %ebx 2661 popl %ebp 2662 ret 2663 pushfl 2664.align 16 2665.L038slow_dec_partial_sse: 2666 movq %mm0,(%eax) 2667 movq %mm4,8(%eax) 2668 emms 2669 addl $16,%ecx 2670 movl %ebx,%edi 2671 movl %eax,%esi 2672.align 4 2673.long 2767451785 2674 movl 28(%esp),%esp 2675 popfl 2676 popl %edi 2677 popl %esi 2678 popl %ebx 2679 popl %ebp 2680 ret 2681 pushfl 2682.align 16 2683.L036slow_dec_loop_x86: 2684 movl (%esi),%eax 2685 movl 4(%esi),%ebx 2686 movl 8(%esi),%ecx 2687 movl 12(%esi),%edx 2688 leal 60(%esp),%edi 2689 movl %eax,(%edi) 2690 movl %ebx,4(%edi) 2691 movl %ecx,8(%edi) 2692 movl %edx,12(%edi) 2693 movl 44(%esp),%edi 2694 call _x86_AES_decrypt_compact 2695 movl 48(%esp),%edi 2696 movl 40(%esp),%esi 2697 xorl (%edi),%eax 2698 xorl 4(%edi),%ebx 2699 xorl 8(%edi),%ecx 2700 xorl 12(%edi),%edx 2701 subl $16,%esi 2702 jc .L039slow_dec_partial_x86 2703 movl %esi,40(%esp) 2704 movl 36(%esp),%esi 2705 movl %eax,(%esi) 2706 movl %ebx,4(%esi) 2707 movl %ecx,8(%esi) 2708 movl %edx,12(%esi) 2709 leal 16(%esi),%esi 2710 movl %esi,36(%esp) 2711 leal 60(%esp),%esi 2712 movl (%esi),%eax 2713 movl 4(%esi),%ebx 2714 movl 8(%esi),%ecx 2715 movl 12(%esi),%edx 2716 movl %eax,(%edi) 2717 movl %ebx,4(%edi) 2718 movl %ecx,8(%edi) 2719 movl %edx,12(%edi) 2720 movl 32(%esp),%esi 2721 leal 16(%esi),%esi 2722 movl %esi,32(%esp) 2723 jnz .L036slow_dec_loop_x86 2724 movl 28(%esp),%esp 2725 popfl 2726 popl %edi 2727 popl %esi 2728 popl %ebx 2729 popl %ebp 2730 ret 2731 pushfl 2732.align 16 2733.L039slow_dec_partial_x86: 2734 leal 60(%esp),%esi 2735 movl %eax,(%esi) 2736 movl %ebx,4(%esi) 2737 movl %ecx,8(%esi) 2738 movl %edx,12(%esi) 2739 movl 32(%esp),%esi 2740 movl (%esi),%eax 2741 movl 4(%esi),%ebx 2742 movl 8(%esi),%ecx 2743 movl 12(%esi),%edx 2744 movl %eax,(%edi) 2745 movl %ebx,4(%edi) 2746 movl %ecx,8(%edi) 2747 movl %edx,12(%edi) 2748 movl 40(%esp),%ecx 2749 movl 36(%esp),%edi 2750 leal 60(%esp),%esi 2751.align 4 2752.long 2767451785 2753 movl 28(%esp),%esp 2754 popfl 2755 popl %edi 2756 popl %esi 2757 popl %ebx 2758 popl %ebp 2759 ret 2760.size AES_cbc_encrypt,.-.L_AES_cbc_encrypt_begin 2761.type _x86_AES_set_encrypt_key,@function 2762.align 16 2763_x86_AES_set_encrypt_key: 2764 pushl %ebp 2765 pushl %ebx 2766 pushl %esi 2767 pushl %edi 2768 movl 24(%esp),%esi 2769 movl 32(%esp),%edi 2770 testl $-1,%esi 2771 jz .L040badpointer 2772 testl $-1,%edi 2773 jz .L040badpointer 2774 call .L041pic_point 2775.L041pic_point: 2776 popl %ebp 2777 leal .LAES_Te-.L041pic_point(%ebp),%ebp 2778 leal 2176(%ebp),%ebp 2779 movl -128(%ebp),%eax 2780 movl -96(%ebp),%ebx 2781 movl -64(%ebp),%ecx 2782 movl -32(%ebp),%edx 2783 movl (%ebp),%eax 2784 movl 32(%ebp),%ebx 2785 movl 64(%ebp),%ecx 2786 movl 96(%ebp),%edx 2787 movl 28(%esp),%ecx 2788 cmpl $128,%ecx 2789 je .L04210rounds 2790 cmpl $192,%ecx 2791 je .L04312rounds 2792 cmpl $256,%ecx 2793 je .L04414rounds 2794 movl $-2,%eax 2795 jmp .L045exit 2796.L04210rounds: 2797 movl (%esi),%eax 2798 movl 4(%esi),%ebx 2799 movl 8(%esi),%ecx 2800 movl 12(%esi),%edx 2801 movl %eax,(%edi) 2802 movl %ebx,4(%edi) 2803 movl %ecx,8(%edi) 2804 movl %edx,12(%edi) 2805 xorl %ecx,%ecx 2806 jmp .L04610shortcut 2807.align 4 2808.L04710loop: 2809 movl (%edi),%eax 2810 movl 12(%edi),%edx 2811.L04610shortcut: 2812 movzbl %dl,%esi 2813 movzbl -128(%ebp,%esi,1),%ebx 2814 movzbl %dh,%esi 2815 shll $24,%ebx 2816 xorl %ebx,%eax 2817 movzbl -128(%ebp,%esi,1),%ebx 2818 shrl $16,%edx 2819 movzbl %dl,%esi 2820 xorl %ebx,%eax 2821 movzbl -128(%ebp,%esi,1),%ebx 2822 movzbl %dh,%esi 2823 shll $8,%ebx 2824 xorl %ebx,%eax 2825 movzbl -128(%ebp,%esi,1),%ebx 2826 shll $16,%ebx 2827 xorl %ebx,%eax 2828 xorl 896(%ebp,%ecx,4),%eax 2829 movl %eax,16(%edi) 2830 xorl 4(%edi),%eax 2831 movl %eax,20(%edi) 2832 xorl 8(%edi),%eax 2833 movl %eax,24(%edi) 2834 xorl 12(%edi),%eax 2835 movl %eax,28(%edi) 2836 incl %ecx 2837 addl $16,%edi 2838 cmpl $10,%ecx 2839 jl .L04710loop 2840 movl $10,80(%edi) 2841 xorl %eax,%eax 2842 jmp .L045exit 2843.L04312rounds: 2844 movl (%esi),%eax 2845 movl 4(%esi),%ebx 2846 movl 8(%esi),%ecx 2847 movl 12(%esi),%edx 2848 movl %eax,(%edi) 2849 movl %ebx,4(%edi) 2850 movl %ecx,8(%edi) 2851 movl %edx,12(%edi) 2852 movl 16(%esi),%ecx 2853 movl 20(%esi),%edx 2854 movl %ecx,16(%edi) 2855 movl %edx,20(%edi) 2856 xorl %ecx,%ecx 2857 jmp .L04812shortcut 2858.align 4 2859.L04912loop: 2860 movl (%edi),%eax 2861 movl 20(%edi),%edx 2862.L04812shortcut: 2863 movzbl %dl,%esi 2864 movzbl -128(%ebp,%esi,1),%ebx 2865 movzbl %dh,%esi 2866 shll $24,%ebx 2867 xorl %ebx,%eax 2868 movzbl -128(%ebp,%esi,1),%ebx 2869 shrl $16,%edx 2870 movzbl %dl,%esi 2871 xorl %ebx,%eax 2872 movzbl -128(%ebp,%esi,1),%ebx 2873 movzbl %dh,%esi 2874 shll $8,%ebx 2875 xorl %ebx,%eax 2876 movzbl -128(%ebp,%esi,1),%ebx 2877 shll $16,%ebx 2878 xorl %ebx,%eax 2879 xorl 896(%ebp,%ecx,4),%eax 2880 movl %eax,24(%edi) 2881 xorl 4(%edi),%eax 2882 movl %eax,28(%edi) 2883 xorl 8(%edi),%eax 2884 movl %eax,32(%edi) 2885 xorl 12(%edi),%eax 2886 movl %eax,36(%edi) 2887 cmpl $7,%ecx 2888 je .L05012break 2889 incl %ecx 2890 xorl 16(%edi),%eax 2891 movl %eax,40(%edi) 2892 xorl 20(%edi),%eax 2893 movl %eax,44(%edi) 2894 addl $24,%edi 2895 jmp .L04912loop 2896.L05012break: 2897 movl $12,72(%edi) 2898 xorl %eax,%eax 2899 jmp .L045exit 2900.L04414rounds: 2901 movl (%esi),%eax 2902 movl 4(%esi),%ebx 2903 movl 8(%esi),%ecx 2904 movl 12(%esi),%edx 2905 movl %eax,(%edi) 2906 movl %ebx,4(%edi) 2907 movl %ecx,8(%edi) 2908 movl %edx,12(%edi) 2909 movl 16(%esi),%eax 2910 movl 20(%esi),%ebx 2911 movl 24(%esi),%ecx 2912 movl 28(%esi),%edx 2913 movl %eax,16(%edi) 2914 movl %ebx,20(%edi) 2915 movl %ecx,24(%edi) 2916 movl %edx,28(%edi) 2917 xorl %ecx,%ecx 2918 jmp .L05114shortcut 2919.align 4 2920.L05214loop: 2921 movl 28(%edi),%edx 2922.L05114shortcut: 2923 movl (%edi),%eax 2924 movzbl %dl,%esi 2925 movzbl -128(%ebp,%esi,1),%ebx 2926 movzbl %dh,%esi 2927 shll $24,%ebx 2928 xorl %ebx,%eax 2929 movzbl -128(%ebp,%esi,1),%ebx 2930 shrl $16,%edx 2931 movzbl %dl,%esi 2932 xorl %ebx,%eax 2933 movzbl -128(%ebp,%esi,1),%ebx 2934 movzbl %dh,%esi 2935 shll $8,%ebx 2936 xorl %ebx,%eax 2937 movzbl -128(%ebp,%esi,1),%ebx 2938 shll $16,%ebx 2939 xorl %ebx,%eax 2940 xorl 896(%ebp,%ecx,4),%eax 2941 movl %eax,32(%edi) 2942 xorl 4(%edi),%eax 2943 movl %eax,36(%edi) 2944 xorl 8(%edi),%eax 2945 movl %eax,40(%edi) 2946 xorl 12(%edi),%eax 2947 movl %eax,44(%edi) 2948 cmpl $6,%ecx 2949 je .L05314break 2950 incl %ecx 2951 movl %eax,%edx 2952 movl 16(%edi),%eax 2953 movzbl %dl,%esi 2954 movzbl -128(%ebp,%esi,1),%ebx 2955 movzbl %dh,%esi 2956 xorl %ebx,%eax 2957 movzbl -128(%ebp,%esi,1),%ebx 2958 shrl $16,%edx 2959 shll $8,%ebx 2960 movzbl %dl,%esi 2961 xorl %ebx,%eax 2962 movzbl -128(%ebp,%esi,1),%ebx 2963 movzbl %dh,%esi 2964 shll $16,%ebx 2965 xorl %ebx,%eax 2966 movzbl -128(%ebp,%esi,1),%ebx 2967 shll $24,%ebx 2968 xorl %ebx,%eax 2969 movl %eax,48(%edi) 2970 xorl 20(%edi),%eax 2971 movl %eax,52(%edi) 2972 xorl 24(%edi),%eax 2973 movl %eax,56(%edi) 2974 xorl 28(%edi),%eax 2975 movl %eax,60(%edi) 2976 addl $32,%edi 2977 jmp .L05214loop 2978.L05314break: 2979 movl $14,48(%edi) 2980 xorl %eax,%eax 2981 jmp .L045exit 2982.L040badpointer: 2983 movl $-1,%eax 2984.L045exit: 2985 popl %edi 2986 popl %esi 2987 popl %ebx 2988 popl %ebp 2989 ret 2990.size _x86_AES_set_encrypt_key,.-_x86_AES_set_encrypt_key 2991.globl private_AES_set_encrypt_key 2992.type private_AES_set_encrypt_key,@function 2993.align 16 2994private_AES_set_encrypt_key: 2995.L_private_AES_set_encrypt_key_begin: 2996 call _x86_AES_set_encrypt_key 2997 ret 2998.size private_AES_set_encrypt_key,.-.L_private_AES_set_encrypt_key_begin 2999.globl private_AES_set_decrypt_key 3000.type private_AES_set_decrypt_key,@function 3001.align 16 3002private_AES_set_decrypt_key: 3003.L_private_AES_set_decrypt_key_begin: 3004 call _x86_AES_set_encrypt_key 3005 cmpl $0,%eax 3006 je .L054proceed 3007 ret 3008.L054proceed: 3009 pushl %ebp 3010 pushl %ebx 3011 pushl %esi 3012 pushl %edi 3013 movl 28(%esp),%esi 3014 movl 240(%esi),%ecx 3015 leal (,%ecx,4),%ecx 3016 leal (%esi,%ecx,4),%edi 3017.align 4 3018.L055invert: 3019 movl (%esi),%eax 3020 movl 4(%esi),%ebx 3021 movl (%edi),%ecx 3022 movl 4(%edi),%edx 3023 movl %eax,(%edi) 3024 movl %ebx,4(%edi) 3025 movl %ecx,(%esi) 3026 movl %edx,4(%esi) 3027 movl 8(%esi),%eax 3028 movl 12(%esi),%ebx 3029 movl 8(%edi),%ecx 3030 movl 12(%edi),%edx 3031 movl %eax,8(%edi) 3032 movl %ebx,12(%edi) 3033 movl %ecx,8(%esi) 3034 movl %edx,12(%esi) 3035 addl $16,%esi 3036 subl $16,%edi 3037 cmpl %edi,%esi 3038 jne .L055invert 3039 movl 28(%esp),%edi 3040 movl 240(%edi),%esi 3041 leal -2(%esi,%esi,1),%esi 3042 leal (%edi,%esi,8),%esi 3043 movl %esi,28(%esp) 3044 movl 16(%edi),%eax 3045.align 4 3046.L056permute: 3047 addl $16,%edi 3048 movl %eax,%esi 3049 andl $2155905152,%esi 3050 movl %esi,%ebp 3051 shrl $7,%ebp 3052 leal (%eax,%eax,1),%ebx 3053 subl %ebp,%esi 3054 andl $4278124286,%ebx 3055 andl $454761243,%esi 3056 xorl %ebx,%esi 3057 movl %esi,%ebx 3058 andl $2155905152,%esi 3059 movl %esi,%ebp 3060 shrl $7,%ebp 3061 leal (%ebx,%ebx,1),%ecx 3062 subl %ebp,%esi 3063 andl $4278124286,%ecx 3064 andl $454761243,%esi 3065 xorl %eax,%ebx 3066 xorl %ecx,%esi 3067 movl %esi,%ecx 3068 andl $2155905152,%esi 3069 movl %esi,%ebp 3070 shrl $7,%ebp 3071 leal (%ecx,%ecx,1),%edx 3072 xorl %eax,%ecx 3073 subl %ebp,%esi 3074 andl $4278124286,%edx 3075 andl $454761243,%esi 3076 roll $8,%eax 3077 xorl %esi,%edx 3078 movl 4(%edi),%ebp 3079 xorl %ebx,%eax 3080 xorl %edx,%ebx 3081 xorl %ecx,%eax 3082 roll $24,%ebx 3083 xorl %edx,%ecx 3084 xorl %edx,%eax 3085 roll $16,%ecx 3086 xorl %ebx,%eax 3087 roll $8,%edx 3088 xorl %ecx,%eax 3089 movl %ebp,%ebx 3090 xorl %edx,%eax 3091 movl %eax,(%edi) 3092 movl %ebx,%esi 3093 andl $2155905152,%esi 3094 movl %esi,%ebp 3095 shrl $7,%ebp 3096 leal (%ebx,%ebx,1),%ecx 3097 subl %ebp,%esi 3098 andl $4278124286,%ecx 3099 andl $454761243,%esi 3100 xorl %ecx,%esi 3101 movl %esi,%ecx 3102 andl $2155905152,%esi 3103 movl %esi,%ebp 3104 shrl $7,%ebp 3105 leal (%ecx,%ecx,1),%edx 3106 subl %ebp,%esi 3107 andl $4278124286,%edx 3108 andl $454761243,%esi 3109 xorl %ebx,%ecx 3110 xorl %edx,%esi 3111 movl %esi,%edx 3112 andl $2155905152,%esi 3113 movl %esi,%ebp 3114 shrl $7,%ebp 3115 leal (%edx,%edx,1),%eax 3116 xorl %ebx,%edx 3117 subl %ebp,%esi 3118 andl $4278124286,%eax 3119 andl $454761243,%esi 3120 roll $8,%ebx 3121 xorl %esi,%eax 3122 movl 8(%edi),%ebp 3123 xorl %ecx,%ebx 3124 xorl %eax,%ecx 3125 xorl %edx,%ebx 3126 roll $24,%ecx 3127 xorl %eax,%edx 3128 xorl %eax,%ebx 3129 roll $16,%edx 3130 xorl %ecx,%ebx 3131 roll $8,%eax 3132 xorl %edx,%ebx 3133 movl %ebp,%ecx 3134 xorl %eax,%ebx 3135 movl %ebx,4(%edi) 3136 movl %ecx,%esi 3137 andl $2155905152,%esi 3138 movl %esi,%ebp 3139 shrl $7,%ebp 3140 leal (%ecx,%ecx,1),%edx 3141 subl %ebp,%esi 3142 andl $4278124286,%edx 3143 andl $454761243,%esi 3144 xorl %edx,%esi 3145 movl %esi,%edx 3146 andl $2155905152,%esi 3147 movl %esi,%ebp 3148 shrl $7,%ebp 3149 leal (%edx,%edx,1),%eax 3150 subl %ebp,%esi 3151 andl $4278124286,%eax 3152 andl $454761243,%esi 3153 xorl %ecx,%edx 3154 xorl %eax,%esi 3155 movl %esi,%eax 3156 andl $2155905152,%esi 3157 movl %esi,%ebp 3158 shrl $7,%ebp 3159 leal (%eax,%eax,1),%ebx 3160 xorl %ecx,%eax 3161 subl %ebp,%esi 3162 andl $4278124286,%ebx 3163 andl $454761243,%esi 3164 roll $8,%ecx 3165 xorl %esi,%ebx 3166 movl 12(%edi),%ebp 3167 xorl %edx,%ecx 3168 xorl %ebx,%edx 3169 xorl %eax,%ecx 3170 roll $24,%edx 3171 xorl %ebx,%eax 3172 xorl %ebx,%ecx 3173 roll $16,%eax 3174 xorl %edx,%ecx 3175 roll $8,%ebx 3176 xorl %eax,%ecx 3177 movl %ebp,%edx 3178 xorl %ebx,%ecx 3179 movl %ecx,8(%edi) 3180 movl %edx,%esi 3181 andl $2155905152,%esi 3182 movl %esi,%ebp 3183 shrl $7,%ebp 3184 leal (%edx,%edx,1),%eax 3185 subl %ebp,%esi 3186 andl $4278124286,%eax 3187 andl $454761243,%esi 3188 xorl %eax,%esi 3189 movl %esi,%eax 3190 andl $2155905152,%esi 3191 movl %esi,%ebp 3192 shrl $7,%ebp 3193 leal (%eax,%eax,1),%ebx 3194 subl %ebp,%esi 3195 andl $4278124286,%ebx 3196 andl $454761243,%esi 3197 xorl %edx,%eax 3198 xorl %ebx,%esi 3199 movl %esi,%ebx 3200 andl $2155905152,%esi 3201 movl %esi,%ebp 3202 shrl $7,%ebp 3203 leal (%ebx,%ebx,1),%ecx 3204 xorl %edx,%ebx 3205 subl %ebp,%esi 3206 andl $4278124286,%ecx 3207 andl $454761243,%esi 3208 roll $8,%edx 3209 xorl %esi,%ecx 3210 movl 16(%edi),%ebp 3211 xorl %eax,%edx 3212 xorl %ecx,%eax 3213 xorl %ebx,%edx 3214 roll $24,%eax 3215 xorl %ecx,%ebx 3216 xorl %ecx,%edx 3217 roll $16,%ebx 3218 xorl %eax,%edx 3219 roll $8,%ecx 3220 xorl %ebx,%edx 3221 movl %ebp,%eax 3222 xorl %ecx,%edx 3223 movl %edx,12(%edi) 3224 cmpl 28(%esp),%edi 3225 jb .L056permute 3226 xorl %eax,%eax 3227 popl %edi 3228 popl %esi 3229 popl %ebx 3230 popl %ebp 3231 ret 3232.size private_AES_set_decrypt_key,.-.L_private_AES_set_decrypt_key_begin 3233.byte 65,69,83,32,102,111,114,32,120,56,54,44,32,67,82,89 3234.byte 80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114 3235.byte 111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 3236.comm OPENSSL_ia32cap_P,8,4 3237