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

Disassembly:
mov qword [rsp + 8], rdi
mov qword [rsp + 0x10], rsi
mov rax, rsp
mov rdi, rcx
mov rsi, rdx
mov rdx, r8
mov rcx, r9
mov r8, qword [rsp + 0x28]
lea rsp, [rsp - 0x58]
movaps xmmword [rsp], xmm6
movaps xmmword [rsp + 0x10], xmm7
movaps xmmword [rsp + 0x20], xmm8
movaps xmmword [rsp + 0x30], xmm9
and rdx, 0xfffffffffffffff0
je 0x4e9f84
mov eax, dword [rcx + 0xf0]
movups xmm0, xmmword [rcx]
mov r11, rcx
mov r10d, eax
test r8d, r8d
je 0x4e9ca0
cmp rdx, 0x80
jb 0x4e9b47
movdqu xmm2, xmmword [rdi]
movdqu xmm3, xmmword [rdi + 0x10]
movdqu xmm4, xmmword [rdi + 0x20]
movdqu xmm5, xmmword [rdi + 0x30]
movdqu xmm6, xmmword [rdi + 0x40]
movdqu xmm7, xmmword [rdi + 0x50]
movdqu xmm8, xmmword [rdi + 0x60]
movdqu xmm9, xmmword [rdi + 0x70]
lea rdi, [rdi + 0x80]
sub rdx, 0x80
jmp 0x4e9afe
movups xmmword [rsi], xmm2
mov rcx, r11
movdqu xmm2, xmmword [rdi]
mov eax, r10d
movups xmmword [rsi + 0x10], xmm3
movdqu xmm3, xmmword [rdi + 0x10]
movups xmmword [rsi + 0x20], xmm4
movdqu xmm4, xmmword [rdi + 0x20]
movups xmmword [rsi + 0x30], xmm5
movdqu xmm5, xmmword [rdi + 0x30]
movups xmmword [rsi + 0x40], xmm6
movdqu xmm6, xmmword [rdi + 0x40]
movups xmmword [rsi + 0x50], xmm7
movdqu xmm7, xmmword [rdi + 0x50]
movups xmmword [rsi + 0x60], xmm8
movdqu xmm8, xmmword [rdi + 0x60]
movups xmmword [rsi + 0x70], xmm9
lea rsi, [rsi + 0x80]
movdqu xmm9, xmmword [rdi + 0x70]
lea rdi, [rdi + 0x80]
call sym._aesni_encrypt8
sub rdx, 0x80
jae 0x4e9aa0
movups xmmword [rsi], xmm2
mov rcx, r11
movups xmmword [rsi + 0x10], xmm3
mov eax, r10d
movups xmmword [rsi + 0x20], xmm4
movups xmmword [rsi + 0x30], xmm5
movups xmmword [rsi + 0x40], xmm6
movups xmmword [rsi + 0x50], xmm7
movups xmmword [rsi + 0x60], xmm8
movups xmmword [rsi + 0x70], xmm9
lea rsi, [rsi + 0x80]
add rdx, 0x80
je 0x4e9f84
movups xmm2, xmmword [rdi]
cmp rdx, 0x20
jb 0x4e9bc0
movups xmm3, xmmword [rdi + 0x10]
je 0x4e9bf0
movups xmm4, xmmword [rdi + 0x20]
cmp rdx, 0x40
jb 0x4e9c10
movups xmm5, xmmword [rdi + 0x30]
je 0x4e9c30
movups xmm6, xmmword [rdi + 0x40]
cmp rdx, 0x60
jb 0x4e9c50
movups xmm7, xmmword [rdi + 0x50]
je 0x4e9c70
movdqu xmm8, xmmword [rdi + 0x60]
xorps xmm9, xmm9
call sym._aesni_encrypt8
movups xmmword [rsi], xmm2
movups xmmword [rsi + 0x10], xmm3
movups xmmword [rsi + 0x20], xmm4
movups xmmword [rsi + 0x30], xmm5
movups xmmword [rsi + 0x40], xmm6
movups xmmword [rsi + 0x50], xmm7
movups xmmword [rsi + 0x60], xmm8
jmp 0x4e9f84
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
lea rcx, [rcx + 0x20]
xorps xmm2, xmm0
aesenc xmm2, xmm1
dec eax
movups xmm1, xmmword [rcx]
lea rcx, [rcx + 0x10]
jne 0x4e9bce
aesenclast xmm2, xmm1
movups xmmword [rsi], xmm2
jmp 0x4e9f84
call sym._aesni_encrypt2
movups xmmword [rsi], xmm2
movups xmmword [rsi + 0x10], xmm3
jmp 0x4e9f84
call sym._aesni_encrypt3
movups xmmword [rsi], xmm2
movups xmmword [rsi + 0x10], xmm3
movups xmmword [rsi + 0x20], xmm4
jmp 0x4e9f84
call sym._aesni_encrypt4
movups xmmword [rsi], xmm2
movups xmmword [rsi + 0x10], xmm3
movups xmmword [rsi + 0x20], xmm4
movups xmmword [rsi + 0x30], xmm5
jmp 0x4e9f84
xorps xmm7, xmm7
call sym._aesni_encrypt6
movups xmmword [rsi], xmm2
movups xmmword [rsi + 0x10], xmm3
movups xmmword [rsi + 0x20], xmm4
movups xmmword [rsi + 0x30], xmm5
movups xmmword [rsi + 0x40], xmm6
jmp 0x4e9f84
call sym._aesni_encrypt6
movups xmmword [rsi], xmm2
movups xmmword [rsi + 0x10], xmm3
movups xmmword [rsi + 0x20], xmm4
movups xmmword [rsi + 0x30], xmm5
movups xmmword [rsi + 0x40], xmm6
movups xmmword [rsi + 0x50], xmm7
jmp 0x4e9f84
cmp rdx, 0x80
jb 0x4e9dbd
movdqu xmm2, xmmword [rdi]
movdqu xmm3, xmmword [rdi + 0x10]
movdqu xmm4, xmmword [rdi + 0x20]
movdqu xmm5, xmmword [rdi + 0x30]
movdqu xmm6, xmmword [rdi + 0x40]
movdqu xmm7, xmmword [rdi + 0x50]
movdqu xmm8, xmmword [rdi + 0x60]
movdqu xmm9, xmmword [rdi + 0x70]
lea rdi, [rdi + 0x80]
sub rdx, 0x80
jmp 0x4e9d4e
movups xmmword [rsi], xmm2
mov rcx, r11
movdqu xmm2, xmmword [rdi]
mov eax, r10d
movups xmmword [rsi + 0x10], xmm3
movdqu xmm3, xmmword [rdi + 0x10]
movups xmmword [rsi + 0x20], xmm4
movdqu xmm4, xmmword [rdi + 0x20]
movups xmmword [rsi + 0x30], xmm5
movdqu xmm5, xmmword [rdi + 0x30]
movups xmmword [rsi + 0x40], xmm6
movdqu xmm6, xmmword [rdi + 0x40]
movups xmmword [rsi + 0x50], xmm7
movdqu xmm7, xmmword [rdi + 0x50]
movups xmmword [rsi + 0x60], xmm8
movdqu xmm8, xmmword [rdi + 0x60]
movups xmmword [rsi + 0x70], xmm9
lea rsi, [rsi + 0x80]
movdqu xmm9, xmmword [rdi + 0x70]
lea rdi, [rdi + 0x80]
call sym._aesni_decrypt8
movups xmm0, xmmword [r11]
sub rdx, 0x80
jae 0x4e9cf0
movups xmmword [rsi], xmm2
pxor xmm2, xmm2
mov rcx, r11
movups xmmword [rsi + 0x10], xmm3
pxor xmm3, xmm3
mov eax, r10d
movups xmmword [rsi + 0x20], xmm4
pxor xmm4, xmm4
movups xmmword [rsi + 0x30], xmm5
pxor xmm5, xmm5
movups xmmword [rsi + 0x40], xmm6
pxor xmm6, xmm6
movups xmmword [rsi + 0x50], xmm7
pxor xmm7, xmm7
movups xmmword [rsi + 0x60], xmm8
pxor xmm8, xmm8
movups xmmword [rsi + 0x70], xmm9
pxor xmm9, xmm9
lea rsi, [rsi + 0x80]
add rdx, 0x80
je 0x4e9f84
movups xmm2, xmmword [rdi]
cmp rdx, 0x20
jb 0x4e9e60
movups xmm3, xmmword [rdi + 0x10]
je 0x4e9e90
movups xmm4, xmmword [rdi + 0x20]
cmp rdx, 0x40
jb 0x4e9eb0
movups xmm5, xmmword [rdi + 0x30]
je 0x4e9ee0
movups xmm6, xmmword [rdi + 0x40]
cmp rdx, 0x60
jb 0x4e9f10
movups xmm7, xmmword [rdi + 0x50]
je 0x4e9f50
movups xmm8, xmmword [rdi + 0x60]
movups xmm0, xmmword [rcx]
xorps xmm9, xmm9
call sym._aesni_decrypt8
movups xmmword [rsi], xmm2
pxor xmm2, xmm2
movups xmmword [rsi + 0x10], xmm3
pxor xmm3, xmm3
movups xmmword [rsi + 0x20], xmm4
pxor xmm4, xmm4
movups xmmword [rsi + 0x30], xmm5
pxor xmm5, xmm5
movups xmmword [rsi + 0x40], xmm6
pxor xmm6, xmm6
movups xmmword [rsi + 0x50], xmm7
pxor xmm7, xmm7
movups xmmword [rsi + 0x60], xmm8
pxor xmm8, xmm8
pxor xmm9, xmm9
jmp 0x4e9f84
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
lea rcx, [rcx + 0x20]
xorps xmm2, xmm0
aesdec xmm2, xmm1
dec eax
movups xmm1, xmmword [rcx]
lea rcx, [rcx + 0x10]
jne 0x4e9e6e
aesdeclast xmm2, xmm1
movups xmmword [rsi], xmm2
pxor xmm2, xmm2
jmp 0x4e9f84
call sym._aesni_decrypt2
movups xmmword [rsi], xmm2
pxor xmm2, xmm2
movups xmmword [rsi + 0x10], xmm3
pxor xmm3, xmm3
jmp 0x4e9f84
call sym._aesni_decrypt3
movups xmmword [rsi], xmm2
pxor xmm2, xmm2
movups xmmword [rsi + 0x10], xmm3
pxor xmm3, xmm3
movups xmmword [rsi + 0x20], xmm4
pxor xmm4, xmm4
jmp 0x4e9f84
call sym._aesni_decrypt4
movups xmmword [rsi], xmm2
pxor xmm2, xmm2
movups xmmword [rsi + 0x10], xmm3
pxor xmm3, xmm3
movups xmmword [rsi + 0x20], xmm4
pxor xmm4, xmm4
movups xmmword [rsi + 0x30], xmm5
pxor xmm5, xmm5
jmp 0x4e9f84
xorps xmm7, xmm7
call sym._aesni_decrypt6
movups xmmword [rsi], xmm2
pxor xmm2, xmm2
movups xmmword [rsi + 0x10], xmm3
pxor xmm3, xmm3
movups xmmword [rsi + 0x20], xmm4
pxor xmm4, xmm4
movups xmmword [rsi + 0x30], xmm5
pxor xmm5, xmm5
movups xmmword [rsi + 0x40], xmm6
pxor xmm6, xmm6
pxor xmm7, xmm7
jmp 0x4e9f84
call sym._aesni_decrypt6
movups xmmword [rsi], xmm2
pxor xmm2, xmm2
movups xmmword [rsi + 0x10], xmm3
pxor xmm3, xmm3
movups xmmword [rsi + 0x20], xmm4
pxor xmm4, xmm4
movups xmmword [rsi + 0x30], xmm5
pxor xmm5, xmm5
movups xmmword [rsi + 0x40], xmm6
pxor xmm6, xmm6
movups xmmword [rsi + 0x50], xmm7
pxor xmm7, xmm7
xorps xmm0, xmm0
pxor xmm1, xmm1
movaps xmm6, xmmword [rsp]
movaps xmmword [rsp], xmm0
movaps xmm7, xmmword [rsp + 0x10]
movaps xmmword [rsp + 0x10], xmm0
movaps xmm8, xmmword [rsp + 0x20]
movaps xmmword [rsp + 0x20], xmm0
movaps xmm9, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x30], xmm0
lea rsp, [rsp + 0x58]
mov rdi, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
repz ret