Function at 0x4ed430
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x52c2b5
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x6c
mov eax, dword [ecx + 0x11c]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ecx + 0x120]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x30], ecx
cmp eax, ecx
je 0x4ed81f
push ebx
push esi
push edi
mov eax, dword [eax]
push 8
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
call fcn.004fa223
lea ecx, [ebp - 0x78]
mov dword [eax + 4], 0
mov dword [ebp - 0x78], eax
mov dword [eax], ecx
push 0x14
mov dword [ebp - 4], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
call fcn.004fa223
add esp, 8
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [ebp - 0x38], eax
mov esi, dword [ebp - 0x68]
mov edx, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x70]
mov byte [ebp - 4], 1
lea eax, [esi + edx]
test al, 3
jne 0x4ed514
lea eax, [esi + 4]
shr eax, 2
cmp ecx, eax
ja 0x4ed514
push 1
lea ecx, [ebp - 0x78]
call fcn.004f4b50
mov esi, dword [ebp - 0x68]
mov edx, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x70]
lea eax, [ecx*4 - 1]
and edx, eax
lea eax, [ecx - 1]
add esi, edx
mov dword [ebp - 0x6c], edx
mov edx, dword [ebp - 0x74]
mov edi, esi
shr edi, 2
and eax, edi
cmp dword [edx + eax*4], 0
lea ebx, [eax*4]
jne 0x4ed552
push 0x10
call fcn.004fa223
mov ecx, dword [ebp - 0x74]
add esp, 4
mov dword [ecx + ebx], eax
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x74]
lea eax, [ecx - 1]
and esi, 3
mov ecx, dword [ebp - 0x14]
and eax, edi
mov eax, dword [edx + eax*4]
mov dword [eax + esi*4], ecx
mov esi, dword [ebp - 0x68]
add esi, 1
mov dword [ebp - 0x68], esi
je 0x4ed7f0
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x70]
dec edx
add edx, esi
dec eax
mov ecx, edx
and edx, 3
shr ecx, 2
and ecx, eax
mov eax, dword [ebp - 0x74]
sub esi, 1
mov eax, dword [eax + ecx*4]
mov edi, dword [eax + edx*4]
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x68], esi
jne 0x4ed5a1
mov dword [ebp - 0x6c], 0
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x38]
call fcn.00446830
mov ecx, dword [eax + 4]
mov ebx, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x24], ecx
cmp byte [eax + 0xd], 0
jne 0x4ed5cb
cmp edi, dword [eax + 0x10]
jae 0x4ed7e8
cmp dword [ebp - 0x34], 0xccccccc
je 0x4ed82d
mov esi, dword [ebp - 0x38]
lea eax, [ebp - 0x38]
mov dword [ebp - 0x48], eax
push 0x14
mov byte [ebp - 4], 2
mov dword [ebp - 0x44], 0
call fcn.004fa223
mov ecx, dword [ebp - 0x10]
add esp, 4
mov byte [ebp - 4], 1
mov dword [ebp - 0x44], 0
mov dword [eax + 0x10], ecx
lea ecx, [ebp - 0x38]
push eax
push dword [ebp - 0x24]
mov dword [eax], esi
mov dword [eax + 4], esi
mov dword [eax + 8], esi
push ebx
mov word [eax + 0xc], 0
call fcn.00455920
mov ebx, dword [ebp - 0x28]
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebx + 0x2b4]
call fcn.004715d0
mov ecx, dword [eax]
mov eax, dword [ecx + 0x10]
add ecx, 0xc
cmp eax, dword [ecx + 8]
je 0x4ed650
mov edx, dword [ebp - 0x14]
mov dword [eax], edx
add dword [ecx + 4], 4
jmp 0x4ed660
lea edx, [ebp - 0x18]
push edx
push eax
call fcn.0042e910
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x10]
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [ebp - 0x24], edx
imul ecx, eax, 0x1000193
mov eax, edx
shr eax, 8
movzx eax, al
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
lea ecx, [ebx + 0x254]
xor eax, edx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.00465c40
mov eax, dword [eax + 4]
test eax, eax
jne 0x4ed6c0
mov eax, dword [ebx + 0x258]
cmp eax, dword [ebx + 0x258]
je 0x4ed7e5
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4ed7e5
add eax, 0x218
lea ecx, [ebp - 0x40]
push eax
call fcn.004eb4e0
or dword [ebp - 0x1c], 1
mov esi, dword [ebp - 0x40]
mov byte [ebp - 4], 3
mov esi, dword [esi]
cmp byte [esi + 0xd], 0
jne 0x4ed7d6
mov edx, dword [ebp - 0x68]
nop
mov edi, dword [ebp - 0x6c]
mov eax, dword [esi + 0x10]
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0x2c], eax
lea eax, [edx + edi]
test al, 3
jne 0x4ed730
lea eax, [edx + 4]
shr eax, 2
cmp ecx, eax
ja 0x4ed730
push 1
lea ecx, [ebp - 0x78]
call fcn.004f4b50
mov edx, dword [ebp - 0x68]
mov edi, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x70]
lea eax, [ecx*4 - 1]
and edi, eax
lea eax, [ecx - 1]
mov dword [ebp - 0x6c], edi
add edi, edx
mov edx, dword [ebp - 0x74]
mov ebx, edi
shr ebx, 2
and eax, ebx
shl eax, 2
mov dword [ebp - 0x24], eax
cmp dword [eax + edx], 0
jne 0x4ed770
push 0x10
call fcn.004fa223
mov ecx, dword [ebp - 0x74]
add esp, 4
mov edx, dword [ebp - 0x24]
mov dword [ecx + edx], eax
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x74]
lea eax, [ecx - 1]
and edi, 3
mov ecx, dword [ebp - 0x2c]
and eax, ebx
mov eax, dword [edx + eax*4]
mov dword [eax + edi*4], ecx
mov edx, dword [ebp - 0x68]
inc edx
mov dword [ebp - 0x68], edx
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
je 0x4ed7b4
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x4ed7b0
lea ebx, [ebx]
cmp esi, dword [eax + 8]
jne 0x4ed7b0
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x4ed7a0
mov esi, eax
jmp 0x4ed7cc
mov esi, eax
mov ecx, dword [esi]
cmp byte [ecx + 0xd], 0
jne 0x4ed7cc
mov edi, edi
mov eax, dword [ecx]
mov esi, ecx
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x4ed7c0
cmp byte [esi + 0xd], 0
je 0x4ed700
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 1
push eax
mov ecx, eax
call fcn.0047d900
mov esi, dword [ebp - 0x68]
test esi, esi
jne 0x4ed572
lea eax, [ebp - 0x38]
push eax
mov ecx, eax
call fcn.0047d900
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 0xffffffff
call fcn.0046cd90
mov eax, dword [ebp - 0x20]
add eax, 4
mov dword [ebp - 0x20], eax
cmp eax, dword [ebp - 0x30]
jne 0x4ed472
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
call fcn.004563c0
int3