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

Disassembly:
mov edi, edi
push ebx
mov ebx, esp
push ecx
push ecx
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x88
xor eax, eax
mov dword [ebp - 8], ecx
push esi
push edi
lea edi, [ebp - 0x50]
mov ecx, dword [ebx + 0xc]
stosd dword es:[edi], eax
mov esi, edx
mov edx, dword [ebx + 8]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0x40]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0x30]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0x20]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0x60]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0x70]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0x80]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov edi, dword [ebp - 8]
cmp ecx, 0x80
jb 0x45ef1f
mov eax, ecx
shr eax, 7
mov dword [ebp - 8], eax
movups xmm0, xmmword [edi]
mov eax, dword [edi + 0x1d0]
movups xmm1, xmmword [esi]
mov dword [ebp - 4], eax
lea eax, [edi + 0x10]
movups xmm5, xmmword [esi + 0x10]
movups xmm4, xmmword [esi + 0x20]
movups xmm3, xmmword [esi + 0x30]
movups xmm7, xmmword [esi + 0x50]
movups xmm6, xmmword [esi + 0x60]
movups xmm2, xmmword [esi + 0x70]
pxor xmm1, xmm0
pxor xmm5, xmm0
movaps xmmword [ebp - 0x20], xmm1
pxor xmm4, xmm0
movups xmm1, xmmword [esi + 0x40]
pxor xmm3, xmm0
pxor xmm7, xmm0
pxor xmm1, xmm0
pxor xmm6, xmm0
pxor xmm2, xmm0
jmp 0x45ee9d
movaps xmm1, xmmword [ebp - 0x20]
add eax, 0x10
aesenc xmm1, xmm0
movaps xmmword [ebp - 0x20], xmm1
movaps xmm1, xmmword [ebp - 0x30]
aesenc xmm5, xmm0
aesenc xmm4, xmm0
aesenc xmm3, xmm0
aesenc xmm1, xmm0
aesenc xmm7, xmm0
aesenc xmm6, xmm0
aesenc xmm2, xmm0
movups xmm0, xmmword [eax]
movaps xmmword [ebp - 0x30], xmm1
cmp eax, dword [ebp - 4]
jb 0x45ee66
aesenclast xmm1, xmm0
movaps xmmword [ebp - 0x30], xmm1
mov eax, 0x80
movaps xmm1, xmmword [ebp - 0x20]
add esi, eax
aesenclast xmm1, xmm0
aesenclast xmm2, xmm0
aesenclast xmm5, xmm0
aesenclast xmm4, xmm0
aesenclast xmm3, xmm0
aesenclast xmm7, xmm0
aesenclast xmm6, xmm0
movaps xmmword [ebp - 0x20], xmm1
sub ecx, eax
movaps xmm0, xmmword [ebp - 0x20]
movaps xmm1, xmmword [ebp - 0x30]
movups xmmword [edx], xmm0
movups xmmword [edx + 0x10], xmm5
movups xmmword [edx + 0x20], xmm4
movups xmmword [edx + 0x30], xmm3
movups xmmword [edx + 0x40], xmm1
movups xmmword [edx + 0x50], xmm7
movups xmmword [edx + 0x60], xmm6
movups xmmword [edx + 0x70], xmm2
add edx, eax
sub dword [ebp - 8], 1
movaps xmmword [ebp - 0x50], xmm2
jne 0x45ee12
jmp 0x45ef43
movaps xmm1, xmmword [ebp - 0x20]
movaps xmm0, xmmword [ebp - 0x80]
movaps xmm5, xmmword [ebp - 0x50]
movaps xmm3, xmmword [ebp - 0x30]
movaps xmm4, xmmword [ebp - 0x40]
movaps xmm7, xmmword [ebp - 0x60]
movaps xmm6, xmmword [ebp - 0x70]
movaps xmmword [ebp - 0x30], xmm1
movaps xmmword [ebp - 0x50], xmm0
cmp ecx, 0x10
jb 0x45f104
movups xmm0, xmmword [esi]
movaps xmmword [ebp - 0x40], xmm0
cmp ecx, 0x20
jb 0x45ef8d
movups xmm5, xmmword [esi + 0x10]
cmp ecx, 0x30
jb 0x45ef8d
movups xmm4, xmmword [esi + 0x20]
cmp ecx, 0x40
jb 0x45ef8d
movups xmm3, xmmword [esi + 0x30]
cmp ecx, 0x50
jb 0x45ef8d
movups xmm1, xmmword [esi + 0x40]
movaps xmmword [ebp - 0x30], xmm1
cmp ecx, 0x60
jb 0x45ef8d
movups xmm7, xmmword [esi + 0x50]
cmp ecx, 0x70
jb 0x45ef8d
movups xmm6, xmmword [esi + 0x60]
mov esi, dword [edi + 0x1d0]
lea eax, [edi + 0x10]
movups xmm0, xmmword [edi]
cmp ecx, 0x50
jb 0x45f03f
movaps xmmword [ebp - 0x20], xmm0
movaps xmm2, xmm0
pxor xmm4, xmmword [ebp - 0x20]
pxor xmm5, xmm0
movaps xmm0, xmmword [ebp - 0x20]
pxor xmm0, xmmword [ebp - 0x50]
pxor xmm3, xmmword [ebp - 0x20]
pxor xmm1, xmmword [ebp - 0x20]
pxor xmm7, xmmword [ebp - 0x20]
pxor xmm6, xmmword [ebp - 0x20]
pxor xmm2, xmmword [ebp - 0x40]
movaps xmmword [ebp - 0x20], xmm0
jmp 0x45f015
aesenc xmm1, xmm0
movaps xmmword [ebp - 0x30], xmm1
add eax, 0x10
movaps xmm1, xmmword [ebp - 0x20]
aesenc xmm1, xmm0
movaps xmmword [ebp - 0x20], xmm1
movaps xmm1, xmmword [ebp - 0x30]
aesenc xmm2, xmm0
aesenc xmm5, xmm0
aesenc xmm4, xmm0
aesenc xmm3, xmm0
aesenc xmm7, xmm0
aesenc xmm6, xmm0
movups xmm0, xmmword [eax]
cmp eax, esi
jb 0x45efda
aesenclast xmm5, xmm0
aesenclast xmm4, xmm0
aesenclast xmm3, xmm0
aesenclast xmm1, xmm0
aesenclast xmm7, xmm0
aesenclast xmm6, xmm0
jmp 0x45f0c6
movups xmmword [ebp - 0x20], xmm0
cmp ecx, 0x20
jb 0x45f08f
pxor xmm4, xmmword [ebp - 0x20]
movaps xmm2, xmm0
pxor xmm2, xmmword [ebp - 0x40]
pxor xmm5, xmm0
pxor xmm3, xmmword [ebp - 0x20]
jmp 0x45f077
add eax, 0x10
aesenc xmm2, xmm0
aesenc xmm5, xmm0
aesenc xmm4, xmm0
aesenc xmm3, xmm0
movups xmm0, xmmword [eax]
cmp eax, esi
jb 0x45f060
aesenclast xmm5, xmm0
aesenclast xmm4, xmm0
aesenclast xmm3, xmm0
jmp 0x45f0c6
movups xmm0, xmmword [eax]
add eax, 0x10
movaps xmm2, xmmword [ebp - 0x20]
pxor xmm2, xmmword [ebp - 0x40]
aesenc xmm2, xmm0
cmp eax, esi
jae 0x45f0c3
movups xmm1, xmmword [eax]
movups xmm0, xmmword [eax + 0x10]
add eax, 0x20
aesenc xmm2, xmm1
aesenc xmm2, xmm0
cmp eax, esi
jb 0x45f0a7
movaps xmm1, xmmword [ebp - 0x30]
movups xmm0, xmmword [eax]
aesenclast xmm2, xmm0
movups xmmword [edx], xmm2
cmp ecx, 0x20
jb 0x45f104
movups xmmword [edx + 0x10], xmm5
cmp ecx, 0x30
jb 0x45f104
movups xmmword [edx + 0x20], xmm4
cmp ecx, 0x40
jb 0x45f104
movups xmmword [edx + 0x30], xmm3
cmp ecx, 0x50
jb 0x45f104
movups xmmword [edx + 0x40], xmm1
cmp ecx, 0x60
jb 0x45f104
movups xmmword [edx + 0x50], xmm7
cmp ecx, 0x70
jb 0x45f104
movups xmmword [edx + 0x60], xmm6
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8