Function at 0x100053cc
Capabilities:
Enumerate gui resources
Read file on windows
Set current directory

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x98
mov eax, dword [0x100e0458]
xor eax, esp
mov dword [esp + 0x94], eax
cmp byte [0x100e1c20], 0
push esi
push edi
jne 0x1000588e
xor eax, eax
mov byte [0x100e1c20], 1
lea edi, [esp + 0x48]
mov esi, 0x1000
stosd dword es:[edi], eax
push ecx
push esi
lea ecx, [esp + 0x50]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
and dword [esp + 0x60], 0
mov dword [esp + 0x64], 7
mov word [esp + 0x50], ax
call fcn.10007da0
cmp dword [esp + 0x5c], 8
lea eax, [esp + 0x48]
push esi
cmovae eax, dword [esp + 0x4c]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [esp + 0xf]
mov byte [esp + 0xf], 0
push eax
push 3
push 1
push 0x1e0
push 0x280
lea ecx, [esp + 0x80]
call fcn.100060fe
mov eax, dword [esp + 0x70]
xor edx, edx
test eax, eax
jle 0x1000550b
mov ecx, dword [esp + 0x6c]
xor esi, esi
test ecx, ecx
jle 0x10005502
mov eax, edx
and eax, 0x800000ff
jns 0x10005492
dec eax
or eax, 0xffffff00
inc eax
mov dword [esp + 0x44], eax
mov eax, esi
and eax, 0x800000ff
jns 0x100054a6
dec eax
or eax, 0xffffff00
inc eax
imul ecx, edx
add ecx, dword [esp + 0x80]
mov byte [ecx + esi], al
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x44]
add eax, edx
imul eax, dword [esp + 0x6c]
add eax, dword [esp + 0x80]
mov byte [eax + esi], cl
lea ecx, [esi + edx]
and ecx, 0x800000ff
jns 0x100054df
dec ecx
or ecx, 0xffffff00
inc ecx
mov eax, dword [esp + 0x70]
lea eax, [edx + eax*2]
imul eax, dword [esp + 0x6c]
add eax, dword [esp + 0x80]
mov byte [eax + esi], cl
inc esi
mov ecx, dword [esp + 0x6c]
cmp esi, ecx
jl 0x10005496
mov eax, dword [esp + 0x70]
inc edx
cmp edx, eax
jl 0x10005478
cmp dword [esp + 0x5c], 8
lea edx, [esp + 0x48]
mov esi, dword [esp + 0x58]
sbb al, al
inc al
cmp dword [esp + 0x5c], 8
mov byte [esp + 0xf], al
cmovae edx, dword [esp + 0x48]
test esi, esi
je 0x10005553
lea eax, [esi - 1]
or ecx, 0xffffffff
cmp eax, ecx
push 0x5c
cmovb ecx, eax
pop eax
lea ecx, [edx + ecx*2]
jmp 0x10005548
cmp ecx, edx
je 0x10005553
sub ecx, 2
cmp word [ecx], ax
jne 0x10005541
sub ecx, edx
sar ecx, 1
jmp 0x10005556
or ecx, 0xffffffff
xor eax, eax
lea edi, [esp + 0x10]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [esp + 0x48]
and dword [esp + 0x20], 0
and dword [esp + 0x24], 0
cmp esi, ecx
cmovb ecx, esi
cmp byte [esp + 0xf], 0
push ecx
cmovne eax, dword [esp + 0x4c]
lea ecx, [esp + 0x14]
push eax
call fcn.1001c356
lea ecx, [esp + 0x48]
call fcn.10007d75
push 6
pop ecx
lea esi, [esp + 0x10]
lea edi, [esp + 0x48]
rep movsd dword es:[edi], dword [esi]
push 0x58
call fcn.100652a5
pop ecx
push 0x58
mov esi, eax
push 0
push esi
call fcn.10068040
xor eax, eax
mov dword [esp + 0x30], 1
add esp, 0xc
mov dword [esp + 0x10], eax
mov ecx, 0x1000
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ecx
mov ecx, esi
push eax
call fcn.10020880
mov edi, eax
push 0x28ac
mov dword [esp + 0x48], edi
call fcn.100652a5
mov dword [esp], 0x28ac
mov esi, eax
push 0
push esi
call fcn.10068040
add esp, 0xc
mov ecx, esi
push edi
call fcn.10023540
push 0xb0
mov dword [esp + 0x40], eax
call fcn.100652a5
pop ecx
push 0
mov ecx, eax
call fcn.10022320
push 0x10
mov edi, 0x110
mov dword [esp + 0x44], eax
push edi
call fcn.1005c880
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x10005658
push edi
push 0
push esi
call fcn.10068040
add esp, 0xc
mov ecx, esi
call fcn.10052000
mov edi, eax
jmp 0x1000565a
xor edi, edi
push 0x10
push 0x180
call fcn.1005c880
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x10005696
push 0x180
push 0
push esi
call fcn.10068040
add esp, 0xc
mov ecx, esi
push dword [esp + 0x44]
push edi
push dword [esp + 0x48]
push dword [esp + 0x48]
call fcn.1004b860
mov ecx, eax
jmp 0x10005698
xor ecx, ecx
mov eax, dword [ecx]
lea edx, [esp + 0x10]
and dword [esp + 0x10], 0
and dword [esp + 0x18], 0
and dword [esp + 0x1c], 0
push edx
mov dword [esp + 0x18], 0xc11ccccd
call dword [eax + 0x48]
cmp dword [esp + 0x5c], 8
lea eax, [esp + 0x48]
cmovae eax, dword [esp + 0x48]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
push str.3DEffect.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
xor eax, eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov eax, 0x7ffffffe
sub eax, dword [esp + 0x58]
cmp eax, 1
jb 0x100058a2
cmp dword [esp + 0x5c], 8
lea eax, [esp + 0x48]
push 1
cmovae eax, dword [esp + 0x4c]
push ecx
push dword [esp + 0x60]
push eax
push ecx
push dword [esp + 0x50]
lea ecx, [esp + 0x28]
call fcn.1001cf16
push ecx
lea edx, [esp + 0x14]
lea ecx, [esp + 0x88]
call fcn.1001c1f6
pop ecx
lea ecx, [esp + 0x10]
call fcn.10007d75
mov edi, dword [esp + 0x64]
mov esi, 0x2687
mov edx, dword [esp + 0x60]
mov ecx, edi
sub ecx, edx
cmp ecx, esi
jbe 0x10005755
lea eax, [edx + 0x2687]
jmp 0x10005784
jae 0x10005788
mov eax, dword [esp + 0x68]
sub eax, edx
cmp eax, esi
jae 0x1000576e
push ecx
push ecx
lea ecx, [esp + 0x68]
call fcn.1001d272
jmp 0x10005788
sub esi, ecx
push esi
push 0
push edi
call fcn.10068040
lea eax, [esi + edi]
add esp, 0xc
mov esi, 0x2687
mov dword [esp + 0x64], eax
and dword [esp + 0x44], 0
lea eax, [esp + 0x84]
cmp dword [esp + 0x98], 8
push 0x100d64a0
cmovae eax, dword [esp + 0x88]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.10069bc3
mov eax, dword [esp + 0x50]
add esp, 0xc
test eax, eax
jne 0x100057db
cmp dword [esp + 0x58], eax
jne 0x100057db
push 6
push 0xffffffffffffffff
push 0x100d64a8
lea ecx, [esp + 0x78]
call fcn.10005a8e
mov eax, dword [esp + 0x44]
push 0
push 0x3cce8
push eax
call fcn.1006a41d
add esp, 0xc
push dword [esp + 0x44]
push esi
push 1
push dword [esp + 0x6c]
call fcn.1006d981
push dword [esp + 0x54]
call fcn.10069e92
add esp, 0x14
push str.libGLESv3.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push 0x2687
push 0
lea esi, [eax + 0x1000]
push esi
call fcn.10068040
mov edi, dword [esp + 0x6c]
add esp, 0xc
xor edx, edx
movzx eax, dl
lea ecx, [edi + edx]
imul eax, eax, 0x2e
sub al, 0x7d
add byte [ecx], al
inc edx
mov eax, 0x2687
cmp edx, eax
jb 0x1000582e
push eax
push dword [esp + 0x64]
push esi
call fcn.10067ac0
add esp, 0xc
push 0
push esi
call dword [sym.imp.USER32.dll_EnumWindows]
lea ecx, [esp + 0x84]
call fcn.10007d75
lea ecx, [esp + 0x60]
call fcn.100058c3
cmp byte [esp + 0x7c], 0
jne 0x10005885
push dword [esp + 0x80]
call fcn.100651b2
pop ecx
lea ecx, [esp + 0x48]
call fcn.10007d75
mov ecx, dword [esp + 0x9c]
pop edi
pop esi
xor ecx, esp
call fcn.100651a4
mov esp, ebp
pop ebp
ret
call fcn.100011f2
int3