Function at 0x140115ae0
Capabilities:
Encode data using xor
Encrypt data using aes via x86 extensions

Disassembly:
mov r10, rdx
movsx eax, r8w
movq xmm0, r8
movq xmm1, r9
punpcklqdq xmm1, xmm1
add rdx, rcx
pinsrw xmm0, eax, 4
pshufhw xmm2, xmm0, 0
xorps xmm2, xmm1
aesenc xmm2, xmm2
cmp r10, 0x10
jae 0x140115477
test r10, r10
je 0x140115574
bt rcx, 0xb
jb 0x140115447
movdqu xmm0, xmmword [rcx]
lea rax, [0x1402a78e7]
sub rax, r10
movdqu xmm1, xmmword [rax]
andps xmm1, xmm0
jmp 0x14011545f
movdqu xmm1, xmmword [rdx - 0x10]
lea rax, [0x1402a7907]
sub rax, r10
movdqu xmm0, xmmword [rax]
pshufb xmm1, xmm0
xorps xmm2, xmm1
aesenc xmm2, xmm2
aesenc xmm2, xmm2
aesenc xmm2, xmm2
movq rax, xmm2
ret
movdqa xmm3, xmm2
aesenc xmm3, xmm1
cmp r10, 0x20
ja 0x1401154e4
lea rax, [rcx + 0x10]
cmp rax, rdx
jae 0x1401154bb
movdqu xmm0, xmmword [rdx - 0x10]
movdqu xmm1, xmmword [rcx]
xorps xmm3, xmm0
aesenc xmm3, xmm3
aesenc xmm3, xmm3
xorps xmm1, xmm2
aesenc xmm1, xmm1
aesenc xmm1, xmm1
xorps xmm1, xmm3
movq rax, xmm1
ret
movdqa xmm1, xmm2
cmp rcx, rdx
je 0x1401154db
movdqu xmm1, xmmword [rdx - 0x10]
xorps xmm1, xmm2
aesenc xmm1, xmm1
aesenc xmm1, xmm1
aesenc xmm1, xmm1
xorps xmm1, xmm3
movq rax, xmm1
ret
lea rax, [rcx + 0x20]
cmp rax, rdx
jae 0x140115520
nop dword [rax]
movdqu xmm0, xmmword [rcx]
add rcx, 0x20
movdqu xmm1, xmmword [rax - 0x10]
add rax, 0x20
xorps xmm2, xmm0
xorps xmm3, xmm1
aesenc xmm2, xmm2
aesenc xmm3, xmm3
aesenc xmm2, xmm2
aesenc xmm3, xmm3
cmp rax, rdx
jb 0x1401154f0
lea rax, [rcx + 0x10]
cmp rax, rdx
jae 0x140115555
movdqu xmm0, xmmword [rcx]
movdqu xmm1, xmmword [rdx - 0x10]
xorps xmm2, xmm0
xorps xmm3, xmm1
aesenc xmm2, xmm2
aesenc xmm3, xmm3
aesenc xmm3, xmm3
aesenc xmm2, xmm2
xorps xmm2, xmm3
movq rax, xmm2
ret
cmp rcx, rdx
je 0x140115571
movdqu xmm0, xmmword [rdx - 0x10]
xorps xmm2, xmm0
aesenc xmm2, xmm2
aesenc xmm2, xmm2
aesenc xmm2, xmm2
xorps xmm2, xmm3
movq rax, xmm2
ret
movsx eax, r8w
movq xmm0, r8
lea r8, [rcx + rdx]
movq xmm4, r9
punpcklqdq xmm4, xmm4
pinsrw xmm0, eax, 4
pshufhw xmm2, xmm0, 0
xorps xmm2, xmm4
aesenc xmm2, xmm2
cmp rdx, 0x10
jae 0x140115602
test rdx, rdx
je 0x1401155fc
bt rcx, 0xb
jb 0x1401155d1
movdqu xmm0, xmmword [rcx]
lea rax, [0x1402a78e7]
sub rax, rdx
movdqu xmm1, xmmword [rax]
andps xmm1, xmm0
jmp 0x1401155ea
movdqu xmm1, xmmword [r8 - 0x10]
lea rax, [0x1402a7907]
sub rax, rdx
movdqu xmm0, xmmword [rax]
pshufb xmm1, xmm0
xorps xmm2, xmm1
aesenc xmm2, xmm2
aesenc xmm2, xmm2
aesenc xmm2, xmm2
movq rax, xmm2
ret
cmp rdx, 0x20
ja 0x140115671
lea rax, [rcx + 0x10]
movdqa xmm3, xmm2
aesenc xmm3, xmm4
cmp rax, r8
jae 0x140115647
movdqu xmm0, xmmword [r8 - 0x10]
movdqu xmm1, xmmword [rcx]
xorps xmm3, xmm0
aesenc xmm3, xmm3
aesenc xmm3, xmm3
xorps xmm1, xmm2
aesenc xmm1, xmm1
aesenc xmm1, xmm1
xorps xmm1, xmm3
movq rax, xmm1
ret
movdqa xmm1, xmm2
cmp rcx, r8
je 0x140115668
movdqu xmm1, xmmword [r8 - 0x10]
xorps xmm1, xmm2
aesenc xmm1, xmm1
aesenc xmm1, xmm1
aesenc xmm1, xmm1
xorps xmm1, xmm3
movq rax, xmm1
ret
movdqa xmm1, xmm2
mov r8, rdx
aesenc xmm1, xmm4
vinsertf128 ymm0, ymm2, xmm1, 1
mov rdx, rcx
jmp 0x1401157e0
movsx eax, r8w
movq xmm0, r8
movq xmm2, r9
mov r10, rdx
punpcklqdq xmm2, xmm2
pinsrw xmm0, eax, 4
pshufhw xmm0, xmm0, 0
xorps xmm0, xmm2
aesenc xmm0, xmm0
movdqa xmm1, xmm0
aesenc xmm1, xmm2
vinsertf128 ymm2, ymm0, xmm1, 1
cmp rdx, 0x20
ja 0x14011572c
test rdx, rdx
je 0x140115723
mov eax, 0xffffffff
bzhi eax, eax, r10d
kmovd k1, eax
vmovdqu8 ymm0 {k1} {z}, ymmword [rcx]
cmp r10, 0x10
jb 0x14011570c
vpxor ymm0, ymm0, ymm2
vaesenc ymm1, ymm0, ymm0
vaesenc ymm2, ymm1, ymm1
vextracti128 xmm0, ymm2, 1
vxorps xmm2, xmm2, xmm0
vmovq rax, xmm2
vzeroupper
ret
vxorps xmm0, xmm0, xmm2
vaesenc xmm0, xmm0, xmm0
vaesenc xmm0, xmm0, xmm0
vaesenc xmm0, xmm0, xmm0
vmovdqa xmm2, xmm0
vmovq rax, xmm2
vzeroupper
ret
vmovq xmm0, r10
vpunpcklqdq xmm0, xmm0, xmm0
add rdx, rcx
lea rax, [rcx + 0x40]
vinsertf128 ymm0, ymm0, xmm0, 1
vaesenc ymm3, ymm2, ymm0
cmp rax, rdx
jae 0x14011577a
nop dword [rax]
vpxor ymm2, ymm2, ymmword [rcx]
vpxor ymm1, ymm3, ymmword [rax - 0x20]
add rcx, 0x40
add rax, 0x40
vaesenc ymm2, ymm2, ymm2
vaesenc ymm0, ymm1, ymm1
vaesenc ymm2, ymm2, ymm2
vaesenc ymm3, ymm0, ymm0
cmp rax, rdx
jb 0x140115750
lea rax, [rcx + 0x20]
cmp rax, rdx
jae 0x1401157a2
vpxor ymm2, ymm2, ymmword [rcx]
vpxor ymm1, ymm3, ymmword [rdx - 0x20]
vaesenc ymm2, ymm2, ymm2
vaesenc ymm0, ymm1, ymm1
vaesenc ymm2, ymm2, ymm2
vaesenc ymm3, ymm0, ymm0
jmp 0x1401157bb
cmp rcx, rdx
je 0x1401157bb
vpxor ymm1, ymm2, ymmword [rdx - 0x20]
vaesenc ymm2, ymm1, ymm1
vaesenc ymm0, ymm2, ymm2
vaesenc ymm2, ymm0, ymm0
vpxor ymm0, ymm3, ymm2
vextracti128 xmm1, ymm0, 1
vxorps xmm1, xmm1, xmm0
vmovq rax, xmm1
vzeroupper
ret
vmovq xmm1, r8
vpunpcklqdq xmm1, xmm1, xmm1
lea rcx, [rdx + r8]
lea rax, [rdx + 0x40]
vinsertf128 ymm1, ymm1, xmm1, 1
vaesenc ymm3, ymm0, ymm1
vmovdqu ymm2, ymm0
cmp rax, rcx
jae 0x14011583a
nop word [rax + rax]
vpxor ymm2, ymm2, ymmword [rdx]
vpxor ymm1, ymm3, ymmword [rax - 0x20]
add rdx, 0x40
add rax, 0x40
vaesenc ymm2, ymm2, ymm2
vaesenc ymm0, ymm1, ymm1
vaesenc ymm2, ymm2, ymm2
vaesenc ymm3, ymm0, ymm0
cmp rax, rcx
jb 0x140115810
lea rax, [rdx + 0x20]
cmp rax, rcx
jae 0x140115862
vpxor ymm2, ymm2, ymmword [rdx]
vpxor ymm1, ymm3, ymmword [rcx - 0x20]
vaesenc ymm2, ymm2, ymm2
vaesenc ymm0, ymm1, ymm1
vaesenc ymm2, ymm2, ymm2
vaesenc ymm3, ymm0, ymm0
jmp 0x14011587b
cmp rdx, rcx
je 0x14011587b
vpxor ymm1, ymm2, ymmword [rcx - 0x20]
vaesenc ymm2, ymm1, ymm1
vaesenc ymm0, ymm2, ymm2
vaesenc ymm2, ymm0, ymm0
vpxor ymm0, ymm3, ymm2
vextracti128 xmm1, ymm0, 1
vxorps xmm1, xmm1, xmm0
vmovq rax, xmm1
vzeroupper
ret
movabs r11, 0xc6a4a7935bd1e995
mov r10, rdx
imul r10, r11
mov eax, 0xfffffff8
mov r9, rcx
xor r10, r8
mov r8, rdx
and r8, rax
add r8, rcx
cmp rcx, r8
je 0x140115a15
nop word [rax + rax]
mov rax, qword [r9]
add r9, 8
imul rax, r11
mov rcx, rax
shr rcx, 0x2f
xor rcx, rax
imul rcx, r11
xor r10, rcx
imul r10, r11
cmp r9, r8
jne 0x1401159f0
and edx, 7
je 0x140115a4a
xor eax, eax
add r8, rdx
cmp r9, r8
je 0x140115a43
nop dword [rax]
nop dword [rax + rax]
movzx ecx, byte [r9]
inc r9
shl rax, 8
or rax, rcx
cmp r9, r8
jne 0x140115a30
xor r10, rax
imul r10, r11
mov rcx, r10
shr rcx, 0x2f
xor rcx, r10
imul rcx, r11
mov rax, rcx
shr rax, 0x2f
xor rax, rcx
ret
mov r8, rdx
mov rdx, qword [rcx]
mov rcx, qword [rcx + 8]
add rdx, rdx
mov r9, rdx
test r8, r8
je 0x140115b3f
mov r9, qword [0x140395960]
mov rax, qword [0x140397300]
bt rax, 8
jae 0x140115b3f
mov rax, qword [0x140397300]
test al, 0x20
je 0x140115b3f
mov rax, qword [0x140397300]
bt rax, 0x1c
jae 0x140115b3a
mov rax, qword [0x140397300]
bt rax, 0x16
jb 0x140115690
jmp 0x140115580
jmp 0x1401153f0
cmp rdx, 8
jbe 0x1401159c0
jmp 0x140115b90
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
mov rdi, rcx
mov rax, r9
mov rsi, rdx
mov r11, r8
and rsi, 0xfffffffffffffff8
mov r10, r8
add rsi, rcx
mov rbx, rdx
movabs rcx, 0x7465646279746573
shl rbx, 0x38
xor rax, rcx
mov ebp, edx
movabs rcx, 0x6c7967656e657261
and ebp, 7
xor r11, rcx
movabs rcx, 0x646f72616e646f6d
xor r9, rcx
movabs rcx, 0x736f6d6570736575
xor r10, rcx
cmp rdi, rsi
je 0x140115c4f
nop
xor rax, qword [rdi]
add r10, r9
add r11, rax
ror r9, 0x33
xor r9, r10
ror rax, 0x30
xor rax, r11
ror r10, 0x20
add r11, r9
add r10, rax
mov rdx, r11
ror r9, 0x2f
mov rcx, r11
shr rdx, 0x20
xor r9, r11
ror rax, 0x2b
xor rax, r10
shl rcx, 0x20
xor r10, qword [rdi]
mov r11, rdx
or r11, rcx
add rdi, 8
cmp rdi, rsi
jne 0x140115c00
lea ecx, [rbp - 1]
cmp ecx, 6
ja case.default.0x140115c6c
lea r8, [0x140000000]
movsxd rcx, ecx
mov edx, dword [r8 + rcx*4 + 0x115d64]
add rdx, r8
jmp rdx
movzx ecx, byte [rdi + 6]
shl rcx, 0x30
or rbx, rcx
movzx ecx, byte [rdi + 5]
shl rcx, 0x28
or rbx, rcx
movzx ecx, byte [rdi + 4]
shl rcx, 0x20
or rbx, rcx
movzx ecx, byte [rdi + 3]
shl rcx, 0x18
or rbx, rcx
movzx ecx, byte [rdi + 2]
shl rcx, 0x10
or rbx, rcx
movzx ecx, byte [rdi + 1]
shl rcx, 8
or rbx, rcx
movzx ecx, byte [rdi]
or rbx, rcx
add r10, r9
xor rax, rbx
add r11, rax
ror r9, 0x33
xor r9, r10
ror rax, 0x30
xor rax, r11
ror r10, 0x20
add r10, rax
add r11, r9
ror rax, 0x2b
mov r8d, 2
ror r9, 0x2f
xor rax, r10
xor r9, r11
xor r10, rbx
ror r11, 0x20
xor r11, 0xff
nop dword [rax]
add r11, rax
add r10, r9
ror r9, 0x33
xor r9, r10
ror rax, 0x30
xor rax, r11
ror r10, 0x20
add r11, r9
add r10, rax
mov rdx, r11
ror r9, 0x2f
mov rcx, r11
shr rdx, 0x20
xor r9, r11
ror rax, 0x2b
shl rcx, 0x20
mov r11, rdx
or r11, rcx
xor rax, r10
sub r8, 1
jne 0x140115d00
mov rbx, qword [rsp + 8]
xor rax, r11
mov rbp, qword [rsp + 0x10]
xor rax, r9
mov rsi, qword [rsp + 0x18]
xor rax, r10
mov rdi, qword [rsp + 0x20]
ret