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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [0x100d8040]
xor eax, ebp
mov dword [ebp - 4], eax
cmp byte [0x100d82ac], 0
push ebx
push esi
push edi
je 0x100b4c42
mov eax, dword [0x1023e470]
test al, 1
jne 0x100b46ec
or eax, 1
mov dword [0x1023e470], eax
mov ebx, dword [0x10239150]
mov ebx, dword [ebx + 0x30]
test ebx, ebx
je 0x100b46d5
nop
mov edi, dword [ebx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x100b46a0
xor edx, edx
test ecx, ecx
je 0x100b46c9
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100b46b0
cmp esi, 0xa0f6f854
je 0x100b46df
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x100b4690
mov eax, dword [0x1023e470]
xor ebx, ebx
mov dword [0x1023e33c], ebx
jmp 0x100b46f2
mov eax, dword [0x1023e470]
mov dword [0x1023e33c], ebx
jmp 0x100b46f2
mov ebx, dword [0x1023e33c]
test al, 2
jne 0x100b475d
or eax, 2
mov dword [0x1023e470], eax
mov eax, dword [0x10239150]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x100b4756
nop dword [eax]
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x100b4720
xor edx, edx
test ecx, ecx
je 0x100b474c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100b4730
mov eax, dword [ebp - 0x10]
cmp esi, 0x7ac0d5a
je 0x100b4758
mov eax, dword [eax + 4]
mov dword [ebp - 0x10], eax
test eax, eax
jne 0x100b4710
xor eax, eax
mov dword [0x1023e46c], eax
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x34]
call eax
mov ecx, dword [0x1023e46c]
xor edx, edx
test eax, eax
setne dl
mov esi, dword [ecx]
push edx
mov eax, dword [esi + 0x40]
call eax
mov eax, dword [0x102391b4]
movss xmm0, dword [eax]
mulss xmm0, dword [0x100e66dc]
movss dword [ebp - 0x10], xmm0
call fcn.10023b80
movss xmm2, dword [0x100cdf34]
movaps xmm3, xmm0
mulss xmm3, dword [0x100cde4c]
movss xmm1, dword [0x100cdf2c]
addss xmm3, dword [0x100cdee0]
andps xmm2, xmm3
movaps xmm0, xmm3
xorps xmm0, xmm2
movaps xmm4, xmm3
cmpltss xmm0, xmm1
andps xmm1, xmm0
orps xmm1, xmm2
addss xmm4, xmm1
subss xmm4, xmm1
movss xmm1, dword [0x100cdd30]
movaps xmm0, xmm4
subss xmm0, xmm3
cmpnless xmm0, xmm2
andps xmm0, xmm1
subss xmm4, xmm0
movss xmm0, dword [ebp - 0x10]
addss xmm0, dword [0x100cdd8c]
movss dword [ebp - 0x18], xmm4
call fcn.10023b80
movss xmm2, dword [0x100cdf34]
movaps xmm3, xmm0
mulss xmm3, dword [0x100cde4c]
movss xmm1, dword [0x100cdf2c]
addss xmm3, dword [0x100cdee0]
andps xmm2, xmm3
movaps xmm0, xmm3
xorps xmm0, xmm2
movaps xmm4, xmm3
cmpltss xmm0, xmm1
andps xmm1, xmm0
movss xmm0, dword [0x100cdd30]
orps xmm1, xmm2
addss xmm4, xmm1
subss xmm4, xmm1
movaps xmm1, xmm4
subss xmm1, xmm3
cmpnless xmm1, xmm2
andps xmm1, xmm0
movss xmm0, dword [ebp - 0x10]
addss xmm0, dword [0x100cddfc]
subss xmm4, xmm1
movss dword [ebp - 0x14], xmm4
call fcn.10023b80
movss xmm3, dword [0x100cdf34]
movaps xmm1, xmm0
mulss xmm1, dword [0x100cde4c]
movss xmm2, dword [0x100cdf2c]
addss xmm1, dword [0x100cdee0]
andps xmm3, xmm1
movaps xmm0, xmm1
xorps xmm0, xmm3
movaps xmm4, xmm1
cmpltss xmm0, xmm2
andps xmm2, xmm0
orps xmm2, xmm3
addss xmm4, xmm2
subss xmm4, xmm2
movaps xmm0, xmm4
subss xmm0, xmm1
cmp dword [0x100d82a8], 0
cmpnless xmm0, xmm3
movss xmm1, dword [0x100cdd30]
andps xmm0, xmm1
subss xmm4, xmm0
movss dword [ebp - 0x10], xmm4
je 0x100b4910
cmp byte [0x100e637c], 0
je 0x100b4910
mov ecx, dword [0x10239154]
mov eax, dword [ecx]
mov eax, dword [eax + 0x68]
call eax
test al, al
je 0x100b4910
mov eax, dword [0x1023e070]
mov ecx, dword [0x1023e06c]
jmp 0x100b492a
mov ecx, dword [0x1023e06c]
mov eax, dword [0x1023e070]
cmp ecx, eax
je 0x100b4c42
mov eax, ecx
mov dword [0x1023e070], eax
cmp ecx, eax
je 0x100b4c42
cmp dword [0x10239180], 0
je 0x100b4c42
mov ecx, dword [0x10239184]
mov eax, dword [ecx]
mov eax, dword [eax + 0x1cc]
call eax
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x100b4c42
mov esi, dword [0x1023e06c]
mov edi, dword [0x1023e070]
cmp esi, edi
je 0x100b4c42
lea ebx, [esi + 0x1898]
xorps xmm3, xmm3
nop word [eax + eax]
cmp dword [esi + 0x54], 0
je 0x100b4c2e
cmp dword [esi + 0x50], 0
je 0x100b4c2e
cmp dword [esi + 0x48], 0
je 0x100b4c2e
cmp dword [esi + 0x4c], 0
je 0x100b4c2e
cmp dword [esi + 0x1c], 0
je 0x100b4c2e
cmp dword [esi + 0x24], 0
je 0x100b4c2e
cmp dword [esi + 0x20], 0
je 0x100b4c2e
mov eax, dword [0x102391b4]
movss xmm2, dword [0x100cdd30]
movaps xmm1, xmm2
movss xmm0, dword [eax]
subss xmm0, dword [esi + 0x1864]
comiss xmm0, xmm3
jbe 0x100b4b5b
comiss xmm0, xmm2
subss xmm1, xmm0
jbe 0x100b4b5b
cmp ebx, edi
je 0x100b4b4a
lea ecx, [esi + 0x18b0]
nop word [eax + eax]
mov eax, dword [ecx - 0x18]
mov edx, 0x80
mov dword [ecx - 0x18b0], eax
mov eax, dword [ecx - 0x14]
mov dword [ecx - 0x18ac], eax
mov eax, dword [ecx - 0x10]
mov dword [ecx - 0x18a8], eax
mov eax, dword [ecx - 0xc]
mov dword [ecx - 0x18a4], eax
mov eax, dword [ecx - 8]
mov dword [ecx - 0x18a0], eax
mov eax, dword [ecx - 4]
mov dword [ecx - 0x189c], eax
mov eax, dword [ecx]
mov dword [ecx - 0x1898], eax
mov eax, dword [ecx + 4]
mov dword [ecx - 0x1894], eax
mov eax, dword [ecx + 8]
mov dword [ecx - 0x1890], eax
mov eax, dword [ecx + 0xc]
mov dword [ecx - 0x188c], eax
mov eax, dword [ecx + 0x10]
mov dword [ecx - 0x1888], eax
mov eax, dword [ecx + 0x14]
mov dword [ecx - 0x1884], eax
mov eax, dword [ecx + 0x18]
mov dword [ecx - 0x1880], eax
mov eax, dword [ecx + 0x1c]
mov dword [ecx - 0x187c], eax
mov eax, dword [ecx + 0x20]
mov dword [ecx - 0x1878], eax
mov eax, dword [ecx + 0x24]
mov dword [ecx - 0x1874], eax
mov eax, dword [ecx + 0x28]
mov dword [ecx - 0x1870], eax
mov ax, word [ecx + 0x2c]
mov word [ecx - 0x186c], ax
movups xmm0, xmmword [ecx + 0x30]
movups xmmword [ecx - 0x1868], xmm0
movq xmm0, qword [ecx + 0x40]
movq qword [ecx - 0x1858], xmm0
mov eax, dword [ecx + 0x48]
mov dword [ecx - 0x1850], eax
lea eax, [ecx - 0x184c]
nop
lea eax, [eax + 0x30]
movups xmm0, xmmword [eax + 0x1868]
movups xmmword [eax - 0x30], xmm0
movups xmm0, xmmword [eax + 0x1878]
movups xmmword [eax - 0x20], xmm0
movups xmm0, xmmword [eax + 0x1888]
movups xmmword [eax - 0x10], xmm0
sub edx, 1
jne 0x100b4ae0
mov eax, dword [ecx + 0x184c]
mov dword [ecx - 0x4c], eax
movups xmm0, xmmword [ecx + 0x1850]
movups xmmword [ecx - 0x48], xmm0
movups xmm0, xmmword [ecx + 0x1860]
movups xmmword [ecx - 0x38], xmm0
movups xmm0, xmmword [ecx + 0x1870]
movups xmmword [ecx - 0x28], xmm0
add ecx, 0x1898
lea eax, [ecx - 0x18]
cmp eax, edi
jne 0x100b4a10
mov edi, dword [0x1023e070]
sub edi, 0x1898
mov dword [0x1023e070], edi
jmp 0x100b4c3a
mov ecx, dword [0x10239178]
movss xmm0, dword [0x100e6564]
mulss xmm0, dword [0x100cdc30]
mov edi, dword [0x100e64c0]
mov eax, dword [ecx]
push ecx
mulss xmm0, xmm1
mov eax, dword [eax + 0x10]
movss dword [esp], xmm0
call eax
push 4
push dword [0x100e4668]
push dword [0x100e4664]
call fcn.100b90d0
push 1
cmp eax, dword [0x100e4668]
je 0x100b4bd0
cvttss2si eax, dword [ebp - 0x10]
movzx ecx, al
cvttss2si eax, dword [ebp - 0x14]
or ecx, 0xffffff00
shl ecx, 8
movzx eax, al
or ecx, eax
cvttss2si eax, dword [ebp - 0x18]
shl ecx, 8
movzx eax, al
or ecx, eax
push ecx
jmp 0x100b4bd1
push edi
mov ecx, dword [0x100e6430]
mov eax, dword [0x10236b50]
push dword [eax + ecx*4]
call fcn.10032280
mov ecx, dword [0x10239180]
lea eax, [esi + 0x64]
push eax
lea eax, [esi + 4]
push eax
lea eax, [esi + 0x48]
push eax
mov eax, dword [ecx]
push dword [ebp - 0x1c]
mov eax, dword [eax + 0x54]
call eax
mov ecx, dword [0x10239180]
lea edx, [ebp - 8]
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
push edx
mov eax, dword [ecx]
lea edx, [ebp - 0xc]
push edx
push 0
mov eax, dword [eax + 4]
call eax
mov edi, dword [0x1023e070]
xorps xmm3, xmm3
add esi, 0x1898
add ebx, 0x1898
cmp esi, edi
jne 0x100b4980
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100b92dc
mov esp, ebp
pop ebp
ret