Function at 0x100c7f10
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 0x100c8258
cmp byte [0x100f20b0], 0
je 0x100c8258
cmp dword [0x100f3f44], 0
je 0x100c8258
cmp dword [0x100f3f4c], 0
je 0x100c8258
mov eax, dword [0x101331a4]
add eax, 0xffffffd6
xor eax, 0xe282ef58
cmp dword [eax + ecx], 3
mov eax, dword [0x10132fb4]
mov ebx, dword [eax + 0x30]
jne 0x100c806c
jmp 0x100c7fbc
mov edi, dword [ebx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x100c7f90
xor edx, edx
test ecx, ecx
je 0x100c7fb9
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100c7fa0
cmp esi, 0x51c2378
je 0x100c7fc0
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x100c7f80
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x30]
mov dword [ebp - 0xc], eax
call dword [ebp - 0xc]
mov eax, dword [0x10132fb4]
fstp dword [ebp - 8]
mov ebx, dword [eax + 0x30]
jmp 0x100c801c
mov edi, dword [ebx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x100c7ff0
xor edx, edx
test ecx, ecx
je 0x100c8019
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100c8000
cmp esi, 0x874b1932
je 0x100c8020
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x100c7fe0
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x30]
mov dword [ebp - 0xc], eax
call dword [ebp - 0xc]
jmp 0x100c80dd
mov edi, dword [ebx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x100c8040
xor edx, edx
test ecx, ecx
je 0x100c8069
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100c8050
cmp esi, 0x2d45f02d
je 0x100c8070
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x100c8032
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x30]
mov dword [ebp - 0xc], eax
call dword [ebp - 0xc]
mov eax, dword [0x10132fb4]
fstp dword [ebp - 8]
mov ebx, dword [eax + 0x30]
jmp 0x100c80cc
mov edi, dword [ebx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x100c80a0
xor edx, edx
test ecx, ecx
je 0x100c80c9
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100c80b0
cmp esi, 0x227932f
je 0x100c80d0
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x100c8090
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x30]
mov dword [ebp - 0xc], eax
call dword [ebp - 0xc]
mov eax, dword [0x10133214]
mov esi, dword [ebp - 0x14]
add eax, 0xffffffba
xor eax, 0xe282ef74
fstp dword [ebp - 0xc]
mov cl, byte [eax + esi]
mov eax, dword [0x1013321c]
add eax, 0xffffffb8
xor eax, 0xe282ef76
mov dl, byte [eax + esi]
mov eax, dword [0x10133230]
add eax, 0xffffffb3
xor eax, 0xe282ef7b
movd xmm5, dword [eax + esi]
mov eax, dword [ebp - 0x18]
cvtdq2ps xmm5, xmm5
dec eax
comiss xmm5, dword [0x100e64f4]
jbe 0x100c813d
cmp eax, 4
ja case.default.0x100c812a
jmp dword [eax*4 + 0x100c8268]
mov cl, 1
jmp 0x100c813f
test cl, cl
jne case.0x100c812a.1
test dl, dl
jne case.0x100c812a.1
xor cl, cl
cmp dword [0x100f3f48], 0x1f
movss xmm2, dword [0x100e65ac]
movss xmm0, dword [ebp - 8]
sete bl
test dl, dl
je 0x100c815e
mulss xmm0, xmm2
test bl, bl
jne case.0x100c8167.1
cmp eax, 6
ja case.0x100c8167.1
jmp dword [eax*4 + 0x100c827c]
mov cl, dl
jmp 0x100c813f
movss xmm4, dword [ebp - 4]
mulss xmm4, dword [0x100e663c]
mulss xmm4, xmm0
jmp 0x100c81b2
movss xmm4, dword [ebp - 4]
mulss xmm4, dword [0x100e65dc]
mulss xmm4, dword [ebp - 0xc]
jmp 0x100c81b2
movss xmm4, dword [ebp - 4]
mulss xmm4, dword [0x100e65c0]
mulss xmm4, dword [ebp - 0xc]
jmp 0x100c81b2
movss xmm4, dword [ebp - 4]
test cl, cl
je 0x100c8207
movss xmm3, dword [ebp - 0x10]
test dl, dl
je 0x100c81d9
mulss xmm3, dword [0x100e6570]
movss xmm1, dword [0x100e6634]
movss xmm2, dword [0x100e654c]
jmp 0x100c81e5
movss xmm1, dword [0x100e6624]
mulss xmm3, xmm2
mulss xmm3, xmm4
movaps xmm0, xmm4
subss xmm0, xmm3
mulss xmm0, xmm2
comiss xmm0, xmm5
jbe 0x100c8204
mulss xmm1, xmm5
movaps xmm3, xmm4
subss xmm3, xmm1
movaps xmm4, xmm3
movss xmm2, dword [0x100e6768]
movaps xmm0, xmm4
movss xmm1, dword [0x100e6760]
andps xmm2, xmm4
xorps xmm0, xmm2
movss xmm3, dword [0x100e65d4]
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 [0x100e6784]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret