Function at 0x100a7ed0
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x35c
mov eax, dword [0x10147350]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [ebp + 0x14]
xor ebx, ebx
mov dword [ebp - 0x358], ebx
push edi
mov edi, dword [ebp + 0x10]
sub eax, 0x8b30
je 0x100a8028
dec eax
jne 0x100a8534
push 0x74
call fcn.100a4ce0
mov ecx, eax
call fcn.100a4e40
mov dword [ebp - 0x358], eax
test eax, eax
je 0x100a7f83
push 0x1c
mov ebx, 0x100
call fcn.100a4ce0
mov ecx, eax
call fcn.100a4e40
test eax, eax
je 0x100a7f4c
push str.gl_Position
mov ecx, eax
call fcn.1009dc30
mov dword [ebp - 0x35c], eax
jmp 0x100a7f56
mov dword [ebp - 0x35c], 0
push 0
push 0
push 1
push 4
push 0x12
push 3
push 1
lea ecx, [ebp - 0x134]
call fcn.1009e250
mov ecx, dword [ebp - 0x358]
push eax
push dword [ebp - 0x35c]
call fcn.100a7d40
jmp 0x100a7f85
xor eax, eax
mov ecx, dword [esi]
push eax
mov ecx, dword [ecx]
call fcn.100a70e0
test ebx, 0x100
je 0x100a7fb2
mov dword [ebp - 0xf8], 0xf
mov dword [ebp - 0xfc], 0
mov byte [ebp - 0x10c], 0
push 0x74
call fcn.100a4ce0
mov ecx, eax
call fcn.100a4e40
mov dword [ebp - 0x358], eax
test eax, eax
je 0x100a801d
push 0x1c
call fcn.100a4ce0
mov ecx, eax
call fcn.100a4e40
test eax, eax
je 0x100a7fec
push str.gl_PointSize
mov ecx, eax
call fcn.1009dc30
mov ebx, eax
jmp 0x100a7fee
xor ebx, ebx
push 0
push 0
push 1
push 1
push 0x13
push 2
push 1
lea ecx, [ebp - 0x354]
call fcn.1009e250
mov ecx, dword [ebp - 0x358]
push eax
push ebx
call fcn.100a7d40
mov ecx, dword [esi]
mov ecx, dword [ecx]
jmp 0x100a852e
mov ecx, dword [esi]
xor eax, eax
mov ecx, dword [ecx]
jmp 0x100a852e
push 0x74
call fcn.100a4ce0
mov ecx, eax
call fcn.100a4e40
mov dword [ebp - 0x358], eax
test eax, eax
je 0x100a80a2
push 0x1c
mov ebx, 1
call fcn.100a4ce0
mov ecx, eax
call fcn.100a4e40
test eax, eax
je 0x100a806b
push str.gl_FragCoord
mov ecx, eax
call fcn.1009dc30
mov dword [ebp - 0x35c], eax
jmp 0x100a8075
mov dword [ebp - 0x35c], 0
push 0
push 0
push 1
push 4
push 0x14
push 2
push 1
lea ecx, [ebp - 0x200]
call fcn.1009e250
mov ecx, dword [ebp - 0x358]
push eax
push dword [ebp - 0x35c]
call fcn.100a7d40
jmp 0x100a80a4
xor eax, eax
mov ecx, dword [esi]
push eax
mov ecx, dword [ecx]
call fcn.100a70e0
test bl, 1
je 0x100a80d1
and ebx, 0xfffffffe
mov dword [ebp - 0x1c4], 0xf
mov dword [ebp - 0x1c8], 0
mov byte [ebp - 0x1d8], 0
push 0x74
call fcn.100a4ce0
mov ecx, eax
call fcn.100a4e40
mov dword [ebp - 0x358], eax
test eax, eax
je 0x100a8149
push 0x1c
or ebx, 2
call fcn.100a4ce0
mov ecx, eax
call fcn.100a4e40
test eax, eax
je 0x100a8112
push str.gl_FrontFacing
mov ecx, eax
call fcn.1009dc30
mov dword [ebp - 0x35c], eax
jmp 0x100a811c
mov dword [ebp - 0x35c], 0
push 0
push 0
push 1
push 1
push 0x15
push 0
push 4
lea ecx, [ebp - 0x2cc]
call fcn.1009e250
mov ecx, dword [ebp - 0x358]
push eax
push dword [ebp - 0x35c]
call fcn.100a7d40
jmp 0x100a814b
xor eax, eax
mov ecx, dword [esi]
push eax
mov ecx, dword [ecx]
call fcn.100a70e0
test bl, 2
je 0x100a8178
and ebx, 0xfffffffd
mov dword [ebp - 0x290], 0xf
mov dword [ebp - 0x294], 0
mov byte [ebp - 0x2a4], 0
push 0x74
call fcn.100a4ce0
mov ecx, eax
call fcn.100a4e40
mov dword [ebp - 0x358], eax
test eax, eax
je 0x100a81f0
push 0x1c
or ebx, 4
call fcn.100a4ce0
mov ecx, eax
call fcn.100a4e40
test eax, eax
je 0x100a81b9
push str.gl_PointCoord
mov ecx, eax
call fcn.1009dc30
mov dword [ebp - 0x35c], eax
jmp 0x100a81c3
mov dword [ebp - 0x35c], 0
push 0
push 0
push 1
push 2
push 0x16
push 2
push 1
lea ecx, [ebp - 0x288]
call fcn.1009e250
mov ecx, dword [ebp - 0x358]
push eax
push dword [ebp - 0x35c]
call fcn.100a7d40
jmp 0x100a81f2
xor eax, eax
mov ecx, dword [esi]
push eax
mov ecx, dword [ecx]
call fcn.100a70e0
test bl, 4
je 0x100a821f
and ebx, 0xfffffffb
mov dword [ebp - 0x24c], 0xf
mov dword [ebp - 0x250], 0
mov byte [ebp - 0x260], 0
push 0x74
call fcn.100a4ce0
mov ecx, eax
call fcn.100a4e40
cmp dword [ebp + 0xc], 0x8b42
mov dword [ebp - 0x358], eax
je 0x100a8432
test eax, eax
je 0x100a82a4
push 0x1c
or ebx, 8
call fcn.100a4ce0
mov ecx, eax
call fcn.100a4e40
test eax, eax
je 0x100a826d
push str.gl_FragColor
mov ecx, eax
call fcn.1009dc30
mov dword [ebp - 0x35c], eax
jmp 0x100a8277
mov dword [ebp - 0x35c], 0
push 0
push 0
push 1
push 4
push 0x17
push 2
push 1
lea ecx, [ebp - 0x178]
call fcn.1009e250
mov ecx, dword [ebp - 0x358]
push eax
push dword [ebp - 0x35c]
call fcn.100a7d40
jmp 0x100a82a6
xor eax, eax
mov ecx, dword [esi]
push eax
mov ecx, dword [ecx + 4]
call fcn.100a70e0
test bl, 8
je 0x100a82d4
and ebx, 0xfffffff7
mov dword [ebp - 0x13c], 0xf
mov dword [ebp - 0x140], 0
mov byte [ebp - 0x150], 0
push 0x74
call fcn.100a4ce0
mov ecx, eax
call fcn.100a4e40
mov dword [ebp - 0x358], eax
test eax, eax
je 0x100a834c
push 0x1c
or ebx, 0x10
call fcn.100a4ce0
mov ecx, eax
call fcn.100a4e40
test eax, eax
je 0x100a8315
push str.gl_FragData_gl_MaxDrawBuffers_
mov ecx, eax
call fcn.1009dc30
mov dword [ebp - 0x35c], eax
jmp 0x100a831f
mov dword [ebp - 0x35c], 0
push 0
push 0
push 1
push 4
push 0x18
push 2
push 1
lea ecx, [ebp - 0x1bc]
call fcn.1009e250
mov ecx, dword [ebp - 0x358]
push eax
push dword [ebp - 0x35c]
call fcn.100a7d40
jmp 0x100a834e
xor eax, eax
mov ecx, dword [esi]
push eax
mov ecx, dword [ecx + 4]
call fcn.100a70e0
test bl, 0x10
je 0x100a837c
and ebx, 0xffffffef
mov dword [ebp - 0x180], 0xf
mov dword [ebp - 0x184], 0
mov byte [ebp - 0x194], 0
cmp dword [edi + 0x30], 0
je 0x100a8534
push 0x74
call fcn.100a4ce0
mov ecx, eax
call fcn.100a4e40
mov dword [ebp - 0x358], eax
test eax, eax
je 0x100a83e0
push 0
push 0
xor eax, eax
lea ecx, [ebp - 0x244]
push 1
or ebx, 0x20
cmp dword [edi + 0x38], eax
push 1
setne al
push 0x19
add eax, 2
push eax
push 1
call fcn.1009e250
push eax
push str.gl_FragDepthEXT
call fcn.100a6b60
mov ecx, dword [ebp - 0x358]
add esp, 4
push eax
call fcn.100a7d40
jmp 0x100a83e2
xor eax, eax
mov ecx, dword [esi]
push eax
mov ecx, dword [ecx + 4]
call fcn.100a70e0
test bl, 0x20
je 0x100a840d
mov dword [ebp - 0x208], 0xf
mov dword [ebp - 0x20c], 0
mov byte [ebp - 0x21c], 0
push str.GL_EXT_frag_depth
lea ecx, [ebp - 0x3c]
call fcn.1009dc30
mov ecx, dword [esi]
lea eax, [ebp - 0x3c]
push eax
push str.gl_FragDepthEXT
mov ecx, dword [ecx + 4]
call fcn.100a7830
jmp 0x100a8534
test eax, eax
je 0x100a8496
push 0x1c
or ebx, 0x40
call fcn.100a4ce0
mov ecx, eax
call fcn.100a4e40
test eax, eax
je 0x100a845f
push str.css_MixColor
mov ecx, eax
call fcn.1009dc30
mov dword [ebp - 0x35c], eax
jmp 0x100a8469
mov dword [ebp - 0x35c], 0
push 0
push 0
push 1
push 4
push 1
push 2
push 1
lea ecx, [ebp - 0xd4]
call fcn.1009e250
mov ecx, dword [ebp - 0x358]
push eax
push dword [ebp - 0x35c]
call fcn.100a7d40
jmp 0x100a8498
xor eax, eax
mov ecx, dword [esi]
push eax
mov ecx, dword [ecx + 4]
call fcn.100a70e0
test bl, 0x40
je 0x100a84c3
mov dword [ebp - 0x98], 0xf
mov dword [ebp - 0x9c], 0
mov byte [ebp - 0xac], 0
push 0x74
call fcn.100a4ce0
mov ecx, eax
call fcn.100a4e40
mov dword [ebp - 0x358], eax
test eax, eax
je 0x100a8527
push 0x1c
call fcn.100a4ce0
mov ecx, eax
call fcn.100a4e40
test eax, eax
je 0x100a84fd
push str.css_ColorMatrix
mov ecx, eax
call fcn.1009dc30
mov ebx, eax
jmp 0x100a84ff
xor ebx, ebx
push 0
push 0
push 4
push 4
push 1
push 2
push 1
lea ecx, [ebp - 0x310]
call fcn.1009e250
mov ecx, dword [ebp - 0x358]
push eax
push ebx
call fcn.100a7d40
jmp 0x100a8529
xor eax, eax
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
push eax
call fcn.100a70e0
mov ecx, dword [esi]
push 0x1c
push str.matrixCompMult
mov ecx, dword [ecx]
call fcn.100a7970
mov ecx, dword [esi]
push 0x20
push str.equal
mov ecx, dword [ecx]
call fcn.100a7970
mov ecx, dword [esi]
push 0x21
push str.notEqual
mov ecx, dword [ecx]
call fcn.100a7970
mov ecx, dword [esi]
push 0x22
push str.lessThan
mov ecx, dword [ecx]
call fcn.100a7970
mov ecx, dword [esi]
push 0x23
push str.greaterThan
mov ecx, dword [ecx]
call fcn.100a7970
mov ecx, dword [esi]
push 0x24
push str.lessThanEqual
mov ecx, dword [ecx]
call fcn.100a7970
mov ecx, dword [esi]
push 0x25
push str.greaterThanEqual
mov ecx, dword [ecx]
call fcn.100a7970
mov ecx, dword [esi]
push 0x33
push str.radians
mov ecx, dword [ecx]
call fcn.100a7970
mov ecx, dword [esi]
push 0x34
push str.degrees
mov ecx, dword [ecx]
call fcn.100a7970
mov ecx, dword [esi]
push 0x35
push 0x10120ebc
mov ecx, dword [ecx]
call fcn.100a7970
mov ecx, dword [esi]
push 0x36
push 0x10120ec0
mov ecx, dword [ecx]
call fcn.100a7970
mov ecx, dword [esi]
push 0x37
push 0x10120ec4
mov ecx, dword [ecx]
call fcn.100a7970
mov ecx, dword [esi]
push 0x38
push str.asin
mov ecx, dword [ecx]
call fcn.100a7970
mov ecx, dword [esi]
push 0x39
push str.acos
mov ecx, dword [ecx]
call fcn.100a7970
mov ecx, dword [esi]
push 0x3a
push str.atan
mov ecx, dword [ecx]
call fcn.100a7970
mov ecx, dword [esi]
push 0x3b
push 0x10120ee0
mov ecx, dword [ecx]
call fcn.100a7970
push 0x3e
mov ecx, dword [esi]
push str.exp2
mov ecx, dword [ecx]
call fcn.100a7970
mov ecx, dword [esi]
push 0x3d
push 0x10120ee8
mov ecx, dword [ecx]
call fcn.100a7970
mov ecx, dword [esi]
push 0x3c
push 0x10120ee4
mov ecx, dword [ecx]
call fcn.100a7970
mov ecx, dword [esi]
push 0x3f
push str.log2
mov ecx, dword [ecx]
call fcn.100a7970
mov ecx, dword [esi]
push 0x40
push 0x10120efc
mov ecx, dword [ecx]
call fcn.100a7970
mov ecx, dword [esi]
push 0x41
push str.inversesqrt
mov ecx, dword [ecx]
call fcn.100a7970
mov ecx, dword [esi]
push 0x42
push 0x10120f10
mov ecx, dword [ecx]
call fcn.100a7970
mov ecx, dword [esi]
push 0x43
push str.sign
mov ecx, dword [ecx]
call fcn.100a7970
mov ecx, dword [esi]
push 0x44
push str.floor
mov ecx, dword [ecx]
call fcn.100a7970
mov ecx, dword [esi]
push 0x45
push str.ceil
mov ecx, dword [ecx]
call fcn.100a7970
mov ecx, dword [esi]
push 0x46
push str.fract
mov ecx, dword [ecx]
call fcn.100a7970
mov ecx, dword [esi]
push 0x47
push 0x10120f34
mov ecx, dword [ecx]
call fcn.100a7970
mov ecx, dword [esi]
push 0x48
push 0x10120f38
mov ecx, dword [ecx]
call fcn.100a7970
mov ecx, dword [esi]
push 0x49
push 0x10120f3c
mov ecx, dword [ecx]
call fcn.100a7970
mov ecx, dword [esi]
push 0x4a
push str.clamp
mov ecx, dword [ecx]
call fcn.100a7970
mov ecx, dword [esi]
push 0x4b
push 0x10120f48
mov ecx, dword [ecx]
call fcn.100a7970
push 0x4c
push str.step
mov ecx, dword [esi]
mov ecx, dword [ecx]
call fcn.100a7970
mov ecx, dword [esi]
push 0x4d
push str.smoothstep
mov ecx, dword [ecx]
call fcn.100a7970
mov ecx, dword [esi]
push 0x4e
push str.length
mov ecx, dword [ecx]
call fcn.100a7970
mov ecx, dword [esi]
push 0x4f
push str.distance
mov ecx, dword [ecx]
call fcn.100a7970
mov ecx, dword [esi]
push 0x50
push 0x10120f74
mov ecx, dword [ecx]
call fcn.100a7970
mov ecx, dword [esi]
push 0x51
push str.cross
mov ecx, dword [ecx]
call fcn.100a7970
mov ecx, dword [esi]
push 0x52
push str.normalize
mov ecx, dword [ecx]
call fcn.100a7970
mov ecx, dword [esi]
push 0x53
push str.faceforward
mov ecx, dword [ecx]
call fcn.100a7970
mov ecx, dword [esi]
push 0x54
push str.reflect
mov ecx, dword [ecx]
call fcn.100a7970
mov ecx, dword [esi]
push 0x55
push str.refract
mov ecx, dword [ecx]
call fcn.100a7970
mov ecx, dword [esi]
push 0x5a
push 0x10121008
mov ecx, dword [ecx]
call fcn.100a7970
mov ecx, dword [esi]
push 0x5b
push 0x1012100c
mov ecx, dword [ecx]
call fcn.100a7970
mov ecx, dword [esi]
push 9
push 0x10121010
mov ecx, dword [ecx]
call fcn.100a7970
mov ebx, dword [ebp + 8]
cmp ebx, 0x8b30
jne 0x100a8983
cmp dword [edi + 0x20], 0
je 0x100a88ef
mov ecx, dword [esi]
push 0x56
push str.dFdx
mov ecx, dword [ecx + 4]
call fcn.100a7970
mov ecx, dword [esi]
push 0x57
push str.dFdy
mov ecx, dword [ecx + 4]
call fcn.100a7970
mov ecx, dword [esi]
push 0x58
push str.fwidth
mov ecx, dword [ecx + 4]
call fcn.100a7970
push str.GL_OES_standard_derivatives
lea ecx, [ebp - 0x20]
call fcn.1009dc30
mov ecx, dword [esi]
lea eax, [ebp - 0x20]
push eax
push str.dFdx
mov ecx, dword [ecx + 4]
call fcn.100a7830
push str.GL_OES_standard_derivatives
lea ecx, [ebp - 0x90]
mov dword [ebp - 0xc], 0xf
mov dword [ebp - 0x10], 0
mov byte [ebp - 0x20], 0
call fcn.1009dc30
mov ecx, dword [esi]
lea eax, [ebp - 0x90]
push eax
push str.dFdy
mov ecx, dword [ecx + 4]
call fcn.100a7830
push str.GL_OES_standard_derivatives
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x7c], 0xf
mov dword [ebp - 0x80], 0
mov byte [ebp - 0x90], 0
call fcn.1009dc30
mov ecx, dword [esi]
lea eax, [ebp - 0x58]
push eax
push str.fwidth
mov ecx, dword [ecx + 4]
call fcn.100a7830
mov dword [ebp - 0x44], 0xf
mov dword [ebp - 0x48], 0
mov byte [ebp - 0x58], 0
cmp dword [edi + 0x34], 0
je 0x100a8983
push str.GL_EXT_shader_texture_lod
lea ecx, [ebp - 0x74]
call fcn.1009dc30
mov ecx, dword [esi]
lea eax, [ebp - 0x74]
push eax
push str.texture2DLodEXT
mov ecx, dword [ecx + 4]
call fcn.100a7830
push str.GL_EXT_shader_texture_lod
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x60], 0xf
mov dword [ebp - 0x64], 0
mov byte [ebp - 0x74], 0
call fcn.1009dc30
mov ecx, dword [esi]
lea eax, [ebp - 0x3c]
push eax
push str.texture2DProjLodEXT
mov ecx, dword [ecx + 4]
call fcn.100a7830
push str.GL_EXT_shader_texture_lod
lea ecx, [ebp - 0xf0]
mov dword [ebp - 0x28], 0xf
mov dword [ebp - 0x2c], 0
mov byte [ebp - 0x3c], 0
call fcn.1009dc30
mov ecx, dword [esi]
lea eax, [ebp - 0xf0]
push eax
push str.textureCubeLodEXT
mov ecx, dword [ecx + 4]
call fcn.100a7830
mov ecx, dword [esi]
push 0x56
push str.dFdx
mov ecx, dword [ecx + 8]
call fcn.100a7970
mov ecx, dword [esi]
push 0x57
push str.dFdy
mov ecx, dword [ecx + 8]
call fcn.100a7970
mov ecx, dword [esi]
push 0x58
push str.fwidth
mov ecx, dword [ecx + 8]
call fcn.100a7970
cmp dword [edi + 0x34], 0
je 0x100a8a74
call fcn.100a4ce0
push 0x19
push str.GL_EXT_shader_texture_lod
lea ecx, [ebp - 0x20]
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], 0xf
mov dword [ebp - 0x10], 0
mov byte [ebp - 0x20], 0
call fcn.1009f250
mov ecx, dword [esi]
lea eax, [ebp - 0x20]
push eax
push str.texture2DGradEXT
mov ecx, dword [ecx + 4]
call fcn.100a7830
call fcn.100a4ce0
push 0x19
push str.GL_EXT_shader_texture_lod
lea ecx, [ebp - 0x20]
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], 0xf
mov dword [ebp - 0x10], 0
mov byte [ebp - 0x20], 0
call fcn.1009f250
mov ecx, dword [esi]
lea eax, [ebp - 0x20]
push eax
push str.texture2DProjGradEXT
mov ecx, dword [ecx + 4]
call fcn.100a7830
call fcn.100a4ce0
push 0x19
push str.GL_EXT_shader_texture_lod
lea ecx, [ebp - 0x20]
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], 0xf
mov dword [ebp - 0x10], 0
mov byte [ebp - 0x20], 0
call fcn.1009f250
mov ecx, dword [esi]
lea eax, [ebp - 0x20]
push eax
push str.textureCubeGradEXT
mov ecx, dword [ecx + 4]
call fcn.100a7830
cmp ebx, 0x8b30
jne 0x100a8b1a
cmp dword [ebp + 0xc], 0x8b42
je 0x100a8b1a
push 1
push 1
push 4
push 0x18
push 2
push 1
lea ecx, [ebp - 0xd4]
call fcn.1009e250
mov eax, dword [edi + 0x1c]
push 0x74
mov byte [ebp - 0xba], 1
mov dword [ebp - 0xb8], eax
call fcn.100a4ce0
mov ecx, eax
call fcn.100a4e40
mov edi, eax
test edi, edi
je 0x100a8b0d
push 0x1c
call fcn.100a4ce0
mov ecx, eax
call fcn.100a4e40
test eax, eax
je 0x100a8af9
push str.gl_FragData
mov ecx, eax
call fcn.1009dc30
push 0
lea ecx, [ebp - 0xd4]
push ecx
push eax
mov ecx, edi
call fcn.100a7d40
jmp 0x100a8b0f
xor eax, eax
lea ecx, [ebp - 0xd4]
push eax
push ecx
push eax
mov ecx, edi
call fcn.100a7d40
jmp 0x100a8b0f
xor eax, eax
mov ecx, dword [esi]
push eax
mov ecx, dword [ecx + 4]
call fcn.100a70e0
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100f16a8
mov esp, ebp
pop ebp
ret