Function at 0x42e04c
Capabilities:
Accept command line arguments
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x284
mov al, byte [ebp + 0xb]
push ebx
push esi
xor ebx, ebx
push edi
push ebx
lea ecx, [ebp - 0x24]
mov byte [ebp - 0x24], al
call fcn.004014dc
mov esi, str.igfxcfgmutext
push esi
call fcn.004512a0
pop ecx
push eax
push esi
lea ecx, [ebp - 0x24]
call fcn.0040156f
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
push ebx
mov esi, eax
call dword [sym.imp.ole32.dll_CoInitialize]
mov edi, 0x473534
mov dword [ebp - 0x14], ebx
push edi
push esi
mov dword [ebp - 0xc], 1
call fcn.0042df3c
pop ecx
mov esi, 0x479a98
pop ecx
mov dword [ebp - 0x10], eax
push dword [ebp + 8]
mov dword [0x479b08], 0x471238
mov dword [0x4775f0], esi
mov dword [0x479a98], 0x84
push 0x4733a0
push esi
mov dword [0x479afc], 0x300
call fcn.0042e4df
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [ebp - 0x10], ebx
mov dword [0x479b1c], eax
je 0x42e1c8
push str.UnregServer
push dword [ebp - 0x10]
call fcn.004518cc
pop ecx
test eax, eax
pop ecx
je 0x42e19a
push str.RegServer
push dword [ebp - 0x10]
call fcn.004518cc
pop ecx
test eax, eax
pop ecx
je 0x42e1ae
push str.SchemeName
push dword [ebp - 0x10]
call fcn.004527c5
pop ecx
test eax, eax
pop ecx
je 0x42e182
push 0x47350c
push dword [ebp - 0x10]
call fcn.0042df3c
pop ecx
cmp eax, ebx
pop ecx
je 0x42e182
push edi
push eax
lea eax, [ebp - 0x284]
push eax
call fcn.0042df74
add esp, 0xc
test eax, eax
je 0x42e182
lea eax, [ebp - 0x284]
push eax
call fcn.00449bdd
push eax
mov dword [ebp - 8], eax
call fcn.004512a0
pop ecx
pop ecx
push eax
mov ecx, 0x479b20
push dword [ebp - 8]
call fcn.0040156f
push edi
push dword [ebp - 0x10]
call fcn.0042df3c
pop ecx
cmp eax, ebx
pop ecx
mov dword [ebp - 0x10], eax
jne 0x42e0f4
jmp 0x42e1c8
push ebx
push ebx
push 0x64
push esi
call fcn.0042cab7
push ebx
push ebx
push esi
call fcn.0042e7ac
jmp 0x42e1c2
push ebx
push 1
push 0x64
push esi
call fcn.0042cab7
push ebx
push 1
push esi
call fcn.0042e633
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc], ebx
push str.Uninited
push 0x479a88
call fcn.0042ca26
pop ecx
test al, al
pop ecx
je 0x42e24e
cmp dword [ebp - 0xc], ebx
je 0x42e4c5
push 0x114
call fcn.00451777
cmp eax, ebx
pop ecx
je 0x42e200
mov ecx, eax
call fcn.0043f351
mov edi, eax
jmp 0x42e202
xor edi, edi
cmp dword [edi + 0x10c], ebx
jbe 0x42e23f
push ebx
mov ecx, edi
call fcn.0042eb44
push eax
call fcn.004512a0
test eax, eax
pop ecx
jbe 0x42e23f
push ebx
mov ecx, edi
call fcn.0042eb44
push eax
mov dword [ebp - 8], eax
call fcn.004512a0
pop ecx
push eax
mov ecx, 0x479a88
push dword [ebp - 8]
call fcn.0040156f
jmp 0x42e242
mov dword [ebp - 0xc], ebx
cmp edi, ebx
je 0x42e24e
mov eax, dword [edi]
push 1
mov ecx, edi
call dword [eax]
cmp dword [ebp - 0xc], ebx
je 0x42e4c5
push 0x4777cc
push 0x479b20
call fcn.0042ca26
pop ecx
test al, al
pop ecx
je 0x42e374
push 0x105
lea eax, [ebp - 0x180]
push ebx
push eax
call fcn.00451320
mov eax, dword [ebp - 0x20]
add esp, 0xc
cmp eax, ebx
jne 0x42e291
mov eax, 0x4614a8
push 0x104
push eax
lea eax, [ebp - 0x180]
push eax
call fcn.0045273b
lea eax, [ebp - 0x180]
push eax
call fcn.00449e01
mov edi, eax
push edi
call fcn.004512a0
add esp, 0x14
lea ecx, [ebp - 0x24]
push eax
push edi
call fcn.0040156f
mov al, byte [ebp + 0xb]
push ebx
lea ecx, [ebp - 0x34]
mov byte [ebp - 0x34], al
call fcn.004014dc
mov edi, str.Global_
push edi
call fcn.004512a0
pop ecx
push eax
push edi
lea ecx, [ebp - 0x34]
call fcn.0040156f
push dword [0x4614ac]
lea eax, [ebp - 0x24]
lea ecx, [ebp - 0x34]
push ebx
push eax
call fcn.0040d444
mov al, byte [ebp - 0x34]
push ebx
lea ecx, [ebp - 0x44]
mov byte [ebp - 1], bl
mov byte [ebp - 0x44], al
call fcn.004014dc
push dword [0x4614ac]
lea eax, [ebp - 0x34]
push ebx
push eax
lea ecx, [ebp - 0x44]
call fcn.0040d4cc
mov eax, dword [ebp - 0x40]
cmp eax, ebx
jne 0x42e32d
mov eax, 0x4614a8
push eax
push 1
push ebx
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
test eax, eax
jne 0x42e350
cmp byte [ebp - 1], bl
jne 0x42e350
push dword [0x4614ac]
mov byte [ebp - 1], 1
lea eax, [ebp - 0x24]
push ebx
jmp 0x42e318
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x42e360
mov dword [ebp - 0xc], ebx
push 1
lea ecx, [ebp - 0x44]
call fcn.004014dc
push 1
lea ecx, [ebp - 0x34]
call fcn.004014dc
cmp dword [ebp - 0xc], ebx
je 0x42e4c5
push 1
push 4
push esi
call fcn.0042e562
mov eax, dword [0x479a8c]
cmp eax, ebx
jne 0x42e395
mov eax, 0x4614a8
mov edi, dword [ebp + 8]
push edi
push ebx
push ebx
push 0x4b8
push eax
call sub.hccutils.DLL_LoadICON
mov dword [ebp - 8], eax
push 0x28
lea eax, [ebp - 0x78]
push ebx
push eax
call fcn.00451320
mov eax, dword [ebp - 8]
add esp, 0x20
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x68], edi
lea eax, [ebp - 0x78]
mov edi, str.igfxcfgClass
push eax
mov dword [ebp - 0x74], 0x42dfaa
mov dword [ebp - 0x54], edi
call dword [sym.imp.USER32.dll_RegisterClassA]
push 0x4777cc
push 0x479b20
call fcn.0042ca26
pop ecx
test al, al
mov eax, dword [0x479a8c]
pop ecx
je 0x42e41a
cmp eax, ebx
jne 0x42e3fd
mov eax, 0x4614a8
push eax
push str.igfxcfgWindow
call fcn.00449e4a
push eax
mov dword [ebp - 8], eax
call fcn.004512a0
add esp, 0xc
push eax
push dword [ebp - 8]
jmp 0x42e43e
cmp eax, ebx
jne 0x42e423
mov eax, 0x4614a8
push eax
push str.igfxschemeWindow
call fcn.00449e4a
push eax
mov dword [ebp - 8], eax
call fcn.004512a0
add esp, 0xc
push eax
push dword [ebp - 8]
lea ecx, [ebp - 0x24]
call fcn.0040156f
mov eax, dword [ebp - 0x20]
cmp eax, ebx
jne 0x42e452
mov eax, 0x4614a8
push ebx
push dword [ebp + 8]
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push eax
push edi
push ebx
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov ecx, dword [0x479b24]
cmp ecx, ebx
jne 0x42e475
mov ecx, 0x4614a8
push ecx
push ebx
push 0x111
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov edi, dword [sym.imp.USER32.dll_GetMessageA]
push ebx
push ebx
lea eax, [ebp - 0x50]
push ebx
push eax
call edi
test eax, eax
je 0x42e4a9
lea eax, [ebp - 0x50]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
push ebx
push ebx
lea eax, [ebp - 0x50]
push ebx
push eax
jmp 0x42e490
push esi
call fcn.0042e5f7
mov ecx, dword [0x479b34]
cmp ecx, ebx
je 0x42e4c5
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [0x479b34], ebx
call dword [sym.imp.ole32.dll_CoUninitialize]
push 1
lea ecx, [ebp - 0x24]
call fcn.004014dc
mov eax, dword [ebp - 0x14]
pop edi
pop esi
pop ebx
leave
ret 0x10