Function at 0x4edccc
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x64
movss xmm4, dword [eax]
mov ecx, dword [ebp + 0xc]
movss xmm5, dword [ecx + 4]
movss xmm3, dword [eax + 4]
push ebx
mov ebx, dword [ebp + 8]
sar ebx, 3
cmp ebx, 2
lea edx, [ebx + ebx]
movss xmm7, dword [eax + edx*4]
lea ecx, [edx + edx]
movss xmm0, dword [eax + ecx*4 + 4]
movss xmm6, dword [eax + ecx*4]
push esi
lea esi, [eax + ecx*4 + 4]
movaps xmm1, xmm4
subss xmm1, xmm0
addss xmm0, xmm4
movaps xmm2, xmm3
addss xmm2, xmm6
movss dword [ebp + 8], xmm0
push edi
lea edi, [ecx + edx]
movss xmm4, dword [eax + edi*4 + 4]
movss xmm0, dword [eax + edi*4]
subss xmm3, xmm6
movss dword [ebp - 0x4c], xmm7
subss xmm7, xmm4
addss xmm4, dword [ebp - 0x4c]
mov dword [ebp - 0x44], esi
movaps xmm6, xmm3
movss xmm3, dword [eax + edx*4 + 4]
lea esi, [eax + edi*4 + 4]
movss dword [ebp - 0x40], xmm0
addss xmm0, xmm3
movss dword [ebp - 4], xmm4
movaps xmm4, xmm7
subss xmm4, xmm0
addss xmm0, xmm7
mulss xmm4, xmm5
mulss xmm0, xmm5
movaps xmm7, xmm4
addss xmm7, xmm1
movss dword [eax], xmm7
movaps xmm7, xmm0
addss xmm7, xmm2
movss dword [eax + 4], xmm7
subss xmm2, xmm0
subss xmm1, xmm4
movss dword [eax + edx*4], xmm1
movss xmm1, dword [ebp - 4]
movss dword [ebp - 0x48], xmm3
subss xmm3, dword [ebp - 0x40]
movss dword [eax + edx*4 + 4], xmm2
movaps xmm0, xmm1
subss xmm0, xmm3
addss xmm3, xmm1
movss xmm1, dword [ebp + 8]
mulss xmm3, xmm5
movaps xmm2, xmm1
subss xmm2, xmm3
movss dword [eax + ecx*4], xmm2
mov ecx, dword [ebp - 0x44]
mulss xmm0, xmm5
movaps xmm2, xmm0
addss xmm2, xmm6
movss dword [ecx], xmm2
addss xmm3, xmm1
subss xmm6, xmm0
mov dword [ebp - 0x64], ebx
movss dword [eax + edi*4], xmm3
movss dword [esi], xmm6
lea ecx, [edx + edx]
mov dword [ebp - 0x3c], 2
jle 0x4ee278
mov esi, dword [ebp + 0xc]
lea ecx, [esi + ecx*4 + 8]
add esi, 8
mov dword [ebp - 0x48], esi
lea esi, [eax + edx*8 - 8]
mov dword [ebp - 0x2c], esi
lea esi, [edx + edx*2]
lea ebx, [eax + esi*4]
lea esi, [ebx + 8]
add ebx, 0xfffffff8
mov dword [ebp - 8], ebx
mov ebx, edx
mov dword [ebp - 0x4c], ecx
lea ecx, [eax + edx*4 - 8]
shl ebx, 4
lea ebx, [ebx + eax - 8]
mov dword [ebp - 0xc], ecx
lea edi, [eax + edx*4 + 8]
lea ecx, [eax + edx*8 + 8]
mov dword [ebp - 0x28], ebx
jmp 0x4ede4c
mov ebx, dword [ebp - 0x48]
movss xmm0, dword [ebx + 8]
movss xmm2, dword [ebx + 0xc]
movss xmm5, dword [0x10031300]
movss xmm7, dword [ecx + 4]
add ebx, 0x10
movss dword [ebp - 0x38], xmm0
movss xmm0, dword [ebx]
mov dword [ebp - 0x48], ebx
movss dword [ebp - 0x44], xmm0
movss xmm0, dword [ebx + 4]
mov ebx, dword [ebp - 0x4c]
movss xmm1, dword [ebx - 0x14]
movss xmm3, dword [ebx - 0x18]
movss xmm4, dword [ebx - 0x10]
sub ebx, 0x10
xorps xmm0, xmm5
movss dword [ebp - 0x30], xmm1
movss xmm1, dword [ebx + 4]
xorps xmm1, xmm5
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x3c]
add ebx, ebx
add ebx, ebx
movss xmm6, dword [ebx + eax]
movaps xmm5, xmm6
subss xmm5, xmm7
movss xmm7, dword [ebx + eax + 4]
movss dword [ebp - 0x1c], xmm5
movss xmm5, dword [ecx]
movss dword [ebp - 0x50], xmm7
addss xmm7, xmm5
movss xmm5, dword [ecx + 4]
addss xmm6, xmm5
movss xmm5, dword [ebp - 0x50]
movss dword [ebp + 8], xmm6
movss xmm6, dword [ecx]
subss xmm5, xmm6
movss xmm6, dword [esi + 4]
movss dword [ebp - 0x54], xmm6
movss dword [ebp - 0x10], xmm5
movss xmm5, dword [edi]
subss xmm5, xmm6
movss xmm6, dword [edi + 4]
movss dword [ebp - 0x58], xmm6
movss dword [ebp - 0x20], xmm5
movss xmm5, dword [esi]
addss xmm5, xmm6
movss xmm6, dword [edi]
movss dword [ebp - 0x34], xmm5
movss xmm5, dword [ebp - 0x54]
addss xmm5, xmm6
movss xmm6, dword [esi]
movss dword [ebp - 4], xmm5
movss xmm5, dword [ebp - 0x58]
subss xmm5, xmm6
movss dword [ebp - 0x14], xmm5
movss xmm5, dword [ebp - 0x38]
mulss xmm5, dword [ebp - 0x1c]
movaps xmm6, xmm2
mulss xmm6, xmm7
subss xmm5, xmm6
movss xmm6, dword [ebp - 0x38]
mulss xmm6, xmm7
movss dword [ebp - 0x5c], xmm6
movss xmm7, dword [ebp - 0x5c]
movaps xmm6, xmm2
mulss xmm6, dword [ebp - 0x1c]
addss xmm7, xmm6
movss xmm6, dword [ebp - 0x30]
mulss xmm6, dword [ebp - 0x20]
movss dword [ebp - 0x5c], xmm6
movss dword [ebp - 0x24], xmm7
movss xmm7, dword [ebp - 0x5c]
movaps xmm6, xmm3
mulss xmm6, dword [ebp - 0x34]
subss xmm7, xmm6
movss xmm6, dword [ebp - 0x30]
mulss xmm6, dword [ebp - 0x34]
movss dword [ebp - 0x18], xmm7
movss dword [ebp - 0x5c], xmm6
movaps xmm7, xmm3
mulss xmm7, dword [ebp - 0x20]
addss xmm6, xmm7
movss xmm7, dword [ebp - 0x18]
addss xmm7, xmm5
subss xmm5, dword [ebp - 0x18]
movss dword [ebx + eax], xmm7
movss dword [ebp - 0x40], xmm6
movaps xmm7, xmm6
movss xmm6, dword [ebp - 0x24]
addss xmm7, xmm6
subss xmm6, dword [ebp - 0x40]
movss dword [ebx + eax + 4], xmm7
movss dword [edi + 4], xmm6
movss xmm6, dword [ebp - 0x44]
mulss xmm6, dword [ebp + 8]
movss dword [edi], xmm5
mov ebx, dword [ebp - 0xc]
movaps xmm5, xmm0
mulss xmm5, dword [ebp - 0x10]
addss xmm5, xmm6
movss xmm6, dword [ebp - 0x44]
mulss xmm6, dword [ebp - 0x10]
movss dword [ebp - 0x5c], xmm6
movss xmm7, dword [ebp - 0x5c]
movaps xmm6, xmm0
mulss xmm6, dword [ebp + 8]
subss xmm7, xmm6
movss dword [ebp - 0x24], xmm7
movaps xmm6, xmm4
mulss xmm6, dword [ebp - 0x14]
movss dword [ebp - 0x5c], xmm6
movss xmm7, dword [ebp - 0x5c]
movaps xmm6, xmm1
mulss xmm6, dword [ebp - 4]
addss xmm7, xmm6
movss dword [ebp - 0x18], xmm7
movaps xmm6, xmm1
mulss xmm6, dword [ebp - 0x14]
movss dword [ebp - 0x5c], xmm6
movaps xmm7, xmm4
mulss xmm7, dword [ebp - 4]
subss xmm6, xmm7
movss xmm7, dword [ebp - 0x18]
addss xmm7, xmm5
subss xmm5, dword [ebp - 0x18]
movss dword [ecx], xmm7
movaps xmm7, xmm6
movss dword [ebp - 0x40], xmm6
movss xmm6, dword [ebp - 0x24]
addss xmm7, xmm6
subss xmm6, dword [ebp - 0x40]
movss dword [ecx + 4], xmm7
movss dword [esi + 4], xmm6
movss dword [esi], xmm5
movss xmm6, dword [ebx]
mov ebx, dword [ebp - 8]
movss xmm5, dword [ebx + 4]
mov ebx, dword [ebp - 0xc]
subss xmm6, xmm5
movss dword [ebp - 0x1c], xmm6
movss xmm6, dword [ebx + 4]
mov ebx, dword [ebp - 8]
movss xmm7, dword [ebx]
mov ebx, dword [ebp - 0xc]
addss xmm7, xmm6
movss dword [ebp - 0x60], xmm7
movss xmm7, dword [ebx]
mov ebx, dword [ebp - 8]
addss xmm5, xmm7
movss dword [ebp + 8], xmm5
movss xmm5, dword [ebx]
mov ebx, dword [ebp - 0x2c]
subss xmm6, xmm5
movss dword [ebp - 0x10], xmm6
movss xmm6, dword [ebx]
mov ebx, dword [ebp - 0x28]
movss xmm5, dword [ebx + 4]
movss xmm7, dword [ebx]
subss xmm6, xmm5
movss dword [ebp - 0x20], xmm6
mov ebx, dword [ebp - 0x2c]
movss xmm6, dword [ebx + 4]
addss xmm7, xmm6
movss dword [ebp - 0x34], xmm7
movss xmm7, dword [ebx]
mov ebx, dword [ebp - 0x28]
addss xmm5, xmm7
movss xmm7, dword [ebp - 0x30]
movss dword [ebp - 4], xmm5
movss xmm5, dword [ebx]
mov ebx, dword [ebp - 0xc]
subss xmm6, xmm5
movaps xmm5, xmm3
mulss xmm5, dword [ebp - 0x1c]
movss dword [ebp - 0x14], xmm6
movss xmm6, dword [ebp - 0x60]
mulss xmm3, xmm6
mulss xmm7, xmm6
movss xmm6, dword [ebp - 0x30]
mulss xmm6, dword [ebp - 0x1c]
addss xmm3, xmm6
movss dword [ebp - 0x24], xmm3
movss xmm3, dword [ebp - 0x34]
subss xmm5, xmm7
movss xmm7, dword [ebp - 0x38]
mulss xmm7, xmm3
movaps xmm6, xmm2
mulss xmm6, dword [ebp - 0x20]
mulss xmm2, xmm3
movss xmm3, dword [ebp - 0x38]
mulss xmm3, dword [ebp - 0x20]
addss xmm2, xmm3
add dword [ebp - 0x3c], 2
subss xmm6, xmm7
movaps xmm3, xmm6
addss xmm3, xmm5
movss dword [ebx], xmm3
movss xmm3, dword [ebp - 0x24]
movaps xmm7, xmm2
addss xmm7, xmm3
movss dword [ebx + 4], xmm7
mov ebx, dword [ebp - 0x2c]
subss xmm3, xmm2
movss dword [ebx + 4], xmm3
movss xmm3, dword [ebp + 8]
subss xmm5, xmm6
movss dword [ebx], xmm5
movss xmm5, dword [ebp - 0x10]
mov ebx, dword [ebp - 8]
movaps xmm2, xmm1
mulss xmm1, xmm3
movaps xmm6, xmm4
mulss xmm6, xmm3
movss xmm3, dword [ebp - 0x44]
mulss xmm2, xmm5
mulss xmm4, xmm5
movss xmm5, dword [ebp - 4]
subss xmm4, xmm1
movaps xmm1, xmm3
addss xmm2, xmm6
movss xmm6, dword [ebp - 0x14]
mulss xmm3, xmm5
movaps xmm7, xmm0
mulss xmm1, xmm6
mulss xmm7, xmm5
addss xmm1, xmm7
mulss xmm0, xmm6
subss xmm0, xmm3
movaps xmm3, xmm1
addss xmm3, xmm2
movss dword [ebx], xmm3
movaps xmm3, xmm0
addss xmm3, xmm4
movss dword [ebx + 4], xmm3
mov ebx, dword [ebp - 0x28]
subss xmm2, xmm1
subss xmm4, xmm0
add esi, 8
movss dword [ebx], xmm2
movss dword [ebx + 4], xmm4
add ecx, 8
mov ebx, dword [ebp - 0x64]
sub dword [ebp - 0x28], 8
sub dword [ebp - 8], 8
sub dword [ebp - 0x2c], 8
sub dword [ebp - 0xc], 8
add edi, 8
cmp dword [ebp - 0x3c], ebx
jl 0x4ede4c
mov ecx, dword [ebp + 0xc]
movss xmm0, dword [ecx + edx*4]
movss xmm1, dword [ecx + edx*4 + 4]
movss xmm6, dword [eax + ebx*4]
movss xmm3, dword [eax + ebx*4 + 4]
lea ecx, [edx + ebx]
lea esi, [ecx + edx]
movss xmm2, dword [eax + esi*4 + 4]
movss xmm7, dword [eax + esi*4]
lea edi, [eax + esi*4 + 4]
movaps xmm4, xmm6
subss xmm4, xmm2
addss xmm2, xmm6
movss xmm6, dword [eax + ecx*4]
movss dword [ebp + 8], xmm2
mov dword [ebp - 0x44], edi
lea edi, [eax + ebx*4 + 4]
add edx, esi
movss xmm2, dword [eax + edx*4 + 4]
mov dword [ebp - 0x60], edi
movaps xmm5, xmm7
addss xmm5, xmm3
subss xmm3, xmm7
movss xmm7, dword [eax + ecx*4 + 4]
movss dword [ebp - 0x10], xmm3
movss xmm3, dword [eax + edx*4]
lea edi, [eax + edx*4 + 4]
movss dword [ebp + 0xc], xmm6
subss xmm6, xmm2
addss xmm2, dword [ebp + 0xc]
movss dword [ebp - 4], xmm2
mov dword [ebp - 0x5c], edi
lea edi, [eax + ecx*4 + 4]
movss dword [ebp - 0x64], xmm7
movss xmm2, dword [ebp - 0x64]
subss xmm2, xmm3
addss xmm7, xmm3
movss dword [ebp - 0x14], xmm2
movaps xmm2, xmm0
mulss xmm2, xmm4
movaps xmm3, xmm1
mulss xmm3, xmm5
subss xmm2, xmm3
movaps xmm3, xmm0
mulss xmm3, xmm5
movaps xmm5, xmm1
mulss xmm5, xmm4
addss xmm3, xmm5
movaps xmm4, xmm1
mulss xmm4, xmm6
movaps xmm5, xmm0
mulss xmm5, xmm7
subss xmm4, xmm5
movaps xmm5, xmm1
mulss xmm5, xmm7
movaps xmm7, xmm0
mulss xmm7, xmm6
movaps xmm6, xmm4
addss xmm6, xmm2
addss xmm5, xmm7
movss dword [eax + ebx*4], xmm6
mov ebx, dword [ebp - 0x60]
subss xmm2, xmm4
movaps xmm6, xmm5
addss xmm6, xmm3
subss xmm3, xmm5
movss xmm5, dword [ebp - 0x10]
movss dword [ebx], xmm6
movss dword [edi], xmm3
movss dword [eax + ecx*4], xmm2
movss xmm2, dword [ebp + 8]
movaps xmm3, xmm1
movaps xmm4, xmm0
mulss xmm4, xmm5
mulss xmm3, xmm2
subss xmm3, xmm4
movaps xmm4, xmm1
mulss xmm4, xmm5
movaps xmm5, xmm0
mulss xmm5, xmm2
addss xmm4, xmm5
movss xmm5, dword [ebp - 4]
movss xmm6, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x44]
movaps xmm7, xmm1
movaps xmm2, xmm0
mulss xmm1, xmm5
mulss xmm0, xmm6
addss xmm0, xmm1
mulss xmm2, xmm5
mulss xmm7, xmm6
subss xmm2, xmm7
movaps xmm1, xmm3
subss xmm1, xmm2
movss dword [eax + esi*4], xmm1
movaps xmm1, xmm4
subss xmm1, xmm0
movss dword [ecx], xmm1
pop edi
addss xmm2, xmm3
movss dword [eax + edx*4], xmm2
mov edx, dword [ebp - 0x5c]
pop esi
addss xmm0, xmm4
movss dword [edx], xmm0
pop ebx
mov esp, ebp
pop ebp
ret