call .L005pic_point
.L005pic_point:
popl %ebp
- cmpl $0, 40(%esp)
+ pushfl
+ cld
+ cmpl $0, 44(%esp)
je .L006DECRYPT
leal AES_Te-.L005pic_point(%ebp),%ebp
- leal -44(%esp), %edi
+ leal -324(%esp), %edi
andl $-64, %edi
- movl %ebp, %ebx
+ movl %ebp, %eax
+ leal 2048(%ebp), %ebx
movl %edi, %edx
+ andl $4095, %eax
andl $4095, %ebx
andl $4095, %edx
cmpl %ebx, %edx
- jb .L007te_ok
- leal 2048(%ebx), %esi
- cmpl %esi, %edx
- jae .L007te_ok
- subl %edx, %ebx
- leal -64(%edi,%ebx), %edi
-.L007te_ok:
- movl 20(%esp), %eax
- movl 24(%esp), %ebx
- movl 32(%esp), %edx
- movl 36(%esp), %esi
+ jb .L007te_break_out
+ subl %ebx, %edx
+ subl %edx, %edi
+ jmp .L008te_ok
+.L007te_break_out:
+ subl %eax, %edx
+ andl $4095, %edx
+ addl $384, %edx
+ subl %edx, %edi
+.align 4
+.L008te_ok:
+ movl 24(%esp), %eax
+ movl 28(%esp), %ebx
+ movl 36(%esp), %edx
+ movl 40(%esp), %esi
xchgl %edi, %esp
addl $4, %esp
movl %edi, 16(%esp)
movl %ecx, 28(%esp)
movl %edx, 32(%esp)
movl %esi, 36(%esp)
+ movl $65, %ecx
+ movl %edx, %esi
+ leal 60(%esp), %edi
+ movl %edi, 32(%esp)
+.align 4
+ .long 4136216051
movl %eax, %esi
movl $16, %edi
.align 4
-.L008prefetch_te:
+.L009prefetch_te:
movl (%ebp), %eax
movl 32(%ebp), %ebx
movl 64(%ebp), %ecx
movl 96(%ebp), %edx
leal 128(%ebp), %ebp
decl %edi
- jnz .L008prefetch_te
+ jnz .L009prefetch_te
subl $2048, %ebp
movl 28(%esp), %ecx
movl 36(%esp), %edi
testl $4294967280, %ecx
- jz .L009enc_tail
+ jz .L010enc_tail
movl (%edi), %eax
movl 4(%edi), %ebx
.align 4
-.L010enc_loop:
+.L011enc_loop:
movl 8(%edi), %ecx
movl 12(%edi), %edx
xorl (%esi), %eax
subl $16, %ecx
testl $4294967280, %ecx
movl %ecx, 28(%esp)
- jnz .L010enc_loop
+ jnz .L011enc_loop
testl $15, %ecx
- jnz .L009enc_tail
+ jnz .L010enc_tail
movl 36(%esp), %esi
movl 8(%edi), %ecx
movl 12(%edi), %edx
movl %ebx, 4(%esi)
movl %ecx, 8(%esi)
movl %edx, 12(%esi)
+ movl 32(%esp), %edi
movl 16(%esp), %esp
+ movl $64, %ecx
+ xorl %eax, %eax
+.align 4
+ .long 4136217587
+ popfl
.L004enc_out:
popl %edi
popl %esi
popl %ebx
popl %ebp
ret
+ pushfl
.align 4
-.L009enc_tail:
+.L010enc_tail:
pushl %edi
- pushfl
movl 24(%esp), %edi
movl $16, %ebx
subl %ecx, %ebx
cmpl %esi, %edi
- je .L011enc_in_place
- .long 2426729468
- jmp .L012enc_skip_in_place
-.L011enc_in_place:
+ je .L012enc_in_place
+.align 4
+ .long 4136215795
+ jmp .L013enc_skip_in_place
+.L012enc_in_place:
leal (%edi,%ecx), %edi
-.L012enc_skip_in_place:
+.L013enc_skip_in_place:
movl %ebx, %ecx
xorl %eax, %eax
- .long 2427122684
- popfl
+.align 4
+ .long 4136217331
popl %edi
movl 24(%esp), %esi
movl (%edi), %eax
movl 4(%edi), %ebx
movl $16, 28(%esp)
- jmp .L010enc_loop
+ jmp .L011enc_loop
.align 4
.L006DECRYPT:
leal AES_Td-.L005pic_point(%ebp),%ebp
- leal -64(%esp), %edi
+ leal -324(%esp), %edi
andl $-64, %edi
- movl %ebp, %ebx
+ movl %ebp, %eax
+ leal 3072(%ebp), %ebx
movl %edi, %edx
+ andl $4095, %eax
andl $4095, %ebx
andl $4095, %edx
cmpl %ebx, %edx
- jb .L013td_ok
- leal 3072(%ebx), %esi
- cmpl %esi, %edx
- jae .L013td_ok
- subl %edx, %ebx
- leal -64(%edi,%ebx), %edi
-.L013td_ok:
- movl 20(%esp), %eax
- movl 24(%esp), %ebx
- movl 32(%esp), %edx
- movl 36(%esp), %esi
+ jb .L014td_break_out
+ subl %ebx, %edx
+ subl %edx, %edi
+ jmp .L015td_ok
+.L014td_break_out:
+ subl %eax, %edx
+ andl $4095, %edx
+ addl $384, %edx
+ subl %edx, %edi
+.align 4
+.L015td_ok:
+ movl 24(%esp), %eax
+ movl 28(%esp), %ebx
+ movl 36(%esp), %edx
+ movl 40(%esp), %esi
xchgl %edi, %esp
addl $4, %esp
movl %edi, 16(%esp)
movl %ecx, 28(%esp)
movl %edx, 32(%esp)
movl %esi, 36(%esp)
+ movl $65, %ecx
+ movl %edx, %esi
+ leal 60(%esp), %edi
+ movl %edi, 32(%esp)
+.align 4
+ .long 4136216051
movl %eax, %esi
movl $24, %edi
.align 4
-.L014prefetch_td:
+.L016prefetch_td:
movl (%ebp), %eax
movl 32(%ebp), %ebx
movl 64(%ebp), %ecx
movl 96(%ebp), %edx
leal 128(%ebp), %ebp
decl %edi
- jnz .L014prefetch_td
+ jnz .L016prefetch_td
subl $3072, %ebp
cmpl 24(%esp), %esi
- je .L015dec_in_place
+ je .L017dec_in_place
movl 36(%esp), %edi
movl %edi, 40(%esp)
.align 4
-.L016dec_loop:
+.L018dec_loop:
movl (%esi), %eax
movl 4(%esi), %ebx
movl 8(%esi), %ecx
xorl 8(%edi), %ecx
xorl 12(%edi), %edx
subl $16, %esi
- jc .L017dec_partial
+ jc .L019dec_partial
movl %esi, 28(%esp)
movl 20(%esp), %esi
movl 24(%esp), %edi
movl %esi, 20(%esp)
leal 16(%edi), %edi
movl %edi, 24(%esp)
- jnz .L016dec_loop
+ jnz .L018dec_loop
movl 40(%esp), %edi
-.L018dec_end:
+.L020dec_end:
movl 36(%esp), %esi
movl (%edi), %eax
movl 4(%edi), %ebx
movl %ebx, 4(%esi)
movl %ecx, 8(%esi)
movl %edx, 12(%esi)
- jmp .L019dec_out
+ jmp .L021dec_out
.align 4
-.L017dec_partial:
+.L019dec_partial:
leal 44(%esp), %edi
movl %eax, (%edi)
movl %ebx, 4(%edi)
leal 16(%esi), %ecx
movl %edi, %esi
movl 24(%esp), %edi
- pushfl
- .long 2426729468
- popfl
+ .long 4136215795
movl 20(%esp), %edi
- jmp .L018dec_end
+ jmp .L020dec_end
.align 4
-.L015dec_in_place:
-.L020dec_in_place_loop:
+.L017dec_in_place:
+.L022dec_in_place_loop:
leal 44(%esp), %edi
movl (%esi), %eax
movl 4(%esi), %ebx
movl %esi, 20(%esp)
movl 28(%esp), %ecx
subl $16, %ecx
- jc .L021dec_in_place_partial
+ jc .L023dec_in_place_partial
movl %ecx, 28(%esp)
- jnz .L020dec_in_place_loop
- jmp .L019dec_out
+ jnz .L022dec_in_place_loop
+ jmp .L021dec_out
.align 4
-.L021dec_in_place_partial:
+.L023dec_in_place_partial:
movl 24(%esp), %edi
leal 44(%esp), %esi
leal (%edi,%ecx), %edi
leal 16(%esi,%ecx), %esi
negl %ecx
- pushfl
- .long 2426729468
- popfl
+ .long 4136215795
.align 4
-.L019dec_out:
+.L021dec_out:
+ movl 32(%esp), %edi
movl 16(%esp), %esp
+ movl $64, %ecx
+ xorl %eax, %eax
+.align 4
+ .long 4136217587
+ popfl
popl %edi
popl %esi
popl %ebx
call FIPS_selftest_failed
cmpl $0,%eax
mov $-3,%eax
- jne .L027exit
+ jne .L029exit
movl 20(%esp), %esi
movl 28(%esp), %edi
testl $-1, %esi
- jz .L022badpointer
+ jz .L024badpointer
testl $-1, %edi
- jz .L022badpointer
- call .L023pic_point
-.L023pic_point:
+ jz .L024badpointer
+ call .L025pic_point
+.L025pic_point:
popl %ebp
- leal AES_Te-.L023pic_point(%ebp),%ebp
+ leal AES_Te-.L025pic_point(%ebp),%ebp
movl 24(%esp), %ecx
cmpl $128, %ecx
- je .L02410rounds
+ je .L02610rounds
cmpl $192, %ecx
- je .L02512rounds
+ je .L02712rounds
cmpl $256, %ecx
- je .L02614rounds
+ je .L02814rounds
movl $-2, %eax
- jmp .L027exit
-.L02410rounds:
+ jmp .L029exit
+.L02610rounds:
movl (%esi), %eax
movl 4(%esi), %ebx
movl 8(%esi), %ecx
movl %ecx, 8(%edi)
movl %edx, 12(%edi)
xorl %ecx, %ecx
- jmp .L02810shortcut
+ jmp .L03010shortcut
.align 4
-.L02910loop:
+.L03110loop:
movl (%edi), %eax
movl 12(%edi), %edx
-.L02810shortcut:
+.L03010shortcut:
movzbl %dl, %esi
movl 2(%ebp,%esi,8), %ebx
movzbl %dh, %esi
incl %ecx
addl $16, %edi
cmpl $10, %ecx
- jl .L02910loop
+ jl .L03110loop
movl $10, 80(%edi)
xorl %eax, %eax
- jmp .L027exit
-.L02512rounds:
+ jmp .L029exit
+.L02712rounds:
movl (%esi), %eax
movl 4(%esi), %ebx
movl 8(%esi), %ecx
movl %ecx, 16(%edi)
movl %edx, 20(%edi)
xorl %ecx, %ecx
- jmp .L03012shortcut
+ jmp .L03212shortcut
.align 4
-.L03112loop:
+.L03312loop:
movl (%edi), %eax
movl 20(%edi), %edx
-.L03012shortcut:
+.L03212shortcut:
movzbl %dl, %esi
movl 2(%ebp,%esi,8), %ebx
movzbl %dh, %esi
xorl 12(%edi), %eax
movl %eax, 36(%edi)
cmpl $7, %ecx
- je .L03212break
+ je .L03412break
incl %ecx
xorl 16(%edi), %eax
movl %eax, 40(%edi)
xorl 20(%edi), %eax
movl %eax, 44(%edi)
addl $24, %edi
- jmp .L03112loop
-.L03212break:
+ jmp .L03312loop
+.L03412break:
movl $12, 72(%edi)
xorl %eax, %eax
- jmp .L027exit
-.L02614rounds:
+ jmp .L029exit
+.L02814rounds:
movl (%esi), %eax
movl 4(%esi), %ebx
movl 8(%esi), %ecx
movl %ecx, 24(%edi)
movl %edx, 28(%edi)
xorl %ecx, %ecx
- jmp .L03314shortcut
+ jmp .L03514shortcut
.align 4
-.L03414loop:
+.L03614loop:
movl 28(%edi), %edx
-.L03314shortcut:
+.L03514shortcut:
movl (%edi), %eax
movzbl %dl, %esi
movl 2(%ebp,%esi,8), %ebx
xorl 12(%edi), %eax
movl %eax, 44(%edi)
cmpl $6, %ecx
- je .L03514break
+ je .L03714break
incl %ecx
movl %eax, %edx
movl 16(%edi), %eax
xorl 28(%edi), %eax
movl %eax, 60(%edi)
addl $32, %edi
- jmp .L03414loop
-.L03514break:
+ jmp .L03614loop
+.L03714break:
movl $14, 48(%edi)
xorl %eax, %eax
- jmp .L027exit
-.L022badpointer:
+ jmp .L029exit
+.L024badpointer:
movl $-1, %eax
-.L027exit:
+.L029exit:
popl %edi
popl %esi
popl %ebx
call AES_set_encrypt_key
addl $12, %esp
cmpl $0, %eax
- je .L036proceed
+ je .L038proceed
ret
-.L036proceed:
+.L038proceed:
pushl %ebp
pushl %ebx
pushl %esi
leal (,%ecx,4), %ecx
leal (%esi,%ecx,4), %edi
.align 4
-.L037invert:
+.L039invert:
movl (%esi), %eax
movl 4(%esi), %ebx
movl (%edi), %ecx
addl $16, %esi
subl $16, %edi
cmpl %edi, %esi
- jne .L037invert
- call .L038pic_point
-.L038pic_point:
+ jne .L039invert
+ call .L040pic_point
+.L040pic_point:
popl %ebp
- leal AES_Td-.L038pic_point(%ebp),%edi
- leal AES_Te-.L038pic_point(%ebp),%ebp
+ leal AES_Td-.L040pic_point(%ebp),%edi
+ leal AES_Te-.L040pic_point(%ebp),%ebp
movl 28(%esp), %esi
movl 240(%esi), %ecx
decl %ecx
.align 4
-.L039permute:
+.L041permute:
addl $16, %esi
movl (%esi), %eax
movl %eax, %edx
xorl 1(%edi,%ebx,8), %eax
movl %eax, 12(%esi)
decl %ecx
- jnz .L039permute
+ jnz .L041permute
xorl %eax, %eax
popl %edi
popl %esi
"HMAC-SHA1(fips.h)= 564e34c12d6743a9be06d5da74608a71937c872a",
"HMAC-SHA1(fips_err.h)= 32ad0130f639b8f6ff417d3dfda553f5a1d7512d",
"HMAC-SHA1(aes/fips_aes_core.c)= b70bbbd675efe0613da0d57055310926a0104d55",
-"HMAC-SHA1(aes/asm/fips-ax86-elf.s)= 36ea4b40665892c0a9d791b22437ed63cac64d53",
+"HMAC-SHA1(aes/asm/fips-ax86-elf.s)= 00d01a2e76509350ede25d0e3bde763136a6b679",
"HMAC-SHA1(aes/fips_aes_selftest.c)= 98b01502221e7fe529fd981222f2cbb52eb4cbe0",
"HMAC-SHA1(aes/fips_aes_locl.h)= a98eb0aa449f1d95b8064e261b2ac2b1f328685e",
"HMAC-SHA1(des/fips_des_enc.c)= 9527f8ea81602358f1aa11348237fdb1e9eeff32",