Function at 0x42dbc8
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 + 0x14], ecx
mov dword [esp + 0x10], edx
mov ecx, 0xcbf29ce4
mov ebx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0xc], eax
lea edx, [eax*8]
mov eax, 0x84222325
mov dword [esp + 8], ebx
test edx, edx
je 0x42dc71
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 0x42dbfe
mov edi, dword [ebp + 8]
mov esi, dword [edi + 8]
test esi, esi
je 0x42ddea
push 0
push esi
push ecx
push eax
call fcn.0049f8c0
add esp, 0x10
cmp esi, eax
jbe 0x42de03
mov edx, dword [edi + 4]
mov ecx, eax
mov eax, edi
imul edi, ecx, 0x14
mov dword [esp + 0x18], ecx
movzx ecx, word [edx + edi + 0x10]
mov dword [esp + 4], edx
cmp cx, word [eax + 0x10]
jne 0x42dd02
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 4]
cmp dword [ecx + edi + 8], eax
jne 0x42dd02
mov eax, dword [esp + 4]
xor esi, esi
mov ecx, dword [eax + edi + 4]
mov eax, dword [esp + 8]
cmp dword [esp + 0xc], esi
je 0x42ddbd
mov bl, byte [ecx + esi*8 + 4]
mov edx, esi
cmp bl, byte [eax + esi*8 + 4]
jne 0x42dcf8
mov bl, byte [ecx + edx*8 + 5]
cmp bl, byte [eax + edx*8 + 5]
jne 0x42dcf8
mov ebx, dword [ecx + edx*8]
lea esi, [edx + 1]
cmp ebx, dword [eax + edx*8]
je 0x42dccd
cmp edx, dword [esp + 0xc]
jae 0x42ddbd
mov ebx, dword [esp + 8]
lea esi, [esp + 0x1c]
mov ecx, esi
mov edx, ebx
push dword [esp + 0xc]
call fcn.0042de3f
pop eax
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x28]
push esi
call fcn.0042cf65
pop eax
mov eax, dword [esp + 0x28]
cmp eax, 0x2a
jne 0x42dd9b
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x18]
mov esi, dword [eax]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 8]
cmp edx, ecx
jbe 0x42de18
movzx ecx, word [eax + 0x10]
mov dword [esp + 0x10], esi
mov esi, dword [eax + 4]
mov ebx, dword [esp + 0x2c]
mov word [esp + 4], cx
mov ecx, dword [esi + edi]
mov edx, dword [esi + edi + 4]
call fcn.004203d7
mov eax, dword [esp + 0x10]
movzx edx, word [esp + 4]
mov ecx, dword [esp + 0x14]
mov dword [esi + edi], eax
mov eax, dword [esp + 8]
mov dword [esi + edi + 4], eax
mov eax, dword [esp + 0xc]
mov dword [esi + edi + 8], eax
mov dword [esi + edi + 0xc], ebx
mov word [esi + edi + 0x10], dx
mov dword [ecx + 4], ebx
mov dword [ecx], 0x2a
jmp 0x42dde2
lea esi, [esp + 0x30]
mov edx, dword [esp + 0x14]
mov ecx, dword [esi - 4]
lea edi, [edx + 8]
mov dword [esp + 4], ecx
push 0xe
pop ecx
rep movsd dword es:[edi], dword [esi]
mov dword [edx], eax
mov eax, dword [esp + 4]
mov dword [edx + 4], eax
jmp 0x42ddd6
mov eax, dword [esp + 4]
mov ebx, dword [esp + 8]
mov ecx, dword [esp + 0x14]
mov eax, dword [eax + edi + 0xc]
mov dword [ecx + 4], eax
mov dword [ecx], 0x2a
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov edx, ebx
call fcn.004203d7
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 0x4b4cc0
mov ebx, dword [esp + 0xc]
call fcn.0040db80
pop eax
jmp 0x42de23
mov edx, esi
mov ecx, eax
push 0x4b4cd0
mov ebx, dword [esp + 0xc]
call fcn.0040cf20
pop eax
jmp 0x42de23
push 0x4b4ce0
call fcn.0040cf20
pop eax
ud2