Function at 0x100901c0
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 [0x10127bd0]
addss xmm1, xmm0
test al, 1
jne 0x10090259
or eax, 1
mov dword [0x10127bd0], eax
mov eax, dword [0x101209a4]
mov ebx, dword [eax + 0x30]
jmp 0x1009024c
mov edi, dword [ebx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x10090220
xor edx, edx
test ecx, ecx
je 0x10090249
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10090230
cmp esi, 0xe01f2035
je 0x10090250
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x10090211
mov dword [0x10127be0], ebx
mov ebx, dword [ebp - 8]
movaps xmm2, xmm3
xorps xmm0, xmm0
subss xmm2, xmm1
comiss xmm0, xmm2
movss dword [ebp - 0x10], xmm2
jae 0x100904ee
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 0x10090292
test eax, 0x20000
jne 0x10090296
mov byte [ebp - 1], 0
mov ecx, dword [0x10120cbc]
mov eax, dword [0x100c72a8]
add ecx, 0xffffff9e
maxss xmm3, dword [0x100bc55c]
xor ecx, 0xc13704bc
mov eax, dword [ecx + eax]
mov ecx, dword [0x101209ac]
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 [0x100bc368]
mov esi, eax
movss xmm4, dword [0x100bc3a8]
xor al, al
mov byte [ebp - 2], al
test esi, esi
je 0x100903b8
mov ecx, dword [0x10127be0]
mov edx, dword [ecx]
mov eax, dword [edx + 0x34]
call eax
test eax, eax
je 0x100903a5
mov eax, dword [0x10120cd8]
movss xmm2, dword [0x100d976c]
add eax, 0xffffff97
xor eax, 0xc13704c3
movzx ecx, word [eax + esi]
mov eax, dword [0x10120d00]
add eax, 0xffffff8d
xor eax, 0xc13704cd
cmp dword [eax + esi], 0
jle 0x10090369
cmp ecx, 0xb
je 0x1009034a
cmp ecx, 0x26
je 0x1009034a
cmp ecx, 9
je 0x1009034a
cmp ecx, 8
je 0x1009034a
cmp ecx, 0x27
je 0x1009034a
cmp ecx, 0x28
jne 0x10090369
movss xmm3, dword [0x100bc368]
movaps xmm1, xmm2
movss xmm0, dword [0x100bc524]
mulss xmm1, xmm3
comiss xmm0, xmm1
seta al
jmp 0x10090374
mov al, byte [ebp - 2]
movss xmm3, dword [0x100bc368]
mulss xmm2, dword [0x100bc2bc]
mov cl, byte [ebp - 1]
movss xmm4, dword [0x100bc3a8]
movss xmm1, dword [ebp - 8]
minss xmm2, xmm4
mulss xmm2, xmm1
test edi, edi
jne 0x1009039c
test cl, cl
je 0x100903a0
test al, al
je 0x100903c3
movaps xmm1, xmm2
jmp 0x100903c3
movss xmm3, dword [0x100bc368]
movss xmm4, dword [0x100bc3a8]
mov al, byte [ebp - 2]
movss xmm2, dword [ebp - 8]
mov cl, byte [ebp - 1]
movaps xmm1, xmm2
test edi, edi
je 0x100903db
movss xmm0, dword [0x100bc344]
test al, al
jne 0x100903d7
mulss xmm1, xmm0
mulss xmm2, xmm0
test cl, cl
je 0x1009042c
test al, al
jne 0x100903e7
mulss xmm1, xmm3
movss xmm0, dword [ebp - 0xc]
mulss xmm2, xmm3
subss xmm2, dword [0x100bc488]
comiss xmm2, xmm0
jbe 0x1009042c
subss xmm0, xmm2
xorps xmm3, xmm3
movaps xmm2, xmm4
maxss xmm0, xmm3
mulss xmm0, dword [0x100bc320]
subss xmm2, xmm0
comiss xmm2, xmm3
jb 0x10090427
minss xmm2, xmm4
mulss xmm2, dword [ebp + 0x14]
jmp 0x10090434
xorps xmm2, xmm2
jmp 0x10090434
movss xmm2, dword [ebp + 0x14]
xorps xmm3, xmm3
mov eax, dword [0x10120a08]
mov ecx, dword [0x10120c80]
add ecx, 0xffffffad
xor ecx, 0xc13704ad
mulss xmm2, dword [eax + 0x20]
mov eax, dword [0x100c72a8]
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 0x100904ee
movss xmm1, dword [0x100d976c]
comiss xmm0, xmm1
jbe 0x100904ee
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