Function at 0x140036640
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, 0xa8
movsxd rbp, ecx
mov rbx, r9
mov r15d, edx
lea ecx, [rbp + rbp]
lea r9d, [rbp*4]
mov eax, ebp
movsxd r12, ecx
movsxd rcx, r9d
mov rsi, r8
imul eax, edx
xor edx, edx
movsxd r9, eax
mov r11, rbp
mov qword [rsp + 0x10], r12
mov qword [rsp + 8], rcx
mov qword [rsp + 0x28], r9
mov dword [rsp], edx
mov r8d, edx
mov r10d, edx
cmp r15d, 4
jl 0x1400368b1
lea rax, [rcx*4]
lea rcx, [rsi + r12*4]
lea rdx, [rbp*4]
mov qword [rsp + 0x18], rax
lea rax, [r9 + r9*2]
lea rdi, [rbx + r9*4]
lea r13, [rbx + rax*4]
mov rax, qword [rsp + 0x10]
lea r12, [rbx + r9*8]
lea r14, [rsi + rax*8 - 4]
lea eax, [r15 - 4]
shr eax, 2
inc eax
mov qword [rsp + 0x20], rax
shl eax, 2
mov dword [rsp], eax
mov rax, qword [rsp + 0x18]
nop
movss xmm2, dword [rsi + r8*4]
movss xmm5, dword [rcx - 4]
movss xmm4, dword [rcx]
add r8, qword [rsp + 8]
add rcx, rax
movaps xmm3, xmm2
addss xmm2, dword [r14]
subss xmm3, dword [r14]
addss xmm5, xmm5
add r14, rax
movaps xmm0, xmm2
movaps xmm1, xmm3
subss xmm2, xmm5
addss xmm0, xmm5
addss xmm4, xmm4
movss dword [rbx + r10*4], xmm0
addss xmm3, xmm4
subss xmm1, xmm4
add r10, rbp
movss dword [rdi], xmm1
movss dword [r12], xmm2
movss dword [r13], xmm3
add rdi, rdx
add r12, rdx
add r13, rdx
movss xmm2, dword [rsi + r8*4]
movss xmm5, dword [rcx - 4]
movss xmm4, dword [rcx]
add r8, qword [rsp + 8]
add rcx, rax
movaps xmm3, xmm2
addss xmm2, dword [r14]
subss xmm3, dword [r14]
addss xmm5, xmm5
add r14, rax
movaps xmm0, xmm2
movaps xmm1, xmm3
subss xmm2, xmm5
addss xmm0, xmm5
addss xmm4, xmm4
movss dword [rbx + r10*4], xmm0
addss xmm3, xmm4
subss xmm1, xmm4
add r10, rbp
movss dword [rdi], xmm1
movss dword [r12], xmm2
movss dword [r13], xmm3
add rdi, rdx
add r12, rdx
add r13, rdx
movss xmm2, dword [rsi + r8*4]
movss xmm5, dword [rcx - 4]
movss xmm4, dword [rcx]
add r8, qword [rsp + 8]
movaps xmm3, xmm2
addss xmm2, dword [r14]
subss xmm3, dword [r14]
addss xmm5, xmm5
add r14, rax
movaps xmm0, xmm2
movaps xmm1, xmm3
subss xmm2, xmm5
addss xmm4, xmm4
addss xmm0, xmm5
movss dword [rbx + r10*4], xmm0
addss xmm3, xmm4
subss xmm1, xmm4
add r10, rbp
movss dword [rdi], xmm1
movss dword [r12], xmm2
movss dword [r13], xmm3
add r13, rdx
add rdi, rdx
add r12, rdx
add rcx, rax
movss xmm5, dword [rcx - 4]
movss xmm4, dword [rcx]
movss xmm2, dword [rsi + r8*4]
movaps xmm3, xmm2
addss xmm5, xmm5
addss xmm4, xmm4
addss xmm2, dword [r14]
subss xmm3, dword [r14]
add r8, qword [rsp + 8]
add r14, rax
add rcx, rax
movaps xmm0, xmm2
movaps xmm1, xmm3
addss xmm0, xmm5
subss xmm1, xmm4
subss xmm2, xmm5
movss dword [rbx + r10*4], xmm0
movss dword [rdi], xmm1
movss dword [r12], xmm2
add r10, rbp
add rdi, rdx
add r12, rdx
addss xmm3, xmm4
movss dword [r13], xmm3
add r13, rdx
dec qword [rsp + 0x20]
jne 0x140036700
mov rcx, qword [rsp + 8]
mov r12, qword [rsp + 0x10]
cmp dword [rsp], r15d
jge 0x140036966
lea rax, [rcx*4]
lea r13, [r12*4]
mov rdi, r9
mov qword [rsp + 0x18], rax
lea rax, [r10 + r9*2]
mov r10d, 4
lea rcx, [rbx + rax*4]
lea rax, [r12 + r8]
mov r12, r9
mov r8d, r15d
sub r10, r13
neg rdi
lea rdx, [rsi + rax*4 - 4]
mov rax, qword [rsp + 0x18]
neg r12
sub r8d, dword [rsp]
lea r14, [rbp*4]
movss xmm2, dword [rdx + r10]
movss xmm5, dword [rdx]
movss xmm4, dword [rdx + 4]
movaps xmm3, xmm2
addss xmm2, dword [rdx + r13]
subss xmm3, dword [rdx + r13]
addss xmm5, xmm5
add rdx, rax
movaps xmm0, xmm2
movaps xmm1, xmm3
addss xmm4, xmm4
addss xmm0, xmm5
subss xmm2, xmm5
movss dword [rcx + r12*8], xmm0
subss xmm1, xmm4
addss xmm3, xmm4
movss dword [rcx + rdi*4], xmm1
movss dword [rcx], xmm2
movss dword [rcx + r9*4], xmm3
add rcx, r14
dec r8
jne 0x14003690a
cmp ebp, 2
jl 0x140036f6a
movaps xmmword [rsp + 0x90], xmm6
je 0x140036c70
xor r12d, r12d
mov r13d, r12d
mov dword [rsp], r12d
test r15d, r15d
jle 0x140036c57
movaps xmmword [rsp + 0x80], xmm7
movaps xmmword [rsp + 0x70], xmm8
mov r14, r15
mov qword [rsp + 0x10], r15
movaps xmmword [rsp + 0x60], xmm9
nop dword [rax]
lea ecx, [r13*4]
lea eax, [rbp + rbp]
lea edx, [rax + rcx]
movsxd r8, ecx
add eax, edx
movsxd rdi, edx
movsxd r10, eax
mov qword [rsp + 0x18], r10
cmp r11, 2
jle 0x140036c23
mov r15, qword [rsp + 0x110]
lea rax, [rsi + rdi*4]
sub rdi, qword [rsp + 0x18]
mov qword [rsp + 0x48], rax
mov rax, r8
lea rcx, [r9 + r9]
sub rax, r8
sub r8, r12
lea rbp, [r9*4]
add rax, r12
sub r8, rcx
mov qword [rsp + 0x38], rbp
add rax, rcx
mov rcx, qword [rsp + 0x118]
shl r8, 2
sub r8, rbx
lea r14, [rsi + r10*4 - 4]
lea r10, [rbx + rax*4 - 4]
mov rbx, qword [rsp + 0x38]
mov rax, r9
sub rcx, r15
neg rax
lea rdx, [r15 + 4]
mov qword [rsp + 0x20], rax
mov rax, r9
neg rax
mov qword [rsp + 8], rax
mov eax, 4
sub rax, rbp
mov ebp, 4
mov qword [rsp + 0x30], rax
lea rax, [r9*8]
mov r9, qword [rsp + 0x48]
sub rbp, rax
lea rax, [r8 + rsi]
mov r8, qword [rsp + 0x120]
mov qword [rsp + 0x40], rax
lea rax, [r11 - 3]
mov r11, qword [rsp + 0x20]
mov r13, qword [rsp + 0x40]
mov qword [rsp + 0x50], rbp
mov rbp, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x50]
sub r8, r15
mov r15, qword [rsp + 8]
shr rax, 1
inc rax
nop dword [rax + rax]
movss xmm6, dword [r10 + r13 + 8]
movss xmm0, dword [r14 - 4]
movss xmm1, dword [r9 + 4]
add r10, 8
sub r14, 8
add r9, 8
add rdx, 8
dec rax
movaps xmm4, xmm1
movaps xmm9, xmm0
movaps xmm7, xmm6
addss xmm1, dword [r14 + rdi*4]
addss xmm6, dword [r14]
subss xmm7, dword [r14]
movaps xmm3, xmm7
movss xmm8, dword [r10 + r13 + 4]
movss xmm5, dword [r9]
subss xmm4, dword [r14 + rdi*4]
movaps xmm2, xmm5
subss xmm2, dword [r14 + rdi*4 + 4]
addss xmm5, dword [r14 + rdi*4 + 4]
addss xmm9, xmm8
subss xmm8, xmm0
subss xmm3, xmm5
addss xmm7, xmm5
movaps xmm0, xmm6
addss xmm0, xmm1
subss xmm6, xmm1
movaps xmm1, xmm3
movss dword [r10 + r15*8], xmm0
movaps xmm0, xmm2
addss xmm0, xmm8
subss xmm8, xmm2
movaps xmm2, xmm4
movss dword [rsi + r10], xmm0
addss xmm2, xmm9
subss xmm9, xmm4
mulss xmm1, dword [rdx - 0xc]
movaps xmm0, xmm2
mulss xmm0, dword [rdx - 8]
subss xmm1, xmm0
movaps xmm0, xmm8
movss dword [r10 + r11*4], xmm1
mulss xmm2, dword [rdx - 0xc]
mulss xmm3, dword [rdx - 8]
movaps xmm1, xmm6
addss xmm2, xmm3
movss dword [r10 + rbp], xmm2
mulss xmm1, dword [rcx + rdx - 0xc]
mulss xmm0, dword [rcx + rdx - 8]
subss xmm1, xmm0
movaps xmm0, xmm9
movss dword [r10], xmm1
mulss xmm8, dword [rcx + rdx - 0xc]
mulss xmm6, dword [rcx + rdx - 8]
movaps xmm1, xmm7
addss xmm8, xmm6
movss dword [r10 + 4], xmm8
mulss xmm1, dword [r8 + rdx - 0xc]
mulss xmm0, dword [r8 + rdx - 8]
subss xmm1, xmm0
movss dword [r10 + rbx], xmm1
mulss xmm9, dword [r8 + rdx - 0xc]
mulss xmm7, dword [r8 + rdx - 8]
addss xmm9, xmm7
movss dword [r10 + rbx + 4], xmm9
jne 0x140036ab0
movsxd rbp, dword [rsp + 0xf0]
mov r9, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x108]
mov rsi, qword [rsp + 0x100]
mov r13d, dword [rsp]
mov r14, qword [rsp + 0x10]
mov r11, rbp
add r13d, ebp
add r12, r11
dec r14
mov qword [rsp + 0x10], r14
mov dword [rsp], r13d
jne 0x1400369b0
mov r15d, dword [rsp + 0xf8]
movaps xmm9, xmmword [rsp + 0x60]
movaps xmm8, xmmword [rsp + 0x70]
movaps xmm7, xmmword [rsp + 0x80]
mov eax, ebp
and eax, 0x80000001
jge 0x140036c67
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x140036f62
movss xmm5, dword [0x1400bee74]
movss xmm6, dword [0x14006f0b0]
lea eax, [rbp + rbp*2]
movsxd rdx, eax
lea ecx, [rbp - 1]
lea eax, [rbp*4]
mov r8, r11
movsxd r10, eax
movsxd rdi, ecx
cmp r15d, 4
jl 0x140036ebb
lea rax, [rdi + r9]
lea rcx, [rdi + r9*2]
lea rbp, [r11*4]
lea r13, [rbx + rax*4]
add rcx, r9
lea rax, [rdi + r9*2]
lea r14, [rbx + rax*4]
lea rax, [rbx + rcx*4]
mov qword [rsp + 0x28], rax
lea eax, [r15 - 4]
shr eax, 2
inc eax
mov ecx, eax
lea r12d, [rax*4]
mov rax, qword [rsp + 0x28]
nop word [rax + rax]
movss xmm1, dword [rsi + r8*4 - 4]
movss xmm0, dword [rsi + r8*4]
movss xmm3, dword [rsi + rdx*4]
add r8, r10
movaps xmm4, xmm0
movaps xmm2, xmm1
addss xmm1, dword [rsi + rdx*4 - 4]
subss xmm2, dword [rsi + rdx*4 - 4]
addss xmm4, xmm3
add rdx, r10
subss xmm3, xmm0
addss xmm1, xmm1
movaps xmm0, xmm2
movss dword [rbx + rdi*4], xmm1
subss xmm0, xmm4
addss xmm4, xmm2
add rdi, r11
mulss xmm4, xmm5
mulss xmm0, xmm5
movss dword [r13], xmm0
addss xmm3, xmm3
xorps xmm4, xmm6
add r13, rbp
movss dword [r14], xmm3
movss dword [rax], xmm4
movss xmm1, dword [rsi + r8*4 - 4]
add r14, rbp
add rax, rbp
movaps xmm2, xmm1
addss xmm1, dword [rsi + rdx*4 - 4]
subss xmm2, dword [rsi + rdx*4 - 4]
movss xmm0, dword [rsi + r8*4]
add r8, r10
movaps xmm4, xmm0
movss xmm3, dword [rsi + rdx*4]
addss xmm1, xmm1
add rdx, r10
movss dword [rbx + rdi*4], xmm1
addss xmm4, xmm3
subss xmm3, xmm0
movaps xmm0, xmm2
add rdi, r11
subss xmm0, xmm4
addss xmm4, xmm2
addss xmm3, xmm3
mulss xmm4, xmm5
mulss xmm0, xmm5
movss dword [r13], xmm0
movss dword [r14], xmm3
xorps xmm4, xmm6
add r13, rbp
add r14, rbp
movss dword [rax], xmm4
movss xmm0, dword [rsi + r8*4]
movss xmm1, dword [rsi + r8*4 - 4]
add rax, rbp
add r8, r10
movaps xmm2, xmm1
movaps xmm4, xmm0
subss xmm2, dword [rsi + rdx*4 - 4]
movss xmm3, dword [rsi + rdx*4]
addss xmm1, dword [rsi + rdx*4 - 4]
addss xmm4, xmm3
subss xmm3, xmm0
addss xmm1, xmm1
movaps xmm0, xmm2
subss xmm0, xmm4
movss dword [rbx + rdi*4], xmm1
addss xmm4, xmm2
add rdi, r11
mulss xmm4, xmm5
mulss xmm0, xmm5
movss dword [r13], xmm0
addss xmm3, xmm3
xorps xmm4, xmm6
add r13, rbp
movss dword [r14], xmm3
movss dword [rax], xmm4
add rax, rbp
add r14, rbp
add rdx, r10
movss xmm0, dword [rsi + r8*4]
movss xmm1, dword [rsi + r8*4 - 4]
movss xmm3, dword [rsi + rdx*4]
add r8, r10
movaps xmm2, xmm1
movaps xmm4, xmm0
subss xmm2, dword [rsi + rdx*4 - 4]
addss xmm1, dword [rsi + rdx*4 - 4]
addss xmm4, xmm3
add rdx, r10
subss xmm3, xmm0
addss xmm1, xmm1
movaps xmm0, xmm2
subss xmm0, xmm4
movss dword [rbx + rdi*4], xmm1
addss xmm4, xmm2
add rdi, r11
mulss xmm4, xmm5
mulss xmm0, xmm5
movss dword [r13], xmm0
addss xmm3, xmm3
xorps xmm4, xmm6
add r13, rbp
movss dword [r14], xmm3
movss dword [rax], xmm4
add rax, rbp
add r14, rbp
dec rcx
jne 0x140036cf0
jmp 0x140036ebe
xor r12d, r12d
cmp r12d, r15d
jge 0x140036f62
lea rax, [rdi + r9*2]
lea rbp, [r11*4]
mov r11, r9
lea rcx, [rbx + rax*4]
lea rbx, [r9*4]
shl r10, 2
neg r9
neg r11
sub r15d, r12d
lea rdx, [rsi + rdx*4]
lea r8, [rsi + r8*4]
mov eax, r15d
movss xmm0, dword [r8]
movss xmm1, dword [r8 - 4]
movss xmm3, dword [rdx]
add r8, r10
movaps xmm2, xmm1
movaps xmm4, xmm0
subss xmm2, dword [rdx - 4]
addss xmm1, dword [rdx - 4]
addss xmm4, xmm3
add rdx, r10
subss xmm3, xmm0
addss xmm1, xmm1
movaps xmm0, xmm2
subss xmm0, xmm4
movss dword [rcx + r9*8], xmm1
addss xmm4, xmm2
mulss xmm4, xmm5
mulss xmm0, xmm5
movss dword [rcx + r11*4], xmm0
addss xmm3, xmm3
xorps xmm4, xmm6
movss dword [rcx], xmm3
movss dword [rbx + rcx], xmm4
add rcx, rbp
dec rax
jne 0x140036efa
movaps xmm6, xmmword [rsp + 0x90]
add rsp, 0xa8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret