Function at 0x429420
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x452cd5
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push ebx
push esi
push edi
mov eax, dword [0x468254]
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 0x42969b
mov edx, dword [edx]
mov eax, dword [edx + 0x3c]
push dword [edx]
mov ecx, dword [eax + 0x50]
call fcn.0042f010
test al, al
je 0x4295f0
mov eax, dword [ebx + 0x88]
mov edx, dword [eax]
mov eax, dword [edx + 0x3c]
push dword [edx]
mov ecx, dword [eax + 0x50]
call fcn.0042a3a0
mov esi, eax
test esi, esi
je 0x4295f0
mov eax, dword [ebp + 8]
lea edx, [esi + 0x10]
mov dword [ebp - 0x18], edx
mov ecx, eax
cmp dword [eax + 0x14], 0x10
jb 0x4294a6
mov ecx, dword [eax]
push 0
push dword [eax + 0x10]
push ecx
mov ecx, edx
call fcn.00430e90
mov eax, dword [esi]
mov eax, dword [eax + 4]
test byte [eax + esi + 0xc], 6
jne 0x4295f0
mov eax, dword [0x46a180]
test byte [eax + 0x3c], 0x10
ja 0x42959d
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.0041cfd0
mov eax, dword [eax + 4]
mov dword [ebp - 0x10], eax
test eax, eax
jne 0x429547
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.00431a82
add esp, 4
test eax, eax
jne 0x4296af
mov dword [ebp - 4], eax
mov ecx, edi
push str.logFlushThreshold
lea eax, [edi + 0x158]
push eax
push dword [ebp - 0x14]
call fcn.0041f780
push esi
mov edi, eax
mov dword [ebp - 4], 0xffffffff
call fcn.00431a93
mov eax, dword [ebp - 0x10]
add esp, 4
cmp dword [eax + 0xc], edi
jb 0x4295f0
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.0042a570
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x18]
lea ecx, [esi + 0x180]
push eax
call fcn.0041ec50
mov eax, dword [ebp - 0x18]
cmp eax, dword [esi + 0x184]
je 0x4295da
mov dword [eax + 0xc], 0
mov eax, dword [0x46a180]
test eax, eax
je 0x4295f0
mov ecx, dword [esi + 0x50]
sub eax, 0xffffff80
push eax
push edi
call fcn.00430e10
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.00431a82
add esp, 4
test eax, eax
jne 0x4296b5
push str.toStandardOutput
lea eax, [edi + 0x98]
mov dword [ebp - 4], 1
push eax
push ebx
mov ecx, edi
call fcn.0041f880
push esi
mov bl, al
mov dword [ebp - 4], 0xffffffff
call fcn.00431a93
add esp, 4
test bl, bl
je 0x42969b
mov eax, dword [0x46a180]
test byte [eax + 0x3c], 0x40
jbe 0x429677
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.00428e40
mov eax, dword [ebp + 8]
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
jb 0x429685
mov eax, dword [eax]
push ecx
push eax
push 0x46a330
call fcn.0041d350
add esp, 0xc
mov ecx, eax
call fcn.0042a570
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.00431b78
push eax
call fcn.00431b78
int3