Function at 0x2e3d2fb50
Capabilities:
Encode data using xor

Disassembly:
push rbx
sub rsp, 0x120
movaps xmmword [rsp + 0x80], xmm6
movaps xmmword [rsp + 0x90], xmm7
movaps xmmword [rsp + 0xa0], xmm8
movaps xmmword [rsp + 0xb0], xmm9
movaps xmmword [rsp + 0xc0], xmm10
movaps xmmword [rsp + 0xd0], xmm11
movaps xmmword [rsp + 0xe0], xmm12
movaps xmmword [rsp + 0xf0], xmm13
movaps xmmword [rsp + 0x100], xmm14
movaps xmmword [rsp + 0x110], xmm15
mov rax, rcx
mov r10, rdx
test r9d, r9d
jle 0x2e3d2feb4
movsxd r9, r9d
movaps xmm14, xmmword [0x2e3ee65c0]
movaps xmm12, xmmword [0x2e3ee65d0]
movss xmm6, dword [0x2e3ee64a0]
lea rdx, [r9 + r9*8]
lea r11, [rsp + 0x50]
movaps xmm11, xmmword [0x2e3ee65e0]
movaps xmm10, xmmword [0x2e3ee65f0]
movss xmm9, dword [0x2e3ee6600]
lea rbx, [r10 + rdx*4]
lea r9, [rsp + 0x20]
movss xmm8, dword [0x2e3ee6604]
nop
movss xmm15, dword [rax + 4]
movss xmm1, dword [rax + 8]
mov rcx, r11
add r10, 0x24
movss xmm5, dword [rax + 0x10]
movss xmm2, dword [rax + 0x14]
add rax, 0x48
movaps xmm0, xmm15
movss xmm13, dword [rax - 0x48]
movss xmm4, dword [rax - 0x28]
subss xmm0, xmm1
movss xmm7, dword [rax - 0x18]
movss xmm3, dword [rax - 0x14]
xorps xmm13, xmm6
movss dword [rsp + 0x40], xmm0
movaps xmm0, xmm15
movss xmm15, dword [rax - 0x3c]
addss xmm0, xmm1
movss xmm1, dword [rax - 0x30]
addss xmm15, xmm5
subss xmm5, dword [rax - 0x3c]
addss xmm1, xmm2
subss xmm2, dword [rax - 0x30]
xorps xmm15, xmm6
unpcklps xmm15, xmm1
movaps xmm1, xmm13
movss xmm13, dword [rax - 0x24]
unpcklps xmm2, xmm5
unpcklps xmm1, xmm0
movss xmm0, dword [rax - 0x10]
addss xmm13, dword [rax - 0x20]
movlhps xmm1, xmm15
movss xmm15, dword [rax - 0x1c]
movaps xmmword [rsp + 0x50], xmm1
movss xmm1, dword [rax - 0x2c]
addss xmm0, xmm3
subss xmm3, dword [rax - 0x10]
addss xmm15, xmm7
subss xmm7, dword [rax - 0x1c]
addss xmm1, xmm4
subss xmm4, dword [rax - 0x2c]
xorps xmm15, xmm6
unpcklps xmm3, xmm7
movss xmm7, dword [rax - 4]
xorps xmm1, xmm6
unpcklps xmm15, xmm0
movss xmm0, dword [rax - 0x24]
subss xmm0, dword [rax - 0x20]
unpcklps xmm1, xmm13
movlhps xmm1, xmm15
movss xmm15, dword [rax - 8]
movaps xmmword [rsp + 0x60], xmm1
movss xmm1, dword [rax - 0xc]
unpcklps xmm0, xmm4
movaps xmm13, xmm15
movlhps xmm0, xmm2
subss xmm13, xmm1
addss xmm1, xmm15
movaps xmmword [rsp + 0x30], xmm0
unpcklps xmm7, xmm13
xorps xmm1, xmm6
movlhps xmm7, xmm3
movss dword [rsp + 0x70], xmm1
movaps xmmword [rsp + 0x20], xmm7
call fcn.2e3d2c9e0
mov rcx, r9
call fcn.2e3d2c9e0
movss xmm0, dword [rsp + 0x24]
movaps xmm1, xmmword [rsp + 0x50]
movups xmm5, xmmword [r8 + 0x24]
movups xmm2, xmmword [r10 - 0x24]
mulps xmm1, xmm12
xorps xmm0, xmm6
movss dword [rsp + 0x24], xmm0
movss xmm0, dword [rsp + 0x2c]
xorps xmm0, xmm6
movss dword [rsp + 0x2c], xmm0
movaps xmm3, xmmword [rsp + 0x20]
movaps xmm4, xmmword [rsp + 0x20]
movss xmm0, dword [rsp + 0x34]
mulps xmm3, xmm14
mulps xmm4, xmm12
xorps xmm0, xmm6
movss dword [rsp + 0x34], xmm0
movss xmm0, dword [rsp + 0x3c]
xorps xmm0, xmm6
addps xmm3, xmm1
movaps xmm1, xmmword [rsp + 0x50]
movss dword [rsp + 0x3c], xmm0
movups xmm0, xmmword [r8]
mulps xmm1, xmm14
subps xmm1, xmm4
movaps xmm4, xmm5
mulps xmm4, xmm3
movups xmmword [r10 - 0x24], xmm1
movaps xmm1, xmm2
mulps xmm1, xmm0
mulps xmm0, xmm3
movaps xmm3, xmmword [rsp + 0x30]
mulps xmm2, xmm5
mulps xmm3, xmm11
subps xmm1, xmm4
movaps xmm4, xmmword [rsp + 0x30]
mulps xmm4, xmm10
addps xmm0, xmm2
movups xmmword [rax - 0x48], xmm1
movaps xmm1, xmmword [rsp + 0x60]
mulps xmm1, xmm10
shufps xmm0, xmm0, 0x1b
movups xmmword [rax - 0x10], xmm0
movups xmm5, xmmword [r8 + 0x34]
movups xmm2, xmmword [r10 - 0x14]
movups xmm0, xmmword [r8 + 0x10]
addps xmm3, xmm1
movaps xmm1, xmmword [rsp + 0x60]
mulps xmm1, xmm11
subps xmm1, xmm4
movaps xmm4, xmm5
mulps xmm4, xmm3
movups xmmword [r10 - 0x14], xmm1
movaps xmm1, xmm2
mulps xmm1, xmm0
mulps xmm2, xmm5
mulps xmm0, xmm3
movss xmm3, dword [rsp + 0x40]
subps xmm1, xmm4
addps xmm0, xmm2
movss xmm2, dword [rsp + 0x70]
movups xmmword [rax - 0x38], xmm1
movaps xmm1, xmm3
mulss xmm3, xmm9
movaps xmm4, xmm2
mulss xmm2, xmm8
shufps xmm0, xmm0, 0x1b
movups xmmword [rax - 0x20], xmm0
movss xmm0, dword [r10 - 4]
mulss xmm4, xmm9
mulss xmm1, xmm8
subss xmm2, xmm3
addss xmm1, xmm4
movss dword [r10 - 4], xmm2
movss xmm2, dword [r8 + 0x20]
movss xmm3, dword [r8 + 0x44]
mulss xmm2, xmm0
mulss xmm3, xmm1
subss xmm2, xmm3
movss dword [rax - 0x28], xmm2
mulss xmm0, dword [r8 + 0x44]
mulss xmm1, dword [r8 + 0x20]
addss xmm0, xmm1
movss dword [rax - 0x24], xmm0
cmp r10, rbx
jne 0x2e3d2fc10
movaps xmm6, xmmword [rsp + 0x80]
movaps xmm7, xmmword [rsp + 0x90]
movaps xmm8, xmmword [rsp + 0xa0]
movaps xmm9, xmmword [rsp + 0xb0]
movaps xmm10, xmmword [rsp + 0xc0]
movaps xmm11, xmmword [rsp + 0xd0]
movaps xmm12, xmmword [rsp + 0xe0]
movaps xmm13, xmmword [rsp + 0xf0]
movaps xmm14, xmmword [rsp + 0x100]
movaps xmm15, xmmword [rsp + 0x110]
add rsp, 0x120
pop rbx
ret