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

Disassembly:
sub esp, 0xe8
push ebx
push ebp
push esi
mov esi, dword [esp + 0xf8]
mov ebx, ecx
movups xmm1, xmmword [esi + 4]
lea ebp, [esi + 4]
movq xmm0, qword [ebp + 0x10]
movd eax, xmm1
movups xmmword [esp + 0xc], xmm1
movq qword [esp + 0x1c], xmm0
cmp eax, 0xffffffff
jne 0x100ec754
cmp dword [esp + 0x10], 0
jne 0x100ec754
cmp dword [esp + 0x14], 0
jne 0x100ec754
lea ecx, [esp + 0x18]
call fcn.101002c0
test al, al
jne 0x100ec754
push 0x10177368
push 0x101a2e0c
push str.Error_during_layout_qualifier_parsing.
lea eax, [esi + 0x34]
push eax
lea ecx, [ebx + 0x54]
call fcn.1003b4f0
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret 4
lea ecx, [esp + 0x18]
call fcn.101002c0
cmp dword [esp + 0xc], 0xffffffff
mov cl, al
jne 0x100ec778
cmp dword [esp + 0x10], 0
jne 0x100ec778
cmp dword [esp + 0x14], 0
jne 0x100ec778
xor al, al
jmp 0x100ec77a
mov al, 1
test cl, cl
je 0x100ec7a9
test al, al
je 0x100ec7a9
push 0x10177368
push str.layout
push str.invalid_combination:
lea eax, [esi + 0x34]
push eax
lea ecx, [ebx + 0x54]
call fcn.1003b4f0
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret 4
cmp dword [esi + 0x1c], 0x24
push edi
jne 0x100ec9fb
cmp byte [ebx + 0x94], 0
lea ebp, [ebx + 0x98]
je 0x100ec7f9
push ebp
lea ecx, [esp + 0x20]
call fcn.10100350
test al, al
jne 0x100ec7f9
push 0x10177368
push str.layout
push str.Work_group_size_does_not_match_the_previous_declaration
lea eax, [esi + 0x34]
push eax
lea ecx, [ebx + 0x54]
call fcn.1003b4f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret 4
cmp dword [ebx + 0x18], 0x136
jge 0x100ec82a
push 0x10177368
push str.layout
push str.in_type_qualifier_supported_in_GLSL_ES_3.10_only
lea eax, [esi + 0x34]
push eax
lea ecx, [ebx + 0x54]
call fcn.1003b4f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret 4
lea ecx, [esp + 0x1c]
call fcn.101002c0
test al, al
jne 0x100ec85f
push 0x10177368
push str.layout
push str.No_local_work_group_size_specified
lea eax, [esi + 0x34]
push eax
lea ecx, [ebx + 0x54]
call fcn.1003b4f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret 4
push dword [0x101b7ae8]
mov edi, dword [ebx + 4]
mov esi, dword [ebx + 0x18]
call fcn.1002e140
add esp, 4
mov ecx, eax
push 0x20
call fcn.100e4650
movups xmm0, xmmword [str.gl_MaxComputeWorkGroupSize]
mov dword [esp + 0x2c], eax
mov ecx, edi
mov dword [esp + 0x3c], 0x1a
mov dword [esp + 0x40], 0x1f
movups xmmword [eax], xmm0
push esi
movq xmm0, qword [0x101a0274]
movq qword [eax + 0x10], xmm0
mov dx, word [0x101a027c]
mov word [eax + 0x18], dx
mov byte [eax + 0x1a], 0
lea eax, [esp + 0x30]
push eax
call fcn.100fec10
mov dword [esp + 0x3c], 0
lea ecx, [esp + 0x1c]
mov dword [esp + 0x40], 0xf
xor esi, esi
mov byte [esp + 0x2c], 0
mov eax, dword [eax + 0x78]
mov dword [esp + 0x28], eax
call fcn.10101220
test eax, eax
je 0x100ec943
nop
push esi
lea ecx, [esp + 0x20]
call fcn.100f85a0
cmp eax, 0xffffffff
je 0x100ec935
push esi
lea ecx, [esp + 0x20]
call fcn.100f85a0
push esi
mov ecx, ebp
mov edi, eax
call fcn.100f8590
push esi
mov ecx, ebp
mov dword [eax], edi
mov eax, dword [esp + 0x2c]
mov edi, dword [eax + esi*8]
call fcn.100f8590
cmp dword [eax], 1
jl 0x100ec957
push esi
mov ecx, ebp
call fcn.100f8590
cmp dword [eax], edi
jg 0x100ec957
lea ecx, [esp + 0x1c]
inc esi
call fcn.10101220
cmp esi, eax
jb 0x100ec8f0
pop edi
pop esi
pop ebp
mov byte [ebx + 0x94], 1
pop ebx
add esp, 0xe8
ret 4
push 1
lea ecx, [esp + 0x4c]
call fcn.100c5130
lea eax, [esp + 0x58]
push str.Value_must_be_at_least_1_and_no_greater_than
push eax
call fcn.10025310
add esp, 8
mov ecx, eax
push edi
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___int_]
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x64]
call fcn.100288f0
cmp dword [esp + 0x40], 0x10
lea ecx, [esp + 0x2c]
cmovae ecx, dword [esp + 0x2c]
sub esi, 0
je 0x100ec9bd
sub esi, 1
je 0x100ec9b6
sub esi, 1
je 0x100ec9af
mov eax, str.dimension_out_of_bounds
jmp 0x100ec9c2
mov eax, str.local_size_z
jmp 0x100ec9c2
mov eax, str.local_size_y
jmp 0x100ec9c2
mov eax, str.local_size_x
push ecx
push eax
mov eax, dword [esp + 0x104]
lea ecx, [ebx + 0x54]
push str.invalid_value:
add eax, 0x34
push eax
call fcn.1003b4f0
lea ecx, [esp + 0x2c]
call fcn.10001660
lea ecx, [esp + 0x48]
call fcn.100c5e10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret 4
push ebp
lea edi, [esi + 0x34]
mov ecx, ebx
push edi
call fcn.100e7290
test al, al
je 0x100eca8e
mov eax, dword [esi + 0x1c]
cmp eax, 6
je 0x100eca41
push str.global_layout_must_be_uniform
push eax
call fcn.10021720
add esp, 4
lea ecx, [ebx + 0x54]
push eax
push str.invalid_qualifier:
push edi
call fcn.1003b4f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret 4
cmp dword [ebx + 0x18], 0x12c
jge 0x100eca6f
push 0x10177368
push str.layout
push str.layout_qualifiers_supported_in_GLSL_ES_3.00_and_above
push edi
lea ecx, [ebx + 0x54]
call fcn.1003b4f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret 4
push ebp
push edi
mov ecx, ebx
call fcn.100e6e30
mov eax, dword [esp + 0x14]
test eax, eax
je 0x100eca83
mov dword [ebx + 0x34], eax
mov eax, dword [esp + 0x18]
test eax, eax
je 0x100eca8e
mov dword [ebx + 0x38], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret 4