Function at 0x45c050
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x58a447
mov eax, dword fs:[0]
push eax
sub esp, 0x98
mov eax, dword [0x5ea6c0]
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 edi, ecx
mov eax, dword [ebp + 0x14]
mov ebx, dword [ebp + 0xc]
mov dword [eax], 1
movzx eax, bl
xor eax, 0x811c9dc5
mov edx, dword [edi + 0xd18]
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, dword [edi + 0xd2c]
and ecx, eax
mov eax, dword [edi + 0xd20]
mov esi, dword [eax + ecx*8]
lea ecx, [ecx*8 + 4]
mov eax, esi
mov dword [ebp - 0x9c], ecx
nop dword [eax]
cmp esi, edx
jne 0x45c0f8
mov ecx, edx
jmp 0x45c10f
mov edx, dword [ebp - 0x9c]
mov ecx, dword [edi + 0xd20]
mov ecx, dword [edx + ecx]
mov edx, dword [edi + 0xd18]
mov ecx, dword [ecx]
cmp eax, ecx
je 0x45c285
cmp dword [eax + 8], ebx
je 0x45c120
mov eax, dword [eax]
jmp 0x45c0f0
cmp eax, edx
je 0x45c285
xor ecx, ecx
mov dword [ebp - 0x74], ecx
mov edx, dword [eax + 0x34]
mov dword [ebp - 4], ecx
test edx, edx
je 0x45c149
mov eax, dword [edx]
lea ecx, [ebp - 0x98]
push ecx
mov ecx, edx
call dword [eax]
mov ecx, eax
mov dword [ebp - 0x74], ecx
lea eax, [ebp - 0x40]
mov dword [ebp - 4], 1
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x1c], 0
mov byte [ebp - 4], 2
test ecx, ecx
je 0x45c173
mov eax, dword [ecx]
lea edx, [ebp - 0x40]
push edx
call dword [eax]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x18], eax
lea esi, [edi + 0x7a4]
mov byte [ebp - 4], 3
push esi
mov dword [ebp - 0xa4], esi
call fcn.00476dfc
add esp, 4
test eax, eax
je 0x45c19f
push eax
call fcn.0047723c
add esp, 4
mov byte [ebp - 0xa0], 1
lea eax, [ebp - 0x70]
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x9c], eax
mov ecx, dword [ebp - 0x1c]
mov byte [ebp - 4], 5
test ecx, ecx
je 0x45c1cc
mov eax, dword [ecx]
lea edx, [ebp - 0x70]
push edx
call dword [eax]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 6
push eax
lea ecx, [edi + 0x790]
call fcn.0044f540
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x45c1fc
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
lea eax, [ebp - 0x70]
cmp ecx, eax
setne al
push eax
call edx
push esi
mov byte [ebp - 4], 7
call fcn.00476e21
add esp, 4
test eax, eax
je 0x45c216
push eax
call fcn.0047723c
add esp, 4
lea eax, [edi + 0x7d4]
mov byte [ebp - 4], 8
push eax
call fcn.004770f6
add esp, 4
test eax, eax
je 0x45c236
push eax
call fcn.0047723c
add esp, 4
mov ecx, dword [ebp - 0x1c]
mov byte [ebp - 4], 1
test ecx, ecx
je 0x45c252
mov edx, dword [ecx]
lea eax, [ebp - 0x40]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
lea eax, [ebp - 0x9c]
mov dword [ebp - 0x9c], ebx
push eax
lea ecx, [edi + 0xd14]
call fcn.0046f2e0
mov ecx, dword [ebp - 0x74]
test ecx, ecx
je 0x45c285
mov edx, dword [ecx]
lea eax, [ebp - 0x98]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov eax, 1
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.00512634
mov esp, ebp
pop ebp
ret 0x10