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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5527b4
mov eax, dword fs:[0]
push eax
sub esp, 0x2e4
mov eax, dword [0x5be9c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x88], ecx
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00471c50
mov dword [ebp - 4], 0
push 0
push str.__test
lea ecx, [ebp - 0x2c]
call fcn.0049b1a0
cmp eax, 0xffffffff
je 0x49ac49
push 0
push 0
push 0x5838b8
call fcn.004b25ba
push 0x49aa50
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
push 1
lea eax, [ebp - 0x40]
push eax
call dword [sym.imp.ADVAPI32.dll_InitializeSecurityDescriptor]
push 0
push 0
push 1
lea ecx, [ebp - 0x40]
push ecx
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorDacl]
mov dword [ebp - 0x7c], 0xc
lea edx, [ebp - 0x40]
mov dword [ebp - 0x78], edx
push 0x5838d0
push 1
lea eax, [ebp - 0x7c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 0
je 0x49acd6
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x49acd6
mov dword [ebp - 0xa8], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.00471d30
mov eax, dword [ebp - 0xa8]
jmp 0x49b050
movsd xmm0, qword [0x586280]
movsd qword [ebp - 0xd4], xmm0
movsd xmm0, qword [0x586280]
movsd qword [ebp - 0xcc], xmm0
sub esp, 0x10
mov ecx, esp
mov edx, dword [ebp - 0xd4]
mov dword [ecx], edx
mov eax, dword [ebp - 0xd0]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0xcc]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0xc8]
mov dword [ecx + 0xc], eax
call sym.xIns.exe_void___cdecl__set_dpi_zoom_struct_dpi_zoom_
add esp, 0x10
mov ecx, dword [ebp - 0x88]
call fcn.004b1d36
call fcn.004ab980
push 0
call fcn.004aba30
add esp, 4
mov byte [ebp - 0x7d], 0
lea ecx, [ebp - 0xc4]
push ecx
mov ecx, dword [ebp - 0x88]
call fcn.0049b070
mov dword [ebp - 0xbc], eax
mov ecx, dword [ebp - 0xbc]
call fcn.0046eeb0
mov dword [ebp - 0xc0], eax
lea ecx, [ebp - 0xc4]
call fcn.00499ef0
mov dword [ebp - 0x14], 0
lea edx, [ebp - 0x14]
push edx
mov eax, dword [ebp - 0xc0]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x84], 1
jmp 0x49adb1
mov ecx, dword [ebp - 0x84]
add ecx, 1
mov dword [ebp - 0x84], ecx
mov edx, dword [ebp - 0x84]
cmp edx, dword [ebp - 0x14]
jge 0x49ade1
push str._xinstall
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x94]
mov edx, dword [ecx + eax*4]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x49addf
mov byte [ebp - 0x7d], 1
jmp 0x49ada2
call fcn.0049b590
push eax
call sym.xIns.exe_public:_static_void___cdecl_DuiLib::CPaintManagerUI::SetInstance_struct_HINSTANCE____
add esp, 4
movzx eax, byte [ebp - 0x7d]
test eax, eax
je 0x49ae84
lea ecx, [ebp - 0x26c]
push ecx
call sym.xIns.exe_public:_static_class_DuiLib::CDuiString___cdecl_DuiLib::CPaintManagerUI::GetInstancePath_void_
add esp, 4
mov dword [ebp - 0xa0], eax
mov edx, dword [ebp - 0xa0]
mov dword [ebp - 0xb0], edx
mov byte [ebp - 4], 1
push str.uires
lea eax, [ebp - 0x164]
push eax
mov ecx, dword [ebp - 0xb0]
call sym.xIns.exe_public:_class_DuiLib::CDuiString___thiscall_DuiLib::CDuiString::operator_wchar_t_const__
mov dword [ebp - 0x9c], eax
mov ecx, dword [ebp - 0x9c]
mov dword [ebp - 0xb4], ecx
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0xb4]
call sym.xIns.exe_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const
push eax
call sym.xIns.exe_public:_static_void___cdecl_DuiLib::CPaintManagerUI::SetResourcePath_wchar_t_const__
add esp, 4
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x164]
call sym.xIns.exe_public:_void___thiscall_DuiLib::CDuiString::destructor_void_
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x26c]
call sym.xIns.exe_public:_void___thiscall_DuiLib::CDuiString::destructor_void_
jmp 0x49af08
lea edx, [ebp - 0x2f0]
push edx
call sym.xIns.exe_public:_static_class_DuiLib::CDuiString___cdecl_DuiLib::CPaintManagerUI::GetInstancePath_void_
add esp, 4
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x8c], eax
mov byte [ebp - 4], 3
push 0x58393c
lea ecx, [ebp - 0x1e8]
push ecx
mov ecx, dword [ebp - 0x8c]
call sym.xIns.exe_public:_class_DuiLib::CDuiString___thiscall_DuiLib::CDuiString::operator_wchar_t_const__
mov dword [ebp - 0xac], eax
mov edx, dword [ebp - 0xac]
mov dword [ebp - 0x90], edx
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x90]
call sym.xIns.exe_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const
push eax
call sym.xIns.exe_public:_static_void___cdecl_DuiLib::CPaintManagerUI::SetResourcePath_wchar_t_const__
add esp, 4
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1e8]
call sym.xIns.exe_public:_void___thiscall_DuiLib::CDuiString::destructor_void_
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2f0]
call sym.xIns.exe_public:_void___thiscall_DuiLib::CDuiString::destructor_void_
push 1
call sym.xIns.exe_public:_static_void___cdecl_DuiLib::CPaintManagerUI::SetDefaultResourceType_int_
add esp, 4
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
push 0
call dword [sym.imp.ole32.dll_OleInitialize]
movzx eax, byte [ebp - 0x7d]
test eax, eax
je 0x49afe4
push str.WindowName
lea ecx, [ebp - 0x58]
push ecx
call fcn.004ab980
mov ecx, eax
call fcn.004abd70
mov byte [ebp - 4], 5
push 0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xdc], esp
lea edx, [ebp - 0x58]
push edx
call fcn.00471bc0
mov dword [ebp - 0xd8], eax
lea eax, [ebp - 0x70]
push eax
call fcn.004804c0
add esp, 0x20
mov dword [ebp - 0xe0], eax
mov byte [ebp - 4], 6
push 1
push 0
push SysReAllocString
push SysReAllocString
push SysReAllocString
push SysReAllocString
push 0x40010
push 0x10cf0000
lea ecx, [ebp - 0x70]
call fcn.0046d5c0
push eax
push 0
call fcn.0049b830
mov ecx, eax
call sym.xIns.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::Create_struct_HWND_____wchar_t_const___unsigned_long_int__unsigned_long_int__int__int__int__int__struct_HMENU_____int_
call fcn.0049b830
mov ecx, eax
call sym.xIns.exe_public:_void___thiscall_DuiLib::CWindowWnd::CenterWindow_void_
call fcn.0049b830
mov ecx, eax
call sym.xIns.exe_public:_unsigned_int___thiscall_DuiLib::CWindowWnd::ShowModal_void_
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x70]
call fcn.0046d580
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x58]
call fcn.00471d30
jmp 0x49b031
push 1
push 0
push SysReAllocString
push SysReAllocString
push SysReAllocString
push SysReAllocString
push 0x40010
push 0x10cf0000
push 0x58396c
push 0
call fcn.004ae650
mov ecx, eax
call sym.xIns.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::Create_struct_HWND_____wchar_t_const___unsigned_long_int__unsigned_long_int__int__int__int__int__struct_HMENU_____int_
call fcn.004ae650
mov ecx, eax
call sym.xIns.exe_public:_void___thiscall_DuiLib::CWindowWnd::CenterWindow_void_
call fcn.004ae650
mov ecx, eax
call sym.xIns.exe_public:_unsigned_int___thiscall_DuiLib::CWindowWnd::ShowModal_void_
mov dword [ebp - 0x98], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.00471d30
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004c2ee0
mov esp, ebp
pop ebp
ret