Function at 0x469420
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b3e4b
mov eax, dword fs:[0]
push eax
sub esp, 0x308
mov eax, dword [0x4d5104]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x18], ebx
mov esi, dword [ebp + 8]
mov dword [ebp - 0x2e0], esi
cmp byte [esi + 4], 4
jne 0x469548
lea eax, [ebx + 0x34]
push eax
call fcn.004812e0
mov edi, dword [esi + 0x18]
add esp, 4
add esi, 8
cmp dword [esi + 0x14], 8
jb 0x469480
mov esi, dword [esi]
xor edx, edx
xor ecx, ecx
test edi, edi
je 0x4694a6
nop dword [eax + eax]
movzx eax, word [esi + ecx*2]
ror edx, 3
cmp eax, 0x61
jb 0x46949f
sub eax, 0x20
inc ecx
add edx, eax
cmp ecx, edi
jb 0x469490
movzx eax, dl
xor eax, 0x811c9dc5
mov esi, dword [ebp - 0x18]
imul ecx, eax, 0x1000193
mov eax, edx
shr eax, 8
movzx eax, al
mov esi, dword [esi + 0xb8]
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
mov ecx, dword [ebx + 0xcc]
mov ebx, dword [ebx + 0xc0]
and ecx, eax
mov edi, dword [ebx + ecx*8]
lea ecx, [ecx*8 + 4]
mov eax, edi
mov dword [ebp - 0x1c], ecx
cmp edi, esi
jne 0x46950f
mov ecx, esi
jmp 0x469514
mov ecx, dword [ecx + ebx]
mov ecx, dword [ecx]
cmp eax, ecx
je 0x469539
cmp dword [eax + 8], edx
je 0x469524
mov eax, dword [eax]
mov ecx, dword [ebp - 0x1c]
jmp 0x469507
cmp eax, esi
je 0x469539
mov eax, dword [ebp - 0x18]
add eax, 0x34
push eax
call fcn.00481300
jmp 0x469996
mov ebx, dword [ebp - 0x18]
lea eax, [ebx + 0x34]
push eax
call fcn.00481300
add esp, 4
lea eax, [ebx + 0x34]
xorps xmm0, xmm0
movlpd qword [ebp - 0x28], xmm0
push eax
mov dword [ebp - 0x28], eax
call fcn.004812d0
add esp, 4
mov byte [ebp - 0x24], 1
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x314]
mov byte [ebp - 0x1c], 0
push dword [ebp - 0x1c]
call fcn.0046bb70
add esp, 4
push 0x4d5390
lea ecx, [ebp - 0x2fc]
mov byte [ebp - 4], 1
call fcn.004518b0
lea eax, [ebp - 0x314]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x2fc]
call fcn.00462280
push eax
lea ecx, [ebp - 0x70]
call fcn.004518b0
lea ecx, [ebp - 0x2fc]
call fcn.004367a0
lea ecx, [ebp - 0x314]
mov byte [ebp - 4], 4
call fcn.004367a0
push 0xb8
lea eax, [ebp - 0x17c]
push 0
push eax
call sub.msvcrt.dll_memset
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x17c]
call fcn.004649c0
mov byte [ebp - 4], 5
cmp dword [ebp - 0x120], 0
je 0x469910
push 0xb0
lea eax, [ebp - 0x2dc]
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 4
lea ecx, [ebp - 0x2dc]
call fcn.004434a0
lea eax, [ebp - 0x16c]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x2cc]
call fcn.00453490
lea ecx, [ebp - 0x17c]
call fcn.004645d0
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x2dc]
call fcn.004433e0
mov byte [ebp - 4], 7
lea edx, [ebp - 0x58]
cmp dword [ebp - 0x44], 0x10
lea ecx, [ebp - 0x18]
push dword [ebp - 0x48]
cmovae edx, dword [ebp - 0x58]
mov dword [ebp - 0x18], 0
call fcn.00468920
add esp, 4
mov byte [ebp - 4], 8
xor ecx, ecx
mov ebx, dword [ebp - 0x18]
mov dword [ebp - 0x20], ecx
mov edi, dword [ebx + 4]
mov esi, dword [edi]
mov dword [ebp - 0x1c], esi
cmp esi, edi
je 0x469730
lea eax, [ebp - 0xc0]
mov dword [ebp - 0x2e4], eax
nop dword [eax]
mov eax, dword [esi + 0x10]
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0xc4], eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0xc0], eax
movzx eax, byte [esi + 0x18]
mov byte [ebp - 0xbc], al
movzx eax, byte [esi + 0x19]
mov byte [ebp - 0xbb], al
lea eax, [esi + 0x1c]
push eax
call fcn.004518b0
lea eax, [esi + 0x34]
mov byte [ebp - 4], 9
push eax
lea ecx, [ebp - 0xa0]
call fcn.004518b0
lea eax, [esi + 0x4c]
mov byte [ebp - 4], 0xa
push eax
lea ecx, [ebp - 0x88]
call fcn.0040d630
movzx eax, byte [esi + 0x58]
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 8
mov byte [ebp - 0x7c], al
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x20], eax
call fcn.0043c470
lea ecx, [ebp - 0x1c]
call fcn.004319f0
mov esi, dword [ebp - 0x1c]
cmp esi, edi
jne 0x4696a0
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2e0]
inc ecx
push eax
push ecx
mov dword [ebp - 0x20], ecx
mov dword [eax], ecx
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebx + 4]
call fcn.0046b3d0
add esp, 4
mov ecx, eax
call fcn.004693b0
mov esi, dword [ebp - 0x18]
lea eax, [ebp - 0x40]
push eax
mov ecx, esi
call fcn.00468b60
push 0xb0
lea eax, [ebp - 0x22c]
mov byte [ebp - 4], 0xb
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 4
lea eax, [ebp - 0x70]
lea ecx, [ebp - 0x22c]
push 0x22
push eax
call fcn.0045f390
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x40]
cmp dword [ebp - 0x2c], 0x10
lea ecx, [ebp - 0x22c]
push 0
push dword [ebp - 0x30]
cmovae eax, dword [ebp - 0x40]
push eax
call fcn.0044eca0
lea ecx, [ebp - 0x22c]
call fcn.0045eb30
mov eax, dword [ebp - 0x22c]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0x22c], 0x4c167c
mov eax, dword [ebp - 0x22c]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x230], eax
lea ecx, [ebp - 0x228]
call fcn.004533e0
mov eax, dword [ebp - 0x22c]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0x22c], 0x4bf3a8
mov eax, dword [ebp - 0x22c]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x230], eax
lea eax, [ebp - 0x1c4]
mov byte [ebp - 4], 0xd
push eax
mov dword [ebp - 0x1c4], 0x4bf3b0
call fcn.004814d0
mov byte [ebp - 4], 8
add esp, 4
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
jb 0x469866
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x46985c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4699b7
push edx
push ecx
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
add esp, 8
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
test esi, esi
je 0x4698bb
mov edi, dword [ebx + 4]
mov byte [ebp - 4], 0xe
lea ecx, [ebx + 4]
push dword [edi + 4]
call fcn.0045f1b0
mov eax, dword [ebx + 4]
push 0x5c
mov dword [eax + 4], edi
mov eax, dword [ebx + 4]
mov dword [eax], edi
mov eax, dword [ebx + 4]
mov dword [eax + 8], edi
mov dword [ebx + 8], 0
push dword [ebx + 4]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
push 0xc
push esi
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
add esp, 0x10
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x44]
cmp edx, 0x10
jb 0x4698f3
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4698e9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4699bc
push edx
push ecx
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
add esp, 8
lea ecx, [ebp - 0x2dc]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
call fcn.00442c10
mov eax, dword [ebp - 0x17c]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0x17c], 0x4c08fc
mov eax, dword [ebp - 0x17c]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0x180], eax
lea ecx, [ebp - 0x16c]
call fcn.004533e0
mov eax, dword [ebp - 0x17c]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0x17c], 0x4bf318
mov eax, dword [ebp - 0x17c]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x18]
mov dword [ebp + ecx - 0x180], eax
lea eax, [ebp - 0x10c]
mov byte [ebp - 4], 0xf
push eax
mov dword [ebp - 0x10c], 0x4bf3b0
call fcn.004814d0
add esp, 4
lea ecx, [ebp - 0x70]
call fcn.004367a0
push dword [ebp - 0x28]
call fcn.004812f0
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004a8e74
mov esp, ebp
pop ebp
ret 4
call fcn.004a1b50
call fcn.004a1b50
int3