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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov eax, 0x1890
call fcn.100f1fd0
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x14], 0x100daf20
mov edx, dword fs:[0]
mov dword [ebp - 0x18], edx
mov dword fs:[0], ecx
dec eax
cmp eax, 0x40
jae 0x100cbb54
mov esi, dword [ebp + 8]
mov ecx, dword [0x1012d330]
imul eax, eax, 0x1b98
cmp dword [ecx + eax + 0x1b88], 1
jbe 0x100cb930
lea edx, [ecx + eax]
mov dword [ebp - 0x5c], edx
lea edi, [ecx + eax]
add edi, 0x1b78
mov eax, dword [0x1012d320]
mov ecx, dword [eax + 0x12c]
mov eax, dword [ecx]
call dword [eax + 0x30]
fstp dword [ebp - 0x7c]
vmovss xmm0, dword [ebp - 0x7c]
vmovups xmmword [ebp - 0x48], xmm0
mov ecx, dword [0x1012d368]
mov eax, dword [ecx]
call dword [eax + 0x138]
mov esi, eax
mov eax, dword [eax]
mov ecx, esi
push 0
call dword [eax + 0x28]
fstp dword [ebp - 0x78]
vmovss xmm0, dword [ebp - 0x78]
vmovss dword [ebp - 0x28], xmm0
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax + 0x28]
fstp dword [ebp - 0x74]
vmovss xmm0, dword [ebp - 0x28]
vaddss xmm0, xmm0, dword [ebp - 0x74]
vxorps xmm1, xmm1, xmm1
vmaxss xmm1, xmm1, xmm0
vmovups xmm2, xmmword [ebp - 0x48]
vcmpltss xmm0, xmm2, xmm0
vblendvps xmm0, xmm1, xmm2, xmm0
mov eax, dword [0x1012d320]
vaddss xmm0, xmm0, dword [eax + 0x17c]
vmovss dword [ebp - 0x58], xmm0
mov eax, dword [edi]
mov dword [ebp - 0x2c], eax
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0x48], eax
add ecx, eax
mov dword [ebp - 0x28], ecx
vbroadcastss xmm0, dword [0x100f550c]
vmovups xmmword [ebp - 0x9c], xmm0
nop word cs:[eax + eax]
mov esi, dword [ebp - 0x48]
cmp esi, dword [ebp - 0x28]
je 0x100cb92d
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov ecx, esi
shr ecx, 1
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
dec eax
and eax, ecx
mov ecx, esi
and ecx, 1
mov eax, dword [edx + eax*4]
mov edi, dword [eax + ecx*8]
inc esi
mov dword [ebp - 0x48], esi
test edi, edi
je 0x100cb460
vmovss xmm0, dword [edi + 0x24]
vmovss dword [ebp - 0x20], xmm0
mov esi, dword [0x1012d320]
mov ecx, dword [esi + 0x12c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x10], 0xffffffff
call eax
fstp dword [ebp - 0x70]
vmovss xmm2, dword [ebp - 0x70]
vmovss xmm0, dword [esi + 0x17c]
vmovss xmm1, dword [esi + 0x180]
vmovss xmm3, dword [esi + 0x184]
mov eax, dword [0x1012d35c]
mov ecx, dword [eax]
mov eax, dword [0x1012d4a4]
test al, 1
je 0x100cb673
mov ebx, dword [0x1012d4a0]
vaddss xmm0, xmm0, xmm1
vaddss xmm0, xmm0, xmm3
vxorps xmm1, xmm1, xmm1
vmaxss xmm1, xmm1, xmm0
vcmpltss xmm0, xmm2, xmm0
vblendvps xmm0, xmm1, xmm2, xmm0
mov eax, dword [ebx + 4]
mov eax, dword [eax + ecx]
mov ecx, dword [0x1012d328]
mov ecx, dword [ecx + 0x24]
mov edx, ecx
sar edx, 0x1f
andn ecx, edx, ecx
sub eax, ecx
vcvtsi2ss xmm1, xmm4, eax
mov eax, dword [0x1012d364]
vmovss xmm2, dword [eax + 0x20]
vmulss xmm1, xmm2, xmm1
vsubss xmm1, xmm1, dword [ebp - 0x20]
vsubss xmm0, xmm0, xmm1
vandps xmm0, xmm0, xmmword [ebp - 0x9c]
vucomiss xmm0, dword [0x100f5630]
ja 0x100cb460
mov eax, dword [0x1012d32c]
cmp byte [eax + 0x40], 0
vmovss dword [ebp - 0x24], xmm2
je 0x100cb57f
mov eax, dword [0x1012d370]
mov esi, 0xf
sub esi, dword [eax + 0x4d30]
mov dword [ebp - 0x10], 0xffffffff
jmp 0x100cb581
xor esi, esi
mov eax, dword [0x1012d320]
vmovss xmm0, dword [edi + 0x24]
vmovss dword [ebp - 0x20], xmm0
add esi, dword [eax + 0x188]
mov ecx, dword [eax + 0x12c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x10], 0xffffffff
call eax
fstp dword [ebp - 0x6c]
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x48], eax
vmovss xmm1, dword [ebp - 0x24]
je 0x100cb460
vcvtsi2ss xmm0, xmm4, esi
vmulss xmm0, xmm1, xmm0
vsubss xmm0, xmm0, dword [ebp - 0x6c]
vcvttps2dq xmm0, xmm0
vcvtdq2ps xmm0, xmm0
vmovss xmm1, dword [ebp - 0x20]
vucomiss xmm1, xmm0
jb 0x100cb460
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov edx, dword [ebp - 0x48]
mov esi, edx
shr esi, 1
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
dec eax
and eax, esi
mov eax, dword [ecx + eax*4]
and edx, 1
cmp dword [eax + edx*8], 0
je 0x100cb460
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax]
mov eax, dword [0x10132ba8]
test al, 1
je 0x100cb7de
mov ebx, dword [0x10132ba4]
mov eax, dword [ebx + 4]
vmovss xmm0, dword [edi + 0x68]
vsubss xmm1, xmm0, dword [eax + ecx + 8]
vmovss xmm0, dword [edi + 0x64]
vsubss xmm2, xmm0, dword [eax + ecx + 4]
vmovss xmm0, dword [edi + 0x60]
vsubss xmm3, xmm0, dword [eax + ecx]
vmulss xmm2, xmm2, xmm2
vfmadd231ss xmm2, xmm3, xmm3
vfmadd231ss xmm2, xmm1, xmm1
vcvtss2sd xmm1, xmm2, xmm2
vsqrtsd xmm1, xmm1, xmm1
vcvtsd2ss xmm1, xmm1, xmm1
vmovss xmm2, dword [0x100f54d0]
vucomiss xmm2, xmm1
ja 0x100cb460
jmp 0x100cb94f
vmovss dword [ebp - 0x4c], xmm3
vmovss dword [ebp - 0x50], xmm1
vmovss dword [ebp - 0x54], xmm0
mov dword [ebp - 0x30], ecx
vmovups xmmword [ebp - 0x8c], xmm2
mov dword [ebp - 0x38], edi
or eax, 1
mov dword [0x1012d4a4], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x10], 0
lea ecx, [ebp - 0x189c]
push str.CBasePlayer__m_nTickBase
call fcn.100083b0
cmp dword [ebp - 0x1888], 0x10
lea eax, [ebp - 0x189c]
mov dword [ebp - 0x24], eax
jb 0x100cb6d2
mov eax, dword [ebp - 0x189c]
mov dword [ebp - 0x24], eax
mov edi, dword [ebp - 0x188c]
test edi, edi
je 0x100cb6ea
cmp edi, 4
jae 0x100cb6f1
mov eax, 0x811c9dc5
xor ecx, ecx
jmp 0x100cb73a
mov eax, 0x811c9dc5
jmp 0x100cb757
mov edx, edi
and edx, 0xfffffffc
mov eax, 0x811c9dc5
xor ecx, ecx
mov ebx, dword [ebp - 0x24]
movzx esi, byte [ebx + ecx]
xor esi, eax
imul eax, esi, 0x1000193
movzx esi, byte [ebx + ecx + 1]
xor esi, eax
imul eax, esi, 0x1000193
movzx esi, byte [ebx + ecx + 2]
xor esi, eax
imul eax, esi, 0x1000193
movzx esi, byte [ebx + ecx + 3]
xor esi, eax
imul eax, esi, 0x1000193
add ecx, 4
cmp edx, ecx
jne 0x100cb700
mov edx, edi
and edx, 3
je 0x100cb757
add ecx, dword [ebp - 0x24]
xor esi, esi
movzx ebx, byte [ecx + esi]
xor ebx, eax
imul eax, ebx, 0x1000193
inc esi
cmp edx, esi
jne 0x100cb746
mov edx, dword [ebp - 0x34]
and eax, dword [edx + 0x18]
mov ecx, dword [edx + 0xc]
mov ebx, dword [ecx + eax*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100cbb79
add eax, eax
mov esi, dword [ecx + eax*4]
cmp edi, dword [ebx + 0x18]
jne 0x100cb796
cmp dword [ebx + 0x1c], 0x10
jb 0x100cb782
mov eax, dword [ebx + 8]
jmp 0x100cb785
lea eax, [ebx + 8]
push edi
push eax
push dword [ebp - 0x24]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100cb7a8
cmp ebx, esi
je 0x100cbb79
mov ebx, dword [ebx + 4]
cmp edi, dword [ebx + 0x18]
je 0x100cb777
jmp 0x100cb796
add ebx, 0x20
lea ecx, [ebp - 0x189c]
call fcn.100029d0
mov dword [0x1012d4a0], ebx
mov edi, dword [ebp - 0x38]
vmovups xmm2, xmmword [ebp - 0x8c]
mov ecx, dword [ebp - 0x30]
vmovss xmm0, dword [ebp - 0x54]
vmovss xmm1, dword [ebp - 0x50]
vmovss xmm3, dword [ebp - 0x4c]
jmp 0x100cb4ef
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x38], edi
or eax, 1
mov dword [0x10132ba8], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], 2
lea ecx, [ebp - 0x189c]
push str.CBaseEntity__m_vecOrigin
call fcn.100083b0
cmp dword [ebp - 0x1888], 0x10
lea eax, [ebp - 0x189c]
mov dword [ebp - 0x20], eax
jb 0x100cb82f
mov eax, dword [ebp - 0x189c]
mov dword [ebp - 0x20], eax
mov edi, dword [ebp - 0x188c]
test edi, edi
je 0x100cb847
cmp edi, 4
jae 0x100cb84e
mov eax, 0x811c9dc5
xor ecx, ecx
jmp 0x100cb897
mov eax, 0x811c9dc5
jmp 0x100cb8b4
mov edx, edi
and edx, 0xfffffffc
mov eax, 0x811c9dc5
xor ecx, ecx
mov ebx, dword [ebp - 0x20]
movzx esi, byte [ebx + ecx]
xor esi, eax
imul eax, esi, 0x1000193
movzx esi, byte [ebx + ecx + 1]
xor esi, eax
imul eax, esi, 0x1000193
movzx esi, byte [ebx + ecx + 2]
xor esi, eax
imul eax, esi, 0x1000193
movzx esi, byte [ebx + ecx + 3]
xor esi, eax
imul eax, esi, 0x1000193
add ecx, 4
cmp edx, ecx
jne 0x100cb85a
mov edx, edi
and edx, 3
je 0x100cb8b4
add ecx, dword [ebp - 0x20]
xor esi, esi
movzx ebx, byte [ecx + esi]
xor ebx, eax
imul eax, ebx, 0x1000193
inc esi
cmp edx, esi
jne 0x100cb8a3
mov edx, dword [ebp - 0x24]
and eax, dword [edx + 0x18]
mov ecx, dword [edx + 0xc]
mov ebx, dword [ecx + eax*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100cbb65
add eax, eax
mov esi, dword [ecx + eax*4]
cmp edi, dword [ebx + 0x18]
jne 0x100cb8f3
cmp dword [ebx + 0x1c], 0x10
jb 0x100cb8df
mov eax, dword [ebx + 8]
jmp 0x100cb8e2
lea eax, [ebx + 8]
push edi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100cb905
cmp ebx, esi
je 0x100cbb65
mov ebx, dword [ebx + 4]
cmp edi, dword [ebx + 0x18]
je 0x100cb8d4
jmp 0x100cb8f3
add ebx, 0x20
lea ecx, [ebp - 0x189c]
call fcn.100029d0
mov dword [0x10132ba4], ebx
mov edi, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x30]
jmp 0x100cb61f
mov esi, dword [ebp + 8]
mov byte [esi + 0x1800], 0
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
mov eax, esi
add esp, 0x1890
pop esi
pop edi
pop ebx
pop ebp
ret 8
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
dec eax
and eax, esi
mov eax, dword [ecx + eax*4]
mov eax, dword [eax + edx*8]
vmovss xmm2, dword [eax + 0x24]
vmovss xmm1, dword [eax + 0x60]
vmovss xmm3, dword [eax + 0x64]
vmovss dword [ebp - 0x20], xmm3
vmovss xmm3, dword [eax + 0x68]
vmovss dword [ebp - 0x28], xmm3
vmovss xmm3, dword [edi + 0x24]
vsubss xmm2, xmm2, xmm3
vaddss xmm3, xmm3, dword [ebp - 0x58]
vaddss xmm3, xmm3, xmm2
mov eax, dword [0x1012d364]
vsubss xmm3, xmm3, dword [eax + 0x10]
vmovss xmm4, dword [0x100f54d0]
vdivss xmm2, xmm4, xmm2
vmulss xmm2, xmm2, xmm3
vxorps xmm3, xmm3, xmm3
vmaxss xmm3, xmm3, xmm2
vcmpltss xmm2, xmm4, xmm2
vbroadcastss xmm4, dword [0x100f54d0]
vblendvps xmm2, xmm3, xmm4, xmm2
vmovups xmmword [ebp - 0x48], xmm2
sub esp, 0xc
vmovss dword [esp + 4], xmm0
vmovss dword [esp], xmm1
vmovss dword [esp + 8], xmm2
call fcn.100d9bd0
add esp, 0xc
fstp dword [ebp - 0x68]
vmovss xmm0, dword [ebp - 0x68]
vmovss dword [ebp - 0x2c], xmm0
vmovss xmm0, dword [edi + 0x64]
sub esp, 0xc
vmovups xmm1, xmmword [ebp - 0x48]
vmovss dword [esp + 8], xmm1
vmovss dword [esp + 4], xmm0
vmovss xmm0, dword [ebp - 0x20]
vmovss dword [esp], xmm0
call fcn.100d9bd0
add esp, 0xc
fstp dword [ebp - 0x64]
vmovss xmm0, dword [ebp - 0x64]
vmovss dword [ebp - 0x20], xmm0
vmovss xmm0, dword [edi + 0x68]
sub esp, 0xc
vmovups xmm1, xmmword [ebp - 0x48]
vmovss dword [esp + 8], xmm1
vmovss dword [esp + 4], xmm0
vmovss xmm0, dword [ebp - 0x28]
vmovss dword [esp], xmm0
call fcn.100d9bd0
add esp, 0xc
fstp dword [ebp - 0x60]
mov eax, dword [edi + 0x14]
cmp eax, 3
jae 0x100cbb59
vmovss xmm0, dword [ebp - 0x60]
vmovss dword [ebp - 0x48], xmm0
imul eax, eax, 0x1b50
add eax, edi
add eax, 0x35c
lea esi, [ebp - 0x189c]
push 0x1800
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
vmovss xmm0, dword [ebp - 0x48]
vsubss xmm0, xmm0, dword [edi + 0x68]
vmovss xmm1, dword [ebp - 0x20]
vsubss xmm1, xmm1, dword [edi + 0x64]
vmovss xmm2, dword [ebp - 0x2c]
vsubss xmm2, xmm2, dword [edi + 0x60]
mov eax, 0x5c
nop dword [eax + eax]
vaddss xmm3, xmm2, dword [ebp + eax - 0x18ec]
vmovss dword [ebp + eax - 0x18ec], xmm3
vaddss xmm3, xmm1, dword [ebp + eax - 0x18dc]
vmovss dword [ebp + eax - 0x18dc], xmm3
vaddss xmm3, xmm0, dword [ebp + eax - 0x18cc]
vmovss dword [ebp + eax - 0x18cc], xmm3
vaddss xmm3, xmm2, dword [ebp + eax - 0x18bc]
vmovss dword [ebp + eax - 0x18bc], xmm3
vaddss xmm3, xmm1, dword [ebp + eax - 0x18ac]
vmovss dword [ebp + eax - 0x18ac], xmm3
vaddss xmm3, xmm0, dword [ebp + eax - 0x189c]
vmovss dword [ebp + eax - 0x189c], xmm3
add eax, 0x60
cmp eax, 0x185c
jne 0x100cbac0
push 0x1800
push esi
mov esi, dword [ebp + 8]
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + 0x1800], 1
jmp 0x100cb937
call fcn.1007cfb0
mov dword [ebp - 0x10], 0xffffffff
call fcn.1007cfb0
mov dword [ebp - 0x10], 3
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [ebp - 0x10], 1
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
nop dword [eax]
push ebp
sub esp, 0xc
add ebp, 0xc
lea ecx, [ebp - 0x189c]
call fcn.100029d0
add esp, 0xc
pop ebp
ret