Function at 0x41d181
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
push esi
mov esi, dword [esp + 8]
cmp esi, 0x20
je 0x41d404
cmp esi, 0x18
je 0x41d72c
xor eax, eax
cmp esi, 0x10
jne 0x41d9f6
movdqu xmm0, xmmword [edx]
movdqa xmmword [ecx], xmm0
aeskeygenassist xmm1, xmm0, 1
movdqa xmm2, xmm0
pslldq xmm2, 4
pxor xmm2, xmm0
movdqa xmm0, xmm2
pslldq xmm0, 4
pxor xmm0, xmm2
movdqa xmm2, xmm0
pslldq xmm2, 4
pshufd xmm1, xmm1, 0xff
pxor xmm2, xmm0
pxor xmm2, xmm1
movdqa xmmword [ecx + 0x10], xmm2
aeskeygenassist xmm0, xmm2, 2
movdqa xmm1, xmm2
pslldq xmm1, 4
pxor xmm1, xmm2
movdqa xmm2, xmm1
pslldq xmm2, 4
pxor xmm2, xmm1
movdqa xmm1, xmm2
pslldq xmm1, 4
pshufd xmm0, xmm0, 0xff
pxor xmm1, xmm2
pxor xmm1, xmm0
movdqa xmmword [ecx + 0x20], xmm1
aeskeygenassist xmm0, xmm1, 4
movdqa xmm2, xmm1
pslldq xmm2, 4
pxor xmm2, xmm1
movdqa xmm1, xmm2
pslldq xmm1, 4
pxor xmm1, xmm2
movdqa xmm2, xmm1
pslldq xmm2, 4
pshufd xmm0, xmm0, 0xff
pxor xmm2, xmm1
pxor xmm2, xmm0
movdqa xmmword [ecx + 0x30], xmm2
aeskeygenassist xmm0, xmm2, 8
movdqa xmm1, xmm2
pslldq xmm1, 4
pxor xmm1, xmm2
movdqa xmm2, xmm1
pslldq xmm2, 4
pxor xmm2, xmm1
movdqa xmm1, xmm2
pslldq xmm1, 4
pshufd xmm0, xmm0, 0xff
pxor xmm1, xmm2
pxor xmm1, xmm0
movdqa xmmword [ecx + 0x40], xmm1
aeskeygenassist xmm0, xmm1, 0x10
movdqa xmm2, xmm1
pslldq xmm2, 4
pxor xmm2, xmm1
movdqa xmm1, xmm2
pslldq xmm1, 4
pxor xmm1, xmm2
movdqa xmm2, xmm1
pslldq xmm2, 4
pshufd xmm0, xmm0, 0xff
pxor xmm2, xmm1
pxor xmm2, xmm0
movdqa xmmword [ecx + 0x50], xmm2
aeskeygenassist xmm0, xmm2, 0x20
movdqa xmm1, xmm2
pslldq xmm1, 4
pxor xmm1, xmm2
movdqa xmm2, xmm1
pslldq xmm2, 4
pxor xmm2, xmm1
movdqa xmm1, xmm2
pslldq xmm1, 4
pshufd xmm0, xmm0, 0xff
pxor xmm1, xmm2
pxor xmm1, xmm0
movdqa xmmword [ecx + 0x60], xmm1
aeskeygenassist xmm0, xmm1, 0x40
movdqa xmm2, xmm1
pslldq xmm2, 4
pxor xmm2, xmm1
movdqa xmm1, xmm2
pslldq xmm1, 4
pxor xmm1, xmm2
movdqa xmm2, xmm1
pslldq xmm2, 4
pshufd xmm0, xmm0, 0xff
pxor xmm2, xmm1
pxor xmm2, xmm0
movdqa xmmword [ecx + 0x70], xmm2
aeskeygenassist xmm0, xmm2, 0x80
movdqa xmm1, xmm2
pslldq xmm1, 4
pxor xmm1, xmm2
movdqa xmm2, xmm1
pslldq xmm2, 4
pxor xmm2, xmm1
movdqa xmm1, xmm2
pslldq xmm1, 4
pshufd xmm0, xmm0, 0xff
pxor xmm1, xmm2
pxor xmm1, xmm0
movdqa xmmword [ecx + 0x80], xmm1
aeskeygenassist xmm0, xmm1, 0x1b
movdqa xmm2, xmm1
pslldq xmm2, 4
pxor xmm2, xmm1
movdqa xmm1, xmm2
pslldq xmm1, 4
pxor xmm1, xmm2
movdqa xmm2, xmm1
pslldq xmm2, 4
pshufd xmm0, xmm0, 0xff
pxor xmm2, xmm1
pxor xmm2, xmm0
movdqa xmmword [ecx + 0x90], xmm2
aeskeygenassist xmm1, xmm2, 0x36
movdqa xmm0, xmm2
pslldq xmm0, 4
pxor xmm0, xmm2
movdqa xmm2, xmm0
pslldq xmm2, 4
pxor xmm2, xmm0
movdqa xmm0, xmm2
pslldq xmm0, 4
pshufd xmm1, xmm1, 0xff
pxor xmm0, xmm2
pxor xmm0, xmm1
mov eax, 0xa
jmp 0x41d9ec
movdqu xmm1, xmmword [edx]
movdqu xmm2, xmmword [edx + 0x10]
movdqa xmmword [ecx], xmm1
movdqa xmmword [ecx + 0x10], xmm2
aeskeygenassist xmm0, xmm2, 1
pshufd xmm3, xmm0, 0xff
movdqa xmm4, xmm1
pslldq xmm4, 4
movdqa xmm5, xmm1
pslldq xmm5, 8
movdqa xmm0, xmm1
pslldq xmm0, 0xc
pxor xmm0, xmm4
pxor xmm0, xmm5
pxor xmm0, xmm1
pxor xmm0, xmm3
movdqa xmmword [ecx + 0x20], xmm0
aeskeygenassist xmm1, xmm0, 0
pshufd xmm3, xmm1, 0xaa
movdqa xmm4, xmm2
pslldq xmm4, 4
movdqa xmm5, xmm2
pslldq xmm5, 8
movdqa xmm1, xmm2
pslldq xmm1, 0xc
pxor xmm1, xmm4
pxor xmm1, xmm5
pxor xmm1, xmm2
pxor xmm1, xmm3
movdqa xmmword [ecx + 0x30], xmm1
aeskeygenassist xmm2, xmm1, 2
pshufd xmm3, xmm2, 0xff
movdqa xmm4, xmm0
pslldq xmm4, 4
movdqa xmm5, xmm0
pslldq xmm5, 8
movdqa xmm2, xmm0
pslldq xmm2, 0xc
pxor xmm2, xmm4
pxor xmm2, xmm5
pxor xmm2, xmm0
pxor xmm2, xmm3
movdqa xmmword [ecx + 0x40], xmm2
aeskeygenassist xmm0, xmm2, 0
pshufd xmm3, xmm0, 0xaa
movdqa xmm4, xmm1
pslldq xmm4, 4
movdqa xmm5, xmm1
pslldq xmm5, 8
movdqa xmm0, xmm1
pslldq xmm0, 0xc
pxor xmm0, xmm4
pxor xmm0, xmm5
pxor xmm0, xmm1
pxor xmm0, xmm3
movdqa xmmword [ecx + 0x50], xmm0
aeskeygenassist xmm1, xmm0, 4
pshufd xmm3, xmm1, 0xff
movdqa xmm4, xmm2
pslldq xmm4, 4
movdqa xmm5, xmm2
pslldq xmm5, 8
movdqa xmm1, xmm2
pslldq xmm1, 0xc
pxor xmm1, xmm4
pxor xmm1, xmm5
pxor xmm1, xmm2
pxor xmm1, xmm3
movdqa xmmword [ecx + 0x60], xmm1
aeskeygenassist xmm2, xmm1, 0
pshufd xmm3, xmm2, 0xaa
movdqa xmm4, xmm0
pslldq xmm4, 4
movdqa xmm5, xmm0
pslldq xmm5, 8
movdqa xmm2, xmm0
pslldq xmm2, 0xc
pxor xmm2, xmm4
pxor xmm2, xmm5
pxor xmm2, xmm0
pxor xmm2, xmm3
movdqa xmmword [ecx + 0x70], xmm2
aeskeygenassist xmm0, xmm2, 8
pshufd xmm3, xmm0, 0xff
movdqa xmm4, xmm1
pslldq xmm4, 4
movdqa xmm5, xmm1
pslldq xmm5, 8
movdqa xmm0, xmm1
pslldq xmm0, 0xc
pxor xmm0, xmm4
pxor xmm0, xmm5
pxor xmm0, xmm1
pxor xmm0, xmm3
movdqa xmmword [ecx + 0x80], xmm0
aeskeygenassist xmm1, xmm0, 0
pshufd xmm3, xmm1, 0xaa
movdqa xmm4, xmm2
pslldq xmm4, 4
movdqa xmm5, xmm2
pslldq xmm5, 8
movdqa xmm1, xmm2
pslldq xmm1, 0xc
pxor xmm1, xmm4
pxor xmm1, xmm5
pxor xmm1, xmm2
pxor xmm1, xmm3
movdqa xmmword [ecx + 0x90], xmm1
aeskeygenassist xmm2, xmm1, 0x10
pshufd xmm3, xmm2, 0xff
movdqa xmm4, xmm0
pslldq xmm4, 4
movdqa xmm5, xmm0
pslldq xmm5, 8
movdqa xmm2, xmm0
pslldq xmm2, 0xc
pxor xmm2, xmm4
pxor xmm2, xmm5
pxor xmm2, xmm0
pxor xmm2, xmm3
movdqa xmmword [ecx + 0xa0], xmm2
aeskeygenassist xmm0, xmm2, 0
pshufd xmm3, xmm0, 0xaa
movdqa xmm4, xmm1
pslldq xmm4, 4
movdqa xmm5, xmm1
pslldq xmm5, 8
movdqa xmm0, xmm1
pslldq xmm0, 0xc
pxor xmm0, xmm4
pxor xmm0, xmm5
pxor xmm0, xmm1
pxor xmm0, xmm3
movdqa xmmword [ecx + 0xb0], xmm0
aeskeygenassist xmm1, xmm0, 0x20
pshufd xmm3, xmm1, 0xff
movdqa xmm4, xmm2
pslldq xmm4, 4
movdqa xmm5, xmm2
pslldq xmm5, 8
movdqa xmm1, xmm2
pslldq xmm1, 0xc
pxor xmm1, xmm4
pxor xmm1, xmm5
pxor xmm1, xmm2
pxor xmm1, xmm3
movdqa xmmword [ecx + 0xc0], xmm1
aeskeygenassist xmm2, xmm1, 0
pshufd xmm2, xmm2, 0xaa
movdqa xmm3, xmm0
pslldq xmm3, 4
movdqa xmm4, xmm0
pslldq xmm4, 8
movdqa xmm5, xmm0
pslldq xmm5, 0xc
pxor xmm5, xmm3
pxor xmm5, xmm4
pxor xmm5, xmm0
pxor xmm5, xmm2
movdqa xmmword [ecx + 0xd0], xmm5
aeskeygenassist xmm0, xmm5, 0x40
pshufd xmm2, xmm0, 0xff
movdqa xmm3, xmm1
pslldq xmm3, 4
movdqa xmm4, xmm1
pslldq xmm4, 8
movdqa xmm0, xmm1
pslldq xmm0, 0xc
pxor xmm0, xmm3
pxor xmm0, xmm4
pxor xmm0, xmm1
pxor xmm0, xmm2
mov eax, 0xe
jmp 0x41d9ec
movdqu xmm1, xmmword [edx]
movdqu xmm0, xmmword [edx + 8]
pshufd xmm2, xmm0, 0x4e
movdqa xmmword [ecx], xmm1
aeskeygenassist xmm0, xmm2, 1
pshufd xmm3, xmm0, 0x55
movdqa xmm4, xmm1
pslldq xmm4, 4
movdqa xmm5, xmm1
pslldq xmm5, 8
movdqa xmm0, xmm1
pslldq xmm0, 0xc
pxor xmm0, xmm4
pxor xmm0, xmm5
pxor xmm0, xmm1
pxor xmm0, xmm3
pshufd xmm3, xmm0, 0xff
movdqa xmm1, xmm2
pslldq xmm1, 4
pxor xmm1, xmm2
pxor xmm1, xmm3
punpcklqdq xmm2, xmm0
movdqa xmmword [ecx + 0x10], xmm2
movdqa xmm2, xmm0
pslldq xmm2, 4
movdqa xmm4, xmm0
pslldq xmm4, 8
movdqa xmm3, xmm0
pslldq xmm3, 0xc
pxor xmm3, xmm2
pxor xmm3, xmm4
pxor xmm3, xmm0
shufps xmm0, xmm1, 0x4e
movaps xmmword [ecx + 0x20], xmm0
aeskeygenassist xmm0, xmm1, 2
pshufd xmm0, xmm0, 0x55
pxor xmm3, xmm0
pshufd xmm0, xmm3, 0xff
movdqa xmm2, xmm1
pslldq xmm2, 4
pxor xmm2, xmm1
pxor xmm2, xmm0
movdqa xmmword [ecx + 0x30], xmm3
aeskeygenassist xmm0, xmm2, 4
pshufd xmm1, xmm0, 0x55
movdqa xmm4, xmm3
pslldq xmm4, 4
movdqa xmm5, xmm3
pslldq xmm5, 8
movdqa xmm0, xmm3
pslldq xmm0, 0xc
pxor xmm0, xmm4
pxor xmm0, xmm5
pxor xmm0, xmm3
pxor xmm0, xmm1
pshufd xmm3, xmm0, 0xff
movdqa xmm1, xmm2
pslldq xmm1, 4
pxor xmm1, xmm2
pxor xmm1, xmm3
punpcklqdq xmm2, xmm0
movdqa xmmword [ecx + 0x40], xmm2
movdqa xmm2, xmm0
pslldq xmm2, 4
movdqa xmm4, xmm0
pslldq xmm4, 8
movdqa xmm3, xmm0
pslldq xmm3, 0xc
pxor xmm3, xmm2
pxor xmm3, xmm4
pxor xmm3, xmm0
shufps xmm0, xmm1, 0x4e
movaps xmmword [ecx + 0x50], xmm0
aeskeygenassist xmm0, xmm1, 8
pshufd xmm0, xmm0, 0x55
pxor xmm3, xmm0
pshufd xmm0, xmm3, 0xff
movdqa xmm2, xmm1
pslldq xmm2, 4
pxor xmm2, xmm1
pxor xmm2, xmm0
movdqa xmmword [ecx + 0x60], xmm3
aeskeygenassist xmm0, xmm2, 0x10
pshufd xmm1, xmm0, 0x55
movdqa xmm4, xmm3
pslldq xmm4, 4
movdqa xmm5, xmm3
pslldq xmm5, 8
movdqa xmm0, xmm3
pslldq xmm0, 0xc
pxor xmm0, xmm4
pxor xmm0, xmm5
pxor xmm0, xmm3
pxor xmm0, xmm1
pshufd xmm3, xmm0, 0xff
movdqa xmm1, xmm2
pslldq xmm1, 4
pxor xmm1, xmm2
pxor xmm1, xmm3
punpcklqdq xmm2, xmm0
movdqa xmmword [ecx + 0x70], xmm2
movdqa xmm3, xmm0
pslldq xmm3, 4
movdqa xmm4, xmm0
pslldq xmm4, 8
movdqa xmm2, xmm0
pslldq xmm2, 0xc
pxor xmm2, xmm3
pxor xmm2, xmm4
pxor xmm2, xmm0
shufps xmm0, xmm1, 0x4e
movaps xmmword [ecx + 0x80], xmm0
aeskeygenassist xmm0, xmm1, 0x20
pshufd xmm0, xmm0, 0x55
pxor xmm2, xmm0
pshufd xmm3, xmm2, 0xff
movdqa xmm0, xmm1
pslldq xmm0, 4
pxor xmm0, xmm1
pxor xmm0, xmm3
movdqa xmmword [ecx + 0x90], xmm2
aeskeygenassist xmm1, xmm0, 0x40
pshufd xmm3, xmm1, 0x55
movdqa xmm4, xmm2
pslldq xmm4, 4
movdqa xmm5, xmm2
pslldq xmm5, 8
movdqa xmm1, xmm2
pslldq xmm1, 0xc
pxor xmm1, xmm4
pxor xmm1, xmm5
pxor xmm1, xmm2
pxor xmm1, xmm3
pshufd xmm3, xmm1, 0xff
movdqa xmm2, xmm0
pslldq xmm2, 4
pxor xmm2, xmm0
pxor xmm2, xmm3
punpcklqdq xmm0, xmm1
movdqa xmmword [ecx + 0xa0], xmm0
movdqa xmm3, xmm1
pslldq xmm3, 4
movdqa xmm4, xmm1
pslldq xmm4, 8
movdqa xmm0, xmm1
pslldq xmm0, 0xc
pxor xmm0, xmm3
pxor xmm0, xmm4
pxor xmm0, xmm1
shufps xmm1, xmm2, 0x4e
movaps xmmword [ecx + 0xb0], xmm1
aeskeygenassist xmm1, xmm2, 0x80
pshufd xmm1, xmm1, 0x55
pxor xmm0, xmm1
mov eax, 0xc
mov edx, eax
shl edx, 4
movdqa xmmword [ecx + edx], xmm0
pop esi
ret