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

Disassembly:
sub rsp, 0xe8
movups xmmword [rsp + 0x40], xmm6
movups xmmword [rsp + 0x50], xmm7
movups xmmword [rsp + 0x60], xmm8
movups xmmword [rsp + 0x70], xmm9
movups xmmword [rsp + 0x80], xmm10
movups xmmword [rsp + 0x90], xmm11
movups xmmword [rsp + 0xa0], xmm12
movups xmmword [rsp + 0xb0], xmm13
movups xmmword [rsp + 0xc0], xmm14
movups xmmword [rsp + 0xd0], xmm15
xor r8d, r8d
movdqu xmm9, xmmword [rcx + 0x20]
movdqu xmm15, xmmword [rcx + 0x30]
movdqu xmm5, xmmword [rcx + 0x40]
mov rax, qword [rcx + 0xe0]
movdqa xmm3, xmm9
movdqu xmm8, xmmword [rcx + 0x50]
movdqu xmm7, xmmword [rcx + 0x60]
aeskeygenassist xmm2, xmm15, 1
pslldq xmm3, 4
pshufd xmm2, xmm2, 0xff
mov rdx, rax
movdqa xmm0, xmm3
movups xmmword [rsp], xmm5
movdqu xmm5, xmmword [rcx + 0x70]
pslldq xmm0, 4
movdqa xmm1, xmm0
pxor xmm0, xmm3
movdqa xmm3, xmm15
pslldq xmm3, 4
pslldq xmm1, 4
pxor xmm0, xmm9
pxor xmm1, xmm2
movdqa xmm2, xmm3
pxor xmm0, xmm1
pslldq xmm2, 4
movdqa xmm10, xmm0
aeskeygenassist xmm1, xmm0, 0
movdqa xmm0, xmm2
pshufd xmm1, xmm1, 0xaa
pxor xmm2, xmm3
movdqa xmm4, xmm10
pslldq xmm0, 4
pslldq xmm4, 4
pxor xmm2, xmm15
pxor xmm0, xmm1
pxor xmm2, xmm0
movdqa xmm0, xmm4
pslldq xmm0, 4
aeskeygenassist xmm3, xmm2, 2
movups xmmword [rsp + 0x30], xmm2
movdqa xmm1, xmm0
pshufd xmm3, xmm3, 0xff
pxor xmm0, xmm4
pslldq xmm1, 4
pxor xmm0, xmm10
movdqa xmm4, xmm2
pxor xmm1, xmm3
pslldq xmm4, 4
pxor xmm0, xmm1
movdqa xmm12, xmm0
aeskeygenassist xmm3, xmm0, 0
movdqa xmm0, xmm4
pslldq xmm0, 4
pshufd xmm3, xmm3, 0xaa
movdqa xmm1, xmm0
pxor xmm0, xmm4
movdqa xmm4, xmm12
pslldq xmm1, 4
pslldq xmm4, 4
pxor xmm0, xmm2
pxor xmm1, xmm3
pxor xmm0, xmm1
movdqa xmm11, xmm0
aeskeygenassist xmm3, xmm0, 4
movdqa xmm0, xmm4
pslldq xmm0, 4
pshufd xmm3, xmm3, 0xff
movdqa xmm1, xmm0
pxor xmm0, xmm4
movdqa xmm4, xmm11
pslldq xmm1, 4
pslldq xmm4, 4
pxor xmm0, xmm12
pxor xmm1, xmm3
pxor xmm0, xmm1
movdqa xmm14, xmm0
aeskeygenassist xmm3, xmm0, 0
movdqa xmm0, xmm4
pslldq xmm0, 4
pshufd xmm3, xmm3, 0xaa
movdqa xmm1, xmm0
pxor xmm0, xmm4
movdqa xmm4, xmm14
pslldq xmm1, 4
pslldq xmm4, 4
pxor xmm0, xmm11
pxor xmm1, xmm3
pxor xmm0, xmm1
movdqa xmm13, xmm0
aeskeygenassist xmm3, xmm0, 8
movdqa xmm0, xmm4
pslldq xmm0, 4
pshufd xmm3, xmm3, 0xff
movdqa xmm1, xmm0
pxor xmm0, xmm4
movdqa xmm4, xmm13
pslldq xmm1, 4
pslldq xmm4, 4
pxor xmm0, xmm14
pxor xmm1, xmm3
pxor xmm0, xmm1
aeskeygenassist xmm3, xmm0, 0
movups xmmword [rsp + 0x10], xmm0
movdqa xmm0, xmm4
pslldq xmm0, 4
pshufd xmm3, xmm3, 0xaa
movdqa xmm1, xmm0
pxor xmm0, xmm4
movdqu xmm4, xmmword [rcx + 0x80]
pslldq xmm1, 4
pxor xmm0, xmm13
pxor xmm1, xmm3
movdqu xmm3, xmmword [rcx + 0x90]
pxor xmm0, xmm1
movdqu xmm1, xmmword [rcx + 0xa0]
movups xmmword [rsp + 0x20], xmm0
movdqu xmm0, xmmword [rcx + 0xb0]
nop dword [rax]
add r8, 8
movdqu xmm6, xmmword [rsp]
pxor xmm8, xmmword [rdx + 0x10]
add rdx, 0x400
pxor xmm6, xmmword [rdx - 0x400]
pxor xmm7, xmmword [rdx - 0x3e0]
pxor xmm5, xmmword [rdx - 0x3d0]
pxor xmm4, xmmword [rdx - 0x200]
pxor xmm3, xmmword [rdx - 0x1f0]
pxor xmm1, xmmword [rdx - 0x1e0]
pxor xmm0, xmmword [rdx - 0x1d0]
cmp r8, 0x40000
je 0x140102511
prefetcht0 byte [rdx]
prefetcht0 byte [rdx + 0x200]
aesenc xmm6, xmm9
aesenc xmm8, xmm9
aesenc xmm7, xmm9
movdqu xmm2, xmmword [rsp + 0x30]
aesenc xmm5, xmm9
aesenc xmm4, xmm9
aesenc xmm3, xmm9
aesenc xmm1, xmm9
aesenc xmm0, xmm9
aesenc xmm6, xmm15
aesenc xmm8, xmm15
aesenc xmm7, xmm15
aesenc xmm5, xmm15
aesenc xmm4, xmm15
aesenc xmm3, xmm15
aesenc xmm1, xmm15
aesenc xmm0, xmm15
aesenc xmm6, xmm10
aesenc xmm8, xmm10
aesenc xmm7, xmm10
aesenc xmm5, xmm10
aesenc xmm4, xmm10
aesenc xmm3, xmm10
aesenc xmm1, xmm10
aesenc xmm6, xmm2
aesenc xmm0, xmm10
aesenc xmm8, xmm2
aesenc xmm7, xmm2
aesenc xmm5, xmm2
aesenc xmm4, xmm2
aesenc xmm3, xmm2
aesenc xmm1, xmm2
aesenc xmm0, xmm2
aesenc xmm6, xmm12
movdqu xmm2, xmmword [rsp + 0x10]
aesenc xmm8, xmm12
aesenc xmm7, xmm12
aesenc xmm5, xmm12
aesenc xmm4, xmm12
aesenc xmm3, xmm12
aesenc xmm1, xmm12
aesenc xmm0, xmm12
aesenc xmm6, xmm11
aesenc xmm8, xmm11
aesenc xmm7, xmm11
aesenc xmm5, xmm11
aesenc xmm4, xmm11
aesenc xmm3, xmm11
aesenc xmm1, xmm11
aesenc xmm0, xmm11
aesenc xmm6, xmm14
aesenc xmm8, xmm14
aesenc xmm7, xmm14
aesenc xmm5, xmm14
aesenc xmm4, xmm14
aesenc xmm3, xmm14
aesenc xmm1, xmm14
aesenc xmm0, xmm14
aesenc xmm6, xmm13
aesenc xmm8, xmm13
aesenc xmm7, xmm13
aesenc xmm5, xmm13
aesenc xmm4, xmm13
aesenc xmm6, xmm2
aesenc xmm7, xmm2
aesenc xmm3, xmm13
aesenc xmm5, xmm2
aesenc xmm4, xmm2
aesenc xmm1, xmm13
aesenc xmm0, xmm13
aesenc xmm8, xmm2
aesenc xmm3, xmm2
aesenc xmm1, xmm2
aesenc xmm0, xmm2
movdqu xmm2, xmmword [rsp + 0x20]
aesenc xmm6, xmm2
aesenc xmm8, xmm2
aesenc xmm7, xmm2
aesenc xmm5, xmm2
aesenc xmm4, xmm2
aesenc xmm3, xmm2
aesenc xmm1, xmm2
aesenc xmm0, xmm2
movdqa xmm2, xmm6
pxor xmm2, xmm8
pxor xmm8, xmm7
pxor xmm7, xmm5
movups xmmword [rsp], xmm2
pxor xmm5, xmm4
pxor xmm4, xmm3
pxor xmm3, xmm1
pxor xmm1, xmm0
pxor xmm0, xmm6
cmp r8, 0x40000
jne 0x1401024b0
xor edx, edx
nop word [rax + rax]
add rdx, 8
movdqu xmm6, xmmword [rsp]
pxor xmm8, xmmword [rax + 0x10]
add rax, 0x400
pxor xmm6, xmmword [rax - 0x400]
pxor xmm7, xmmword [rax - 0x3e0]
pxor xmm5, xmmword [rax - 0x3d0]
pxor xmm4, xmmword [rax - 0x200]
pxor xmm3, xmmword [rax - 0x1f0]
pxor xmm1, xmmword [rax - 0x1e0]
pxor xmm0, xmmword [rax - 0x1d0]
cmp rdx, 0x40000
je 0x140102790
prefetcht0 byte [rax]
prefetcht0 byte [rax + 0x200]
aesenc xmm6, xmm9
aesenc xmm8, xmm9
aesenc xmm7, xmm9
movdqu xmm2, xmmword [rsp + 0x30]
aesenc xmm5, xmm9
aesenc xmm4, xmm9
aesenc xmm3, xmm9
aesenc xmm1, xmm9
aesenc xmm0, xmm9
aesenc xmm6, xmm15
aesenc xmm8, xmm15
aesenc xmm7, xmm15
aesenc xmm5, xmm15
aesenc xmm4, xmm15
aesenc xmm3, xmm15
aesenc xmm1, xmm15
aesenc xmm0, xmm15
aesenc xmm6, xmm10
aesenc xmm8, xmm10
aesenc xmm7, xmm10
aesenc xmm5, xmm10
aesenc xmm4, xmm10
aesenc xmm3, xmm10
aesenc xmm1, xmm10
aesenc xmm6, xmm2
aesenc xmm0, xmm10
aesenc xmm8, xmm2
aesenc xmm7, xmm2
aesenc xmm5, xmm2
aesenc xmm4, xmm2
aesenc xmm3, xmm2
aesenc xmm1, xmm2
aesenc xmm0, xmm2
aesenc xmm6, xmm12
movdqu xmm2, xmmword [rsp + 0x10]
aesenc xmm8, xmm12
aesenc xmm7, xmm12
aesenc xmm5, xmm12
aesenc xmm4, xmm12
aesenc xmm3, xmm12
aesenc xmm1, xmm12
aesenc xmm0, xmm12
aesenc xmm6, xmm11
aesenc xmm8, xmm11
aesenc xmm7, xmm11
aesenc xmm5, xmm11
aesenc xmm4, xmm11
aesenc xmm3, xmm11
aesenc xmm1, xmm11
aesenc xmm0, xmm11
aesenc xmm6, xmm14
aesenc xmm8, xmm14
aesenc xmm7, xmm14
aesenc xmm5, xmm14
aesenc xmm4, xmm14
aesenc xmm3, xmm14
aesenc xmm1, xmm14
aesenc xmm0, xmm14
aesenc xmm6, xmm13
aesenc xmm8, xmm13
aesenc xmm7, xmm13
aesenc xmm5, xmm13
aesenc xmm4, xmm13
aesenc xmm6, xmm2
aesenc xmm7, xmm2
aesenc xmm3, xmm13
aesenc xmm5, xmm2
aesenc xmm4, xmm2
aesenc xmm1, xmm13
aesenc xmm0, xmm13
aesenc xmm8, xmm2
aesenc xmm3, xmm2
aesenc xmm1, xmm2
aesenc xmm0, xmm2
movdqu xmm2, xmmword [rsp + 0x20]
aesenc xmm6, xmm2
aesenc xmm8, xmm2
aesenc xmm7, xmm2
aesenc xmm5, xmm2
aesenc xmm4, xmm2
aesenc xmm3, xmm2
aesenc xmm1, xmm2
aesenc xmm0, xmm2
movdqa xmm2, xmm6
pxor xmm2, xmm8
pxor xmm8, xmm7
pxor xmm7, xmm5
movups xmmword [rsp], xmm2
pxor xmm5, xmm4
pxor xmm4, xmm3
pxor xmm3, xmm1
pxor xmm1, xmm0
pxor xmm0, xmm6
cmp rdx, 0x40000
jne 0x140102730
mov eax, 0x10
nop dword [rax]
movdqu xmm6, xmmword [rsp]
aesenc xmm8, xmm9
aesenc xmm7, xmm9
aesenc xmm5, xmm9
aesenc xmm4, xmm9
aesenc xmm3, xmm9
aesenc xmm1, xmm9
movdqu xmm2, xmmword [rsp + 0x30]
aesenc xmm6, xmm9
aesenc xmm0, xmm9
aesenc xmm8, xmm15
aesenc xmm6, xmm15
aesenc xmm7, xmm15
aesenc xmm5, xmm15
aesenc xmm4, xmm15
aesenc xmm3, xmm15
aesenc xmm1, xmm15
aesenc xmm0, xmm15
aesenc xmm6, xmm10
aesenc xmm8, xmm10
aesenc xmm7, xmm10
aesenc xmm5, xmm10
aesenc xmm4, xmm10
aesenc xmm3, xmm10
aesenc xmm1, xmm10
aesenc xmm6, xmm2
aesenc xmm0, xmm10
aesenc xmm8, xmm2
aesenc xmm7, xmm2
aesenc xmm5, xmm2
aesenc xmm4, xmm2
aesenc xmm3, xmm2
aesenc xmm1, xmm2
aesenc xmm0, xmm2
aesenc xmm6, xmm12
movdqu xmm2, xmmword [rsp + 0x10]
aesenc xmm8, xmm12
aesenc xmm7, xmm12
aesenc xmm5, xmm12
aesenc xmm4, xmm12
aesenc xmm3, xmm12
aesenc xmm1, xmm12
aesenc xmm0, xmm12
aesenc xmm6, xmm11
aesenc xmm8, xmm11
aesenc xmm7, xmm11
aesenc xmm5, xmm11
aesenc xmm4, xmm11
aesenc xmm3, xmm11
aesenc xmm1, xmm11
aesenc xmm0, xmm11
aesenc xmm6, xmm14
aesenc xmm8, xmm14
aesenc xmm7, xmm14
aesenc xmm5, xmm14
aesenc xmm4, xmm14
aesenc xmm3, xmm14
aesenc xmm1, xmm14
aesenc xmm0, xmm14
aesenc xmm6, xmm13
aesenc xmm8, xmm13
aesenc xmm7, xmm13
aesenc xmm5, xmm13
aesenc xmm4, xmm13
aesenc xmm6, xmm2
aesenc xmm7, xmm2
aesenc xmm3, xmm13
aesenc xmm5, xmm2
aesenc xmm4, xmm2
aesenc xmm1, xmm13
aesenc xmm0, xmm13
aesenc xmm8, xmm2
aesenc xmm3, xmm2
aesenc xmm1, xmm2
aesenc xmm0, xmm2
movdqu xmm2, xmmword [rsp + 0x20]
aesenc xmm6, xmm2
aesenc xmm8, xmm2
aesenc xmm7, xmm2
aesenc xmm5, xmm2
aesenc xmm4, xmm2
aesenc xmm3, xmm2
aesenc xmm1, xmm2
aesenc xmm0, xmm2
movdqa xmm2, xmm6
pxor xmm2, xmm8
pxor xmm8, xmm7
pxor xmm7, xmm5
movups xmmword [rsp], xmm2
pxor xmm5, xmm4
pxor xmm4, xmm3
pxor xmm3, xmm1
pxor xmm1, xmm0
pxor xmm0, xmm6
sub rax, 1
jne 0x1401029b0
movups xmmword [rcx + 0x50], xmm8
movups xmm6, xmmword [rsp + 0x40]
movups xmm8, xmmword [rsp + 0x60]
movups xmmword [rcx + 0x60], xmm7
movups xmm9, xmmword [rsp + 0x70]
movups xmm7, xmmword [rsp + 0x50]
movups xmm10, xmmword [rsp + 0x80]
movups xmmword [rcx + 0x40], xmm2
movups xmm11, xmmword [rsp + 0x90]
movups xmm12, xmmword [rsp + 0xa0]
movups xmmword [rcx + 0x70], xmm5
movups xmm13, xmmword [rsp + 0xb0]
movups xmm14, xmmword [rsp + 0xc0]
movups xmmword [rcx + 0x80], xmm4
movups xmm15, xmmword [rsp + 0xd0]
rol byte [rax], 1
add byte [rax], al