Function at 0x180002700
Capabilities:
Encode data using xor

Disassembly:
mov eax, dword [rsp + 0x28]
push rsi
push rdi
sub rsp, 0xb8
movaps xmmword [rsp + 0x10], xmm6
movaps xmmword [rsp + 0x20], xmm7
movaps xmmword [rsp + 0x30], xmm8
movaps xmmword [rsp + 0x40], xmm9
movaps xmmword [rsp + 0x50], xmm10
movaps xmmword [rsp + 0x60], xmm11
movaps xmmword [rsp + 0x70], xmm12
movaps xmmword [rsp + 0x80], xmm13
movaps xmmword [rsp + 0x90], xmm14
movaps xmmword [rsp + 0xa0], xmm15
shl rax, 0x20
shr rax, 0x1e
mov rsi, rcx
mov rdi, r9
lea rsi, [rsi + 0x40]
sub rsi, rax
lea r9, [0x18006a1a0]
lea r10, [0x18006a1b0]
lea r11, [r10 + 0x10]
xorps xmm0, xmm0
movaps xmmword [rsp], xmm0
mov ecx, 4
nop word cs:[rax + rax]
movups xmm8, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmm2, xmmword [rsi + 0x20]
movups xmm3, xmmword [rsi + 0x30]
movups xmm9, xmmword [rsi + 0x80]
movups xmm5, xmmword [rsi + 0x90]
movups xmm6, xmmword [rsi + 0xa0]
movups xmm7, xmmword [rsi + 0xb0]
movaps xmm0, xmm8
movaps xmm4, xmm1
movaps xmm10, xmm2
movaps xmm11, xmm3
movaps xmm12, xmm9
movaps xmm13, xmm5
movaps xmm14, xmm6
movaps xmm15, xmm7
mulps xmm8, xmmword [rdx]
mulps xmm1, xmmword [rdx + 0x10]
mulps xmm2, xmmword [rdx + 0x20]
mulps xmm3, xmmword [rdx + 0x30]
mulps xmm9, xmmword [rdx + 0x40]
mulps xmm5, xmmword [rdx + 0x50]
mulps xmm6, xmmword [rdx + 0x60]
mulps xmm7, xmmword [rdx + 0x70]
mulps xmm0, xmmword [r8]
mulps xmm4, xmmword [r8 + 0x10]
mulps xmm10, xmmword [r8 + 0x20]
mulps xmm11, xmmword [r8 + 0x30]
mulps xmm12, xmmword [r8 + 0x40]
mulps xmm13, xmmword [r8 + 0x50]
mulps xmm14, xmmword [r8 + 0x60]
mulps xmm15, xmmword [r8 + 0x70]
addps xmm8, xmm1
addps xmm3, xmm2
addps xmm0, xmm4
addps xmm10, xmm11
addps xmm9, xmm5
addps xmm6, xmm7
addps xmm12, xmm13
addps xmm14, xmm15
addps xmm8, xmm3
addps xmm9, xmm6
addps xmm0, xmm10
addps xmm14, xmm12
movaps xmm12, xmm0
movaps xmm13, xmm14
lea rsi, [rsi + 0x100]
lea rdx, [rdx + 0x80]
lea r8, [r8 + 0x80]
movups xmm10, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmm2, xmmword [rsi + 0x20]
movups xmm3, xmmword [rsi + 0x30]
movups xmm11, xmmword [rsi + 0x80]
movups xmm5, xmmword [rsi + 0x90]
movups xmm6, xmmword [rsi + 0xa0]
movups xmm7, xmmword [rsi + 0xb0]
movaps xmm0, xmm10
movaps xmm4, xmm1
movaps xmm14, xmm2
movaps xmm15, xmm3
mulps xmm10, xmmword [rdx]
mulps xmm1, xmmword [rdx + 0x10]
mulps xmm2, xmmword [rdx + 0x20]
mulps xmm3, xmmword [rdx + 0x30]
mulps xmm0, xmmword [r8]
mulps xmm4, xmmword [r8 + 0x10]
mulps xmm14, xmmword [r8 + 0x20]
mulps xmm15, xmmword [r8 + 0x30]
addps xmm10, xmm1
addps xmm3, xmm2
addps xmm0, xmm4
addps xmm14, xmm15
movaps xmm1, xmm11
movaps xmm2, xmm5
movaps xmm4, xmm6
movaps xmm15, xmm7
mulps xmm11, xmmword [rdx + 0x40]
mulps xmm5, xmmword [rdx + 0x50]
mulps xmm6, xmmword [rdx + 0x60]
mulps xmm7, xmmword [rdx + 0x70]
mulps xmm1, xmmword [r8 + 0x40]
mulps xmm2, xmmword [r8 + 0x50]
mulps xmm4, xmmword [r8 + 0x60]
mulps xmm15, xmmword [r8 + 0x70]
addps xmm11, xmm5
addps xmm6, xmm7
addps xmm1, xmm2
addps xmm4, xmm15
addps xmm10, xmm3
addps xmm11, xmm6
addps xmm14, xmm0
addps xmm1, xmm4
movaps xmm15, xmm1
lea rsi, [rsi + 0x100]
lea rdx, [rdx + 0x80]
lea r8, [r8 + 0x80]
movaps xmm0, xmm8
movaps xmm1, xmm10
movaps xmm4, xmm12
movaps xmm5, xmm14
unpcklps xmm8, xmm9
unpcklps xmm10, xmm11
unpckhps xmm0, xmm9
unpckhps xmm1, xmm11
unpcklps xmm12, xmm13
unpcklps xmm14, xmm15
unpckhps xmm4, xmm13
unpckhps xmm5, xmm15
movaps xmm2, xmm8
movaps xmm3, xmm0
movaps xmm6, xmm12
movaps xmm7, xmm4
movlhps xmm8, xmm10
movhlps xmm10, xmm2
movlhps xmm0, xmm1
movhlps xmm1, xmm3
movlhps xmm12, xmm14
movhlps xmm14, xmm6
movlhps xmm4, xmm5
movhlps xmm5, xmm7
subps xmm8, xmm10
subps xmm0, xmm1
subps xmm12, xmm14
subps xmm4, xmm5
addps xmm0, xmm8
addps xmm4, xmm12
movaps xmm2, xmm0
movaps xmm3, xmm0
movaps xmm5, xmm4
movaps xmm6, xmm4
mulps xmm0, xmmword [r9]
mulps xmm4, xmmword [r9]
cmpnleps xmm2, xmmword [r10]
cmpltps xmm3, xmmword [r11]
cmpnleps xmm5, xmmword [r10]
cmpltps xmm6, xmmword [r11]
cvtps2dq xmm0, xmm0
cvtps2dq xmm4, xmm4
xorps xmm0, xmm2
xorps xmm4, xmm5
movaps xmm1, xmm0
unpcklps xmm0, xmm4
unpckhps xmm1, xmm4
movups xmmword [rdi], xmm0
movups xmmword [rdi + 0x10], xmm1
packssdw xmm2, xmm5
packssdw xmm3, xmm6
psrlw xmm2, 0xf
psrlw xmm3, 0xf
paddw xmm2, xmm3
paddw xmm2, xmmword [rsp]
movaps xmmword [rsp], xmm2
lea rdi, [rdi + 0x20]
dec ecx
jne 0x180002790
mov ecx, 4
nop word [rax + rax]
movups xmm8, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmm2, xmmword [rsi + 0x20]
movups xmm3, xmmword [rsi + 0x30]
movups xmm9, xmmword [rsi + 0x80]
movups xmm5, xmmword [rsi + 0x90]
movups xmm6, xmmword [rsi + 0xa0]
movups xmm7, xmmword [rsi + 0xb0]
movaps xmm0, xmm8
movaps xmm4, xmm1
movaps xmm10, xmm2
movaps xmm11, xmm3
movaps xmm12, xmm9
movaps xmm13, xmm5
movaps xmm14, xmm6
movaps xmm15, xmm7
mulps xmm8, xmmword [rdx]
mulps xmm1, xmmword [rdx + 0x10]
mulps xmm2, xmmword [rdx + 0x20]
mulps xmm3, xmmword [rdx + 0x30]
mulps xmm9, xmmword [rdx - 0x40]
mulps xmm5, xmmword [rdx - 0x30]
mulps xmm6, xmmword [rdx - 0x20]
mulps xmm7, xmmword [rdx - 0x10]
mulps xmm0, xmmword [r8]
mulps xmm4, xmmword [r8 + 0x10]
mulps xmm10, xmmword [r8 + 0x20]
mulps xmm11, xmmword [r8 + 0x30]
mulps xmm12, xmmword [r8 - 0x40]
mulps xmm13, xmmword [r8 - 0x30]
mulps xmm14, xmmword [r8 - 0x20]
mulps xmm15, xmmword [r8 - 0x10]
addps xmm8, xmm1
addps xmm3, xmm2
addps xmm0, xmm4
addps xmm10, xmm11
addps xmm9, xmm5
addps xmm6, xmm7
addps xmm12, xmm13
addps xmm14, xmm15
addps xmm8, xmm3
addps xmm9, xmm6
addps xmm0, xmm10
addps xmm14, xmm12
movaps xmm12, xmm0
movaps xmm13, xmm14
lea rsi, [rsi + 0x100]
lea rdx, [rdx - 0x80]
lea r8, [r8 - 0x80]
movups xmm10, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmm2, xmmword [rsi + 0x20]
movups xmm3, xmmword [rsi + 0x30]
movups xmm11, xmmword [rsi + 0x80]
movups xmm5, xmmword [rsi + 0x90]
movups xmm6, xmmword [rsi + 0xa0]
movups xmm7, xmmword [rsi + 0xb0]
movaps xmm0, xmm10
movaps xmm4, xmm1
movaps xmm14, xmm2
movaps xmm15, xmm3
mulps xmm10, xmmword [rdx]
mulps xmm1, xmmword [rdx + 0x10]
mulps xmm2, xmmword [rdx + 0x20]
mulps xmm3, xmmword [rdx + 0x30]
mulps xmm0, xmmword [r8]
mulps xmm4, xmmword [r8 + 0x10]
mulps xmm14, xmmword [r8 + 0x20]
mulps xmm15, xmmword [r8 + 0x30]
addps xmm10, xmm1
addps xmm3, xmm2
addps xmm0, xmm4
addps xmm14, xmm15
movaps xmm1, xmm11
movaps xmm2, xmm5
movaps xmm4, xmm6
movaps xmm15, xmm7
mulps xmm11, xmmword [rdx - 0x40]
mulps xmm5, xmmword [rdx - 0x30]
mulps xmm6, xmmword [rdx - 0x20]
mulps xmm7, xmmword [rdx - 0x10]
mulps xmm1, xmmword [r8 - 0x40]
mulps xmm2, xmmword [r8 - 0x30]
mulps xmm4, xmmword [r8 - 0x20]
mulps xmm15, xmmword [r8 - 0x10]
addps xmm11, xmm5
addps xmm6, xmm7
addps xmm1, xmm2
addps xmm4, xmm15
addps xmm10, xmm3
addps xmm11, xmm6
addps xmm14, xmm0
addps xmm1, xmm4
movaps xmm15, xmm1
lea rsi, [rsi + 0x100]
lea rdx, [rdx - 0x80]
lea r8, [r8 - 0x80]
movaps xmm0, xmm8
movaps xmm1, xmm10
movaps xmm4, xmm12
movaps xmm5, xmm14
unpcklps xmm8, xmm9
unpcklps xmm10, xmm11
unpckhps xmm0, xmm9
unpckhps xmm1, xmm11
unpcklps xmm12, xmm13
unpcklps xmm14, xmm15
unpckhps xmm4, xmm13
unpckhps xmm5, xmm15
movaps xmm2, xmm8
movaps xmm3, xmm0
movaps xmm6, xmm12
movaps xmm7, xmm4
movlhps xmm8, xmm10
movhlps xmm10, xmm2
movlhps xmm0, xmm1
movhlps xmm1, xmm3
movlhps xmm12, xmm14
movhlps xmm14, xmm6
movlhps xmm4, xmm5
movhlps xmm5, xmm7
addps xmm8, xmm10
addps xmm0, xmm1
addps xmm12, xmm14
addps xmm4, xmm5
addps xmm0, xmm8
addps xmm4, xmm12
movaps xmm2, xmm0
movaps xmm3, xmm0
movaps xmm5, xmm4
movaps xmm6, xmm4
mulps xmm0, xmmword [r9]
mulps xmm4, xmmword [r9]
cmpnleps xmm2, xmmword [r10]
cmpltps xmm3, xmmword [r11]
cmpnleps xmm5, xmmword [r10]
cmpltps xmm6, xmmword [r11]
cvtps2dq xmm0, xmm0
cvtps2dq xmm4, xmm4
xorps xmm0, xmm2
xorps xmm4, xmm5
movaps xmm1, xmm0
unpcklps xmm0, xmm4
unpckhps xmm1, xmm4
movups xmmword [rdi], xmm0
movups xmmword [rdi + 0x10], xmm1
packssdw xmm2, xmm5
packssdw xmm3, xmm6
psrlw xmm2, 0xf
psrlw xmm3, 0xf
paddw xmm2, xmm3
paddw xmm2, xmmword [rsp]
movaps xmmword [rsp], xmm2
lea rdi, [rdi + 0x20]
dec ecx
jne 0x180002a30
movaps xmm4, xmmword [rsp]
movhlps xmm0, xmm4
paddw xmm0, xmm4
pshuflw xmm1, xmm0, 0x55
pshuflw xmm2, xmm0, 0xaa
pshuflw xmm3, xmm0, 0xff
paddw xmm0, xmm1
paddw xmm0, xmm2
paddw xmm0, xmm3
movd eax, xmm0
and eax, 0xffff
movaps xmm6, xmmword [rsp + 0x10]
movaps xmm7, xmmword [rsp + 0x20]
movaps xmm8, xmmword [rsp + 0x30]
movaps xmm9, xmmword [rsp + 0x40]
movaps xmm10, xmmword [rsp + 0x50]
movaps xmm11, xmmword [rsp + 0x60]
movaps xmm12, xmmword [rsp + 0x70]
movaps xmm13, xmmword [rsp + 0x80]
movaps xmm14, xmmword [rsp + 0x90]
movaps xmm15, xmmword [rsp + 0xa0]
add rsp, 0xb8
pop rdi
pop rsi
ret