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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
movss xmm0, dword [0x100e5a64]
mov eax, dword [0x102048b4]
mulss xmm1, xmm0
push ebx
movss dword [ebp - 4], xmm3
mov dword [ebp - 0x14], ecx
movss dword [ebp - 0x18], xmm0
movss dword [ebp - 0x10], xmm1
mov dword [ebp - 8], eax
push esi
push edi
test eax, eax
jne 0x100b988e
mov ebx, dword [0x10204630]
mov ebx, dword [ebx + 0x30]
jmp 0x100b987c
mov esi, dword [ebx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x100b9850
xor edx, edx
test ecx, ecx
je 0x100b9879
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100b9860
cmp edi, 0x874b1932
je 0x100b9888
mov ebx, dword [ebx + 4]
mov dword [ebp - 8], ebx
test ebx, ebx
jne 0x100b9840
xor ebx, ebx
mov dword [ebp - 8], ebx
mov dword [0x102048b4], ebx
cmp dword [0x10200cdc], 0
jne 0x100b98e6
mov eax, dword [0x10204630]
mov edi, dword [eax + 0x30]
jmp 0x100b98dc
mov esi, dword [edi + 0xc]
mov ebx, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x100b98b0
xor edx, edx
test ecx, ecx
je 0x100b98d9
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, ebx
imul ebx, eax, 0x1000193
cmp edx, ecx
jb 0x100b98c0
cmp ebx, 0x51c2378
je 0x100b98e0
mov edi, dword [edi + 4]
test edi, edi
jne 0x100b98a1
mov dword [0x10200cdc], edi
mov eax, dword [0x101f994c]
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x100b994e
mov eax, dword [0x10204630]
mov ebx, dword [eax + 0x30]
jmp 0x100b993c
mov esi, dword [ebx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x100b9910
xor edx, edx
test ecx, ecx
je 0x100b9939
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100b9920
cmp edi, 0x227932f
je 0x100b9948
mov ebx, dword [ebx + 4]
mov dword [ebp - 0xc], ebx
test ebx, ebx
jne 0x100b9900
xor ebx, ebx
mov dword [ebp - 0xc], ebx
mov dword [0x101f994c], ebx
cmp dword [0x1020536c], 0
jne 0x100b99a6
mov eax, dword [0x10204630]
mov edi, dword [eax + 0x30]
jmp 0x100b999c
mov esi, dword [edi + 0xc]
mov ebx, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x100b9970
xor edx, edx
test ecx, ecx
je 0x100b9999
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, ebx
imul ebx, eax, 0x1000193
cmp edx, ecx
jb 0x100b9980
cmp ebx, 0x2d45f02d
je 0x100b99a0
mov edi, dword [edi + 4]
test edi, edi
jne 0x100b9961
mov dword [0x1020536c], edi
mov eax, dword [0x102048d4]
mov ebx, dword [ebp - 0x14]
add eax, 0xffffffd8
xor eax, 0xd9785bc2
cmp dword [eax + ebx], 3
jne 0x100b99cc
mov ecx, dword [ebp - 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x14], eax
call dword [ebp - 0x14]
jmp 0x100b99da
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x14], eax
call dword [ebp - 0x14]
mov eax, dword [0x102048d4]
add eax, 0xffffffd8
xor eax, 0xd9785bc2
fstp dword [ebp - 0xc]
cmp dword [eax + ebx], 3
jne 0x100b9a03
mov ecx, dword [0x10200cdc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x14], eax
call dword [ebp - 0x14]
jmp 0x100b9a14
mov ecx, dword [0x1020536c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x14], eax
call dword [ebp - 0x14]
mov eax, dword [0x10204960]
movss xmm3, dword [ebp - 0x10]
add eax, 0xffffffb5
xor eax, 0xd9785be6
fstp dword [ebp - 8]
movss xmm0, dword [ebp - 8]
cmp byte [eax + ebx], 0
je 0x100b9a51
movss xmm5, dword [0x100e5a3c]
mulss xmm3, dword [0x100e5a64]
movaps xmm4, xmm5
mulss xmm0, dword [0x100e5a64]
jmp 0x100b9a5e
movss xmm4, dword [0x100e5ab4]
movss xmm5, dword [ebp - 0x18]
mov ecx, dword [ebp + 8]
lea eax, [ecx - 1]
cmp eax, 6
ja case.default.0x100b9a69
jmp dword [eax*4 + 0x100b9b3c]
movss xmm2, dword [ebp - 4]
mulss xmm2, dword [0x100e5b64]
mulss xmm2, xmm0
jmp 0x100b9abc
movss xmm2, dword [ebp - 0xc]
mulss xmm2, dword [ebp - 4]
jmp 0x100b9abc
movss xmm2, dword [ebp - 4]
mulss xmm2, dword [0x100e5ac0]
mulss xmm2, dword [ebp - 0xc]
jmp 0x100b9abc
movss xmm2, dword [ebp - 4]
mulss xmm2, dword [0x100e5a90]
mulss xmm2, dword [ebp - 0xc]
jmp 0x100b9abc
movss xmm2, dword [ebp - 4]
mov eax, dword [0x10204978]
add eax, 0xffffffaf
xor eax, 0xd9785bec
mov eax, dword [eax + ebx]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
comiss xmm1, dword [0x100e598c]
jbe case.default.0x100b9ae5
test eax, eax
jle case.default.0x100b9ae5
cmp ecx, 5
ja case.default.0x100b9ae5
jmp dword [ecx*4 + 0x100b9b58]
mov eax, dword [0x10204958]
add eax, 0xffffffb7
xor eax, 0xd9785be4
cmp byte [eax + ebx], 0
je case.default.0x100b9ae5
mulss xmm3, xmm2
movaps xmm0, xmm2
mulss xmm4, xmm5
subss xmm0, xmm3
mulss xmm4, xmm0
comiss xmm4, xmm1
jbe 0x100b9b22
divss xmm1, xmm5
movaps xmm3, xmm2
subss xmm3, xmm1
movaps xmm0, xmm3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
pop edi
pop esi
movaps xmm0, xmm2
pop ebx
mov esp, ebp
pop ebp
ret 4