Function at 0x49d6f0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4fe679
mov eax, dword fs:[0]
push eax
sub esp, 0x80
mov eax, dword [0x53c160]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov esi, dword [ebp + 8]
mov dword [ebp - 0x84], esi
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], esi
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [ebp - 4], 0
mov edx, dword [ebp + 0xc]
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [ebp - 0x80], 1
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
mov ecx, edi
xor eax, edx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x8c]
push eax
call fcn.00497d70
mov eax, dword [eax + 4]
test eax, eax
je 0x49d944
cmp eax, dword [edi + 4]
je 0x49d944
lea eax, [ebp + 0xc]
mov ecx, edi
push eax
call fcn.0049d970
cmp dword [eax + 0x10], 0
je 0x49d8ae
lea eax, [ebp + 0xc]
mov ecx, edi
push eax
call fcn.0049d970
mov ecx, dword [str._flush_]
mov esi, eax
mov dword [ebp - 0x28], ecx
mov cx, word [0x51d748]
mov word [ebp - 0x24], cx
mov cl, byte [0x51d74a]
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 7
mov byte [ebp - 0x22], cl
mov byte [ebp - 0x21], 0
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x60]
mov eax, dword [ebp + 0xc]
xorps xmm0, xmm0
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x28]
push eax
movsd qword [ebp - 0x78], xmm0
movlpd qword [ebp - 0x70], xmm0
mov dword [ebp - 0x68], 0
call fcn.00408d20
push esi
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 2
call fcn.00408d20
mov dword [ebp - 0x30], 0
mov byte [ebp - 4], 3
lea eax, [ebp - 0x78]
mov esi, dword [ebp - 0x7c]
push eax
mov edx, dword [esi + 4]
cmp edx, dword [esi + 8]
je 0x49d86a
call fcn.00459430
add esp, 4
add dword [esi + 4], 0x50
jmp 0x49d872
push edx
mov ecx, esi
call fcn.004594e0
lea ecx, [ebp - 0x78]
call fcn.0044fa20
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x49d8ae
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x49d8a4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49d964
push edx
push ecx
call fcn.004c3baf
add esp, 8
mov edx, dword [ebp + 0xc]
movzx eax, dl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, dh
xor ecx, eax
movzx eax, byte [ebp + 0xe]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [ebp + 0xf]
imul ecx, ecx, 0x1000193
xor ecx, eax
lea eax, [ebp + 0xc]
imul esi, ecx, 0x1000193
mov ecx, edi
push esi
push eax
lea eax, [ebp - 0x8c]
push eax
call fcn.00497d70
mov edx, dword [eax + 4]
test edx, edx
je 0x49d944
mov ecx, dword [edi + 0x18]
and ecx, esi
mov esi, dword [edi + 0xc]
mov eax, dword [esi + ecx*8]
cmp dword [esi + ecx*8 + 4], edx
jne 0x49d926
cmp eax, edx
jne 0x49d91d
mov eax, dword [edi + 4]
mov dword [esi + ecx*8], eax
mov dword [esi + ecx*8 + 4], eax
jmp 0x49d92f
mov eax, dword [edx + 4]
mov dword [esi + ecx*8 + 4], eax
jmp 0x49d92f
cmp eax, edx
jne 0x49d92f
mov eax, dword [edx]
mov dword [esi + ecx*8], eax
mov esi, dword [edx]
dec dword [edi + 8]
mov ecx, dword [edx + 4]
mov dword [ecx], esi
mov ecx, dword [edx + 4]
mov dword [esi + 4], ecx
call fcn.00497e80
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004c3ba1
mov esp, ebp
pop ebp
ret 0xc
call fcn.004cecff
int3