Function at 0x1005a8b0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2fd4
call fcn.10070680
mov eax, dword [0x100a8458]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
lea ecx, [ebp - 0x194]
push edi
xor edi, edi
mov dword [ebp - 0x282c], eax
mov dword [ebp - 0x2880], ecx
lea edx, [ebp - 0x2714]
mov ecx, 0xc8
mov eax, 0xfffffffe
lea esi, [ebp - 0x194]
mov dword [ebp - 0x2878], edi
mov dword [ebp - 0x28ac], edx
mov dword [ebp - 0x2888], ecx
mov dword [ebp - 0x2864], edi
mov dword [ebp - 0x2884], edi
mov dword [ebp - 0x2898], edi
mov dword [ebp - 0x287c], eax
mov dword [ebp - 0x2874], esi
mov ebx, edx
lea esp, [esp]
mov edx, dword [ebp - 0x2880]
lea edx, [edx + ecx*2 - 2]
mov word [esi], di
cmp edx, esi
ja 0x1005aa69
sub esi, dword [ebp - 0x2880]
sar esi, 1
inc esi
mov dword [ebp - 0x2890], esi
cmp ecx, 0x2710
jae 0x10060321
lea edi, [ecx + ecx]
mov dword [ebp - 0x2888], edi
cmp edi, 0x2710
jbe 0x1005a97c
mov edi, 0x2710
mov dword [ebp - 0x2888], edi
mov eax, dword [ebp - 0x2880]
mov ecx, edi
imul ecx, ecx, 0x32
add ecx, 0x2f
push ecx
mov dword [ebp - 0x2894], eax
call fcn.1007246e
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x10060321
test esi, esi
je 0x1005a9c4
mov ecx, dword [ebp - 0x2880]
sub ecx, ebx
mov edx, esi
mov di, word [ecx + eax]
mov word [eax], di
add eax, 2
dec edx
jne 0x1005a9b1
mov edi, dword [ebp - 0x2888]
lea ecx, [edi + edi + 0x2f]
mov eax, 0xaaaaaaab
mul ecx
shr edx, 5
lea edx, [edx + edx*2]
shl edx, 4
mov dword [ebp - 0x2880], ebx
add ebx, edx
test esi, esi
je 0x1005aa11
mov edx, dword [ebp - 0x28ac]
mov eax, ebx
sub edx, ebx
mov dword [ebp - 0x2860], esi
lea esi, [edx + eax]
mov edi, eax
mov ecx, 0xc
add eax, 0x30
dec dword [ebp - 0x2860]
rep movsd dword es:[edi], dword [esi]
jne 0x1005a9f4
mov esi, dword [ebp - 0x2890]
mov eax, dword [ebp - 0x2894]
lea ecx, [ebp - 0x194]
mov dword [ebp - 0x28ac], ebx
cmp eax, ecx
je 0x1005aa30
push eax
call fcn.10071c28
add esp, 4
mov ecx, dword [ebp - 0x2880]
lea edx, [esi + esi*2]
add edx, edx
lea eax, [ecx + esi*2 - 2]
lea ebx, [ebx + edx*8 - 0x30]
mov edx, dword [ebp - 0x2888]
lea ecx, [ecx + edx*2 - 2]
mov dword [ebp - 0x2874], eax
cmp ecx, eax
jbe 0x1005abfc
mov edi, dword [ebp - 0x2864]
mov esi, eax
mov eax, dword [ebp - 0x287c]
cmp edi, 0x47
je 0x1006033f
movsx edx, word [edi*2 + 0x1009aca0]
mov dword [ebp - 0x288c], edx
cmp edx, 0xfffffef6
je 0x1005aba3
cmp eax, 0xfffffffe
jne 0x1005aab6
mov edx, dword [ebp - 0x282c]
mov eax, dword [edx + 0x78]
push eax
lea ecx, [ebp - 0x2a94]
push ecx
call fcn.10058d30
mov edx, dword [ebp - 0x288c]
add esp, 8
mov dword [ebp - 0x287c], eax
test eax, eax
jg 0x1005aac6
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x287c], eax
jmp 0x1005aadb
cmp eax, 0x15e
ja 0x1005aad6
movzx ecx, byte [eax + 0x1009a7c8]
jmp 0x1005aadb
mov ecx, 2
add edx, ecx
cmp edx, 0x588
ja 0x1005aba3
movsx eax, word [edx*2 + 0x1009bac0]
cmp eax, ecx
jne 0x1005ab9d
movsx ecx, word [edx*2 + 0x1009afa8]
test ecx, ecx
jg 0x1005ab67
je 0x1005abba
cmp ecx, 0xffffff5b
je 0x1005abba
neg ecx
mov dword [ebp - 0x288c], ecx
mov edx, dword [ebp - 0x288c]
movzx eax, byte [edx + 0x1009a9f8]
lea ecx, [eax + eax*2]
mov dword [ebp - 0x2890], eax
shl ecx, 4
mov eax, ebx
sub eax, ecx
lea esi, [eax + 0x30]
mov dword [ebp - 0x2894], eax
lea eax, [edx - 2]
mov ecx, 0xc
lea edi, [ebp - 0x285c]
rep movsd dword es:[edi], dword [esi]
cmp eax, 0xc7
ja case.default.0x1005ab60
jmp dword [eax*4 + 0x10060348]
cmp dword [ebp - 0x2884], 0
je 0x1005ab76
dec dword [ebp - 0x2884]
mov dword [ebp - 0x2864], ecx
add ebx, 0x30
mov ecx, 0xc
lea esi, [ebp - 0x2a94]
mov edi, ebx
mov dword [ebp - 0x287c], 0xfffffffe
rep movsd dword es:[edi], dword [esi]
jmp 0x100602fd
mov eax, dword [ebp - 0x287c]
movzx ecx, byte [edi + 0x1009aac8]
mov dword [ebp - 0x288c], ecx
test ecx, ecx
jne 0x1005ab1f
jmp 0x1005abc0
mov eax, dword [ebp - 0x287c]
mov ecx, dword [ebp - 0x2884]
test ecx, ecx
jne 0x1005abe9
mov ecx, dword [ebp - 0x282c]
inc dword [ebp - 0x2898]
push str.syntax_error
push ecx
call fcn.10058550
add esp, 8
jmp 0x1005c158
cmp ecx, 3
jne 0x1005c158
test eax, eax
jg 0x1005ac2d
jne 0x1005c158
mov esi, 1
mov eax, dword [ebp - 0x2880]
lea edx, [ebp - 0x194]
cmp eax, edx
je 0x1005ac1a
push eax
call fcn.10071c28
add esp, 4
mov ecx, dword [ebp - 4]
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.1007053a
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x287c], 0xfffffffe
jmp 0x1005c158
mov edi, dword [ebx + 8]
test edi, edi
jne 0x1005ad43
mov eax, dword [ebx + 4]
cmp dword [eax + 0x14], 0x10
jb 0x1005ac52
mov eax, dword [eax]
mov edx, dword [ebx]
mov edi, dword [ebp - 0x282c]
push 0x10088454
push eax
push str.undeclared_identifier
push edx
mov ecx, edi
call fcn.1004e0e0
mov ecx, edi
call fcn.100610f0
mov eax, dword [ebp - 0x2744]
mov ecx, dword [ebp - 0x273c]
xor esi, esi
and eax, 0xffffffc1
and ecx, 0xfffe0080
or eax, 1
or ecx, 0x80
push 0x48
mov dword [ebp - 0x2744], eax
mov dword [ebp - 0x2740], esi
mov dword [ebp - 0x273c], ecx
mov dword [ebp - 0x2738], esi
mov dword [ebp - 0x2734], esi
mov dword [ebp - 0x2730], esi
mov dword [ebp - 0x272c], esi
mov dword [ebp - 0x2728], esi
mov dword [ebp - 0x2724], esi
mov dword [ebp - 0x2720], esi
mov dword [ebp - 0x271c], esi
mov dword [ebp - 0x2718], esi
call fcn.10042840
mov ecx, eax
call fcn.10042870
cmp eax, esi
je 0x1005ad1e
mov ecx, dword [ebx + 4]
mov dword [eax + 4], ecx
lea edi, [eax + 0xc]
mov ecx, 0xc
lea esi, [ebp - 0x2744]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x282c]
xor ecx, ecx
mov dword [eax], 0x10093a38
mov byte [eax + 0x3c], 0
mov dword [eax + 0x40], ecx
mov dword [eax + 0x44], ecx
mov esi, eax
mov eax, dword [edi + 4]
mov ecx, dword [eax + 0x20]
inc ecx
mov dword [eax + 0x20], ecx
mov dword [esi + 8], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
sub edx, ecx
sar edx, 2
mov ecx, dword [ecx + edx*4 - 4]
push esi
call fcn.100441c0
mov eax, esi
jmp 0x1005ad85
mov eax, dword [edi]
mov edx, dword [eax + 0xc]
mov ecx, edi
call edx
test al, al
jne 0x1005ad7d
mov eax, dword [ebx + 4]
cmp dword [eax + 0x14], 0x10
jb 0x1005ad5b
mov eax, dword [eax]
mov esi, dword [ebp - 0x282c]
push 0x10088454
push eax
mov eax, dword [ebx]
push str.variable_expected
push eax
mov ecx, esi
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
mov eax, edi
mov edi, dword [ebp - 0x282c]
mov ecx, dword [eax + 0x14]
and cl, 0x7f
cmp cl, 2
jne 0x1005adc6
mov edx, dword [eax + 0x40]
lea esi, [eax + 0xc]
mov eax, dword [ebx]
mov ecx, 0xc
lea edi, [ebp - 0x2ac4]
rep movsd dword es:[edi], dword [esi]
push eax
lea ecx, [ebp - 0x2ac4]
push ecx
push edx
mov edx, dword [ebp - 0x282c]
mov ecx, dword [edx]
call fcn.10052020
mov dword [ebp - 0x2854], eax
jmp case.default.0x1005ab60
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
mov esi, dword [ebx]
push esi
add eax, 0xc
push eax
push ecx
mov ecx, dword [edi]
push edx
call fcn.10054870
mov dword [ebp - 0x2854], eax
jmp case.default.0x1005ab60
mov eax, dword [ebx + 4]
mov esi, dword [ebp - 0x282c]
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x10000
jl 0x1005ae1c
mov ecx, dword [ebx]
push 0x10088454
push 0x10088454
push str._integer_constant_overflow
push ecx
mov ecx, esi
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
push 8
call fcn.10042840
mov ecx, eax
call fcn.10042870
xor ecx, ecx
cmp eax, ecx
je 0x1005ae34
mov dword [eax], ecx
jmp 0x1005ae36
xor eax, eax
mov edx, dword [ebx + 4]
mov dword [eax], edx
mov dword [eax + 4], 2
mov edx, dword [ebp - 0x2984]
and edx, 0xffffffc2
or edx, 2
mov dword [ebp - 0x2984], edx
mov edx, dword [ebp - 0x297c]
and edx, 0xfffe0082
mov dword [ebp - 0x2980], ecx
or edx, 0x82
mov dword [ebp - 0x2978], ecx
mov dword [ebp - 0x2974], ecx
mov dword [ebp - 0x2970], ecx
mov dword [ebp - 0x296c], ecx
mov dword [ebp - 0x2968], ecx
mov dword [ebp - 0x2964], ecx
mov dword [ebp - 0x2960], ecx
mov dword [ebp - 0x295c], ecx
mov dword [ebp - 0x2958], ecx
mov ecx, dword [ebx]
push ecx
mov ecx, dword [esi]
mov dword [ebp - 0x297c], edx
lea edx, [ebp - 0x2984]
push edx
push eax
call fcn.10052020
mov dword [ebp - 0x2854], eax
jmp case.default.0x1005ab60
push 8
call fcn.10042840
mov ecx, eax
call fcn.10042870
xor ecx, ecx
cmp eax, ecx
je 0x1005aedd
mov dword [eax], ecx
jmp 0x1005aedf
xor eax, eax
fld dword [ebx + 4]
mov dword [eax + 4], 1
fstp dword [eax]
mov edx, dword [ebp - 0x29b4]
and edx, 0xffffffc1
or edx, 1
mov dword [ebp - 0x29b4], edx
mov edx, dword [ebp - 0x29ac]
and edx, 0xfffe0082
mov dword [ebp - 0x29b0], ecx
or edx, 0x82
mov dword [ebp - 0x29a8], ecx
mov dword [ebp - 0x29a4], ecx
mov dword [ebp - 0x29a0], ecx
mov dword [ebp - 0x299c], ecx
mov dword [ebp - 0x2998], ecx
mov dword [ebp - 0x2994], ecx
mov dword [ebp - 0x2990], ecx
mov dword [ebp - 0x298c], ecx
mov dword [ebp - 0x2988], ecx
mov ecx, dword [ebx]
push ecx
mov dword [ebp - 0x29ac], edx
lea edx, [ebp - 0x29b4]
push edx
push eax
mov eax, dword [ebp - 0x282c]
mov ecx, dword [eax]
call fcn.10052020
mov dword [ebp - 0x2854], eax
jmp case.default.0x1005ab60
push 8
call fcn.10042840
mov ecx, eax
call fcn.10042870
xor esi, esi
cmp eax, esi
je 0x1005af8c
mov dword [eax], esi
jmp 0x1005af8e
xor eax, eax
mov cl, byte [ebx + 4]
mov byte [eax], cl
mov dword [eax + 4], 3
mov edx, dword [ebp - 0x2924]
mov ecx, dword [ebp - 0x291c]
and edx, 0xffffffc3
or edx, 3
and ecx, 0xfffe0082
or ecx, 0x82
mov dword [ebp - 0x2924], edx
mov edx, dword [ebx]
mov dword [ebp - 0x291c], ecx
push edx
mov edx, dword [ebp - 0x282c]
lea ecx, [ebp - 0x2924]
push ecx
mov ecx, dword [edx]
push eax
mov dword [ebp - 0x2920], esi
mov dword [ebp - 0x2918], esi
mov dword [ebp - 0x2914], esi
mov dword [ebp - 0x2910], esi
mov dword [ebp - 0x290c], esi
mov dword [ebp - 0x2908], esi
mov dword [ebp - 0x2904], esi
mov dword [ebp - 0x2900], esi
mov dword [ebp - 0x28fc], esi
mov dword [ebp - 0x28f8], esi
call fcn.10052020
mov dword [ebp - 0x2854], eax
jmp case.default.0x1005ab60
mov ecx, dword [ebx - 0x88]
mov esi, dword [ecx + 0x10]
mov edx, esi
shr edx, 0x10
test dl, 1
jne 0x1005b0b7
mov eax, esi
shr eax, 0xf
test al, 1
jne 0x1005b0b7
mov eax, esi
mov edx, esi
and edx, 0xffffff80
shl edx, 0x11
cmp edx, 0x1000000
jle 0x1005b05c
test eax, 0x8000
je 0x1005b0b7
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
call edx
test eax, eax
je 0x1005b090
mov ecx, dword [ebx - 0x88]
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
call edx
add eax, 0x3c
cmp dword [eax + 0x14], 0x10
jb 0x1005b07f
mov eax, dword [eax]
push 0x10088454
push eax
mov eax, dword [ebx - 0x60]
push str._left_of___is_not_of_type_array__matrix__or_vector
push eax
jmp 0x1005b0a3
mov ecx, dword [ebx - 0x60]
push 0x10088454
push str.expression
push str._left_of___is_not_of_type_array__matrix__or_vector
push ecx
mov esi, dword [ebp - 0x282c]
mov ecx, esi
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
mov edi, dword [ebx - 0x88]
mov esi, dword [edi + 0x10]
mov edx, esi
and dl, 0x7f
cmp dl, 2
jne 0x1005b1b4
mov ecx, dword [ebx - 0x28]
mov eax, dword [ecx + 0x10]
and al, 0x7f
cmp al, dl
jne 0x1005b1b4
mov edx, esi
shr edx, 0x10
test dl, 1
je 0x1005b118
mov eax, dword [ecx]
mov edx, dword [eax + 8]
call edx
mov ecx, dword [ebx - 0x60]
mov eax, dword [eax + 0x38]
mov edx, dword [ebx - 0x88]
mov eax, dword [eax]
push ecx
mov ecx, dword [ebp - 0x282c]
push edx
push eax
call fcn.10050a60
mov esi, eax
mov dword [ebp - 0x2854], esi
jmp 0x1005b37b
mov edi, esi
mov eax, esi
and eax, 0xffffff80
shl eax, 0x11
cmp eax, 0x1000000
jle 0x1005b177
test edi, 0x8000
jne 0x1005b177
mov dword [ebp - 0x2754], 1
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
mov ecx, dword [eax + 0x38]
mov edx, dword [ecx]
mov eax, dword [ebx - 0x60]
mov ecx, dword [ebx - 0x88]
push eax
mov dword [ebp - 0x2764], edx
push ecx
mov ecx, dword [ebp - 0x282c]
lea edx, [ebp - 0x2764]
push edx
call fcn.100505d0
mov esi, eax
mov dword [ebp - 0x2854], esi
jmp 0x1005b37b
mov eax, esi
shr eax, 0xf
test al, 1
je 0x1005b375
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
mov ecx, dword [eax + 0x38]
mov eax, dword [ecx]
mov edx, dword [ebx - 0x60]
mov ecx, dword [ebx - 0x88]
push edx
push ecx
mov ecx, dword [ebp - 0x282c]
push eax
call fcn.10050890
mov esi, eax
mov dword [ebp - 0x2854], esi
jmp 0x1005b37b
mov ecx, dword [ebx - 0x28]
mov edx, dword [ecx + 0x10]
and dl, 0x7f
cmp dl, 2
jne 0x1005b5fe
mov edi, esi
mov eax, esi
and eax, 0xffffff80
shl eax, 0x11
cmp eax, 0x1000000
jle 0x1005b1df
test edi, 0x8000
je 0x1005b1ed
mov edx, esi
shr edx, 0xf
test dl, 1
je 0x1005b3a2
mov eax, dword [ecx]
mov edx, dword [eax + 8]
shl esi, 0x11
sar esi, 0x18
call edx
mov eax, dword [eax + 0x38]
cmp esi, dword [eax]
jg 0x1005b3a2
mov ecx, dword [ebx - 0x88]
test byte [ecx + 0x12], 1
jne 0x1005b3a2
or dword [ebp - 0x2878], 2
xor esi, esi
push esi
lea edx, [ebp - 0x2a44]
push edx
lea ecx, [ebp - 0x29fc]
mov dword [ebp - 0x2a5c], 0x10093bcc
mov dword [ebp - 0x2a4c], 0x10093b60
mov dword [ebp - 0x29fc], 0x10093bc0
mov dword [ebp - 0x2a54], esi
mov dword [ebp - 0x2a50], esi
call fcn.10034380
mov eax, dword [ebp - 0x2a4c]
mov ecx, dword [eax + 4]
mov dword [ebp + ecx - 0x2a4c], 0x10091118
mov edx, dword [ebp - 0x2a5c]
mov eax, dword [edx + 4]
mov dword [ebp + eax - 0x2a5c], 0x10093bc4
mov ecx, dword [ebp - 0x2a5c]
mov edx, dword [ecx + 4]
lea ecx, [ebp - 0x2a44]
mov dword [ebp + edx - 0x2a5c], 0x10093bc8
call fcn.10032c60
mov ecx, dword [ebx - 0x28]
mov dword [ebp - 0x2a44], 0x100911d4
mov dword [ebp - 0x2a08], esi
mov dword [ebp - 0x2a04], esi
mov eax, dword [ecx]
mov edx, dword [eax + 8]
call edx
mov eax, dword [eax + 0x38]
mov eax, dword [eax]
push 0x10093cf8
push eax
lea ecx, [ebp - 0x2a4c]
push str.field_selection_out_of_range_
push ecx
call fcn.100443d0
add esp, 8
mov ecx, eax
call fcn.10034760
push eax
call fcn.100443d0
add esp, 8
lea edx, [ebp - 0x276c]
push edx
lea ecx, [ebp - 0x2a44]
call fcn.10036fe0
cmp dword [ebp - 0x2758], 0x10
mov eax, dword [ebp - 0x276c]
jae 0x1005b318
lea eax, [ebp - 0x276c]
mov edi, dword [ebp - 0x282c]
push eax
mov eax, dword [ebx - 0x60]
push 0x100888f0
push 0x10088454
push eax
mov ecx, edi
call fcn.1004e0e0
mov ecx, edi
call fcn.100610f0
cmp dword [ebp - 0x2758], 0x10
jb 0x1005b353
mov ecx, dword [ebp - 0x276c]
push ecx
call fcn.1006fd35
add esp, 4
lea ecx, [ebp - 0x2a5c]
mov dword [ebp - 0x2758], 0xf
mov dword [ebp - 0x275c], esi
mov byte [ebp - 0x276c], 0
call fcn.10047070
mov esi, dword [ebp - 0x2854]
test esi, esi
jne 0x1005b6fb
push 8
call fcn.10042840
mov ecx, eax
call fcn.10042870
xor ecx, ecx
cmp eax, ecx
je 0x1005b660
mov dword [eax], ecx
jmp 0x1005b662
mov eax, dword [ebx - 0x88]
test byte [eax + 0x12], 1
je 0x1005b5d3
cmp dword [eax + 0x14], 0
mov ecx, dword [ebx - 0x28]
jne 0x1005b458
mov edx, dword [ecx]
mov esi, dword [eax + 0x18]
mov eax, dword [edx + 8]
call eax
mov ecx, dword [eax + 0x38]
cmp esi, dword [ecx]
jg 0x1005b41b
mov ecx, dword [ebx - 0x28]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
mov ecx, dword [eax + 0x38]
mov esi, dword [ebx - 0x60]
mov eax, dword [ecx]
mov ecx, dword [ebx - 0x88]
push esi
push 1
lea edx, [ecx + 8]
push eax
push edx
mov edx, dword [ecx]
mov eax, dword [edx + 0x1c]
call eax
mov ecx, dword [ebp - 0x282c]
push eax
call fcn.1004f990
test al, al
je 0x1005b5d3
mov ecx, dword [ebp - 0x282c]
call fcn.100610f0
jmp 0x1005b5d3
mov edx, dword [ebx - 0x60]
mov ecx, dword [ebx - 0x88]
push edx
push 0
lea eax, [ecx + 8]
push 0
push eax
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
call edx
mov ecx, dword [ebp - 0x282c]
push eax
call fcn.1004f990
test al, al
je 0x1005b5d3
mov ecx, dword [ebp - 0x282c]
call fcn.100610f0
jmp 0x1005b5d3
mov eax, dword [ecx]
mov edx, dword [eax + 8]
call edx
mov eax, dword [eax + 0x38]
mov ecx, dword [ebx - 0x88]
mov edx, dword [eax]
cmp edx, dword [ecx + 0x14]
jl 0x1005b5d3
or dword [ebp - 0x2878], 0x20
xor esi, esi
push esi
lea eax, [ebp - 0x2a44]
push eax
lea ecx, [ebp - 0x29fc]
mov dword [ebp - 0x2a5c], 0x10093bcc
mov dword [ebp - 0x2a4c], 0x10093b60
mov dword [ebp - 0x29fc], 0x10093bc0
mov dword [ebp - 0x2a54], esi
mov dword [ebp - 0x2a50], esi
call fcn.10034380
mov ecx, dword [ebp - 0x2a4c]
mov edx, dword [ecx + 4]
mov dword [ebp + edx - 0x2a4c], 0x10091118
mov eax, dword [ebp - 0x2a5c]
mov ecx, dword [eax + 4]
mov dword [ebp + ecx - 0x2a5c], 0x10093bc4
mov edx, dword [ebp - 0x2a5c]
mov eax, dword [edx + 4]
lea ecx, [ebp - 0x2a44]
mov dword [ebp + eax - 0x2a5c], 0x10093bc8
call fcn.10032c60
mov ecx, dword [ebx - 0x28]
mov dword [ebp - 0x2a44], 0x100911d4
mov dword [ebp - 0x2a08], esi
mov dword [ebp - 0x2a04], esi
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
mov ecx, dword [eax + 0x38]
mov eax, dword [ecx]
push 0x10093cf8
push eax
lea edx, [ebp - 0x2a4c]
push str.array_index_out_of_range_
push edx
call fcn.100443d0
add esp, 8
mov ecx, eax
call fcn.10034760
push eax
call fcn.100443d0
add esp, 8
lea eax, [ebp - 0x276c]
push eax
lea ecx, [ebp - 0x2a44]
call fcn.10036fe0
cmp dword [ebp - 0x2758], 0x10
mov eax, dword [ebp - 0x276c]
jae 0x1005b576
lea eax, [ebp - 0x276c]
mov ecx, dword [ebx - 0x60]
mov edi, dword [ebp - 0x282c]
push eax
push 0x100888f0
push 0x10088454
push ecx
mov ecx, edi
call fcn.1004e0e0
mov ecx, edi
call fcn.100610f0
cmp dword [ebp - 0x2758], 0x10
jb 0x1005b5b1
mov edx, dword [ebp - 0x276c]
push edx
call fcn.1006fd35
add esp, 4
lea ecx, [ebp - 0x2a5c]
mov dword [ebp - 0x2758], 0xf
mov dword [ebp - 0x275c], esi
mov byte [ebp - 0x276c], 0
call fcn.10047070
mov eax, dword [ebx - 0x60]
mov ecx, dword [ebx - 0x28]
mov edx, dword [ebx - 0x88]
push eax
mov eax, dword [ebp - 0x282c]
push ecx
mov ecx, dword [eax]
push edx
push 0x28
call fcn.10051fd0
mov esi, eax
mov dword [ebp - 0x2854], esi
jmp 0x1005b37b
mov ecx, esi
shr ecx, 0x10
test cl, 1
je 0x1005b635
cmp dword [edi + 0x14], 0
jne 0x1005b635
mov edx, dword [ebx - 0x60]
mov esi, dword [ebp - 0x282c]
push str.array_must_be_redeclared_with_a_size_before_being_indexed_with_a_variable
push 0x100888f0
push 0x10088454
push edx
mov ecx, esi
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
mov eax, dword [ebx - 0x60]
mov ecx, dword [ebx - 0x28]
mov edx, dword [ebx - 0x88]
push eax
mov eax, dword [ebp - 0x282c]
push ecx
mov ecx, dword [eax]
push edx
push 0x29
call fcn.10051fd0
mov esi, eax
mov dword [ebp - 0x2854], esi
jmp 0x1005b37b
xor eax, eax
fldz
mov dword [eax + 4], 1
fstp dword [eax]
mov edx, dword [ebp - 0x2954]
and edx, 0xffffffc1
or edx, 1
mov dword [ebp - 0x2954], edx
mov edx, dword [ebp - 0x294c]
and edx, 0xfffe0082
or edx, 0x82
mov dword [ebp - 0x2948], ecx
mov dword [ebp - 0x2944], ecx
mov dword [ebp - 0x2940], ecx
mov dword [ebp - 0x293c], ecx
mov dword [ebp - 0x2938], ecx
mov dword [ebp - 0x2934], ecx
mov dword [ebp - 0x2930], ecx
mov dword [ebp - 0x292c], ecx
mov dword [ebp - 0x2928], ecx
mov ecx, dword [ebx - 0x60]
push ecx
mov dword [ebp - 0x294c], edx
lea edx, [ebp - 0x2954]
push edx
push eax
mov eax, dword [ebp - 0x282c]
mov ecx, dword [eax]
mov dword [ebp - 0x2950], 3
call fcn.10052020
mov dword [ebp - 0x2854], eax
jmp case.default.0x1005ab60
mov edi, dword [ebx - 0x88]
mov eax, dword [edi + 0x10]
mov ecx, eax
shr ecx, 0x10
test cl, 1
je 0x1005b7a5
mov ecx, dword [edi + 0x20]
push 0
test ecx, ecx
je 0x1005b736
mov edi, dword [edi + 0x34]
push edi
push ecx
lea ecx, [ebp - 0x2fa4]
call fcn.1005a520
mov edi, dword [ebp - 0x2854]
add edi, 8
jmp 0x1005b770
mov ecx, dword [edi + 0xc]
mov edi, dword [edi + 8]
mov edx, eax
shr edx, 0xf
and dl, 1
mov byte [ebp - 0x28ec], dl
mov edx, dword [ebp - 0x28ec]
push edx
shl eax, 0x11
sar eax, 0x18
push eax
push 0
shl edi, 0x1a
push ecx
sar edi, 0x1a
push edi
lea ecx, [ebp - 0x2f14]
call fcn.1004a520
lea edi, [esi + 8]
mov esi, eax
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebx - 0x88]
mov ecx, dword [eax + 0x10]
and cl, 0x7f
cmp cl, 2
jne case.default.0x1005ab60
mov eax, dword [ebp - 0x2854]
mov edx, dword [eax + 0x10]
and edx, 0xffffff82
or edx, 2
mov dword [eax + 0x10], edx
jmp case.default.0x1005ab60
mov ecx, eax
shr ecx, 0xf
and cl, 1
je 0x1005b7df
mov edx, eax
and dl, 0x7f
cmp dl, 2
jne 0x1005b7df
mov ecx, dword [edi + 0xc]
mov edi, dword [edi + 8]
push 0
shl eax, 0x11
push 0
sar eax, 0x18
push eax
push 2
shl edi, 0x1a
push ecx
sar edi, 0x1a
push edi
lea ecx, [ebp - 0x2f74]
jmp 0x1005b86c
test cl, cl
je 0x1005b806
mov ecx, dword [edi + 0xc]
mov edi, dword [edi + 8]
push 0
shl eax, 0x11
push 0
sar eax, 0x18
push eax
push 0
shl edi, 0x1a
push ecx
sar edi, 0x1a
push edi
lea ecx, [ebp - 0x2fd4]
jmp 0x1005b86c
mov ecx, dword [edi + 0x10]
lea edx, [edi + 8]
mov ebx, ecx
and ebx, 0xffffff80
shl ebx, 0x11
cmp ebx, 0x1000000
jle 0x1005b83a
test ecx, 0x8000
jne 0x1005b83a
and al, 0x7f
cmp al, 2
jne 0x1005b83a
push 0
push 0
push 1
push 2
lea ecx, [ebp - 0x2f44]
jmp 0x1005b85f
mov eax, ecx
and ecx, 0xffffff80
shl ecx, 0x11
cmp ecx, 0x1000000
jle 0x1005b882
test eax, 0x8000
jne 0x1005b882
push 0
push 0
push 1
push 0
lea ecx, [ebp - 0x2b84]
mov edi, dword [edi + 0xc]
mov eax, dword [edx]
push edi
shl eax, 0x1a
sar eax, 0x1a
push eax
call fcn.1004a520
lea edi, [esi + 8]
mov esi, eax
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
jmp case.default.0x1005ab60
lea edi, [esi + 8]
mov ecx, 0xc
mov esi, edx
rep movsd dword es:[edi], dword [esi]
jmp case.default.0x1005ab60
mov eax, dword [ebx - 0x58]
test byte [eax + 0x12], 1
je 0x1005b8c2
mov ecx, dword [ebx]
mov esi, dword [ebp - 0x282c]
push 0x10088454
push 0x1008850c
push str.cannot_apply_dot_operator_to_an_array
push ecx
mov ecx, esi
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
mov eax, dword [ebx - 0x58]
mov ecx, dword [eax + 0x10]
mov edx, ecx
and edx, 0xffffff80
shl edx, 0x11
cmp edx, 0x1000000
jle 0x1005ba2c
test ecx, 0x8000
jne 0x1005ba2c
mov edi, dword [ebp - 0x282c]
mov eax, ecx
mov ecx, dword [ebx]
push ecx
shl eax, 0x11
lea edx, [ebp - 0x2764]
sar eax, 0x18
push edx
push eax
mov eax, dword [ebx + 4]
push eax
mov ecx, edi
call fcn.1004f430
test al, al
jne 0x1005b92b
mov ecx, edi
mov dword [ebp - 0x2754], 1
mov dword [ebp - 0x2764], 0
call fcn.100610f0
mov eax, dword [ebx - 0x58]
mov ecx, dword [eax + 0x10]
and cl, 0x7f
cmp cl, 2
jne 0x1005b98e
mov edx, dword [ebx]
push edx
push eax
lea eax, [ebp - 0x2764]
push eax
mov ecx, edi
call fcn.100505d0
mov esi, eax
mov dword [ebp - 0x2854], esi
test esi, esi
jne 0x1005b96c
mov ecx, edi
call fcn.100610f0
mov ecx, dword [ebx - 0x58]
mov dword [ebp - 0x2854], ecx
jmp case.default.0x1005ab60
mov edx, dword [ebx + 4]
mov ecx, dword [edx + 0x10]
mov ebx, dword [ebx - 0x58]
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
push 0
push 0
push ecx
push 2
push edx
lea ecx, [ebp - 0x2dc4]
jmp 0x1005b865
mov eax, dword [ebx + 4]
mov ecx, dword [eax + 0x18]
push 0xffffffffffffffff
push 0
mov dword [ebp - 0x2718], ecx
push eax
lea ecx, [ebp - 0x2730]
mov dword [ebp - 0x271c], 0xf
mov dword [ebp - 0x2720], 0
mov byte [ebp - 0x2730], 0
call fcn.10034190
mov edx, dword [ebx]
push edx
lea eax, [ebp - 0x2764]
mov esi, edi
mov ecx, dword [esi]
push eax
call fcn.10054b40
mov ecx, dword [ebx - 0x30]
mov edx, dword [ebx - 0x58]
push ecx
mov ecx, dword [esi]
push eax
push edx
push 0x2b
call fcn.10051fd0
mov edx, dword [ebp - 0x2720]
mov edi, eax
push 0
push 0
mov dword [ebp - 0x2854], edi
mov ebx, dword [ebx - 0x58]
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
push edx
push 0
shl eax, 0x1a
push ecx
sar eax, 0x1a
push eax
lea ecx, [ebp - 0x2be4]
call fcn.1004a520
add edi, 8
mov esi, eax
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
jmp case.default.0x1005ab60
shr ecx, 0xf
test cl, 1
je 0x1005bc1d
mov eax, dword [eax + 0x10]
mov edx, dword [ebx]
mov esi, dword [ebp - 0x282c]
push edx
mov edx, dword [ebx + 4]
shl eax, 0x11
lea ecx, [ebp - 0x2750]
push ecx
sar eax, 0x18
push eax
push edx
mov ecx, esi
call fcn.1004f690
test al, al
jne 0x1005ba7f
xor eax, eax
mov ecx, esi
mov word [ebp - 0x2750], 0
mov dword [ebp - 0x274c], eax
mov dword [ebp - 0x2748], eax
call fcn.100610f0
cmp byte [ebp - 0x2750], 0
jne 0x1005bb51
cmp byte [ebp - 0x274f], 0
jne 0x1005bb51
push 8
call fcn.10042840
mov ecx, eax
call fcn.10042870
test eax, eax
je 0x1005bab5
mov dword [eax], 0
mov esi, eax
jmp 0x1005bab7
xor esi, esi
mov eax, dword [ebx - 0x58]
mov ecx, dword [eax + 0x10]
shl ecx, 0x11
sar ecx, 0x18
imul ecx, dword [ebp - 0x2748]
add ecx, dword [ebp - 0x274c]
mov dword [esi + 4], 2
mov dword [esi], ecx
mov edx, dword [ebx]
push edx
push 0
push 0
push 1
push 2
push 0
push 2
lea ecx, [ebp - 0x2ee4]
call fcn.1004a520
push eax
push esi
mov esi, dword [ebp - 0x282c]
mov ecx, dword [esi]
call fcn.10052020
mov ecx, dword [ebx - 0x30]
mov edx, dword [ebx - 0x58]
push ecx
mov ecx, dword [esi]
push eax
push edx
push 0x28
call fcn.10051fd0
mov edi, eax
push 0
push 0
mov dword [ebp - 0x2854], edi
mov ebx, dword [ebx - 0x58]
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
push 1
push 0
shl eax, 0x1a
push ecx
sar eax, 0x1a
push eax
lea ecx, [ebp - 0x2c44]
call fcn.1004a520
add edi, 8
mov esi, eax
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
jmp case.default.0x1005ab60
mov eax, dword [ebx - 0x30]
push 0x10088454
push 0x1008850c
push str._non_scalar_fields_not_implemented_yet
push eax
mov ecx, esi
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
push 8
call fcn.10042840
mov ecx, eax
call fcn.10042870
test eax, eax
je 0x1005bb8e
mov dword [eax], 0
mov esi, eax
jmp 0x1005bb90
xor esi, esi
mov dword [esi], 0
mov dword [esi + 4], 2
mov ecx, dword [ebx]
push ecx
push 0
push 0
push 1
push 2
push 0
push 2
lea ecx, [ebp - 0x2e24]
call fcn.1004a520
push eax
push esi
mov esi, dword [ebp - 0x282c]
mov ecx, dword [esi]
call fcn.10052020
mov edx, dword [ebx - 0x30]
mov ecx, dword [esi]
push edx
push eax
mov eax, dword [ebx - 0x58]
push eax
push 0x28
call fcn.10051fd0
mov edi, eax
mov dword [ebp - 0x2854], edi
mov ebx, dword [ebx - 0x58]
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
push 0
push 0
shl eax, 0x11
sar eax, 0x18
push eax
shl ecx, 0x1a
push 0
sar ecx, 0x1a
push edx
push ecx
lea ecx, [ebp - 0x2ca4]
call fcn.1004a520
add edi, 8
mov esi, eax
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
jmp case.default.0x1005ab60
mov ecx, dword [eax + 8]
and ecx, 0x3f
cmp cl, 0xa
jne 0x1005bdb1
mov edi, dword [eax + 0x20]
test edi, edi
jne 0x1005bc47
push 0x10088454
push str.Internal_Error
push str.structure_has_no_fields
jmp 0x1005bdc7
mov eax, dword [edi]
mov ecx, dword [edi + 4]
sub ecx, eax
sar ecx, 3
xor esi, esi
test ecx, ecx
je 0x1005bc94
jmp 0x1005bc60
mov edx, dword [eax + esi*8]
mov eax, dword [ebx + 4]
cmp dword [eax + 0x14], 0x10
mov ecx, dword [edx + 0x24]
mov edx, dword [eax + 0x10]
jb 0x1005bc74
mov eax, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x10]
push eax
push 0
call fcn.10003510
test eax, eax
je 0x1005bcd0
mov eax, dword [edi]
mov ecx, dword [edi + 4]
sub ecx, eax
inc esi
sar ecx, 3
cmp esi, ecx
jb 0x1005bc60
mov eax, dword [ebx + 4]
cmp dword [eax + 0x14], 0x10
jb 0x1005bc9f
mov eax, dword [eax]
mov esi, dword [ebp - 0x282c]
push 0x10088454
push eax
mov eax, dword [ebx - 0x30]
push str._no_such_field_in_structure
push eax
mov ecx, esi
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
mov ecx, dword [ebx - 0x58]
mov dword [ebp - 0x2854], ecx
jmp case.default.0x1005ab60
mov eax, dword [ebx - 0x58]
mov edx, dword [eax + 0x10]
and dl, 0x7f
cmp dl, 2
jne 0x1005bd3b
mov ecx, dword [ebx - 0x30]
mov edx, dword [ebx + 4]
push ecx
mov ecx, dword [ebp - 0x282c]
push eax
push edx
call fcn.1004f1f0
mov dword [ebp - 0x2854], eax
test eax, eax
jne 0x1005bd15
mov ecx, dword [ebp - 0x282c]
call fcn.100610f0
mov eax, dword [ebx - 0x58]
mov dword [ebp - 0x2854], eax
jmp case.default.0x1005ab60
mov edx, dword [edi]
mov esi, dword [edx + esi*8]
lea edi, [eax + 8]
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x2854]
mov ecx, dword [eax + 0x10]
and ecx, 0xffffff82
or ecx, 2
mov dword [eax + 0x10], ecx
jmp case.default.0x1005ab60
push 8
call fcn.10042840
mov ecx, eax
call fcn.10042870
test eax, eax
je 0x1005bd57
mov dword [eax], 0
mov ecx, eax
jmp 0x1005bd59
xor ecx, ecx
mov dword [ecx], esi
mov dword [ecx + 4], 2
mov eax, dword [edi]
mov edx, dword [ebx]
add esi, esi
add esi, esi
add esi, esi
mov eax, dword [eax + esi]
push edx
push eax
push ecx
mov ecx, dword [ebp - 0x282c]
mov ecx, dword [ecx]
call fcn.10052020
mov edx, dword [ebx - 0x30]
mov ecx, dword [ebp - 0x282c]
mov ecx, dword [ecx]
push edx
push eax
mov eax, dword [ebx - 0x58]
push eax
push 0x2a
call fcn.10051fd0
mov dword [ebp - 0x2854], eax
mov edx, dword [edi]
mov esi, dword [esi + edx]
lea edi, [eax + 8]
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
jmp case.default.0x1005ab60
mov eax, dword [ebx + 4]
cmp dword [eax + 0x14], 0x10
jb 0x1005bdbc
mov eax, dword [eax]
push 0x10088454
push eax
push str._field_selection_requires_structure__vector__or_matrix_on_left_hand_side
mov edx, dword [ebx - 0x30]
mov esi, dword [ebp - 0x282c]
push edx
mov ecx, esi
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
mov eax, dword [ebx - 0x58]
mov dword [ebp - 0x2854], eax
jmp case.default.0x1005ab60
mov ecx, dword [ebx - 0x28]
mov edx, dword [ebx]
mov esi, dword [ebp - 0x282c]
push ecx
push 0x10097c6c
push edx
mov ecx, esi
call fcn.1004ff60
test al, al
je 0x1005be11
mov ecx, esi
call fcn.100610f0
mov eax, dword [esi + 4]
mov ecx, dword [ebx]
mov edx, dword [ebx - 0x28]
push eax
push ecx
mov ecx, dword [esi]
push edx
push 0xa
call fcn.10054470
mov dword [ebp - 0x2854], eax
test eax, eax
jne case.default.0x1005ab60
mov ecx, dword [ebx - 0x28]
sub esp, 0x1c
push esp
add ecx, 8
call fcn.10055140
mov eax, dword [ebx]
push 0x10097c6c
push eax
mov ecx, esi
call fcn.1004fc80
mov ecx, esi
call fcn.100610f0
mov ecx, dword [ebx - 0x28]
mov dword [ebp - 0x2854], ecx
jmp case.default.0x1005ab60
mov edx, dword [ebx - 0x28]
mov eax, dword [ebx]
mov esi, dword [ebp - 0x282c]
push edx
push 0x10097c68
push eax
mov ecx, esi
call fcn.1004ff60
test al, al
je 0x1005be8a
mov ecx, esi
call fcn.100610f0
mov ecx, dword [esi + 4]
mov edx, dword [ebx]
mov eax, dword [ebx - 0x28]
push ecx
mov ecx, dword [esi]
push edx
push eax
push 0xb
call fcn.10054470
mov dword [ebp - 0x2854], eax
test eax, eax
jne case.default.0x1005ab60
mov ecx, dword [ebx - 0x28]
sub esp, 0x1c
push esp
add ecx, 8
call fcn.10055140
mov ecx, dword [ebx]
push 0x10097c68
push ecx
mov ecx, esi
call fcn.1004fc80
mov ecx, esi
call fcn.100610f0
mov edx, dword [ebx - 0x28]
mov dword [ebp - 0x2854], edx
jmp case.default.0x1005ab60
mov eax, dword [ebx + 8]
mov esi, dword [ebp - 0x282c]
push 0x10093ff4
push eax
mov ecx, esi
call fcn.1004e3e0
test al, al
je case.0x1005ab60.8
mov ecx, esi
call fcn.100610f0
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x2854], ecx
jmp case.default.0x1005ab60
mov eax, dword [ebx + 0x10]
mov esi, dword [eax + 0x68]
mov dword [ebp - 0x2864], eax
test esi, esi
je 0x1005bfd0
push 0
push 0
push 1
push 0
push 0
push 0
lea ecx, [ebp - 0x2744]
call fcn.1004a520
mov eax, dword [ebp - 0x2864]
mov ecx, dword [ebx + 8]
mov edi, dword [ebp - 0x282c]
lea edx, [ebp - 0x2744]
push edx
mov edx, dword [ebx]
push esi
push eax
push ecx
push edx
mov ecx, edi
call fcn.1004e650
test al, al
je 0x1005bf6c
mov dword [ebp - 0x2854], 0
jmp 0x1005bf93
mov eax, dword [ebx]
mov ecx, dword [ebp - 0x2864]
push eax
mov eax, dword [ebx + 8]
push ecx
push esi
lea edx, [ebp - 0x2744]
push edx
push eax
mov ecx, edi
call fcn.10050e50
mov dword [ebp - 0x2854], eax
test eax, eax
jne 0x1005bfad
mov ecx, edi
call fcn.100610f0
mov ecx, dword [ebx]
push ecx
mov ecx, dword [edi]
push esi
push 0
call fcn.100548b0
mov dword [ebp - 0x2854], eax
lea edi, [eax + 8]
mov ecx, 0xc
lea esi, [ebp - 0x2744]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x2864]
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
jmp case.default.0x1005ab60
mov eax, dword [ebp - 0x2864]
mov ecx, dword [ebx]
mov esi, dword [ebp - 0x282c]
lea edx, [ebp - 0x2865]
push edx
push eax
push ecx
mov ecx, esi
call fcn.1004f050
mov edi, eax
mov dword [ebp - 0x2870], edi
test edi, edi
je 0x1005c339
cmp byte [ebp - 0x2865], 0
je 0x1005c026
cmp dword [edi + 0x7c], 0
je 0x1005c026
mov eax, dword [ebx]
lea edx, [edi + 0x6c]
push edx
push eax
mov ecx, esi
call fcn.1004edd0
test al, al
je 0x1005c026
mov ecx, esi
call fcn.100610f0
cmp byte [ebp - 0x2865], 0
mov eax, dword [edi + 0x68]
je 0x1005c1ed
test eax, eax
je 0x1005c1ed
mov ecx, dword [edi + 0x10]
sub ecx, dword [edi + 0xc]
and ecx, 0xfffffff8
cmp ecx, 8
jne 0x1005c1d3
mov edx, dword [esi + 4]
mov ecx, dword [ebx + 8]
push edx
push 0
push ecx
mov ecx, dword [esi]
push eax
call fcn.10054470
mov dword [ebp - 0x2854], eax
test eax, eax
jne 0x1005c30d
push 1
push 3
lea ecx, [ebp - 0x2a5c]
call fcn.10047210
mov ecx, dword [ebx + 8]
lea edx, [ebp - 0x2828]
push edx
add ecx, 8
call fcn.10055140
lea eax, [ebp - 0x2828]
push eax
lea ecx, [ebp - 0x2a4c]
push str.built_in_unary_operator_function.__Type:
push ecx
call fcn.100443d0
add esp, 8
push eax
call fcn.10064060
add esp, 8
lea edx, [ebp - 0x2730]
push edx
lea ecx, [ebp - 0x2a44]
mov dword [ebp - 0x2814], 0xf
mov dword [ebp - 0x2818], 0
mov byte [ebp - 0x2828], 0
call fcn.10036fe0
cmp dword [ebp - 0x271c], 0x10
mov eax, dword [ebp - 0x2730]
jae 0x1005c0f7
lea eax, [ebp - 0x2730]
push eax
mov eax, dword [ebx + 8]
mov ecx, dword [eax + 4]
push str.Internal_Error
push str._wrong_operand_type
push ecx
mov ecx, esi
call fcn.1004e0e0
lea ecx, [ebp - 0x2730]
call fcn.10003680
lea ecx, [ebp - 0x2a5c]
call fcn.10047070
mov eax, dword [ebp - 0x2890]
mov edx, dword [ebp - 0x2874]
mov ebx, dword [ebp - 0x2894]
neg eax
lea eax, [edx + eax*2]
mov dword [ebp - 0x2874], eax
movsx eax, word [eax]
mov esi, dword [ebp - 0x2874]
lea esp, [esp]
mov dword [ebp - 0x2864], eax
mov edi, eax
mov dword [ebp - 0x2884], 3
jmp 0x1005c170
movsx eax, word [edi*2 + 0x1009aca0]
cmp eax, 0xfffffef6
je 0x1005c19e
inc eax
cmp eax, 0x588
ja 0x1005c19e
cmp word [eax*2 + 0x1009bac0], 1
jne 0x1005c19e
movsx eax, word [eax*2 + 0x1009afa8]
test eax, eax
jg 0x1005c1bc
cmp esi, dword [ebp - 0x2880]
je 0x1005abfc
movsx edi, word [esi - 2]
sub ebx, 0x30
sub esi, 2
mov dword [ebp - 0x2874], esi
jmp 0x1005c170
add ebx, 0x30
mov ecx, 0xc
lea esi, [ebp - 0x2a94]
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
jmp 0x100602f7
mov ecx, dword [ebx]
mov edx, dword [ebx + 8]
push ecx
mov ecx, dword [esi]
push eax
push edx
call fcn.100548b0
mov dword [ebp - 0x2854], eax
jmp 0x1005c30d
mov eax, dword [ebx]
mov ecx, dword [ebx + 8]
push eax
push 2
mov edx, esi
push ecx
mov ecx, dword [edx]
call fcn.100548b0
mov esi, dword [ebp - 0x2870]
add esi, 0x1c
lea edi, [eax + 8]
mov ecx, 0xc
mov dword [ebp - 0x2854], eax
rep movsd dword es:[edi], dword [esi]
cmp byte [ebp - 0x2865], 0
jne 0x1005c232
mov ecx, dword [ebp - 0x2854]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
call edx
mov byte [eax + 0x68], 1
mov edi, dword [ebp - 0x2870]
mov eax, dword [edi]
mov edx, dword [eax + 4]
mov ecx, edi
call edx
mov ecx, dword [ebp - 0x2854]
mov esi, eax
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
call edx
push 0xffffffffffffffff
push 0
push esi
lea ecx, [eax + 0x4c]
call fcn.10034190
mov eax, dword [edi + 0x10]
sub eax, dword [edi + 0xc]
xor esi, esi
test eax, 0xfffffff8
jle 0x1005c30d
mov ecx, dword [edi + 0xc]
mov edx, dword [ecx + esi*8 + 4]
mov eax, dword [edx + 8]
shl eax, 0x19
sar eax, 0x19
cmp eax, 0xc
je 0x1005c28a
cmp eax, 0xd
jne 0x1005c2fb
mov ecx, dword [ebp - 0x2854]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
call edx
mov eax, dword [eax + 0x3c]
mov ecx, dword [eax + esi*4]
mov edx, dword [ebp - 0x2854]
mov eax, dword [edx + 4]
mov edx, dword [ecx]
mov dword [ebp - 0x2860], eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x2860]
push eax
push str.assign
push ecx
mov ecx, dword [ebp - 0x282c]
call fcn.1004ff60
test al, al
je 0x1005c2fb
mov edx, dword [ebx + 8]
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0x282c]
push 0x10088454
push str.Error
push str.Constant_value_cannot_be_passed_for_out_or_inout_parameters.
push eax
call fcn.1004e0e0
mov ecx, dword [ebp - 0x282c]
call fcn.100610f0
mov ecx, dword [edi + 0x10]
sub ecx, dword [edi + 0xc]
inc esi
sar ecx, 3
cmp esi, ecx
jl 0x1005c270
mov edi, dword [ebp - 0x2854]
mov esi, dword [ebp - 0x2870]
add esi, 0x1c
add edi, 8
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x2864]
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
jmp case.default.0x1005ab60
push 8
call fcn.10042840
mov ecx, eax
call fcn.10042870
test eax, eax
je 0x1005c355
mov dword [eax], 0
mov edi, eax
jmp 0x1005c357
xor edi, edi
fldz
mov dword [edi + 4], 1
fstp dword [edi]
lea ecx, [ebp - 0x2af4]
mov edx, dword [ebx]
push edx
push 0
push 0
push 1
push 2
push 0
push 1
call fcn.1004a520
mov ecx, dword [esi]
push eax
push edi
call fcn.10052020
mov ecx, esi
mov dword [ebp - 0x2854], eax
call fcn.100610f0
mov ecx, dword [ebp - 0x2864]
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
jmp case.default.0x1005ab60
mov eax, dword [ebx]
mov esi, dword [ebp - 0x282c]
push 0x10088454
push 0x10088454
push str.methods_are_not_supported
push eax
mov ecx, esi
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
mov ecx, 0xc
mov esi, ebx
lea edi, [ebp - 0x285c]
rep movsd dword es:[edi], dword [esi]
jmp case.default.0x1005ab60
lea esi, [ebx - 0x30]
mov ecx, 0xc
lea edi, [ebp - 0x285c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx]
mov dword [ebp - 0x285c], ecx
jmp case.default.0x1005ab60
lea esi, [ebx - 0x30]
mov ecx, 0xc
lea edi, [ebp - 0x285c]
rep movsd dword es:[edi], dword [esi]
mov edx, dword [ebx]
mov dword [ebp - 0x285c], edx
jmp case.default.0x1005ab60
mov eax, dword [ebx - 0x20]
mov dword [ebp - 0x284c], eax
mov dword [ebp - 0x2854], 0
jmp case.default.0x1005ab60
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x284c], ecx
mov dword [ebp - 0x2854], 0
jmp case.default.0x1005ab60
xor esi, esi
push 0x30
mov dword [ebp - 0x28e8], esi
call fcn.10042840
mov ecx, eax
call fcn.10042870
cmp eax, esi
je 0x1005c47a
mov esi, dword [ebx + 8]
add esi, 8
mov ecx, 0xc
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x28e4], eax
jmp 0x1005c480
mov dword [ebp - 0x28e4], esi
mov ecx, dword [ebx - 0x20]
lea edx, [ebp - 0x28e8]
push edx
call fcn.1005a7b0
mov eax, dword [ebx - 0x20]
mov dword [ebp - 0x284c], eax
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x2854], ecx
jmp case.default.0x1005ab60
xor esi, esi
push 0x30
mov dword [ebp - 0x28c4], esi
call fcn.10042840
mov ecx, eax
call fcn.10042870
cmp eax, esi
je 0x1005c4d7
mov esi, dword [ebx + 8]
add esi, 8
mov ecx, 0xc
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x28c0], eax
jmp 0x1005c4dd
mov dword [ebp - 0x28c0], esi
mov ecx, dword [ebx - 0x50]
lea edx, [ebp - 0x28c4]
push edx
call fcn.1005a7b0
mov eax, dword [ebx - 0x50]
mov dword [ebp - 0x284c], eax
mov ecx, dword [ebx - 0x30]
mov edx, dword [ebx + 8]
mov eax, dword [ebx - 0x58]
push ecx
mov ecx, dword [ebp - 0x282c]
mov ecx, dword [ecx]
push edx
push eax
call fcn.10054940
mov dword [ebp - 0x2854], eax
jmp case.default.0x1005ab60
mov edx, dword [ebx - 0x20]
mov dword [ebp - 0x284c], edx
jmp case.default.0x1005ab60
cmp dword [ebx + 0x28], 0
je 0x1005c537
mov esi, 0x68
jmp 0x1005c7aa
mov ecx, dword [ebx + 0x10]
mov eax, ecx
dec eax
je 0x1005c729
dec eax
je 0x1005c63d
dec eax
jne case.default.0x1005c756
mov eax, dword [ebx + 0x1c]
dec eax
cmp eax, 3
ja case.default.0x1005c756
jmp dword [eax*4 + 0x10060668]
mov esi, 0x5a
jmp 0x1005c7aa
mov eax, dword [ebp - 0x282c]
mov eax, dword [eax + 8]
cmp eax, 0x8b30
je 0x1005c5ad
cmp eax, 0x8b31
je 0x1005c5ad
mov ecx, dword [ebx + 0x2c]
mov esi, dword [ebp - 0x282c]
push 0x10088454
push str.bvec2
push str._supported_in_vertex_fragment_shaders_only
push ecx
mov ecx, esi
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
mov esi, 0x5f
jmp 0x1005c7aa
mov edx, dword [ebp - 0x282c]
mov eax, dword [edx + 8]
cmp eax, 0x8b30
je 0x1005c5f1
cmp eax, 0x8b31
je 0x1005c5f1
mov eax, dword [ebx + 0x2c]
push 0x10088454
push str.bvec3
push str._supported_in_vertex_fragment_shaders_only
mov esi, edx
push eax
mov ecx, esi
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
mov esi, 0x60
jmp 0x1005c7aa
mov ecx, dword [ebp - 0x282c]
mov eax, dword [ecx + 8]
cmp eax, 0x8b30
je 0x1005c633
cmp eax, 0x8b31
je 0x1005c633
mov edx, dword [ebx + 0x2c]
push 0x10088454
push str.bvec4
push str._supported_in_vertex_fragment_shaders_only
push edx
mov esi, ecx
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
mov esi, 0x61
jmp 0x1005c7aa
mov eax, dword [ebx + 0x1c]
dec eax
cmp eax, 3
ja case.default.0x1005c756
jmp dword [eax*4 + 0x10060678]
mov esi, 0x59
jmp 0x1005c7aa
mov eax, dword [ebp - 0x282c]
mov eax, dword [eax + 8]
cmp eax, 0x8b30
je 0x1005c699
cmp eax, 0x8b31
je 0x1005c699
mov ecx, dword [ebx + 0x2c]
mov esi, dword [ebp - 0x282c]
push 0x10088454
push str.ivec2
push str._supported_in_vertex_fragment_shaders_only
push ecx
mov ecx, esi
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
mov esi, 0x62
jmp 0x1005c7aa
mov edx, dword [ebp - 0x282c]
mov eax, dword [edx + 8]
cmp eax, 0x8b30
je 0x1005c6dd
cmp eax, 0x8b31
je 0x1005c6dd
mov eax, dword [ebx + 0x2c]
push 0x10088454
push str.ivec3
push str._supported_in_vertex_fragment_shaders_only
mov esi, edx
push eax
mov ecx, esi
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
mov esi, 0x63
jmp 0x1005c7aa
mov ecx, dword [ebp - 0x282c]
mov eax, dword [ecx + 8]
cmp eax, 0x8b30
je 0x1005c71f
cmp eax, 0x8b31
je 0x1005c71f
mov edx, dword [ebx + 0x2c]
push 0x10088454
push str.ivec4
push str._supported_in_vertex_fragment_shaders_only
push edx
mov esi, ecx
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
mov esi, 0x64
jmp 0x1005c7aa
cmp byte [ebx + 0x20], 0
mov eax, dword [ebx + 0x1c]
je 0x1005c750
sub eax, 2
je 0x1005c749
dec eax
je 0x1005c742
dec eax
jne case.default.0x1005c756
lea esi, [eax + 0x67]
jmp 0x1005c7aa
mov esi, 0x66
jmp 0x1005c7aa
mov esi, 0x65
jmp 0x1005c7aa
dec eax
cmp eax, 3
ja case.default.0x1005c756
jmp dword [eax*4 + 0x10060688]
mov esi, 0x5c
jmp 0x1005c7aa
mov esi, 0x5d
jmp 0x1005c7aa
mov esi, 0x5e
jmp 0x1005c7aa
push 0x10088454
push ecx
call fcn.10042d00
mov esi, dword [ebp - 0x282c]
add esp, 4
push eax
mov eax, dword [ebx + 0x2c]
push str.cannot_construct_this_type
push eax
mov ecx, esi
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
mov dword [ebx + 0x10], 1
mov esi, 0x5b
call fcn.10042840
add ebx, 0x10
push ebx
lea ecx, [ebp - 0x2780]
mov dword [ebp - 0x2718], eax
mov dword [ebp - 0x271c], 0xf
mov dword [ebp - 0x2720], 0
mov byte [ebp - 0x2730], 0
call fcn.1004f370
push 0x8c
call fcn.10042840
mov ecx, eax
call fcn.10042870
test eax, eax
je 0x1005c815
push esi
lea ecx, [ebp - 0x2780]
push ecx
lea edx, [ebp - 0x2730]
push edx
mov ecx, eax
call fcn.1005a830
mov dword [ebp - 0x284c], eax
jmp case.default.0x1005ab60
xor eax, eax
mov dword [ebp - 0x284c], eax
jmp case.default.0x1005ab60
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
mov esi, dword [ebp - 0x282c]
push eax
push ecx
mov ecx, esi
call fcn.1004e460
test al, al
je 0x1005c841
mov ecx, esi
call fcn.100610f0
push 0
push 0
push 1
push 0
push 0
push 0
lea ecx, [ebp - 0x2744]
call fcn.1004a520
push 0x8c
call fcn.10042840
mov ecx, eax
call fcn.10042870
test eax, eax
je 0x1005c815
mov ecx, dword [ebx + 4]
push 0
lea edx, [ebp - 0x2744]
push edx
push ecx
mov ecx, eax
call fcn.1005a830
mov dword [ebp - 0x284c], eax
jmp case.default.0x1005ab60
mov edx, dword [ebx + 4]
mov eax, dword [ebx]
mov esi, dword [ebp - 0x282c]
push edx
push eax
mov ecx, esi
call fcn.1004e460
test al, al
je 0x1005c8ab
mov ecx, esi
call fcn.100610f0
push 0
push 0
push 1
push 0
push 0
push 0
lea ecx, [ebp - 0x2744]
call fcn.1004a520
push 0x8c
call fcn.10042840
mov ecx, eax
call fcn.10042870
test eax, eax
je 0x1005c815
mov edx, dword [ebx + 4]
push 0
lea ecx, [ebp - 0x2744]
push ecx
push edx
mov ecx, eax
call fcn.1005a830
mov dword [ebp - 0x284c], eax
jmp case.default.0x1005ab60
mov ecx, dword [ebx + 8]
mov edx, dword [ebx - 0x30]
mov esi, dword [ebp - 0x282c]
push ecx
push 0x10097c6c
push edx
mov ecx, esi
call fcn.1004ff60
test al, al
je 0x1005c91f
mov ecx, esi
call fcn.100610f0
mov eax, dword [esi + 4]
mov ecx, dword [ebx - 0x30]
mov edx, dword [ebx + 8]
push eax
push ecx
mov ecx, dword [esi]
push edx
push 0xc
call fcn.10054470
mov dword [ebp - 0x2854], eax
test eax, eax
jne case.default.0x1005ab60
mov ecx, dword [ebx + 8]
sub esp, 0x1c
push esp
add ecx, 8
call fcn.10055140
mov eax, dword [ebx - 0x30]
push 0x10097c6c
push eax
mov ecx, esi
call fcn.1004fc80
mov ecx, esi
call fcn.100610f0
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x2854], ecx
jmp case.default.0x1005ab60
mov edx, dword [ebx + 8]
mov eax, dword [ebx - 0x30]
mov esi, dword [ebp - 0x282c]
push edx
push 0x10097c68
push eax
mov ecx, esi
call fcn.1004ff60
test al, al
je 0x1005c99b
mov ecx, esi
call fcn.100610f0
mov ecx, dword [esi + 4]
mov edx, dword [ebx - 0x30]
mov eax, dword [ebx + 8]
push ecx
mov ecx, dword [esi]
push edx
push eax
push 0xd
call fcn.10054470
mov dword [ebp - 0x2854], eax
test eax, eax
jne case.default.0x1005ab60
mov ecx, dword [ebx + 8]
sub esp, 0x1c
push esp
add ecx, 8
call fcn.10055140
mov ecx, dword [ebx - 0x30]
push 0x10097c68
push ecx
mov ecx, esi
call fcn.1004fc80
mov ecx, esi
call fcn.100610f0
mov edx, dword [ebx + 8]
mov dword [ebp - 0x2854], edx
jmp case.default.0x1005ab60
mov eax, dword [ebx - 0x2c]
test eax, eax
je case.0x1005ab60.10
mov ecx, dword [ebp - 0x282c]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
push edx
mov edx, dword [ebx - 0x30]
push edx
mov edx, dword [ebx + 8]
push edx
push eax
call fcn.10054470
mov dword [ebp - 0x2854], eax
test eax, eax
jne case.default.0x1005ab60
mov eax, dword [ebx - 0x2c]
sub eax, 7
mov esi, 0x10088454
je 0x1005ca38
dec eax
jne 0x1005ca3d
mov esi, 0x10097c70
jmp 0x1005ca3d
mov esi, 0x10097ca0
mov ecx, dword [ebx + 8]
sub esp, 0x1c
push esp
add ecx, 8
call fcn.10055140
mov eax, dword [ebx - 0x30]
push esi
mov esi, dword [ebp - 0x282c]
push eax
mov ecx, esi
call fcn.1004fc80
mov ecx, esi
call fcn.100610f0
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x2854], ecx
jmp case.default.0x1005ab60
mov eax, dword [ebx]
mov dword [ebp - 0x285c], eax
mov dword [ebp - 0x2858], 0
jmp case.default.0x1005ab60
mov ecx, dword [ebx]
mov dword [ebp - 0x285c], ecx
mov dword [ebp - 0x2858], 7
jmp case.default.0x1005ab60
mov edx, dword [ebx]
mov dword [ebp - 0x285c], edx
mov dword [ebp - 0x2858], 8
jmp case.default.0x1005ab60
mov ecx, dword [ebp - 0x282c]
mov eax, dword [ecx + 8]
cmp eax, 0x8b30
je 0x1005caf0
cmp eax, 0x8b31
je 0x1005caf0
mov edx, dword [ebx - 0x30]
push 0x10088454
push 0x10097c9c
push str._supported_in_vertex_fragment_shaders_only
push edx
mov esi, ecx
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
mov eax, dword [ebp - 0x282c]
mov ecx, dword [eax + 4]
mov edx, dword [ebx - 0x30]
push ecx
mov ecx, dword [ebx + 8]
push edx
mov edx, dword [ebx - 0x58]
push ecx
mov ecx, dword [eax]
push edx
push 0x16
call fcn.10054220
mov dword [ebp - 0x2854], eax
test eax, eax
jne case.default.0x1005ab60
mov ecx, dword [ebx + 8]
sub esp, 0x1c
push esp
add ecx, 8
call fcn.10055140
mov ecx, dword [ebx - 0x58]
sub esp, 0x1c
push esp
add ecx, 8
call fcn.10055140
push 0x10097c9c
mov eax, dword [ebx - 0x30]
mov esi, dword [ebp - 0x282c]
push eax
mov ecx, esi
call fcn.1004fde0
mov ecx, esi
call fcn.100610f0
mov ecx, dword [ebx - 0x58]
mov dword [ebp - 0x2854], ecx
jmp case.default.0x1005ab60
mov edx, dword [ebp - 0x282c]
mov eax, dword [edx + 8]
cmp eax, 0x8b30
je 0x1005cba0
cmp eax, 0x8b31
je 0x1005cba0
mov eax, dword [ebx - 0x30]
push 0x10088454
push 0x10097c98
push str._supported_in_vertex_fragment_shaders_only
mov esi, edx
push eax
mov ecx, esi
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
mov eax, dword [ebp - 0x282c]
mov ecx, dword [eax + 4]
mov edx, dword [ebx - 0x30]
push ecx
mov ecx, dword [ebx + 8]
push edx
mov edx, dword [ebx - 0x58]
push ecx
mov ecx, dword [eax]
push edx
push 0x17
call fcn.10054220
mov dword [ebp - 0x2854], eax
test eax, eax
jne case.default.0x1005ab60
mov ecx, dword [ebx + 8]
sub esp, 0x1c
push esp
add ecx, 8
call fcn.10055140
mov ecx, dword [ebx - 0x58]
sub esp, 0x1c
push esp
add ecx, 8
call fcn.10055140
push 0x10097c98
jmp 0x1005cb40
mov eax, dword [ebp - 0x282c]
mov ecx, dword [eax + 4]
mov edx, dword [ebx - 0x30]
push ecx
mov ecx, dword [ebx + 8]
push edx
mov edx, dword [ebx - 0x58]
push ecx
mov ecx, dword [eax]
push edx
push 0x14
call fcn.10054220
mov dword [ebp - 0x2854], eax
test eax, eax
jne case.default.0x1005ab60
mov ecx, dword [ebx + 8]
sub esp, 0x1c
push esp
add ecx, 8
call fcn.10055140
mov ecx, dword [ebx - 0x58]
sub esp, 0x1c
push esp
add ecx, 8
call fcn.10055140
push 0x10097ca4
jmp 0x1005cb40
mov eax, dword [ebp - 0x282c]
mov edx, dword [eax + 4]
mov ecx, dword [ebx - 0x30]
push edx
mov edx, dword [ebx + 8]
push ecx
mov ecx, dword [ebx - 0x58]
push edx
push ecx
mov ecx, dword [eax]
push 0x15
call fcn.10054220
mov dword [ebp - 0x2854], eax
test eax, eax
jne case.default.0x1005ab60
mov ecx, dword [ebx + 8]
sub esp, 0x1c
push esp
add ecx, 8
call fcn.10055140
mov ecx, dword [ebx - 0x58]
sub esp, 0x1c
push esp
add ecx, 8
call fcn.10055140
mov edx, dword [ebx - 0x30]
mov esi, dword [ebp - 0x282c]
push 0x10097ca0
push edx
mov ecx, esi
call fcn.1004fde0
mov ecx, esi
call fcn.100610f0
mov eax, dword [ebx - 0x58]
mov dword [ebp - 0x2854], eax
jmp case.default.0x1005ab60
mov eax, dword [ebp - 0x282c]
mov ecx, dword [eax + 4]
mov edx, dword [ebx - 0x30]
push ecx
mov ecx, dword [ebx + 8]
push edx
mov edx, dword [ebx - 0x58]
push ecx
mov ecx, dword [eax]
push edx
push 0x1c
call fcn.10054220
mov dword [ebp - 0x2854], eax
test eax, eax
jne case.default.0x1005ab60
mov ecx, dword [ebx + 8]
sub esp, 0x1c
push esp
add ecx, 8
call fcn.10055140
mov ecx, dword [ebx - 0x58]
sub esp, 0x1c
push esp
add ecx, 8
call fcn.10055140
mov eax, dword [ebx - 0x30]
mov edi, dword [ebp - 0x282c]
push 0x10097c8c
push eax
mov ecx, edi
call fcn.1004fde0
mov ecx, edi
call fcn.100610f0
push 8
call fcn.10042840
mov ecx, eax
call fcn.10042870
test eax, eax
je 0x1005cd44
mov dword [eax], 0
mov esi, eax
jmp 0x1005cd46
xor esi, esi
mov byte [esi], 0
mov dword [esi + 4], 3
mov ecx, dword [ebx - 0x30]
push ecx
lea ecx, [ebp - 0x2d04]
push 0
push 0
push 1
push 2
push 0
push 3
call fcn.1004a520
mov ecx, dword [edi]
push eax
push esi
call fcn.10052020
mov dword [ebp - 0x2854], eax
jmp case.default.0x1005ab60
mov eax, dword [ebp - 0x282c]
mov edx, dword [eax + 4]
mov ecx, dword [ebx - 0x30]
push edx
mov edx, dword [ebx + 8]
push ecx
mov ecx, dword [ebx - 0x58]
push edx
push ecx
mov ecx, dword [eax]
push 0x1d
call fcn.10054220
mov dword [ebp - 0x2854], eax
test eax, eax
jne case.default.0x1005ab60
mov ecx, dword [ebx + 8]
sub esp, 0x1c
push esp
add ecx, 8
call fcn.10055140
mov ecx, dword [ebx - 0x58]
sub esp, 0x1c
push esp
add ecx, 8
call fcn.10055140
mov edx, dword [ebx - 0x30]
mov edi, dword [ebp - 0x282c]
push 0x10097c88
push edx
mov ecx, edi
call fcn.1004fde0
mov ecx, edi
call fcn.100610f0
push 8
call fcn.10042840
mov ecx, eax
call fcn.10042870
test eax, eax
je 0x1005ce03
mov dword [eax], 0
mov esi, eax
jmp 0x1005ce05
xor esi, esi
mov byte [esi], 0
mov dword [esi + 4], 3
mov eax, dword [ebx - 0x30]
push eax
lea ecx, [ebp - 0x2e84]
jmp 0x1005cd5a
mov eax, dword [ebp - 0x282c]
mov ecx, dword [eax + 4]
mov edx, dword [ebx - 0x30]
push ecx
mov ecx, dword [ebx + 8]
push edx
mov edx, dword [ebx - 0x58]
push ecx
mov ecx, dword [eax]
push edx
push 0x1e
call fcn.10054220
mov dword [ebp - 0x2854], eax
test eax, eax
jne case.default.0x1005ab60
mov ecx, dword [ebx + 8]
sub esp, 0x1c
push esp
add ecx, 8
call fcn.10055140
mov ecx, dword [ebx - 0x58]
sub esp, 0x1c
push esp
add ecx, 8
call fcn.10055140
mov eax, dword [ebx - 0x30]
mov edi, dword [ebp - 0x282c]
push 0x10097c84
push eax
mov ecx, edi
call fcn.1004fde0
mov ecx, edi
call fcn.100610f0
push 8
call fcn.10042840
mov ecx, eax
call fcn.10042870
test eax, eax
je 0x1005cea2
mov dword [eax], 0
mov esi, eax
jmp 0x1005cea4
xor esi, esi
mov byte [esi], 0
mov dword [esi + 4], 3
mov ecx, dword [ebx - 0x30]
push ecx
lea ecx, [ebp - 0x2d64]
jmp 0x1005cd5a
mov eax, dword [ebp - 0x282c]
mov edx, dword [eax + 4]
mov ecx, dword [ebx - 0x30]
push edx
mov edx, dword [ebx + 8]
push ecx
mov ecx, dword [ebx - 0x58]
push edx
push ecx
mov ecx, dword [eax]
push 0x1f
call fcn.10054220
mov dword [ebp - 0x2854], eax
test eax, eax
jne case.default.0x1005ab60
mov ecx, dword [ebx + 8]
sub esp, 0x1c
push esp
add ecx, 8
call fcn.10055140
mov ecx, dword [ebx - 0x58]
sub esp, 0x1c
push esp
add ecx, 8
call fcn.10055140
mov edx, dword [ebx - 0x30]
mov edi, dword [ebp - 0x282c]
push 0x10097c80
push edx
mov ecx, edi
call fcn.1004fde0
mov ecx, edi
call fcn.100610f0
push 8
call fcn.10042840
mov ecx, eax
call fcn.10042870
test eax, eax
je 0x1005cf41
mov dword [eax], 0
mov esi, eax
jmp 0x1005cf43
xor esi, esi
mov byte [esi], 0
mov dword [esi + 4], 3
mov eax, dword [ebx - 0x30]
push eax
lea ecx, [ebp - 0x2b24]
jmp 0x1005cd5a
mov eax, dword [ebp - 0x282c]
mov edx, dword [eax + 4]
mov ecx, dword [ebx - 0x30]
push edx
mov edx, dword [ebx + 8]
push ecx
mov ecx, dword [ebx - 0x58]
push edx
push ecx
mov ecx, dword [eax]
push 0x18
call fcn.10054220
mov dword [ebp - 0x2854], eax
test eax, eax
jne case.default.0x1005ab60
mov ecx, dword [ebx + 8]
sub esp, 0x1c
push esp
add ecx, 8
call fcn.10055140
mov ecx, dword [ebx - 0x58]
sub esp, 0x1c
push esp
add ecx, 8
call fcn.10055140
mov edx, dword [ebx - 0x30]
mov edi, dword [ebp - 0x282c]
push 0x10097c94
push edx
mov ecx, edi
call fcn.1004fde0
mov ecx, edi
call fcn.100610f0
push 8
call fcn.10042840
mov ecx, eax
call fcn.10042870
test eax, eax
je 0x1005cfe0
mov dword [eax], 0
mov esi, eax
jmp 0x1005cfe2
xor esi, esi
mov byte [esi], 0
mov dword [esi + 4], 3
mov eax, dword [ebx - 0x30]
push eax
lea ecx, [ebp - 0x2b54]
jmp 0x1005cd5a
mov eax, dword [ebp - 0x282c]
mov ecx, dword [eax + 4]
mov edx, dword [ebx - 0x30]
push ecx
mov ecx, dword [ebx + 8]
push edx
mov edx, dword [ebx - 0x58]
push ecx
mov ecx, dword [eax]
push edx
push 0x19
call fcn.10054220
mov dword [ebp - 0x2854], eax
test eax, eax
jne case.default.0x1005ab60
mov ecx, dword [ebx + 8]
sub esp, 0x1c
push esp
add ecx, 8
call fcn.10055140
mov ecx, dword [ebx - 0x58]
sub esp, 0x1c
push esp
add ecx, 8
call fcn.10055140
mov eax, dword [ebx - 0x30]
mov edi, dword [ebp - 0x282c]
push 0x10097c90
push eax
mov ecx, edi
call fcn.1004fde0
mov ecx, edi
call fcn.100610f0
push 8
call fcn.10042840
mov ecx, eax
call fcn.10042870
test eax, eax
je 0x1005d07f
mov dword [eax], 0
mov esi, eax
jmp 0x1005d081
xor esi, esi
mov byte [esi], 0
mov dword [esi + 4], 3
mov ecx, dword [ebx - 0x30]
push ecx
lea ecx, [ebp - 0x2bb4]
jmp 0x1005cd5a
mov eax, dword [ebp - 0x282c]
mov ecx, dword [eax + 4]
mov edx, dword [ebx - 0x30]
push ecx
mov ecx, dword [ebx + 8]
push edx
mov edx, dword [ebx - 0x58]
push ecx
mov ecx, dword [eax]
push edx
push 0x27
call fcn.10054220
mov dword [ebp - 0x2854], eax
test eax, eax
jne case.default.0x1005ab60
mov ecx, dword [ebx + 8]
sub esp, 0x1c
push esp
add ecx, 8
call fcn.10055140
mov ecx, dword [ebx - 0x58]
sub esp, 0x1c
push esp
add ecx, 8
call fcn.10055140
mov eax, dword [ebx - 0x30]
mov edi, dword [ebp - 0x282c]
push 0x10097c74
push eax
mov ecx, edi
call fcn.1004fde0
mov ecx, edi
call fcn.100610f0
push 8
call fcn.10042840
mov ecx, eax
call fcn.10042870
test eax, eax
je 0x1005d11e
mov dword [eax], 0
mov esi, eax
jmp 0x1005d120
xor esi, esi
mov byte [esi], 0
mov dword [esi + 4], 3
mov ecx, dword [ebx - 0x30]
push ecx
lea ecx, [ebp - 0x2c14]
jmp 0x1005cd5a
mov eax, dword [ebp - 0x282c]
mov ecx, dword [eax + 4]
mov edx, dword [ebx - 0x30]
push ecx
mov ecx, dword [ebx + 8]
push edx
mov edx, dword [ebx - 0x58]
push ecx
mov ecx, dword [eax]
push edx
push 0x26
call fcn.10054220
mov dword [ebp - 0x2854], eax
test eax, eax
jne case.default.0x1005ab60
mov ecx, dword [ebx + 8]
sub esp, 0x1c
push esp
add ecx, 8
call fcn.10055140
mov ecx, dword [ebx - 0x58]
sub esp, 0x1c
push esp
add ecx, 8
call fcn.10055140
mov eax, dword [ebx - 0x30]
mov edi, dword [ebp - 0x282c]
push 0x10097c78
push eax
mov ecx, edi
call fcn.1004fde0
mov ecx, edi
call fcn.100610f0
push 8
call fcn.10042840
mov ecx, eax
call fcn.10042870
test eax, eax
je 0x1005d1bd
mov dword [eax], 0
mov esi, eax
jmp 0x1005d1bf
xor esi, esi
mov byte [esi], 0
mov dword [esi + 4], 3
mov ecx, dword [ebx - 0x30]
push ecx
lea ecx, [ebp - 0x2c74]
jmp 0x1005cd5a
mov eax, dword [ebp - 0x282c]
mov ecx, dword [eax + 4]
mov edx, dword [ebx - 0x30]
push ecx
mov ecx, dword [ebx + 8]
push edx
mov edx, dword [ebx - 0x58]
push ecx
mov ecx, dword [eax]
push edx
push 0x25
call fcn.10054220
mov dword [ebp - 0x2854], eax
test eax, eax
jne case.default.0x1005ab60
mov ecx, dword [ebx + 8]
sub esp, 0x1c
push esp
add ecx, 8
call fcn.10055140
mov ecx, dword [ebx - 0x58]
sub esp, 0x1c
push esp
add ecx, 8
call fcn.10055140
mov eax, dword [ebx - 0x30]
mov edi, dword [ebp - 0x282c]
push 0x10097c7c
push eax
mov ecx, edi
call fcn.1004fde0
mov ecx, edi
call fcn.100610f0
push 8
call fcn.10042840
mov ecx, eax
call fcn.10042870
test eax, eax
je 0x1005d25c
mov dword [eax], 0
mov esi, eax
jmp 0x1005d25e
xor esi, esi
mov byte [esi], 0
mov dword [esi + 4], 3
mov ecx, dword [ebx - 0x30]
push ecx
lea ecx, [ebp - 0x2cd4]
jmp 0x1005cd5a
mov eax, dword [ebx - 0xb8]
mov ecx, dword [ebx - 0x90]
mov esi, dword [ebp - 0x282c]
push eax
push ecx
mov ecx, esi
call fcn.1004ea60
test al, al
je 0x1005d29d
mov ecx, esi
call fcn.100610f0
mov edx, dword [ebx - 0x90]
mov eax, dword [ebx + 8]
mov ecx, dword [ebx - 0x58]
push edx
mov edx, dword [ebx - 0xb8]
push eax
push ecx
mov ecx, dword [esi]
push edx
call fcn.10054120
mov edi, eax
mov dword [ebp - 0x2854], edi
mov eax, dword [ebx + 8]
mov ecx, dword [ebx - 0x58]
add eax, 8
push eax
add ecx, 8
call fcn.1004ddd0
test al, al
jne 0x1005d2e4
mov dword [ebp - 0x2854], 0
jmp 0x1005d2ec
test edi, edi
jne case.default.0x1005ab60
mov ecx, dword [ebx + 8]
sub esp, 0x1c
push esp
add ecx, 8
call fcn.10055140
mov ecx, dword [ebx - 0x58]
sub esp, 0x1c
push esp
add ecx, 8
call fcn.10055140
mov ecx, dword [ebx - 0x90]
push 0x10093ad4
push ecx
mov ecx, esi
call fcn.1004fde0
mov ecx, esi
call fcn.100610f0
mov edx, dword [ebx + 8]
mov dword [ebp - 0x2854], edx
jmp case.default.0x1005ab60
mov ecx, dword [ebx - 0x58]
mov edx, dword [ebx - 0x30]
mov esi, dword [ebp - 0x282c]
push ecx
push str.assign
push edx
mov ecx, esi
call fcn.1004ff60
test al, al
je 0x1005d357
mov ecx, esi
call fcn.100610f0
mov eax, dword [ebx - 0x30]
mov ecx, dword [ebx + 8]
mov edx, dword [ebx - 0x58]
push eax
mov eax, dword [ebx - 0x2c]
push ecx
mov ecx, dword [esi]
push edx
push eax
call fcn.100543f0
mov dword [ebp - 0x2854], eax
test eax, eax
jne case.default.0x1005ab60
mov ecx, dword [ebx + 8]
sub esp, 0x1c
push esp
add ecx, 8
call fcn.10055140
mov ecx, dword [ebx - 0x58]
sub esp, 0x1c
push esp
add ecx, 8
call fcn.10055140
mov ecx, dword [ebx - 0x30]
push str.assign
push ecx
mov ecx, esi
call fcn.1004fb10
mov ecx, esi
call fcn.100610f0
mov edx, dword [ebx - 0x58]
mov dword [ebp - 0x2854], edx
jmp case.default.0x1005ab60
mov eax, dword [ebx]
mov dword [ebp - 0x285c], eax
mov dword [ebp - 0x2858], 0x69
jmp case.default.0x1005ab60
mov ecx, dword [ebp - 0x282c]
mov eax, dword [ecx + 8]
cmp eax, 0x8b30
je 0x1005d40d
cmp eax, 0x8b31
je 0x1005d40d
mov edx, dword [ebx]
push 0x10088454
push 0x10097ca8
push str._supported_in_vertex_fragment_shaders_only
push edx
mov esi, ecx
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
mov eax, dword [ebx]
mov dword [ebp - 0x285c], eax
mov dword [ebp - 0x2858], 0x6d
jmp case.default.0x1005ab60
mov ecx, dword [ebp - 0x282c]
mov eax, dword [ecx + 8]
cmp eax, 0x8b30
je 0x1005d45b
cmp eax, 0x8b31
je 0x1005d45b
mov edx, dword [ebx]
push 0x10088454
push 0x10097cac
push str._supported_in_vertex_fragment_shaders_only
push edx
mov esi, ecx
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
mov eax, dword [ebx]
mov dword [ebp - 0x285c], eax
mov dword [ebp - 0x2858], 0x72
jmp case.default.0x1005ab60
mov ecx, dword [ebx]
mov dword [ebp - 0x285c], ecx
mov dword [ebp - 0x2858], 0x6b
jmp case.default.0x1005ab60
mov edx, dword [ebx]
mov dword [ebp - 0x285c], edx
mov dword [ebp - 0x2858], 0x6c
jmp case.default.0x1005ab60
mov ecx, dword [ebx - 0x30]
mov edx, dword [ebx + 8]
mov eax, dword [ebx - 0x58]
push ecx
mov ecx, dword [ebp - 0x282c]
mov ecx, dword [ecx]
push edx
push eax
call fcn.10054ae0
mov dword [ebp - 0x2854], eax
test eax, eax
jne case.default.0x1005ab60
mov ecx, dword [ebx + 8]
sub esp, 0x1c
push esp
add ecx, 8
call fcn.10055140
mov ecx, dword [ebx - 0x58]
sub esp, 0x1c
push esp
add ecx, 8
call fcn.10055140
mov edx, dword [ebx - 0x30]
mov esi, dword [ebp - 0x282c]
push 0x1009caa0
push edx
mov ecx, esi
call fcn.1004fde0
mov ecx, esi
call fcn.100610f0
mov eax, dword [ebx + 8]
mov dword [ebp - 0x2854], eax
jmp case.default.0x1005ab60
mov ecx, dword [ebx + 8]
mov esi, dword [ebp - 0x282c]
push ecx
mov ecx, esi
call fcn.1004e3a0
test al, al
je case.0x1005ab60.10
mov ecx, esi
call fcn.100610f0
mov edx, dword [ebx + 8]
mov dword [ebp - 0x2854], edx
jmp case.default.0x1005ab60
mov eax, dword [ebx - 0x20]
push 0x74
mov dword [ebp - 0x2870], eax
call fcn.10042840
mov ecx, eax
call fcn.10042870
test eax, eax
je 0x1005d568
mov ecx, eax
call fcn.10054630
mov dword [ebp - 0x2864], eax
jmp 0x1005d572
mov dword [ebp - 0x2864], 0
mov edx, dword [ebp - 0x2870]
mov eax, dword [ebp - 0x2864]
lea esi, [edx + 0x1c]
lea edi, [eax + 8]
push 0xffffffffffffffff
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [edx + 4]
push 0
push ecx
lea ecx, [eax + 0x4c]
call fcn.10034190
mov eax, dword [ebp - 0x2870]
mov edx, dword [eax + 0x10]
sub edx, dword [eax + 0xc]
mov esi, dword [ebp - 0x2864]
mov dword [ebp - 0x2860], 0
test edx, 0xfffffff8
jle 0x1005d6f8
jmp 0x1005d5d0
mov eax, dword [ebp - 0x2870]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x2860]
cmp dword [ecx + edx*8], 0
lea edi, [ecx + edx*8]
je 0x1005d651
push 0x48
call fcn.10042840
mov ecx, eax
call fcn.10042870
test eax, eax
je 0x1005d626
mov esi, dword [edi + 4]
mov edi, dword [edi]
mov dword [eax + 4], edi
lea edi, [eax + 0xc]
mov ecx, 0xc
mov dword [eax], 0x10093a38
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x2864]
xor ecx, ecx
mov byte [eax + 0x3c], 0
mov dword [eax + 0x40], ecx
mov dword [eax + 0x44], ecx
jmp 0x1005d628
xor eax, eax
mov ecx, dword [ebx - 0x30]
mov edi, dword [eax + 8]
mov edx, dword [eax + 4]
push ecx
push ecx
add eax, 0xc
push eax
push edx
push edi
mov edi, dword [ebp - 0x282c]
mov ecx, dword [edi]
call fcn.10054870
mov ecx, dword [edi]
push eax
push esi
call fcn.10054940
jmp 0x1005d6cc
call fcn.10042840
push 0
push 0x10088454
lea ecx, [ebp - 0x27b8]
mov dword [ebp - 0x27a0], eax
mov dword [ebp - 0x27a4], 0xf
mov dword [ebp - 0x27a8], 0
mov byte [ebp - 0x27b8], 0
call fcn.10034280
mov eax, dword [ebx - 0x30]
push eax
push eax
mov eax, dword [edi + 4]
mov edi, dword [ebp - 0x282c]
push eax
lea ecx, [ebp - 0x27b8]
push ecx
mov ecx, dword [edi]
push 0
call fcn.10054870
mov ecx, dword [edi]
push eax
push esi
call fcn.10054940
mov dword [ebp - 0x27a4], 0xf
mov dword [ebp - 0x27a8], 0
mov byte [ebp - 0x27b8], 0
mov ecx, dword [ebp - 0x2870]
mov edx, dword [ecx + 0x10]
sub edx, dword [ecx + 0xc]
mov esi, eax
mov eax, dword [ebp - 0x2860]
inc eax
sar edx, 3
mov dword [ebp - 0x2864], esi
mov dword [ebp - 0x2860], eax
cmp eax, edx
jl 0x1005d5d0
mov eax, dword [ebp - 0x282c]
mov dword [esi + 0x38], 6
mov ecx, dword [eax + 4]
mov dword [ebp - 0x2854], esi
jmp 0x1006027d
mov eax, dword [ebx - 0x28]
test eax, eax
je 0x1005d721
mov dword [eax + 0x38], 5
mov ecx, dword [ebx - 0x28]
mov dword [ebp - 0x2854], ecx
jmp case.default.0x1005ab60
mov esi, dword [ebx - 0x50]
mov ebx, dword [ebx - 0x20]
mov edx, dword [ebp - 0x282c]
mov eax, dword [edx + 4]
mov dword [ebp - 0x2860], ebx
cmp ebx, 1
je 0x1005d74e
cmp ebx, 2
jne 0x1005d76c
mov ecx, dword [eax + 0x14]
sub ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x10]
and ecx, 0xfffffff0
lea eax, [ebp - 0x2860]
lea ecx, [ecx + edx - 0x10]
push eax
call fcn.1005a600
mov dword [eax], esi
mov dword [ebp - 0x2854], 0
jmp case.default.0x1005ab60
mov ecx, dword [ebx - 0x20]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 0
push 0
call eax
mov edi, dword [ebp - 0x282c]
mov ecx, dword [edi + 4]
push eax
call fcn.10048a00
mov esi, eax
test esi, esi
je 0x1005d868
mov eax, dword [ebx - 0x20]
add eax, 0x1c
push eax
lea ecx, [esi + 0x1c]
mov dword [ebp - 0x2860], eax
call fcn.1004ddd0
test al, al
jne 0x1005d7ee
mov ecx, dword [ebp - 0x2860]
mov edx, dword [ecx]
shl edx, 0x1a
sar edx, 0x1a
push 0x10088454
push edx
call fcn.10042d00
add esp, 4
push eax
mov eax, dword [ebx]
push str.overloaded_functions_must_have_the_same_return_type
push eax
mov ecx, edi
call fcn.1004e0e0
mov ecx, edi
call fcn.100610f0
mov ecx, dword [esi + 0x10]
sub ecx, dword [esi + 0xc]
xor edi, edi
test ecx, 0xfffffff8
jle 0x1005d862
mov edi, edi
mov edx, dword [ebx - 0x20]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + edi*8 + 4]
mov edx, dword [esi + 0xc]
mov eax, dword [ecx + 8]
mov ecx, dword [edx + edi*8 + 4]
mov edx, dword [ecx + 8]
shl eax, 0x19
shl edx, 0x19
sar eax, 0x19
sar edx, 0x19
cmp edx, eax
je 0x1005d854
push 0x10088454
push eax
call fcn.10042d90
mov ecx, dword [ebp - 0x282c]
add esp, 4
push eax
mov eax, dword [ebx]
push str.overloaded_functions_must_have_the_same_parameter_qualifiers
push eax
call fcn.1004e0e0
mov ecx, dword [ebp - 0x282c]
call fcn.100610f0
mov ecx, dword [esi + 0x10]
sub ecx, dword [esi + 0xc]
inc edi
sar ecx, 3
cmp edi, ecx
jl 0x1005d800
mov edi, dword [ebp - 0x282c]
mov edx, dword [ebx - 0x20]
mov dword [ebp - 0x284c], edx
mov eax, dword [ebx]
mov dword [ebp - 0x285c], eax
mov eax, dword [edi + 4]
mov ecx, dword [eax]
push edx
mov edx, dword [eax + 4]
sub edx, ecx
sar edx, 2
mov ecx, dword [ecx + edx*4 - 8]
call fcn.100441c0
jmp case.default.0x1005ab60
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x284c], eax
jmp case.default.0x1005ab60
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x284c], ecx
jmp case.default.0x1005ab60
mov edx, dword [ebx - 0x20]
mov dword [ebp - 0x284c], edx
mov eax, dword [ebx + 0x14]
test byte [eax], 0x3f
je case.default.0x1005ab60
lea ecx, [ebx + 0x10]
push ecx
mov ecx, dword [ebx - 0x20]
call fcn.1005a7b0
jmp case.default.0x1005ab60
mov edx, dword [ebx + 0x14]
test byte [edx], 0x3f
jne 0x1005d90b
mov eax, dword [ebx - 0x30]
mov esi, dword [ebp - 0x282c]
push 0x10088454
push str.void
push str.cannot_be_an_argument_type_except_for__void_
push eax
mov ecx, esi
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
jmp case.default.0x1005ab60
mov ecx, dword [ebx - 0x50]
lea edx, [ebx + 0x10]
mov dword [ebp - 0x284c], ecx
mov ecx, dword [ebx - 0x50]
push edx
call fcn.1005a7b0
jmp case.default.0x1005ab60
mov eax, dword [ebx - 0x4c]
cmp eax, 1
je 0x1005d95d
test eax, eax
je 0x1005d95d
push 0x10088454
push eax
call fcn.10042d90
mov esi, dword [ebp - 0x282c]
add esp, 4
push eax
mov eax, dword [ebx - 0x30]
push str.no_qualifiers_allowed_for_function_return
push eax
mov ecx, esi
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
mov ecx, dword [ebx - 0x30]
mov edi, dword [ebp - 0x282c]
lea esi, [ebx - 0x50]
push esi
push ecx
mov ecx, edi
call fcn.1004eba0
test al, al
je 0x1005d97d
mov ecx, edi
call fcn.100610f0
push esi
lea ecx, [ebp - 0x2744]
call fcn.1004f370
push 0x8c
call fcn.10042840
mov ecx, eax
call fcn.10042870
test eax, eax
je 0x1005d9c5
mov ecx, dword [ebx - 0x2c]
push 0
lea edx, [ebp - 0x2744]
push edx
push ecx
mov ecx, eax
call fcn.1005a830
mov ecx, dword [edi + 4]
mov dword [ebp - 0x284c], eax
call fcn.10041f40
jmp case.default.0x1005ab60
mov ecx, dword [edi + 4]
xor eax, eax
mov dword [ebp - 0x284c], eax
call fcn.10041f40
jmp case.default.0x1005ab60
cmp dword [ebx - 0x20], 0
lea edi, [ebx - 0x20]
jne 0x1005da10
mov eax, dword [ebx + 4]
cmp dword [eax + 0x14], 0x10
jb 0x1005d9ee
mov eax, dword [eax]
mov edx, dword [ebx]
mov esi, dword [ebp - 0x282c]
push 0x10088454
push eax
push str.illegal_use_of_type_void
push edx
mov ecx, esi
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
mov esi, dword [ebp - 0x282c]
push eax
push ecx
mov ecx, esi
call fcn.1004e460
test al, al
je 0x1005da2f
mov ecx, esi
call fcn.100610f0
mov esi, dword [ebx + 4]
push 0x30
call fcn.10042840
mov ecx, eax
call fcn.10042870
test eax, eax
je 0x1005da65
push edi
mov ecx, eax
call fcn.1004f370
mov edx, dword [ebx]
mov dword [ebp - 0x285c], edx
mov dword [ebp - 0x284c], esi
mov dword [ebp - 0x2848], eax
jmp case.default.0x1005ab60
mov edx, dword [ebx]
xor eax, eax
mov dword [ebp - 0x285c], edx
mov dword [ebp - 0x284c], esi
mov dword [ebp - 0x2848], eax
jmp case.default.0x1005ab60
mov eax, dword [ebx - 0x60]
sub esp, 0x20
mov edi, esp
lea esi, [ebx - 0xb0]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x282c]
push eax
call fcn.1004f910
mov esi, dword [ebp - 0x282c]
test al, al
je 0x1005dab2
mov ecx, esi
call fcn.100610f0
mov ecx, dword [ebx - 0x8c]
mov edx, dword [ebx - 0x90]
push ecx
push edx
mov ecx, esi
call fcn.1004e460
test al, al
je 0x1005dad2
mov ecx, esi
call fcn.100610f0
mov ecx, dword [ebx - 0x28]
mov edx, dword [ebx - 0x60]
lea eax, [ebp - 0x28dc]
push eax
push ecx
push edx
mov ecx, esi
call fcn.1004ec70
test al, al
je 0x1005daf3
mov ecx, esi
call fcn.100610f0
mov eax, dword [ebp - 0x28dc]
lea esi, [ebx - 0xb0]
push 0x30
mov byte [esi + 0x11], 1
mov dword [esi + 0x14], eax
call fcn.10042840
mov ecx, eax
call fcn.10042870
test eax, eax
je 0x1005db22
push esi
mov ecx, eax
call fcn.1004f370
jmp 0x1005db24
xor eax, eax
mov ecx, dword [ebx - 0x8c]
mov edx, dword [ebx - 0x90]
mov dword [ebp - 0x285c], edx
mov dword [ebp - 0x284c], ecx
mov dword [ebp - 0x2848], eax
jmp case.default.0x1005ab60
mov ecx, 0xc
mov esi, ebx
lea edi, [ebp - 0x285c]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x2848]
mov ecx, dword [ebx - 0x20]
mov edx, dword [ebx - 0x4c]
push eax
push ecx
push edx
mov eax, dword [ebx]
push eax
mov ecx, dword [ebp - 0x282c]
call fcn.1004ed30
test al, al
je case.default.0x1005ab60
mov ecx, dword [ebp - 0x282c]
call fcn.100610f0
jmp case.default.0x1005ab60
mov ecx, 0xc
mov esi, ebx
lea edi, [ebp - 0x285c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx + 0x14]
mov edx, dword [ebx - 0x20]
mov eax, dword [ebx]
push ecx
mov ecx, dword [ebp - 0x282c]
push edx
push eax
call fcn.1004ec10
test al, al
je 0x1005dbbf
mov ecx, dword [ebp - 0x282c]
call fcn.100610f0
mov ecx, dword [ebp - 0x2848]
mov edx, dword [ebx - 0x20]
push ecx
push edx
push 0
jmp 0x1005db65
mov ecx, 0xc
mov esi, ebx
lea edi, [ebp - 0x285c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x2848]
mov edx, dword [ebx - 0x20]
mov eax, dword [ebx - 0x4c]
push ecx
mov ecx, dword [ebx]
push edx
push eax
push ecx
jmp 0x1005db68
mov ecx, 0xc
mov esi, ebx
lea edi, [ebp - 0x285c]
rep movsd dword es:[edi], dword [esi]
mov edx, dword [ebx + 0x14]
mov eax, dword [ebx - 0x20]
mov ecx, dword [ebx]
push edx
push eax
push ecx
mov ecx, dword [ebp - 0x282c]
call fcn.1004ec10
test al, al
je 0x1005dc28
mov ecx, dword [ebp - 0x282c]
call fcn.100610f0
mov edx, dword [ebp - 0x2848]
mov eax, dword [ebx - 0x20]
mov ecx, dword [ebx]
push edx
push eax
push 0
push ecx
jmp 0x1005db68
mov dword [ebp - 0x284c], 0xb
jmp case.default.0x1005ab60
mov dword [ebp - 0x284c], 0xc
jmp case.default.0x1005ab60
mov dword [ebp - 0x284c], 0xd
jmp case.default.0x1005ab60
push 0x30
xor esi, esi
call fcn.10042840
mov ecx, eax
call fcn.10042870
test eax, eax
je 0x1005dc9a
add ebx, 0x10
push ebx
mov ecx, eax
call fcn.1004f370
mov dword [ebp - 0x284c], esi
mov dword [ebp - 0x2848], eax
jmp case.default.0x1005ab60
xor eax, eax
mov dword [ebp - 0x284c], esi
mov dword [ebp - 0x2848], eax
jmp case.default.0x1005ab60
cmp dword [ebx - 0x50], 0xc
lea edi, [ebx - 0x50]
jne 0x1005dce9
cmp dword [ebx + 8], 0
jne 0x1005dce9
mov eax, dword [ebx + 4]
cmp dword [eax + 0x14], 0x10
jb 0x1005dcc7
mov eax, dword [eax]
mov edx, dword [ebx]
mov esi, dword [ebp - 0x282c]
push 0x10088454
push eax
push str.undeclared_identifier_declared_as_invariant
push edx
mov ecx, esi
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
mov eax, dword [ebx]
push eax
push edi
lea ecx, [ebp - 0x2d34]
call fcn.1004f370
mov ecx, dword [ebx + 4]
mov esi, dword [ebp - 0x282c]
push eax
push ecx
mov ecx, dword [esi]
push 0
call fcn.10054870
mov edx, dword [ebx]
mov ecx, dword [esi]
mov edi, eax
mov eax, dword [ebx - 0x58]
push edx
push edi
push eax
call fcn.10054940
lea ecx, [ebp - 0x284c]
mov dword [ebp - 0x2854], eax
mov edx, dword [ebx]
push ecx
push edx
mov ecx, esi
call fcn.1004eba0
test al, al
je 0x1005dd3f
mov ecx, esi
call fcn.100610f0
mov ecx, dword [ebx + 4]
mov edx, dword [ebx]
lea eax, [ebp - 0x284c]
push eax
push ecx
push edx
mov ecx, esi
call fcn.1004ecf0
test al, al
je 0x1005dd5f
mov ecx, esi
call fcn.100610f0
mov edx, dword [ebx + 4]
lea eax, [ebp - 0x28a4]
push eax
mov eax, dword [ebx]
lea ecx, [ebp - 0x284c]
push ecx
push edx
push eax
mov ecx, esi
mov dword [ebp - 0x28a4], 0
call fcn.10051290
test al, al
je 0x1005dd90
mov ecx, esi
call fcn.100610f0
test edi, edi
je case.default.0x1005ab60
mov eax, dword [ebp - 0x28a4]
test eax, eax
je case.default.0x1005ab60
mov ecx, dword [eax + 8]
mov dword [edi + 0x38], ecx
jmp case.default.0x1005ab60
mov edx, dword [ebx - 0x60]
mov edi, dword [ebp - 0x282c]
lea esi, [ebx - 0xb0]
push esi
push edx
mov ecx, edi
call fcn.1004eba0
test al, al
je 0x1005ddd4
mov ecx, edi
call fcn.100610f0
mov eax, dword [ebx - 0x5c]
mov ecx, dword [ebx - 0x60]
push esi
push eax
push ecx
mov ecx, edi
call fcn.1004ecf0
test al, al
je 0x1005ddef
mov ecx, edi
call fcn.100610f0
sub esp, 0x20
lea esi, [ebx - 0xc0]
mov ecx, 0xc
lea edi, [ebp - 0x285c]
rep movsd dword es:[edi], dword [esi]
mov edx, dword [ebx - 0x30]
mov edi, esp
mov ecx, 8
lea esi, [ebx - 0xb0]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x282c]
push edx
call fcn.1004f910
test al, al
jne 0x1005db7b
mov eax, dword [ebx - 0x30]
sub esp, 0x20
mov edi, esp
mov ecx, 8
lea esi, [ebx - 0xb0]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x282c]
push eax
call fcn.1004f890
test al, al
jne 0x1005db7b
lea ecx, [ebp - 0x2a60]
push ecx
lea esi, [ebx - 0xb0]
mov byte [esi + 0x11], 1
mov dword [esi + 0x14], 0
mov edx, dword [ebx - 0x5c]
mov eax, dword [ebx - 0x30]
sub esp, 0x20
mov edi, esp
mov ecx, 8
push edx
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x282c]
push eax
call fcn.10051000
jmp 0x1005db73
mov ecx, dword [ebx - 0x90]
mov edi, dword [ebp - 0x282c]
lea esi, [ebx - 0xe0]
push esi
push ecx
mov ecx, edi
call fcn.1004eba0
test al, al
je 0x1005deb6
mov ecx, edi
call fcn.100610f0
mov edx, dword [ebx - 0x8c]
mov eax, dword [ebx - 0x90]
push esi
push edx
push eax
mov ecx, edi
call fcn.1004ecf0
test al, al
je 0x1005ded7
mov ecx, edi
call fcn.100610f0
sub esp, 0x20
lea esi, [ebx - 0xf0]
mov ecx, 0xc
lea edi, [ebp - 0x285c]
rep movsd dword es:[edi], dword [esi]
mov edi, esp
mov ecx, 8
lea esi, [ebx - 0xe0]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx - 0x60]
push ecx
mov ecx, dword [ebp - 0x282c]
call fcn.1004f910
test al, al
jne 0x1005db7b
mov edx, dword [ebx - 0x60]
sub esp, 0x20
mov edi, esp
mov ecx, 8
lea esi, [ebx - 0xe0]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x282c]
push edx
call fcn.1004f890
test al, al
jne 0x1005db7b
mov ecx, dword [ebx - 0x28]
mov edx, dword [ebx - 0x60]
mov esi, dword [ebp - 0x282c]
lea eax, [ebp - 0x289c]
push eax
push ecx
push edx
mov ecx, esi
call fcn.1004ec70
test al, al
je 0x1005df63
mov ecx, esi
call fcn.100610f0
mov eax, dword [ebp - 0x289c]
lea ecx, [ebp - 0x28a0]
push ecx
lea esi, [ebx - 0xe0]
mov byte [esi + 0x11], 1
mov dword [esi + 0x14], eax
mov edx, dword [ebx - 0x8c]
mov eax, dword [ebx - 0x60]
sub esp, 0x20
mov edi, esp
mov ecx, 8
push edx
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x282c]
push eax
mov dword [ebp - 0x28a0], 0
call fcn.10051000
mov esi, dword [ebp - 0x282c]
test al, al
je 0x1005dfba
mov ecx, esi
call fcn.100610f0
lea eax, [ebx - 0xe0]
push eax
lea ecx, [ebp - 0x2744]
call fcn.1004f370
mov eax, dword [ebp - 0x28a0]
or dword [ebp - 0x273c], 0x10000
mov ecx, dword [ebp - 0x289c]
mov dword [ebp - 0x2738], ecx
test eax, eax
je 0x1005dff1
mov ecx, dword [eax + 8]
jmp 0x1005dff3
xor ecx, ecx
mov eax, dword [ebx - 0x90]
push eax
push eax
mov eax, dword [ebx - 0x8c]
lea edx, [ebp - 0x2744]
push edx
push eax
push ecx
mov ecx, dword [esi]
call fcn.10054870
mov ecx, dword [ebx - 0xe8]
push eax
push ecx
mov ecx, dword [esi]
call fcn.10054940
mov dword [ebp - 0x2854], eax
jmp case.default.0x1005ab60
mov edx, dword [ebx - 0x60]
mov esi, dword [ebp - 0x282c]
lea eax, [ebx - 0xb0]
push eax
push edx
mov ecx, esi
call fcn.1004eba0
test al, al
je 0x1005e04e
mov ecx, esi
call fcn.100610f0
push 0
lea esi, [ebx - 0xc0]
mov ecx, 0xc
lea edi, [ebp - 0x285c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx + 8]
mov edx, dword [ebx - 0x5c]
lea eax, [ebp - 0x28cc]
push eax
push ecx
mov ecx, dword [ebp - 0x282c]
lea eax, [ebx - 0xb0]
push eax
mov eax, dword [ebx - 0x60]
push edx
push eax
call fcn.100513a0
test al, al
jne 0x1005e0cb
mov eax, dword [ebp - 0x28cc]
test eax, eax
je 0x1005e0ba
mov ecx, dword [ebx - 0x30]
mov edx, dword [ebx - 0xb8]
push ecx
push eax
mov eax, dword [ebp - 0x282c]
mov ecx, dword [eax]
push edx
call fcn.10054940
mov dword [ebp - 0x2854], eax
jmp case.default.0x1005ab60
mov ecx, dword [ebx - 0xb8]
mov dword [ebp - 0x2854], ecx
jmp case.default.0x1005ab60
mov ecx, dword [ebp - 0x282c]
call fcn.100610f0
mov dword [ebp - 0x2854], 0
jmp case.default.0x1005ab60
lea esi, [ebx + 0x10]
mov ecx, 8
lea edi, [ebp - 0x284c]
mov dword [ebp - 0x2860], esi
rep movsd dword es:[edi], dword [esi]
call fcn.10042840
push 0
push 0x10088454
lea ecx, [ebp - 0x280c]
mov dword [ebp - 0x27f4], eax
mov dword [ebp - 0x27f8], 0xf
mov dword [ebp - 0x27fc], 0
mov byte [ebp - 0x280c], 0
call fcn.10034280
mov ebx, dword [ebx + 0x2c]
mov edx, dword [ebp - 0x2860]
push ebx
push ebx
push edx
lea ecx, [ebp - 0x2d94]
call fcn.1004f370
mov esi, dword [ebp - 0x282c]
mov ecx, dword [esi]
push eax
lea eax, [ebp - 0x280c]
push eax
push 0
call fcn.10054870
mov ecx, dword [esi]
push eax
call fcn.100549d0
mov dword [ebp - 0x2854], eax
jmp case.default.0x1005ab60
mov ecx, dword [ebx]
push ecx
lea esi, [ebx - 0x20]
push esi
lea ecx, [ebp - 0x2df4]
call fcn.1004f370
mov edx, dword [ebx + 4]
mov edi, dword [ebp - 0x282c]
mov ecx, dword [edi]
push eax
push edx
push 0
call fcn.10054870
mov ecx, dword [ebx]
push ecx
mov ecx, dword [edi]
push eax
mov dword [ebp - 0x2860], eax
call fcn.100549d0
lea edx, [ebp - 0x284c]
mov dword [ebp - 0x2854], eax
mov eax, dword [ebx]
push edx
push eax
mov ecx, edi
call fcn.1004eba0
test al, al
je 0x1005e1cd
mov ecx, edi
call fcn.100610f0
mov edx, dword [ebx + 4]
mov eax, dword [ebx]
lea ecx, [ebp - 0x284c]
push ecx
push edx
push eax
mov ecx, edi
call fcn.1004ecf0
test al, al
je 0x1005e1ed
mov ecx, edi
call fcn.100610f0
mov ecx, 8
lea edi, [ebp - 0x284c]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebx + 4]
lea ecx, [ebp - 0x28a8]
push ecx
mov ecx, dword [ebx]
lea edx, [ebp - 0x284c]
push edx
push eax
push ecx
mov ecx, dword [ebp - 0x282c]
mov dword [ebp - 0x28a8], 0
call fcn.10051290
test al, al
je 0x1005e233
mov ecx, dword [ebp - 0x282c]
call fcn.100610f0
mov eax, dword [ebp - 0x28a8]
test eax, eax
je case.default.0x1005ab60
cmp dword [ebp - 0x2860], 0
je case.default.0x1005ab60
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x2860]
mov dword [eax + 0x38], edx
jmp case.default.0x1005ab60
mov eax, dword [ebx - 0x5c]
cmp dword [eax + 0x14], 0x10
jb 0x1005e26a
mov eax, dword [eax]
mov ecx, dword [ebx - 0x60]
mov edi, dword [ebp - 0x282c]
push 0x10088454
push eax
push str.unsized_array_declarations_not_supported
push ecx
mov ecx, edi
call fcn.1004e0e0
mov ecx, edi
call fcn.100610f0
mov edx, dword [ebx - 0x60]
push edx
lea esi, [ebx - 0x80]
push esi
lea ecx, [ebp - 0x2e54]
call fcn.1004f370
mov ecx, dword [edi]
push eax
mov eax, dword [ebx - 0x5c]
push eax
push 0
call fcn.10054870
mov ecx, dword [ebx - 0x60]
push ecx
mov ecx, dword [edi]
push eax
call fcn.100549d0
mov ecx, 8
lea edi, [ebp - 0x284c]
mov dword [ebp - 0x2854], eax
rep movsd dword es:[edi], dword [esi]
jmp case.default.0x1005ab60
lea edi, [ebx - 0xb0]
push edi
lea ecx, [ebp - 0x2744]
call fcn.1004f370
mov eax, dword [ebx - 0x28]
mov ecx, dword [ebx - 0x90]
mov esi, dword [ebp - 0x282c]
lea edx, [ebp - 0x28f0]
push edx
push eax
push ecx
mov ecx, esi
call fcn.1004ec70
test al, al
je 0x1005e30e
mov ecx, esi
call fcn.100610f0
mov edx, dword [ebp - 0x28f0]
mov eax, dword [ebx - 0x90]
or dword [ebp - 0x273c], 0x10000
push eax
lea ecx, [ebp - 0x2744]
push ecx
mov ecx, dword [esi]
mov dword [ebp - 0x2738], edx
mov edx, dword [ebx - 0x8c]
push edx
push 0
call fcn.10054870
mov ecx, dword [ebx - 0x90]
push ecx
mov ecx, dword [esi]
push eax
mov dword [ebp - 0x2860], eax
call fcn.100549d0
mov dword [ebp - 0x2854], eax
mov edx, dword [ebx - 0x90]
push edi
push edx
mov ecx, esi
call fcn.1004eba0
test al, al
je 0x1005e377
mov ecx, esi
call fcn.100610f0
mov eax, dword [ebx - 0x8c]
mov ecx, dword [ebx - 0x90]
push edi
push eax
push ecx
mov ecx, esi
call fcn.1004ecf0
test al, al
je 0x1005e398
mov ecx, esi
call fcn.100610f0
sub esp, 0x20
mov ecx, 8
lea esi, [ebx - 0xb0]
lea edi, [ebp - 0x284c]
rep movsd dword es:[edi], dword [esi]
mov edx, dword [ebx - 0x60]
mov edi, esp
mov ecx, 8
lea esi, [ebx - 0xb0]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x282c]
push edx
call fcn.1004f910
test al, al
jne 0x1005db7b
mov eax, dword [ebx - 0x60]
sub esp, 0x20
mov edi, esp
mov ecx, 8
lea esi, [ebx - 0xb0]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x282c]
push eax
call fcn.1004f890
test al, al
jne 0x1005db7b
mov edx, dword [ebx - 0x28]
mov eax, dword [ebx - 0x60]
mov esi, dword [ebp - 0x282c]
lea ecx, [ebp - 0x28d4]
push ecx
push edx
push eax
mov ecx, esi
call fcn.1004ec70
test al, al
je 0x1005e424
mov ecx, esi
call fcn.100610f0
mov ecx, dword [ebp - 0x28d4]
lea edx, [ebp - 0x28b0]
push edx
mov dword [ebx - 0x9c], ecx
lea esi, [ebx - 0xb0]
sub esp, 0x20
mov byte [esi + 0x11], 1
mov eax, dword [ebx - 0x8c]
mov edi, esp
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx - 0x60]
push eax
push ecx
mov ecx, dword [ebp - 0x282c]
mov dword [ebp - 0x28b0], 0
call fcn.10051000
test al, al
je 0x1005e47c
mov ecx, dword [ebp - 0x282c]
call fcn.100610f0
mov eax, dword [ebp - 0x28b0]
jmp 0x1005e239
mov ecx, dword [ebx - 0x60]
mov esi, dword [ebp - 0x282c]
lea eax, [ebx - 0x80]
push eax
push ecx
mov ecx, esi
call fcn.1004eba0
test al, al
je 0x1005e4a7
mov ecx, esi
call fcn.100610f0
lea eax, [ebx - 0x80]
push 0
mov esi, eax
mov ecx, 8
lea edi, [ebp - 0x284c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx + 8]
lea edx, [ebp - 0x28b8]
push edx
mov edx, dword [ebx - 0x5c]
push ecx
mov ecx, dword [ebp - 0x282c]
push eax
mov eax, dword [ebx - 0x60]
push edx
push eax
call fcn.100513a0
test al, al
jne 0x1005e0cb
mov eax, dword [ebp - 0x28b8]
test eax, eax
je case.0x1005ab60.158
mov ecx, dword [ebx - 0x30]
mov edx, dword [ebp - 0x282c]
push ecx
mov ecx, dword [edx]
push eax
call fcn.100549d0
mov dword [ebp - 0x2854], eax
jmp case.default.0x1005ab60
mov eax, dword [ebp - 0x282c]
cmp dword [eax + 8], 0x8b31
mov esi, eax
je 0x1005e53f
mov ecx, dword [ebx - 0x30]
push 0x10088454
push str.invariant_declaration
push str._supported_in_vertex_shaders_only
push ecx
mov ecx, esi
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
mov eax, dword [esi + 4]
mov edx, dword [eax + 4]
sub edx, dword [eax]
push str.invariant_varying
sar edx, 2
cmp edx, 2
mov edx, dword [ebx - 0x30]
setbe al
mov byte [ebp - 0x28bc], al
mov ecx, dword [ebp - 0x28bc]
push ecx
push edx
mov ecx, esi
call fcn.1004e430
test al, al
je 0x1005e578
mov ecx, esi
call fcn.100610f0
mov eax, dword [ebx]
xor edi, edi
mov dword [ebp - 0x284c], 0xc
mov dword [ebp - 0x2848], 7
mov dword [ebp - 0x2844], edi
mov dword [ebp - 0x2840], 1
mov word [ebp - 0x283c], di
mov dword [ebp - 0x2838], edi
mov dword [ebp - 0x2834], edi
mov dword [ebp - 0x2830], eax
cmp dword [ebx + 8], edi
jne 0x1005e5f0
mov eax, dword [ebx + 4]
cmp dword [eax + 0x14], 0x10
jb 0x1005e5c9
mov eax, dword [eax]
push 0x10088454
push eax
mov eax, dword [ebx]
push str.undeclared_identifier_declared_as_invariant
push eax
mov ecx, esi
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
mov dword [ebp - 0x2854], edi
jmp case.default.0x1005ab60
mov ecx, dword [ebx]
push ecx
lea edx, [ebp - 0x284c]
push edx
lea ecx, [ebp - 0x2eb4]
call fcn.1004f370
mov ecx, dword [esi]
push eax
mov eax, dword [ebx + 4]
push eax
push edi
call fcn.10054870
mov ecx, dword [ebx]
push ecx
mov ecx, dword [esi]
push eax
call fcn.100549d0
mov dword [ebp - 0x2854], eax
jmp case.default.0x1005ab60
lea esi, [ebx + 0x10]
mov ecx, 8
lea edi, [ebp - 0x284c]
mov dword [ebp - 0x2860], esi
rep movsd dword es:[edi], dword [esi]
cmp byte [ebx + 0x21], 0
je case.default.0x1005ab60
mov edx, dword [ebx + 0x2c]
mov esi, dword [ebp - 0x282c]
push 0x10088454
push str.first_class_array
push str.not_supported
push edx
mov ecx, esi
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
mov eax, dword [ebp - 0x2860]
mov byte [eax + 0x11], 0
mov dword [eax + 0x14], 0
jmp case.default.0x1005ab60
cmp byte [ebx + 0x21], 0
je 0x1005e6bd
mov eax, dword [ebx + 0x2c]
mov esi, dword [ebp - 0x282c]
push 0x10088454
push str.first_class_array
push str.not_supported
push eax
mov ecx, esi
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
mov byte [ebx + 0x21], 0
mov dword [ebx + 0x24], 0
cmp dword [ebx - 0x1c], 3
jne 0x1005e6fd
mov eax, dword [ebx + 0x10]
cmp eax, 3
je 0x1005e6d0
cmp eax, 2
jne 0x1005e6fd
push 0x10088454
push 3
call fcn.10042d90
mov ecx, dword [ebx + 0x2c]
mov esi, dword [ebp - 0x282c]
add esp, 4
push eax
push str.cannot_be_bool_or_int
push ecx
mov ecx, esi
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
mov eax, dword [ebx - 0x1c]
cmp eax, 4
je 0x1005e70a
cmp eax, 5
jne 0x1005e743
mov ecx, dword [ebx + 0x10]
cmp ecx, 3
je 0x1005e717
cmp ecx, 2
jne 0x1005e743
push 0x10088454
push eax
call fcn.10042d90
mov edx, dword [ebx + 0x2c]
mov esi, dword [ebp - 0x282c]
add esp, 4
push eax
push str.cannot_be_bool_or_int
push edx
mov ecx, esi
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
lea esi, [ebx + 0x10]
mov ecx, 8
lea edi, [ebp - 0x284c]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebx - 0x1c]
mov dword [ebp - 0x2848], eax
jmp case.default.0x1005ab60
mov ebx, dword [ebx]
xor eax, eax
mov dword [ebp - 0x284c], eax
mov dword [ebp - 0x2848], 2
mov dword [ebp - 0x2844], eax
mov dword [ebp - 0x2840], 1
mov word [ebp - 0x283c], ax
mov dword [ebp - 0x2838], eax
mov dword [ebp - 0x2834], eax
mov dword [ebp - 0x2830], ebx
jmp case.default.0x1005ab60
mov ecx, dword [ebp - 0x282c]
cmp dword [ecx + 8], 0x8b31
mov esi, ecx
je 0x1005e7d2
mov edx, dword [ebx]
push 0x10088454
push str.attribute
push str._supported_in_vertex_shaders_only
push edx
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
mov eax, dword [esi + 4]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
push str.attribute
sar ecx, 2
cmp ecx, 2
mov ecx, dword [ebx]
setbe dl
mov byte [ebp - 0x28c8], dl
mov eax, dword [ebp - 0x28c8]
push eax
push ecx
mov ecx, esi
call fcn.1004e430
test al, al
je 0x1005e80a
mov ecx, esi
call fcn.100610f0
mov ebx, dword [ebx]
xor eax, eax
mov dword [ebp - 0x284c], eax
mov dword [ebp - 0x2848], 3
mov dword [ebp - 0x2844], eax
mov dword [ebp - 0x2840], 1
mov word [ebp - 0x283c], ax
mov dword [ebp - 0x2838], eax
mov dword [ebp - 0x2834], eax
mov dword [ebp - 0x2830], ebx
jmp case.default.0x1005ab60
mov esi, dword [ebp - 0x282c]
mov eax, dword [esi + 4]
mov edx, dword [eax + 4]
sub edx, dword [eax]
push str.varying
sar edx, 2
cmp edx, 2
mov edx, dword [ebx]
setbe al
mov byte [ebp - 0x28d0], al
mov ecx, dword [ebp - 0x28d0]
push ecx
push edx
mov ecx, esi
call fcn.1004e430
test al, al
je 0x1005e88a
mov ecx, esi
call fcn.100610f0
mov ebx, dword [ebx]
xor eax, eax
cmp dword [esi + 8], 0x8b31
mov dword [ebp - 0x2840], 1
mov dword [ebp - 0x2830], ebx
mov dword [ebp - 0x284c], eax
mov dword [ebp - 0x2844], eax
mov word [ebp - 0x283c], ax
mov dword [ebp - 0x2838], eax
mov dword [ebp - 0x2834], eax
jne 0x1005e8d5
mov dword [ebp - 0x2848], 5
jmp case.default.0x1005ab60
mov dword [ebp - 0x2848], 4
jmp case.default.0x1005ab60
mov esi, dword [ebp - 0x282c]
mov eax, dword [esi + 4]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
push str.invariant_varying
sar ecx, 2
cmp ecx, 2
mov ecx, dword [ebx - 0x30]
setbe dl
mov byte [ebp - 0x28d8], dl
mov eax, dword [ebp - 0x28d8]
push eax
push ecx
mov ecx, esi
call fcn.1004e430
test al, al
je 0x1005e923
mov ecx, esi
call fcn.100610f0
mov ebx, dword [ebx - 0x30]
xor eax, eax
cmp dword [esi + 8], 0x8b31
mov dword [ebp - 0x2840], 1
mov dword [ebp - 0x2830], ebx
mov dword [ebp - 0x284c], eax
mov dword [ebp - 0x2844], eax
mov word [ebp - 0x283c], ax
mov dword [ebp - 0x2838], eax
mov dword [ebp - 0x2834], eax
jne 0x1005e96f
mov dword [ebp - 0x2848], 7
jmp case.default.0x1005ab60
mov dword [ebp - 0x2848], 6
jmp case.default.0x1005ab60
mov esi, dword [ebp - 0x282c]
mov eax, dword [esi + 4]
mov edx, dword [eax + 4]
sub edx, dword [eax]
push str.uniform
sar edx, 2
cmp edx, 2
mov edx, dword [ebx]
setbe al
mov byte [ebp - 0x28e0], al
mov ecx, dword [ebp - 0x28e0]
push ecx
push edx
mov ecx, esi
call fcn.1004e430
test al, al
je 0x1005e9bc
mov ecx, esi
call fcn.100610f0
mov ebx, dword [ebx]
xor eax, eax
mov dword [ebp - 0x284c], eax
mov dword [ebp - 0x2848], 8
mov dword [ebp - 0x2844], eax
mov dword [ebp - 0x2840], 1
mov word [ebp - 0x283c], ax
mov dword [ebp - 0x2838], eax
mov dword [ebp - 0x2834], eax
mov dword [ebp - 0x2830], ebx
jmp case.default.0x1005ab60
lea esi, [ebx + 0x10]
mov ecx, 8
lea edi, [ebp - 0x284c]
rep movsd dword es:[edi], dword [esi]
cmp dword [ebp - 0x2844], 0
jne case.default.0x1005ab60
mov eax, dword [ebx + 0x10]
mov esi, dword [ebp - 0x282c]
mov ecx, dword [esi + 4]
push eax
call fcn.1005a490
mov dword [ebp - 0x2844], eax
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0x2c]
push ecx
push eax
push edx
mov ecx, esi
call fcn.1004e340
test al, al
je case.default.0x1005ab60
mov ecx, esi
call fcn.100610f0
jmp case.default.0x1005ab60
lea esi, [ebx + 0x10]
mov ecx, 8
lea edi, [ebp - 0x284c]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebx - 0x20]
mov dword [ebp - 0x2844], eax
jmp case.default.0x1005ab60
mov dword [ebp - 0x284c], 3
jmp case.default.0x1005ab60
mov dword [ebp - 0x284c], 2
jmp case.default.0x1005ab60
mov dword [ebp - 0x284c], 1
jmp case.default.0x1005ab60
lea esi, [ebx + 0x10]
mov ecx, 8
lea edi, [ebp - 0x284c]
rep movsd dword es:[edi], dword [esi]
jmp case.default.0x1005ab60
sub esp, 0x20
mov ecx, 8
lea esi, [ebx - 0x80]
lea edi, [ebp - 0x284c]
rep movsd dword es:[edi], dword [esi]
mov edi, esp
mov ecx, 8
lea esi, [ebx - 0x80]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx - 0x60]
push ecx
mov ecx, dword [ebp - 0x282c]
call fcn.1004f910
test al, al
jne 0x1005db7b
mov eax, dword [ebx - 0x28]
mov ecx, dword [ebx - 0x60]
mov esi, dword [ebp - 0x282c]
lea edx, [ebp - 0x28b4]
push edx
push eax
push ecx
mov ecx, esi
call fcn.1004ec70
test al, al
je 0x1005eb14
mov ecx, esi
call fcn.100610f0
mov edx, dword [ebp - 0x28b4]
mov byte [ebp - 0x283b], 1
mov dword [ebp - 0x2838], edx
jmp case.default.0x1005ab60
mov eax, dword [ebp - 0x282c]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov ebx, dword [ebx]
sar ecx, 2
mov edx, 2
cmp edx, ecx
sbb eax, eax
inc eax
xor ecx, ecx
mov dword [ebp - 0x284c], ecx
mov dword [ebp - 0x2848], eax
mov dword [ebp - 0x2844], ecx
mov dword [ebp - 0x2840], 1
mov word [ebp - 0x283c], cx
mov dword [ebp - 0x2838], ecx
mov dword [ebp - 0x2834], ecx
mov dword [ebp - 0x2830], ebx
jmp case.default.0x1005ab60
mov eax, dword [ebp - 0x282c]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov ebx, dword [ebx]
sar ecx, 2
mov edx, 2
cmp edx, ecx
sbb eax, eax
inc eax
mov ecx, 1
mov dword [ebp - 0x2848], eax
xor eax, eax
mov dword [ebp - 0x284c], ecx
mov dword [ebp - 0x2844], eax
mov dword [ebp - 0x2840], ecx
mov word [ebp - 0x283c], ax
mov dword [ebp - 0x2838], eax
mov dword [ebp - 0x2834], eax
mov dword [ebp - 0x2830], ebx
jmp case.default.0x1005ab60
mov eax, dword [ebp - 0x282c]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov ebx, dword [ebx]
mov edx, 2
mov dword [ebp - 0x284c], edx
sar ecx, 2
cmp edx, ecx
sbb eax, eax
inc eax
mov dword [ebp - 0x2848], eax
xor eax, eax
mov dword [ebp - 0x2844], eax
mov dword [ebp - 0x2840], 1
mov word [ebp - 0x283c], ax
mov dword [ebp - 0x2838], eax
mov dword [ebp - 0x2834], eax
mov dword [ebp - 0x2830], ebx
jmp case.default.0x1005ab60
mov eax, dword [ebp - 0x282c]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov ebx, dword [ebx]
mov edx, 2
mov dword [ebp - 0x284c], 3
jmp 0x1005ebfa
mov eax, dword [ebp - 0x282c]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov ebx, dword [ebx]
sar ecx, 2
mov edx, 2
cmp edx, ecx
sbb eax, eax
inc eax
mov dword [ebp - 0x2848], eax
xor eax, eax
mov dword [ebp - 0x284c], 1
mov dword [ebp - 0x2844], eax
mov dword [ebp - 0x2838], eax
mov dword [ebp - 0x2834], eax
mov dword [ebp - 0x2830], ebx
mov dword [ebp - 0x2840], edx
mov word [ebp - 0x283c], ax
jmp case.default.0x1005ab60
mov eax, dword [ebp - 0x282c]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov ebx, dword [ebx]
sar ecx, 2
mov edx, 2
cmp edx, ecx
mov dword [ebp - 0x284c], 1
mov dword [ebp - 0x2840], 3
sbb eax, eax
inc eax
mov dword [ebp - 0x2848], eax
xor eax, eax
mov dword [ebp - 0x2830], ebx
mov dword [ebp - 0x2834], eax
mov dword [ebp - 0x2838], eax
mov dword [ebp - 0x2844], eax
mov word [ebp - 0x283c], ax
jmp case.default.0x1005ab60
mov eax, dword [ebp - 0x282c]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov ebx, dword [ebx]
mov dword [ebp - 0x284c], 1
sar ecx, 2
mov edx, 2
cmp edx, ecx
mov dword [ebp - 0x2840], 4
jmp 0x1005ece0
mov eax, dword [ebp - 0x282c]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov ebx, dword [ebx]
mov edx, 2
sar ecx, 2
cmp edx, ecx
mov dword [ebp - 0x284c], 3
mov dword [ebp - 0x2840], edx
jmp 0x1005ece0
mov eax, dword [ebp - 0x282c]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov ebx, dword [ebx]
sar ecx, 2
mov edx, 2
cmp edx, ecx
mov ecx, 3
mov dword [ebp - 0x284c], ecx
mov dword [ebp - 0x2840], ecx
jmp 0x1005ece0
mov eax, dword [ebp - 0x282c]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov ebx, dword [ebx]
mov dword [ebp - 0x284c], 3
jmp 0x1005ed29
mov eax, dword [ebp - 0x282c]
mov eax, dword [eax + 4]
mov edx, dword [eax + 4]
sub edx, dword [eax]
mov ebx, dword [ebx]
mov ecx, 2
sar edx, 2
cmp ecx, edx
mov dword [ebp - 0x284c], ecx
mov dword [ebp - 0x2840], ecx
jmp 0x1005ece0
mov ecx, dword [ebp - 0x282c]
mov eax, dword [ecx + 4]
mov edx, dword [eax + 4]
sub edx, dword [eax]
mov ebx, dword [ebx]
mov eax, 2
sar edx, 2
cmp eax, edx
mov dword [ebp - 0x284c], eax
jmp 0x1005ecd6
mov ecx, dword [ebp - 0x282c]
mov eax, dword [ecx + 4]
mov edx, dword [eax + 4]
sub edx, dword [eax]
mov ebx, dword [ebx]
mov eax, 2
sar edx, 2
cmp eax, edx
mov dword [ebp - 0x284c], eax
mov dword [ebp - 0x2840], 4
jmp 0x1005ece0
mov ecx, dword [ebp - 0x282c]
mov eax, dword [ecx + 8]
cmp eax, 0x8b30
je 0x1005ee73
cmp eax, 0x8b31
je 0x1005ee73
mov edx, dword [ebx]
push 0x10088454
push str.mat2
push str._supported_in_vertex_fragment_shaders_only
push edx
mov esi, ecx
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
mov eax, dword [ebp - 0x282c]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov ebx, dword [ebx]
sar ecx, 2
mov edx, 2
cmp edx, ecx
sbb eax, eax
inc eax
mov dword [ebp - 0x2848], eax
xor eax, eax
mov dword [ebp - 0x284c], 1
mov dword [ebp - 0x2844], eax
mov dword [ebp - 0x2838], eax
mov dword [ebp - 0x2834], eax
mov dword [ebp - 0x2830], ebx
mov dword [ebp - 0x2840], edx
mov word [ebp - 0x283c], 1
jmp case.default.0x1005ab60
mov eax, dword [ebp - 0x282c]
mov eax, dword [eax + 8]
cmp eax, 0x8b30
je 0x1005ef0b
cmp eax, 0x8b31
je 0x1005ef0b
mov ecx, dword [ebx]
mov esi, dword [ebp - 0x282c]
push 0x10088454
push str.mat3
push str._supported_in_vertex_fragment_shaders_only
push ecx
mov ecx, esi
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
mov edx, dword [ebp - 0x282c]
mov eax, dword [edx + 4]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov ebx, dword [ebx]
sar ecx, 2
mov edx, 2
cmp edx, ecx
sbb eax, eax
inc eax
mov dword [ebp - 0x2848], eax
xor eax, eax
mov dword [ebp - 0x284c], 1
mov dword [ebp - 0x2844], eax
mov dword [ebp - 0x2838], eax
mov dword [ebp - 0x2834], eax
mov dword [ebp - 0x2830], ebx
mov dword [ebp - 0x2840], 3
mov word [ebp - 0x283c], 1
jmp case.default.0x1005ab60
mov eax, dword [ebp - 0x282c]
mov eax, dword [eax + 8]
cmp eax, 0x8b30
je 0x1005efa7
cmp eax, 0x8b31
je 0x1005efa7
mov ecx, dword [ebx]
mov esi, dword [ebp - 0x282c]
push 0x10088454
push str.mat4
push str._supported_in_vertex_fragment_shaders_only
push ecx
mov ecx, esi
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
mov edx, dword [ebp - 0x282c]
mov eax, dword [edx + 4]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov ebx, dword [ebx]
sar ecx, 2
mov edx, 2
cmp edx, ecx
sbb eax, eax
inc eax
mov dword [ebp - 0x2848], eax
xor eax, eax
mov dword [ebp - 0x284c], 1
mov dword [ebp - 0x2844], eax
mov dword [ebp - 0x2838], eax
mov dword [ebp - 0x2834], eax
mov dword [ebp - 0x2830], ebx
mov dword [ebp - 0x2840], 4
mov word [ebp - 0x283c], 1
jmp case.default.0x1005ab60
mov eax, dword [ebp - 0x282c]
mov eax, dword [eax + 8]
cmp eax, 0x8b30
je 0x1005f043
cmp eax, 0x8b31
je 0x1005f043
mov ecx, dword [ebx]
mov esi, dword [ebp - 0x282c]
push 0x10088454
push str.sampler2D
push str._supported_in_vertex_fragment_shaders_only
push ecx
mov ecx, esi
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
mov edx, dword [ebp - 0x282c]
mov eax, dword [edx + 4]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov ebx, dword [ebx]
mov edx, 2
mov dword [ebp - 0x284c], 5
jmp 0x1005ebfa
mov eax, dword [ebp - 0x282c]
mov eax, dword [eax + 8]
cmp eax, 0x8b30
je 0x1005f0a4
cmp eax, 0x8b31
je 0x1005f0a4
mov ecx, dword [ebx]
mov esi, dword [ebp - 0x282c]
push 0x10088454
push str.samplerCube
push str._supported_in_vertex_fragment_shaders_only
push ecx
mov ecx, esi
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
mov edx, dword [ebp - 0x282c]
mov eax, dword [edx + 4]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov ebx, dword [ebx]
mov edx, 2
mov dword [ebp - 0x284c], 6
jmp 0x1005ebfa
mov esi, dword [ebp - 0x282c]
push str.GL_OES_EGL_image_external
mov ecx, esi
call fcn.1004ef70
test al, al
jne 0x1005f0fe
mov eax, dword [ebx]
push 0x10088454
push str.samplerExternalOES
push str.unsupported_type
push eax
mov ecx, esi
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
mov eax, dword [esi + 8]
cmp eax, 0x8b30
je 0x1005f12f
cmp eax, 0x8b31
je 0x1005f12f
mov ecx, dword [ebx]
push 0x10088454
push str.samplerExternalOES
push str._supported_in_vertex_fragment_shaders_only
push ecx
mov ecx, esi
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
mov eax, dword [esi + 4]
mov edx, dword [eax + 4]
sub edx, dword [eax]
mov ebx, dword [ebx]
sar edx, 2
mov eax, 2
cmp eax, edx
mov dword [ebp - 0x284c], 7
jmp 0x1005ebff
mov esi, dword [ebp - 0x282c]
push str.GL_ARB_texture_rectangle
mov ecx, esi
call fcn.1004ef70
test al, al
jne 0x1005f188
mov ecx, dword [ebx]
push 0x10088454
push str.sampler2DRect
push str.unsupported_type
push ecx
mov ecx, esi
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
mov eax, dword [esi + 8]
cmp eax, 0x8b30
je 0x1005f1b9
cmp eax, 0x8b31
je 0x1005f1b9
mov edx, dword [ebx]
push 0x10088454
push str.sampler2DRect
push str._supported_in_vertex_fragment_shaders_only
push edx
mov ecx, esi
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
mov eax, dword [esi + 4]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov ebx, dword [ebx]
mov edx, 2
mov dword [ebp - 0x284c], 8
jmp 0x1005ebfa
mov eax, dword [ebp - 0x282c]
mov eax, dword [eax + 8]
cmp eax, 0x8b30
je 0x1005f215
cmp eax, 0x8b31
je 0x1005f215
mov ecx, dword [ebx + 0x2c]
mov esi, dword [ebp - 0x282c]
push 0x10088454
push str.struct
push str._supported_in_vertex_fragment_shaders_only
push ecx
mov ecx, esi
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
mov edx, dword [ebp - 0x282c]
mov eax, dword [edx + 4]
lea esi, [ebx + 0x10]
mov ecx, 8
lea edi, [ebp - 0x284c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov edx, 2
sar ecx, 2
cmp edx, ecx
sbb eax, eax
inc eax
mov dword [ebp - 0x2848], eax
jmp case.default.0x1005ab60
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0x282c]
mov ecx, dword [ecx + 4]
mov edx, dword [ecx + 4]
sub edx, dword [ecx]
mov ebx, dword [ebx]
add eax, 0xc
sar edx, 2
mov ecx, 2
cmp ecx, edx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x2848], ecx
xor ecx, ecx
mov dword [ebp - 0x284c], 0xa
mov dword [ebp - 0x2844], ecx
mov dword [ebp - 0x2840], 1
mov word [ebp - 0x283c], cx
mov dword [ebp - 0x2838], ecx
mov dword [ebp - 0x2830], ebx
mov dword [ebp - 0x2834], eax
jmp case.default.0x1005ab60
mov edx, dword [ebx - 0x2c]
mov eax, dword [ebx - 0x30]
mov ecx, dword [ebp - 0x282c]
push edx
push eax
call fcn.1004f340
jmp 0x1005db73
mov ecx, dword [ebx - 0xbc]
mov edx, dword [ebx - 0xc0]
mov esi, dword [ebp - 0x282c]
push ecx
push edx
mov ecx, esi
call fcn.1004e460
test al, al
je 0x1005f2ec
mov ecx, esi
call fcn.100610f0
push 0x30
call fcn.10042840
mov ecx, eax
call fcn.10042870
xor edi, edi
cmp eax, edi
je 0x1005f31b
mov ecx, dword [ebx - 0xbc]
mov edx, dword [ebx - 0x20]
push edi
push ecx
push edx
mov ecx, eax
call fcn.1005a520
mov dword [ebp - 0x2860], eax
jmp 0x1005f321
mov dword [ebp - 0x2860], edi
push 0x48
call fcn.10042840
mov ecx, eax
call fcn.10042870
cmp eax, edi
je 0x1005f368
mov ecx, dword [ebx - 0xbc]
mov esi, dword [ebp - 0x2860]
mov dword [eax + 4], ecx
lea edi, [eax + 0xc]
mov ecx, 0xc
mov dword [eax], 0x10093a38
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x282c]
xor ecx, ecx
mov byte [eax + 0x3c], 1
mov dword [eax + 0x40], ecx
mov dword [eax + 0x44], ecx
xor edi, edi
jmp 0x1005f36a
xor eax, eax
mov ecx, dword [esi + 4]
mov edx, dword [ecx + 0x20]
inc edx
mov dword [ecx + 0x20], edx
mov dword [eax + 8], edx
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
sub ecx, edx
sar ecx, 2
lea ecx, [edx + ecx*4 - 4]
mov ecx, dword [ecx]
push eax
call fcn.100441c0
test al, al
jne 0x1005f3bf
mov eax, dword [ebx - 0xbc]
cmp dword [eax + 0x14], 0x10
jb 0x1005f39f
mov eax, dword [eax]
mov edx, dword [ebx - 0xc0]
push str.struct
push eax
push str.redefinition
push edx
mov ecx, esi
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
mov ebx, dword [ebx - 0xf0]
mov eax, dword [ebp - 0x2860]
mov ecx, esi
mov dword [ebp - 0x284c], 0xa
mov dword [ebp - 0x2848], edi
mov dword [ebp - 0x2844], edi
mov dword [ebp - 0x2840], 1
mov word [ebp - 0x283c], 0
mov dword [ebp - 0x2838], edi
mov dword [ebp - 0x2830], ebx
mov dword [ebp - 0x2834], eax
call fcn.1004de40
jmp case.default.0x1005ab60
mov ecx, dword [ebx + 4]
mov edx, dword [ebx]
push ecx
mov ecx, dword [ebp - 0x282c]
push edx
call fcn.1004f340
jmp 0x1005db73
push 0x30
call fcn.10042840
mov ecx, eax
call fcn.10042870
mov esi, eax
xor edi, edi
cmp esi, edi
je 0x1005f48e
or dword [ebp - 0x2878], 1
call fcn.10042840
push edi
push 0x10088454
lea ecx, [ebp - 0x279c]
mov dword [ebp - 0x2784], eax
mov dword [ebp - 0x2788], 0xf
mov dword [ebp - 0x278c], edi
mov byte [ebp - 0x279c], 0
call fcn.10034280
mov ecx, dword [ebx - 0x20]
push edi
lea eax, [ebp - 0x279c]
push eax
push ecx
mov ecx, esi
call fcn.1005a520
jmp 0x1005f490
xor eax, eax
test byte [ebp - 0x2878], 1
je 0x1005f4b7
and dword [ebp - 0x2878], 0xfffffffe
mov dword [ebp - 0x2788], 0xf
mov dword [ebp - 0x278c], edi
mov byte [ebp - 0x279c], 0
mov ebx, dword [ebx - 0xc0]
mov ecx, dword [ebp - 0x282c]
mov dword [ebp - 0x284c], 0xa
mov dword [ebp - 0x2848], edi
mov dword [ebp - 0x2844], edi
mov dword [ebp - 0x2840], 1
mov word [ebp - 0x283c], di
mov dword [ebp - 0x2838], edi
mov dword [ebp - 0x2830], ebx
mov dword [ebp - 0x2834], eax
call fcn.1004de40
jmp case.default.0x1005ab60
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0x284c], edx
jmp case.default.0x1005ab60
mov ecx, dword [ebx - 0x20]
mov dword [ebp - 0x284c], ecx
mov eax, dword [ebx + 0x10]
mov edx, dword [eax + 4]
sub edx, dword [eax]
xor esi, esi
sar edx, 3
test edx, edx
je case.default.0x1005ab60
jmp 0x1005f53a
mov ecx, dword [ebp - 0x284c]
mov eax, dword [ecx + 4]
sub eax, dword [ecx]
xor edi, edi
sar eax, 3
test eax, eax
je 0x1005f5c5
mov edx, dword [ebx + 0x10]
mov eax, dword [edx]
mov edx, dword [eax + esi*8]
mov eax, dword [edx + 0x24]
cmp dword [eax + 0x14], 0x10
mov ecx, dword [ecx]
mov edx, dword [ecx + edi*8]
mov ecx, dword [edx + 0x24]
mov edx, dword [eax + 0x10]
jb 0x1005f566
mov eax, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x10]
push eax
push 0
call fcn.10003510
test eax, eax
jne 0x1005f5b2
mov ecx, dword [ebx + 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + esi*8]
mov eax, dword [eax + 0x24]
cmp dword [eax + 0x14], 0x10
lea ecx, [edx + esi*8]
jb 0x1005f58d
mov eax, dword [eax]
mov ecx, dword [ecx + 4]
push eax
push str.struct
push str.duplicate_field_name_in_structure:
push ecx
mov ecx, dword [ebp - 0x282c]
call fcn.1004e0e0
mov ecx, dword [ebp - 0x282c]
call fcn.100610f0
mov ecx, dword [ebp - 0x284c]
mov edx, dword [ecx + 4]
sub edx, dword [ecx]
inc edi
sar edx, 3
cmp edi, edx
jb 0x1005f548
mov eax, dword [ebx + 0x10]
mov edx, dword [eax]
lea eax, [edx + esi*8]
push eax
call fcn.10043a00
mov eax, dword [ebx + 0x10]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
inc esi
sar ecx, 3
cmp esi, ecx
jb 0x1005f534
jmp case.default.0x1005ab60
mov edx, dword [ebx - 0x20]
mov esi, dword [ebp - 0x282c]
mov dword [ebp - 0x284c], edx
mov eax, dword [ebx - 0x20]
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, dword [edx + 0x24]
lea ecx, [ebx - 0x50]
push ecx
push eax
mov eax, dword [ebx - 0x34]
push eax
mov ecx, esi
call fcn.1004ea20
test al, al
je 0x1005f620
mov ecx, esi
call fcn.100610f0
mov eax, dword [ebp - 0x284c]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov dword [ebp - 0x2860], 0
sar ecx, 3
test ecx, ecx
je case.default.0x1005ab60
mov edx, dword [eax]
mov eax, dword [ebp - 0x2860]
mov esi, dword [edx + eax*8]
mov ecx, dword [esi]
xor ecx, dword [ebx - 0x50]
mov dword [ebp - 0x2870], esi
and ecx, 0x3f
xor dword [esi], ecx
mov edx, dword [ebx - 0x44]
shl edx, 7
xor edx, dword [esi + 8]
and edx, 0x7f80
xor dword [esi + 8], edx
movzx ecx, byte [ebx - 0x40]
mov eax, dword [esi + 8]
shl ecx, 0xf
xor ecx, eax
and ecx, 0x8000
xor ecx, eax
mov dword [esi + 8], ecx
test byte [esi + 0xa], 1
mov edx, dword [ebx - 0x48]
mov dword [esi + 4], edx
je 0x1005f6c3
mov eax, dword [ebx - 0x34]
sub esp, 0x20
mov edi, esp
mov ecx, 8
lea esi, [ebx - 0x50]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x282c]
push eax
call fcn.1004f910
test al, al
je 0x1005f6bd
mov ecx, dword [ebp - 0x282c]
call fcn.100610f0
mov esi, dword [ebp - 0x2870]
cmp byte [ebx - 0x3f], 0
je 0x1005f6d6
mov eax, dword [ebx - 0x3c]
or dword [esi + 8], 0x10000
mov dword [esi + 0xc], eax
mov eax, dword [ebx - 0x38]
test eax, eax
je 0x1005f704
mov ecx, dword [eax + 0x18]
mov dword [esi + 0x18], ecx
mov ecx, esi
call fcn.10042fb0
mov edx, dword [ebx - 0x38]
mov eax, dword [edx + 0x2c]
cmp dword [eax + 0x14], 0x10
jb 0x1005f6f8
mov eax, dword [eax]
push eax
call fcn.10043700
add esp, 4
mov dword [esi + 0x2c], eax
mov eax, dword [ebx - 0x34]
push esi
mov esi, dword [ebp - 0x282c]
push eax
mov ecx, esi
call fcn.10050cb0
test al, al
je 0x1005f721
mov ecx, esi
call fcn.100610f0
mov eax, dword [ebp - 0x284c]
mov edx, dword [eax + 4]
sub edx, dword [eax]
mov ecx, dword [ebp - 0x2860]
inc ecx
sar edx, 3
mov dword [ebp - 0x2860], ecx
cmp ecx, edx
jb 0x1005f640
jmp case.default.0x1005ab60
push 0x10
call fcn.10042840
mov ecx, eax
call fcn.10042870
mov esi, eax
xor edi, edi
cmp esi, edi
je 0x1005f785
call fcn.10042840
mov dword [esi + 0xc], eax
add ebx, 0x10
mov ecx, esi
mov dword [esi], edi
mov dword [esi + 4], edi
mov dword [esi + 8], edi
push ebx
mov dword [ebp - 0x284c], ecx
call fcn.10043a00
jmp case.default.0x1005ab60
add ebx, 0x10
xor ecx, ecx
push ebx
mov dword [ebp - 0x284c], ecx
call fcn.10043a00
jmp case.default.0x1005ab60
mov ecx, dword [ebp - 0x284c]
add ebx, 0x10
push ebx
call fcn.10043a00
jmp case.default.0x1005ab60
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
mov esi, dword [ebp - 0x282c]
push eax
push ecx
mov ecx, esi
call fcn.1004e460
test al, al
je 0x1005f7ce
mov ecx, esi
call fcn.100610f0
push 0x30
call fcn.10042840
mov ecx, eax
call fcn.10042870
test eax, eax
je 0x1005f7f5
push 0
push 0
push 1
push 0
push 0
push 0
mov ecx, eax
call fcn.1004a520
jmp 0x1005f7f7
xor eax, eax
mov dword [ebp - 0x284c], eax
mov edx, dword [ebx]
mov dword [ebp - 0x2848], edx
mov ebx, dword [ebx + 4]
cmp dword [ebx + 0x14], 0x10
mov esi, eax
jb 0x1005f812
mov ebx, dword [ebx]
push ebx
call fcn.10043700
add esp, 4
mov dword [esi + 0x24], eax
jmp case.default.0x1005ab60
mov eax, dword [ebx - 0x8c]
mov ecx, dword [ebx - 0x90]
mov edi, dword [ebp - 0x282c]
push eax
push ecx
mov ecx, edi
call fcn.1004e460
test al, al
je 0x1005f849
mov ecx, edi
call fcn.100610f0
push 0x30
call fcn.10042840
mov ecx, eax
call fcn.10042870
test eax, eax
je 0x1005f870
push 0
push 0
push 1
push 0
push 0
push 0
mov ecx, eax
call fcn.1004a520
jmp 0x1005f872
xor eax, eax
mov dword [ebp - 0x284c], eax
mov edx, dword [ebx - 0x90]
mov dword [ebp - 0x2848], edx
mov ecx, dword [ebx - 0x8c]
cmp dword [ecx + 0x14], 0x10
mov esi, eax
jb 0x1005f894
mov ecx, dword [ecx]
push ecx
call fcn.10043700
mov dword [esi + 0x24], eax
mov ecx, dword [ebx - 0x28]
mov edx, dword [ebx - 0x60]
add esp, 4
lea eax, [ebp - 0x28f4]
push eax
push ecx
push edx
mov ecx, edi
call fcn.1004ec70
test al, al
je 0x1005f8c1
mov ecx, edi
call fcn.100610f0
mov ecx, dword [ebp - 0x28f4]
mov eax, dword [ebp - 0x284c]
or dword [eax + 8], 0x10000
mov dword [eax + 0xc], ecx
jmp case.default.0x1005ab60
mov eax, dword [ebp - 0x282c]
mov ecx, dword [eax + 4]
call fcn.10041f40
jmp case.default.0x1005ab60
mov eax, dword [ebx - 0x58]
test eax, eax
je 0x1005cb58
mov dword [eax + 0x38], 1
mov edx, dword [ebx - 0x58]
mov eax, dword [ebx]
mov dword [edx + 0x6c], eax
mov ecx, dword [ebx - 0x58]
mov dword [ebp - 0x2854], ecx
jmp case.default.0x1005ab60
mov ecx, dword [ebp - 0x282c]
mov ecx, dword [ecx + 4]
call fcn.10041f40
jmp case.default.0x1005ab60
mov edx, dword [ebp - 0x282c]
mov ecx, dword [edx + 4]
call fcn.100418e0
mov eax, dword [ebx + 8]
mov dword [ebp - 0x2854], eax
jmp case.default.0x1005ab60
mov eax, dword [ebx - 0x28]
test eax, eax
je case.0x1005ab60.7
mov dword [eax + 0x38], 1
mov ecx, dword [ebx - 0x28]
mov edx, dword [ebx]
mov dword [ecx + 0x6c], edx
mov eax, dword [ebx - 0x28]
mov dword [ebp - 0x2854], eax
jmp case.default.0x1005ab60
mov ecx, dword [ebx + 8]
mov edx, dword [ebp - 0x282c]
push 0
push ecx
mov ecx, dword [edx]
call fcn.100549d0
mov dword [ebp - 0x2854], eax
jmp case.default.0x1005ab60
mov eax, dword [ebx + 8]
mov ecx, dword [ebx - 0x28]
mov edx, dword [ebp - 0x282c]
push 0
push eax
push ecx
mov ecx, dword [edx]
call fcn.10054940
mov dword [ebp - 0x2854], eax
jmp case.default.0x1005ab60
mov ecx, dword [ebx - 0x58]
mov edx, dword [ebx - 0xc0]
mov esi, dword [ebp - 0x282c]
push ecx
push edx
mov ecx, esi
call fcn.1004ea60
test al, al
je 0x1005f9cd
mov ecx, esi
call fcn.100610f0
mov eax, dword [ebx - 0xc0]
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
push eax
mov eax, dword [ebx - 0x58]
push ecx
mov ecx, dword [esi]
push edx
push eax
call fcn.10054a30
mov dword [ebp - 0x2854], eax
jmp case.default.0x1005ab60
mov ecx, dword [ebx - 0x58]
mov dword [ebp - 0x2854], ecx
mov edx, dword [ebx + 8]
mov dword [ebp - 0x2850], edx
jmp case.default.0x1005ab60
mov eax, dword [ebx + 8]
mov dword [ebp - 0x2854], eax
mov dword [ebp - 0x2850], 0
jmp case.default.0x1005ab60
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x2854], ecx
mov ebx, dword [ebx + 8]
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x282c]
push ebx
push eax
call fcn.1004ea60
jmp 0x1005db73
mov edx, dword [ebx - 0x60]
mov esi, dword [ebp - 0x282c]
lea edi, [ebx - 0x80]
push edi
push edx
mov ecx, esi
call fcn.1004eba0
test al, al
je 0x1005fa62
mov ecx, esi
call fcn.100610f0
mov eax, dword [ebx - 0x60]
push edi
push eax
mov ecx, esi
call fcn.1004ead0
test al, al
je 0x1005fa79
mov ecx, esi
call fcn.100610f0
mov edx, dword [ebx + 8]
mov eax, dword [ebx - 0x5c]
push 0
lea ecx, [ebp - 0x2a64]
push ecx
mov ecx, dword [ebx - 0x60]
push edx
push edi
push eax
push ecx
mov ecx, esi
call fcn.100513a0
test al, al
jne 0x1005faa8
mov edx, dword [ebx + 8]
mov dword [ebp - 0x2854], edx
jmp case.default.0x1005ab60
mov ecx, esi
call fcn.100610f0
mov dword [ebp - 0x2854], 0
jmp case.default.0x1005ab60
mov esi, dword [ebp - 0x282c]
mov ecx, dword [esi + 4]
call fcn.10041f40
inc dword [esi + 0x20]
jmp case.default.0x1005ab60
mov esi, dword [ebp - 0x282c]
mov ecx, dword [esi + 4]
call fcn.100418e0
mov eax, dword [ebx - 0xf0]
mov ecx, dword [ebx + 8]
mov edx, dword [ebx - 0x58]
push eax
push ecx
mov ecx, dword [esi]
push 0
push edx
push 0
push 1
call fcn.10052080
dec dword [esi + 0x20]
mov dword [ebp - 0x2854], eax
jmp case.default.0x1005ab60
mov eax, dword [ebp - 0x282c]
inc dword [eax + 0x20]
jmp case.default.0x1005ab60
mov eax, dword [ebx - 0x58]
mov ecx, dword [ebx]
mov esi, dword [ebp - 0x282c]
push eax
push ecx
mov ecx, esi
call fcn.1004ea60
test al, al
je 0x1005fb39
mov ecx, esi
call fcn.100610f0
mov edx, dword [ebx - 0xc0]
mov eax, dword [ebx - 0xe8]
mov ecx, dword [ebx - 0x58]
push edx
push eax
push 0
push ecx
mov ecx, dword [esi]
push 0
push 2
call fcn.10052080
dec dword [esi + 0x20]
mov dword [ebp - 0x2854], eax
jmp case.default.0x1005ab60
mov esi, dword [ebp - 0x282c]
mov ecx, dword [esi + 4]
call fcn.100418e0
mov edx, dword [ebx - 0x120]
mov eax, dword [ebx + 8]
mov ecx, dword [ebx - 0x54]
push edx
mov edx, dword [ebx - 0x58]
push eax
mov eax, dword [ebx - 0x88]
push ecx
mov ecx, dword [esi]
push edx
push eax
push 0
call fcn.10052080
dec dword [esi + 0x20]
mov dword [ebp - 0x2854], eax
jmp case.default.0x1005ab60
mov ecx, dword [ebx - 0x28]
mov dword [ebp - 0x2854], ecx
mov dword [ebp - 0x2850], 0
jmp case.default.0x1005ab60
mov edx, dword [ebx - 0x58]
mov dword [ebp - 0x2854], edx
mov eax, dword [ebx + 8]
mov dword [ebp - 0x2850], eax
jmp case.default.0x1005ab60
mov ecx, dword [ebp - 0x282c]
cmp dword [ecx + 0x20], 0
mov esi, ecx
jg 0x1005fc01
mov edx, dword [ebx - 0x30]
push 0x10088454
push 0x10088454
push str.continue_statement_only_allowed_in_loops
push edx
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
mov eax, dword [ebx - 0x30]
mov ecx, dword [esi]
push eax
push 0x58
call fcn.10052310
mov dword [ebp - 0x2854], eax
jmp case.default.0x1005ab60
mov ecx, dword [ebp - 0x282c]
cmp dword [ecx + 0x20], 0
mov esi, ecx
jg 0x1005fc46
mov edx, dword [ebx - 0x30]
push 0x10088454
push 0x10088454
push str.break_statement_only_allowed_in_loops
push edx
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
mov eax, dword [ebx - 0x30]
mov ecx, dword [esi]
push eax
push 0x57
call fcn.10052310
mov dword [ebp - 0x2854], eax
jmp case.default.0x1005ab60
mov ecx, dword [ebx - 0x30]
mov esi, dword [ebp - 0x282c]
push ecx
mov ecx, dword [esi]
push 0x56
call fcn.10052310
mov edx, dword [esi + 0x2c]
mov dword [ebp - 0x2854], eax
test byte [edx], 0x3f
je case.default.0x1005ab60
mov eax, dword [ebx - 0x30]
push 0x10088454
push str.return
push str.non_void_function_must_return_a_value
push eax
mov ecx, esi
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
jmp case.default.0x1005ab60
mov ecx, dword [ebx - 0x60]
mov edx, dword [ebx - 0x28]
mov esi, dword [ebp - 0x282c]
push ecx
mov ecx, dword [esi]
push edx
push 0x56
call fcn.100520e0
mov ecx, dword [esi + 0x2c]
mov dword [ebp - 0x2854], eax
mov byte [esi + 0x30], 1
test byte [ecx], 0x3f
jne 0x1005fcf8
mov eax, dword [ebx - 0x60]
push 0x10088454
push str.return
push str.void_function_cannot_return_a_value
push eax
mov ecx, esi
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
jmp case.default.0x1005ab60
mov edx, dword [ebx - 0x28]
add edx, 8
push edx
call fcn.1004ddd0
test al, al
jne case.default.0x1005ab60
mov eax, dword [ebx - 0x60]
push 0x10088454
push str.return
push str.function_return_is_not_matching_type:
push eax
mov ecx, esi
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
jmp case.default.0x1005ab60
mov ecx, dword [ebp - 0x282c]
cmp dword [ecx + 8], 0x8b30
mov esi, ecx
je 0x1005fd62
mov edx, dword [ebx - 0x30]
push 0x10088454
push str.discard
push str._supported_in_fragment_shaders_only
push edx
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
mov eax, dword [ebx - 0x30]
mov ecx, dword [esi]
push eax
push 0x55
call fcn.10052310
mov dword [ebp - 0x2854], eax
jmp case.default.0x1005ab60
mov ebx, dword [ebx + 8]
mov ecx, dword [ebp - 0x282c]
mov dword [ebp - 0x2854], ebx
mov dword [ecx + 0x18], ebx
jmp case.default.0x1005ab60
mov edx, dword [ebx + 8]
mov eax, dword [ebx - 0x28]
mov esi, dword [ebp - 0x282c]
mov ecx, dword [esi]
push 0
push edx
push eax
call fcn.10054940
mov dword [ebp - 0x2854], eax
mov dword [esi + 0x18], eax
jmp case.default.0x1005ab60
mov esi, dword [ebx + 0x10]
mov eax, dword [esi]
mov edx, dword [eax + 4]
mov ecx, esi
mov dword [ebp - 0x2870], esi
call edx
mov edi, dword [ebp - 0x282c]
mov ecx, dword [edi + 4]
push eax
call fcn.1005a590
test eax, eax
je 0x1005fe02
mov eax, dword [esi + 4]
cmp dword [eax + 0x14], 0x10
jb 0x1005fde6
mov eax, dword [eax]
push 0x10088454
push eax
mov eax, dword [ebx]
push str.built_in_functions_cannot_be_redefined
push eax
mov ecx, edi
call fcn.1004e0e0
mov ecx, edi
call fcn.100610f0
mov edx, dword [esi]
mov eax, dword [edx + 4]
push 0
push 0
mov ecx, esi
call eax
mov ecx, dword [edi + 4]
push eax
call fcn.10048a00
cmp byte [eax + 0x88], 0
mov dword [ebp - 0x2860], eax
je 0x1005fe4e
mov eax, dword [esi + 4]
cmp dword [eax + 0x14], 0x10
jb 0x1005fe32
mov eax, dword [eax]
mov ecx, dword [ebx]
push 0x10088454
push eax
push str.function_already_has_a_body
push ecx
mov ecx, edi
call fcn.1004e0e0
mov ecx, edi
call fcn.100610f0
mov edx, dword [ebp - 0x2860]
mov byte [edx + 0x88], 1
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 0x10]
push 4
push str.main
push eax
push 0
call fcn.10003510
test eax, eax
jne 0x1005fedb
mov ecx, dword [esi + 0x10]
sub ecx, dword [esi + 0xc]
test ecx, 0xfffffff8
jle 0x1005fea9
mov eax, dword [esi + 4]
cmp dword [eax + 0x14], 0x10
jb 0x1005fe8d
mov eax, dword [eax]
mov edx, dword [ebx]
push 0x10088454
push eax
push str.function_cannot_take_any_parameter_s_
push edx
mov ecx, edi
call fcn.1004e0e0
mov ecx, edi
call fcn.100610f0
mov eax, dword [esi + 0x1c]
shl eax, 0x1a
sar eax, 0x1a
test eax, eax
je 0x1005fedb
push str.main_function_cannot_return_a_value
push eax
call fcn.10042d00
add esp, 4
push eax
mov eax, dword [ebx]
push 0x10088454
push eax
mov ecx, edi
call fcn.1004e0e0
mov ecx, edi
call fcn.100610f0
mov ecx, dword [ebp - 0x2860]
add ecx, 0x1c
push 0x74
mov dword [edi + 0x2c], ecx
mov byte [edi + 0x30], 0
call fcn.10042840
mov ecx, eax
call fcn.10042870
test eax, eax
je 0x1005ff0c
mov ecx, eax
call fcn.10054630
mov dword [ebp - 0x2864], eax
jmp 0x1005ff16
mov dword [ebp - 0x2864], 0
mov edx, dword [esi + 0x10]
sub edx, dword [esi + 0xc]
mov dword [ebp - 0x2860], 0
test edx, 0xfffffff8
jle 0x100600b8
mov ecx, dword [ebp - 0x2870]
mov eax, dword [ebp - 0x2860]
mov edi, edi
mov ecx, dword [ecx + 0xc]
cmp dword [ecx + eax*8], 0
lea esi, [ecx + eax*8]
je 0x10060014
push 0x48
call fcn.10042840
mov ecx, eax
call fcn.10042870
test eax, eax
je 0x1005ff92
mov edx, dword [esi + 4]
mov esi, dword [esi]
mov dword [eax + 4], esi
lea edi, [eax + 0xc]
mov ecx, 0xc
mov esi, edx
mov dword [eax], 0x10093a38
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x282c]
xor ecx, ecx
mov byte [eax + 0x3c], 0
mov dword [eax + 0x40], ecx
mov dword [eax + 0x44], ecx
mov esi, eax
jmp 0x1005ff94
xor esi, esi
mov eax, dword [edi + 4]
mov ecx, dword [eax + 0x20]
inc ecx
mov dword [eax + 0x20], ecx
mov dword [esi + 8], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
sub edx, ecx
sar edx, 2
lea eax, [ecx + edx*4 - 4]
mov ecx, dword [eax]
push esi
call fcn.100441c0
test al, al
jne 0x1005ffec
mov eax, dword [esi + 4]
cmp dword [eax + 0x14], 0x10
jb 0x1005ffc6
mov eax, dword [eax]
push 0x10088454
push eax
mov eax, dword [ebx]
push str.redefinition
push eax
mov ecx, edi
call fcn.1004e0e0
mov ecx, edi
call fcn.100610f0
mov edx, dword [esi]
mov eax, dword [edx]
push 1
mov ecx, esi
call eax
mov eax, dword [ebx]
mov ecx, dword [esi + 4]
mov edx, dword [esi + 8]
push eax
push eax
add esi, 0xc
push esi
push ecx
mov ecx, dword [edi]
push edx
call fcn.10054870
mov ecx, dword [ebp - 0x2864]
push eax
push ecx
mov ecx, dword [edi]
call fcn.10054940
jmp 0x1006008e
call fcn.10042840
push 0
push 0x10088454
lea ecx, [ebp - 0x27d4]
mov dword [ebp - 0x27bc], eax
mov dword [ebp - 0x27c0], 0xf
mov dword [ebp - 0x27c4], 0
mov byte [ebp - 0x27d4], 0
call fcn.10034280
mov eax, dword [ebx]
mov edx, dword [esi + 4]
mov ecx, dword [edi]
push eax
push eax
push edx
lea eax, [ebp - 0x27d4]
push eax
push 0
call fcn.10054870
mov ecx, dword [ebp - 0x2864]
push eax
push ecx
mov ecx, dword [edi]
call fcn.10054940
mov dword [ebp - 0x27c0], 0xf
mov dword [ebp - 0x27c4], 0
mov byte [ebp - 0x27d4], 0
mov ecx, dword [ebp - 0x2870]
mov edx, dword [ecx + 0x10]
sub edx, dword [ecx + 0xc]
mov dword [ebp - 0x2864], eax
mov eax, dword [ebp - 0x2860]
inc eax
sar edx, 3
mov dword [ebp - 0x2860], eax
cmp eax, edx
jl 0x1005ff40
mov eax, dword [ebx]
mov esi, dword [ebp - 0x2864]
mov ecx, dword [edi]
push eax
push 4
push esi
call fcn.100548b0
mov dword [ebx + 8], esi
mov dword [edi + 0x20], 0
jmp case.default.0x1005ab60
mov ecx, dword [ebp - 0x282c]
mov edx, dword [ecx + 0x2c]
test byte [edx], 0x3f
je 0x10060121
mov eax, ecx
cmp byte [eax + 0x30], 0
jne 0x10060121
mov ecx, dword [ebx - 0x50]
mov eax, dword [ecx + 4]
cmp dword [eax + 0x14], 0x10
jb 0x100600fe
mov eax, dword [eax]
mov edx, dword [ebx - 0x60]
mov esi, dword [ebp - 0x282c]
push eax
push 0x10088454
push str.function_does_not_return_a_value:
push edx
mov ecx, esi
call fcn.1004e0e0
mov ecx, esi
call fcn.100610f0
mov eax, dword [ebx + 8]
mov ecx, dword [ebx - 0x58]
mov esi, dword [ebp - 0x282c]
push 0
push eax
push ecx
mov ecx, dword [esi]
call fcn.10054940
mov ecx, dword [esi]
mov dword [ebp - 0x2854], eax
mov edx, dword [ebx - 0x60]
push edx
push 3
push eax
call fcn.100548b0
mov ecx, dword [ebx - 0x50]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
call edx
cmp dword [eax + 0x14], 0x10
jb 0x10060160
mov esi, dword [eax]
jmp 0x10060162
mov esi, eax
call fcn.10042840
mov dword [ebp - 0x27d8], eax
mov eax, esi
mov dword [ebp - 0x27dc], 0xf
mov dword [ebp - 0x27e0], 0
mov byte [ebp - 0x27f0], 0
lea edi, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10060190
sub eax, edi
push eax
push esi
lea ecx, [ebp - 0x27f0]
call fcn.10034280
mov ecx, dword [ebp - 0x2854]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
call edx
push 0xffffffffffffffff
push 0
lea ecx, [ebp - 0x27f0]
push ecx
lea ecx, [eax + 0x4c]
call fcn.10034190
mov ecx, dword [ebp - 0x2854]
mov esi, dword [ebx - 0x50]
mov dword [ebp - 0x27dc], 0xf
mov dword [ebp - 0x27e0], 0
mov byte [ebp - 0x27f0], 0
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
add esi, 0x1c
call eax
lea edi, [eax + 8]
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x282c]
movzx ecx, byte [esi + 0x68]
mov byte [ebp - 0x286c], cl
mov ecx, dword [ebp - 0x2854]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
movzx ecx, byte [ebp - 0x286c]
mov byte [eax + 0x69], cl
mov dl, byte [esi + 0x69]
mov ecx, dword [ebp - 0x2854]
mov eax, dword [ecx]
mov byte [ebp - 0x286c], dl
mov edx, dword [eax + 0xc]
call edx
movzx ecx, byte [ebp - 0x286c]
mov byte [eax + 0x6a], cl
mov ecx, dword [ebx + 8]
test ecx, ecx
je case.0x1005ab60.160
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
test eax, eax
je case.0x1005ab60.160
mov ecx, dword [ebx + 8]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
mov ecx, dword [ebp - 0x2854]
mov edx, dword [ecx]
mov esi, dword [eax + 0x6c]
mov eax, dword [edx + 0xc]
call eax
mov dword [eax + 0x6c], esi
mov ecx, dword [ebp - 0x282c]
mov ecx, dword [ecx + 4]
call fcn.100418e0
mov ebx, dword [ebp - 0x2894]
mov eax, dword [ebp - 0x2890]
mov edx, dword [ebp - 0x2874]
add ebx, 0x30
neg eax
lea eax, [edx + eax*2]
mov ecx, 0xc
lea esi, [ebp - 0x285c]
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x288c]
movzx edx, byte [ecx + 0x1009a928]
movzx ecx, word [eax]
mov dword [ebp - 0x2874], eax
movsx eax, word [edx*2 + 0x1009ae40]
movsx esi, cx
add eax, esi
cmp eax, 0x588
ja 0x100602ef
cmp word [eax*2 + 0x1009bac0], cx
jne 0x100602ef
movsx edx, word [eax*2 + 0x1009afa8]
mov dword [ebp - 0x2864], edx
jmp 0x100602fd
movsx eax, word [edx*2 + 0x1009ab38]
mov dword [ebp - 0x2864], eax
add dword [ebp - 0x2874], 2
mov esi, dword [ebp - 0x2874]
mov eax, dword [ebp - 0x287c]
mov edi, dword [ebp - 0x2864]
mov ecx, dword [ebp - 0x2888]
jmp 0x1005a930
mov ecx, dword [ebp - 0x282c]
push 0x1009c708
push ecx
call fcn.10058550
add esp, 8
mov esi, 2
jmp 0x1005ac01
xor esi, esi
jmp 0x1005ac01