Function at 0x40a910
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c50e0
mov eax, dword fs:[0]
push eax
sub esp, 0x4c8
mov eax, dword [0x50f060]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x4b0], edi
push 0x4d8bf0
xor esi, esi
push edi
mov dword [ebp - 0x4c4], esi
call fcn.004a0dbe
add esp, 8
mov dword [ebp - 0x4cc], eax
test eax, eax
jne 0x40a97a
push edi
push str.itemdb_readdb:_File_not_found___s___skipping._n
call fcn.004647e0
add esp, 8
xor al, al
jmp 0x40ae29
push eax
lea eax, [ebp - 0x410]
push 0x400
push eax
call fcn.004a90d6
add esp, 0xc
test eax, eax
je 0x40ae08
nop word [eax + eax]
inc esi
cmp byte [ebp - 0x410], 0x2f
mov dword [ebp - 0x4ac], esi
jne 0x40a9bd
cmp byte [ebp - 0x40f], 0x2f
je 0x40ade6
push 0x80
lea eax, [ebp - 0x490]
push 0
push eax
call fcn.00497100
lea eax, [ebp - 0x410]
push 0x4e69b0
push eax
call fcn.00496500
add esp, 0x14
test eax, eax
je 0x40a9eb
mov byte [eax], 0
movzx eax, byte [ebp - 0x410]
lea esi, [ebp - 0x410]
push eax
call fcn.004a9ec0
add esp, 4
test eax, eax
je 0x40aa17
movzx eax, byte [esi + 1]
inc esi
push eax
call fcn.004a9ec0
add esp, 4
test eax, eax
jne 0x40aa05
cmp byte [esi], 0
je 0x40ade0
xor edi, edi
push 0x2c
push esi
mov dword [ebp + edi*4 - 0x490], esi
call fcn.00496770
mov esi, eax
add esp, 8
test esi, esi
je 0x40aa44
mov byte [esi], 0
inc edi
inc esi
cmp edi, 0x13
jl 0x40aa22
push 0xa
push 0
push dword [ebp - 0x490]
call fcn.004a62db
add esp, 0xc
mov dword [ebp - 0x4b4], eax
test esi, esi
jne 0x40aa81
mov edi, dword [ebp - 0x4b0]
mov esi, dword [ebp - 0x4ac]
push eax
push edi
push esi
push str.itemdb_readdb:_Insufficient_columns_in_line__d_of___s___item_with_id__u___skipping._n
call fcn.00464820
add esp, 0x10
jmp 0x40ade6
cmp byte [esi], 0x7b
je 0x40aaa7
mov edi, dword [ebp - 0x4b0]
mov esi, dword [ebp - 0x4ac]
push eax
push edi
push esi
push str.itemdb_readdb:_Invalid_format__Script_column__in_line__d_of___s___item_with_id__u___skipping._n
call fcn.00464820
add esp, 0x10
jmp 0x40ade6
lea eax, [esi + 1]
push 0x4e6aa0
push eax
call fcn.00496500
add esp, 8
test eax, eax
jne 0x40aae2
push dword [ebp - 0x4b4]
mov edi, dword [ebp - 0x4b0]
mov esi, dword [ebp - 0x4ac]
push edi
push esi
push str.itemdb_readdb:_Invalid_format__Script_column__in_line__d_of___s___item_with_id__u___skipping._n
call fcn.00464820
add esp, 0x10
jmp 0x40ade6
mov byte [eax], 0
cmp byte [eax + 2], 0x7b
jne 0x40ab02
add eax, 3
push 0x4e6aa0
push eax
call fcn.00496500
mov edx, eax
add esp, 8
test edx, edx
jne 0x40ab28
push dword [ebp - 0x4b4]
mov edi, dword [ebp - 0x4b0]
mov esi, dword [ebp - 0x4ac]
push edi
push esi
push str.itemdb_readdb:_Invalid_format__OnEquip_Script_column__in_line__d_of___s___item_with_id__u___skipping._n
call fcn.00464820
add esp, 0x10
jmp 0x40ade6
mov byte [edx], 0
add edx, 2
cmp byte [edx], 0x7b
je 0x40ab59
push dword [ebp - 0x4b4]
mov edi, dword [ebp - 0x4b0]
mov esi, dword [ebp - 0x4ac]
push edi
push esi
push str.itemdb_readdb:_Invalid_format__OnUnequip_Script_column__in_line__d_of___s___item_with_id__u___skipping._n
call fcn.00464820
add esp, 0x10
jmp 0x40ade6
mov ecx, edx
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ab60
sub ecx, esi
lea eax, [edx - 2]
add eax, ecx
mov dword [ebp - 0x4c0], eax
cmp byte [eax], 0x7d
je 0x40ac15
xor eax, eax
mov ecx, edx
mov dword [ebp - 0x4bc], eax
xor edi, edi
xor esi, esi
lea eax, [ecx + 1]
mov dword [ebp - 0x4b8], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ab94
sub ecx, dword [ebp - 0x4b8]
je 0x40ac0f
mov al, byte [edx + esi]
lea ecx, [edx + esi]
cmp al, 0x7b
jne 0x40abb0
inc edi
jmp 0x40abc0
cmp al, 0x7d
jne 0x40abc0
inc dword [ebp - 0x4bc]
mov dword [ebp - 0x4c0], ecx
mov eax, edx
inc esi
lea ecx, [eax + 1]
mov dword [ebp - 0x4b8], ecx
nop dword [eax]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40abd0
sub eax, dword [ebp - 0x4b8]
cmp esi, eax
jb 0x40aba3
cmp edi, dword [ebp - 0x4bc]
je 0x40ac0f
push dword [ebp - 0x4b4]
mov edi, dword [ebp - 0x4b0]
mov esi, dword [ebp - 0x4ac]
push edi
push esi
push str.itemdb_readdb:_Mismatching_curly_braces_in_line__d_of___s___item_with_id__u___skipping._n
call fcn.00464820
add esp, 0x10
jmp 0x40ade6
mov eax, dword [ebp - 0x4c0]
push 0xa
push 0
push dword [ebp - 0x448]
mov byte [eax], 0
call fcn.004a62db
mov ecx, dword [ebp - 0x48c]
add esp, 0xc
mov dword [ebp - 0x4c8], eax
call fcn.00465480
mov edx, eax
mov dword [ebp - 0x498], 0
mov ecx, edx
mov dword [ebp - 0x494], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x4a8], xmm0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ac60
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x4a8]
call fcn.00406330
lea eax, [ebp - 0x4b4]
mov dword [ebp - 4], 0
push eax
call fcn.0044ed50
mov esi, eax
lea eax, [ebp - 0x4a8]
cmp esi, eax
je 0x40aced
mov edx, dword [esi + 0x14]
cmp edx, 0x10
jb 0x40acc8
mov ecx, dword [esi]
inc edx
cmp edx, 0x1000
jb 0x40acbe
mov edi, dword [ecx - 4]
add edx, 0x23
sub ecx, edi
lea eax, [ecx - 4]
cmp eax, 0x1f
ja 0x40ae44
mov ecx, edi
push edx
push ecx
call fcn.00494cfb
add esp, 8
movups xmm0, xmmword [ebp - 0x4a8]
mov ecx, 0xf
mov byte [ebp - 0x4a8], 0
movups xmmword [esi], xmm0
movq xmm0, qword [ebp - 0x498]
movq qword [esi + 0x10], xmm0
jmp 0x40acf3
mov ecx, dword [ebp - 0x494]
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0x10
jb 0x40ad2e
mov edx, dword [ebp - 0x4a8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40ad24
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ae44
push ecx
push edx
call fcn.00494cfb
add esp, 8
push dword [ebp - 0x458]
call fcn.004a9af2
add esp, 4
test eax, 0x1f01
je 0x40add4
mov edx, dword [ebp - 0x4c8]
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [ebp - 0x4b8], edx
imul ecx, eax, 0x1000193
mov eax, edx
shr eax, 8
movzx eax, al
xor ecx, eax
mov eax, edx
shr eax, 0x10
movzx eax, al
imul ecx, ecx, 0x1000193
shr edx, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
xor eax, edx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x4b8]
push eax
lea eax, [ebp - 0x4d4]
push eax
call fcn.00462060
mov ecx, dword [0x533428]
mov eax, dword [eax + 4]
test eax, eax
cmovne ecx, eax
xor esi, esi
cmp ecx, dword [0x533428]
lea eax, [ecx + 0xc]
cmove eax, esi
test eax, eax
jne 0x40add4
lea eax, [ebp - 0x4c8]
push eax
call fcn.0044ecf0
mov ecx, dword [ebp - 0x4b4]
mov dword [eax], ecx
inc dword [ebp - 0x4c4]
mov edi, dword [ebp - 0x4b0]
mov esi, dword [ebp - 0x4ac]
push dword [ebp - 0x4cc]
lea eax, [ebp - 0x410]
push 0x400
push eax
call fcn.004a90d6
add esp, 0xc
test eax, eax
jne 0x40a9a0
push dword [ebp - 0x4cc]
call fcn.004a0efa
push edi
push dword [ebp - 0x4c4]
push str.Done_reading_e_1_37m_ue_0m_entries_in_e_1_37m_se_0m._n
call fcn.00464780
add esp, 0x10
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00494cb1
mov esp, ebp
pop ebp
ret
call fcn.004a1c3e
int3