Function at 0x47e126
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, 0x108
xor eax, eax
mov dword [ebp - 0x14], ecx
push esi
push edi
lea edi, [ebp - 0xc0]
mov ecx, dword [ebx + 0x10]
stosd dword es:[edi], eax
mov dword [ebp - 0x48], edx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0xd0]
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 - 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 - 0xb0]
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 - 0xa0]
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
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 - 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 - 0x10]
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 - 0xe0]
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 - 0xf0]
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 - 0x100]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
cmp ecx, 0x10
jb 0x47e62c
mov esi, dword [ebx + 0xc]
movups xmm0, xmmword [edx]
mov edx, dword [ebx + 8]
movaps xmmword [ebp - 0x90], xmm0
cmp ecx, 0x80
jb 0x47e3a1
mov edi, ecx
shr edi, 7
movups xmm0, xmmword [edx + 0x50]
mov eax, dword [ebp - 0x14]
movups xmm4, xmmword [edx]
mov ecx, dword [ebp - 0x14]
movups xmm3, xmmword [edx + 0x20]
mov eax, dword [eax + 0x1d0]
movups xmm2, xmmword [edx + 0x10]
mov ecx, dword [ecx + 0x1d4]
movups xmm6, xmmword [edx + 0x30]
mov dword [ebp - 0x44], ecx
movups xmm7, xmmword [edx + 0x40]
movaps xmmword [ebp - 0x60], xmm0
movaps xmm5, xmm2
movups xmm0, xmmword [edx + 0x60]
movups xmmword [ebp - 0xc0], xmm4
movups xmmword [ebp - 0x40], xmm0
movups xmm0, xmmword [edx + 0x70]
movaps xmmword [ebp - 0x80], xmm3
movups xmmword [ebp - 0xd0], xmm0
movups xmm0, xmmword [eax]
add eax, 0x10
movaps xmmword [ebp - 0x70], xmm2
cmp eax, ecx
movaps xmm2, xmmword [ebp - 0xd0]
movaps xmm1, xmm0
mov ecx, dword [ebx + 0x10]
pxor xmm1, xmm4
movaps xmm4, xmm3
movaps xmmword [ebp - 0xa0], xmm6
movaps xmm3, xmm6
movaps xmmword [ebp - 0x10], xmm1
movaps xmm6, xmmword [ebp - 0x60]
pxor xmm5, xmm0
movaps xmm1, xmmword [ebp - 0x40]
pxor xmm4, xmm0
movaps xmmword [ebp - 0xb0], xmm7
pxor xmm3, xmm0
pxor xmm7, xmm0
pxor xmm6, xmm0
pxor xmm1, xmm0
pxor xmm2, xmm0
jmp 0x47e2db
aesdec xmm1, xmm0
movaps xmmword [ebp - 0x10], xmm1
add eax, 0x10
movaps xmm1, xmmword [ebp - 0x30]
cmp eax, dword [ebp - 0x44]
aesdec xmm5, xmm0
aesdec xmm4, xmm0
aesdec xmm3, xmm0
aesdec xmm7, xmm0
aesdec xmm6, xmm0
aesdec xmm1, xmm0
aesdec xmm2, xmm0
movups xmm0, xmmword [eax]
movaps xmmword [ebp - 0x30], xmm1
movaps xmm1, xmmword [ebp - 0x10]
jb 0x47e2a5
aesdeclast xmm1, xmm0
pxor xmm1, xmmword [ebp - 0x90]
mov eax, 0x80
movaps xmmword [ebp - 0x10], xmm1
sub ecx, eax
movaps xmm1, xmmword [ebp - 0x30]
add edx, eax
aesdeclast xmm5, xmm0
pxor xmm5, xmmword [ebp - 0xc0]
aesdeclast xmm4, xmm0
pxor xmm4, xmmword [ebp - 0x70]
aesdeclast xmm3, xmm0
pxor xmm3, xmmword [ebp - 0x80]
aesdeclast xmm7, xmm0
pxor xmm7, xmmword [ebp - 0xa0]
aesdeclast xmm6, xmm0
pxor xmm6, xmmword [ebp - 0xb0]
aesdeclast xmm1, xmm0
pxor xmm1, xmmword [ebp - 0x60]
aesdeclast xmm2, xmm0
movups xmm0, xmmword [ebp - 0xd0]
mov dword [ebx + 0x10], ecx
pxor xmm2, xmmword [ebp - 0x40]
movaps xmmword [ebp - 0x90], xmm0
movaps xmm0, xmmword [ebp - 0x10]
movups xmmword [esi], xmm0
movups xmmword [esi + 0x10], xmm5
movups xmmword [esi + 0x20], xmm4
movups xmmword [esi + 0x30], xmm3
movups xmmword [esi + 0x40], xmm7
movups xmmword [esi + 0x50], xmm6
movups xmmword [esi + 0x60], xmm1
movups xmmword [esi + 0x70], xmm2
add esi, eax
movaps xmmword [ebp - 0x30], xmm1
movaps xmmword [ebp - 0xc0], xmm2
sub edi, 1
jne 0x47e1f9
jmp 0x47e40b
movaps xmm0, xmmword [ebp - 0x70]
movaps xmm2, xmmword [ebp - 0xe0]
movaps xmm5, xmmword [ebp - 0xc0]
movaps xmm6, xmmword [ebp - 0xa0]
movaps xmm7, xmmword [ebp - 0xb0]
movaps xmm1, xmmword [ebp - 0x80]
movaps xmm4, xmmword [ebp - 0xd0]
movaps xmm3, xmmword [ebp - 0x40]
movaps xmmword [ebp - 0xc0], xmm0
movaps xmm0, xmmword [ebp - 0x60]
movaps xmmword [ebp - 0xa0], xmm2
movaps xmm2, xmmword [ebp - 0xf0]
movaps xmmword [ebp - 0x70], xmm0
movaps xmm0, xmmword [ebp - 0x10]
movaps xmmword [ebp - 0xb0], xmm2
movaps xmm2, xmmword [ebp - 0x100]
movaps xmmword [ebp - 0x30], xmm1
movaps xmmword [ebp - 0x80], xmm0
movaps xmmword [ebp - 0x60], xmm2
cmp ecx, 0x10
jb 0x47e61f
movups xmm0, xmmword [edx]
movaps xmmword [ebp - 0x40], xmm0
cmp ecx, 0x20
jb 0x47e46f
movups xmm5, xmmword [edx + 0x10]
movaps xmmword [ebp - 0x70], xmm5
cmp ecx, 0x30
jb 0x47e46f
movups xmm4, xmmword [edx + 0x20]
movaps xmmword [ebp - 0x80], xmm4
cmp ecx, 0x40
jb 0x47e46f
movups xmm3, xmmword [edx + 0x30]
movaps xmmword [ebp - 0xa0], xmm3
cmp ecx, 0x50
jb 0x47e46f
movups xmm7, xmmword [edx + 0x40]
movaps xmmword [ebp - 0xb0], xmm7
cmp ecx, 0x60
jb 0x47e46f
movups xmm6, xmmword [edx + 0x50]
movaps xmmword [ebp - 0x60], xmm6
cmp ecx, 0x70
jb 0x47e46f
movups xmm1, xmmword [edx + 0x60]
movaps xmmword [ebp - 0x30], xmm1
mov edi, dword [ebp - 0x14]
mov eax, dword [edi + 0x1d0]
mov edi, dword [edi + 0x1d4]
cmp ecx, 0x40
jbe 0x47e54e
movups xmm0, xmmword [eax]
movaps xmmword [ebp - 0x10], xmm0
movaps xmm2, xmm0
pxor xmm4, xmmword [ebp - 0x10]
pxor xmm5, xmm0
movaps xmm0, xmmword [ebp - 0x10]
pxor xmm0, xmmword [ebp - 0xc0]
pxor xmm3, xmmword [ebp - 0x10]
pxor xmm7, xmmword [ebp - 0x10]
pxor xmm6, xmmword [ebp - 0x10]
pxor xmm1, xmmword [ebp - 0x10]
pxor xmm2, xmmword [ebp - 0x40]
movaps xmmword [ebp - 0x10], xmm0
jmp 0x47e4fd
aesdec xmm1, xmm0
movaps xmmword [ebp - 0x30], xmm1
movaps xmm1, xmmword [ebp - 0x10]
aesdec xmm1, xmm0
movaps xmmword [ebp - 0x10], xmm1
movaps xmm1, xmmword [ebp - 0x30]
aesdec xmm2, xmm0
aesdec xmm5, xmm0
aesdec xmm4, xmm0
aesdec xmm3, xmm0
aesdec xmm7, xmm0
aesdec xmm6, xmm0
add eax, 0x10
movups xmm0, xmmword [eax]
cmp eax, edi
jb 0x47e4c5
aesdeclast xmm5, xmm0
pxor xmm5, xmmword [ebp - 0x40]
aesdeclast xmm4, xmm0
pxor xmm4, xmmword [ebp - 0x70]
aesdeclast xmm3, xmm0
pxor xmm3, xmmword [ebp - 0x80]
aesdeclast xmm7, xmm0
pxor xmm7, xmmword [ebp - 0xa0]
aesdeclast xmm6, xmm0
pxor xmm6, xmmword [ebp - 0xb0]
aesdeclast xmm1, xmm0
pxor xmm1, xmmword [ebp - 0x60]
jmp 0x47e5d2
movups xmm2, xmmword [eax]
cmp ecx, 0x10
jbe 0x47e5ac
movaps xmm1, xmm2
pxor xmm2, xmm0
movaps xmm0, xmm1
pxor xmm3, xmm1
pxor xmm5, xmm0
pxor xmm4, xmm0
jmp 0x47e582
aesdec xmm2, xmm0
aesdec xmm5, xmm0
aesdec xmm4, xmm0
aesdec xmm3, xmm0
add eax, 0x10
movups xmm0, xmmword [eax]
cmp eax, edi
jb 0x47e56e
aesdeclast xmm5, xmm0
pxor xmm5, xmmword [ebp - 0x40]
aesdeclast xmm4, xmm0
pxor xmm4, xmmword [ebp - 0x70]
aesdeclast xmm3, xmm0
pxor xmm3, xmmword [ebp - 0x80]
jmp 0x47e5ce
pxor xmm2, xmmword [ebp - 0x40]
jmp 0x47e5bb
movups xmm1, xmmword [eax]
aesdec xmm2, xmm1
movups xmm0, xmmword [eax + 0x10]
add eax, 0x20
aesdec xmm2, xmm0
cmp eax, edi
jb 0x47e5b3
movups xmm0, xmmword [eax]
movaps xmm1, xmmword [ebp - 0x30]
aesdeclast xmm2, xmm0
pxor xmm2, xmmword [ebp - 0x90]
movups xmm0, xmmword [edx + ecx - 0x10]
movups xmmword [esi], xmm2
cmp ecx, 0x20
jb 0x47e626
movups xmmword [esi + 0x10], xmm5
cmp ecx, 0x30
jb 0x47e626
movups xmmword [esi + 0x20], xmm4
cmp ecx, 0x40
jb 0x47e626
movups xmmword [esi + 0x30], xmm3
cmp ecx, 0x50
jb 0x47e626
movups xmmword [esi + 0x40], xmm7
cmp ecx, 0x60
jb 0x47e626
movups xmmword [esi + 0x50], xmm6
cmp ecx, 0x70
jb 0x47e626
movups xmmword [esi + 0x60], xmm1
jmp 0x47e626
movaps xmm0, xmmword [ebp - 0x90]
mov eax, dword [ebp - 0x48]
movups xmmword [eax], xmm0
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc