Function at 0x1016e630
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x101a0b51
push eax
mov dword fs:[0], esp
sub esp, 0x70
mov ecx, dword [0x102556bc]
push ebx
mov eax, dword [ecx]
push esi
push edi
mov eax, dword [eax + 0x68]
call eax
test al, al
je 0x1016ee15
cmp dword [0x10252a00], 0
je 0x1016ee15
mov ecx, dword [0x102556bc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [0x10316738]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
call edx
mov edi, eax
mov dword [ebp - 0x1c], edi
test edi, edi
je 0x1016ee15
mov ecx, edi
call fcn.10078d00
test al, al
jne 0x1016ee15
mov edx, dword [edi + 0xcf8]
mov dword [ebp - 0x14], 0
test edx, edx
je 0x1016ee15
nop dword [eax]
mov ecx, dword [0x10316738]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov edi, eax
test edi, edi
je 0x1016edfc
lea esi, [edi + 0x9c4]
test esi, esi
je 0x1016edfc
mov eax, dword [0x10255374]
mov ecx, dword fs:[0x2c]
mov ebx, dword [ecx + eax*4]
mov eax, dword [0x102557b8]
cmp eax, dword [ebx + 4]
jle 0x1016e751
push 0x102557b8
call fcn.101987e8
add esp, 4
cmp dword [0x102557b8], 0xffffffff
jne 0x1016e751
push str.m_iItemDefinitionIndex
push str.m_Item
push str.m_AttributeManager
push str.DT_EconEntity
mov dword [ebp - 4], 0
call fcn.100892f0
push 0x102557b8
mov dword [0x103166f8], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10198797
add esp, 4
mov eax, dword [0x103166f8]
mov edx, dword [eax + edi]
mov eax, edx
shr eax, 8
movzx ecx, al
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [ebp - 0x18], edx
imul eax, eax, 0x1000193
mov dword [ebp - 0x10], edx
xor ecx, eax
mov eax, edx
shr eax, 0x10
imul ecx, ecx, 0x1000193
movzx eax, al
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.1016fdf0
mov ecx, dword [0x102529fc]
mov eax, dword [eax + 4]
test eax, eax
cmovne ecx, eax
cmp ecx, dword [0x102529fc]
je 0x1016edfc
mov eax, dword [ebp - 0x18]
cmp eax, 0x108
jg case.0x1016e7e9.5
je 0x1016ec9c
add eax, 0xfffffffc
cmp eax, 0x19
ja case.0x1016e7e9.5
movzx eax, byte [eax + 0x1016ee58]
jmp dword [eax*4 + 0x1016ee28]
mov eax, dword [0x10316c04]
cmp eax, dword [ebx + 4]
jle 0x1016e84c
push 0x10316c04
call fcn.101987e8
add esp, 4
cmp dword [0x10316c04], 0xffffffff
jne 0x1016e84c
push str.m_iItemDefinitionIndex
push str.m_Item
push str.m_AttributeManager
push str.DT_EconEntity
mov dword [ebp - 4], 2
call fcn.100892f0
push 0x10316c04
mov dword [0x10316bfc], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10198797
add esp, 4
mov eax, dword [0x10316bfc]
mov dword [eax + edi], 0xcd
jmp case.0x1016e7e9.5
mov eax, dword [0x10316c04]
cmp eax, dword [ebx + 4]
jle 0x1016e8b9
push 0x10316c04
call fcn.101987e8
add esp, 4
cmp dword [0x10316c04], 0xffffffff
jne 0x1016e8b9
push str.m_iItemDefinitionIndex
push str.m_Item
push str.m_AttributeManager
push str.DT_EconEntity
mov dword [ebp - 4], 3
call fcn.100892f0
push 0x10316c04
mov dword [0x10316bfc], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10198797
add esp, 4
mov eax, dword [0x10316bfc]
mov dword [eax + edi], 0xc8
jmp case.0x1016e7e9.5
mov eax, dword [0x10316c04]
cmp eax, dword [ebx + 4]
jle 0x1016e926
push 0x10316c04
call fcn.101987e8
add esp, 4
cmp dword [0x10316c04], 0xffffffff
jne 0x1016e926
push str.m_iItemDefinitionIndex
push str.m_Item
push str.m_AttributeManager
push str.DT_EconEntity
mov dword [ebp - 4], 4
call fcn.100892f0
push 0x10316c04
mov dword [0x10316bfc], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10198797
add esp, 4
mov eax, dword [0x10316bfc]
mov dword [eax + edi], 0xd0
jmp case.0x1016e7e9.5
mov eax, dword [0x10316c04]
cmp eax, dword [ebx + 4]
jle 0x1016e993
push 0x10316c04
call fcn.101987e8
add esp, 4
cmp dword [0x10316c04], 0xffffffff
jne 0x1016e993
push str.m_iItemDefinitionIndex
push str.m_Item
push str.m_AttributeManager
push str.DT_EconEntity
mov dword [ebp - 4], 5
call fcn.100892f0
push 0x10316c04
mov dword [0x10316bfc], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10198797
add esp, 4
mov eax, dword [0x10316bfc]
mov dword [eax + edi], 0xce
jmp case.0x1016e7e9.5
mov eax, dword [0x10316c04]
cmp eax, dword [ebx + 4]
jle 0x1016ea00
push 0x10316c04
call fcn.101987e8
add esp, 4
cmp dword [0x10316c04], 0xffffffff
jne 0x1016ea00
push str.m_iItemDefinitionIndex
push str.m_Item
push str.m_AttributeManager
push str.DT_EconEntity
mov dword [ebp - 4], 6
call fcn.100892f0
push 0x10316c04
mov dword [0x10316bfc], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10198797
add esp, 4
mov eax, dword [0x10316bfc]
mov dword [eax + edi], 0xcf
jmp case.0x1016e7e9.5
mov eax, dword [0x10316c04]
cmp eax, dword [ebx + 4]
jle 0x1016ea6d
push 0x10316c04
call fcn.101987e8
add esp, 4
cmp dword [0x10316c04], 0xffffffff
jne 0x1016ea6d
push str.m_iItemDefinitionIndex
push str.m_Item
push str.m_AttributeManager
push str.DT_EconEntity
mov dword [ebp - 4], 7
call fcn.100892f0
push 0x10316c04
mov dword [0x10316bfc], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10198797
add esp, 4
mov eax, dword [0x10316bfc]
mov dword [eax + edi], 0xca
jmp case.0x1016e7e9.5
mov eax, dword [0x10316c04]
cmp eax, dword [ebx + 4]
jle 0x1016eada
push 0x10316c04
call fcn.101987e8
add esp, 4
cmp dword [0x10316c04], 0xffffffff
jne 0x1016eada
push str.m_iItemDefinitionIndex
push str.m_Item
push str.m_AttributeManager
push str.DT_EconEntity
mov dword [ebp - 4], 8
call fcn.100892f0
push 0x10316c04
mov dword [0x10316bfc], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10198797
add esp, 4
mov eax, dword [0x10316bfc]
mov dword [eax + edi], 0xc5
jmp case.0x1016e7e9.5
mov eax, dword [0x10316c04]
cmp eax, dword [ebx + 4]
jle 0x1016eb47
push 0x10316c04
call fcn.101987e8
add esp, 4
cmp dword [0x10316c04], 0xffffffff
jne 0x1016eb47
push str.m_iItemDefinitionIndex
push str.m_Item
push str.m_AttributeManager
push str.DT_EconEntity
mov dword [ebp - 4], 9
call fcn.100892f0
push 0x10316c04
mov dword [0x10316bfc], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10198797
add esp, 4
mov eax, dword [0x10316bfc]
mov dword [eax + edi], 0xd3
jmp case.0x1016e7e9.5
mov eax, dword [0x10316c04]
cmp eax, dword [ebx + 4]
jle 0x1016ebb4
push 0x10316c04
call fcn.101987e8
add esp, 4
cmp dword [0x10316c04], 0xffffffff
jne 0x1016ebb4
push str.m_iItemDefinitionIndex
push str.m_Item
push str.m_AttributeManager
push str.DT_EconEntity
mov dword [ebp - 4], 0xa
call fcn.100892f0
push 0x10316c04
mov dword [0x10316bfc], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10198797
add esp, 4
mov eax, dword [0x10316bfc]
mov dword [eax + edi], 0xc9
jmp case.0x1016e7e9.5
mov eax, dword [0x10316c04]
cmp eax, dword [ebx + 4]
jle 0x1016ec21
push 0x10316c04
call fcn.101987e8
add esp, 4
cmp dword [0x10316c04], 0xffffffff
jne 0x1016ec21
push str.m_iItemDefinitionIndex
push str.m_Item
push str.m_AttributeManager
push str.DT_EconEntity
mov dword [ebp - 4], 0xb
call fcn.100892f0
push 0x10316c04
mov dword [0x10316bfc], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10198797
add esp, 4
mov eax, dword [0x10316bfc]
mov dword [eax + edi], 0xcb
jmp case.0x1016e7e9.5
mov eax, dword [0x10316c04]
cmp eax, dword [ebx + 4]
jle 0x1016ec8e
push 0x10316c04
call fcn.101987e8
add esp, 4
cmp dword [0x10316c04], 0xffffffff
jne 0x1016ec8e
push str.m_iItemDefinitionIndex
push str.m_Item
push str.m_AttributeManager
push str.DT_EconEntity
mov dword [ebp - 4], 0xc
call fcn.100892f0
push 0x10316c04
mov dword [0x10316bfc], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10198797
add esp, 4
mov eax, dword [0x10316bfc]
mov dword [eax + edi], 0xc2
jmp case.0x1016e7e9.5
mov eax, dword [0x10316c04]
cmp eax, dword [ebx + 4]
jle 0x1016ecf8
push 0x10316c04
call fcn.101987e8
add esp, 4
cmp dword [0x10316c04], 0xffffffff
jne 0x1016ecf8
push str.m_iItemDefinitionIndex
push str.m_Item
push str.m_AttributeManager
push str.DT_EconEntity
mov dword [ebp - 4], 1
call fcn.100892f0
push 0x10316c04
mov dword [0x10316bfc], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10198797
add esp, 4
mov eax, dword [0x10316bfc]
mov dword [eax + edi], 0x42f
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.1016f8d0
mov edi, dword [eax]
cmp byte [edi + 0x1d], 0
je 0x1016ed3e
cmp dword [esi + 0x10], 0xe
jg 0x1016ed3e
mov eax, 0x21e
mov dword [ebp - 0x34], 0x3f800000
mov word [ebp - 0x38], ax
lea ecx, [esi + 4]
lea eax, [ebp - 0x3c]
push eax
push dword [ecx + 0xc]
call fcn.1016fc30
mov eax, dword [edi + 0x10]
test eax, eax
je 0x1016ed6f
cmp dword [esi + 0x10], 0xe
jg 0x1016ed6f
movd xmm0, eax
mov ecx, 0x86
cvtdq2ps xmm0, xmm0
lea eax, [ebp - 0x4c]
mov word [ebp - 0x48], cx
lea ecx, [esi + 4]
push eax
push dword [ecx + 0xc]
movss dword [ebp - 0x44], xmm0
call fcn.1016fc30
mov eax, dword [edi + 0x14]
test eax, eax
je 0x1016eda0
cmp dword [esi + 0x10], 0xe
jg 0x1016eda0
movd xmm0, eax
mov ecx, 0x172
cvtdq2ps xmm0, xmm0
lea eax, [ebp - 0x5c]
mov word [ebp - 0x58], cx
lea ecx, [esi + 4]
push eax
push dword [ecx + 0xc]
movss dword [ebp - 0x54], xmm0
call fcn.1016fc30
cmp byte [edi + 0x1c], 0
je 0x1016edcb
cmp dword [esi + 0x10], 0xe
jg 0x1016edcb
mov eax, 0x96
mov dword [ebp - 0x64], 0x3f800000
mov word [ebp - 0x68], ax
lea ecx, [esi + 4]
lea eax, [ebp - 0x6c]
push eax
push dword [ecx + 0xc]
call fcn.1016fc30
mov eax, dword [edi + 0x18]
test eax, eax
je 0x1016edfc
cmp dword [esi + 0x10], 0xe
jg 0x1016edfc
movd xmm0, eax
mov ecx, 0x7de
cvtdq2ps xmm0, xmm0
lea eax, [ebp - 0x7c]
mov word [ebp - 0x78], cx
lea ecx, [esi + 4]
push eax
push dword [ecx + 0xc]
movss dword [ebp - 0x74], xmm0
call fcn.1016fc30
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x14], eax
mov edx, dword [ecx + eax*4 + 0xcf8]
test edx, edx
jne 0x1016e6c0
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret