Function at 0x48f9b0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x52376a
push eax
mov dword fs:[0], esp
sub esp, 0x244
push ebx
push esi
push edi
mov edi, ecx
mov eax, dword [edi]
mov eax, dword [eax]
push dword [eax]
call fcn.0047ccb0
mov ebx, dword [ebp + 0x14]
add esp, 4
test al, al
je 0x48fc65
movzx eax, word [ebx + 0x1e]
cmp eax, 0x7b
ja 0x48fa11
je 0x48fa21
cmp eax, 0x20
je 0x48fa28
cmp eax, 0x27
je 0x48fa28
cmp eax, 0x3b
jne 0x48fb6c
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
jmp 0x48fa2d
sub eax, 0x1141
je 0x48fa28
sub eax, 1
jne 0x48fb6c
mov eax, dword [ebx]
mov eax, dword [eax + 0x10]
jmp 0x48fa2d
mov eax, dword [ebx]
mov eax, dword [eax + 8]
cmp eax, 0x7fffffff
je 0x48fb6c
cmp eax, 3
je 0x48fb6c
mov ecx, dword [edi]
lea eax, [ebp - 0x250]
push ebx
push 0xfffffffffffffff2
push eax
call fcn.004f5350
mov esi, eax
mov ecx, dword [edi]
lea eax, [ebp - 0xa8]
push 0
push 0x1076
push eax
mov dword [ebp - 4], 0
call fcn.004f1460
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
mov byte [ebp - 4], 1
jbe 0x48fa7f
mov eax, dword [eax]
push ecx
push eax
push esi
call fcn.00438fa0
mov eax, dword [edi]
mov eax, dword [eax]
push dword [eax]
lea eax, [ebp - 0x30]
push eax
call fcn.0047cd00
add esp, 0x14
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
mov byte [ebp - 4], 2
jbe 0x48faa8
mov eax, dword [eax]
push ecx
push eax
push esi
call fcn.00438fa0
push str._spec_allows_BuiltIn_FragDepth_to_be_only_used_for_variables_with_Output_storage_class.
push esi
call fcn.00438a80
add esp, 0x14
lea eax, [ebp - 0x48]
mov ecx, edi
push 0x7fffffff
push ebx
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
push eax
call fcn.0048b0a0
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
mov byte [ebp - 4], 3
jbe 0x48fae7
mov eax, dword [eax]
push ecx
push eax
push esi
call fcn.00438fa0
push 0x533328
push esi
call fcn.00438a80
add esp, 0x14
lea eax, [ebp - 0x60]
mov ecx, edi
push ebx
push eax
call fcn.0048b440
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
mov byte [ebp - 4], 4
jbe 0x48fb18
mov eax, dword [eax]
push ecx
push eax
push esi
call fcn.00438fa0
mov esi, dword [esi + 0xe8]
lea ecx, [ebp - 0x60]
add esp, 0xc
call fcn.00401760
lea ecx, [ebp - 0x48]
call fcn.00401760
lea ecx, [ebp - 0x30]
call fcn.00401760
lea ecx, [ebp - 0xa8]
call fcn.00401760
lea ecx, [ebp - 0x250]
call fcn.0046b990
pop edi
mov eax, esi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [edi + 0x20]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
cmp byte [eax + 0xd], 0
jne 0x48fb9d
lea ebx, [ebx]
mov esi, dword [eax + 0x10]
cmp esi, 4
jne 0x48fd5b
lea ecx, [ebp - 0x10]
call fcn.00481cd0
mov eax, dword [ebp - 0x10]
cmp byte [eax + 0xd], 0
je 0x48fb80
mov eax, dword [edi + 0x1c]
mov esi, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x14], eax
cmp esi, eax
je 0x48fc65
mov edx, dword [esi]
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [ebp - 0x10], 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
shr edx, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, dword [edi]
xor eax, edx
lea ecx, [ecx + 0x294]
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x68]
push eax
call fcn.00465c40
mov edx, dword [eax + 4]
test edx, edx
jne 0x48fc13
mov ecx, dword [edi]
mov edx, dword [ecx + 0x298]
mov ebx, dword [edi]
lea eax, [edx + 0xc]
xor ecx, ecx
cmp edx, dword [ebx + 0x298]
mov ebx, dword [ebp + 0x14]
cmovne ecx, eax
test ecx, ecx
je 0x48ff07
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 0xc
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.00446830
mov eax, dword [eax + 8]
cmp byte [eax + 0xd], 0
jne 0x48ff07
cmp dword [eax + 0x10], 0xc
ja 0x48ff07
add esi, 4
cmp esi, dword [ebp - 0x14]
jne 0x48fbb0
cmp dword [edi + 0xc], 0
jne 0x490135
mov eax, dword [ebx + 0x28]
lea ecx, [edi + 4]
mov dword [ebp + 0x14], eax
lea eax, [ebp + 0x14]
push eax
call fcn.00488260
mov dword [ebp + 0x10], eax
lea ecx, [ebp - 0x158]
lea eax, [ebp - 0x15c]
mov dword [ebp - 0x160], fcn.0048f9b0
push ebx
mov dword [ebp - 0x14], eax
call fcn.00487eb0
push dword [ebp + 0xc]
lea ecx, [ebp - 0x10c]
mov dword [ebp - 4], 0xd
call fcn.00487eb0
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0xbc]
mov dword [ebp - 4], 0xe
mov eax, dword [esi]
mov dword [ebp - 0xc0], eax
lea eax, [esi + 4]
push eax
call fcn.0047dfe0
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], edi
mov dword [ebp - 4], 0xf
mov dword [ebp - 0x6c], 0
push 0xbc
mov byte [ebp - 4], 0x10
call fcn.004fa223
mov edi, eax
add esp, 4
mov dword [ebp + 0xc], edi
mov dword [edi], 0x58a528
lea ecx, [edi + 8]
mov eax, dword [ebp - 0x160]
mov dword [edi + 4], eax
lea eax, [ebp - 0x15c]
push eax
mov byte [ebp - 4], 0x11
call fcn.00487d30
mov eax, dword [ebp - 0xac]
mov dword [edi + 0xb8], eax
mov dword [ebp - 0x6c], edi
mov eax, dword [ebp + 0x10]
mov byte [ebp - 4], 0x12
cmp dword [eax + 4], 0x5555555
mov ecx, dword [eax]
mov dword [ebp + 0xc], ecx
je 0x49014a
jmp 0x4900ad
mov ecx, dword [edi]
lea eax, [ebp - 0x250]
push ebx
push 0xfffffffffffffff2
push eax
call fcn.004f5350
mov dword [ebp + 0x14], eax
mov ecx, dword [edi]
lea eax, [ebp - 0x60]
push 0
push 0x1075
push eax
mov dword [ebp - 4], 5
call fcn.004f1460
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
mov byte [ebp - 4], 6
jbe 0x48fd97
mov eax, dword [eax]
push ecx
push eax
push dword [ebp + 0x14]
call fcn.00438fa0
mov eax, dword [edi]
mov eax, dword [eax]
push dword [eax]
lea eax, [ebp - 0x48]
push eax
call fcn.0047cd00
add esp, 0x14
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
mov byte [ebp - 4], 7
jbe 0x48fdc2
mov eax, dword [eax]
push ecx
push eax
push dword [ebp + 0x14]
call fcn.00438fa0
push str._spec_allows_BuiltIn_FragDepth_to_be_used_only_with_Fragment_execution_model.
push dword [ebp + 0x14]
call fcn.00438a80
add esp, 0x14
lea eax, [ebp - 0x30]
mov ecx, edi
push esi
push ebx
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
push eax
call fcn.0048b0a0
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
mov byte [ebp - 4], 8
jbe 0x48fe01
mov eax, dword [eax]
mov ebx, dword [ebp + 0x14]
push ecx
push eax
push ebx
call fcn.00438fa0
mov ecx, dword [ebp - 0x1c]
add esp, 0xc
mov esi, dword [ebx + 0xe8]
cmp ecx, 0xf
jbe 0x48fe49
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x48fe3f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x490154
push ecx
push edx
call fcn.004fa253
add esp, 8
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0xf
mov byte [ebp - 0x30], 0
cmp ecx, 0xf
jbe 0x48fe8f
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x48fe85
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x490154
push ecx
push edx
call fcn.004fa253
add esp, 8
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0xf
mov byte [ebp - 0x48], 0
cmp ecx, 0xf
jbe 0x48fed5
mov edx, dword [ebp - 0x60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x48fecb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x490154
push ecx
push edx
call fcn.004fa253
add esp, 8
lea ecx, [ebp - 0x250]
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
call fcn.0046b990
pop edi
mov eax, esi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [edi]
lea eax, [ebp - 0x250]
push ebx
push 0xfffffffffffffff2
push eax
call fcn.004f5350
mov esi, eax
mov ecx, dword [edi]
lea eax, [ebp - 0x30]
push 0
push 0x1078
push eax
mov dword [ebp - 4], 9
call fcn.004f1460
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
mov byte [ebp - 4], 0xa
jbe 0x48ff42
mov eax, dword [eax]
push ecx
push eax
push esi
call fcn.00438fa0
mov eax, dword [edi]
mov eax, dword [eax]
push dword [eax]
lea eax, [ebp - 0x48]
push eax
call fcn.0047cd00
add esp, 0x14
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
mov byte [ebp - 4], 0xb
jbe 0x48ff6b
mov eax, dword [eax]
push ecx
push eax
push esi
call fcn.00438fa0
push str._spec_requires_DepthReplacing_execution_mode_to_be_declared_when_using_BuiltIn_FragDepth.
push esi
call fcn.00438a80
add esp, 0x14
lea eax, [ebp - 0x60]
mov ecx, edi
push 0x7fffffff
push ebx
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
push eax
call fcn.0048b0a0
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
mov byte [ebp - 4], 0xc
jbe 0x48ffaa
mov eax, dword [eax]
push ecx
push eax
push esi
call fcn.00438fa0
mov ecx, dword [ebp - 0x4c]
add esp, 0xc
mov esi, dword [esi + 0xe8]
cmp ecx, 0xf
jbe 0x48ffef
mov edx, dword [ebp - 0x60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x48ffe5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x490159
push ecx
push edx
call fcn.004fa253
add esp, 8
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
cmp ecx, 0xf
jbe 0x490035
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x49002b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x490159
push ecx
push edx
call fcn.004fa253
add esp, 8
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0xf
mov byte [ebp - 0x48], 0
cmp ecx, 0xf
jbe 0x49007b
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x490071
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x490159
push ecx
push edx
call fcn.004fa253
add esp, 8
lea ecx, [ebp - 0x250]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0xf
mov byte [ebp - 0x30], 0
call fcn.0046b990
pop edi
mov eax, esi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0x10
mov dword [ebp - 0x18], eax
push 0x30
mov byte [ebp - 4], 0x13
mov dword [ebp - 0x14], 0
call fcn.004fa223
mov esi, eax
add esp, 4
mov dword [esi + 0x2c], 0
lea ebx, [esi + 8]
test edi, edi
je 0x4900fa
lea eax, [ebp - 0x90]
cmp edi, eax
jne 0x4900f5
mov eax, dword [edi]
mov ecx, edi
push ebx
call dword [eax + 4]
mov dword [ebx + 0x24], eax
mov ecx, edi
mov eax, dword [edi]
push 0
call dword [eax + 0x10]
jmp 0x4900f8
mov dword [ebx + 0x24], edi
xor edi, edi
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
inc dword [eax + 4]
mov eax, dword [ecx + 4]
mov dword [esi], ecx
mov dword [esi + 4], eax
mov dword [ecx + 4], esi
mov dword [eax], esi
test edi, edi
je 0x49012a
mov edx, dword [edi]
lea eax, [ebp - 0x90]
cmp edi, eax
mov ecx, edi
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
lea ecx, [ebp - 0x15c]
call fcn.00488000
mov ecx, dword [ebp - 0xc]
xor eax, eax
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0x10
push str.list_too_long
call fcn.004f7e11
call fcn.004ff45f
call fcn.004ff45f
int3