Function at 0x408b70
Capabilities:
Check mutex on windows
Print debug messages

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x78
mov eax, dword [0x64ef64]
xor eax, esp
mov dword [esp + 0x74], eax
mov eax, dword [ebp + 8]
push esi
push edi
mov dword [esp + 0xc], eax
call fcn.00408f70
mov edi, dword [sym.imp.KERNEL32.dll_CreateMutexW]
push 0x60c1f8
push 1
push 0
call edi
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x65b0b0], eax
call esi
cmp eax, 0xb7
je 0x408f1e
cmp eax, 5
je 0x408f1e
push str.GlobalYQSDR_Uninst_Mutex
push 1
push 0
call edi
mov dword [0x65b0bc], eax
call esi
cmp eax, 0xb7
je 0x408efe
cmp eax, 5
je 0x408efe
push ecx
lea ecx, [esp + 0x14]
call fcn.00413a20
mov edx, eax
lea ecx, [esp + 0x50]
call fcn.00413ee0
mov eax, dword [esp + 0x28]
add esp, 4
cmp eax, 8
jb 0x408c1a
inc eax
lea ecx, [esp + 0x10]
push eax
push dword [esp + 0x14]
call fcn.00408aa0
cmp dword [esp + 0x60], 8
lea edx, [esp + 0x4c]
cmovae edx, dword [esp + 0x4c]
cmp word [edx], 0
jne 0x408c32
xor ecx, ecx
jmp 0x408c46
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x408c37
sub ecx, esi
sar ecx, 1
push ecx
push edx
mov ecx, 0x65b0c4
call fcn.004088c0
push 0x409650
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
call fcn.00409670
mov esi, dword [esp + 0xc]
push esi
call sym.InstallerYQS.exe_public:_static_void___cdecl_DuiLib::CPaintManagerUI::SetInstance_struct_HINSTANCE____
add esp, 4
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
test eax, eax
js 0x408ed1
push esi
call sym.InstallerYQS.exe_public:_static_bool___cdecl_DuiLib::CWndShadow::Initialize_struct_HINSTANCE____
add esp, 4
push 0x624
call fcn.0041a2ca
mov esi, eax
add esp, 4
test esi, esi
je 0x408ed1
push 0x624
push 0
push esi
call fcn.00599690
add esp, 0xc
mov ecx, esi
call fcn.00401d20
mov esi, eax
test esi, esi
je 0x408ed1
mov cl, byte [0x64fb48]
xor eax, eax
push 0
push SysReAllocString
push SysReAllocString
push SysReAllocString
test cl, cl
mov edx, 0x80
push SysReAllocString
cmovne eax, edx
mov ecx, esi
push eax
push 0x80020000
push 0x60c25c
push 0
je 0x408d07
call sym.InstallerYQS.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____
mov ecx, esi
call fcn.004038f0
jmp 0x408d1e
call sym.InstallerYQS.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____
mov ecx, esi
call sym.InstallerYQS.exe_public:_void___thiscall_DuiLib::CWindowWnd::CenterWindow_void_
push 1
push 1
mov ecx, esi
call sym.InstallerYQS.exe_public:_void___thiscall_DuiLib::CWindowWnd::ShowWindow_bool__bool_
call sym.InstallerYQS.exe_public:_static_void___cdecl_DuiLib::CPaintManagerUI::MessageLoop_void_
cmp dword [esi + 0x614], 0
je 0x408e81
cmp dword [esi + 0x604], 8
lea eax, [esi + 0x5f0]
jb 0x408d41
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_SetDllDirectoryW]
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x65b114]
cmp eax, dword [ecx + 4]
jle 0x408dac
push 0x65b114
call fcn.0054b42a
add esp, 4
cmp dword [0x65b114], 0xffffffff
jne 0x408dac
xorps xmm0, xmm0
mov dword [0x65b120], 0
movq qword [0x65b118], xmm0
push 0x5cb5a0
mov dword [0x65b11c], 0
call fcn.0054b2e1
add esp, 4
push 0x65b114
call fcn.0054b3eb
add esp, 4
push str.GlobalYQSDR_Stat_Mutex
push 1
push 0
call edi
mov dword [0x65b11c], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x408dce
cmp eax, 5
jne 0x408dd9
push str.Singleton_App:_App_Is_Already_Running__n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
call fcn.00419dd0
sub esp, 8
mov edi, eax
xorps xmm0, xmm0
lea eax, [esp + 0x3c]
movaps xmmword [esp + 0x18], xmm0
movq qword [esp + 0x28], xmm0
push eax
mov dword [esp + 0x1c], str.YQSDataRecovery
call fcn.004046d0
add esp, 4
lea ecx, [esp + 0x68]
mov edx, eax
call fcn.00415bd0
add esp, 4
lea ecx, [esp + 0x34]
call fcn.00405540
cmp dword [esp + 0x74], 0
je 0x408e36
cmp dword [esp + 0x78], 0x10
lea eax, [esp + 0x64]
cmovae eax, dword [esp + 0x64]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x10]
mov ecx, edi
push eax
call fcn.00419ed0
mov cl, byte [0x64fb4a]
mov edx, 0x60c2c0
test cl, cl
mov eax, 0x60c2b4
mov ecx, edi
cmove eax, edx
mov edx, str.635E0BED_D3FC_4143_AC55_82124AB5CA04
push eax
mov eax, str.7B9BF7BB_3F48_460D_85B3_91F3971EE27C
cmove eax, edx
push eax
call fcn.00419ff0
push 0x1388
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [esp + 0x64]
call fcn.004081f0
call sym.InstallerYQS.exe_public:_static_void___cdecl_DuiLib::WindowImplBase::Term_void_
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax + 0x14]
call sym.InstallerYQS.exe_public:_static_void___cdecl_DuiLib::CPaintManagerUI::Term_void_
mov eax, dword [0x65b0b0]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x408eb0
push eax
call esi
mov dword [0x65b0b0], 0
mov eax, dword [0x65b0bc]
test eax, eax
je 0x408ec6
push eax
call esi
mov dword [0x65b0bc], 0
call fcn.004090c0
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [esp + 0x60]
cmp eax, 8
jb 0x408f4a
inc eax
lea ecx, [esp + 0x4c]
push eax
push dword [esp + 0x50]
call fcn.00408aa0
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.0054af65
mov esp, ebp
pop ebp
ret 0x10
push str.Singleton_App:_App_Is_Already_Running__n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.0054af65
mov esp, ebp
pop ebp
ret 0x10
push str.Singleton_App:_App_Is_Already_Running__n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push 0
push str.YQSDRInstWnd
call dword [sym.imp.USER32.dll_FindWindowW]
test eax, eax
je 0x408f4a
push 0
push 0
push 0x6401
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [esp + 0x7c]
xor eax, eax
pop edi
pop esi
xor ecx, esp
call fcn.0054af65
mov esp, ebp
pop ebp
ret 0x10