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

Disassembly:
push ebp
lea ebp, [esp - 0x7d664]
mov eax, 0x7d664
call fcn.00455660
push 0xffffffffffffffff
push 0x468a79
mov eax, dword fs:[0]
push eax
sub esp, 0x10
mov eax, dword [0x47e378]
xor eax, ebp
mov dword [ebp + 0x7d660], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
push 0xd
xor edi, edi
push str.igfxcfgmutext
lea ecx, [ebp + 0x7d400]
mov esi, eax
mov dword [ebp - 0x1c], 1
mov dword [ebp + 0x7d418], 0xf
mov dword [ebp + 0x7d414], edi
mov byte [ebp + 0x7d404], 0
call fcn.00401860
push edi
mov dword [ebp - 4], edi
mov dword [ebp - 0x14], edi
call dword [sym.imp.ole32.dll_CoInitialize]
mov eax, dword [ebp + 0x7d66c]
push 0x46cc58
push eax
push 0x480544
mov ecx, 0x480568
call fcn.00417820
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push 0x46cf30
push esi
mov dword [0x480598], eax
mov dword [ebp - 0x18], edi
call fcn.004179d0
mov esi, eax
add esp, 8
cmp esi, edi
je 0x41b162
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcmpiA]
mov edi, edi
push str.UnregServer
push esi
call ebx
test eax, eax
je 0x41b27f
push str.RegServer
push esi
call ebx
test eax, eax
je 0x41b2a5
push str.SchemeName
push esi
call fcn.004538f0
add esp, 8
test eax, eax
je 0x41b14a
push 0x46cf08
push esi
call fcn.004179d0
add esp, 8
cmp eax, edi
je 0x41b14a
push 0x46cf30
push eax
lea ecx, [ebp + 0x7d55c]
push ecx
call fcn.00417a20
add esp, 0xc
test eax, eax
je 0x41b14a
lea edx, [ebp + 0x7d55c]
push edx
call fcn.004111e0
mov ecx, eax
add esp, 4
lea edi, [ecx + 1]
mov dl, byte [ecx]
add ecx, 1
test dl, dl
jne 0x41b131
sub ecx, edi
push ecx
push eax
mov ecx, 0x47c188
call fcn.00401860
xor edi, edi
push 0x46cf30
push esi
call fcn.004179d0
mov esi, eax
add esp, 8
cmp esi, edi
jne 0x41b0c0
mov eax, dword [0x47c19c]
push edi
push 0x46c698
push eax
push edi
mov ecx, 0x47c188
call fcn.00418000
test eax, eax
jne 0x41b347
push 0x105
lea ecx, [ebp + 0x7d454]
push edi
push ecx
call fcn.004541e0
mov eax, dword [ebp + 0x7d404]
add esp, 0xc
cmp dword [ebp + 0x7d418], 0x10
jae 0x41b1ab
lea eax, [ebp + 0x7d404]
push 0x104
push eax
lea edx, [ebp + 0x7d454]
push edx
call fcn.00455830
add esp, 0xc
mov dword [ebp + 0x7d434], 0xf
mov dword [ebp + 0x7d430], edi
mov byte [ebp + 0x7d420], 0
push 7
push str.Global_
lea ecx, [ebp + 0x7d41c]
mov byte [ebp - 4], 1
call fcn.00401860
push 0xffffffffffffffff
push edi
lea eax, [ebp + 0x7d400]
push eax
lea ecx, [ebp + 0x7d41c]
call fcn.00401930
push 0xffffffffffffffff
push edi
lea ecx, [ebp + 0x7d41c]
xor bl, bl
push ecx
lea ecx, [ebp + 0x7d438]
mov dword [ebp + 0x7d450], 0xf
mov dword [ebp + 0x7d44c], edi
mov byte [ebp + 0x7d43c], bl
call fcn.00401780
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov byte [ebp - 4], 2
lea esp, [esp]
cmp dword [ebp + 0x7d450], 0x10
mov eax, dword [ebp + 0x7d43c]
jae 0x41b255
lea eax, [ebp + 0x7d43c]
push eax
push 1
push edi
call esi
cmp eax, edi
mov dword [ebp - 0x14], eax
jne 0x41b2cc
test bl, bl
jne 0x41b2cc
push 0xffffffffffffffff
push edi
lea edx, [ebp + 0x7d400]
push edx
lea ecx, [ebp + 0x7d438]
mov bl, 1
call fcn.00401780
jmp 0x41b240
push edi
push edi
push 0x97
push 0x480568
call fcn.0041a960
push edi
push 1
mov ecx, 0x480568
call fcn.0041ac80
mov dword [ebp - 0x18], eax
jmp 0x41b40b
push edi
push 1
push 0x97
push 0x480568
call fcn.0041a960
push edi
push 1
mov ecx, 0x480568
call fcn.0041abf0
mov dword [ebp - 0x18], eax
jmp 0x41b40b
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x41b2dc
mov dword [ebp - 0x1c], edi
mov ebx, 0x10
cmp dword [ebp + 0x7d450], ebx
jb 0x41b2f8
mov eax, dword [ebp + 0x7d43c]
push eax
call fcn.0045389c
add esp, 4
cmp dword [ebp + 0x7d434], ebx
mov esi, 0xf
mov dword [ebp + 0x7d450], esi
mov dword [ebp + 0x7d44c], edi
mov byte [ebp + 0x7d43c], 0
mov byte [ebp - 4], 0
jb 0x41b32b
mov ecx, dword [ebp + 0x7d420]
push ecx
call fcn.0045389c
add esp, 4
cmp dword [ebp - 0x1c], edi
mov dword [ebp + 0x7d434], esi
mov dword [ebp + 0x7d430], edi
mov byte [ebp + 0x7d420], 0
je 0x41b3fd
push 1
push 4
mov ecx, 0x480568
call fcn.00417ec0
lea ecx, [ebp]
call fcn.0042e630
mov ebx, 3
lea ecx, [ebp + 0x28]
mov byte [ebp - 4], bl
call fcn.0041ee40
test eax, eax
je 0x41b3dc
mov edx, dword [0x47c19c]
push edi
push 0x46c698
push edx
push edi
mov ecx, 0x47c188
call fcn.00418000
test eax, eax
jne 0x41b3c0
mov byte [ebp - 4], 4
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
lea ecx, [ebp]
call fcn.0041afb0
mov eax, dword [ebp - 0x14]
cmp eax, edi
je 0x41b3b1
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x14], edi
mov dword [ebp - 4], ebx
jmp 0x41b3dc
cmp dword [0x47c1a0], 0x10
mov eax, dword [0x47c18c]
jae 0x41b3d3
mov eax, 0x47c18c
push eax
lea ecx, [ebp]
call fcn.00429f40
mov ecx, 0x480568
call fcn.00417f50
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [ebp]
mov byte [ebp - 4], 0
call fcn.0042d790
mov eax, dword [ebp - 0x14]
cmp eax, edi
je 0x41b40b
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, 0x480568
call fcn.00417e20
call dword [sym.imp.ole32.dll_CoUninitialize]
cmp dword [ebp + 0x7d418], 0x10
jb 0x41b433
mov eax, dword [ebp + 0x7d404]
push eax
call fcn.0045389c
add esp, 4
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x7d660]
xor ecx, ebp
call fcn.00454162
add ebp, 0x7d664
mov esp, ebp
pop ebp
ret 0x10