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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x30
mov eax, dword [0x100e4364]
xor eax, esp
mov dword [esp + 0x2c], eax
mov edx, dword [0x1010bc7c]
mov ecx, dword [0x100e47e0]
add edx, 0xffffffbc
push esi
mov esi, dword [0x100e4458]
xor edx, 0x828e3e89
push edi
cmp byte [edx + esi], 0
jbe 0x100b47a1
movss xmm2, dword [ecx + 0x130]
jmp 0x100b47a9
movss xmm2, dword [ecx + 0x12c]
cmp byte [0x100e48ec], 0
mulss xmm2, dword [0x100d9ae0]
mov byte [0x1010b9aa], 0
je 0x100b4bbf
mov eax, dword [0x100ed5b4]
cmp eax, 0xffffffff
je 0x100b47e1
lea eax, [eax + eax*2]
mov al, byte [eax*4 + 0x100f5b28]
test al, al
jne 0x100b4bbf
mov edi, dword [0x1010bbf8]
lea eax, [edi - 0x23]
xor eax, 0x828e3e68
movss xmm1, dword [eax + esi + 4]
movss xmm0, dword [eax + esi]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.10019ad0
comiss xmm2, xmm0
jbe 0x100b491b
cmp byte [edx + esi], 0
jbe 0x100b4824
movss xmm0, dword [ecx + 0x130]
jmp 0x100b482c
movss xmm0, dword [ecx + 0x12c]
mov eax, dword [0x100e4830]
cvtps2pd xmm0, xmm0
or dword [eax + 0x30], 0x20000
mov ecx, dword [0x100e4830]
mulsd xmm0, qword [0x100d9b68]
movss xmm6, dword [ecx + 0x28]
movss xmm4, dword [ecx + 0x24]
movaps xmm1, xmm4
cvtpd2ps xmm5, xmm0
movaps xmm0, xmm6
mulss xmm1, xmm4
mulss xmm0, xmm6
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
comiss xmm0, xmm5
jbe 0x100b4bbf
mov eax, dword [0x1010bbf8]
movss xmm3, dword [0x100d9b38]
add eax, 0xffffffdd
xor eax, 0x828e3e68
add eax, dword [0x100e4458]
divss xmm3, xmm0
movss xmm2, dword [eax + 4]
movss xmm0, dword [eax]
mulss xmm0, xmm0
mulss xmm2, xmm2
cvtps2pd xmm1, xmm5
addss xmm0, xmm2
addsd xmm1, qword [0x100d9b70]
call fcn.10019ad0
cvtss2sd xmm0, xmm0
comisd xmm0, xmm1
jb 0x100b48eb
mov dword [ecx + 0x24], 0
mov eax, dword [0x100e4830]
mov dword [eax + 0x28], 0
pop edi
pop esi
mov ecx, dword [esp + 0x2c]
xor ecx, esp
call fcn.100c9941
mov esp, ebp
pop ebp
ret
mulss xmm4, xmm3
mulss xmm3, xmm6
mulss xmm4, xmm5
mulss xmm3, xmm5
movss dword [ecx + 0x24], xmm4
mov eax, dword [0x100e4830]
movss dword [eax + 0x28], xmm3
pop edi
pop esi
mov ecx, dword [esp + 0x2c]
xor ecx, esp
call fcn.100c9941
mov esp, ebp
pop ebp
ret
lea eax, [edi - 0x23]
xor eax, 0x828e3e68
movq xmm0, qword [eax + esi]
mov eax, dword [eax + esi + 8]
movq qword [esp + 0x1c], xmm0
movss xmm3, dword [esp + 0x1c]
movss xmm4, dword [esp + 0x20]
mov dword [esp + 0x24], eax
movaps xmm1, xmm4
mov eax, dword [0x100e4830]
mulss xmm1, xmm4
movq xmm0, qword [eax + 0xc]
movq qword [esp + 0x28], xmm0
movaps xmm0, xmm3
mov eax, dword [eax + 0x14]
mulss xmm0, xmm3
mov dword [esp + 0x30], eax
addss xmm0, xmm1
call fcn.10019ad0
movaps xmm2, xmm0
xorps xmm1, xmm1
comiss xmm2, xmm1
movss xmm0, dword [esp + 0x24]
movss dword [esp + 0x10], xmm1
jbe 0x100b49bf
xorps xmm0, xmmword [0x100d9e20]
movaps xmm1, xmm2
call fcn.10019a60
mulss xmm0, dword [0x100d9c34]
movaps xmm1, xmm3
movss dword [esp + 0xc], xmm0
movaps xmm0, xmm4
call fcn.10019a60
mulss xmm0, dword [0x100d9c34]
movss dword [esp + 0x10], xmm0
jmp 0x100b49dc
comiss xmm0, xmm1
jbe 0x100b49ce
movss xmm0, dword [0x100d9d34]
jmp 0x100b49d6
movss xmm0, dword [0x100d9c5c]
movss dword [esp + 0xc], xmm0
mov ecx, dword [0x1010ba28]
lea edx, [esp + 0x28]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x48]
call eax
movss xmm0, dword [esp + 0xc]
mulss xmm0, dword [0x100d9a8c]
call fcn.10019a90
movss dword [esp + 0xc], xmm0
movss xmm0, dword [esp + 0x2c]
subss xmm0, dword [esp + 0x10]
mulss xmm0, dword [0x100d9a8c]
movss dword [esp + 0x10], xmm0
call fcn.10019a90
mulss xmm0, dword [esp + 0xc]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [esp + 0x10]
call fcn.10019ac0
mulss xmm0, dword [esp + 0xc]
mov ecx, dword [0x10110e94]
movss dword [esp + 0x14], xmm0
test cl, 1
jne 0x100b4ad8
or ecx, 1
mov dword [0x10110e94], ecx
mov eax, dword [0x1010ba24]
mov eax, dword [eax + 0x30]
mov dword [esp + 0xc], eax
test eax, eax
je 0x100b4abe
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x100b4a80
xor edx, edx
test ecx, ecx
je 0x100b4aad
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100b4a90
mov eax, dword [esp + 0xc]
cmp esi, 0x7939b3a7
je 0x100b4acb
mov eax, dword [eax + 4]
mov dword [esp + 0xc], eax
test eax, eax
jne 0x100b4a71
mov ecx, dword [0x10110e94]
xor eax, eax
mov dword [esp + 0xc], eax
mov dword [0x10110e90], eax
jmp 0x100b4ae1
mov ecx, dword [0x10110e94]
mov dword [0x10110e90], eax
jmp 0x100b4ae1
mov eax, dword [0x10110e90]
mov dword [esp + 0xc], eax
test cl, 2
jne 0x100b4b4f
or ecx, 2
mov dword [0x10110e94], ecx
mov eax, dword [0x1010ba24]
mov eax, dword [eax + 0x30]
mov dword [esp + 0x10], eax
test eax, eax
je 0x100b4b48
nop
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x100b4b10
xor edx, edx
test ecx, ecx
je 0x100b4b3d
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100b4b20
mov eax, dword [esp + 0x10]
cmp edi, 0xda6a172f
je 0x100b4b4a
mov eax, dword [eax + 4]
mov dword [esp + 0x10], eax
test eax, eax
jne 0x100b4b00
xor eax, eax
mov dword [0x10110e9c], eax
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [esp + 0x10], eax
call dword [esp + 0x10]
mov ecx, dword [0x10110e9c]
fstp dword [esp + 0x10]
movss xmm0, dword [esp + 0x10]
xorps xmm0, xmmword [0x100d9e20]
mov eax, dword [ecx]
movss dword [esp + 0xc], xmm0
mov eax, dword [eax + 0x30]
mov dword [esp + 0x10], eax
call dword [esp + 0x10]
movss xmm1, dword [esp + 0x18]
mov eax, dword [0x100e4830]
fmul dword [esp + 0x14]
mulss xmm1, dword [esp + 0xc]
movss dword [eax + 0x24], xmm1
mov eax, dword [0x100e4830]
fstp dword [esp + 0x14]
movss xmm0, dword [esp + 0x14]
xorps xmm0, xmmword [0x100d9e20]
movss dword [eax + 0x28], xmm0
mov ecx, dword [esp + 0x34]
pop edi
pop esi
xor ecx, esp
call fcn.100c9941
mov esp, ebp
pop ebp
ret