Function at 0x47ce8e
Capabilities:
Decrypt 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, 0xe8
push esi
mov esi, dword [ebx + 0x10]
mov eax, edx
mov dword [ebp - 0x38], eax
push edi
mov edi, ecx
mov dword [ebp - 4], edi
cmp esi, 0x10
jb 0x47d2e4
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
movups xmm0, xmmword [eax]
movaps xmmword [ebp - 0x50], xmm0
cmp esi, 0x80
jb 0x47d0a8
mov eax, esi
shr eax, 7
movups xmm0, xmmword [edx + 0x40]
mov edi, dword [edi + 0x1d0]
movups xmm4, xmmword [edx]
mov esi, dword [ebp - 4]
movups xmm3, xmmword [edx + 0x20]
movups xmm2, xmmword [edi]
mov esi, dword [esi + 0x1d4]
add edi, 0x10
movups xmm1, xmmword [edx + 0x10]
mov dword [ebp - 0x34], esi
cmp edi, esi
movups xmm6, xmmword [edx + 0x30]
mov esi, dword [ebx + 0x10]
movaps xmmword [ebp - 0x60], xmm0
movaps xmm5, xmm2
movups xmm0, xmmword [edx + 0x50]
movaps xmmword [ebp - 0x20], xmm4
pxor xmm5, xmm1
movaps xmmword [ebp - 0x70], xmm0
movaps xmm7, xmm2
movups xmm0, xmmword [edx + 0x60]
pxor xmm7, xmmword [ebp - 0x60]
movaps xmmword [ebp - 0xa0], xmm0
movups xmm0, xmmword [edx + 0x70]
movaps xmmword [ebp - 0x90], xmm3
movaps xmmword [ebp - 0xd0], xmm0
movaps xmm0, xmm2
pxor xmm0, xmm4
movaps xmmword [ebp - 0x80], xmm1
movaps xmm4, xmm2
movaps xmmword [ebp - 0xb0], xmm6
pxor xmm4, xmm3
movaps xmmword [ebp - 0xc0], xmm0
movaps xmm3, xmm2
movaps xmm1, xmm2
pxor xmm1, xmmword [ebp - 0xa0]
pxor xmm3, xmm6
movaps xmm6, xmm2
movaps xmmword [ebp - 0x30], xmm1
pxor xmm2, xmmword [ebp - 0xd0]
pxor xmm6, xmmword [ebp - 0x70]
movaps xmmword [ebp - 0xe0], xmm2
jae 0x47cfec
movups xmm0, xmmword [edi]
add edi, 0x10
movaps xmm1, xmmword [ebp - 0xc0]
aesdec xmm1, xmm0
movaps xmmword [ebp - 0xc0], xmm1
movaps xmm1, xmmword [ebp - 0x30]
aesdec xmm1, xmm0
aesdec xmm5, xmm0
aesdec xmm4, xmm0
aesdec xmm3, xmm0
aesdec xmm7, xmm0
aesdec xmm6, xmm0
movaps xmmword [ebp - 0x30], xmm1
aesdec xmm2, xmm0
cmp edi, dword [ebp - 0x34]
jb 0x47cf9c
movaps xmmword [ebp - 0xe0], xmm2
movups xmm0, xmmword [edi]
mov edi, 0x80
movaps xmm2, xmmword [ebp - 0xc0]
sub esi, edi
aesdeclast xmm2, xmm0
pxor xmm2, xmmword [ebp - 0x50]
add edx, edi
movups xmmword [ecx], xmm2
aesdeclast xmm1, xmm0
pxor xmm1, xmmword [ebp - 0x70]
movaps xmm2, xmmword [ebp - 0xe0]
aesdeclast xmm5, xmm0
pxor xmm5, xmmword [ebp - 0x20]
movups xmmword [ecx + 0x10], xmm5
aesdeclast xmm4, xmm0
pxor xmm4, xmmword [ebp - 0x80]
movups xmmword [ecx + 0x20], xmm4
aesdeclast xmm3, xmm0
pxor xmm3, xmmword [ebp - 0x90]
movaps xmmword [ebp - 0x30], xmm1
movaps xmm1, xmmword [ebp - 0xd0]
movups xmmword [ecx + 0x30], xmm3
aesdeclast xmm7, xmm0
pxor xmm7, xmmword [ebp - 0xb0]
aesdeclast xmm6, xmm0
pxor xmm6, xmmword [ebp - 0x60]
movups xmmword [ecx + 0x40], xmm7
aesdeclast xmm2, xmm0
pxor xmm2, xmmword [ebp - 0xa0]
movaps xmmword [ebp - 0x50], xmm1
movaps xmm1, xmmword [ebp - 0x30]
movups xmmword [ecx + 0x50], xmm6
mov dword [ebx + 0x10], esi
movups xmmword [ecx + 0x60], xmm1
movups xmmword [ecx + 0x70], xmm2
add ecx, edi
mov edi, dword [ebp - 4]
sub eax, 1
jne 0x47cee1
movaps xmm0, xmmword [ebp - 0x50]
jmp 0x47d0f2
movaps xmm2, xmmword [ebp - 0x20]
movaps xmm1, xmmword [ebp - 0x20]
movaps xmm5, xmmword [ebp - 0x20]
movaps xmm4, xmmword [ebp - 0x20]
movaps xmm3, xmmword [ebp - 0x20]
movaps xmm7, xmmword [ebp - 0x20]
movaps xmm6, xmmword [ebp - 0x20]
movaps xmmword [ebp - 0x80], xmm2
movaps xmm2, xmmword [ebp - 0x20]
movaps xmmword [ebp - 0x90], xmm2
movaps xmm2, xmmword [ebp - 0x20]
movaps xmmword [ebp - 0xb0], xmm2
movaps xmm2, xmmword [ebp - 0x20]
movaps xmmword [ebp - 0x60], xmm2
movaps xmm2, xmmword [ebp - 0x20]
movaps xmmword [ebp - 0x70], xmm2
movaps xmmword [ebp - 0x30], xmm1
cmp esi, 0x10
jb 0x47d2de
movups xmm0, xmmword [edx]
movaps xmmword [ebp - 0xa0], xmm0
cmp esi, 0x20
jb 0x47d159
movups xmm5, xmmword [edx + 0x10]
movaps xmmword [ebp - 0x80], xmm5
cmp esi, 0x30
jb 0x47d159
movups xmm4, xmmword [edx + 0x20]
movaps xmmword [ebp - 0x90], xmm4
cmp esi, 0x40
jb 0x47d159
movups xmm3, xmmword [edx + 0x30]
movaps xmmword [ebp - 0xb0], xmm3
cmp esi, 0x50
jb 0x47d159
movups xmm7, xmmword [edx + 0x40]
movaps xmmword [ebp - 0x60], xmm7
cmp esi, 0x60
jb 0x47d159
movups xmm6, xmmword [edx + 0x50]
movaps xmmword [ebp - 0x70], xmm6
cmp esi, 0x70
jb 0x47d159
movups xmm1, xmmword [edx + 0x60]
movaps xmmword [ebp - 0x30], xmm1
mov eax, dword [edi + 0x1d0]
mov edi, dword [edi + 0x1d4]
cmp esi, 0x40
jbe 0x47d20d
movups xmm1, xmmword [eax]
movaps xmm2, xmm1
pxor xmm2, xmm0
movaps xmm0, xmm1
pxor xmm1, xmmword [ebp - 0x30]
pxor xmm5, xmm0
pxor xmm4, xmm0
pxor xmm3, xmm0
pxor xmm7, xmm0
pxor xmm6, xmm0
jmp 0x47d1b9
aesdec xmm2, xmm0
aesdec xmm5, xmm0
aesdec xmm4, xmm0
aesdec xmm3, xmm0
aesdec xmm7, xmm0
aesdec xmm6, xmm0
aesdec xmm1, xmm0
add eax, 0x10
movups xmm0, xmmword [eax]
cmp eax, edi
jb 0x47d196
aesdeclast xmm5, xmm0
pxor xmm5, xmmword [ebp - 0xa0]
aesdeclast xmm4, xmm0
pxor xmm4, xmmword [ebp - 0x80]
aesdeclast xmm3, xmm0
pxor xmm3, xmmword [ebp - 0x90]
aesdeclast xmm7, xmm0
pxor xmm7, xmmword [ebp - 0xb0]
aesdeclast xmm6, xmm0
pxor xmm6, xmmword [ebp - 0x60]
aesdeclast xmm1, xmm0
pxor xmm1, xmmword [ebp - 0x70]
jmp 0x47d296
cmp esi, 0x10
jbe 0x47d275
movups xmm1, xmmword [eax]
movaps xmm2, xmm1
pxor xmm3, xmm1
pxor xmm2, xmm0
movaps xmm0, xmm1
pxor xmm5, xmm0
pxor xmm4, xmm0
jmp 0x47d241
aesdec xmm2, xmm0
aesdec xmm5, xmm0
aesdec xmm4, xmm0
aesdec xmm3, xmm0
add eax, 0x10
movups xmm0, xmmword [eax]
cmp eax, edi
jb 0x47d22d
movaps xmm1, xmmword [ebp - 0x30]
aesdeclast xmm5, xmm0
pxor xmm5, xmmword [ebp - 0xa0]
aesdeclast xmm4, xmm0
pxor xmm4, xmmword [ebp - 0x80]
aesdeclast xmm3, xmm0
pxor xmm3, xmmword [ebp - 0x90]
jmp 0x47d296
movups xmm2, xmmword [eax]
pxor xmm2, xmm0
jmp 0x47d283
aesdec xmm2, xmm0
movups xmm0, xmmword [eax + 0x10]
add eax, 0x20
aesdec xmm2, xmm0
movups xmm0, xmmword [eax]
cmp eax, edi
jb 0x47d27e
aesdeclast xmm2, xmm0
pxor xmm2, xmmword [ebp - 0x50]
movups xmm0, xmmword [edx + esi - 0x10]
movups xmmword [ecx], xmm2
cmp esi, 0x20
jb 0x47d2de
movups xmmword [ecx + 0x10], xmm5
cmp esi, 0x30
jb 0x47d2de
movups xmmword [ecx + 0x20], xmm4
cmp esi, 0x40
jb 0x47d2de
movups xmmword [ecx + 0x30], xmm3
cmp esi, 0x50
jb 0x47d2de
movups xmmword [ecx + 0x40], xmm7
cmp esi, 0x60
jb 0x47d2de
movups xmmword [ecx + 0x50], xmm6
cmp esi, 0x70
jb 0x47d2de
movups xmmword [ecx + 0x60], xmm1
mov eax, dword [ebp - 0x38]
movups xmmword [eax], xmm0
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc