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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x10
mov eax, dword [0x100e3008]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x10109e2c]
add eax, 0xffffffca
push esi
mov esi, dword [0x100f5fb8]
xor eax, 0x3a7c3c1
push edi
mov eax, dword [eax + esi]
cmp eax, 8
je 0x100b7c51
cmp eax, 9
je 0x100b7c51
test dword [0x100f63a4], 0x20000
jne 0x100b7c51
test byte [0x100f63a4], 2
je 0x100b7c51
test byte [0x100f5fc8], 1
jne 0x100b7c51
mov eax, dword [0x10109df0]
add eax, 0xffffffd9
xor eax, 0x3a7c3b2
movss xmm1, dword [eax + esi]
movss xmm0, dword [eax + esi + 4]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.1001b3a0
movss xmm4, dword [0x100d744c]
movaps xmm1, xmm0
movss xmm0, dword [0x100d7470]
xorps xmm3, xmm3
comiss xmm1, xmm3
movss dword [0x101090a0], xmm1
jbe 0x100b779d
movss xmm0, dword [0x100d740c]
divss xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_asinf
movss xmm4, dword [0x100d744c]
movaps xmm1, xmm0
movss xmm0, dword [0x100d7470]
xorps xmm3, xmm3
mulss xmm1, xmm4
movss dword [ebp - 8], xmm1
movss xmm1, dword [0x101090a0]
jmp 0x100b77a2
movss dword [ebp - 8], xmm0
comiss xmm1, xmm3
jbe 0x100b77d4
movss xmm0, dword [0x100d7428]
divss xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_asinf
movss xmm4, dword [0x100d744c]
movaps xmm1, xmm0
movss xmm0, dword [0x100d7470]
xorps xmm3, xmm3
mulss xmm1, xmm4
jmp 0x100b77d7
movaps xmm1, xmm0
movss xmm2, dword [ebp - 8]
comiss xmm2, xmm0
jbe 0x100b77e6
movaps xmm2, xmm0
jmp 0x100b77ee
comiss xmm2, xmm3
ja 0x100b77ee
xorps xmm2, xmm2
comiss xmm1, xmm0
movss dword [0x101090a4], xmm2
jbe 0x100b7800
movaps xmm1, xmm0
jmp 0x100b7808
comiss xmm1, xmm3
ja 0x100b7808
xorps xmm1, xmm1
mov eax, dword [0x10109df4]
add eax, 0xffffffd8
movss dword [0x101090a8], xmm1
xor eax, 0x3a7c3b3
mov ecx, dword [0x101090d4]
inc ecx
movss xmm0, dword [eax + esi]
movss dword [0x101090ac], xmm0
movss xmm0, dword [eax + esi + 4]
movss dword [0x101090b0], xmm0
movss xmm0, dword [eax + esi + 8]
mov eax, dword [0x10109df8]
add eax, 0xffffffd7
movss dword [0x101090b4], xmm0
xor eax, 0x3a7c3b4
movss xmm0, dword [eax + esi]
movss dword [0x101090b8], xmm0
movss xmm0, dword [eax + esi + 4]
movss dword [0x101090bc], xmm0
movss xmm0, dword [eax + esi + 8]
mov eax, dword [0x10109de8]
add eax, 0xffffffdb
movss dword [0x101090c0], xmm0
xor eax, 0x3a7c3b0
movss xmm0, dword [eax + esi]
movss dword [0x101090c4], xmm0
movss xmm0, dword [eax + esi + 4]
movss dword [0x101090c8], xmm0
movss xmm0, dword [eax + esi + 8]
mov eax, dword [0x100ff19c]
movss dword [0x101090cc], xmm0
movss xmm0, dword [0x101090d0]
xorps xmm0, xmmword [0x100d75b0]
movss dword [0x101090d0], xmm0
mov dword [0x101090d4], ecx
cmp eax, 0xffffffff
je 0x100b795c
lea eax, [eax + eax*2]
mov al, byte [eax*4 + 0x101081e8]
test al, al
je 0x100b795c
movaps xmm2, xmm1
maxss xmm2, dword [0x100d73e8]
comiss xmm2, xmm1
jbe 0x100b790f
mov eax, ecx
mov ecx, 5
cdq
idiv ecx
test edx, edx
jne 0x100b790f
movaps xmm2, xmm1
movss xmm0, dword [0x101090dc]
lea ecx, [ebp - 8]
addss xmm0, xmm2
movss dword [ebp - 8], xmm0
call fcn.100b7280
mov eax, dword [0x100f6398]
movss xmm0, dword [ebp - 8]
movss dword [0x101090dc], xmm0
movss dword [0x100f63bc], xmm0
mov dword [eax + 0x28], 0xc3e10000
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c9377
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, dword [0x100ff10c]
cmp eax, 0xffffffff
je 0x100b799e
lea eax, [eax + eax*2]
mov al, byte [eax*4 + 0x101081e8]
test al, al
je 0x100b799e
cmp byte [0x100feffc], 0
jne 0x100b7986
mov eax, dword [0x100f6398]
or dword [eax + 0x30], 4
call fcn.100b7c70
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c9377
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, dword [0x100ff22c]
cmp eax, 0xffffffff
je 0x100b7a05
lea eax, [eax + eax*2]
mov al, byte [eax*4 + 0x101081e8]
test al, al
je 0x100b7a05
movss xmm0, dword [0x100ff2c0]
mulss xmm0, dword [0x100d7300]
mov eax, dword [0x10109c6c]
mulss xmm0, dword [eax]
call fcn.1001b390
movss xmm1, dword [0x100ff37c]
movaps xmm2, xmm0
mulss xmm1, dword [0x100d733c]
movss xmm4, dword [0x100d744c]
mulss xmm2, xmm1
addss xmm2, dword [0x100f63bc]
movss dword [0x100f63bc], xmm2
jmp 0x100b7a0d
movss xmm2, dword [0x100f63bc]
cmp byte [0x100ff084], 0
je 0x100b7c51
mov eax, dword [0x1010e938]
movss dword [0x101090d8], xmm2
movss dword [0x101090dc], xmm2
test al, 1
jne 0x100b7a9d
or eax, 1
mov dword [0x1010e938], eax
mov eax, dword [0x10109c0c]
mov eax, dword [eax + 0x30]
mov dword [ebp - 8], eax
test eax, eax
je 0x100b7a96
nop word [eax + eax]
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x100b7a60
xor edx, edx
test ecx, ecx
je 0x100b7a8c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100b7a70
mov eax, dword [ebp - 8]
cmp edi, 0xda6a172f
je 0x100b7a98
mov eax, dword [eax + 4]
mov dword [ebp - 8], eax
test eax, eax
jne 0x100b7a50
xor eax, eax
mov dword [0x1010e93c], eax
mov esi, dword [0x100f6398]
mov eax, dword [esi + 0x30]
mov ecx, eax
shr ecx, 3
mov edx, eax
and ecx, 0xffffff01
shr edx, 0xa
mov dword [ebp - 8], ecx
and dl, 1
mov ecx, eax
shr eax, 4
shr ecx, 9
and cl, 1
test al, 1
je 0x100b7b14
movss xmm0, dword [0x100d754c]
mov dword [0x1010e834], 0xc3340000
test cl, cl
je 0x100b7af8
movss xmm0, dword [0x100d7558]
mov dword [0x1010e834], 0xc3610000
jmp 0x100b7b83
test dl, dl
je 0x100b7b83
movss xmm0, dword [0x100d7544]
mov dword [0x1010e834], 0xc3070000
jmp 0x100b7b83
test cl, cl
je 0x100b7b46
cmp byte [ebp - 8], 0
mov dword [0x1010e834], 0x42b40000
je 0x100b7b3c
movss xmm0, dword [0x100d7438]
mov dword [0x1010e834], 0x42340000
jmp 0x100b7b83
movss xmm0, dword [0x100d7470]
jmp 0x100b7b83
test dl, dl
je 0x100b7b76
cmp byte [ebp - 8], 0
movss xmm0, dword [0x100d7540]
mov dword [0x1010e834], 0xc2b40000
je 0x100b7b83
movss xmm0, dword [0x100d7530]
mov dword [0x1010e834], 0xc2340000
jmp 0x100b7b83
mov dword [0x1010e834], 0
xorps xmm0, xmm0
addss xmm0, xmm2
movss dword [0x100f63bc], xmm0
mov dword [esi + 0x24], 0
mov eax, dword [0x100f6398]
mov dword [eax + 0x28], 0
mov ecx, dword [0x10109df0]
mov eax, dword [0x100f5fb8]
add ecx, 0xffffffd9
xor ecx, 0x3a7c3b2
movss xmm1, dword [ecx + eax]
movss xmm0, dword [ecx + eax + 4]
call fcn.1001b330
movss xmm1, dword [0x100f63bc]
lea ecx, [ebp - 8]
mulss xmm0, xmm4
subss xmm1, xmm0
movss dword [ebp - 8], xmm1
call fcn.100b7280
mov ecx, dword [0x1010e93c]
xorps xmm0, xmm0
movss xmm1, dword [ebp - 8]
comiss xmm1, xmm0
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
jbe 0x100b7c12
mov dword [ebp - 0xc], eax
call dword [ebp - 0xc]
fstp dword [ebp - 0xc]
movss xmm0, dword [ebp - 0xc]
xorps xmm0, xmmword [0x100d75b0]
jmp 0x100b7c20
mov dword [ebp - 0xc], eax
call dword [ebp - 0xc]
fstp dword [ebp - 0xc]
movss xmm0, dword [ebp - 0xc]
mov eax, dword [0x100f6398]
lea ecx, [ebp - 8]
movss dword [eax + 0x28], xmm0
movss xmm0, dword [0x100f63bc]
subss xmm0, dword [ebp - 8]
movss dword [ebp - 8], xmm0
call fcn.100b7280
movss xmm0, dword [ebp - 8]
movss dword [0x100f63bc], xmm0
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.100c9377
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret