Function at 0x470490
Capabilities:
Hash data using fnv

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f10a6
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x578
mov eax, dword [0x53e060]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x578], esi
push 0x502c00
push esi
call fcn.004ca5ae
add esp, 8
mov dword [ebp - 0x570], eax
test eax, eax
jne 0x470506
push esi
push str.Cant_read__s_n
call fcn.0049e790
add esp, 8
xor al, al
jmp 0x470ab5
push eax
lea eax, [ebp - 0x518]
xor esi, esi
push 0x400
push eax
xor edi, edi
mov dword [ebp - 0x564], esi
call fcn.004d20e6
add esp, 0xc
test eax, eax
je 0x470a91
nop dword [eax]
inc edi
cmp byte [ebp - 0x518], 0x2f
mov dword [ebp - 0x56c], edi
jne 0x47054d
cmp byte [ebp - 0x517], 0x2f
je 0x470a6f
lea ecx, [ebp - 0x518]
call fcn.0049f3b0
mov esi, eax
cmp byte [esi], 0
je 0x470a69
push 0x2c
push esi
call fcn.004bff60
add esp, 8
test eax, eax
jne 0x47058c
lea eax, [ebp - 0x118]
push eax
push edi
push str.itemdb_read_combos:_Insufficient_columns_in_line__d_of___s___skipping._n
call fcn.0049e790
add esp, 0xc
jmp 0x470a69
push 0x2c
push esi
call fcn.004bff60
mov edi, eax
push 0x2c
mov byte [edi], 0
inc edi
push edi
mov dword [ebp - 0x574], edi
call fcn.004bff60
add esp, 0x10
cmp byte [edi], 0x7b
je 0x4705d0
mov edi, dword [ebp - 0x56c]
lea eax, [ebp - 0x118]
push eax
push edi
push str.itemdb_read_combos_1_:_Invalid_format__Script_column__in_line__d_of___s___skipping._n
call fcn.0049e790
add esp, 0xc
jmp 0x470a69
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4705d5
sub ecx, edx
cmp byte [ecx + edi - 1], 0x7d
je 0x470605
mov edi, dword [ebp - 0x56c]
lea eax, [ebp - 0x118]
push eax
push edi
push str.itemdb_read_combos_2_:_Invalid_format__Script_column__in_line__d_of___s___skipping._n
call fcn.0049e790
add esp, 0xc
jmp 0x470a69
xor edi, edi
test esi, esi
je 0x47063a
push 0xa
push 0
push esi
call fcn.004cf2ed
add esp, 0xc
mov dword [ebp + edi*4 - 0x530], eax
push 0x3a
push esi
call fcn.004bff60
mov esi, eax
add esp, 8
test esi, esi
je 0x470634
mov byte [esi], 0
inc esi
inc edi
cmp edi, 6
jl 0x470607
cmp edi, 2
jge 0x47065f
mov edi, dword [ebp - 0x56c]
lea eax, [ebp - 0x118]
push eax
push edi
push str.itemdb_read_combos:_line__d_of___s__doesnt_have_enough_items_to_make_for_a_combo__min:2___skipping._n
call fcn.0049e790
add esp, 0xc
jmp 0x470a69
xor esi, esi
mov edx, dword [ebp + esi*4 - 0x530]
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [ebp - 0x568], edx
imul ecx, eax, 0x1000193
mov eax, edx
shr eax, 8
movzx eax, al
xor ecx, eax
mov eax, edx
shr eax, 0x10
imul ecx, ecx, 0x1000193
movzx eax, al
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
push eax
lea eax, [ebp - 0x568]
push eax
lea eax, [ebp - 0x580]
push eax
call fcn.00499d70
mov eax, dword [eax + 4]
test eax, eax
je 0x4706d8
cmp eax, dword [0x56c320]
je 0x4706d8
add eax, 0xc
je 0x4706d8
inc esi
cmp esi, edi
jl 0x470661
jmp 0x4706f4
push dword [ebp + esi*4 - 0x530]
push str.itemdb_read_combos:_Invalid_item_ID__u._n
call fcn.0049e750
add esp, 8
cmp esi, edi
jl 0x470a63
push 0x1c
mov ecx, 0x541028
call fcn.004a0020
push 0x1e
mov ecx, 0x541028
call fcn.004a0020
mov ecx, dword [str.Combos]
xorps xmm0, xmm0
movups xmmword [ebp - 0x548], xmm0
mov dword [ebp - 0x548], ecx
mov cx, word [0x527398]
mov dword [ebp - 0x538], 6
mov dword [ebp - 0x534], 0xf
mov word [ebp - 0x544], cx
mov byte [ebp - 0x542], 0
lea ecx, [ebp - 0x548]
mov dword [ebp - 4], 0
push ecx
mov ecx, eax
call fcn.004a1620
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x534]
cmp ecx, 0x10
jb 0x4707a1
mov edx, dword [ebp - 0x548]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x470797
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x470ad3
push ecx
push edx
call fcn.004be4f6
add esp, 8
push 0x18
mov ecx, 0x541028
call fcn.004a0020
push 0x1c
mov ecx, 0x541028
call fcn.004a0020
push 0x1e
mov ecx, 0x541028
call fcn.004a0020
mov ecx, dword [str.Combo]
xorps xmm0, xmm0
movups xmmword [ebp - 0x548], xmm0
mov dword [ebp - 0x548], ecx
mov cl, byte [0x5273b0]
mov dword [ebp - 0x538], 5
mov dword [ebp - 0x534], 0xf
mov byte [ebp - 0x544], cl
mov byte [ebp - 0x543], 0
lea ecx, [ebp - 0x548]
mov dword [ebp - 4], 1
push ecx
mov ecx, eax
call fcn.004a1620
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x534]
cmp ecx, 0x10
jb 0x470858
mov edx, dword [ebp - 0x548]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x47084e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x470ad3
push ecx
push edx
call fcn.004be4f6
add esp, 8
push 0x18
mov ecx, 0x541028
xor esi, esi
call fcn.004a0020
nop word [eax + eax]
push 0x1c
mov ecx, 0x541028
call fcn.004a0020
mov edx, dword [ebp + esi*4 - 0x530]
mov eax, edx
shr eax, 8
movzx ecx, al
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [ebp - 0x568], edx
imul eax, eax, 0x1000193
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 - 0x568]
push eax
lea eax, [ebp - 0x588]
push eax
call fcn.00499d70
mov eax, dword [eax + 4]
test eax, eax
je 0x4708f0
cmp eax, dword [0x56c320]
je 0x4708f0
add eax, 0xc
mov dword [ebp - 0x568], eax
jmp 0x4708fa
mov dword [ebp - 0x568], 0
push 0x1e
mov ecx, 0x541028
call fcn.004a0020
push dword [ebp - 0x568]
mov ecx, eax
call fcn.004a1620
push 0x1d
mov ecx, 0x541028
call fcn.004a0020
inc esi
cmp esi, edi
jl 0x470870
push 0x19
mov ecx, 0x541028
call fcn.004a0020
push 0x1d
mov ecx, 0x541028
call fcn.004a0020
mov edi, dword [ebp - 0x574]
lea ecx, [edi + 1]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x470950
sub ecx, edx
push 0x19
mov byte [edi + ecx], al
mov ecx, 0x541028
call fcn.004a0020
push 0x1e
mov ecx, 0x541028
call fcn.004a0020
mov ecx, dword [str.Script]
xorps xmm0, xmm0
movups xmmword [ebp - 0x560], xmm0
mov dword [ebp - 0x560], ecx
mov cx, word [0x522fa8]
mov dword [ebp - 0x550], 6
mov dword [ebp - 0x54c], 0xf
mov word [ebp - 0x55c], cx
mov byte [ebp - 0x55a], 0
lea ecx, [ebp - 0x560]
mov dword [ebp - 4], 2
push ecx
mov ecx, eax
call fcn.004a1620
mov dword [ebp - 4], 0xffffffff
mov esi, eax
mov ecx, dword [ebp - 0x54c]
cmp ecx, 0x10
jb 0x470a0b
mov edx, dword [ebp - 0x560]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x470a01
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x470ad3
push ecx
push edx
call fcn.004be4f6
add esp, 8
push 8
mov ecx, esi
mov dword [ebp - 0x550], 0
mov dword [ebp - 0x54c], 0xf
mov byte [ebp - 0x560], 0
call fcn.004a0020
lea ecx, [edi + 1]
mov esi, eax
call fcn.0049f3b0
mov edx, eax
mov ecx, esi
call fcn.00406fb0
push 0x1d
mov ecx, 0x541028
call fcn.004a0020
mov esi, dword [ebp - 0x564]
mov edi, dword [ebp - 0x56c]
inc esi
mov dword [ebp - 0x564], esi
jmp 0x470a6f
mov edi, dword [ebp - 0x56c]
mov esi, dword [ebp - 0x564]
push dword [ebp - 0x570]
lea eax, [ebp - 0x518]
push 0x400
push eax
call fcn.004d20e6
add esp, 0xc
test eax, eax
jne 0x470530
push dword [ebp - 0x570]
call fcn.004ca6ea
add esp, 4
push dword [ebp - 0x578]
push esi
push str.Done_reading_e_1_37m_de_0m_entries_in_e_1_37m_se_0m._n
call fcn.0049e6f0
add esp, 0xc
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004be4ac
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.004cb42e
int3