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

Disassembly:
push edi
mov edi, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [edi + 4], ecx
shr ecx, 2
add ecx, 6
mov dword [edi], ecx
movdqu xmm0, xmmword [eax]
lea edx, [edi + 0x90]
and edx, 0xfffffff0
cmp ecx, 0xc
je 0x1002a2b9
jg 0x1002a57d
movdqa xmmword [edx - 0x80], xmm0
aeskeygenassist xmm1, xmm0, 1
movdqa xmm3, xmm0
pslldq xmm3, 8
pxor xmm0, xmm3
movdqa xmm3, xmm0
pslldq xmm3, 4
pxor xmm0, xmm3
pshufd xmm2, xmm1, 0xff
pxor xmm0, xmm2
movdqa xmmword [edx - 0x70], xmm0
aeskeygenassist xmm1, xmm0, 2
movdqa xmm2, xmm0
pslldq xmm2, 8
pxor xmm0, xmm2
movdqa xmm2, xmm0
pslldq xmm2, 4
pxor xmm0, xmm2
pshufd xmm3, xmm1, 0xff
pxor xmm0, xmm3
movdqa xmmword [edx - 0x60], xmm0
aeskeygenassist xmm1, xmm0, 4
movdqa xmm3, xmm0
pslldq xmm3, 8
pxor xmm0, xmm3
movdqa xmm3, xmm0
pslldq xmm3, 4
pxor xmm0, xmm3
pshufd xmm2, xmm1, 0xff
pxor xmm0, xmm2
movdqa xmmword [edx - 0x50], xmm0
aeskeygenassist xmm1, xmm0, 8
movdqa xmm2, xmm0
pslldq xmm2, 8
pxor xmm0, xmm2
movdqa xmm2, xmm0
pslldq xmm2, 4
pxor xmm0, xmm2
pshufd xmm3, xmm1, 0xff
pxor xmm0, xmm3
movdqa xmmword [edx - 0x40], xmm0
aeskeygenassist xmm1, xmm0, 0x10
movdqa xmm3, xmm0
pslldq xmm3, 8
pxor xmm0, xmm3
movdqa xmm3, xmm0
pslldq xmm3, 4
pxor xmm0, xmm3
pshufd xmm2, xmm1, 0xff
pxor xmm0, xmm2
movdqa xmmword [edx - 0x30], xmm0
aeskeygenassist xmm1, xmm0, 0x20
movdqa xmm2, xmm0
pslldq xmm2, 8
pxor xmm0, xmm2
movdqa xmm2, xmm0
pslldq xmm2, 4
pxor xmm0, xmm2
pshufd xmm3, xmm1, 0xff
pxor xmm0, xmm3
movdqa xmmword [edx - 0x20], xmm0
aeskeygenassist xmm1, xmm0, 0x40
movdqa xmm3, xmm0
pslldq xmm3, 8
pxor xmm0, xmm3
movdqa xmm3, xmm0
pslldq xmm3, 4
pxor xmm0, xmm3
pshufd xmm2, xmm1, 0xff
pxor xmm0, xmm2
movdqa xmmword [edx - 0x10], xmm0
aeskeygenassist xmm1, xmm0, 0x80
movdqa xmm2, xmm0
pslldq xmm2, 8
pxor xmm0, xmm2
movdqa xmm2, xmm0
pslldq xmm2, 4
pxor xmm0, xmm2
pshufd xmm3, xmm1, 0xff
pxor xmm0, xmm3
movdqa xmmword [edx], xmm0
aeskeygenassist xmm1, xmm0, 0x1b
movdqa xmm3, xmm0
pslldq xmm3, 8
pxor xmm0, xmm3
movdqa xmm3, xmm0
pslldq xmm3, 4
pxor xmm0, xmm3
pshufd xmm2, xmm1, 0xff
pxor xmm0, xmm2
movdqa xmmword [edx + 0x10], xmm0
aeskeygenassist xmm1, xmm0, 0x36
movdqa xmm2, xmm0
pslldq xmm2, 8
pxor xmm0, xmm2
movdqa xmm2, xmm0
pslldq xmm2, 4
pxor xmm0, xmm2
pshufd xmm3, xmm1, 0xff
pxor xmm0, xmm3
movdqa xmmword [edx + 0x20], xmm0
jmp 0x1002a7e1
movq xmm2, qword [eax + 0x10]
movdqa xmmword [edx - 0x80], xmm0
movq qword [edx - 0x70], xmm2
pshufd xmm1, xmm2, 0x55
aeskeygenassist xmm1, xmm1, 1
movdqa xmm4, xmm0
pslldq xmm4, 8
pxor xmm0, xmm4
movdqa xmm4, xmm0
pslldq xmm4, 4
pxor xmm0, xmm4
movdqa xmm4, xmm0
psrldq xmm4, 0xc
pxor xmm2, xmm4
movdqa xmm4, xmm2
pslldq xmm4, 4
pxor xmm2, xmm4
pshufd xmm3, xmm1, 0xff
pxor xmm0, xmm3
movdqu xmmword [edx - 0x68], xmm0
pxor xmm2, xmm3
movq qword [edx - 0x58], xmm2
pshufd xmm1, xmm2, 0x55
aeskeygenassist xmm1, xmm1, 2
movdqa xmm3, xmm0
pslldq xmm3, 8
pxor xmm0, xmm3
movdqa xmm3, xmm0
pslldq xmm3, 4
pxor xmm0, xmm3
movdqa xmm3, xmm0
psrldq xmm3, 0xc
pxor xmm2, xmm3
movdqa xmm3, xmm2
pslldq xmm3, 4
pxor xmm2, xmm3
pshufd xmm4, xmm1, 0xff
pxor xmm0, xmm4
movdqu xmmword [edx - 0x50], xmm0
pxor xmm2, xmm4
movq qword [edx - 0x40], xmm2
pshufd xmm1, xmm2, 0x55
aeskeygenassist xmm1, xmm1, 4
movdqa xmm4, xmm0
pslldq xmm4, 8
pxor xmm0, xmm4
movdqa xmm4, xmm0
pslldq xmm4, 4
pxor xmm0, xmm4
movdqa xmm4, xmm0
psrldq xmm4, 0xc
pxor xmm2, xmm4
movdqa xmm4, xmm2
pslldq xmm4, 4
pxor xmm2, xmm4
pshufd xmm3, xmm1, 0xff
pxor xmm0, xmm3
movdqu xmmword [edx - 0x38], xmm0
pxor xmm2, xmm3
movq qword [edx - 0x28], xmm2
pshufd xmm1, xmm2, 0x55
aeskeygenassist xmm1, xmm1, 8
movdqa xmm3, xmm0
pslldq xmm3, 8
pxor xmm0, xmm3
movdqa xmm3, xmm0
pslldq xmm3, 4
pxor xmm0, xmm3
movdqa xmm3, xmm0
psrldq xmm3, 0xc
pxor xmm2, xmm3
movdqa xmm3, xmm2
pslldq xmm3, 4
pxor xmm2, xmm3
pshufd xmm4, xmm1, 0xff
pxor xmm0, xmm4
movdqu xmmword [edx - 0x20], xmm0
pxor xmm2, xmm4
movq qword [edx - 0x10], xmm2
pshufd xmm1, xmm2, 0x55
aeskeygenassist xmm1, xmm1, 0x10
movdqa xmm4, xmm0
pslldq xmm4, 8
pxor xmm0, xmm4
movdqa xmm4, xmm0
pslldq xmm4, 4
pxor xmm0, xmm4
movdqa xmm4, xmm0
psrldq xmm4, 0xc
pxor xmm2, xmm4
movdqa xmm4, xmm2
pslldq xmm4, 4
pxor xmm2, xmm4
pshufd xmm3, xmm1, 0xff
pxor xmm0, xmm3
movdqu xmmword [edx - 8], xmm0
pxor xmm2, xmm3
movq qword [edx + 8], xmm2
pshufd xmm1, xmm2, 0x55
aeskeygenassist xmm1, xmm1, 0x20
movdqa xmm3, xmm0
pslldq xmm3, 8
pxor xmm0, xmm3
movdqa xmm3, xmm0
pslldq xmm3, 4
pxor xmm0, xmm3
movdqa xmm3, xmm0
psrldq xmm3, 0xc
pxor xmm2, xmm3
movdqa xmm3, xmm2
pslldq xmm3, 4
pxor xmm2, xmm3
pshufd xmm4, xmm1, 0xff
pxor xmm0, xmm4
movdqu xmmword [edx + 0x10], xmm0
pxor xmm2, xmm4
movq qword [edx + 0x20], xmm2
pshufd xmm1, xmm2, 0x55
aeskeygenassist xmm1, xmm1, 0x40
movdqa xmm4, xmm0
pslldq xmm4, 8
pxor xmm0, xmm4
movdqa xmm4, xmm0
pslldq xmm4, 4
pxor xmm0, xmm4
movdqa xmm4, xmm0
psrldq xmm4, 0xc
pxor xmm2, xmm4
movdqa xmm4, xmm2
pslldq xmm4, 4
pxor xmm2, xmm4
pshufd xmm3, xmm1, 0xff
pxor xmm0, xmm3
movdqu xmmword [edx + 0x28], xmm0
pxor xmm2, xmm3
movq qword [edx + 0x38], xmm2
pshufd xmm1, xmm2, 0x55
aeskeygenassist xmm1, xmm1, 0x80
movdqa xmm3, xmm0
pslldq xmm3, 8
pxor xmm0, xmm3
movdqa xmm3, xmm0
pslldq xmm3, 4
pxor xmm0, xmm3
movdqa xmm3, xmm0
psrldq xmm3, 0xc
pxor xmm2, xmm3
movdqa xmm3, xmm2
pslldq xmm3, 4
pxor xmm2, xmm3
pshufd xmm4, xmm1, 0xff
pxor xmm0, xmm4
movdqu xmmword [edx + 0x40], xmm0
pxor xmm2, xmm4
movq qword [edx + 0x50], xmm2
jmp 0x1002a7e1
movdqu xmm2, xmmword [eax + 0x10]
movdqa xmmword [edx - 0x80], xmm0
movdqa xmmword [edx - 0x70], xmm2
aeskeygenassist xmm1, xmm2, 1
movdqa xmm4, xmm0
pslldq xmm4, 8
pxor xmm0, xmm4
movdqa xmm4, xmm0
pslldq xmm4, 4
pxor xmm0, xmm4
pshufd xmm3, xmm1, 0xff
pxor xmm0, xmm3
movdqa xmmword [edx - 0x60], xmm0
aeskeygenassist xmm1, xmm0, 0
movdqa xmm4, xmm2
pslldq xmm4, 8
pxor xmm2, xmm4
movdqa xmm4, xmm2
pslldq xmm4, 4
pxor xmm2, xmm4
pshufd xmm3, xmm1, 0xaa
pxor xmm2, xmm3
movdqa xmmword [edx - 0x50], xmm2
aeskeygenassist xmm1, xmm2, 2
movdqa xmm3, xmm0
pslldq xmm3, 8
pxor xmm0, xmm3
movdqa xmm3, xmm0
pslldq xmm3, 4
pxor xmm0, xmm3
pshufd xmm4, xmm1, 0xff
pxor xmm0, xmm4
movdqa xmmword [edx - 0x40], xmm0
aeskeygenassist xmm1, xmm0, 0
movdqa xmm3, xmm2
pslldq xmm3, 8
pxor xmm2, xmm3
movdqa xmm3, xmm2
pslldq xmm3, 4
pxor xmm2, xmm3
pshufd xmm4, xmm1, 0xaa
pxor xmm2, xmm4
movdqa xmmword [edx - 0x30], xmm2
aeskeygenassist xmm1, xmm2, 4
movdqa xmm4, xmm0
pslldq xmm4, 8
pxor xmm0, xmm4
movdqa xmm4, xmm0
pslldq xmm4, 4
pxor xmm0, xmm4
pshufd xmm3, xmm1, 0xff
pxor xmm0, xmm3
movdqa xmmword [edx - 0x20], xmm0
aeskeygenassist xmm1, xmm0, 0
movdqa xmm4, xmm2
pslldq xmm4, 8
pxor xmm2, xmm4
movdqa xmm4, xmm2
pslldq xmm4, 4
pxor xmm2, xmm4
pshufd xmm3, xmm1, 0xaa
pxor xmm2, xmm3
movdqa xmmword [edx - 0x10], xmm2
aeskeygenassist xmm1, xmm2, 8
movdqa xmm3, xmm0
pslldq xmm3, 8
pxor xmm0, xmm3
movdqa xmm3, xmm0
pslldq xmm3, 4
pxor xmm0, xmm3
pshufd xmm4, xmm1, 0xff
pxor xmm0, xmm4
movdqa xmmword [edx], xmm0
aeskeygenassist xmm1, xmm0, 0
movdqa xmm3, xmm2
pslldq xmm3, 8
pxor xmm2, xmm3
movdqa xmm3, xmm2
pslldq xmm3, 4
pxor xmm2, xmm3
pshufd xmm4, xmm1, 0xaa
pxor xmm2, xmm4
movdqa xmmword [edx + 0x10], xmm2
aeskeygenassist xmm1, xmm2, 0x10
movdqa xmm4, xmm0
pslldq xmm4, 8
pxor xmm0, xmm4
movdqa xmm4, xmm0
pslldq xmm4, 4
pxor xmm0, xmm4
pshufd xmm3, xmm1, 0xff
pxor xmm0, xmm3
movdqa xmmword [edx + 0x20], xmm0
aeskeygenassist xmm1, xmm0, 0
movdqa xmm4, xmm2
pslldq xmm4, 8
pxor xmm2, xmm4
movdqa xmm4, xmm2
pslldq xmm4, 4
pxor xmm2, xmm4
pshufd xmm3, xmm1, 0xaa
pxor xmm2, xmm3
movdqa xmmword [edx + 0x30], xmm2
aeskeygenassist xmm1, xmm2, 0x20
movdqa xmm3, xmm0
pslldq xmm3, 8
pxor xmm0, xmm3
movdqa xmm3, xmm0
pslldq xmm3, 4
pxor xmm0, xmm3
pshufd xmm4, xmm1, 0xff
pxor xmm0, xmm4
movdqa xmmword [edx + 0x40], xmm0
aeskeygenassist xmm1, xmm0, 0
movdqa xmm3, xmm2
pslldq xmm3, 8
pxor xmm2, xmm3
movdqa xmm3, xmm2
pslldq xmm3, 4
pxor xmm2, xmm3
pshufd xmm4, xmm1, 0xaa
pxor xmm2, xmm4
movdqa xmmword [edx + 0x50], xmm2
aeskeygenassist xmm1, xmm2, 0x40
movdqa xmm4, xmm0
pslldq xmm4, 8
pxor xmm0, xmm4
movdqa xmm4, xmm0
pslldq xmm4, 4
pxor xmm0, xmm4
pshufd xmm3, xmm1, 0xff
pxor xmm0, xmm3
movdqa xmmword [edx + 0x60], xmm0
mov edi, dword [esp]
add esp, 4
ret