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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov dword [ebp - 0x18], edx
movss dword [ebp - 0x10], xmm2
movss dword [ebp - 4], xmm1
mov dword [ebp - 0x14], ecx
push ebx
push esi
push edi
test ecx, ecx
je 0x10098f29
cmp byte [0x100ef728], 0
je 0x10098f29
cmp dword [0x100efdd4], 0
je 0x10098f29
cmp dword [0x100efddc], 0
je 0x10098f29
mov eax, dword [0x1023b5b4]
add eax, 0xffffffd3
xor eax, 0xbc884744
cmp dword [eax + ecx], 3
mov eax, dword [0x1023b3ac]
mov ebx, dword [eax + 0x30]
jne 0x10098d2c
jmp 0x10098c7c
mov edi, dword [ebx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x10098c50
xor edx, edx
test ecx, ecx
je 0x10098c79
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10098c60
cmp esi, 0x51c2378
je 0x10098c80
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x10098c40
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x30]
mov dword [ebp - 0xc], eax
call dword [ebp - 0xc]
mov eax, dword [0x1023b3ac]
fstp dword [ebp - 8]
mov ebx, dword [eax + 0x30]
jmp 0x10098cdc
mov edi, dword [ebx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x10098cb0
xor edx, edx
test ecx, ecx
je 0x10098cd9
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10098cc0
cmp esi, 0x874b1932
je 0x10098ce0
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x10098ca0
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x30]
mov dword [ebp - 0xc], eax
call dword [ebp - 0xc]
jmp 0x10098d9d
mov edi, dword [ebx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x10098d00
xor edx, edx
test ecx, ecx
je 0x10098d29
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10098d10
cmp esi, 0x2d45f02d
je 0x10098d30
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x10098cf2
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x30]
mov dword [ebp - 0xc], eax
call dword [ebp - 0xc]
mov eax, dword [0x1023b3ac]
fstp dword [ebp - 8]
mov ebx, dword [eax + 0x30]
jmp 0x10098d8c
mov edi, dword [ebx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x10098d60
xor edx, edx
test ecx, ecx
je 0x10098d89
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10098d70
cmp esi, 0x227932f
je 0x10098d90
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x10098d50
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x30]
mov dword [ebp - 0xc], eax
call dword [ebp - 0xc]
mov eax, dword [0x1023b630]
mov esi, dword [ebp - 0x14]
add eax, 0xffffffb4
xor eax, 0xbc884763
movss xmm5, dword [0x100d1fb0]
fstp dword [ebp - 0xc]
mov cl, byte [eax + esi]
mov eax, dword [0x1023b638]
add eax, 0xffffffb2
xor eax, 0xbc884765
mov dl, byte [eax + esi]
mov eax, dword [0x1023b64c]
add eax, 0xffffffad
xor eax, 0xbc88476a
movd xmm3, dword [eax + esi]
mov eax, dword [ebp - 0x18]
cvtdq2ps xmm3, xmm3
dec eax
comiss xmm3, dword [0x100d1ed4]
jbe 0x10098e28
cmp eax, 4
ja case.default.0x10098df2
jmp dword [eax*4 + 0x10098f38]
mov cl, 1
jmp 0x10098e2a
test cl, cl
jne case.0x10098df2.1
test dl, dl
jne case.0x10098df2.1
cmp dword [0x100efdd8], 0x1f
sete bl
movss xmm0, dword [ebp - 8]
test bl, bl
jne case.0x10098e1d.1
cmp eax, 6
ja case.0x10098e1d.1
jmp dword [eax*4 + 0x10098f4c]
mov cl, dl
jmp 0x10098e2a
xor cl, cl
cmp dword [0x100efdd8], 0x1f
sete bl
test dl, dl
je 0x10098e0f
movss xmm0, dword [ebp - 8]
mulss xmm0, xmm5
jmp 0x10098e14
movss xmm4, dword [ebp - 4]
mulss xmm4, dword [0x100d20fc]
mulss xmm4, xmm0
jmp 0x10098e83
movss xmm4, dword [ebp - 4]
mulss xmm4, dword [0x100d2000]
mulss xmm4, dword [ebp - 0xc]
jmp 0x10098e83
movss xmm4, dword [ebp - 4]
mulss xmm4, dword [0x100d1fcc]
mulss xmm4, dword [ebp - 0xc]
jmp 0x10098e83
movss xmm4, dword [ebp - 4]
test cl, cl
je 0x10098ed8
movss xmm2, dword [ebp - 0x10]
test dl, dl
je 0x10098eaa
mulss xmm2, dword [0x100d1f70]
movss xmm1, dword [0x100d20dc]
movss xmm5, dword [0x100d1f58]
jmp 0x10098eb6
movss xmm1, dword [0x100d205c]
mulss xmm2, xmm5
mulss xmm2, xmm4
movaps xmm0, xmm4
subss xmm0, xmm2
mulss xmm0, xmm5
comiss xmm0, xmm3
jbe 0x10098ed5
mulss xmm1, xmm3
movaps xmm2, xmm4
subss xmm2, xmm1
movaps xmm4, xmm2
movss xmm2, dword [0x100d224c]
movaps xmm0, xmm4
movss xmm1, dword [0x100d2240]
andps xmm2, xmm4
xorps xmm0, xmm2
movss xmm3, dword [0x100d1fec]
cmpltss xmm0, xmm1
andps xmm1, xmm0
movaps xmm0, xmm4
orps xmm1, xmm2
addss xmm0, xmm1
subss xmm0, xmm1
movaps xmm1, xmm0
subss xmm1, xmm4
cmpnless xmm1, xmm2
andps xmm1, xmm3
subss xmm0, xmm1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movss xmm0, dword [0x100d2268]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret