Function at 0x10044cf0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
push ebx
mov ebx, ecx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], ebx
cmp ebx, edx
je 0x10044f31
push esi
lea esi, [ebx + 4]
cmp esi, edx
je 0x10044f29
push edi
nop dword [eax]
nop dword [eax + eax]
mov ecx, dword [0x101d4698]
mov eax, dword [0x101a3d60]
add ecx, 0xffffffdb
mov edi, dword [esi]
xor ecx, 0xe587883
mov dword [ebp - 4], esi
movq xmm0, qword [ecx + eax]
mov eax, dword [ecx + eax + 8]
movss xmm5, dword [ecx + edi]
movss xmm7, dword [ecx + edi + 4]
movss xmm4, dword [ecx + edi + 8]
movaps xmm6, xmm7
mov dword [ebp - 0x24], eax
mov eax, dword [ebx]
movq qword [ebp - 0x2c], xmm0
subss xmm6, dword [ebp - 0x28]
movss dword [ebp - 0x14], xmm5
movss xmm3, dword [eax + ecx]
movss xmm2, dword [eax + ecx + 4]
subss xmm2, dword [ebp - 0x28]
subss xmm5, dword [ebp - 0x2c]
subss xmm3, dword [ebp - 0x2c]
movss xmm1, dword [eax + ecx + 8]
subss xmm1, dword [ebp - 0x24]
movss dword [ebp - 0x18], xmm4
subss xmm4, dword [ebp - 0x24]
mulss xmm6, xmm6
mulss xmm2, xmm2
mulss xmm5, xmm5
mulss xmm3, xmm3
addss xmm6, xmm5
mulss xmm4, xmm4
addss xmm2, xmm3
mulss xmm1, xmm1
addss xmm6, xmm4
addss xmm2, xmm1
comiss xmm2, xmm6
jbe 0x10044ddf
mov eax, esi
sub eax, ebx
push eax
lea eax, [ebx + 4]
push ebx
push eax
call fcn.100f0ca0
add esp, 0xc
mov dword [ebx], edi
jmp 0x10044f1a
mov eax, dword [0x101a3d60]
lea edx, [esi - 4]
movss xmm4, dword [ebp - 0x14]
movss xmm5, dword [ebp - 0x18]
movq xmm0, qword [ecx + eax]
mov eax, dword [ecx + eax + 8]
mov dword [ebp - 8], eax
mov eax, dword [edx]
subss xmm5, dword [ebp - 8]
movq qword [ebp - 0x10], xmm0
subss xmm7, dword [ebp - 0xc]
movss xmm3, dword [ecx + eax]
movss xmm2, dword [ecx + eax + 4]
subss xmm2, dword [ebp - 0xc]
subss xmm4, dword [ebp - 0x10]
subss xmm3, dword [ebp - 0x10]
movss xmm1, dword [ecx + eax + 8]
subss xmm1, dword [ebp - 8]
mulss xmm7, xmm7
mulss xmm2, xmm2
mulss xmm4, xmm4
mulss xmm3, xmm3
addss xmm7, xmm4
mulss xmm5, xmm5
addss xmm2, xmm3
mulss xmm1, xmm1
addss xmm7, xmm5
addss xmm2, xmm1
comiss xmm2, xmm7
jbe 0x10044f15
mov ebx, dword [ebp - 4]
nop word [eax + eax]
mov dword [ebx], eax
mov ebx, edx
mov ecx, dword [0x101d4698]
sub edx, 4
mov eax, dword [0x101a3d60]
add ecx, 0xffffffdb
xor ecx, 0xe587883
movq xmm0, qword [ecx + eax]
mov eax, dword [ecx + eax + 8]
movss xmm5, dword [ecx + edi]
movss xmm6, dword [ecx + edi + 4]
movss xmm4, dword [ecx + edi + 8]
mov dword [ebp - 8], eax
mov eax, dword [edx]
subss xmm4, dword [ebp - 8]
movq qword [ebp - 0x10], xmm0
subss xmm6, dword [ebp - 0xc]
movss xmm3, dword [eax + ecx]
movss xmm2, dword [eax + ecx + 4]
subss xmm2, dword [ebp - 0xc]
subss xmm5, dword [ebp - 0x10]
subss xmm3, dword [ebp - 0x10]
movss xmm1, dword [eax + ecx + 8]
subss xmm1, dword [ebp - 8]
mulss xmm6, xmm6
mulss xmm2, xmm2
mulss xmm5, xmm5
mulss xmm3, xmm3
addss xmm6, xmm5
mulss xmm4, xmm4
addss xmm2, xmm3
mulss xmm1, xmm1
addss xmm6, xmm4
addss xmm2, xmm1
comiss xmm6, xmm2
jb 0x10044e70
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
mov dword [eax], edi
mov edx, dword [ebp - 0x20]
add esi, 4
cmp esi, edx
jne 0x10044d20
pop edi
pop esi
mov eax, edx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, edx
pop ebx
mov esp, ebp
pop ebp
ret