Function at 0x1004c9b0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
test eax, eax
je 0x1004ce2f
cmp dword [ebp + 0xc], 0
je 0x1004ce2f
mov eax, dword [eax + 0x18]
movzx edx, word [eax + 0x80]
mov edi, edx
and edx, 0x7ff
mov esi, edx
shr edi, 0xb
and esi, 0x7f
mov eax, esi
and al, 0x1c
cmp al, 4
jne 0x1004ce2f
and edx, 0xffffff80
xor ecx, ecx
cmp edx, 0x180
sete cl
and esi, 0xffffffe0
xor eax, eax
cmp esi, 0x40
sete al
test eax, ecx
je 0x1004ce2f
mov eax, dword [ebp + 0xc]
movsx ebx, word [eax + 0x84]
movzx eax, word [eax + 0x78]
mov ecx, ebx
shr ecx, 0x10
mov edx, ebx
mov dword [ebp + 8], ecx
mov ecx, ebx
shr ecx, 8
shr edx, 0x18
mov dword [ebp + 0xc], ecx
mov dword [ebp - 4], eax
cmp edi, 1
jne 0x1004cb32
movzx eax, bl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, dword [ebp + 0xc]
movzx eax, al
xor ecx, eax
mov eax, dword [ebp + 8]
imul ecx, ecx, 0x1000193
movzx eax, al
xor ecx, eax
imul eax, ecx, 0x1000193
xor eax, edx
mov edx, dword [0x100fe1ac]
imul ecx, eax, 0x1000193
and ecx, dword [0x100fe1b8]
mov eax, dword [edx + ecx*8]
add ecx, ecx
mov esi, dword [edx + ecx*4]
lea edi, [edx + ecx*4]
mov edx, dword [0x100fe1a4]
cmp esi, edx
jne 0x1004ca99
mov ecx, edx
jmp 0x1004ca9e
mov ecx, dword [edi + 4]
mov ecx, dword [ecx]
cmp eax, ecx
je 0x1004cab3
cmp dword [eax + 8], ebx
je 0x1004caab
mov eax, dword [eax]
jmp 0x1004ca91
cmp eax, edx
jne 0x1004ce24
mov eax, dword [ebp - 4]
movsx ebx, ax
mov eax, ebx
mov edi, dword [0x100fe1ac]
shr eax, 8
movzx ecx, al
movzx eax, bl
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
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 ecx, ecx, 0x1000193
and ecx, dword [0x100fe1b8]
mov eax, dword [edi + ecx*8]
add ecx, ecx
mov esi, dword [edi + ecx*4]
lea edi, [edi + ecx*4]
nop dword [eax + eax]
cmp esi, edx
jne 0x1004cb18
mov ecx, edx
jmp 0x1004cb1d
mov ecx, dword [edi + 4]
mov ecx, dword [ecx]
cmp eax, ecx
je 0x1004ce2f
cmp dword [eax + 8], ebx
je 0x1004ce20
mov eax, dword [eax]
jmp 0x1004cb10
cmp edi, 2
jne 0x1004cc32
movzx eax, bl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, dword [ebp + 0xc]
movzx eax, al
xor ecx, eax
mov eax, dword [ebp + 8]
imul ecx, ecx, 0x1000193
movzx eax, al
xor ecx, eax
imul eax, ecx, 0x1000193
xor eax, edx
mov edx, dword [0x100fe68c]
imul ecx, eax, 0x1000193
and ecx, dword [0x100fe698]
mov eax, dword [edx + ecx*8]
add ecx, ecx
mov esi, dword [edx + ecx*4]
lea edi, [edx + ecx*4]
mov edx, dword [0x100fe684]
nop word [eax + eax]
cmp esi, edx
jne 0x1004cb98
mov ecx, edx
jmp 0x1004cb9d
mov ecx, dword [edi + 4]
mov ecx, dword [ecx]
cmp eax, ecx
je 0x1004cbb2
cmp dword [eax + 8], ebx
je 0x1004cbaa
mov eax, dword [eax]
jmp 0x1004cb90
cmp eax, edx
jne 0x1004ce24
mov eax, dword [ebp - 4]
movsx ebx, ax
mov eax, ebx
mov edi, dword [0x100fe68c]
shr eax, 8
movzx ecx, al
movzx eax, bl
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
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 ecx, ecx, 0x1000193
and ecx, dword [0x100fe698]
mov eax, dword [edi + ecx*8]
add ecx, ecx
mov esi, dword [edi + ecx*4]
lea edi, [edi + ecx*4]
nop word [eax + eax]
cmp esi, edx
jne 0x1004cc18
mov ecx, edx
jmp 0x1004cc1d
mov ecx, dword [edi + 4]
mov ecx, dword [ecx]
cmp eax, ecx
je 0x1004ce2f
cmp dword [eax + 8], ebx
je 0x1004ce20
mov eax, dword [eax]
jmp 0x1004cc10
cmp edi, 3
jne 0x1004cd32
movzx eax, bl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, dword [ebp + 0xc]
movzx eax, al
xor ecx, eax
mov eax, dword [ebp + 8]
imul ecx, ecx, 0x1000193
movzx eax, al
xor ecx, eax
imul eax, ecx, 0x1000193
xor eax, edx
mov edx, dword [0x100fe4cc]
imul ecx, eax, 0x1000193
and ecx, dword [0x100fe4d8]
mov eax, dword [edx + ecx*8]
add ecx, ecx
mov esi, dword [edx + ecx*4]
lea edi, [edx + ecx*4]
mov edx, dword [0x100fe4c4]
nop word [eax + eax]
cmp esi, edx
jne 0x1004cc98
mov ecx, edx
jmp 0x1004cc9d
mov ecx, dword [edi + 4]
mov ecx, dword [ecx]
cmp eax, ecx
je 0x1004ccb2
cmp dword [eax + 8], ebx
je 0x1004ccaa
mov eax, dword [eax]
jmp 0x1004cc90
cmp eax, edx
jne 0x1004ce24
mov eax, dword [ebp - 4]
movsx ebx, ax
mov eax, ebx
mov edi, dword [0x100fe4cc]
shr eax, 8
movzx ecx, al
movzx eax, bl
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
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 ecx, ecx, 0x1000193
and ecx, dword [0x100fe4d8]
mov eax, dword [edi + ecx*8]
add ecx, ecx
mov esi, dword [edi + ecx*4]
lea edi, [edi + ecx*4]
nop word [eax + eax]
cmp esi, edx
jne 0x1004cd18
mov ecx, edx
jmp 0x1004cd1d
mov ecx, dword [edi + 4]
mov ecx, dword [ecx]
cmp eax, ecx
je 0x1004ce2f
cmp dword [eax + 8], ebx
je 0x1004ce20
mov eax, dword [eax]
jmp 0x1004cd10
cmp edi, 4
jne 0x1004ce2f
movzx eax, bl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, dword [ebp + 0xc]
movzx eax, al
xor ecx, eax
mov eax, dword [ebp + 8]
imul ecx, ecx, 0x1000193
movzx eax, al
xor ecx, eax
imul eax, ecx, 0x1000193
xor eax, edx
mov edx, dword [0x100fe42c]
imul ecx, eax, 0x1000193
and ecx, dword [0x100fe438]
mov eax, dword [edx + ecx*8]
add ecx, ecx
mov esi, dword [edx + ecx*4]
lea edi, [edx + ecx*4]
mov edx, dword [0x100fe424]
nop word [eax + eax]
cmp esi, edx
jne 0x1004cd98
mov ecx, edx
jmp 0x1004cd9d
mov ecx, dword [edi + 4]
mov ecx, dword [ecx]
cmp eax, ecx
je 0x1004cdae
cmp dword [eax + 8], ebx
je 0x1004cdaa
mov eax, dword [eax]
jmp 0x1004cd90
cmp eax, edx
jne 0x1004ce24
mov eax, dword [ebp - 4]
movsx ebx, ax
mov eax, ebx
mov edi, dword [0x100fe42c]
shr eax, 8
movzx ecx, al
movzx eax, bl
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
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 ecx, ecx, 0x1000193
and ecx, dword [0x100fe438]
mov eax, dword [edi + ecx*8]
add ecx, ecx
mov esi, dword [edi + ecx*4]
lea edi, [edi + ecx*4]
cmp esi, edx
jne 0x1004ce0e
mov ecx, edx
jmp 0x1004ce13
mov ecx, dword [edi + 4]
mov ecx, dword [ecx]
cmp eax, ecx
je 0x1004ce2f
cmp dword [eax + 8], ebx
je 0x1004ce20
mov eax, dword [eax]
jmp 0x1004ce06
cmp eax, edx
je 0x1004ce2f
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret 8
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret 8