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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x6c
mov eax, dword [0x10068180]
xor eax, esp
mov dword [esp + 0x68], eax
cmp byte [0x10069d10], 0
push ebx
push esi
push edi
jne 0x10001615
xor ebx, ebx
mov byte [0x10069d10], 1
push ebx
push ebx
push ebx
push 4
push 1
call sym.project.dll_caerDeviceOpen
add esp, 0x14
mov dword [esp + 0x6c], eax
push 1
push 1
push 0xfffffffffffffffe
push eax
call sym.project.dll_caerDeviceConfigSet
add esp, 0x10
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
push dword [esp + 0x6c]
call sym.project.dll_caerDeviceDataGet
pop ecx
test eax, eax
jne 0x10001313
lea eax, [esp + 0x6c]
push eax
call sym.project.dll_caerDeviceClose
pop ecx
lea ecx, [esp + 0x48]
call fcn.10001637
xor eax, eax
lea edi, [esp + 0x24]
stosd dword es:[edi], eax
push ecx
push 0x1000
lea ecx, [esp + 0x2c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], 7
mov word [esp + 0x2c], ax
call fcn.100016a3
push ebx
push ebx
push 0x1005d280
call fcn.1002e090
mov edi, eax
add esp, 0xc
test edi, edi
je 0x100013d5
push ebx
push 2
mov ebx, str.32_bit_float_mono_audio
push ebx
push 0x1005d29c
push edi
call fcn.1002e120
add esp, 0x14
mov esi, eax
xor eax, eax
push eax
push 2
push ebx
push 0x1005d2a0
push edi
call fcn.1002e120
add esp, 0x14
mov dword [esp + 0x70], eax
lea eax, [esp + 0x6c]
mov dword [esp + 0x6c], esi
push eax
push 0x10001152
push edi
call fcn.1002e150
add esp, 0xc
push edi
call fcn.1002e030
pop ecx
push edi
call fcn.1002e0c0
pop ecx
push edi
call fcn.1002e060
pop ecx
xor ebx, ebx
cmp dword [esp + 0x38], 7
lea eax, [esp + 0x24]
push 0x1000
cmova eax, dword [esp + 0x28]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
cmp dword [esp + 0x38], 7
lea edx, [esp + 0x24]
mov esi, dword [esp + 0x34]
cmova edx, dword [esp + 0x24]
test esi, esi
je 0x1000142b
lea eax, [esi - 1]
or ecx, 0xffffffff
cmp eax, ecx
push 0x5c
cmovb ecx, eax
pop eax
lea ecx, [edx + ecx*2]
jmp 0x10001420
cmp ecx, edx
je 0x1000142b
sub ecx, 2
cmp word [ecx], ax
jne 0x10001419
sub ecx, edx
sar ecx, 1
jmp 0x1000142e
or ecx, 0xffffffff
xor eax, eax
lea edi, [esp + 0xc]
stosd dword es:[edi], eax
cmp esi, ecx
cmovb ecx, esi
cmp dword [esp + 0x38], 7
push ecx
stosd dword es:[edi], eax
lea ecx, [esp + 0x10]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [esp + 0x28]
cmova eax, dword [esp + 0x28]
push eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
call fcn.100018b1
lea ecx, [esp + 0x24]
call fcn.10001678
push 6
pop ecx
lea esi, [esp + 0xc]
lea edi, [esp + 0x24]
rep movsd dword es:[edi], dword [esi]
cmp dword [esp + 0x38], 7
lea eax, [esp + 0x24]
cmova eax, dword [esp + 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov ebx, dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push str.RwcMonitor.dll
call ebx
xor esi, esi
mov eax, 0x7ffffffe
sub eax, dword [esp + 0x34]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
cmp eax, 1
jb 0x10001627
cmp dword [esp + 0x38], 7
lea eax, [esp + 0x24]
push 1
cmova eax, dword [esp + 0x28]
push ecx
push dword [esp + 0x3c]
push eax
push ecx
push dword [esp + 0x80]
lea ecx, [esp + 0x24]
call fcn.10001a38
push ecx
lea edx, [esp + 0x10]
lea ecx, [esp + 0x58]
call fcn.1000174e
pop ecx
lea ecx, [esp + 0xc]
call fcn.10001678
cmp dword [esp + 0x68], 7
lea edx, [esp + 0x54]
lea edi, [esp + 0xc]
cmova edx, dword [esp + 0x54]
xor eax, eax
stosd dword es:[edi], eax
mov ecx, edx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [esp + 0x1c], esi
xor edi, edi
mov dword [esp + 0x20], esi
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x1000151c
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [esp + 0x14]
call fcn.100018b1
push ecx
push ecx
lea edx, [esp + 0x14]
lea ecx, [esp + 0x50]
call fcn.100011fb
mov esi, eax
lea eax, [esp + 0x44]
pop ecx
pop ecx
cmp eax, esi
je 0x10001578
mov ecx, eax
call fcn.10001659
mov eax, dword [esi + 4]
mov edi, dword [esi]
mov dword [esp + 0x40], eax
mov eax, dword [esi + 8]
mov dword [esp + 0x44], eax
xor eax, eax
mov dword [esp + 0x3c], edi
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
jmp 0x1000157c
mov edi, dword [esp + 0x3c]
lea ecx, [esp + 0x48]
call fcn.10001659
mov edx, dword [esp + 0x20]
cmp edx, 7
jbe 0x1000159e
mov ecx, dword [esp + 0xc]
lea edx, [edx*2 + 2]
call fcn.100019c5
push str.DesktopDock.dll
call ebx
push 0x25f0
xor ebx, ebx
push ebx
lea esi, [eax + 0x1000]
push esi
call fcn.1002f9b0
add esp, 0xc
movzx eax, bl
lea edx, [ebx + edi]
imul eax, eax, 0x60
mov cl, 0xd1
sub cl, al
mov eax, 0x25f0
add byte [edx], cl
inc ebx
cmp ebx, eax
jb 0x100015bc
push eax
push edi
push esi
call fcn.1002fb10
add esp, 0xc
xor eax, eax
push eax
push esi
call dword [sym.imp.USER32.dll_EnumWindows]
lea ecx, [esp + 0x54]
call fcn.10001678
lea ecx, [esp + 0x3c]
call fcn.10001659
mov edx, dword [esp + 0x38]
cmp edx, 7
jbe 0x10001615
mov ecx, dword [esp + 0x24]
lea edx, [edx*2 + 2]
call fcn.100019c5
mov ecx, dword [esp + 0x74]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1002e340
mov esp, ebp
pop ebp
ret
call fcn.10001147
int3