Function at 0x4b6110
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5c0590
mov eax, dword fs:[0]
push eax
sub esp, 0x68
push esi
push edi
mov eax, dword [0x624040]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x14], esi
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xc]
test edx, edx
jne 0x4b614a
xor edi, edi
jmp 0x4b6151
mov eax, dword [ecx]
mov eax, dword [eax]
mov edi, dword [eax + 0x18]
cmp dword [esi + 0x14], 0
jne 0x4b6190
test edx, edx
je 0x4b616c
lea eax, [ecx + 4]
push eax
push dword [ecx]
call fcn.004b63d0
mov ecx, dword [ebp + 8]
add esp, 8
push 0x10
push ecx
mov dword [ecx + 8], 0x5eaad8
mov dword [ecx], 0x5eaad8
mov dword [ecx + 0xc], 0
call fcn.0048335e
add esp, 8
nop dword [eax + eax]
mov eax, dword [edi]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x64]
push edi
push eax
call dword [ebp + 0xc]
add esp, 8
movups xmm0, xmmword [eax]
movd eax, xmm0
movups xmmword [ebp - 0x54], xmm0
test eax, eax
jne 0x4b6226
mov edx, dword [ebp - 0x4c]
mov eax, edx
shr eax, 8
movzx ecx, al
movzx eax, dl
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
xor ecx, eax
mov eax, edx
shr eax, 0x10
imul ecx, ecx, 0x1000193
movzx eax, al
shr edx, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
xor eax, edx
mov edx, dword [ebp - 0x48]
imul ecx, eax, 0x1000193
movzx eax, dl
xor ecx, eax
mov eax, edx
shr eax, 8
imul ecx, ecx, 0x1000193
movzx eax, al
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x10
movzx eax, al
shr edx, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
xor eax, edx
imul ecx, eax, 0x1000193
jmp 0x4b6261
mov esi, dword [ebp - 0x4c]
push esi
push eax
push 0
lea eax, [ebp - 0x38]
push 0x5f8274
push eax
call fcn.00416480
xor eax, eax
or esi, esi
add esp, 0x14
mov ecx, 0xcc9e2d51
add esi, dword [ebp - 0x38]
adc eax, dword [ebp - 0x34]
mul ecx
mov edx, 0xcc9e2d51
mov ecx, eax
mov eax, esi
mov esi, dword [ebp - 0x14]
mul edx
add ecx, edx
xor ecx, eax
mov eax, dword [esi + 8]
push 0x9e3779b9
push 0x7f4a7c15
xor eax, ecx
push 0
push eax
call fcn.005b8070
mov eax, dword [esi + 4]
mov ecx, edx
dec eax
and ecx, eax
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x10], ecx
lea edx, [ecx*4]
mov dword [ebp - 0x18], edx
mov edx, dword [edx + eax]
test edx, edx
jne 0x4b62b6
mov dword [edi], edx
lea edx, [ecx*4]
mov eax, dword [esi + 0x10]
mov dword [edx + eax], edi
mov eax, dword [esi + 0xc]
cmp ecx, eax
cmovb eax, ecx
mov dword [esi + 0xc], eax
jmp 0x4b63aa
mov al, dl
not al
test al, 1
je 0x4b62fc
mov eax, edx
xor ecx, ecx
mov eax, dword [eax]
inc ecx
test eax, eax
jne 0x4b62c2
cmp ecx, 8
jae 0x4b62de
mov dword [edi], edx
mov eax, dword [esi + 0x10]
mov edx, dword [ebp - 0x18]
mov dword [edx + eax], edi
jmp 0x4b63aa
push dword [ebp + 0xc]
mov ecx, esi
mov dword [ebp + 8], edi
push edx
call fcn.004b5c20
mov ecx, dword [esi + 0x10]
mov edx, dword [ebp - 0x10]
mov dword [ecx + edx*4], eax
mov ecx, edx
mov edi, dword [ebp + 8]
jmp 0x4b62ff
mov dword [ebp + 8], edi
mov eax, dword [esi + 0x10]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [eax + ecx*4]
dec eax
mov dword [ebp - 0x10], eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x74]
push edi
push eax
call dword [ebp + 0xc]
mov ecx, dword [ebp - 0x10]
add esp, 8
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.004b5390
mov ecx, dword [eax]
mov edi, dword [eax + 4]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x18], ecx
mov eax, dword [eax]
cmp ecx, dword [eax]
jne 0x4b6341
test edi, edi
je 0x4b636b
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], ecx
push 0xffffffffffffffff
push eax
mov dword [ebp - 0x24], edi
call fcn.004b4f20
movzx eax, byte [ebp - 0x24]
add esp, 8
inc eax
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + ecx*8]
mov eax, dword [ebp + 8]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], ecx
push 1
push eax
mov dword [ebp - 0x2c], edi
call fcn.004b4f20
mov eax, dword [ebp - 0x10]
add esp, 8
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [eax + 8]
movzx edi, byte [eax + 6]
cmp edx, eax
jne 0x4b639b
cmp ecx, edi
jne 0x4b639b
xor ecx, ecx
jmp 0x4b63a5
movzx eax, cl
inc eax
lea eax, [eax + eax*2]
mov ecx, dword [edx + eax*8]
mov eax, dword [ebp + 8]
mov dword [eax], ecx
mov eax, dword [ebp - 0x20]
mov edi, eax
test eax, eax
jne 0x4b6190
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8