Function at 0x484420
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x51272a
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.00472450
mov ebx, dword [ebp + 0x14]
add esp, 4
test al, al
je 0x484697
push ebx
call fcn.004803a0
add esp, 4
cmp eax, 0x7fffffff
je 0x4845a4
cmp eax, 3
je 0x4845a4
mov ecx, dword [edi]
lea eax, [ebp - 0x250]
push ebx
push 0xfffffffffffffff2
push eax
call fcn.004e4840
mov esi, eax
mov ecx, dword [edi]
lea eax, [ebp - 0xa8]
push 0
push 0x1076
push eax
mov dword [ebp - 4], 0
call fcn.004e0d20
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
mov byte [ebp - 4], 1
jbe 0x4844b7
mov eax, dword [eax]
push ecx
push eax
push esi
call fcn.00434480
mov eax, dword [edi]
mov eax, dword [eax]
push dword [eax]
lea eax, [ebp - 0x30]
push eax
call fcn.004724a0
add esp, 0x14
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
mov byte [ebp - 4], 2
jbe 0x4844e0
mov eax, dword [eax]
push ecx
push eax
push esi
call fcn.00434480
push str._spec_allows_BuiltIn_FragDepth_to_be_only_used_for_variables_with_Output_storage_class.
push esi
call fcn.00433f60
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.00480050
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
mov byte [ebp - 4], 3
jbe 0x48451f
mov eax, dword [eax]
push ecx
push eax
push esi
call fcn.00434480
push 0x520b78
push esi
call fcn.00433f60
add esp, 0x14
lea eax, [ebp - 0x60]
mov ecx, edi
push ebx
push eax
call fcn.00480450
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
mov byte [ebp - 4], 4
jbe 0x484550
mov eax, dword [eax]
push ecx
push eax
push esi
call fcn.00434480
mov esi, dword [esi + 0xe8]
lea ecx, [ebp - 0x60]
add esp, 0xc
call fcn.00401790
lea ecx, [ebp - 0x48]
call fcn.00401790
lea ecx, [ebp - 0x30]
call fcn.00401790
lea ecx, [ebp - 0xa8]
call fcn.00401790
lea ecx, [ebp - 0x250]
call fcn.00463850
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 0x4845cf
mov esi, dword [eax + 0x10]
cmp esi, 4
jne 0x48478d
lea ecx, [ebp - 0x10]
call fcn.00477460
mov eax, dword [ebp - 0x10]
cmp byte [eax + 0xd], 0
je 0x4845b2
mov eax, dword [edi + 0x1c]
mov esi, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x14], eax
cmp esi, eax
je 0x484697
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.0045db70
mov edx, dword [eax + 4]
test edx, edx
jne 0x484645
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 0x484939
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 0xc
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.00441b50
mov eax, dword [eax + 8]
cmp byte [eax + 0xd], 0
jne 0x484939
cmp dword [eax + 0x10], 0xc
ja 0x484939
add esi, 4
cmp esi, dword [ebp - 0x14]
jne 0x4845e2
cmp dword [edi + 0xc], 0
jne 0x484b67
mov eax, dword [ebx + 0x28]
lea ecx, [edi + 4]
mov dword [ebp + 0x14], eax
lea eax, [ebp + 0x14]
push eax
call fcn.0047d780
mov dword [ebp + 0x10], eax
lea ecx, [ebp - 0x158]
lea eax, [ebp - 0x15c]
mov dword [ebp - 0x160], fcn.00484420
push ebx
mov dword [ebp - 0x14], eax
call fcn.0047d3d0
push dword [ebp + 0xc]
lea ecx, [ebp - 0x10c]
mov dword [ebp - 4], 0xd
call fcn.0047d3d0
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.00473780
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.004e9663
mov edi, eax
add esp, 4
mov dword [ebp + 0xc], edi
mov dword [edi], 0x56bb4c
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.0047d250
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 0x484b7c
jmp 0x484adf
mov ecx, dword [edi]
lea eax, [ebp - 0x250]
push ebx
push 0xfffffffffffffff2
push eax
call fcn.004e4840
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.004e0d20
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
mov byte [ebp - 4], 6
jbe 0x4847c9
mov eax, dword [eax]
push ecx
push eax
push dword [ebp + 0x14]
call fcn.00434480
mov eax, dword [edi]
mov eax, dword [eax]
push dword [eax]
lea eax, [ebp - 0x48]
push eax
call fcn.004724a0
add esp, 0x14
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
mov byte [ebp - 4], 7
jbe 0x4847f4
mov eax, dword [eax]
push ecx
push eax
push dword [ebp + 0x14]
call fcn.00434480
push str._spec_allows_BuiltIn_FragDepth_to_be_used_only_with_Fragment_execution_model.
push dword [ebp + 0x14]
call fcn.00433f60
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.00480050
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
mov byte [ebp - 4], 8
jbe 0x484833
mov eax, dword [eax]
mov ebx, dword [ebp + 0x14]
push ecx
push eax
push ebx
call fcn.00434480
mov ecx, dword [ebp - 0x1c]
add esp, 0xc
mov esi, dword [ebx + 0xe8]
cmp ecx, 0xf
jbe 0x48487b
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x484871
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x484b86
push ecx
push edx
call fcn.004e9693
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 0x4848c1
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4848b7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x484b86
push ecx
push edx
call fcn.004e9693
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 0x484907
mov edx, dword [ebp - 0x60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4848fd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x484b86
push ecx
push edx
call fcn.004e9693
add esp, 8
lea ecx, [ebp - 0x250]
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
call fcn.00463850
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.004e4840
mov esi, eax
mov ecx, dword [edi]
lea eax, [ebp - 0x30]
push 0
push 0x1078
push eax
mov dword [ebp - 4], 9
call fcn.004e0d20
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
mov byte [ebp - 4], 0xa
jbe 0x484974
mov eax, dword [eax]
push ecx
push eax
push esi
call fcn.00434480
mov eax, dword [edi]
mov eax, dword [eax]
push dword [eax]
lea eax, [ebp - 0x48]
push eax
call fcn.004724a0
add esp, 0x14
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
mov byte [ebp - 4], 0xb
jbe 0x48499d
mov eax, dword [eax]
push ecx
push eax
push esi
call fcn.00434480
push str._spec_requires_DepthReplacing_execution_mode_to_be_declared_when_using_BuiltIn_FragDepth.
push esi
call fcn.00433f60
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.00480050
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
mov byte [ebp - 4], 0xc
jbe 0x4849dc
mov eax, dword [eax]
push ecx
push eax
push esi
call fcn.00434480
mov ecx, dword [ebp - 0x4c]
add esp, 0xc
mov esi, dword [esi + 0xe8]
cmp ecx, 0xf
jbe 0x484a21
mov edx, dword [ebp - 0x60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x484a17
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x484b8b
push ecx
push edx
call fcn.004e9693
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 0x484a67
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x484a5d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x484b8b
push ecx
push edx
call fcn.004e9693
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 0x484aad
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x484aa3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x484b8b
push ecx
push edx
call fcn.004e9693
add esp, 8
lea ecx, [ebp - 0x250]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0xf
mov byte [ebp - 0x30], 0
call fcn.00463850
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.004e9663
mov esi, eax
add esp, 4
mov dword [esi + 0x2c], 0
lea ebx, [esi + 8]
test edi, edi
je 0x484b2c
lea eax, [ebp - 0x90]
cmp edi, eax
jne 0x484b27
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 0x484b2a
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 0x484b5c
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.0047d520
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.004e72d1
call fcn.004ee89f
call fcn.004ee89f
int3