Function at 0x100ce4f0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x30
mov eax, dword [0x100ff040]
xor eax, esp
mov dword [esp + 0x2c], eax
cmp dword [0x100ff48c], 0
push esi
push edi
je 0x100ce9b9
cmp dword [0x100ff484], 0
je 0x100ce9b9
cmp dword [0x100ff488], 0x1f
je 0x100ce9b9
cmp dword [0x100ff0ac], 0
je 0x100ce9b9
cmp byte [0x100ff0b0], 0
je 0x100ce9b9
test byte [0x100ff4ec], 2
jne 0x100ce9b9
test byte [0x100ff0b4], 1
je 0x100ce9b9
cmp byte [0x10107780], 0
je 0x100ce9b9
push 0
push dword [0x101078c8]
push dword [0x101078c4]
call fcn.100e4a20
mov ecx, dword [0x101078c8]
cmp eax, ecx
jne 0x100ce9b4
test byte [0x100ff0b4], 1
jne 0x100ce5b4
mov eax, dword [0x101006c0]
cmp eax, 0xffffffff
je 0x100ce5b4
lea eax, [eax + eax*2]
mov al, byte [eax*4 + 0x1010fe18]
test al, al
jne 0x100ce9b4
push 1
push ecx
push dword [0x101078c4]
call fcn.100e4a20
cmp eax, dword [0x101078c8]
je 0x100ce9b9
mov eax, dword [0x10141ca8]
mov ecx, dword [0x100ff0ac]
add eax, 0xffffffb7
xor eax, 0xd719438c
cmp byte [eax + ecx], 0
mov eax, dword [0x100ff48c]
jbe 0x100ce5f6
movss xmm5, dword [eax + 0x130]
jmp 0x100ce5fe
movss xmm5, dword [eax + 0x12c]
mulss xmm5, dword [0x100f3dc4]
mov eax, dword [0x10141c24]
movss xmm2, dword [0x100f4018]
add eax, 0xffffffd8
movss xmm1, dword [0x100f4010]
xor eax, 0xd719436b
andps xmm2, xmm5
movss xmm3, dword [0x100f3e34]
movaps xmm0, xmm5
movaps xmm4, xmm5
xorps xmm0, xmm2
cmpltss xmm0, xmm1
andps xmm1, xmm0
orps xmm1, xmm2
addss xmm4, xmm1
subss xmm4, xmm1
movss xmm1, dword [eax + ecx + 4]
mulss xmm1, xmm1
movaps xmm0, xmm4
subss xmm0, xmm5
cmpnless xmm0, xmm2
andps xmm0, xmm3
subss xmm4, xmm0
movss xmm0, dword [eax + ecx]
mulss xmm0, xmm0
addss xmm0, xmm1
call fcn.10028c20
comiss xmm4, xmm0
jbe 0x100ce70b
mov eax, dword [0x100ff4e0]
test eax, eax
je 0x100ce9b9
cmp byte [0x100ff0b0], 0
je 0x100ce9b9
or dword [eax + 0x30], 0x20000
mov eax, dword [0x100ff4e0]
movss xmm2, dword [eax + 0x28]
movss xmm5, dword [eax + 0x24]
movaps xmm0, xmm2
movaps xmm1, xmm5
mulss xmm0, xmm2
mulss xmm1, xmm5
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
comiss xmm0, xmm4
jbe 0x100ce9b9
divss xmm3, xmm0
movaps xmm0, xmm3
mulss xmm3, xmm2
mulss xmm0, xmm5
mulss xmm3, xmm4
mulss xmm0, xmm4
movss dword [eax + 0x24], xmm0
mov eax, dword [0x100ff4e0]
movss dword [eax + 0x28], xmm3
pop edi
pop esi
mov ecx, dword [esp + 0x2c]
xor ecx, esp
call fcn.100e4c2c
mov esp, ebp
pop ebp
ret
movq xmm0, qword [eax + ecx]
mov eax, dword [eax + ecx + 8]
movq qword [esp + 0x1c], xmm0
movss xmm3, dword [esp + 0x20]
movss xmm4, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
movaps xmm1, xmm4
mov eax, dword [0x100ff4e0]
mulss xmm1, xmm4
movq xmm0, qword [eax + 0xc]
movq qword [esp + 0x28], xmm0
movaps xmm0, xmm3
mov eax, dword [eax + 0x14]
mulss xmm0, xmm3
mov dword [esp + 0x30], eax
addss xmm0, xmm1
call fcn.10028c20
movaps xmm2, xmm0
xorps xmm1, xmm1
comiss xmm2, xmm1
movss xmm0, dword [esp + 0x24]
movss dword [esp + 0x10], xmm1
jbe 0x100ce7a7
xorps xmm0, xmmword [0x100f41d0]
movaps xmm1, xmm2
call fcn.10028bb0
mulss xmm0, dword [0x100f3f4c]
movaps xmm1, xmm4
movss dword [esp + 0xc], xmm0
movaps xmm0, xmm3
call fcn.10028bb0
mulss xmm0, dword [0x100f3f4c]
movss dword [esp + 0x10], xmm0
jmp 0x100ce7c4
comiss xmm0, xmm1
jbe 0x100ce7b6
movss xmm0, dword [0x100f4064]
jmp 0x100ce7be
movss xmm0, dword [0x100f3f74]
movss dword [esp + 0xc], xmm0
mov ecx, dword [0x10141a38]
lea edx, [esp + 0x28]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x48]
call eax
movss xmm0, dword [esp + 0xc]
mulss xmm0, dword [0x100f3d48]
call fcn.10028be0
movss dword [esp + 0xc], xmm0
movss xmm0, dword [esp + 0x2c]
subss xmm0, dword [esp + 0x10]
mulss xmm0, dword [0x100f3d48]
movss dword [esp + 0x10], xmm0
call fcn.10028be0
mulss xmm0, dword [esp + 0xc]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [esp + 0x10]
call fcn.10028c10
mulss xmm0, dword [esp + 0xc]
mov ecx, dword [0x10147708]
movss dword [esp + 0x14], xmm0
test cl, 1
jne 0x100ce8c8
or ecx, 1
mov dword [0x10147708], ecx
mov eax, dword [0x10141a34]
mov eax, dword [eax + 0x30]
mov dword [esp + 0xc], eax
test eax, eax
je 0x100ce8ae
nop dword [eax]
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [edi + ecx], 0
jne 0x100ce870
xor edx, edx
test ecx, ecx
je 0x100ce89d
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100ce880
mov eax, dword [esp + 0xc]
cmp esi, 0x7939b3a7
je 0x100ce8bb
mov eax, dword [eax + 4]
mov dword [esp + 0xc], eax
test eax, eax
jne 0x100ce860
mov ecx, dword [0x10147708]
xor eax, eax
mov dword [esp + 0xc], eax
mov dword [0x101476f4], eax
jmp 0x100ce8d1
mov ecx, dword [0x10147708]
mov dword [0x101476f4], eax
jmp 0x100ce8d1
mov eax, dword [0x101476f4]
mov dword [esp + 0xc], eax
test cl, 2
jne 0x100ce93f
or ecx, 2
mov dword [0x10147708], ecx
mov eax, dword [0x10141a34]
mov eax, dword [eax + 0x30]
mov dword [esp + 0x10], eax
test eax, eax
je 0x100ce938
nop
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [edi + ecx], 0
jne 0x100ce900
xor edx, edx
test ecx, ecx
je 0x100ce92d
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100ce910
mov eax, dword [esp + 0x10]
cmp esi, 0xda6a172f
je 0x100ce93a
mov eax, dword [eax + 4]
mov dword [esp + 0x10], eax
test eax, eax
jne 0x100ce8f0
xor eax, eax
mov dword [0x10147700], eax
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [esp + 0x10], eax
call dword [esp + 0x10]
mov ecx, dword [0x10147700]
fstp dword [esp + 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [esp + 0x10], eax
call dword [esp + 0x10]
movss xmm0, dword [esp + 0xc]
mulss xmm0, dword [esp + 0x18]
mov eax, dword [0x100ff4e0]
fmul dword [esp + 0x14]
xorps xmm0, xmmword [0x100f41d0]
movss dword [eax + 0x24], xmm0
mov eax, dword [0x100ff4e0]
fstp dword [esp + 0x14]
movss xmm1, dword [esp + 0x14]
xorps xmm1, xmmword [0x100f41d0]
movss dword [eax + 0x28], xmm1
pop edi
pop esi
mov ecx, dword [esp + 0x2c]
xor ecx, esp
call fcn.100e4c2c
mov esp, ebp
pop ebp
ret
call fcn.100cc360
mov ecx, dword [esp + 0x34]
pop edi
pop esi
xor ecx, esp
call fcn.100e4c2c
mov esp, ebp
pop ebp
ret