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

Disassembly:
push ebp
push ebx
push esi
push edi
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
and eax, 0xfffffff0
je 0x48bae4
mov ecx, dword [edx + 0xf0]
test ebx, ebx
je 0x48b960
mov ebp, edx
mov ebx, ecx
cmp eax, 0x60
jb 0x48b87f
movdqu xmm2, xmmword [esi]
movdqu xmm3, xmmword [esi + 0x10]
movdqu xmm4, xmmword [esi + 0x20]
movdqu xmm5, xmmword [esi + 0x30]
movdqu xmm6, xmmword [esi + 0x40]
movdqu xmm7, xmmword [esi + 0x50]
lea esi, [esi + 0x60]
sub eax, 0x60
jmp 0x48b84a
movups xmmword [edi], xmm2
movdqu xmm2, xmmword [esi]
movups xmmword [edi + 0x10], xmm3
movdqu xmm3, xmmword [esi + 0x10]
movups xmmword [edi + 0x20], xmm4
movdqu xmm4, xmmword [esi + 0x20]
movups xmmword [edi + 0x30], xmm5
movdqu xmm5, xmmword [esi + 0x30]
movups xmmword [edi + 0x40], xmm6
movdqu xmm6, xmmword [esi + 0x40]
movups xmmword [edi + 0x50], xmm7
lea edi, [edi + 0x60]
movdqu xmm7, xmmword [esi + 0x50]
lea esi, [esi + 0x60]
call fcn.0048b5e0
mov edx, ebp
mov ecx, ebx
sub eax, 0x60
jae 0x48b810
movups xmmword [edi], xmm2
movups xmmword [edi + 0x10], xmm3
movups xmmword [edi + 0x20], xmm4
movups xmmword [edi + 0x30], xmm5
movups xmmword [edi + 0x40], xmm6
movups xmmword [edi + 0x50], xmm7
lea edi, [edi + 0x60]
add eax, 0x60
je 0x48bae4
movups xmm2, xmmword [esi]
cmp eax, 0x20
jb 0x48b8d0
movups xmm3, xmmword [esi + 0x10]
je 0x48b900
movups xmm4, xmmword [esi + 0x20]
cmp eax, 0x40
jb 0x48b920
movups xmm5, xmmword [esi + 0x30]
je 0x48b940
movups xmm6, xmmword [esi + 0x40]
xorps xmm7, xmm7
call fcn.0048b5e0
movups xmmword [edi], xmm2
movups xmmword [edi + 0x10], xmm3
movups xmmword [edi + 0x20], xmm4
movups xmmword [edi + 0x30], xmm5
movups xmmword [edi + 0x40], xmm6
jmp 0x48bae4
movups xmm0, xmmword [edx]
movups xmm1, xmmword [edx + 0x10]
lea edx, [edx + 0x20]
xorps xmm2, xmm0
aesenc xmm2, xmm1
dec ecx
movups xmm1, xmmword [edx]
lea edx, [edx + 0x10]
jne 0x48b8dd
aesenclast xmm2, xmm1
movups xmmword [edi], xmm2
jmp 0x48bae4
xorps xmm4, xmm4
call fcn.0048b400
movups xmmword [edi], xmm2
movups xmmword [edi + 0x10], xmm3
jmp 0x48bae4
call fcn.0048b400
movups xmmword [edi], xmm2
movups xmmword [edi + 0x10], xmm3
movups xmmword [edi + 0x20], xmm4
jmp 0x48bae4
call fcn.0048b4e0
movups xmmword [edi], xmm2
movups xmmword [edi + 0x10], xmm3
movups xmmword [edi + 0x20], xmm4
movups xmmword [edi + 0x30], xmm5
jmp 0x48bae4
mov ebp, edx
mov ebx, ecx
cmp eax, 0x60
jb 0x48ba0f
movdqu xmm2, xmmword [esi]
movdqu xmm3, xmmword [esi + 0x10]
movdqu xmm4, xmmword [esi + 0x20]
movdqu xmm5, xmmword [esi + 0x30]
movdqu xmm6, xmmword [esi + 0x40]
movdqu xmm7, xmmword [esi + 0x50]
lea esi, [esi + 0x60]
sub eax, 0x60
jmp 0x48b9da
movups xmmword [edi], xmm2
movdqu xmm2, xmmword [esi]
movups xmmword [edi + 0x10], xmm3
movdqu xmm3, xmmword [esi + 0x10]
movups xmmword [edi + 0x20], xmm4
movdqu xmm4, xmmword [esi + 0x20]
movups xmmword [edi + 0x30], xmm5
movdqu xmm5, xmmword [esi + 0x30]
movups xmmword [edi + 0x40], xmm6
movdqu xmm6, xmmword [esi + 0x40]
movups xmmword [edi + 0x50], xmm7
lea edi, [edi + 0x60]
movdqu xmm7, xmmword [esi + 0x50]
lea esi, [esi + 0x60]
call fcn.0048b6c0
mov edx, ebp
mov ecx, ebx
sub eax, 0x60
jae 0x48b9a0
movups xmmword [edi], xmm2
movups xmmword [edi + 0x10], xmm3
movups xmmword [edi + 0x20], xmm4
movups xmmword [edi + 0x30], xmm5
movups xmmword [edi + 0x40], xmm6
movups xmmword [edi + 0x50], xmm7
lea edi, [edi + 0x60]
add eax, 0x60
je 0x48bae4
movups xmm2, xmmword [esi]
cmp eax, 0x20
jb 0x48ba60
movups xmm3, xmmword [esi + 0x10]
je 0x48ba90
movups xmm4, xmmword [esi + 0x20]
cmp eax, 0x40
jb 0x48bab0
movups xmm5, xmmword [esi + 0x30]
je 0x48bad0
movups xmm6, xmmword [esi + 0x40]
xorps xmm7, xmm7
call fcn.0048b6c0
movups xmmword [edi], xmm2
movups xmmword [edi + 0x10], xmm3
movups xmmword [edi + 0x20], xmm4
movups xmmword [edi + 0x30], xmm5
movups xmmword [edi + 0x40], xmm6
jmp 0x48bae4
movups xmm0, xmmword [edx]
movups xmm1, xmmword [edx + 0x10]
lea edx, [edx + 0x20]
xorps xmm2, xmm0
aesdec xmm2, xmm1
dec ecx
movups xmm1, xmmword [edx]
lea edx, [edx + 0x10]
jne 0x48ba6d
aesdeclast xmm2, xmm1
movups xmmword [edi], xmm2
jmp 0x48bae4
xorps xmm4, xmm4
call fcn.0048b470
movups xmmword [edi], xmm2
movups xmmword [edi + 0x10], xmm3
jmp 0x48bae4
call fcn.0048b470
movups xmmword [edi], xmm2
movups xmmword [edi + 0x10], xmm3
movups xmmword [edi + 0x20], xmm4
jmp 0x48bae4
call fcn.0048b560
movups xmmword [edi], xmm2
movups xmmword [edi + 0x10], xmm3
movups xmmword [edi + 0x20], xmm4
movups xmmword [edi + 0x30], xmm5
pop edi
pop esi
pop ebx
pop ebp
ret