Function at 0x494ccb
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x70
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x18], edx
mov ecx, 0xcbf29ce4
mov ebx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 8], eax
lea edx, [eax*8]
mov eax, 0x84222325
mov dword [esp + 0x10], ebx
test edx, edx
je 0x494d74
mov dword [esp + 4], edx
movzx edx, byte [ebx + 4]
xor eax, edx
mov edx, 0x100
mov esi, eax
imul esi, edx
mov edx, 0x1b3
mul edx
add edx, esi
mov esi, 0x1b3
imul ecx, esi
add ecx, edx
movzx edx, byte [ebx + 5]
imul ecx, esi
xor eax, edx
mov edx, 0x100
mov edi, eax
imul edi, edx
mul esi
xor eax, dword [ebx]
mov esi, edx
add ebx, 8
add esi, edi
add esi, ecx
mov ecx, 0x100
mov edi, eax
imul edi, ecx
mov ecx, 0x1b3
mul ecx
mov ecx, edx
mov edx, dword [esp + 4]
add ecx, edi
mov edi, 0x1b3
imul esi, edi
add ecx, esi
add edx, 0xfffffff8
jmp 0x494d01
mov edi, dword [ebp + 8]
mov esi, dword [edi + 8]
test esi, esi
je 0x494ed0
push 0
push esi
push ecx
push eax
call fcn.0056ad34
add esp, 0x10
cmp esi, eax
jbe 0x494ee2
mov ecx, dword [edi + 4]
imul esi, eax, 0x14
mov dword [esp + 0x14], eax
mov dword [esp + 4], ecx
movzx ecx, word [ecx + esi + 0x10]
cmp cx, word [edi + 0x10]
jne 0x494e01
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
cmp dword [ecx + esi + 8], eax
jne 0x494e01
mov eax, dword [esp + 4]
xor edi, edi
mov ecx, dword [eax + esi + 4]
mov eax, dword [esp + 0x10]
cmp dword [esp + 8], edi
je 0x494ea5
mov bl, byte [ecx + edi*8 + 4]
mov edx, edi
cmp bl, byte [eax + edi*8 + 4]
jne 0x494df7
mov bl, byte [ecx + edx*8 + 5]
cmp bl, byte [eax + edx*8 + 5]
jne 0x494df7
mov ebx, dword [ecx + edx*8]
lea edi, [edx + 1]
cmp ebx, dword [eax + edx*8]
je 0x494dcc
cmp edx, dword [esp + 8]
jae 0x494ea5
mov edx, dword [esp + 0x10]
lea ebx, [esp + 0x1c]
mov ecx, ebx
push dword [esp + 8]
call fcn.00494efa
pop eax
mov edx, dword [esp + 0x18]
lea edi, [esp + 0x28]
mov ecx, edi
push ebx
call fcn.00493ede
pop eax
mov eax, dword [edi]
cmp eax, 0x2a
jne 0x494e8b
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x14]
mov edx, dword [eax + 8]
cmp edx, ecx
jbe 0x494ef0
movzx ecx, word [eax + 0x10]
mov ebx, dword [eax + 4]
mov edi, dword [esp + 0x2c]
mov word [esp + 4], cx
mov ecx, dword [ebx + esi]
mov edx, dword [ebx + esi + 4]
call fcn.004fe49d
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 8]
mov dword [ebx + esi + 8], eax
movzx eax, word [esp + 4]
movsd xmm0, qword [ecx]
mov ecx, dword [esp + 0xc]
movsd qword [ebx + esi], xmm0
mov dword [ebx + esi + 0xc], edi
mov word [ebx + esi + 0x10], ax
mov dword [ecx + 4], edi
mov dword [ecx], 0x2a
jmp 0x494ec8
lea esi, [esp + 0x30]
mov ebx, dword [esp + 0xc]
mov edx, dword [esi - 4]
lea edi, [ebx + 8]
push 0xe
pop ecx
rep movsd dword es:[edi], dword [esi]
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp 0x494eba
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
mov eax, dword [eax + esi + 0xc]
mov dword [ecx + 4], eax
mov dword [ecx], 0x2a
mov eax, dword [ebp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, dword [eax]
call fcn.004fe49d
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push 0x39
pop edx
mov ecx, str.attempt_to_calculate_the_remainder_with_a_divisor_of_zero
push 0x6480f0
call fcn.0043a9e0
mov ecx, eax
mov edx, esi
push 0x648100
call fcn.0043a050
push 0x648110
call fcn.0043a050