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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x38
push esi
push edi
mov edi, ecx
mov ecx, dword [edi + 0x4c]
test ecx, ecx
je 0x100e7f24
call fcn.100e8280
test al, al
je 0x100e7f24
mov esi, dword [edi + 0x4c]
lea eax, [ebp - 8]
push eax
mov dword [ebp - 8], 0x26435484
call fcn.10022e90
lea ecx, [esi + 8]
mov eax, dword [eax]
mov dword [ebp - 8], eax
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x100e7db0
mov eax, dword [eax + 0x14]
jmp 0x100e7db3
or eax, 0xffffffff
cmp dword [ebp - 8], eax
je 0x100e7f24
mov esi, dword [edi + 0x4c]
lea eax, [ebp - 8]
push eax
mov dword [ebp - 8], 0x798b70e7
call fcn.10022e90
lea ecx, [esi + 8]
mov eax, dword [eax]
mov dword [ebp - 8], eax
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x100e7de7
mov eax, dword [eax + 0x14]
jmp 0x100e7dea
or eax, 0xffffffff
cmp dword [ebp - 8], eax
je 0x100e7f24
mov esi, dword [edi + 0x4c]
lea eax, [ebp - 8]
push eax
mov dword [ebp - 8], 0xc87e5ec5
call fcn.10022e90
lea ecx, [esi + 8]
mov eax, dword [eax]
mov dword [ebp - 8], eax
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x100e7e1e
mov eax, dword [eax + 0x14]
jmp 0x100e7e21
or eax, 0xffffffff
cmp dword [ebp - 8], eax
je 0x100e7f24
mov eax, dword [edi + 0x4c]
mov edx, 0x811c9dc5
mov dword [ebp - 4], eax
xor ecx, ecx
nop word [eax + eax]
movsx eax, byte [ecx + str.CBaseEntity]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0xb
jb 0x100e7e40
lea eax, [ebp - 8]
mov dword [ebp - 8], edx
push eax
call fcn.10022e90
mov ecx, dword [ebp - 4]
add ecx, 8
mov esi, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x100e7e79
mov eax, dword [eax + 0x14]
jmp 0x100e7e7c
or eax, 0xffffffff
cmp esi, eax
je 0x100e7f24
movss xmm0, dword [0x101e542c]
lea edx, [ebp - 0x20]
addss xmm0, dword [0x101e53f0]
push dword [edi + 0x4c]
mov ecx, 0x101e542c
push edi
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [0x101e5430]
addss xmm0, dword [0x101e53f4]
movss dword [ebp - 0x1c], xmm0
movss xmm0, dword [0x101e5434]
addss xmm0, dword [0x101e53f8]
movss dword [ebp - 0x18], xmm0
call fcn.100e7af0
movss xmm0, dword [0x101e53fc]
add esp, 8
movss xmm1, dword [0x1017f084]
mulss xmm0, xmm1
movss dword [0x101e53fc], xmm0
movss xmm0, dword [0x101e5400]
mulss xmm0, xmm1
movss dword [0x101e5400], xmm0
movss xmm0, dword [0x101e5404]
mulss xmm0, xmm1
movss dword [0x101e5404], xmm0
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
movss xmm1, dword [edi + 0x18]
xorps xmm6, xmm6
movss xmm3, dword [edi + 0x1c]
movaps xmm7, xmm1
movss xmm4, dword [0x101e53fc]
movaps xmm0, xmm3
movss xmm2, dword [0x101e5400]
movss xmm5, dword [0x101e5404]
mulss xmm7, xmm4
mulss xmm0, xmm2
addss xmm7, xmm0
movss xmm0, dword [edi + 0x20]
mulss xmm0, xmm5
addss xmm7, xmm0
movss xmm0, dword [0x1017f050]
addss xmm7, xmm7
mulss xmm1, xmm7
subss xmm4, xmm1
movss xmm1, dword [0x1017f348]
comiss xmm4, xmm1
jbe 0x100e7f91
comiss xmm0, xmm4
jbe 0x100e7f91
xorps xmm4, xmm4
mulss xmm3, xmm7
subss xmm2, xmm3
comiss xmm2, xmm1
movaps xmm3, xmm2
jbe 0x100e7fa9
comiss xmm0, xmm2
jbe 0x100e7fa9
xorps xmm3, xmm3
movss xmm1, dword [edi + 0x20]
mulss xmm1, xmm7
subss xmm5, xmm1
comiss xmm5, dword [0x1017f348]
movaps xmm2, xmm5
jbe 0x100e7fca
comiss xmm0, xmm5
jbe 0x100e7fca
xorps xmm2, xmm2
movss xmm0, dword [0x1017f08c]
mulss xmm4, xmm0
mulss xmm3, xmm0
mulss xmm2, xmm0
movss xmm0, dword [edi + 0x20]
comiss xmm0, dword [0x1017f0ac]
jbe 0x100e81a4
movaps xmm0, xmm4
movaps xmm7, xmm3
mulss xmm0, xmm4
movaps xmm1, xmm2
mulss xmm7, xmm3
movaps xmm5, xmm4
movss dword [ebp - 8], xmm1
addss xmm7, xmm0
movaps xmm0, xmm2
mulss xmm0, xmm2
addss xmm7, xmm0
movaps xmm0, xmm3
movss dword [ebp - 4], xmm0
comiss xmm7, dword [0x1017f31c]
jbe 0x100e80ed
mov dword [ebp - 0x24], 0
movss dword [ebp - 8], xmm7
sqrtss xmm0, dword [ebp - 8]
movss dword [ebp - 0x24], xmm0
mov dword [ebp - 0x24], 0
movss dword [ebp - 8], xmm7
sqrtss xmm0, dword [ebp - 8]
movss dword [ebp - 0x24], xmm0
movss xmm1, dword [ebp - 0x24]
movaps xmm5, xmm3
addss xmm1, dword [0x1017effc]
movq xmm0, qword [edi + 0x18]
movq qword [ebp - 0x20], xmm0
movaps xmm0, xmm4
mov eax, dword [edi + 0x20]
mov dword [ebp - 0x18], eax
divss xmm0, xmm1
divss xmm5, xmm1
mulss xmm0, dword [ebp - 0x20]
mulss xmm5, dword [ebp - 0x1c]
movss dword [ebp - 8], xmm2
addss xmm5, xmm0
movaps xmm0, xmm2
divss xmm0, xmm1
movaps xmm1, xmm2
mulss xmm0, dword [ebp - 0x18]
addss xmm5, xmm0
movaps xmm0, xmm3
movss dword [ebp - 4], xmm0
movss dword [ebp - 0xc], xmm5
movaps xmm5, xmm4
movss xmm0, dword [ebp - 0xc]
comiss xmm0, dword [0x1017f094]
jbe 0x100e80ed
movss xmm5, dword [0x1017f108]
subss xmm5, xmm0
movaps xmm1, xmm5
mulss xmm1, xmm2
movaps xmm2, xmm5
mulss xmm2, xmm3
movss dword [ebp - 8], xmm1
mulss xmm5, xmm4
jmp 0x100e80f2
movss xmm2, dword [ebp - 4]
movss xmm0, dword [0x1017f2d8]
comiss xmm0, xmm7
jbe 0x100e8126
mov dword [ebp - 0x18], 0
mov eax, dword [ebp - 0x18]
mov dword [0x101e5404], eax
mov eax, 0xc
unpcklps xmm6, xmm6
movq qword [0x101e53fc], xmm6
lea esi, [eax + edi]
jmp 0x100e8219
mov eax, dword [0x101e66e8]
lea ecx, [edi + 0xc]
movss dword [0x101e5404], xmm1
lea edx, [ebp - 0x20]
movss xmm1, dword [0x1017f0d8]
movss dword [0x101e53fc], xmm5
movss dword [0x101e5400], xmm2
subss xmm1, dword [edi + 0x2c]
push dword [0x101e671c]
push edi
mulss xmm1, dword [eax + 0x20]
movaps xmm0, xmm1
mulss xmm0, xmm5
addss xmm0, dword [ecx]
movss dword [ebp - 0x20], xmm0
movaps xmm0, xmm1
mulss xmm1, dword [ebp - 8]
mulss xmm0, xmm2
addss xmm1, dword [edi + 0x14]
addss xmm0, dword [edi + 0x10]
movss dword [ebp - 0x18], xmm1
movss dword [ebp - 0x1c], xmm0
call fcn.100e7af0
mov eax, 0xc
add esp, 8
lea esi, [eax + edi]
jmp 0x100e8219
movss xmm1, dword [0x1017f0d8]
lea esi, [edi + 0xc]
mov eax, dword [0x101e66e8]
lea edx, [ebp - 0x20]
movss dword [0x101e53fc], xmm4
mov ecx, esi
movss dword [0x101e5400], xmm3
movss dword [0x101e5404], xmm2
subss xmm1, dword [edi + 0x2c]
push dword [0x101e671c]
push edi
mulss xmm1, dword [eax + 0x20]
movaps xmm0, xmm1
mulss xmm0, xmm4
addss xmm0, dword [esi]
movss dword [ebp - 0x20], xmm0
movaps xmm0, xmm1
mulss xmm0, xmm3
mulss xmm1, xmm2
addss xmm0, dword [edi + 0x10]
addss xmm1, dword [edi + 0x14]
movss dword [ebp - 0x1c], xmm0
movss dword [ebp - 0x18], xmm1
call fcn.100e7af0
add esp, 8
movq xmm0, qword [esi]
mov ecx, dword [0x101ee8c8]
mov eax, dword [esi + 8]
movq qword [ebp - 0x30], xmm0
movups xmm0, xmmword [0x1017a0bc]
mov dword [ebp - 0x28], eax
movups xmmword [ebp - 0x24], xmm0
cmp ecx, dword [0x101ee8cc]
je 0x100e8268
movups xmm0, xmmword [ebp - 0x30]
mov eax, dword [ebp - 0x18]
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x20]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [0x101ee8c8], 0x1c
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
lea eax, [ebp - 0x30]
push eax
push ecx
call fcn.10023240
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret