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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 0x10]
push esi
movss xmm0, dword [eax]
push edi
movss xmm1, dword [ebx + 4]
mulss xmm1, dword [eax + 4]
mov dword [ebp - 8], ebx
mulss xmm0, dword [ebx]
addss xmm1, xmm0
movss xmm0, dword [ebx + 8]
mulss xmm0, dword [eax + 8]
mov eax, dword [0x10128bc8]
addss xmm1, xmm0
test al, 1
jne 0x100913f9
or eax, 1
mov dword [0x10128bc8], eax
mov eax, dword [0x101219a4]
mov ebx, dword [eax + 0x30]
jmp 0x100913ec
mov edi, dword [ebx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x100913c0
xor edx, edx
test ecx, ecx
je 0x100913e9
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100913d0
cmp esi, 0xe01f2035
je 0x100913f0
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x100913b1
mov dword [0x10128bd8], ebx
mov ebx, dword [ebp - 8]
movaps xmm2, xmm3
xorps xmm0, xmm0
subss xmm2, xmm1
comiss xmm0, xmm2
movss dword [ebp - 0x10], xmm2
jae 0x1009168e
mov eax, dword [ebp + 8]
maxss xmm1, xmm0
mov byte [ebp - 1], 1
mov eax, dword [eax + 0x30]
mov edi, eax
movss dword [ebp - 0xc], xmm1
and edi, 4
jne 0x10091432
test eax, 0x20000
jne 0x10091436
mov byte [ebp - 1], 0
mov ecx, dword [0x10121cbc]
mov eax, dword [0x100c82a8]
add ecx, 0xffffff9e
maxss xmm3, dword [0x100bd7dc]
xor ecx, 0x31825608
mov eax, dword [ecx + eax]
mov ecx, dword [0x101219ac]
push ecx
movss dword [ebp - 8], xmm3
mov edx, dword [ecx]
mov esi, dword [edx + 0x10]
mov edx, esp
mov dword [edx], eax
call esi
movss xmm3, dword [0x100bd5f0]
mov esi, eax
movss xmm4, dword [0x100bd630]
xor al, al
mov byte [ebp - 2], al
test esi, esi
je 0x10091558
mov ecx, dword [0x10128bd8]
mov edx, dword [ecx]
mov eax, dword [edx + 0x34]
call eax
test eax, eax
je 0x10091545
mov eax, dword [0x10121cd8]
movss xmm2, dword [0x100da76c]
add eax, 0xffffff97
xor eax, 0x3182560f
movzx ecx, word [eax + esi]
mov eax, dword [0x10121d00]
add eax, 0xffffff8d
xor eax, 0x31825619
cmp dword [eax + esi], 0
jle 0x10091509
cmp ecx, 0xb
je 0x100914ea
cmp ecx, 0x26
je 0x100914ea
cmp ecx, 9
je 0x100914ea
cmp ecx, 8
je 0x100914ea
cmp ecx, 0x27
je 0x100914ea
cmp ecx, 0x28
jne 0x10091509
movss xmm3, dword [0x100bd5f0]
movaps xmm1, xmm2
movss xmm0, dword [0x100bd7a4]
mulss xmm1, xmm3
comiss xmm0, xmm1
seta al
jmp 0x10091514
mov al, byte [ebp - 2]
movss xmm3, dword [0x100bd5f0]
mulss xmm2, dword [0x100bd544]
mov cl, byte [ebp - 1]
movss xmm4, dword [0x100bd630]
movss xmm1, dword [ebp - 8]
minss xmm2, xmm4
mulss xmm2, xmm1
test edi, edi
jne 0x1009153c
test cl, cl
je 0x10091540
test al, al
je 0x10091563
movaps xmm1, xmm2
jmp 0x10091563
movss xmm3, dword [0x100bd5f0]
movss xmm4, dword [0x100bd630]
mov al, byte [ebp - 2]
movss xmm2, dword [ebp - 8]
mov cl, byte [ebp - 1]
movaps xmm1, xmm2
test edi, edi
je 0x1009157b
movss xmm0, dword [0x100bd5cc]
test al, al
jne 0x10091577
mulss xmm1, xmm0
mulss xmm2, xmm0
test cl, cl
je 0x100915cc
test al, al
jne 0x10091587
mulss xmm1, xmm3
movss xmm0, dword [ebp - 0xc]
mulss xmm2, xmm3
subss xmm2, dword [0x100bd708]
comiss xmm2, xmm0
jbe 0x100915cc
subss xmm0, xmm2
xorps xmm3, xmm3
movaps xmm2, xmm4
maxss xmm0, xmm3
mulss xmm0, dword [0x100bd5a8]
subss xmm2, xmm0
comiss xmm2, xmm3
jb 0x100915c7
minss xmm2, xmm4
mulss xmm2, dword [ebp + 0x14]
jmp 0x100915d4
xorps xmm2, xmm2
jmp 0x100915d4
movss xmm2, dword [ebp + 0x14]
xorps xmm3, xmm3
mov eax, dword [0x10121a08]
mov ecx, dword [0x10121c80]
add ecx, 0xffffffad
xor ecx, 0x318255f9
mulss xmm2, dword [eax + 0x20]
mov eax, dword [0x100c82a8]
mulss xmm2, xmm1
mulss xmm2, dword [ecx + eax]
mov eax, dword [ebp + 0xc]
minss xmm2, dword [ebp - 0x10]
movss xmm5, dword [eax + 4]
movss xmm0, dword [eax + 8]
movaps xmm4, xmm2
mulss xmm5, xmm2
mulss xmm4, dword [eax]
addss xmm5, dword [ebx + 4]
mulss xmm2, xmm0
addss xmm4, dword [ebx]
addss xmm2, dword [ebx + 8]
movaps xmm1, xmm5
movss dword [ebx + 4], xmm5
mulss xmm1, xmm5
movaps xmm0, xmm4
movss dword [ebx], xmm4
mulss xmm0, xmm4
movss dword [ebx + 8], xmm2
addss xmm0, xmm1
movaps xmm1, xmm2
mulss xmm1, xmm2
addss xmm0, xmm1
call fcn.10021610
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jnp 0x1009168e
movss xmm1, dword [0x100da76c]
comiss xmm0, xmm1
jbe 0x1009168e
divss xmm1, xmm0
mulss xmm4, xmm1
mulss xmm5, xmm1
mulss xmm2, xmm1
movss dword [ebx], xmm4
movss dword [ebx + 4], xmm5
movss dword [ebx + 8], xmm2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10