Function at 0x100ef9b0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1015abbd
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
mov eax, dword [0x1022a800]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x1023cd0c]
lea edi, [ecx + 0x40]
mov esi, dword [ebp + 8]
mov ecx, dword [0x1022b678]
test al, 1
jne 0x100efa05
or eax, 1
mov dword [0x1023cd0c], eax
mov eax, dword [ecx + 0x16c]
mov dword [0x1023cd08], eax
jmp 0x100efa0a
mov eax, dword [0x1023cd08]
cmp eax, dword [ecx + 0x16c]
je 0x100efa29
mov ecx, edi
call fcn.100efd90
mov eax, dword [0x1022b678]
mov eax, dword [eax + 0x16c]
mov dword [0x1023cd08], eax
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
call dword [eax + 8]
mov dword [ebp - 0x30], eax
test eax, eax
je 0x100efcc1
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
mov ebx, dword [eax]
mov eax, dword [0x1023ccf4]
mov dword [ebp - 0x34], ebx
test al, 1
jne 0x100efa66
or eax, 1
mov dword [0x1023ccf4], eax
mov eax, dword [0x1022c3a8]
mov dword [0x1023ccf0], eax
jmp 0x100efa6b
mov eax, dword [0x1023ccf0]
cmp dword [esi + eax], 0
mov dword [ebp - 0x2c], ebx
je 0x100efa7c
lea eax, [ebp - 0x2c]
jmp 0x100efcb9
movzx eax, bl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, ebx
shr eax, 8
movzx eax, al
xor ecx, eax
mov eax, ebx
imul ecx, ecx, 0x1000193
shr eax, 0x10
movzx eax, al
xor ecx, eax
mov eax, ebx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, edi
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.100ea020
mov eax, dword [eax + 4]
test eax, eax
je 0x100efad7
cmp eax, dword [edi + 4]
jne 0x100efc97
mov ebx, dword [ebp - 0x30]
mov eax, dword [ebx + 0x14]
add eax, 0xfffffff7
cmp eax, 0x94
ja case.0x100efaee.9
movzx eax, byte [eax + 0x100efcf4]
jmp dword [eax*4 + 0x100efce0]
mov eax, 0x2f
jmp 0x100efb0f
mov eax, 0x2e
jmp 0x100efb0f
mov eax, 0x2d
jmp 0x100efb0f
mov eax, 0x2c
mov dword [ebp - 0x40], eax
mov eax, dword [0x1022be30]
test al, 1
jne 0x100efb31
mov ecx, dword [0x1022bda4]
or eax, 1
mov dword [0x1022be30], eax
mov dword [0x1022be2c], ecx
jmp 0x100efb37
mov ecx, dword [0x1022be2c]
mov eax, dword [0x1022a448]
movss xmm0, dword [esi + ecx]
push ecx
subss xmm0, dword [esi + eax]
movss dword [esp], xmm0
call fcn.100653a0
mov dword [ebp - 0x30], eax
add esp, 4
mov eax, dword [0x1022a448]
add eax, esi
mov dword [ebp - 0x2c], eax
mov eax, dword [0x1022c584]
test al, 1
jne 0x100efb7e
or eax, 1
mov dword [0x1022c584], eax
mov eax, dword [0x1022c2b4]
mov dword [0x1022c580], eax
jmp 0x100efb83
mov eax, dword [0x1022c580]
lea edx, [esi + eax]
mov eax, dword [0x1022b8fc]
test al, 1
jne 0x100efba3
or eax, 1
mov dword [0x1022b8fc], eax
mov eax, dword [0x1022b8e4]
mov dword [0x1022b8f8], eax
jmp 0x100efba8
mov eax, dword [0x1022b8f8]
lea ecx, [esi + eax]
mov eax, dword [0x1023cd04]
test al, 1
jne 0x100efbc8
or eax, 1
mov dword [0x1023cd04], eax
mov eax, dword [0x1022c3a4]
mov dword [0x1023cd00], eax
jmp 0x100efbcd
mov eax, dword [0x1023cd00]
add eax, esi
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x38], eax
mov ecx, edi
lea eax, [ebp - 0x30]
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x40]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x38]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x34]
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x2c]
push eax
push 0x1017a34b
lea eax, [ebp - 0x48]
push eax
call fcn.100edf40
mov eax, dword [ebx + 0x14]
lea ecx, [esi + 4]
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x38]
push eax
mov eax, dword [esi + 4]
call dword [eax + 0x20]
push eax
call fcn.10063250
mov ecx, dword [ebp - 0x34]
add esp, 8
mov dword [ebp - 0x30], ecx
mov ecx, edi
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.100ee830
lea ecx, [eax + 0x50]
call fcn.1008be60
mov eax, dword [ebx + 0x14]
lea ecx, [esi + 4]
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x38]
push eax
mov eax, dword [esi + 4]
call dword [eax + 0x20]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.10063410
add esp, 0xc
mov ecx, dword [ebp - 0x34]
push eax
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], ecx
push eax
mov ecx, edi
mov dword [ebp - 4], 0
call fcn.100ee830
lea ecx, [eax + 0x68]
call fcn.10068ed0
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0xffffffff
call fcn.10047010
mov ebx, dword [ebp - 0x34]
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], ebx
push eax
mov ecx, edi
call fcn.100ee830
mov ecx, eax
call fcn.100f1b50
test al, al
jne 0x100efcc1
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x38]
push eax
mov ecx, edi
call fcn.100f0020
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100f7dfb
mov esp, ebp
pop ebp
ret 4