Function at 0x18002b370
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push rbx
push rdi
sub rsp, 0xd8
movaps xmm0, xmmword [0x18005ea40]
mov rbx, rdx
movaps xmmword [rax - 0x28], xmm6
mov rdi, rcx
movaps xmmword [rax - 0x38], xmm7
movaps xmm6, xmm2
movaps xmmword [rax - 0x48], xmm8
movaps xmm7, xmm2
movsd xmm8, qword [0x18006ff50]
movaps xmmword [rax - 0x58], xmm9
xorps xmm6, xmm8
movaps xmmword [rax - 0x68], xmm10
movaps xmmword [rax - 0x78], xmm11
movaps xmmword [rsp + 0x60], xmm12
xorps xmm12, xmm12
movaps xmmword [rsp + 0x50], xmm13
movaps xmmword [rsp + 0x40], xmm14
movsd xmm14, qword [0x18006fea0]
movups xmmword [rsp + 0x20], xmm0
movaps xmmword [rsp + 0x30], xmm15
movaps xmm0, xmm6
xorps xmm15, xmm15
call fcn.180040b90
movsd qword [rsp + 0x108], xmm0
movaps xmm10, xmm0
movaps xmm0, xmm6
call fcn.1800430e0
mulsd xmm7, qword [0x18005ea30]
movaps xmm9, xmm0
movsd qword [rsp + 0x100], xmm0
movaps xmm0, xmm7
call fcn.180040b90
movsd qword [rsp + 0xf8], xmm0
movaps xmm11, xmm0
movaps xmm0, xmm7
call fcn.1800430e0
movsxd r8, dword [rdi]
xor r9d, r9d
movsd qword [rsp + 0xf0], xmm0
movaps xmm6, xmm0
cmp r8, 4
jl 0x18002b9bd
mov rcx, qword [rdi + 8]
lea rax, [r8 - 4]
movsd xmm7, qword [rsp + 0x28]
add rcx, 0xe0
movsd xmm13, qword [rsp + 0x20]
shr rax, 2
inc rax
lea r9, [rax*4]
jmp 0x18002b489
movsd xmm6, qword [rsp + 0xf0]
movsd xmm1, qword [rcx - 0xc0]
movaps xmm3, xmm9
movsd xmm2, qword [rcx - 0xb8]
movaps xmm0, xmm11
movsd xmm4, qword [rcx - 0xd8]
movsd xmm5, qword [rcx - 0xd0]
xorps xmm4, xmm8
mulsd xmm0, xmm2
xorps xmm5, xmm8
mulsd xmm10, xmm1
mulsd xmm3, xmm1
mulsd xmm9, xmm4
addsd xmm10, qword [rcx - 0xc8]
addsd xmm3, xmm15
addsd xmm9, xmm15
addsd xmm10, xmm0
movaps xmm0, xmm6
mulsd xmm0, xmm2
movaps xmm8, xmm10
mulsd xmm10, xmm12
addsd xmm3, xmm0
mulsd xmm8, xmm14
movaps xmm0, xmm3
mulsd xmm3, xmm14
movsd xmm14, qword [rsp + 0x108]
mulsd xmm0, xmm12
movaps xmm1, xmm14
movsd xmm12, qword [0x18006ff50]
addsd xmm10, xmm3
movsd xmm3, qword [rcx - 0x78]
mulsd xmm1, xmm4
xorps xmm3, xmm12
subsd xmm8, xmm0
movaps xmm0, xmm11
mulsd xmm0, xmm5
addsd xmm1, qword [0x18006fea0]
addsd xmm1, xmm0
movaps xmm0, xmm6
mulsd xmm0, xmm5
movaps xmm6, xmm14
mulsd xmm6, qword [rcx - 0x60]
movaps xmm5, xmm14
movaps xmm11, xmm1
mulsd xmm5, xmm3
addsd xmm9, xmm0
mulsd xmm1, xmm7
addsd xmm6, qword [rcx - 0x68]
addsd xmm5, qword [0x18006fea0]
mulsd xmm11, xmm13
movaps xmm0, xmm9
mulsd xmm9, xmm13
movsd xmm13, qword [rsp + 0x100]
mulsd xmm0, xmm7
movaps xmm4, xmm13
mulsd xmm4, qword [rcx - 0x60]
addsd xmm9, xmm1
movsd xmm1, qword [rcx - 0x70]
movaps xmm2, xmm13
subsd xmm11, xmm0
mulsd xmm2, xmm3
movsd xmm0, qword [rsp + 0xf8]
xorps xmm1, xmm12
mulsd xmm0, qword [rcx - 0x58]
addsd xmm4, xmm15
addsd xmm2, xmm15
movaps xmm7, xmm8
addsd xmm6, xmm0
movsd xmm0, qword [rsp + 0xf0]
mulsd xmm0, qword [rcx - 0x58]
mulsd xmm7, xmm6
addsd xmm4, xmm0
movsd xmm0, qword [rsp + 0xf8]
mulsd xmm0, xmm1
addsd xmm5, xmm0
movsd xmm0, qword [rsp + 0xf0]
mulsd xmm0, xmm1
addsd xmm2, xmm0
movaps xmm0, xmm10
mulsd xmm0, xmm4
mulsd xmm10, xmm6
subsd xmm7, xmm0
movsd xmm3, qword [rcx - 0x18]
movaps xmm0, xmm9
movsd xmm1, qword [rcx - 0x10]
xorps xmm3, xmm12
mulsd xmm0, xmm2
xorps xmm1, xmm12
movsd xmm12, qword [rsp + 0xf8]
movaps xmm6, xmm7
mulsd xmm9, xmm5
mulsd xmm8, xmm4
movaps xmm4, xmm14
mulsd xmm4, xmm3
addsd xmm10, xmm8
movaps xmm8, xmm11
mulsd xmm8, xmm5
movaps xmm5, xmm13
mulsd xmm5, qword [rcx]
addsd xmm4, qword [0x18006fea0]
subsd xmm8, xmm0
mulsd xmm11, xmm2
movsd xmm0, qword [rsp + 0xf8]
addsd xmm5, xmm15
mulsd xmm0, qword [rcx + 8]
movaps xmm2, xmm13
addsd xmm11, xmm9
mulsd xmm2, xmm3
movsd xmm3, qword [rcx + 0x48]
movaps xmm9, xmm14
mulsd xmm9, qword [rcx]
movaps xmm13, xmm8
mulsd xmm14, qword [rcx + 0x60]
addsd xmm2, xmm15
addsd xmm9, qword [rcx - 8]
addsd xmm14, qword [rcx + 0x58]
addsd xmm9, xmm0
movsd xmm0, qword [rsp + 0xf0]
mulsd xmm0, qword [rcx + 8]
mulsd xmm6, xmm9
addsd xmm5, xmm0
mulsd xmm9, xmm10
movaps xmm0, xmm12
mulsd xmm0, xmm1
mulsd xmm7, xmm5
addsd xmm4, xmm0
movsd xmm0, qword [rsp + 0xf0]
mulsd xmm0, xmm1
movsd xmm1, qword [rcx + 0x50]
addsd xmm9, xmm7
mulsd xmm13, xmm4
addsd xmm2, xmm0
movaps xmm0, xmm10
movsd xmm10, qword [rsp + 0x108]
mulsd xmm0, xmm5
movaps xmm5, xmm10
mulsd xmm8, xmm2
subsd xmm6, xmm0
movaps xmm0, xmm11
mulsd xmm0, xmm2
movsd xmm2, qword [rsp + 0x100]
mulsd xmm11, xmm4
movsd xmm4, qword [rsp + 0x100]
subsd xmm13, xmm0
mulsd xmm4, qword [rcx + 0x60]
movaps xmm0, xmm12
mulsd xmm0, qword [rcx + 0x68]
addsd xmm11, xmm8
movsd xmm8, qword [0x18006ff50]
xorps xmm3, xmm8
addsd xmm4, xmm15
mulsd xmm5, xmm3
xorps xmm1, xmm8
addsd xmm14, xmm0
mulsd xmm2, xmm3
movsd xmm0, qword [rsp + 0xf0]
mulsd xmm0, qword [rcx + 0x68]
addsd xmm5, qword [0x18006fea0]
addsd xmm2, xmm15
addsd xmm4, xmm0
movaps xmm0, xmm12
mulsd xmm0, xmm1
addsd xmm5, xmm0
movsd xmm0, qword [rsp + 0xf0]
movaps xmm12, xmm14
mulsd xmm0, xmm1
add rcx, 0x180
mulsd xmm12, xmm9
mulsd xmm9, xmm4
mulsd xmm14, xmm6
addsd xmm2, xmm0
movaps xmm0, xmm6
mulsd xmm0, xmm4
subsd xmm14, xmm9
movsd xmm9, qword [rsp + 0x100]
movaps xmm7, xmm2
mulsd xmm7, xmm13
mulsd xmm13, xmm5
addsd xmm12, xmm0
movaps xmm0, xmm11
mulsd xmm11, xmm2
mulsd xmm0, xmm5
subsd xmm13, xmm11
movsd xmm11, qword [rsp + 0xf8]
addsd xmm7, xmm0
sub rax, 1
jne 0x18002b480
movsd qword [rsp + 0x28], xmm7
movsd qword [rsp + 0x20], xmm13
cmp r9, r8
jge 0x18002b95f
mov rdx, qword [rdi + 8]
lea rcx, [r9 + r9*2]
shl rcx, 5
add rdx, 0x20
add rdx, rcx
sub r8, r9
movsd xmm5, qword [rdx - 0x18]
movaps xmm4, xmm10
mulsd xmm4, qword [rdx]
movaps xmm3, xmm9
mulsd xmm3, qword [rdx]
movaps xmm0, xmm11
mulsd xmm0, qword [rdx + 8]
movaps xmm2, xmm9
addsd xmm4, qword [rdx - 8]
movsd xmm6, qword [rdx - 0x10]
addsd xmm3, xmm15
xorps xmm5, xmm8
xorps xmm6, xmm8
mulsd xmm2, xmm5
addsd xmm4, xmm0
movsd xmm0, qword [rsp + 0xf0]
mulsd xmm0, qword [rdx + 8]
add rdx, 0x60
addsd xmm2, xmm15
movaps xmm1, xmm4
mulsd xmm4, xmm12
mulsd xmm1, xmm14
addsd xmm3, xmm0
movaps xmm0, xmm3
mulsd xmm3, xmm14
mulsd xmm0, xmm12
movaps xmm12, xmm4
addsd xmm12, xmm3
movaps xmm3, xmm10
mulsd xmm3, xmm5
subsd xmm1, xmm0
movaps xmm0, xmm11
mulsd xmm0, xmm6
addsd xmm3, qword [0x18006fea0]
movaps xmm14, xmm1
addsd xmm3, xmm0
movsd xmm0, qword [rsp + 0xf0]
mulsd xmm0, xmm6
movaps xmm1, xmm3
mulsd xmm3, xmm7
mulsd xmm1, xmm13
addsd xmm2, xmm0
movaps xmm0, xmm2
mulsd xmm2, xmm13
mulsd xmm0, xmm7
movaps xmm7, xmm2
addsd xmm7, xmm3
subsd xmm1, xmm0
movaps xmm13, xmm1
sub r8, 1
jne 0x18002b86e
movsd qword [rsp + 0x28], xmm7
movsd qword [rsp + 0x20], xmm1
lea rdx, [rsp + 0x20]
movsd qword [rbx], xmm14
mov rcx, rbx
movsd qword [rbx + 8], xmm12
call fcn.18002aba0
movaps xmm13, xmmword [rsp + 0x50]
lea r11, [rsp + 0xd8]
movaps xmm6, xmmword [r11 - 0x18]
mov rax, rbx
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm11, xmmword [r11 - 0x68]
movaps xmm12, xmmword [r11 - 0x78]
movaps xmm14, xmmword [rsp + 0x40]
movaps xmm15, xmmword [rsp + 0x30]
mov rsp, r11
pop rdi
pop rbx
ret
test r8, r8
jle 0x18002b95f
movsd xmm7, qword [rsp + 0x28]
movsd xmm13, qword [rsp + 0x20]
jmp 0x18002b858