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

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x10
mov rdi, qword [rsp + 0x50]
movdqu xmmword [rsp], xmm6
movdqa xmm6, xmmword [0x14027fa20]
movdqa xmm5, xmmword [r9]
cmp rdi, 3
jbe 0x140135b1f
lea rbx, [0x14027f9e0]
mov r11, rdi
mov r10, r8
mov rax, rdx
nop dword [rax + rax]
cmp byte [r9 + 0xf], 0xfb
ja 0x1401358a4
movdqa xmm0, xmm5
movdqa xmm2, xmmword [rbx]
movdqa xmm3, xmmword [rbx + 0x10]
movdqa xmm4, xmmword [rbx + 0x20]
movdqa xmm5, xmmword [rbx + 0x30]
paddb xmm2, xmm0
paddb xmm3, xmm0
paddb xmm4, xmm0
paddb xmm5, xmm0
movdqa xmm1, xmmword [rcx]
jmp 0x14013591e
movdqa xmm0, xmm5
movdqa xmm2, xmm0
pcmpeqd xmm1, xmm1
psrldq xmm1, 8
pshufb xmm2, xmm6
psubq xmm2, xmm1
movdqa xmm3, xmm2
psubq xmm3, xmm1
movdqa xmm4, xmm3
psubq xmm4, xmm1
movdqa xmm5, xmm4
psubq xmm5, xmm1
cmp dword [r9 + 8], 0xffffffff
jne 0x140135906
mov esi, dword [r9 + 0xc]
bswap esi
cmp esi, 0xfffffffc
jb 0x140135906
pslldq xmm1, 8
je 0x140135902
cmp esi, 0xfffffffe
jb 0x1401358fe
je 0x1401358fa
psubq xmm2, xmm1
psubq xmm3, xmm1
psubq xmm4, xmm1
psubq xmm5, xmm1
movdqa xmm1, xmmword [rcx]
pshufb xmm2, xmm6
pshufb xmm3, xmm6
pshufb xmm4, xmm6
pshufb xmm5, xmm6
movdqa xmmword [r9], xmm5
mov esi, dword [rcx + 0x1e0]
pxor xmm0, xmm1
pxor xmm2, xmm1
pxor xmm3, xmm1
pxor xmm4, xmm1
movdqa xmm1, xmmword [rcx + 0x10]
aesenc xmm0, xmm1
aesenc xmm2, xmm1
aesenc xmm3, xmm1
aesenc xmm4, xmm1
movdqa xmm1, xmmword [rcx + 0x20]
aesenc xmm0, xmm1
aesenc xmm2, xmm1
aesenc xmm3, xmm1
aesenc xmm4, xmm1
movdqa xmm1, xmmword [rcx + 0x30]
aesenc xmm0, xmm1
aesenc xmm2, xmm1
aesenc xmm3, xmm1
aesenc xmm4, xmm1
movdqa xmm1, xmmword [rcx + 0x40]
aesenc xmm0, xmm1
aesenc xmm2, xmm1
aesenc xmm3, xmm1
aesenc xmm4, xmm1
movdqa xmm1, xmmword [rcx + 0x50]
aesenc xmm0, xmm1
aesenc xmm2, xmm1
aesenc xmm3, xmm1
aesenc xmm4, xmm1
movdqa xmm1, xmmword [rcx + 0x60]
aesenc xmm0, xmm1
aesenc xmm2, xmm1
aesenc xmm3, xmm1
aesenc xmm4, xmm1
movdqa xmm1, xmmword [rcx + 0x70]
aesenc xmm0, xmm1
aesenc xmm2, xmm1
aesenc xmm3, xmm1
aesenc xmm4, xmm1
movdqa xmm1, xmmword [rcx + 0x80]
aesenc xmm0, xmm1
aesenc xmm2, xmm1
aesenc xmm3, xmm1
aesenc xmm4, xmm1
movdqa xmm1, xmmword [rcx + 0x90]
aesenc xmm0, xmm1
aesenc xmm2, xmm1
aesenc xmm3, xmm1
aesenc xmm4, xmm1
movdqa xmm1, xmmword [rcx + 0xa0]
cmp esi, 0xa
je 0x140135aa2
aesenc xmm0, xmm1
aesenc xmm2, xmm1
aesenc xmm3, xmm1
aesenc xmm4, xmm1
movdqa xmm1, xmmword [rcx + 0xb0]
aesenc xmm0, xmm1
aesenc xmm2, xmm1
aesenc xmm3, xmm1
aesenc xmm4, xmm1
movdqa xmm1, xmmword [rcx + 0xc0]
cmp esi, 0xc
je 0x140135aa2
aesenc xmm0, xmm1
aesenc xmm2, xmm1
aesenc xmm3, xmm1
aesenc xmm4, xmm1
movdqa xmm1, xmmword [rcx + 0xd0]
aesenc xmm0, xmm1
aesenc xmm2, xmm1
aesenc xmm3, xmm1
aesenc xmm4, xmm1
movdqa xmm1, xmmword [rcx + 0xe0]
aesenclast xmm0, xmm1
aesenclast xmm2, xmm1
aesenclast xmm3, xmm1
aesenclast xmm4, xmm1
movdqu xmm1, xmmword [r10]
pxor xmm0, xmm1
movdqu xmmword [rax], xmm0
movdqu xmm1, xmmword [r10 + 0x10]
pxor xmm2, xmm1
movdqu xmmword [rax + 0x10], xmm2
movdqu xmm1, xmmword [r10 + 0x20]
pxor xmm3, xmm1
movdqu xmmword [rax + 0x20], xmm3
movdqu xmm1, xmmword [r10 + 0x30]
pxor xmm4, xmm1
movdqu xmmword [rax + 0x30], xmm4
sub r11, 4
add rax, 0x40
add r10, 0x40
cmp r11, 3
ja 0x140135870
lea rax, [rdi - 4]
and edi, 3
shr rax, 2
add rax, 1
shl rax, 6
add rdx, rax
add r8, rax
mov rax, rdi
shl rax, 4
add rax, rdx
test rdi, rdi
je 0x140135c4c
nop dword [rax]
nop word cs:[rax + rax]
movdqa xmm0, xmm5
pcmpeqd xmm1, xmm1
psrldq xmm1, 8
pshufb xmm5, xmm6
psubq xmm5, xmm1
cmp dword [r9 + 8], 0xffffffff
jne 0x140135b6d
cmp dword [r9 + 0xc], 0xffffffff
jne 0x140135b6d
pslldq xmm1, 8
psubq xmm5, xmm1
pshufb xmm5, xmm6
movdqa xmmword [r9], xmm5
pxor xmm0, xmmword [rcx]
movdqa xmm1, xmmword [rcx + 0x10]
aesenc xmm0, xmm1
movdqa xmm1, xmmword [rcx + 0x20]
aesenc xmm0, xmm1
movdqa xmm1, xmmword [rcx + 0x30]
aesenc xmm0, xmm1
movdqa xmm1, xmmword [rcx + 0x40]
aesenc xmm0, xmm1
movdqa xmm1, xmmword [rcx + 0x50]
aesenc xmm0, xmm1
movdqa xmm1, xmmword [rcx + 0x60]
aesenc xmm0, xmm1
movdqa xmm1, xmmword [rcx + 0x70]
aesenc xmm0, xmm1
movdqa xmm1, xmmword [rcx + 0x80]
aesenc xmm0, xmm1
movdqa xmm1, xmmword [rcx + 0x90]
aesenc xmm0, xmm1
movdqa xmm1, xmmword [rcx + 0xa0]
cmp dword [rcx + 0x1e0], 0xa
je 0x140135c29
aesenc xmm0, xmm1
movdqa xmm1, xmmword [rcx + 0xb0]
aesenc xmm0, xmm1
movdqa xmm1, xmmword [rcx + 0xc0]
cmp dword [rcx + 0x1e0], 0xc
je 0x140135c29
aesenc xmm0, xmm1
movdqa xmm1, xmmword [rcx + 0xd0]
aesenc xmm0, xmm1
movdqa xmm1, xmmword [rcx + 0xe0]
aesenclast xmm0, xmm1
movdqu xmm1, xmmword [r8]
pxor xmm0, xmm1
movdqu xmmword [rdx], xmm0
add rdx, 0x10
add r8, 0x10
cmp rdx, rax
jne 0x140135b40
pxor xmm0, xmm0
pxor xmm1, xmm1
movdqu xmm6, xmmword [rsp]
pxor xmm2, xmm2
pxor xmm3, xmm3
pxor xmm4, xmm4
pxor xmm5, xmm5
add rsp, 0x10
pop rbx
pop rsi
pop rdi
ret