Function at 0x424bc0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x469d15
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push ebx
push esi
push edi
mov eax, dword [0x487274]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x1c], ebx
mov edx, dword [ebx + 0x88]
cmp dword [edx + 4], 2
jne 0x424e3b
mov edx, dword [edx]
mov eax, dword [edx + 0x3c]
push dword [edx]
mov ecx, dword [eax + 0x50]
call fcn.00428f50
test al, al
je 0x424d90
mov eax, dword [ebx + 0x88]
mov edx, dword [eax]
mov eax, dword [edx + 0x3c]
push dword [edx]
mov ecx, dword [eax + 0x50]
call fcn.00425080
mov esi, eax
test esi, esi
je 0x424d90
mov eax, dword [ebp + 8]
lea edx, [esi + 0x10]
mov dword [ebp - 0x18], edx
mov ecx, eax
cmp dword [eax + 0x14], 0x10
jb 0x424c46
mov ecx, dword [eax]
push 0
push dword [eax + 0x10]
push ecx
mov ecx, edx
call fcn.0042a9e0
mov eax, dword [esi]
mov eax, dword [eax + 4]
test byte [eax + esi + 0xc], 6
jne 0x424d90
mov eax, dword [0x48a58c]
test byte [eax + 0x3c], 0x10
ja 0x424d3d
mov eax, dword [ebx + 0x88]
mov eax, dword [eax]
mov edx, dword [eax]
mov edi, dword [eax + 0x3c]
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [ebp - 0x14], edx
imul ecx, eax, 0x1000193
mov eax, edx
shr eax, 8
movzx eax, al
mov dword [ebp - 0x10], edx
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x10
movzx eax, al
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
lea ecx, [edi + 0x180]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.0041b460
mov eax, dword [eax + 4]
mov dword [ebp - 0x10], eax
test eax, eax
jne 0x424ce7
mov eax, dword [edi + 0x184]
mov dword [ebp - 0x10], eax
inc dword [eax + 0xc]
mov edi, dword [edi + 0x50]
mov ecx, edi
mov eax, dword [edi]
call dword [eax + 8]
mov esi, eax
push esi
mov dword [ebp - 0x20], esi
call fcn.0042b9a9
add esp, 4
test eax, eax
jne 0x424e4f
mov dword [ebp - 4], eax
mov ecx, edi
push str.logFlushThreshold
lea eax, [edi + 0x158]
push eax
push dword [ebp - 0x14]
call fcn.0041d890
push esi
mov edi, eax
mov dword [ebp - 4], 0xffffffff
call fcn.0042b9ce
mov eax, dword [ebp - 0x10]
add esp, 4
cmp dword [eax + 0xc], edi
jb 0x424d90
mov eax, dword [ebx + 0x88]
mov ecx, dword [ebp - 0x18]
mov eax, dword [eax]
mov edi, dword [eax]
mov esi, dword [eax + 0x3c]
mov dword [ebp - 0x14], edi
call fcn.00407440
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x18]
lea ecx, [esi + 0x180]
push eax
call fcn.0041cd60
mov eax, dword [ebp - 0x18]
cmp eax, dword [esi + 0x184]
je 0x424d7a
mov dword [eax + 0xc], 0
mov eax, dword [0x48a58c]
test eax, eax
je 0x424d90
mov ecx, dword [esi + 0x50]
sub eax, 0xffffff80
push eax
push edi
call fcn.0042a960
mov eax, dword [ebx + 0x88]
mov ecx, dword [eax]
mov eax, dword [ecx + 0x3c]
mov ebx, dword [ecx]
mov edi, dword [eax + 0x50]
mov ecx, edi
mov eax, dword [edi]
call dword [eax + 8]
mov esi, eax
push esi
mov dword [ebp - 0x20], esi
call fcn.0042b9a9
add esp, 4
test eax, eax
jne 0x424e55
push str.toStandardOutput
lea eax, [edi + 0x98]
mov dword [ebp - 4], 1
push eax
push ebx
mov ecx, edi
call fcn.0041d990
push esi
mov bl, al
mov dword [ebp - 4], 0xffffffff
call fcn.0042b9ce
add esp, 4
test bl, bl
je 0x424e3b
mov eax, dword [0x48a58c]
test byte [eax + 0x3c], 0x40
jbe 0x424e17
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x88]
mov ecx, dword [eax]
push dword [ecx]
mov ecx, dword [ecx + 0x3c]
push dword [ebp + 8]
mov ecx, dword [ecx + 0x1a4]
call fcn.00424630
mov eax, dword [ebp + 8]
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
jb 0x424e25
mov eax, dword [eax]
push ecx
push eax
push 0x48a730
call fcn.00405950
add esp, 0xc
mov ecx, eax
call fcn.00407440
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push eax
call fcn.0042bad4
push eax
call fcn.0042bad4
int3