Function at 0x10062d70
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov edx, dword [ebp + 0x10]
mov ecx, edx
push esi
mov esi, dword [ebp + 8]
mov eax, edx
push edi
lea edi, [ecx + ecx*2]
shl eax, 4
add eax, dword [ebp + 0xc]
dec edx
movsd xmm3, qword [esi]
movsd xmm7, qword [esi + 8]
movaps xmm0, xmm3
shl edi, 5
add edi, esi
mov dword [ebp + 0x10], edx
mov edx, ecx
mov dword [ebp - 4], eax
shl edx, 6
lea eax, [esi + 8]
add eax, edx
shl ecx, 5
movsd xmm4, qword [edi]
movsd xmm1, qword [edi + 8]
movsd xmm5, qword [ecx + esi]
movsd xmm6, qword [eax]
movsd xmm2, qword [ecx + esi + 8]
movsd qword [ebp - 0xc], xmm1
movaps xmm1, xmm4
addsd xmm4, qword [edx + esi]
subsd xmm1, qword [edx + esi]
mov dword [ebp + 8], eax
lea eax, [ecx + esi]
mov ecx, dword [ebp + 0xc]
subsd xmm0, xmm4
addsd xmm3, xmm4
movsd qword [edx + esi], xmm0
movaps xmm0, xmm2
subsd xmm0, xmm1
movsd qword [esi], xmm3
addsd xmm1, xmm2
movsd xmm2, qword [ebp - 0xc]
movsd qword [edi + 8], xmm0
movaps xmm0, xmm5
movsd qword [eax + 8], xmm1
movaps xmm1, xmm6
subsd xmm1, xmm2
addsd xmm2, xmm6
subsd xmm0, xmm1
addsd xmm1, xmm5
movsd qword [edi], xmm0
movaps xmm0, xmm7
movsd qword [eax], xmm1
subsd xmm0, xmm2
addsd xmm7, xmm2
movsd qword [edx + esi + 8], xmm0
movsd qword [esi + 8], xmm7
movsd xmm6, qword [ecx + 8]
mov ecx, dword [ebp - 4]
movaps xmm7, xmm6
movsd xmm0, qword [edx + esi + 0x18]
movaps xmm5, xmm6
mulsd xmm7, qword [edx + esi + 0x10]
movsd xmm3, qword [ecx - 8]
mulsd xmm5, qword [edi + 0x10]
movaps xmm4, xmm3
xorps xmm4, xmmword [0x100fd9d0]
mulsd xmm0, xmm4
mulsd xmm4, qword [edx + esi + 0x10]
subsd xmm7, xmm0
movaps xmm0, xmm6
mulsd xmm0, qword [edx + esi + 0x18]
mulsd xmm6, qword [edi + 0x18]
addsd xmm4, xmm0
movaps xmm0, xmm3
mulsd xmm3, qword [edi + 0x10]
mulsd xmm0, qword [edi + 0x18]
movsd qword [ebp - 0xc], xmm4
addsd xmm6, xmm3
subsd xmm5, xmm0
movsd qword [ebp - 0x14], xmm6
movsd xmm3, qword [esi + 0x10]
lea ecx, [esi + 0x10]
movsd xmm6, qword [esi + 0x18]
movaps xmm1, xmm5
movsd xmm2, qword [eax + 0x18]
addsd xmm5, xmm7
movsd xmm4, qword [eax + 0x10]
subsd xmm1, xmm7
movaps xmm0, xmm3
subsd xmm0, xmm5
addsd xmm3, xmm5
movsd qword [edx + esi + 0x10], xmm0
movaps xmm0, xmm2
subsd xmm0, xmm1
movsd qword [ecx], xmm3
addsd xmm2, xmm1
movsd xmm1, qword [ebp - 0xc]
movsd qword [edi + 0x18], xmm0
movaps xmm0, xmm4
movsd qword [eax + 0x18], xmm2
movsd xmm2, qword [ebp - 0x14]
subsd xmm1, xmm2
addsd xmm2, qword [ebp - 0xc]
subsd xmm0, xmm1
addsd xmm4, xmm1
movsd qword [edi + 0x10], xmm0
movaps xmm0, xmm6
subsd xmm0, xmm2
movsd qword [eax + 0x10], xmm4
addsd xmm6, xmm2
movsd qword [edx + esi + 0x18], xmm0
mov edx, dword [ebp + 8]
movsd qword [esi + 0x18], xmm6
mov esi, dword [ebp - 4]
nop
movsd xmm6, qword [esi - 0x10]
add eax, 0x20
movsd xmm3, qword [edx + 0x18]
add edx, 0x20
add edi, 0x20
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0xc]
add ecx, 0x20
add eax, 0x10
movaps xmm2, xmm6
movsd xmm0, qword [edx]
sub esi, 0x10
xorps xmm2, xmmword [0x100fd9d0]
mulsd xmm0, xmm2
mov dword [ebp + 0xc], eax
movsd xmm5, qword [eax]
movaps xmm7, xmm5
mov eax, dword [ebp + 8]
mulsd xmm7, xmm3
movaps xmm4, xmm5
mulsd xmm4, qword [edi]
mulsd xmm3, xmm2
subsd xmm7, xmm0
movsd xmm2, qword [eax + 8]
movaps xmm0, xmm5
mulsd xmm5, qword [edi + 8]
mulsd xmm0, qword [edx]
addsd xmm0, xmm3
movsd xmm3, qword [ecx - 0x10]
movsd qword [ebp - 0x14], xmm0
movaps xmm0, xmm6
mulsd xmm0, qword [edi + 8]
mulsd xmm6, qword [edi]
subsd xmm4, xmm0
movaps xmm0, xmm3
addsd xmm6, xmm5
movsd xmm5, qword [eax]
movaps xmm1, xmm4
addsd xmm4, xmm7
subsd xmm1, xmm7
movsd qword [ebp - 0xc], xmm6
movsd xmm6, qword [ecx - 8]
subsd xmm0, xmm4
addsd xmm3, xmm4
movsd qword [edx - 8], xmm0
movaps xmm0, xmm2
subsd xmm0, xmm1
movsd qword [ecx - 0x10], xmm3
addsd xmm2, xmm1
movsd xmm1, qword [ebp - 0x14]
movsd qword [edi + 8], xmm0
movaps xmm0, xmm5
movsd qword [eax + 8], xmm2
movsd xmm2, qword [ebp - 0xc]
subsd xmm1, xmm2
addsd xmm2, qword [ebp - 0x14]
subsd xmm0, xmm1
addsd xmm5, xmm1
movsd qword [edi], xmm0
movaps xmm0, xmm6
subsd xmm0, xmm2
movsd qword [eax], xmm5
mov eax, dword [ebp + 0xc]
addsd xmm6, xmm2
movsd qword [edx], xmm0
movsd qword [ecx - 8], xmm6
movsd xmm3, qword [eax + 8]
movsd xmm5, qword [esi - 8]
movaps xmm7, xmm3
movsd xmm2, qword [edx + 8]
movaps xmm1, xmm5
movsd xmm4, qword [edx + 0x10]
xorps xmm1, xmmword [0x100fd9d0]
movaps xmm0, xmm4
mulsd xmm7, xmm2
mulsd xmm4, xmm3
mulsd xmm2, xmm1
mulsd xmm0, xmm1
addsd xmm4, xmm2
subsd xmm7, xmm0
movsd qword [ebp - 0x14], xmm4
sub dword [ebp + 0x10], 1
movaps xmm0, xmm5
mulsd xmm0, qword [edi + 0x18]
movaps xmm4, xmm3
mov eax, dword [ebp + 8]
mulsd xmm4, qword [edi + 0x10]
mulsd xmm5, qword [edi + 0x10]
mulsd xmm3, qword [edi + 0x18]
movsd xmm2, qword [eax + 0x18]
subsd xmm4, xmm0
movsd xmm6, qword [ecx + 8]
addsd xmm5, xmm3
movsd xmm3, qword [ecx]
movaps xmm0, xmm3
movaps xmm1, xmm4
addsd xmm4, xmm7
subsd xmm1, xmm7
movsd qword [ebp - 0xc], xmm5
movsd xmm5, qword [eax + 0x10]
subsd xmm0, xmm4
addsd xmm3, xmm4
movsd qword [edx + 8], xmm0
movaps xmm0, xmm2
subsd xmm0, xmm1
movsd qword [ecx], xmm3
addsd xmm2, xmm1
movsd xmm1, qword [ebp - 0x14]
movsd qword [edi + 0x18], xmm0
movaps xmm0, xmm5
movsd qword [eax + 0x18], xmm2
movsd xmm2, qword [ebp - 0xc]
subsd xmm1, xmm2
addsd xmm2, qword [ebp - 0x14]
subsd xmm0, xmm1
addsd xmm5, xmm1
movsd qword [edi + 0x10], xmm0
movaps xmm0, xmm6
subsd xmm0, xmm2
movsd qword [eax + 0x10], xmm5
addsd xmm6, xmm2
movsd qword [edx + 0x10], xmm0
movsd qword [ecx + 8], xmm6
jne 0x10062f40
pop edi
pop esi
mov esp, ebp
pop ebp
ret