Function at 0x1400187b0
Capabilities:
Decrypt data using aes via x86 extensions
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0x138
movdqa xmmword [rsp + 0x120], xmm15
movdqa xmmword [rsp + 0x110], xmm14
movdqa xmmword [rsp + 0x100], xmm13
movdqa xmmword [rsp + 0xf0], xmm12
movdqa xmmword [rsp + 0xe0], xmm11
movdqa xmmword [rsp + 0xd0], xmm10
movdqa xmmword [rsp + 0xc0], xmm9
movdqa xmmword [rsp + 0xb0], xmm8
movdqa xmmword [rsp + 0xa0], xmm7
movdqa xmmword [rsp + 0x90], xmm6
mov rax, qword [rdx]
mov r9, qword [rdx + 8]
mov r8, qword [rdx + 0x10]
mov r10, qword [rdx + 0x18]
mov edx, r10d
and edx, 7
cmp r10, 8
jb 0x140018c85
mov r11, r10
shr r11, 3
movaps xmm0, xmmword [rcx + 0x1d0]
movaps xmmword [rsp + 0x10], xmm0
movaps xmm0, xmmword [rcx + 0x1c0]
movaps xmmword [rsp + 0x80], xmm0
movaps xmm0, xmmword [rcx + 0x1b0]
movaps xmmword [rsp + 0x70], xmm0
movaps xmm0, xmmword [rcx + 0x1a0]
movaps xmmword [rsp + 0x60], xmm0
movaps xmm0, xmmword [rcx + 0x190]
movaps xmmword [rsp + 0x50], xmm0
movaps xmm0, xmmword [rcx + 0x180]
movaps xmmword [rsp + 0x40], xmm0
movaps xmm0, xmmword [rcx + 0x170]
movaps xmmword [rsp + 0x30], xmm0
movaps xmm0, xmmword [rcx + 0x160]
movaps xmmword [rsp + 0x20], xmm0
movdqa xmm8, xmmword [rcx + 0x150]
movdqa xmm9, xmmword [rcx + 0x140]
movdqa xmm10, xmmword [rcx + 0x130]
movdqa xmm11, xmmword [rcx + 0xf0]
movdqa xmm12, xmmword [rcx + 0x100]
movdqa xmm13, xmmword [rcx + 0x110]
movdqa xmm14, xmmword [rcx + 0x120]
lea rsi, [r9 + 0x70]
xor edi, edi
nop dword [rax]
movups xmm0, xmmword [rsi + rdi]
movaps xmmword [rsp], xmm0
movdqu xmm6, xmmword [rsi + rdi - 0x70]
movdqu xmm5, xmmword [rsi + rdi - 0x60]
movdqu xmm4, xmmword [rsi + rdi - 0x50]
movdqu xmm3, xmmword [rsi + rdi - 0x40]
movdqu xmm2, xmmword [rsi + rdi - 0x30]
movdqu xmm1, xmmword [rsi + rdi - 0x20]
movdqu xmm0, xmmword [rsi + rdi - 0x10]
movdqu xmm15, xmmword [rsi + rdi]
movdqa xmm7, xmmword [rsp + 0x10]
pxor xmm6, xmm7
pxor xmm5, xmm7
pxor xmm4, xmm7
pxor xmm3, xmm7
pxor xmm2, xmm7
pxor xmm1, xmm7
pxor xmm0, xmm7
pxor xmm15, xmm7
movdqa xmm7, xmmword [rsp + 0x80]
aesdec xmm6, xmm7
aesdec xmm5, xmm7
aesdec xmm4, xmm7
aesdec xmm3, xmm7
aesdec xmm2, xmm7
aesdec xmm1, xmm7
aesdec xmm0, xmm7
aesdec xmm15, xmm7
movdqa xmm7, xmmword [rsp + 0x70]
aesdec xmm6, xmm7
aesdec xmm5, xmm7
aesdec xmm4, xmm7
aesdec xmm3, xmm7
aesdec xmm2, xmm7
aesdec xmm1, xmm7
aesdec xmm0, xmm7
aesdec xmm15, xmm7
movdqa xmm7, xmmword [rsp + 0x60]
aesdec xmm6, xmm7
aesdec xmm5, xmm7
aesdec xmm4, xmm7
aesdec xmm3, xmm7
aesdec xmm2, xmm7
aesdec xmm1, xmm7
aesdec xmm0, xmm7
aesdec xmm15, xmm7
movdqa xmm7, xmmword [rsp + 0x50]
aesdec xmm6, xmm7
aesdec xmm5, xmm7
aesdec xmm4, xmm7
aesdec xmm3, xmm7
aesdec xmm2, xmm7
aesdec xmm1, xmm7
aesdec xmm0, xmm7
aesdec xmm15, xmm7
movdqa xmm7, xmmword [rsp + 0x40]
aesdec xmm6, xmm7
aesdec xmm5, xmm7
aesdec xmm4, xmm7
aesdec xmm3, xmm7
aesdec xmm2, xmm7
aesdec xmm1, xmm7
aesdec xmm0, xmm7
aesdec xmm15, xmm7
movdqa xmm7, xmmword [rsp + 0x30]
aesdec xmm6, xmm7
aesdec xmm5, xmm7
aesdec xmm4, xmm7
aesdec xmm3, xmm7
aesdec xmm2, xmm7
aesdec xmm1, xmm7
aesdec xmm0, xmm7
aesdec xmm15, xmm7
movdqa xmm7, xmmword [rsp + 0x20]
aesdec xmm6, xmm7
aesdec xmm5, xmm7
aesdec xmm4, xmm7
aesdec xmm3, xmm7
aesdec xmm2, xmm7
aesdec xmm1, xmm7
aesdec xmm0, xmm7
aesdec xmm15, xmm7
aesdec xmm6, xmm8
aesdec xmm5, xmm8
aesdec xmm4, xmm8
aesdec xmm3, xmm8
aesdec xmm2, xmm8
aesdec xmm1, xmm8
aesdec xmm0, xmm8
aesdec xmm15, xmm8
aesdec xmm6, xmm9
aesdec xmm5, xmm9
aesdec xmm4, xmm9
aesdec xmm3, xmm9
aesdec xmm2, xmm9
aesdec xmm1, xmm9
aesdec xmm0, xmm9
aesdec xmm15, xmm9
aesdec xmm6, xmm10
aesdec xmm5, xmm10
aesdec xmm4, xmm10
aesdec xmm3, xmm10
aesdec xmm2, xmm10
aesdec xmm1, xmm10
aesdec xmm0, xmm10
aesdec xmm15, xmm10
aesdec xmm6, xmm14
aesdec xmm5, xmm14
aesdec xmm4, xmm14
aesdec xmm3, xmm14
aesdec xmm2, xmm14
aesdec xmm1, xmm14
aesdec xmm0, xmm14
aesdec xmm15, xmm14
aesdec xmm6, xmm13
aesdec xmm5, xmm13
aesdec xmm4, xmm13
aesdec xmm3, xmm13
aesdec xmm2, xmm13
aesdec xmm1, xmm13
aesdec xmm0, xmm13
aesdec xmm15, xmm13
aesdec xmm6, xmm12
aesdec xmm5, xmm12
aesdec xmm4, xmm12
aesdec xmm3, xmm12
aesdec xmm2, xmm12
aesdec xmm1, xmm12
aesdec xmm0, xmm12
aesdec xmm15, xmm12
aesdeclast xmm6, xmm11
aesdeclast xmm5, xmm11
aesdeclast xmm4, xmm11
aesdeclast xmm3, xmm11
aesdeclast xmm2, xmm11
aesdeclast xmm1, xmm11
aesdeclast xmm0, xmm11
aesdeclast xmm15, xmm11
movdqu xmm7, xmmword [rax]
pxor xmm7, xmm6
movdqu xmm6, xmmword [rsi + rdi - 0x70]
pxor xmm6, xmm5
movdqu xmm5, xmmword [rsi + rdi - 0x60]
pxor xmm5, xmm4
movdqu xmm4, xmmword [rsi + rdi - 0x50]
pxor xmm4, xmm3
movdqu xmm3, xmmword [rsi + rdi - 0x40]
pxor xmm3, xmm2
movdqu xmm2, xmmword [rsi + rdi - 0x30]
pxor xmm2, xmm1
movdqu xmm1, xmmword [rsi + rdi - 0x20]
pxor xmm1, xmm0
movdqu xmm0, xmmword [rsi + rdi - 0x10]
pxor xmm0, xmm15
movdqu xmmword [r8 + rdi], xmm7
movdqu xmmword [r8 + rdi + 0x10], xmm6
movdqu xmmword [r8 + rdi + 0x20], xmm5
movdqu xmmword [r8 + rdi + 0x30], xmm4
movdqu xmmword [r8 + rdi + 0x40], xmm3
movdqu xmmword [r8 + rdi + 0x50], xmm2
movdqu xmmword [r8 + rdi + 0x60], xmm1
movdqu xmmword [r8 + rdi + 0x70], xmm0
movaps xmm0, xmmword [rsp]
movups xmmword [rax], xmm0
sub rdi, 0xffffffffffffff80
dec r11
jne 0x1400188f0
test rdx, rdx
je 0x1400190dc
movabs r11, 0xffffffffffffff8
and r10, r11
shl r10, 4
add r9, r10
movdqa xmm14, xmmword [rcx + 0x1d0]
movdqa xmm13, xmmword [rcx + 0x1c0]
movdqa xmm12, xmmword [rcx + 0x1b0]
movdqa xmm11, xmmword [rcx + 0x1a0]
movdqa xmm10, xmmword [rcx + 0x190]
movdqa xmm9, xmmword [rcx + 0x180]
movdqa xmm8, xmmword [rcx + 0x170]
movdqa xmm7, xmmword [rcx + 0x160]
movdqa xmm5, xmmword [rcx + 0x150]
movdqa xmm4, xmmword [rcx + 0x140]
movdqa xmm3, xmmword [rcx + 0x130]
movdqa xmm0, xmmword [rcx + 0xf0]
movdqa xmm1, xmmword [rcx + 0x100]
movdqa xmm2, xmmword [rcx + 0x110]
movdqa xmm6, xmmword [rcx + 0x120]
movups xmm15, xmmword [r9]
movaps xmmword [rsp], xmm15
movdqu xmm15, xmmword [r9]
pxor xmm15, xmm14
aesdec xmm15, xmm13
aesdec xmm15, xmm12
aesdec xmm15, xmm11
aesdec xmm15, xmm10
aesdec xmm15, xmm9
aesdec xmm15, xmm8
aesdec xmm15, xmm7
aesdec xmm15, xmm5
aesdec xmm15, xmm4
aesdec xmm15, xmm3
aesdec xmm15, xmm6
aesdec xmm15, xmm2
aesdec xmm15, xmm1
movdqa xmmword [rsp + 0x10], xmm0
aesdeclast xmm15, xmm0
movdqu xmm0, xmmword [rax]
pxor xmm0, xmm15
add r8, r10
movdqu xmmword [r8], xmm0
movaps xmm0, xmmword [rsp]
movups xmmword [rax], xmm0
cmp edx, 1
je 0x1400190dc
movups xmm0, xmmword [r9 + 0x10]
movaps xmmword [rsp], xmm0
movdqu xmm15, xmmword [r9 + 0x10]
pxor xmm15, xmm14
aesdec xmm15, xmm13
aesdec xmm15, xmm12
aesdec xmm15, xmm11
aesdec xmm15, xmm10
aesdec xmm15, xmm9
aesdec xmm15, xmm8
aesdec xmm15, xmm7
aesdec xmm15, xmm5
aesdec xmm15, xmm4
aesdec xmm15, xmm3
aesdec xmm15, xmm6
aesdec xmm15, xmm2
aesdec xmm15, xmm1
aesdeclast xmm15, xmmword [rsp + 0x10]
movdqu xmm0, xmmword [rax]
pxor xmm0, xmm15
movdqu xmmword [r8 + 0x10], xmm0
movaps xmm0, xmmword [rsp]
movups xmmword [rax], xmm0
cmp edx, 2
je 0x1400190dc
movups xmm0, xmmword [r9 + 0x20]
movaps xmmword [rsp], xmm0
movdqu xmm15, xmmword [r9 + 0x20]
pxor xmm15, xmm14
aesdec xmm15, xmm13
aesdec xmm15, xmm12
aesdec xmm15, xmm11
aesdec xmm15, xmm10
aesdec xmm15, xmm9
aesdec xmm15, xmm8
aesdec xmm15, xmm7
aesdec xmm15, xmm5
aesdec xmm15, xmm4
aesdec xmm15, xmm3
aesdec xmm15, xmm6
aesdec xmm15, xmm2
aesdec xmm15, xmm1
aesdeclast xmm15, xmmword [rsp + 0x10]
movdqu xmm0, xmmword [rax]
pxor xmm0, xmm15
movdqu xmmword [r8 + 0x20], xmm0
movaps xmm0, xmmword [rsp]
movups xmmword [rax], xmm0
cmp edx, 3
je 0x1400190dc
movups xmm0, xmmword [r9 + 0x30]
movaps xmmword [rsp], xmm0
movdqu xmm15, xmmword [r9 + 0x30]
pxor xmm15, xmm14
aesdec xmm15, xmm13
aesdec xmm15, xmm12
aesdec xmm15, xmm11
aesdec xmm15, xmm10
aesdec xmm15, xmm9
aesdec xmm15, xmm8
aesdec xmm15, xmm7
aesdec xmm15, xmm5
aesdec xmm15, xmm4
aesdec xmm15, xmm3
aesdec xmm15, xmm6
aesdec xmm15, xmm2
aesdec xmm15, xmm1
aesdeclast xmm15, xmmword [rsp + 0x10]
movdqu xmm0, xmmword [rax]
pxor xmm0, xmm15
movdqu xmmword [r8 + 0x30], xmm0
movaps xmm0, xmmword [rsp]
movups xmmword [rax], xmm0
cmp edx, 4
je 0x1400190dc
movups xmm0, xmmword [r9 + 0x40]
movaps xmmword [rsp], xmm0
movdqu xmm15, xmmword [r9 + 0x40]
pxor xmm15, xmm14
aesdec xmm15, xmm13
aesdec xmm15, xmm12
aesdec xmm15, xmm11
aesdec xmm15, xmm10
aesdec xmm15, xmm9
aesdec xmm15, xmm8
aesdec xmm15, xmm7
aesdec xmm15, xmm5
aesdec xmm15, xmm4
aesdec xmm15, xmm3
aesdec xmm15, xmm6
aesdec xmm15, xmm2
aesdec xmm15, xmm1
aesdeclast xmm15, xmmword [rsp + 0x10]
movdqu xmm0, xmmword [rax]
pxor xmm0, xmm15
movdqu xmmword [r8 + 0x40], xmm0
movaps xmm0, xmmword [rsp]
movups xmmword [rax], xmm0
cmp edx, 5
je 0x1400190dc
movups xmm0, xmmword [r9 + 0x50]
movaps xmmword [rsp], xmm0
movdqu xmm15, xmmword [r9 + 0x50]
pxor xmm15, xmm14
aesdec xmm15, xmm13
aesdec xmm15, xmm12
aesdec xmm15, xmm11
aesdec xmm15, xmm10
aesdec xmm15, xmm9
aesdec xmm15, xmm8
aesdec xmm15, xmm7
aesdec xmm15, xmm5
aesdec xmm15, xmm4
aesdec xmm15, xmm3
aesdec xmm15, xmm6
aesdec xmm15, xmm2
aesdec xmm15, xmm1
aesdeclast xmm15, xmmword [rsp + 0x10]
movdqu xmm0, xmmword [rax]
pxor xmm0, xmm15
movdqu xmmword [r8 + 0x50], xmm0
movaps xmm0, xmmword [rsp]
movups xmmword [rax], xmm0
cmp edx, 6
je 0x1400190dc
movups xmm0, xmmword [r9 + 0x60]
movaps xmmword [rsp], xmm0
movdqu xmm15, xmmword [r9 + 0x60]
pxor xmm15, xmm14
aesdec xmm15, xmm13
aesdec xmm15, xmm12
aesdec xmm15, xmm11
aesdec xmm15, xmm10
aesdec xmm15, xmm9
aesdec xmm15, xmm8
aesdec xmm15, xmm7
aesdec xmm15, xmm5
aesdec xmm15, xmm4
aesdec xmm15, xmm3
aesdec xmm15, xmm6
aesdec xmm15, xmm2
aesdec xmm15, xmm1
aesdeclast xmm15, xmmword [rsp + 0x10]
movdqu xmm0, xmmword [rax]
pxor xmm0, xmm15
movdqu xmmword [r8 + 0x60], xmm0
movaps xmm0, xmmword [rsp]
movups xmmword [rax], xmm0
movaps xmm6, xmmword [rsp + 0x90]
movaps xmm7, xmmword [rsp + 0xa0]
movaps xmm8, xmmword [rsp + 0xb0]
movaps xmm9, xmmword [rsp + 0xc0]
movaps xmm10, xmmword [rsp + 0xd0]
movaps xmm11, xmmword [rsp + 0xe0]
movaps xmm12, xmmword [rsp + 0xf0]
movaps xmm13, xmmword [rsp + 0x100]
movaps xmm14, xmmword [rsp + 0x110]
movaps xmm15, xmmword [rsp + 0x120]
add rsp, 0x138
pop rdi
pop rsi
ret