Function at 0x1002c080
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x10
mov eax, dword [0x1006a040]
xor eax, esp
mov dword [esp + 0xc], eax
mov ecx, dword [ebp + 8]
mov dword [esp + 8], ecx
push esi
mov esi, dword [0x1013838c]
push edi
test ecx, ecx
je 0x1002c5d3
mov eax, dword [ecx + 8]
add ecx, 8
mov eax, dword [eax + 0x20]
call eax
test al, al
jne 0x1002c5d3
mov ecx, dword [esp + 0x10]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
cmp dword [eax + 0x14], 0xf7
jne 0x1002c1e3
mov eax, dword [0x101382c4]
mov edx, dword [esp + 0x10]
cmp byte [eax + 0xb1], 0
movzx eax, dl
je 0x1002c17d
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, dh
xor ecx, eax
movzx eax, byte [esp + 0x12]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [esp + 0x13]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
lea ecx, [esi + 4]
push eax
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.1002e860
mov eax, dword [eax + 4]
test eax, eax
jne 0x1002c13f
mov eax, dword [esi + 8]
cmp eax, dword [esi + 8]
je 0x1002c5d3
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0xc]
push eax
lea ecx, [esi + 4]
call fcn.1002e3c0
mov eax, dword [eax]
add eax, 0xc
cmp dword [eax], 2
jne 0x1002c5d3
mov al, 1
pop edi
pop esi
mov ecx, dword [esp + 0xc]
xor ecx, esp
call fcn.100567e6
mov esp, ebp
pop ebp
ret 4
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, dh
xor ecx, eax
movzx eax, byte [esp + 0x12]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [esp + 0x13]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
lea ecx, [esi + 4]
push eax
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.1002e860
mov eax, dword [eax + 4]
test eax, eax
jne 0x1002c1ca
mov eax, dword [esi + 8]
cmp eax, dword [esi + 8]
setne al
pop edi
pop esi
mov ecx, dword [esp + 0xc]
xor ecx, esp
call fcn.100567e6
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esp + 0x10]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov eax, dword [eax + 0x14]
cmp eax, 0x58
je 0x1002c537
cmp eax, 0x56
je 0x1002c537
cmp eax, 0x59
je 0x1002c537
mov ecx, dword [esp + 0x10]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov eax, dword [eax + 0x14]
cmp eax, 0xfc
je 0x1002c493
cmp eax, 0xfe
je 0x1002c493
cmp eax, 0x101
je 0x1002c493
cmp eax, 0x103
je 0x1002c493
cmp eax, 0x104
je 0x1002c493
cmp eax, 0x105
je 0x1002c493
cmp eax, 0x106
je 0x1002c493
cmp eax, 0x108
je 0x1002c493
cmp eax, 0x109
je 0x1002c493
cmp eax, 0xd9
je 0x1002c493
mov ecx, dword [esp + 0x10]
call fcn.10049870
test al, al
je 0x1002c343
mov eax, dword [0x101382c4]
mov edx, dword [esp + 0x10]
cmp byte [eax + 0xfd], 0
movzx eax, dl
je 0x1002c17d
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, dh
xor ecx, eax
movzx eax, byte [esp + 0x12]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [esp + 0x13]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
lea ecx, [esi + 4]
push eax
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.1002e860
mov eax, dword [eax + 4]
test eax, eax
jne 0x1002c305
mov eax, dword [esi + 8]
cmp eax, dword [esi + 8]
je 0x1002c5d3
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0xc]
push eax
lea ecx, [esi + 4]
call fcn.1002e3c0
mov eax, dword [eax]
add eax, 0xc
cmp dword [eax], 2
jne 0x1002c5d3
mov al, 1
pop edi
pop esi
mov ecx, dword [esp + 0xc]
xor ecx, esp
call fcn.100567e6
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esp + 0x10]
call fcn.10049920
mov edx, dword [esp + 0x10]
test al, al
mov eax, dword [0x101382c4]
je 0x1002c3f8
cmp byte [eax + 0xfd], 0
movzx eax, dl
je 0x1002c17d
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, dh
xor ecx, eax
movzx eax, byte [esp + 0x12]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [esp + 0x13]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
lea ecx, [esi + 4]
push eax
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.1002e860
mov eax, dword [eax + 4]
test eax, eax
jne 0x1002c3ba
mov eax, dword [esi + 8]
cmp eax, dword [esi + 8]
je 0x1002c5d3
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0xc]
push eax
lea ecx, [esi + 4]
call fcn.1002e3c0
mov eax, dword [eax]
add eax, 0xc
cmp dword [eax], 2
jne 0x1002c5d3
mov al, 1
pop edi
pop esi
mov ecx, dword [esp + 0xc]
xor ecx, esp
call fcn.100567e6
mov esp, ebp
pop ebp
ret 4
cmp byte [eax + 0xb1], 0
movzx eax, dl
je 0x1002c17d
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, dh
xor ecx, eax
movzx eax, byte [esp + 0x12]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [esp + 0x13]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
lea ecx, [esi + 4]
push eax
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.1002e860
mov eax, dword [eax + 4]
test eax, eax
jne 0x1002c455
mov eax, dword [esi + 8]
cmp eax, dword [esi + 8]
je 0x1002c5d3
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0xc]
push eax
lea ecx, [esi + 4]
call fcn.1002e3c0
mov eax, dword [eax]
add eax, 0xc
cmp dword [eax], 2
jne 0x1002c5d3
mov al, 1
pop edi
pop esi
mov ecx, dword [esp + 0xc]
xor ecx, esp
call fcn.100567e6
mov esp, ebp
pop ebp
ret 4
mov eax, dword [0x101382c4]
mov edx, dword [esp + 0x10]
cmp byte [eax + 0x11d], 0
movzx eax, dl
je 0x1002c17d
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, dh
xor ecx, eax
movzx eax, byte [esp + 0x12]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [esp + 0x13]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
lea ecx, [esi + 4]
push eax
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.1002e860
mov eax, dword [eax + 4]
test eax, eax
jne 0x1002c4f9
mov eax, dword [esi + 8]
cmp eax, dword [esi + 8]
je 0x1002c5d3
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0xc]
push eax
lea ecx, [esi + 4]
call fcn.1002e3c0
mov eax, dword [eax]
add eax, 0xc
cmp dword [eax], 2
jne 0x1002c5d3
mov al, 1
pop edi
pop esi
mov ecx, dword [esp + 0xc]
xor ecx, esp
call fcn.100567e6
mov esp, ebp
pop ebp
ret 4
mov eax, dword [0x101382c4]
mov edx, dword [esp + 0x10]
cmp byte [eax + 0xdd], 0
movzx eax, dl
je 0x1002c17d
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, dh
xor ecx, eax
movzx eax, byte [esp + 0x12]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [esp + 0x13]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
lea ecx, [esi + 4]
push eax
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.1002e860
mov eax, dword [eax + 4]
test eax, eax
jne 0x1002c59d
mov eax, dword [esi + 8]
cmp eax, dword [esi + 8]
je 0x1002c5d3
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0xc]
push eax
lea ecx, [esi + 4]
call fcn.1002e3c0
mov eax, dword [eax]
add eax, 0xc
cmp dword [eax], 2
jne 0x1002c5d3
mov al, 1
pop edi
pop esi
mov ecx, dword [esp + 0xc]
xor ecx, esp
call fcn.100567e6
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esp + 0x14]
xor al, al
pop edi
pop esi
xor ecx, esp
call fcn.100567e6
mov esp, ebp
pop ebp
ret 4