Revision 1990ae634d0602ff022afc946ef66933e4e4a2dc authored by Santiago Zanella-Beguelin on 09 December 2019, 17:48:55 UTC, committed by Santiago Zanella-Beguelin on 09 December 2019, 17:50:10 UTC
1 parent ae8e182
aes-x86_64-msvc.asm
.code
ALIGN 16
KeyExpansionStdcall proc
movdqu xmm1, xmmword ptr [rcx + 0]
movdqu xmmword ptr [rdx + 0], xmm1
aeskeygenassist xmm2, xmm1, 1
pshufd xmm2, xmm2, 255
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
pxor xmm1, xmm2
movdqu xmmword ptr [rdx + 16], xmm1
aeskeygenassist xmm2, xmm1, 2
pshufd xmm2, xmm2, 255
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
pxor xmm1, xmm2
movdqu xmmword ptr [rdx + 32], xmm1
aeskeygenassist xmm2, xmm1, 4
pshufd xmm2, xmm2, 255
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
pxor xmm1, xmm2
movdqu xmmword ptr [rdx + 48], xmm1
aeskeygenassist xmm2, xmm1, 8
pshufd xmm2, xmm2, 255
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
pxor xmm1, xmm2
movdqu xmmword ptr [rdx + 64], xmm1
aeskeygenassist xmm2, xmm1, 16
pshufd xmm2, xmm2, 255
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
pxor xmm1, xmm2
movdqu xmmword ptr [rdx + 80], xmm1
aeskeygenassist xmm2, xmm1, 32
pshufd xmm2, xmm2, 255
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
pxor xmm1, xmm2
movdqu xmmword ptr [rdx + 96], xmm1
aeskeygenassist xmm2, xmm1, 64
pshufd xmm2, xmm2, 255
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
pxor xmm1, xmm2
movdqu xmmword ptr [rdx + 112], xmm1
aeskeygenassist xmm2, xmm1, 128
pshufd xmm2, xmm2, 255
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
pxor xmm1, xmm2
movdqu xmmword ptr [rdx + 128], xmm1
aeskeygenassist xmm2, xmm1, 27
pshufd xmm2, xmm2, 255
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
pxor xmm1, xmm2
movdqu xmmword ptr [rdx + 144], xmm1
aeskeygenassist xmm2, xmm1, 54
pshufd xmm2, xmm2, 255
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
pxor xmm1, xmm2
movdqu xmmword ptr [rdx + 160], xmm1
pxor xmm1, xmm1
pxor xmm2, xmm2
pxor xmm3, xmm3
ret
KeyExpansionStdcall endp
ALIGN 16
KeyExpansionAndInversionStdcall proc
movdqu xmm1, xmmword ptr [rcx + 0]
movdqu xmmword ptr [rdx + 0], xmm1
aeskeygenassist xmm2, xmm1, 1
pshufd xmm2, xmm2, 255
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
pxor xmm1, xmm2
movdqu xmmword ptr [rdx + 16], xmm1
aeskeygenassist xmm2, xmm1, 2
pshufd xmm2, xmm2, 255
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
pxor xmm1, xmm2
movdqu xmmword ptr [rdx + 32], xmm1
aeskeygenassist xmm2, xmm1, 4
pshufd xmm2, xmm2, 255
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
pxor xmm1, xmm2
movdqu xmmword ptr [rdx + 48], xmm1
aeskeygenassist xmm2, xmm1, 8
pshufd xmm2, xmm2, 255
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
pxor xmm1, xmm2
movdqu xmmword ptr [rdx + 64], xmm1
aeskeygenassist xmm2, xmm1, 16
pshufd xmm2, xmm2, 255
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
pxor xmm1, xmm2
movdqu xmmword ptr [rdx + 80], xmm1
aeskeygenassist xmm2, xmm1, 32
pshufd xmm2, xmm2, 255
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
pxor xmm1, xmm2
movdqu xmmword ptr [rdx + 96], xmm1
aeskeygenassist xmm2, xmm1, 64
pshufd xmm2, xmm2, 255
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
pxor xmm1, xmm2
movdqu xmmword ptr [rdx + 112], xmm1
aeskeygenassist xmm2, xmm1, 128
pshufd xmm2, xmm2, 255
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
pxor xmm1, xmm2
movdqu xmmword ptr [rdx + 128], xmm1
aeskeygenassist xmm2, xmm1, 27
pshufd xmm2, xmm2, 255
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
pxor xmm1, xmm2
movdqu xmmword ptr [rdx + 144], xmm1
aeskeygenassist xmm2, xmm1, 54
pshufd xmm2, xmm2, 255
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
vpslldq xmm3, xmm1, 4
pxor xmm1, xmm3
pxor xmm1, xmm2
movdqu xmmword ptr [rdx + 160], xmm1
movdqu xmm1, xmmword ptr [rdx + 16]
aesimc xmm1, xmm1
movdqu xmmword ptr [rdx + 16], xmm1
movdqu xmm1, xmmword ptr [rdx + 32]
aesimc xmm1, xmm1
movdqu xmmword ptr [rdx + 32], xmm1
movdqu xmm1, xmmword ptr [rdx + 48]
aesimc xmm1, xmm1
movdqu xmmword ptr [rdx + 48], xmm1
movdqu xmm1, xmmword ptr [rdx + 64]
aesimc xmm1, xmm1
movdqu xmmword ptr [rdx + 64], xmm1
movdqu xmm1, xmmword ptr [rdx + 80]
aesimc xmm1, xmm1
movdqu xmmword ptr [rdx + 80], xmm1
movdqu xmm1, xmmword ptr [rdx + 96]
aesimc xmm1, xmm1
movdqu xmmword ptr [rdx + 96], xmm1
movdqu xmm1, xmmword ptr [rdx + 112]
aesimc xmm1, xmm1
movdqu xmmword ptr [rdx + 112], xmm1
movdqu xmm1, xmmword ptr [rdx + 128]
aesimc xmm1, xmm1
movdqu xmmword ptr [rdx + 128], xmm1
movdqu xmm1, xmmword ptr [rdx + 144]
aesimc xmm1, xmm1
movdqu xmmword ptr [rdx + 144], xmm1
pxor xmm1, xmm1
pxor xmm2, xmm2
pxor xmm3, xmm3
ret
KeyExpansionAndInversionStdcall endp
ALIGN 16
AES128EncryptOneBlockStdcall proc
movdqu xmm0, xmmword ptr [rdx + 0]
movdqu xmm2, xmmword ptr [r8 + 0]
pxor xmm0, xmm2
movdqu xmm2, xmmword ptr [r8 + 16]
aesenc xmm0, xmm2
movdqu xmm2, xmmword ptr [r8 + 32]
aesenc xmm0, xmm2
movdqu xmm2, xmmword ptr [r8 + 48]
aesenc xmm0, xmm2
movdqu xmm2, xmmword ptr [r8 + 64]
aesenc xmm0, xmm2
movdqu xmm2, xmmword ptr [r8 + 80]
aesenc xmm0, xmm2
movdqu xmm2, xmmword ptr [r8 + 96]
aesenc xmm0, xmm2
movdqu xmm2, xmmword ptr [r8 + 112]
aesenc xmm0, xmm2
movdqu xmm2, xmmword ptr [r8 + 128]
aesenc xmm0, xmm2
movdqu xmm2, xmmword ptr [r8 + 144]
aesenc xmm0, xmm2
movdqu xmm2, xmmword ptr [r8 + 160]
aesenclast xmm0, xmm2
pxor xmm2, xmm2
movdqu xmmword ptr [rcx + 0], xmm0
ret
AES128EncryptOneBlockStdcall endp
end
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...