Function at 0x1001bd00
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
push ebx
push esi
mov esi, dword [ebp + 8]
mov edx, dword [esi + 8]
lea ebx, [esi + 8]
push edi
mov edi, ecx
mov dword [ebp - 0x14], ebx
mov ecx, dword [esi]
mov esi, ecx
lea eax, [edx + 4]
mov dword [ebp - 0x20], eax
cmp eax, dword [esi + 0xc]
mov esi, dword [ebp + 8]
ja 0x1001bd39
mov eax, dword [ecx + 8]
mov eax, dword [edx + eax]
mov edx, dword [ebp - 0x20]
mov dword [ebx], edx
lea ebx, [esi + 8]
jmp 0x1001bd3c
mov eax, dword [ebp + 8]
lea esi, [eax - 0x50]
mov dword [ebp - 8], eax
cmp esi, 6
mov dword [ebp - 0x18], ebx
mov esi, dword [ebp + 8]
ja case.0x1001bd54.84
lea ebx, [eax - 0x50]
jmp dword [ebx*4 + 0x1001bfb4]
lea eax, [ebp + 8]
mov ecx, esi
push eax
call fcn.1001c9a0
lea eax, [ebp - 0x20]
mov ecx, esi
push eax
call fcn.1001c9a0
lea eax, [ebp - 0x18]
mov ecx, esi
push eax
call fcn.1001c9a0
lea eax, [ebp - 0x14]
mov ecx, esi
push eax
call fcn.1001c9a0
mov eax, dword [ebp - 0x14]
mov esi, dword [edi + 0xf4]
mov edi, dword [ebp + 8]
mov ecx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x28], eax
mov eax, 0x10624dd3
imul edi
mov dword [ebp - 0x34], edi
sar edx, 6
mov eax, edx
mov dword [ebp - 0x30], ebx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x2c], ecx
imul eax, ecx
cmp edi, 0x1f40
je 0x1001bde1
cmp edi, 0x2ee0
je 0x1001bde1
cmp edi, 0x3e80
je 0x1001bde1
cmp edi, 0x5dc0
je 0x1001bde1
cmp edi, 0xbb80
jne 0x1001be0e
cmp ebx, 1
je 0x1001bdeb
cmp ebx, 2
jne 0x1001be0e
cmp ecx, 0xa
je 0x1001be1d
cmp ecx, 0x14
je 0x1001be1d
cmp ecx, 0x28
je 0x1001be1d
cmp ecx, 0x3c
je 0x1001be1d
cmp ecx, 0x50
je 0x1001be1d
cmp ecx, 0x64
je 0x1001be1d
cmp ecx, 0x78
je 0x1001be1d
mov dword [esi], 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
movups xmm0, xmmword [ebp - 0x34]
mov ecx, esi
movups xmmword [esi + 4], xmm0
mov dword [esi + 0x14], eax
mov eax, 0x10624dd3
imul dword [esi + 4]
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, dword [esi + 0xc]
mov dword [esi + 0x14], eax
call fcn.10004de0
mov dword [esi], 2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [edi + 0xf4]
call fcn.10004de0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea eax, [ebp + 8]
mov ecx, esi
push eax
call fcn.1001c9a0
push dword [ebp + 8]
mov ecx, dword [edi + 0xf4]
call fcn.10004f90
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ebx, dword [ebp - 0x14]
lea eax, [edx + 4]
mov esi, ecx
mov dword [ebp - 0x20], 0xffffffff
cmp eax, dword [esi + 0xc]
mov eax, dword [ebp - 8]
ja 0x1001beba
mov eax, dword [ecx + 8]
mov eax, dword [edx + eax]
mov dword [ebp - 0x14], eax
lea eax, [edx + 4]
mov dword [ebx], eax
mov eax, dword [ebp - 8]
mov ebx, dword [ebp - 0x14]
jmp 0x1001bebd
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 8]
cmp eax, 0x56
jne 0x1001bed0
lea eax, [ebp - 0x20]
mov ecx, esi
push eax
call fcn.1001c9a0
mov eax, dword [esi]
mov ecx, dword [ebp - 0x18]
mov edi, dword [edi + 0xf4]
mov dword [ebp + 8], ebx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
sub eax, dword [ecx]
add edx, dword [ecx]
mov dword [ebp - 0x14], eax
movzx eax, bl
xor eax, 0x811c9dc5
mov dword [ebp - 0x10], edx
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
lea ecx, [edi + 0x18]
push eax
mov dword [ebp - 0x18], eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0xc]
push eax
call fcn.10005810
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x1001bf47
mov ecx, dword [edi + 0x1c]
cmp ecx, dword [edi + 0x1c]
jne 0x1001bf76
push ebx
mov ecx, edi
call fcn.10004f90
push dword [ebp - 0x18]
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10005810
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x1001bf71
mov ecx, dword [edi + 0x1c]
cmp ecx, dword [edi + 0x1c]
je case.0x1001bd54.84
push dword [ebp - 0x14]
mov ecx, dword [ecx + 0xc]
push dword [ebp - 0x10]
push dword [ebp - 0x20]
call fcn.10004cf0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea eax, [ebp + 8]
mov ecx, esi
push eax
call fcn.1001c9a0
push dword [ebp + 8]
mov ecx, dword [edi + 0xf4]
call fcn.10004e50
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4