Function at 0x10014567
Capabilities:
Enumerate gui resources
Set current directory

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x328
mov eax, dword [0x100ef900]
xor eax, esp
mov dword [esp + 0x324], eax
cmp byte [0x10109be8], 0
push esi
push edi
jne 0x10014b00
push 0x260
xor esi, esi
mov byte [0x10109be8], 1
lea eax, [esp + 0xc4]
push esi
push eax
call fcn.1006db70
add esp, 0xc
lea ecx, [esp + 0xc0]
call fcn.10010e79
push 0x30
mov dword [esp + 0x74], esi
call fcn.1006bbdc
lea ecx, [esp + 0x2c]
mov dword [esp], 0x100dd84e
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
or dword [esp + 0x6c], 0xffffffff
mov dword [esp + 0x70], eax
call fcn.10017dcb
push 1
push 0x100e0360
mov ecx, eax
call fcn.10019418
push eax
lea ecx, [esp + 0x14]
call fcn.10017d92
push 0x100dffec
lea ecx, [esp + 0x14]
call fcn.10017cf8
push eax
lea ecx, [esp + 0x9c]
call fcn.10017d92
lea eax, [esp + 0x98]
push eax
lea ecx, [esp + 0xc4]
call fcn.10011161
lea ecx, [esp + 0x98]
call fcn.10019361
lea ecx, [esp + 0x10]
call fcn.10019361
lea ecx, [esp + 0x28]
call fcn.10019361
mov eax, dword [esp + 0x6c]
imul ecx, dword [esp + 0xd0], 0x370
fld qword [0x100e1800]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x28]
push eax
mov eax, dword [esp + 0xc8]
add ecx, 0x180
add eax, ecx
lea ecx, [esp + 0x70]
push eax
lea eax, [esp + 0x18]
fst qword [esp + 0x48]
push eax
fstp qword [esp + 0x64]
call fcn.10027c57
lea eax, [esp + 0xc0]
mov dword [esp + 0x28], 0x100e16c8
mov dword [esp + 0x2c], eax
lea ecx, [esp + 0x98]
lea eax, [esp + 0x6c]
mov dword [esp + 0xbc], esi
mov dword [esp + 0x30], eax
lea eax, [esp + 0x68]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x28]
push eax
mov dword [esp + 0x50], eax
call fcn.10025207
lea eax, [esp + 0x2a0]
push eax
lea ecx, [esp + 0x2c]
call fcn.10025207
lea eax, [esp + 0x98]
push eax
lea ecx, [esp + 0x2a4]
call fcn.10025207
lea ecx, [esp + 0x98]
call fcn.100150e9
lea ecx, [esp + 0x28]
call fcn.100150e9
lea eax, [esp + 0x68]
mov dword [esp + 0x28], 0x100e1480
mov dword [esp + 0x2c], eax
lea ecx, [esp + 0x98]
lea eax, [esp + 0xc0]
mov dword [esp + 0xbc], esi
mov dword [esp + 0x30], eax
lea eax, [esp + 0x6c]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x28]
push eax
mov dword [esp + 0x50], eax
call fcn.10025207
lea eax, [esp + 0x160]
push eax
lea ecx, [esp + 0x2c]
call fcn.10025207
lea eax, [esp + 0x98]
push eax
lea ecx, [esp + 0x164]
call fcn.10025207
lea ecx, [esp + 0x98]
call fcn.100150e9
lea ecx, [esp + 0x28]
call fcn.100150e9
cmp dword [esp + 0x70], 1
je 0x100147dc
push str.libigl_viewer
lea ecx, [esp + 0x9c]
call fcn.10017dcb
push ecx
push ecx
lea eax, [esp + 0xa0]
push eax
push ecx
lea ecx, [esp + 0xd0]
call fcn.10010a43
push ecx
lea ecx, [esp + 0xc4]
call fcn.10010c8f
lea ecx, [esp + 0xc0]
call fcn.10010d9b
lea ecx, [esp + 0x98]
call fcn.10019361
lea ecx, [esp + 0x6c]
call fcn.10014d4c
lea ecx, [esp + 0xc0]
call fcn.100110cf
xor eax, eax
lea edi, [esp + 0x74]
stosd dword es:[edi], eax
lea ecx, [esp + 0x74]
push esi
push 0x1000
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], 7
mov word [esp + 0x7c], ax
call fcn.100192ce
push esi
push fcn.10010a40
call fcn.100645d0
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x1001489a
push edi
call fcn.10064260
pop ecx
push 0
mov esi, eax
push 3
push esi
call fcn.10063cb0
add esp, 0xc
push esi
call fcn.100632a0
fld dword [0x100e18c8]
fstp dword [esp]
push esi
call fcn.100635b0
fld dword [0x100e18e8]
fstp dword [esp + 4]
fld dword [0x100e18c8]
fstp dword [esp]
push esi
call fcn.10063450
add esp, 0xc
push 0x100e0374
push esi
call fcn.10063620
push esi
call fcn.10063380
add esp, 0xc
push edi
call fcn.100643e0
pop ecx
xor esi, esi
cmp dword [esp + 0x88], 7
lea eax, [esp + 0x74]
push 0x1000
cmova eax, dword [esp + 0x78]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
call fcn.10014408
push ecx
push 2
mov ecx, eax
call fcn.1002da52
call fcn.10014408
push ecx
push 4
mov ecx, eax
call fcn.1002da52
cmp dword [esp + 0x88], 7
lea edx, [esp + 0x74]
mov esi, dword [esp + 0x84]
cmova edx, dword [esp + 0x74]
test esi, esi
je 0x10014917
lea eax, [esi - 1]
or ecx, 0xffffffff
cmp eax, ecx
push 0x5c
cmovb ecx, eax
pop eax
lea ecx, [edx + ecx*2]
jmp 0x1001490c
cmp ecx, edx
je 0x10014917
sub ecx, 2
cmp word [ecx], ax
jne 0x10014905
sub ecx, edx
sar ecx, 1
jmp 0x1001491a
or ecx, 0xffffffff
xor eax, eax
lea edi, [esp + 0x10]
stosd dword es:[edi], eax
push 7
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [esp + 0x78]
and dword [esp + 0x24], 0
and dword [esp + 0x28], 0
cmp esi, ecx
cmovb ecx, esi
pop esi
cmp dword [esp + 0x88], esi
push ecx
cmova eax, dword [esp + 0x78]
lea ecx, [esp + 0x14]
push eax
call fcn.10020b6e
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x78]
call fcn.10017aab
lea ecx, [esp + 0x10]
call fcn.100192a0
cmp dword [esp + 0x88], esi
lea eax, [esp + 0x74]
cmova eax, dword [esp + 0x74]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
xor eax, eax
mov edi, eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov eax, 0x7ffffffe
sub eax, dword [esp + 0x84]
mov dword [esp + 0x8c], edi
cmp eax, 1
jb 0x10014b14
cmp dword [esp + 0x88], esi
lea eax, [esp + 0x74]
push 1
cmova eax, dword [esp + 0x78]
push ecx
push dword [esp + 0x8c]
push eax
push ecx
push dword [esp + 0x80]
lea ecx, [esp + 0x28]
call fcn.10024691
push 9
push str.build.wav
lea ecx, [esp + 0x18]
call fcn.10017a12
push eax
lea ecx, [esp + 0x9c]
call fcn.10017ae2
lea ecx, [esp + 0x10]
call fcn.100192a0
cmp dword [esp + 0xac], esi
lea eax, [esp + 0x98]
lea ecx, [esp + 0x28]
cmova eax, dword [esp + 0x98]
push eax
call fcn.10017b1d
push ecx
push ecx
lea edx, [esp + 0x30]
lea ecx, [esp + 0x18]
call fcn.100144aa
and dword [esp + 0x70], edi
mov esi, eax
lea eax, [esp + 0x94]
pop ecx
pop ecx
cmp eax, esi
je 0x10014a73
mov ecx, eax
call fcn.10015158
mov eax, dword [esi + 4]
mov edi, dword [esi]
mov dword [esp + 0x90], eax
mov eax, dword [esi + 8]
mov dword [esp + 0x94], eax
xor eax, eax
mov dword [esp + 0x8c], edi
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov dword [esp + 0x68], edi
lea ecx, [esp + 0x10]
call fcn.10015158
lea ecx, [esp + 0x28]
call fcn.100192a0
push str.avutil_56.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push 0x256d
push 0
lea esi, [eax + 0x1000]
push esi
mov dword [esp + 0x78], esi
call fcn.1006db70
mov esi, dword [esp + 0x74]
add esp, 0xc
xor edx, edx
movzx eax, dl
lea ecx, [esi + edx]
imul eax, eax, 0x6c
add al, 0x31
add byte [ecx], al
inc edx
mov eax, 0x256d
cmp edx, eax
jb 0x10014ab0
mov esi, dword [esp + 0x6c]
push eax
push edi
push esi
call fcn.1006d5f0
add esp, 0xc
push 0
push esi
call dword [sym.imp.USER32.dll_EnumWindows]
lea ecx, [esp + 0x98]
call fcn.100192a0
lea ecx, [esp + 0x8c]
call fcn.10015158
lea ecx, [esp + 0x74]
call fcn.100192a0
mov ecx, dword [esp + 0x32c]
pop edi
pop esi
xor ecx, esp
call fcn.1006bae9
mov esp, ebp
pop ebp
ret
call fcn.10001713
int3