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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x3c
mov eax, dword [0x1017f528]
xor eax, esp
mov dword [esp + 0x38], eax
mov eax, dword [0x10184dfc]
test al, 1
je 0x100ace73
mov ebp, dword [0x10184df8]
mov edi, dword [esp + 0x50]
mov eax, dword [ebp + 4]
vmovss xmm0, dword [eax + edi]
vmovss dword [esp + 8], xmm0
vmovss xmm0, dword [eax + edi + 4]
vmovss dword [esp + 0x14], xmm0
vmovss xmm0, dword [eax + edi + 8]
vmovss dword [esp + 4], xmm0
mov ecx, dword [0x1017f614]
mov eax, dword [ecx]
call dword [eax + 0x94]
mov esi, eax
call fcn.10021450
vmovss xmm4, dword [esp + 4]
vmovss xmm1, dword [esp + 0x14]
vmulss xmm0, xmm1, dword [esi + 0x14]
vmovss xmm2, dword [esp + 8]
vfmadd231ss xmm0, xmm2, dword [esi + 0x10]
vfmadd231ss xmm0, xmm4, dword [esi + 0x18]
vaddss xmm0, xmm0, dword [esi + 0x1c]
vmulss xmm1, xmm1, dword [esi + 0x34]
vfmadd231ss xmm1, xmm2, dword [esi + 0x30]
vfmadd231ss xmm1, xmm4, dword [esi + 0x38]
vaddss xmm1, xmm1, dword [esi + 0x3c]
vmovss xmm2, dword [0x10134d2c]
vucomiss xmm2, xmm1
vmovss dword [esp + 0x1c], xmm1
jbe 0x100acce0
vmulss xmm0, xmm0, dword [0x10134d30]
jmp 0x100acd01
vdivss xmm0, xmm0, xmm1
vmovss xmm1, dword [eax + 0xc]
vmovss xmm2, dword [0x10129738]
vmulss xmm3, xmm1, xmm2
vmulss xmm0, xmm0, xmm1
vmulss xmm0, xmm0, xmm2
vsubss xmm0, xmm3, xmm0
vmovss dword [esp + 0x10], xmm0
mov eax, dword [0x10184e0c]
test al, 1
je 0x100acec0
mov ebp, dword [0x10184e08]
mov ebx, dword [esp + 0x54]
mov eax, dword [ebp + 4]
vaddss xmm0, xmm4, dword [eax + edi + 8]
vmovss dword [esp + 4], xmm0
mov ecx, dword [0x1017f614]
mov eax, dword [ecx]
call dword [eax + 0x94]
mov esi, eax
call fcn.10021450
vmovss xmm2, dword [esp + 0x14]
vmulss xmm0, xmm2, dword [esi + 4]
vmovss xmm3, dword [esp + 8]
vfmadd231ss xmm0, xmm3, dword [esi]
vmovss xmm4, dword [esp + 4]
vfmadd231ss xmm0, xmm4, dword [esi + 8]
vaddss xmm0, xmm0, dword [esi + 0xc]
vmovss dword [ebx], xmm0
vmulss xmm1, xmm2, dword [esi + 0x14]
vfmadd231ss xmm1, xmm3, dword [esi + 0x10]
vfmadd231ss xmm1, xmm4, dword [esi + 0x18]
vaddss xmm1, xmm1, dword [esi + 0x1c]
vmovss dword [ebx + 4], xmm1
vmulss xmm2, xmm2, dword [esi + 0x34]
vfmadd231ss xmm2, xmm3, dword [esi + 0x30]
vfmadd231ss xmm2, xmm4, dword [esi + 0x38]
vaddss xmm2, xmm2, dword [esi + 0x3c]
vmovss xmm3, dword [0x10134d2c]
vucomiss xmm3, xmm2
jbe 0x100acdd4
vucomiss xmm3, dword [esp + 0x1c]
vmovss xmm2, dword [0x10134d30]
vmulss xmm0, xmm0, xmm2
vmovss dword [ebx], xmm0
vmulss xmm1, xmm1, xmm2
vmovss dword [ebx + 4], xmm1
jbe 0x100ace26
xor ebx, ebx
jmp 0x100ace5c
vinsertps xmm0, xmm0, xmm1, 0x10
vbroadcastss xmm1, xmm2
vdivps xmm1, xmm0, xmm1
vmovlps qword [ebx], xmm1
vmovss xmm0, dword [eax + 8]
vmovss xmm2, dword [0x10129738]
vmulss xmm3, xmm0, xmm2
vmulss xmm0, xmm1, xmm0
vmulss xmm0, xmm0, xmm2
vaddss xmm0, xmm3, xmm0
vmovss dword [ebx], xmm0
vmovss xmm3, dword [eax + 0xc]
vmulss xmm4, xmm3, xmm2
vmovshdup xmm1, xmm1
vmulss xmm1, xmm1, xmm3
vmulss xmm1, xmm1, xmm2
vsubss xmm1, xmm4, xmm1
vmovss dword [ebx + 4], xmm1
vmovss xmm2, dword [esp + 0x10]
vsubss xmm1, xmm2, xmm1
vaddss xmm1, xmm1, dword [0x10129788]
vmovss dword [ebx + 0xc], xmm1
vmovss xmm2, dword [0x10129738]
vmulss xmm1, xmm1, xmm2
vmovss dword [ebx + 8], xmm1
vmulss xmm1, xmm1, xmm2
vsubss xmm0, xmm0, xmm1
vmovss dword [ebx], xmm0
mov bl, 1
mov ecx, dword [esp + 0x38]
xor ecx, esp
call fcn.100d7fe0
mov eax, ebx
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
ret 8
or eax, 1
mov dword [0x10184dfc], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 8], eax
lea esi, [esp + 0x20]
mov ecx, esi
push str.CBaseEntity__m_vecOrigin
call fcn.10005ce0
mov edi, dword [esp + 0x30]
cmp dword [esp + 0x34], 0x10
jb 0x100acea3
mov esi, dword [esp + 0x20]
test edi, edi
je 0x100acf19
lea ecx, [edi - 1]
mov eax, edi
and eax, 3
cmp ecx, 3
jae 0x100acf2a
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100acf70
or eax, 1
mov dword [0x10184e0c], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0x18], eax
lea ecx, [esp + 0x20]
mov dword [esp], ecx
push str.CBaseEntity__m_vecMaxs
call fcn.10005ce0
mov ebx, dword [esp + 0x30]
cmp dword [esp + 0x34], 0x10
jb 0x100acef4
mov eax, dword [esp + 0x20]
mov dword [esp], eax
test ebx, ebx
je 0x100acf20
lea ecx, [ebx - 1]
mov eax, ebx
and eax, 3
mov dword [esp + 0xc], eax
cmp ecx, 3
jae 0x100acff0
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ad039
mov ecx, 0x811c9dc5
jmp 0x100acf89
mov ecx, 0x811c9dc5
jmp 0x100ad058
mov ebp, edi
and ebp, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
movzx ebx, byte [esi + edx]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [esi + edx + 1]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [esi + edx + 2]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [esi + edx + 3]
xor ebx, ecx
imul ecx, ebx, 0x1000193
add edx, 4
cmp ebp, edx
jne 0x100acf36
test eax, eax
je 0x100acf89
add edx, esi
xor ebp, ebp
movzx ebx, byte [edx + ebp]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc ebp
cmp eax, ebp
jne 0x100acf78
mov edx, dword [esp + 8]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebp, dword [eax + ecx*8 + 4]
cmp ebp, dword [edx + 4]
je 0x100ad0c0
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp edi, dword [ebp + 0x18]
jne 0x100acfc7
cmp dword [ebp + 0x1c], 0x10
jb 0x100acfb5
mov eax, dword [ebp + 8]
jmp 0x100acfb8
lea eax, [ebp + 8]
push edi
push eax
push esi
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100acfd9
cmp ebp, ebx
je 0x100ad0c0
mov ebp, dword [ebp + 4]
cmp edi, dword [ebp + 0x18]
je 0x100acfaa
jmp 0x100acfc7
add ebp, 0x20
lea ecx, [esp + 0x20]
call fcn.100026e0
mov dword [0x10184df8], ebp
jmp 0x100acc45
mov esi, ebx
and esi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esp]
movzx ebp, byte [eax + edx]
xor ebp, ecx
imul ecx, ebp, 0x1000193
movzx ebp, byte [eax + edx + 1]
xor ebp, ecx
imul ecx, ebp, 0x1000193
movzx ebp, byte [eax + edx + 2]
xor ebp, ecx
imul ecx, ebp, 0x1000193
movzx ebp, byte [eax + edx + 3]
xor ebp, ecx
imul ecx, ebp, 0x1000193
add edx, 4
cmp esi, edx
jne 0x100acfff
cmp dword [esp + 0xc], 0
je 0x100ad058
add edx, dword [esp]
xor esi, esi
movzx ebp, byte [edx + esi]
xor ebp, ecx
imul ecx, ebp, 0x1000193
inc esi
cmp dword [esp + 0xc], esi
jne 0x100ad045
mov edx, dword [esp + 0x18]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebp, dword [eax + ecx*8 + 4]
cmp ebp, dword [edx + 4]
je 0x100ad0c0
add ecx, ecx
mov esi, dword [eax + ecx*4]
cmp ebx, dword [ebp + 0x18]
jne 0x100ad095
cmp dword [ebp + 0x1c], 0x10
jb 0x100ad080
mov eax, dword [ebp + 8]
jmp 0x100ad083
lea eax, [ebp + 8]
push ebx
push eax
push dword [esp + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100ad0a3
cmp ebp, esi
je 0x100ad0c0
mov ebp, dword [ebp + 4]
cmp ebx, dword [ebp + 0x18]
je 0x100ad075
jmp 0x100ad095
add ebp, 0x20
lea ecx, [esp + 0x20]
call fcn.100026e0
mov dword [0x10184e08], ebp
vmovss xmm4, dword [esp + 4]
jmp 0x100acd1a
push 0x1016ba76
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
int3