Function at 0x1400310f0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov dword [rsp + 8], ecx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb8
xor r15d, r15d
movsxd rbx, ecx
mov r14d, edx
mov ecx, ebx
mov qword [rsp + 0x20], r15
mov dword [rsp + 0x18], r15d
mov r11, rbx
mov r12d, r15d
imul ecx, edx
lea r10d, [rcx + rcx]
lea eax, [rcx + rcx*2]
movsxd r13, ecx
mov dword [rsp], ecx
mov edx, r15d
movsxd rsi, eax
movsxd rbp, r10d
mov rdi, r13
cmp r14d, 4
jl 0x140031356
lea eax, [r14 - 4]
lea r10d, [rbx + rbx]
shr eax, 2
inc eax
mov r15d, eax
lea eax, [rax*4]
mov dword [rsp + 0x18], eax
movss xmm1, dword [r8 + r12*4]
movss xmm2, dword [r8 + rsi*4]
lea ecx, [rdx*4]
movsxd rax, ecx
add edx, ebx
addss xmm1, dword [r8 + rbp*4]
addss xmm2, dword [r8 + rdi*4]
movaps xmm0, xmm1
subss xmm1, xmm2
addss xmm0, xmm2
movss dword [r9 + rax*4], xmm0
lea rax, [rax + rbx*4]
movss dword [r9 + rax*4 - 4], xmm1
movss xmm0, dword [r8 + r12*4]
add r12, rbx
lea eax, [r10 + rcx]
lea ecx, [rdx*4]
add edx, ebx
subss xmm0, dword [r8 + rbp*4]
cdqe
add rbp, rbx
movss dword [r9 + rax*4 - 4], xmm0
movss xmm1, dword [r8 + rsi*4]
add rsi, rbx
subss xmm1, dword [r8 + rdi*4]
add rdi, rbx
movss dword [r9 + rax*4], xmm1
movss xmm1, dword [r8 + r12*4]
movss xmm2, dword [r8 + rsi*4]
movsxd rax, ecx
addss xmm1, dword [r8 + rbp*4]
addss xmm2, dword [r8 + rdi*4]
movaps xmm0, xmm1
subss xmm1, xmm2
addss xmm0, xmm2
movss dword [r9 + rax*4], xmm0
lea rax, [rax + rbx*4]
movss dword [r9 + rax*4 - 4], xmm1
movss xmm0, dword [r8 + r12*4]
add r12, rbx
lea eax, [r10 + rcx]
lea ecx, [rdx*4]
add edx, ebx
subss xmm0, dword [r8 + rbp*4]
cdqe
add rbp, rbx
movss dword [r9 + rax*4 - 4], xmm0
movss xmm1, dword [r8 + rsi*4]
add rsi, rbx
subss xmm1, dword [r8 + rdi*4]
add rdi, rbx
movss dword [r9 + rax*4], xmm1
movss xmm1, dword [r8 + r12*4]
movss xmm2, dword [r8 + rsi*4]
movsxd rax, ecx
addss xmm1, dword [r8 + rbp*4]
addss xmm2, dword [r8 + rdi*4]
movaps xmm0, xmm1
subss xmm1, xmm2
addss xmm0, xmm2
movss dword [r9 + rax*4], xmm0
lea rax, [rax + rbx*4]
movss dword [r9 + rax*4 - 4], xmm1
movss xmm0, dword [r8 + r12*4]
lea eax, [r10 + rcx]
cdqe
add r12, rbx
lea ecx, [rdx*4]
subss xmm0, dword [r8 + rbp*4]
movss dword [r9 + rax*4 - 4], xmm0
movss xmm1, dword [r8 + rsi*4]
add rsi, rbx
subss xmm1, dword [r8 + rdi*4]
add rdi, rbx
add rbp, rbx
movss dword [r9 + rax*4], xmm1
movss xmm2, dword [r8 + rsi*4]
movss xmm1, dword [r8 + r12*4]
movsxd rax, ecx
addss xmm2, dword [r8 + rdi*4]
addss xmm1, dword [r8 + rbp*4]
movaps xmm0, xmm1
subss xmm1, xmm2
add edx, ebx
addss xmm0, xmm2
movss dword [r9 + rax*4], xmm0
lea rax, [rax + rbx*4]
movss dword [r9 + rax*4 - 4], xmm1
movss xmm0, dword [r8 + r12*4]
lea eax, [r10 + rcx]
cdqe
add r12, rbx
subss xmm0, dword [r8 + rbp*4]
add rbp, rbx
movss dword [r9 + rax*4 - 4], xmm0
movss xmm1, dword [r8 + rsi*4]
add rsi, rbx
subss xmm1, dword [r8 + rdi*4]
add rdi, rbx
dec r15
movss dword [r9 + rax*4], xmm1
jne 0x140031171
mov ecx, dword [rsp + 0x18]
cmp ecx, r14d
jge 0x1400313f9
mov r15d, r14d
lea r10, [rbx*4]
lea rdi, [r8 + rdi*4]
lea rsi, [r8 + rsi*4]
lea rbp, [r8 + rbp*4]
lea r12, [r8 + r12*4]
sub r15d, ecx
lea r11d, [rbx + rbx]
movss xmm1, dword [r12]
movss xmm2, dword [rsi]
lea ecx, [rdx*4]
movsxd rax, ecx
add edx, ebx
addss xmm1, dword [rbp]
addss xmm2, dword [rdi]
movaps xmm0, xmm1
addss xmm0, xmm2
subss xmm1, xmm2
movss dword [r9 + rax*4], xmm0
add rax, r10
movss dword [r9 + rax*4 - 4], xmm1
movss xmm0, dword [r12]
lea eax, [r11 + rcx]
add r12, r10
cdqe
subss xmm0, dword [rbp]
add rbp, r10
movss dword [r9 + rax*4 - 4], xmm0
movss xmm1, dword [rsi]
add rsi, r10
subss xmm1, dword [rdi]
add rdi, r10
dec r15
movss dword [r9 + rax*4], xmm1
jne 0x140031385
mov r11, rbx
cmp ebx, 2
jl 0x140031a03
je 0x14003171d
mov edi, r15d
mov r10, r15
test r14d, r14d
jle 0x140031714
movaps xmmword [rsp + 0xa0], xmm6
movaps xmmword [rsp + 0x90], xmm7
movaps xmmword [rsp + 0x80], xmm8
lea ecx, [rbx + rbx]
mov rsi, r14
mov qword [rsp + 8], r14
mov r14, qword [rsp + 0x120]
movsxd rax, ecx
movaps xmmword [rsp + 0x70], xmm9
movaps xmmword [rsp + 0x60], xmm10
movaps xmmword [rsp + 0x50], xmm11
mov qword [rsp + 0x18], rax
nop dword [rax]
lea eax, [rdi*4]
add ecx, eax
movsxd rdx, eax
movsxd rax, ecx
cmp ebx, 2
jle 0x1400316cb
lea rax, [r9 + rax*4 - 4]
lea rcx, [r13 + r13]
mov ebp, 4
mov qword [rsp + 0x30], rax
lea rax, [r14 + 4]
mov r15d, 4
mov qword [rsp + 0x40], rax
mov rax, rcx
mov rsi, r13
mov r11, qword [rsp + 0x40]
sub rax, rdx
mov r12, r13
add rax, r10
neg rsi
neg r12
add rax, rdx
sub rdx, rcx
mov rcx, qword [rsp + 0x128]
lea rax, [r8 + rax*4 - 4]
sub rdx, r10
sub rcx, r14
mov qword [rsp + 0x28], rax
lea rax, [r13*4]
sub rbp, rax
lea rax, [r13*8]
sub r15, rax
mov rax, qword [rsp + 0x18]
add rax, rdx
shl rax, 2
sub rax, r8
add rax, r9
mov qword [rsp + 0x38], rax
lea rax, [rdx*4]
mov rdx, qword [rsp + 0x130]
sub rax, r8
mov r8, qword [rsp + 0x18]
sub rdx, r14
mov r14, qword [rsp + 0x30]
add rax, r9
mov r9, qword [rsp + 0x38]
mov qword [rsp + 0x48], rax
lea eax, [rbx - 3]
mov rbx, qword [rsp + 0x48]
shr eax, 1
inc eax
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 0x28]
movss xmm2, dword [r11]
movss xmm3, dword [rax + rsi*4 + 8]
movss xmm4, dword [rax + r13*4 + 0xc]
add rax, 8
sub r14, 8
add r11, 8
dec qword [rsp + 0x10]
movaps xmm0, xmm3
mulss xmm3, xmm2
movaps xmm5, xmm2
mulss xmm0, dword [r11 - 0xc]
movss xmm2, dword [rcx + r11 - 8]
movss xmm11, dword [rax + rbp]
movss xmm8, dword [rax + 4]
mulss xmm5, xmm11
mulss xmm11, dword [r11 - 0xc]
addss xmm5, xmm0
subss xmm11, xmm3
movss xmm3, dword [rax]
movaps xmm0, xmm2
mulss xmm0, xmm8
mulss xmm8, dword [rcx + r11 - 0xc]
movaps xmm9, xmm3
mulss xmm9, dword [rcx + r11 - 0xc]
mulss xmm3, xmm2
movss xmm2, dword [rax + r13*4]
subss xmm8, xmm3
movss xmm3, dword [rdx + r11 - 8]
movaps xmm10, xmm3
mulss xmm10, xmm4
mulss xmm4, dword [rdx + r11 - 0xc]
addss xmm9, xmm0
movaps xmm0, xmm2
mulss xmm0, dword [rdx + r11 - 0xc]
mulss xmm3, xmm2
movss xmm2, dword [rax + r12*8]
subss xmm4, xmm3
movaps xmm3, xmm2
subss xmm2, xmm9
movaps xmm6, xmm4
addss xmm10, xmm0
addss xmm6, xmm11
subss xmm11, xmm4
movaps xmm7, xmm10
addss xmm7, xmm5
subss xmm10, xmm5
movss xmm5, dword [r15 + rax]
movaps xmm4, xmm5
addss xmm4, xmm8
addss xmm3, xmm9
subss xmm5, xmm8
movaps xmm0, xmm3
movaps xmm1, xmm4
addss xmm1, xmm6
addss xmm0, xmm7
subss xmm3, xmm7
movss dword [rbx + rax + 4], xmm1
movss dword [rbx + rax], xmm0
subss xmm6, xmm4
movaps xmm0, xmm2
movaps xmm1, xmm10
subss xmm1, xmm5
subss xmm0, xmm11
addss xmm2, xmm11
movss dword [r14 + 4], xmm1
movss dword [r14], xmm0
movss dword [r9 + rax], xmm2
addss xmm5, xmm10
movss dword [r9 + rax + 4], xmm5
movss dword [r14 + r8*4], xmm3
movss dword [r14 + r8*4 + 4], xmm6
jne 0x140031543
movsxd rbx, dword [rsp + 0x100]
mov r8, qword [rsp + 0x110]
mov r9, qword [rsp + 0x118]
mov rsi, qword [rsp + 8]
mov r14, qword [rsp + 0x120]
mov r11, rbx
add edi, ebx
add r10, r11
dec rsi
mov qword [rsp + 8], rsi
lea ecx, [rbx + rbx]
jne 0x140031460
mov r14d, dword [rsp + 0x108]
movaps xmm11, xmmword [rsp + 0x50]
movaps xmm10, xmmword [rsp + 0x60]
movaps xmm9, xmmword [rsp + 0x70]
movaps xmm8, xmmword [rsp + 0x80]
movaps xmm7, xmmword [rsp + 0x90]
movaps xmm6, xmmword [rsp + 0xa0]
test bl, 1
jne 0x140031a03
mov eax, dword [rsp]
movss xmm4, dword [0x1400b88b4]
movss xmm5, dword [0x14006c000]
lea edx, [rbx*4]
mov r12, r11
lea ecx, [rax + rbx - 1]
movsxd r10, edx
lea eax, [rcx + rax*2]
movsxd rdi, ecx
mov rcx, r11
movsxd rsi, eax
lea eax, [rbx + rbx]
mov qword [rsp + 0x10], r10
movsxd r15, eax
cmp r14d, 4
jl 0x140031965
lea rax, [r10*4]
lea rbp, [r11*4]
mov qword [rsp], rax
lea rax, [r15 + r11]
lea rbx, [r8 + rbp - 4]
lea rdx, [r9 + rax*4]
lea rax, [rdi + r13]
lea r10, [r8 + rax*4]
lea eax, [r14 - 4]
shr eax, 2
inc eax
mov qword [rsp + 8], rax
shl eax, 2
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x10]
nop word [rax + rax]
movss xmm2, dword [r8 + rdi*4]
movss xmm0, dword [r8 + rsi*4]
add rsi, r11
add rdi, r11
add r12, r11
add r12, r11
add r12, r11
movaps xmm3, xmm0
addss xmm3, xmm2
subss xmm2, xmm0
mulss xmm3, xmm4
mulss xmm2, xmm4
movaps xmm0, xmm2
xorps xmm3, xmm5
addss xmm0, dword [rbx]
movss dword [r9 + rcx*4 - 4], xmm0
movss xmm1, dword [rbx]
movaps xmm0, xmm3
add rbx, rbp
subss xmm1, xmm2
movss dword [rdx - 4], xmm1
subss xmm0, dword [r10]
movss dword [r9 + rcx*4], xmm0
addss xmm3, dword [r10]
add rcx, rax
add r10, rbp
movss dword [rdx], xmm3
movss xmm2, dword [r8 + rdi*4]
movss xmm0, dword [r8 + rsi*4]
add rdx, qword [rsp]
add rsi, r11
add rdi, r11
movaps xmm3, xmm0
addss xmm3, xmm2
subss xmm2, xmm0
mulss xmm3, xmm4
mulss xmm2, xmm4
movaps xmm0, xmm2
xorps xmm3, xmm5
addss xmm0, dword [rbx]
movss dword [r9 + rcx*4 - 4], xmm0
movss xmm1, dword [rbx]
movaps xmm0, xmm3
add rbx, rbp
subss xmm1, xmm2
movss dword [rdx - 4], xmm1
subss xmm0, dword [r10]
movss dword [r9 + rcx*4], xmm0
addss xmm3, dword [r10]
add rcx, rax
add r10, rbp
movss dword [rdx], xmm3
movss xmm0, dword [r8 + rsi*4]
movss xmm2, dword [r8 + rdi*4]
add rdx, qword [rsp]
add rsi, r11
add rdi, r11
movaps xmm3, xmm0
addss xmm3, xmm2
subss xmm2, xmm0
mulss xmm3, xmm4
mulss xmm2, xmm4
movaps xmm0, xmm2
xorps xmm3, xmm5
addss xmm0, dword [rbx]
movss dword [r9 + rcx*4 - 4], xmm0
movss xmm1, dword [rbx]
movaps xmm0, xmm3
subss xmm1, xmm2
movss dword [rdx - 4], xmm1
subss xmm0, dword [r10]
movss dword [r9 + rcx*4], xmm0
addss xmm3, dword [r10]
add r10, rbp
add rcx, rax
movss dword [rdx], xmm3
movss xmm0, dword [r8 + rsi*4]
movss xmm2, dword [r8 + rdi*4]
add rdx, qword [rsp]
add rbx, rbp
movaps xmm3, xmm0
addss xmm3, xmm2
subss xmm2, xmm0
add rdi, r11
add rsi, r11
add r12, r11
mulss xmm3, xmm4
mulss xmm2, xmm4
movaps xmm0, xmm2
xorps xmm3, xmm5
addss xmm0, dword [rbx]
movss dword [r9 + rcx*4 - 4], xmm0
movss xmm1, dword [rbx]
movaps xmm0, xmm3
add rbx, rbp
subss xmm1, xmm2
movss dword [rdx - 4], xmm1
subss xmm0, dword [r10]
movss dword [r9 + rcx*4], xmm0
addss xmm3, dword [r10]
add r10, rbp
add rcx, rax
movss dword [rdx], xmm3
add rdx, qword [rsp]
dec qword [rsp + 8]
jne 0x1400317b0
jmp 0x140031968
mov rax, r10
cmp dword [rsp + 0x20], r14d
jge 0x140031a03
lea rbp, [rax*4]
lea rax, [rdi + r13]
shl r11, 2
neg r13
sub r14d, dword [rsp + 0x20]
lea rdx, [r8 + rax*4]
lea rax, [r9 + rcx*4 - 4]
lea rbx, [r8 + rsi*4]
lea r10, [r8 + r12*4 - 4]
mov ecx, r14d
movss xmm0, dword [rbx]
movss xmm2, dword [rdx + r13*4]
add rbx, r11
movaps xmm3, xmm0
addss xmm3, xmm2
subss xmm2, xmm0
mulss xmm3, xmm4
mulss xmm2, xmm4
movaps xmm0, xmm2
xorps xmm3, xmm5
addss xmm0, dword [r10]
movss dword [rax], xmm0
movss xmm1, dword [r10]
movaps xmm0, xmm3
add r10, r11
subss xmm1, xmm2
movss dword [rax + r15*4], xmm1
subss xmm0, dword [rdx]
movss dword [rax + 4], xmm0
addss xmm3, dword [rdx]
add rdx, r11
movss dword [rax + r15*4 + 4], xmm3
add rax, rbp
dec rcx
jne 0x1400319a0
add rsp, 0xb8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret