Function at 0x100628e0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ecx
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 xmm0, qword [esi]
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 xmm1, qword [edi]
movsd xmm4, qword [edi + 8]
movaps xmm2, xmm1
addsd xmm1, qword [edx + esi]
subsd xmm2, qword [edx + esi]
movsd xmm3, qword [eax]
mov dword [ebp + 8], eax
lea eax, [ecx + esi]
mov ecx, dword [ebp + 0xc]
subsd xmm0, xmm1
movsd qword [edx + esi], xmm0
movsd xmm0, qword [esi]
addsd xmm0, xmm1
movaps xmm1, xmm3
subsd xmm1, xmm4
addsd xmm4, xmm3
movsd qword [esi], xmm0
movsd xmm0, qword [eax + 8]
subsd xmm0, xmm2
movsd qword [edi + 8], xmm0
movsd xmm0, qword [eax + 8]
addsd xmm0, xmm2
movsd qword [eax + 8], xmm0
movsd xmm0, qword [eax]
subsd xmm0, xmm1
movsd qword [edi], xmm0
movsd xmm0, qword [eax]
addsd xmm0, xmm1
movsd qword [eax], xmm0
movsd xmm0, qword [esi + 8]
subsd xmm0, xmm4
movsd qword [edx + esi + 8], xmm0
addsd xmm4, qword [esi + 8]
movsd qword [esi + 8], xmm4
movsd xmm7, qword [ecx + 8]
mov ecx, dword [ebp - 4]
movaps xmm4, xmm7
movsd xmm0, qword [edx + esi + 0x18]
movaps xmm3, xmm7
mulsd xmm4, qword [edx + esi + 0x10]
movsd xmm5, qword [ecx - 8]
lea ecx, [esi + 0x10]
mulsd xmm3, qword [edi + 0x10]
movaps xmm6, xmm5
xorps xmm6, xmmword [0x100fd9d0]
mulsd xmm0, xmm6
mulsd xmm6, qword [edx + esi + 0x10]
subsd xmm4, xmm0
movaps xmm0, xmm7
mulsd xmm0, qword [edx + esi + 0x18]
mulsd xmm7, qword [edi + 0x18]
addsd xmm6, xmm0
movaps xmm0, xmm5
mulsd xmm0, qword [edi + 0x18]
mulsd xmm5, qword [edi + 0x10]
subsd xmm3, xmm0
movsd xmm0, qword [ecx]
addsd xmm7, xmm5
movaps xmm1, xmm3
addsd xmm3, xmm4
subsd xmm1, xmm4
subsd xmm0, xmm3
movsd qword [edx + esi + 0x10], xmm0
movsd xmm0, qword [ecx]
addsd xmm0, xmm3
movsd qword [ecx], xmm0
movsd xmm0, qword [eax + 0x18]
subsd xmm0, xmm1
movsd qword [edi + 0x18], xmm0
movsd xmm0, qword [eax + 0x18]
addsd xmm0, xmm1
movaps xmm1, xmm6
subsd xmm1, xmm7
addsd xmm7, xmm6
movsd qword [eax + 0x18], xmm0
movsd xmm0, qword [eax + 0x10]
subsd xmm0, xmm1
movsd qword [edi + 0x10], xmm0
addsd xmm1, qword [eax + 0x10]
movsd qword [eax + 0x10], xmm1
movsd xmm0, qword [esi + 0x18]
subsd xmm0, xmm7
movsd qword [edx + esi + 0x18], xmm0
addsd xmm7, qword [esi + 0x18]
mov edx, dword [ebp + 8]
movsd qword [esi + 0x18], xmm7
mov esi, dword [ebp - 4]
nop
movsd xmm4, qword [esi - 0x10]
add eax, 0x20
movsd xmm7, qword [edx + 0x20]
add edi, 0x20
movsd xmm2, qword [edx + 0x18]
add edx, 0x20
mov dword [ebp + 8], eax
add ecx, 0x20
mov eax, dword [ebp + 0xc]
movaps xmm5, xmm2
movsd xmm6, qword [edi + 8]
add eax, 0x10
sub esi, 0x10
mov dword [ebp + 0xc], eax
movaps xmm1, xmm4
movaps xmm0, xmm7
xorps xmm1, xmmword [0x100fd9d0]
movsd xmm3, qword [eax]
mulsd xmm0, xmm1
mov eax, dword [ebp + 8]
mulsd xmm2, xmm1
movsd xmm1, qword [edi]
mulsd xmm7, xmm3
mulsd xmm5, xmm3
addsd xmm7, xmm2
movaps xmm2, xmm1
mulsd xmm2, xmm3
subsd xmm5, xmm0
mulsd xmm1, xmm4
movaps xmm0, xmm6
mulsd xmm6, xmm3
mulsd xmm0, xmm4
addsd xmm6, xmm1
subsd xmm2, xmm0
movsd xmm0, qword [ecx - 0x10]
movaps xmm1, xmm2
addsd xmm2, xmm5
subsd xmm1, xmm5
subsd xmm0, xmm2
movsd qword [edx - 8], xmm0
movsd xmm0, qword [ecx - 0x10]
addsd xmm0, xmm2
movsd qword [ecx - 0x10], xmm0
movsd xmm0, qword [eax + 8]
subsd xmm0, xmm1
movsd qword [edi + 8], xmm0
addsd xmm1, qword [eax + 8]
movsd xmm0, qword [eax]
movsd qword [eax + 8], xmm1
movaps xmm1, xmm7
subsd xmm1, xmm6
addsd xmm6, xmm7
subsd xmm0, xmm1
movsd qword [edi], xmm0
movsd xmm0, qword [eax]
addsd xmm0, xmm1
movsd qword [eax], xmm0
movsd xmm0, qword [ecx - 8]
mov eax, dword [ebp + 0xc]
subsd xmm0, xmm6
movsd qword [edx], xmm0
movsd xmm0, qword [ecx - 8]
addsd xmm0, xmm6
movsd qword [ecx - 8], xmm0
movsd xmm3, qword [esi - 8]
movsd xmm2, qword [edx + 8]
movaps xmm1, xmm3
xorps xmm1, xmmword [0x100fd9d0]
movaps xmm4, xmm2
movsd xmm7, qword [edx + 0x10]
movsd xmm5, qword [eax + 8]
movaps xmm0, xmm7
movsd xmm6, qword [edi + 0x10]
mulsd xmm2, xmm1
mulsd xmm0, xmm1
movsd xmm1, qword [edi + 0x18]
mulsd xmm7, xmm5
mulsd xmm4, xmm5
addsd xmm7, xmm2
movaps xmm2, xmm6
subsd xmm4, xmm0
sub dword [ebp + 0x10], 1
movaps xmm0, xmm1
mulsd xmm0, xmm3
mov eax, dword [ebp + 8]
mulsd xmm2, xmm5
mulsd xmm1, xmm5
mulsd xmm6, xmm3
subsd xmm2, xmm0
movsd xmm0, qword [ecx]
addsd xmm6, xmm1
movaps xmm1, xmm2
addsd xmm2, xmm4
subsd xmm1, xmm4
subsd xmm0, xmm2
movsd qword [edx + 8], xmm0
movsd xmm0, qword [ecx]
addsd xmm0, xmm2
movsd qword [ecx], xmm0
movsd xmm0, qword [eax + 0x18]
subsd xmm0, xmm1
movsd qword [edi + 0x18], xmm0
movsd xmm0, qword [eax + 0x18]
addsd xmm0, xmm1
movaps xmm1, xmm7
subsd xmm1, xmm6
addsd xmm6, xmm7
movsd qword [eax + 0x18], xmm0
movsd xmm0, qword [eax + 0x10]
subsd xmm0, xmm1
movsd qword [edi + 0x10], xmm0
addsd xmm1, qword [eax + 0x10]
movsd qword [eax + 0x10], xmm1
movsd xmm0, qword [ecx + 8]
subsd xmm0, xmm6
movsd qword [edx + 0x10], xmm0
movsd xmm0, qword [ecx + 8]
addsd xmm0, xmm6
movsd qword [ecx + 8], xmm0
jne 0x10062a90
pop edi
pop esi
mov esp, ebp
pop ebp
ret