Function at 0x4a3e70
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x514dc1
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x244
push ebx
push esi
mov esi, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x24], ebx
push edi
mov ecx, dword [esi + 0x11c]
mov eax, dword [esi + 0x120]
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0xc4], eax
cmp ecx, eax
je 0x4a4ecc
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x24], eax
mov edx, dword [ecx]
lea edi, [esi + 0x128]
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [ebp - 0x1c], edx
imul ecx, eax, 0x1000193
mov eax, edx
shr eax, 8
movzx eax, al
mov dword [ebp - 0x48], edx
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, edi
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x12c]
push eax
call fcn.0045db70
mov eax, dword [ebp - 0x128]
test eax, eax
je 0x4a5286
mov ecx, dword [eax + 0xc]
xor edi, edi
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0xc0], eax
cmp ecx, eax
je 0x4a4eb1
push 0xc
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x108], 0
call fcn.004e9663
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [ebp - 0x10c], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x100], 0
mov dword [ebp - 0xfc], 0
push eax
push 0x10
lea ecx, [ebp - 0x104]
mov byte [ebp - 4], 1
mov dword [ebp - 0xf8], 7
mov dword [ebp - 0xf4], 8
mov dword [ebp - 0x110], 0x3f800000
call fcn.00401910
mov ecx, dword [ebp - 0x7c]
mov dword [ebp - 4], 2
mov eax, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x1c]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x84], ecx
cmp eax, ecx
je 0x4a4d61
lea ecx, [ecx]
mov eax, dword [eax]
mov ecx, esi
push eax
mov dword [ebp - 0x38], eax
call fcn.004de540
mov edx, eax
mov dword [ebp - 0x18], edx
test edx, edx
je 0x4a507b
mov eax, 0x3b
cmp ax, word [edx + 0x1e]
jne 0x4a507b
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 0xc]
sub eax, ecx
sar eax, 4
cmp eax, 2
jbe 0x4a5295
cmp dword [esi + 0x14], 0x10400
movzx ecx, word [ecx + 0x20]
mov eax, dword [edx]
mov edi, dword [eax + ecx*4]
mov dword [ebp - 0x40], edi
jb 0x4a40b3
cmp edi, 7
je 0x4a4f4d
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x134]
push eax
lea ecx, [ebp - 0x110]
call fcn.004672c0
cmp byte [ebp - 0x130], 0
je 0x4a4edf
mov edx, dword [ebp - 0x18]
jmp 0x4a40c1
cmp edi, 1
je 0x4a40c1
cmp edi, 3
jne 0x4a4f6e
mov eax, dword [edx]
mov ecx, esi
push dword [eax + 4]
call fcn.004de540
mov ecx, esi
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
push eax
mov dword [ebp - 0x34], eax
call fcn.004de540
mov edi, eax
test edi, edi
je 0x4a4163
mov eax, 0x1e
cmp ax, word [edi + 0x1e]
jne 0x4a4163
mov eax, dword [ebp - 0x34]
lea ecx, [esi + 0x214]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
push eax
call fcn.00477370
mov esi, dword [eax]
mov eax, dword [esi]
cmp eax, esi
je 0x4a4160
nop
cmp dword [eax + 0x10], 0xb
jne 0x4a4120
cmp dword [eax + 0x20], 0xffffffff
jne 0x4a41bb
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
je 0x4a4146
mov ecx, dword [eax + 4]
cmp byte [ecx + 0xd], 0
jne 0x4a4142
cmp eax, dword [ecx + 8]
jne 0x4a4142
mov eax, ecx
mov ecx, dword [ecx + 4]
cmp byte [ecx + 0xd], 0
je 0x4a4132
mov eax, ecx
jmp 0x4a415c
mov eax, ecx
mov edx, dword [eax]
cmp byte [edx + 0xd], 0
jne 0x4a415c
mov ecx, dword [edx]
mov eax, edx
mov edx, ecx
cmp byte [ecx + 0xd], 0
je 0x4a4150
cmp eax, esi
jne 0x4a4110
mov esi, dword [ebp + 8]
mov eax, dword [ebp - 0x38]
lea ecx, [esi + 0x214]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
push eax
call fcn.00477370
mov esi, dword [eax]
mov eax, dword [esi]
cmp eax, esi
je 0x4a42fe
cmp dword [eax + 0x10], 0xb
je 0x4a42e6
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
je 0x4a42c2
mov ecx, dword [eax + 4]
cmp byte [ecx + 0xd], 0
jne 0x4a41b4
cmp eax, dword [ecx + 8]
jne 0x4a41b4
mov eax, ecx
mov ecx, dword [ecx + 4]
cmp byte [ecx + 0xd], 0
je 0x4a41a4
mov eax, ecx
jmp 0x4a42dc
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
push eax
lea ecx, [ecx + 0x214]
call fcn.00477370
mov esi, dword [eax]
mov eax, dword [esi]
cmp eax, esi
je 0x4a4230
jmp 0x4a41e0
cmp dword [eax + 0x10], 2
je 0x4a4287
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
je 0x4a4214
mov ecx, dword [eax + 4]
cmp byte [ecx + 0xd], 0
jne 0x4a4210
lea esp, [esp]
cmp eax, dword [ecx + 8]
jne 0x4a4210
mov eax, ecx
mov ecx, dword [ecx + 4]
cmp byte [ecx + 0xd], 0
je 0x4a4200
mov eax, ecx
jmp 0x4a422c
mov eax, ecx
mov edx, dword [eax]
cmp byte [edx + 0xd], 0
jne 0x4a422c
mov edi, edi
mov ecx, dword [edx]
mov eax, edx
mov edx, ecx
cmp byte [ecx + 0xd], 0
je 0x4a4220
cmp eax, esi
jne 0x4a41e0
push dword [ebp - 0x34]
mov ebx, dword [ebp + 8]
mov ecx, ebx
call fcn.004de540
push eax
push 0xfffffffffffffff2
lea eax, [ebp - 0x250]
mov ecx, ebx
push eax
call fcn.004e4840
mov esi, eax
push 0
push 0x1337
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 8
push eax
mov ecx, ebx
call fcn.004e0d20
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
mov byte [ebp - 4], 9
jbe 0x4a4275
mov eax, dword [eax]
push ecx
push eax
push esi
call fcn.00434480
push str.Interface_struct_has_no_Block_decoration_but_has_BuiltIn_members._Location_decorations_must_be_used_on_each_member_of_OpVariable_with_a_structure_type_that_is_a_block_not_decorated_with_Location.
jmp 0x4a4f31
mov eax, dword [ebp - 0x40]
mov esi, dword [ebp - 0x30]
cmp eax, 1
jne 0x4a42b4
inc esi
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x28]
cmp esi, 1
jg 0x4a520f
cmp eax, 1
jg 0x4a4dd4
push dword [ebp + 8]
mov eax, dword [ebp - 0x38]
push eax
jmp 0x4a42ec
cmp eax, 3
jne 0x4a4296
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
jmp 0x4a4299
mov eax, ecx
mov edx, dword [eax]
cmp byte [edx + 0xd], 0
jne 0x4a42dc
lea esp, [esp]
mov ecx, dword [edx]
mov eax, edx
mov edx, ecx
cmp byte [ecx + 0xd], 0
je 0x4a42d0
cmp eax, esi
jne 0x4a4184
jmp 0x4a42fe
push dword [ebp + 8]
push dword [ebp - 0x38]
call fcn.004a19e0
mov esi, eax
add esp, 8
test esi, esi
jne 0x4a5268
cmp dword [ebp - 0x40], 4
mov esi, dword [ebp + 8]
jne 0x4a4346
inc dword [ebp - 0x80]
test edi, edi
je 0x4a4346
mov eax, 0x1e
cmp ax, word [edi + 0x1e]
jne 0x4a4346
push esi
push 2
push dword [ebp - 0x34]
call fcn.004a7af0
add esp, 0xc
test al, al
je 0x4a432e
inc dword [ebp - 0x44]
mov eax, dword [ebp - 0x18]
push esi
push 0x14
push dword [eax + 0x28]
call fcn.004a7af0
add esp, 0xc
test al, al
je 0x4a4346
inc dword [ebp - 0x78]
mov eax, dword [esi]
push dword [eax]
call fcn.00472450
add esp, 4
test al, al
je 0x4a4d49
mov edx, dword [ebp - 0x1c]
mov eax, edx
shr eax, 8
movzx ecx, al
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [ebp - 0x20], edx
imul eax, eax, 0x1000193
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
lea ecx, [esi + 0x274]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x160]
push eax
call fcn.0045db70
mov eax, dword [eax + 4]
test eax, eax
jne 0x4a43bf
mov eax, dword [esi + 0x278]
mov edx, dword [ebp + 8]
lea ecx, [eax + 0xc]
xor esi, esi
mov dword [ebp - 0x2c], 4
cmp eax, dword [edx + 0x278]
lea eax, [ebp - 0x2c]
push eax
cmovne esi, ecx
lea eax, [ebp - 0x14c]
push eax
mov ecx, esi
mov dword [ebp - 0x20], esi
call fcn.00441b50
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x74], eax
cmp byte [eax + 0xd], 0
jne 0x4a4401
cmp dword [eax + 0x10], 4
jbe 0x4a4406
mov eax, dword [esi]
mov dword [ebp - 0x74], eax
mov edi, dword [esi]
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x158]
mov dword [ebp - 0x3c], edi
push eax
mov ecx, esi
mov dword [ebp - 0x2c], 0
call fcn.00441b50
mov eax, dword [ebp - 0x150]
mov dword [ebp - 0x2c], eax
cmp byte [eax + 0xd], 0
jne 0x4a4439
cmp dword [eax + 0x10], 0
jbe 0x4a443c
mov dword [ebp - 0x2c], edi
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + 8]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0xbc], eax
lea ecx, [ecx + 0x214]
lea eax, [ebp - 0xbc]
push eax
call fcn.00477370
mov esi, dword [eax]
mov esi, dword [esi]
cmp byte [esi + 0xd], 0
jne 0x4a4cf6
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x138], 0
lea esp, [esp]
or ebx, 1
mov dword [ebp - 0x5c], 0xe
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xffffffff
or ebx, 2
mov dword [ebp - 4], 0xb
mov dword [ebp - 0x10], ebx
mov ebx, dword [esi + 0x10]
cmp ebx, 0xe
jne 0x4a4581
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x14]
sub ecx, edx
test ecx, 0xfffffffc
jne 0x4a4581
xor edi, edi
sub ecx, 4
jb 0x4a4501
lea ebx, [ebx]
mov eax, dword [edx]
cmp eax, dword [edi]
jne 0x4a4506
add edx, 4
add edi, 4
sub ecx, 4
jae 0x4a44f0
cmp ecx, 0xfffffffc
je 0x4a453a
mov al, byte [edx]
cmp al, byte [edi]
jne 0x4a4533
cmp ecx, 0xfffffffd
je 0x4a453a
mov al, byte [edx + 1]
cmp al, byte [edi + 1]
jne 0x4a4533
cmp ecx, 0xfffffffe
je 0x4a453a
mov al, byte [edx + 2]
cmp al, byte [edi + 2]
jne 0x4a4533
cmp ecx, 0xffffffff
je 0x4a453a
mov al, byte [edx + 3]
cmp al, byte [edi + 3]
je 0x4a453a
sbb eax, eax
or eax, 1
jmp 0x4a453c
xor eax, eax
test eax, eax
sete al
test al, al
je 0x4a4581
cmp dword [esi + 0x20], 0xffffffff
jne 0x4a4581
mov eax, dword [ebp - 0xa8]
mov ebx, dword [ebp - 0xec]
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x88], eax
mov byte [ebp - 0x11], 1
jmp 0x4a4867
xor eax, eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0x10]
or ecx, 4
mov dword [ebp - 0xb4], 0xd
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], 0xffffffff
or ecx, 8
mov dword [ebp - 4], 0xd
mov dword [ebp - 0x10], ecx
cmp ebx, 0xd
jne 0x4a4680
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x14]
sub ecx, edx
test ecx, 0xfffffffc
jne 0x4a467d
xor edi, edi
sub ecx, 4
jb 0x4a4615
mov eax, dword [edx]
cmp eax, dword [edi]
jne 0x4a461a
add edx, 4
add edi, 4
sub ecx, 4
jae 0x4a4604
cmp ecx, 0xfffffffc
je 0x4a464e
mov al, byte [edx]
cmp al, byte [edi]
jne 0x4a4647
cmp ecx, 0xfffffffd
je 0x4a464e
mov al, byte [edx + 1]
cmp al, byte [edi + 1]
jne 0x4a4647
cmp ecx, 0xfffffffe
je 0x4a464e
mov al, byte [edx + 2]
cmp al, byte [edi + 2]
jne 0x4a4647
cmp ecx, 0xffffffff
je 0x4a464e
mov al, byte [edx + 3]
cmp al, byte [edi + 3]
je 0x4a464e
sbb eax, eax
or eax, 1
jmp 0x4a4650
xor eax, eax
test eax, eax
sete al
test al, al
je 0x4a467d
cmp dword [esi + 0x20], 0xffffffff
jne 0x4a467d
mov eax, dword [ebp - 0x120]
mov ebx, dword [ebp - 0xec]
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x88], eax
mov byte [ebp - 0x11], 1
jmp 0x4a4867
mov ecx, dword [ebp - 0x10]
xor eax, eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0xc8], eax
or ecx, 0x10
mov dword [ebp - 0x124], 0x11
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x114], 0xffffffff
or ecx, 0x20
mov dword [ebp - 4], 0xf
mov dword [ebp - 0x10], ecx
cmp ebx, 0x11
jne 0x4a4766
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x14]
sub ecx, edx
test ecx, 0xfffffffc
jne 0x4a4763
xor edi, edi
sub ecx, 4
jb 0x4a4707
mov eax, dword [edx]
cmp eax, dword [edi]
jne 0x4a470c
add edx, 4
add edi, 4
sub ecx, 4
jae 0x4a46f6
cmp ecx, 0xfffffffc
je 0x4a4740
mov al, byte [edx]
cmp al, byte [edi]
jne 0x4a4739
cmp ecx, 0xfffffffd
je 0x4a4740
mov al, byte [edx + 1]
cmp al, byte [edi + 1]
jne 0x4a4739
cmp ecx, 0xfffffffe
je 0x4a4740
mov al, byte [edx + 2]
cmp al, byte [edi + 2]
jne 0x4a4739
cmp ecx, 0xffffffff
je 0x4a4740
mov al, byte [edx + 3]
cmp al, byte [edi + 3]
je 0x4a4740
sbb eax, eax
or eax, 1
jmp 0x4a4742
xor eax, eax
test eax, eax
sete al
test al, al
je 0x4a4763
cmp dword [esi + 0x20], 0xffffffff
jne 0x4a4763
mov ebx, dword [ebp - 0xec]
mov edx, dword [ebp - 0x24]
mov byte [ebp - 0x11], 1
jmp 0x4a4867
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
or ecx, 0x40
mov dword [ebp - 4], 0x10
lea eax, [ebp - 0x94]
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x24], ecx
lea ecx, [ebp - 0xec]
push eax
mov dword [ebp - 0xf0], 0x10
call fcn.00473780
or dword [ebp - 0x10], 0x80
mov eax, dword [esi + 0x10]
mov ebx, dword [ebp - 0xec]
cmp eax, dword [ebp - 0xf0]
jne 0x4a485a
mov edx, dword [esi + 0x18]
mov eax, dword [ebp - 0xe8]
mov edi, dword [esi + 0x14]
sub eax, ebx
sub edx, edi
xor eax, edx
test eax, 0xfffffffc
jne 0x4a485a
mov ecx, ebx
sub edx, 4
jb 0x4a4801
lea esp, [esp]
mov eax, dword [edi]
cmp eax, dword [ecx]
jne 0x4a4806
add edi, 4
add ecx, 4
sub edx, 4
jae 0x4a47f0
cmp edx, 0xfffffffc
je 0x4a483a
mov al, byte [edi]
cmp al, byte [ecx]
jne 0x4a4833
cmp edx, 0xfffffffd
je 0x4a483a
mov al, byte [edi + 1]
cmp al, byte [ecx + 1]
jne 0x4a4833
cmp edx, 0xfffffffe
je 0x4a483a
mov al, byte [edi + 2]
cmp al, byte [ecx + 2]
jne 0x4a4833
cmp edx, 0xffffffff
je 0x4a483a
mov al, byte [edi + 3]
cmp al, byte [ecx + 3]
je 0x4a483a
sbb eax, eax
or eax, 1
jmp 0x4a483c
xor eax, eax
test eax, eax
sete al
test al, al
je 0x4a485a
cmp dword [esi + 0x20], 0xffffffff
jne 0x4a485a
mov edx, dword [ebp - 0x94]
mov dword [ebp - 0x24], edx
mov byte [ebp - 0x11], 1
jmp 0x4a4867
mov edx, dword [ebp - 0x94]
mov byte [ebp - 0x11], 0
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x10]
test al, al
jns 0x4a48b7
and eax, 0xffffff7f
mov dword [ebp - 0x10], eax
test ebx, ebx
je 0x4a48b7
mov eax, dword [ebp - 0xe4]
sub eax, ebx
sar eax, 2
lea ecx, [eax*4]
mov eax, ebx
cmp ecx, 0x1000
jb 0x4a48aa
mov ebx, dword [eax - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4a5290
push ecx
push ebx
call fcn.004e9693
mov edx, dword [ebp - 0x24]
add esp, 8
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 4], 0xf
test bl, 0x40
je 0x4a4918
and ebx, 0xffffffbf
test edx, edx
je 0x4a4918
mov eax, dword [ebp - 0x8c]
sub eax, edx
sar eax, 2
lea ecx, [eax*4]
mov eax, edx
cmp ecx, 0x1000
jb 0x4a48fd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4a5290
push ecx
push edx
call fcn.004e9693
add esp, 8
xor eax, eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], eax
mov dword [ebp - 4], 0xe
test bl, 0x20
je 0x4a496b
mov edx, dword [ebp - 0x88]
and ebx, 0xffffffdf
test edx, edx
je 0x4a496b
mov eax, dword [ebp - 0x118]
sub eax, edx
sar eax, 2
lea ecx, [eax*4]
mov eax, edx
cmp ecx, 0x1000
jb 0x4a4961
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4a5290
push ecx
push edx
call fcn.004e9693
add esp, 8
mov dword [ebp - 4], 0xd
test bl, 0x10
je 0x4a49c6
mov edx, dword [ebp - 0x64]
and ebx, 0xffffffef
test edx, edx
je 0x4a49c6
mov eax, dword [ebp - 0x68]
sub eax, edx
sar eax, 2
lea ecx, [eax*4]
mov eax, edx
cmp ecx, 0x1000
jb 0x4a49ae
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4a5290
push ecx
push edx
call fcn.004e9693
add esp, 8
xor eax, eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 4], 0xc
test bl, 8
je 0x4a4a19
mov edx, dword [ebp - 0xa0]
and ebx, 0xfffffff7
test edx, edx
je 0x4a4a19
mov eax, dword [ebp - 0x9c]
sub eax, edx
sar eax, 2
lea ecx, [eax*4]
mov eax, edx
cmp ecx, 0x1000
jb 0x4a4a0f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4a5290
push ecx
push edx
call fcn.004e9693
add esp, 8
mov dword [ebp - 4], 0xb
test bl, 4
je 0x4a4a74
mov edx, dword [ebp - 0x6c]
and ebx, 0xfffffffb
test edx, edx
je 0x4a4a74
mov eax, dword [ebp - 0x70]
sub eax, edx
sar eax, 2
lea ecx, [eax*4]
mov eax, edx
cmp ecx, 0x1000
jb 0x4a4a5c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4a5290
push ecx
push edx
call fcn.004e9693
add esp, 8
xor eax, eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0x70], eax
test bl, 2
je 0x4a4a7c
and ebx, 0xfffffffd
mov dword [ebp - 4], 2
test bl, 1
je 0x4a4a8b
and ebx, 0xfffffffe
cmp byte [ebp - 0x11], 0
je 0x4a4ca7
mov eax, dword [ebp - 0x40]
cmp eax, 1
jne 0x4a4bd5
mov eax, dword [ebp - 0x20]
cmp dword [eax + 4], 1
ja 0x4a4ab6
mov edi, dword [ebp - 0x3c]
cmp dword [ebp - 0x2c], edi
je 0x4a4caa
push dword [ebp - 0x18]
mov ebx, dword [ebp + 8]
lea eax, [ebp - 0x250]
push 0xfffffffffffffff6
push eax
mov ecx, ebx
call fcn.004e4840
mov edi, eax
push 0
push 0x183a
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0x11
push eax
mov ecx, ebx
call fcn.004e0d20
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
mov byte [ebp - 4], 0x12
jbe 0x4a4af6
mov eax, dword [eax]
push ecx
push eax
push edi
call fcn.00434480
add esp, 0xc
lea eax, [ebp - 0x60]
mov ecx, ebx
push dword [esi + 0x10]
push eax
call fcn.00477e90
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
mov byte [ebp - 4], 0x13
jbe 0x4a4b1e
mov eax, dword [eax]
push ecx
push eax
push edi
call fcn.00434480
push str._decorated_variable_must_not_be_used_in_vertex_execution_model_as_an_Input_storage_class_for_Entry_Point_id
push edi
call fcn.00433f60
add esp, 0x14
mov ecx, edi
push dword [ebp - 0x1c]
call fcn.0045f530
push 0x52090c
push edi
call fcn.00433f60
mov ecx, dword [ebp - 0x4c]
add esp, 8
mov esi, dword [edi + 0xe8]
cmp ecx, 0xf
jbe 0x4a4b86
mov edx, dword [ebp - 0x60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4a4b7c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4a5290
push ecx
push edx
call fcn.004e9693
add esp, 8
mov ecx, dword [ebp - 0xa4]
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
cmp ecx, 0xf
jbe 0x4a4fc7
mov edx, dword [ebp - 0xb8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4a4fbd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4a5290
jmp 0x4a4fbd
cmp eax, 3
jne 0x4a4ca7
mov eax, dword [ebp - 0x20]
cmp dword [eax + 4], 1
ja 0x4a4bf3
mov edi, dword [ebp - 0x3c]
cmp dword [ebp - 0x74], edi
je 0x4a4caa
push dword [ebp - 0x18]
mov ebx, dword [ebp + 8]
lea eax, [ebp - 0x250]
push 0xfffffffffffffff6
push eax
mov ecx, ebx
call fcn.004e4840
mov edi, eax
push 0
push 0x1839
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0x14
push eax
mov ecx, ebx
call fcn.004e0d20
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
mov byte [ebp - 4], 0x15
jbe 0x4a4c33
mov eax, dword [eax]
push ecx
push eax
push edi
call fcn.00434480
add esp, 0xc
lea eax, [ebp - 0x60]
mov ecx, ebx
push dword [esi + 0x10]
push eax
call fcn.00477e90
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
mov byte [ebp - 4], 0x16
jbe 0x4a4c5b
mov eax, dword [eax]
push ecx
push eax
push edi
call fcn.00434480
push str._decorated_variable_must_not_be_used_in_fragment_execution_model_as_an_Output_storage_class_for_Entry_Point_id
push edi
call fcn.00433f60
add esp, 0x14
mov ecx, edi
push dword [ebp - 0x1c]
call fcn.0045f530
push 0x52090c
push edi
call fcn.00433f60
mov esi, dword [edi + 0xe8]
lea ecx, [ebp - 0x60]
add esp, 8
call fcn.00401790
lea ecx, [ebp - 0xb8]
call fcn.00401790
jmp 0x4a525d
mov edi, dword [ebp - 0x3c]
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
je 0x4a4cd4
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x4a4cd0
lea esp, [esp]
cmp esi, dword [eax + 8]
jne 0x4a4cd0
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x4a4cc0
mov esi, eax
jmp 0x4a4cec
mov esi, eax
mov ecx, dword [esi]
cmp byte [ecx + 0xd], 0
jne 0x4a4cec
mov edi, edi
mov eax, dword [ecx]
mov esi, ecx
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x4a4ce0
cmp byte [esi + 0xd], 0
je 0x4a4490
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp + 8]
push esi
push 0xe
push dword [eax + 0x28]
call fcn.004a7af0
add esp, 0xc
cmp dword [ebp - 0x74], edi
je 0x4a4d49
cmp dword [ebp - 0x40], 1
jne 0x4a4d49
test al, al
jne 0x4a4d49
mov edi, dword [ebp - 0x34]
mov ecx, esi
push edi
call fcn.004df150
test al, al
je 0x4a4d39
push edi
mov ecx, esi
call fcn.004de680
cmp eax, 0x40
je 0x4a4fe7
push edi
mov ecx, esi
call fcn.004df2c0
test al, al
jne 0x4a4fe7
mov eax, dword [ebp - 0x48]
add eax, 4
mov dword [ebp - 0x48], eax
cmp eax, dword [ebp - 0x84]
jne 0x4a4030
mov edi, dword [ebp - 0x44]
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x30], 1
jg 0x4a520f
cmp eax, 1
jg 0x4a520f
mov eax, dword [ebp - 0x1c]
lea ecx, [esi + 0x214]
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x84]
push eax
call fcn.00477370
mov eax, dword [eax]
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
jne 0x4a4df8
lea esp, [esp]
cmp dword [eax + 0x10], 0x29
je 0x4a50c4
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
je 0x4a4ddc
mov ecx, dword [eax + 4]
cmp byte [ecx + 0xd], 0
jne 0x4a4dd0
lea esp, [esp]
cmp eax, dword [ecx + 8]
jne 0x4a4dd0
mov eax, ecx
mov ecx, dword [ecx + 4]
cmp byte [ecx + 0xd], 0
je 0x4a4dc0
mov eax, ecx
jmp 0x4a4df2
mov esi, dword [ebp + 8]
mov edi, dword [ebp - 0x44]
jmp 0x4a4d64
mov eax, ecx
mov edx, dword [eax]
cmp byte [edx + 0xd], 0
jne 0x4a4df2
mov ecx, dword [edx]
mov eax, edx
mov edx, ecx
cmp byte [ecx + 0xd], 0
je 0x4a4de6
cmp byte [eax + 0xd], 0
je 0x4a4da0
mov ecx, dword [esi + 0xd4]
mov edx, dword [esi + 0xd0]
sub ecx, edx
sar ecx, 4
test ecx, ecx
jne 0x4a4e11
xor ecx, ecx
jmp 0x4a4e41
dec ecx
mov eax, 0x45
cmp ecx, 0x45
cmova ecx, eax
mov eax, ecx
shl eax, 4
add eax, 8
add eax, edx
cmp dword [eax], 0x1140
jb 0x4a4e40
nop
test ecx, ecx
je 0x4a4e0d
sub eax, 0x10
dec ecx
cmp dword [eax], 0x1140
jae 0x4a4e30
inc ecx
mov eax, dword [esi + 0xd4]
sub eax, edx
sar eax, 4
cmp ecx, eax
jae 0x4a4e8a
add ecx, ecx
cmp dword [edx + ecx*8 + 8], 0x1140
jne 0x4a4e8a
mov eax, dword [edx + ecx*8]
and eax, 0x1000
or eax, 0
je 0x4a4e8a
mov eax, dword [ebp - 0x80]
test eax, eax
jle 0x4a4e8a
test edi, edi
jle 0x4a4e8a
cmp eax, edi
jne 0x4a51dc
cmp edi, 1
jle 0x4a4e8a
cmp edi, dword [ebp - 0x78]
jne 0x4a51a9
lea ecx, [ebp - 0x110]
mov dword [ebp - 4], 0xffffffff
call fcn.00467fb0
mov eax, dword [ebp - 0x7c]
add eax, 0x24
mov dword [ebp - 0x7c], eax
cmp eax, dword [ebp - 0xc0]
jne 0x4a3f84
mov ecx, dword [ebp - 0x98]
add ecx, 4
mov dword [ebp - 0x98], ecx
cmp ecx, dword [ebp - 0xc4]
jne 0x4a3ee6
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push dword [ebp - 0x18]
lea eax, [ebp - 0x250]
mov ecx, esi
push 0xfffffffffffffff6
push eax
call fcn.004e4840
mov esi, eax
push str.Non_unique_OpEntryPoint_interface
push esi
mov byte [ebp - 4], 5
call fcn.00433f60
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x60]
add esp, 8
push dword [ebp - 0x38]
push eax
call fcn.004e4b90
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
mov byte [ebp - 4], 6
jbe 0x4a4f24
mov eax, dword [eax]
push ecx
push eax
push esi
call fcn.00434480
push str._is_disallowed
push esi
call fcn.00433f60
mov esi, dword [esi + 0xe8]
lea ecx, [ebp - 0x60]
add esp, 0x14
call fcn.00401790
jmp 0x4a525d
push edx
push 0xfffffffffffffff6
lea eax, [ebp - 0x250]
mov ecx, esi
push eax
call fcn.004e4840
mov esi, eax
mov byte [ebp - 4], 4
push str.OpEntryPoint_interfaces_should_only_list_global_variables
jmp 0x4a524e
push edx
push 0xfffffffffffffff6
lea eax, [ebp - 0x250]
mov ecx, esi
push eax
call fcn.004e4840
mov esi, eax
push str.OpEntryPoint_interfaces_must_be_OpVariables_with_Storage_Class_of_Input_1__or_Output_3_._Found_Storage_Class
push esi
mov byte [ebp - 4], 7
call fcn.00433f60
add esp, 8
mov ecx, esi
push edi
call fcn.0045f530
push str._for_Entry_Point_id
push esi
call fcn.00433f60
add esp, 8
mov ecx, esi
push dword [ebp - 0x1c]
call fcn.0045f530
push 0x52090c
jmp 0x4a524e
push ecx
push edx
call fcn.004e9693
add esp, 8
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
mov byte [ebp - 0xb8], 0
jmp 0x4a525d
push dword [ebp - 0x18]
lea eax, [ebp - 0x250]
mov ecx, esi
push 0xfffffffffffffff6
push eax
call fcn.004e4840
mov esi, eax
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x60]
push 0
push 0x1288
push eax
mov byte [ebp - 4], 0x17
call fcn.004e0d20
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
mov byte [ebp - 4], 0x18
jbe 0x4a5022
mov eax, dword [eax]
push ecx
push eax
push esi
call fcn.00434480
push str.Fragment_OpEntryPoint_operand
push esi
call fcn.00433f60
add esp, 0x14
mov ecx, esi
push dword [ebp - 0x38]
call fcn.0045f530
push str._with_Input_interfaces_with_integer_or_float_type_must_have_a_Flat_decoration_for_Entry_Point_id
push esi
call fcn.00433f60
add esp, 8
mov ecx, esi
push dword [ebp - 0x1c]
call fcn.0045f530
push 0x52090c
push esi
call fcn.00433f60
mov esi, dword [esi + 0xe8]
lea ecx, [ebp - 0x60]
add esp, 8
call fcn.00401790
jmp 0x4a525d
push edx
push 0xfffffffffffffff6
lea eax, [ebp - 0x250]
mov ecx, esi
push eax
call fcn.004e4840
mov esi, eax
push str.Interfaces_passed_to_OpEntryPoint_must_be_of_type_OpTypeVariable._Found_Op
push esi
mov byte [ebp - 4], 3
call fcn.00433f60
mov eax, dword [ebp - 0x18]
movzx ecx, word [eax + 0x1e]
push ecx
call fcn.0046fc70
push eax
push esi
call fcn.00433f60
push 0x52090c
push esi
call fcn.00433f60
add esp, 0x1c
jmp 0x4a5257
push 1
push dword [eax + 0x18]
push dword [eax + 0x14]
lea eax, [ebp - 0x60]
push eax
call fcn.004a0010
add esp, 0x10
mov ebx, dword [ebp - 0x1c]
mov ecx, esi
push ebx
mov byte [ebp - 4], 0x1a
call fcn.004de540
push eax
push 0xfffffffffffffffc
lea eax, [ebp - 0x250]
mov ecx, esi
push eax
call fcn.004e4840
mov esi, eax
push str.The_LinkageAttributes_Decoration__Linkage_name:
push esi
mov byte [ebp - 4], 0x1b
call fcn.00433f60
cmp dword [ebp - 0x4c], 0xf
lea ecx, [ebp - 0x60]
push dword [ebp - 0x50]
cmova ecx, dword [ebp - 0x60]
push ecx
push esi
call fcn.00434480
push str.__cannot_be_applied_to_function_id
push esi
call fcn.00433f60
add esp, 0x1c
mov ecx, esi
push ebx
call fcn.0045f530
push str._because_it_is_targeted_by_an_OpEntryPoint_instruction.
push esi
call fcn.00433f60
mov esi, dword [esi + 0xe8]
lea ecx, [ebp - 0x250]
add esp, 8
call fcn.00463850
mov ecx, dword [ebp - 0x4c]
cmp ecx, 0xf
jbe 0x4a5268
mov edx, dword [ebp - 0x60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4a5181
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4a529a
push ecx
push edx
call fcn.004e9693
add esp, 8
lea ecx, [ebp - 0x110]
call fcn.00467fb0
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
mov ebx, dword [ebp - 0x1c]
mov ecx, esi
push ebx
call fcn.004de540
push eax
push 0xfffffffffffffffc
lea eax, [ebp - 0x250]
mov ecx, esi
push eax
call fcn.004e4840
mov esi, eax
push str.When_declaring_WorkgroupMemoryExplicitLayoutKHR__if_more_than_one_Workgroup_Storage_Class_variable_in_the_entry_point_interface_point_to_a_type_decorated_with_Block__all_of_them_must_be_decorated_with_Aliased._Entry_point_id
push esi
mov byte [ebp - 4], 0x1d
call fcn.00433f60
add esp, 8
push ebx
jmp 0x4a5242
mov ebx, dword [ebp - 0x1c]
mov ecx, esi
push ebx
call fcn.004de540
push eax
push 0xfffffffffffffffc
lea eax, [ebp - 0x250]
mov ecx, esi
push eax
call fcn.004e4840
mov esi, eax
push str.When_declaring_WorkgroupMemoryExplicitLayoutKHR__either_all_or_none_of_the_Workgroup_Storage_Class_variables_in_the_entry_point_interface_must_point_to_struct_types_decorated_with_Block.__Entry_point_id
push esi
mov byte [ebp - 4], 0x1c
call fcn.00433f60
add esp, 8
push ebx
jmp 0x4a5242
mov edi, dword [ebp - 0x1c]
mov ecx, dword [ebp + 8]
push edi
call fcn.004de540
mov ecx, dword [ebp + 8]
push eax
push 0xfffffffffffffffc
lea eax, [ebp - 0x250]
push eax
call fcn.004e4840
mov esi, eax
push str.There_must_be_at_most_one_object_per_Storage_Class_that_can_contain_a_structure_type_containing_members_decorated_with_BuiltIn__consumed_per_entry_point._Entry_Point_id
push esi
mov byte [ebp - 4], 0x19
call fcn.00433f60
add esp, 8
push edi
mov ecx, esi
call fcn.0045f530
push str._does_not_meet_this_requirement.
push esi
call fcn.00433f60
add esp, 8
mov esi, dword [esi + 0xe8]
lea ecx, [ebp - 0x250]
call fcn.00463850
lea ecx, [ebp - 0x110]
call fcn.00467fb0
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push str.invalid_unordered_map_K__T__key
call fcn.004e72f1
call fcn.004ee89f
call fcn.00463220
call fcn.004ee89f
int3