Function at 0x10045fe
Capabilities:
Check mutex on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x270
mov eax, dword [0x10261a8]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov dword [ebp - 0x218], eax
mov esi, 0x1026a58
push esi
call fcn.0100449a
push 0x10016dc
mov dword [0x1026a54], 0x1001698
mov dword [section..data], esi
call fcn.0100456b
push 0x1026ab0
push 0x1026ab8
push 0x10043c5
push 0x1001614
call fcn.0100441c
xor ebx, ebx
mov edi, 0x80000000
cmp dword [0x1026adc], ebx
je 0x10046c2
mov al, byte [0x1026ae0]
cmp al, 4
jae 0x1004679
cmp al, bl
jne 0x10046c2
mov eax, dword [0x1026ac8]
mov ecx, dword [0x1026acc]
mov edx, 0x10000
and eax, edx
and ecx, edi
or eax, ecx
je 0x10046c2
mov eax, dword [0x1026ad0]
mov esi, dword [0x1026ad4]
mov ecx, eax
and ecx, edx
mov edx, esi
and edx, edi
cmp ecx, eax
jne 0x10046c2
cmp edx, esi
jne 0x10046c2
push 0x1001628
push dword [0x1026ab4]
push dword [0x1026ab0]
call fcn.01004479
mov eax, dword [ebp - 0x218]
push 0x10016c4
xor esi, esi
inc esi
push esi
push ebx
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x220], ebx
mov dword [0x1026aac], eax
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [0x1026a50], eax
cmp eax, ebx
je 0x1004ad1
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x100475c
push 0x104
lea eax, [ebp - 0x20c]
push eax
push 0x3e8
push dword [0x1026aac]
call dword [sym.imp.USER32.dll_LoadStringW]
lea eax, [ebp - 0x20c]
push eax
push 0x10016a8
call dword [sym.imp.USER32.dll_FindWindowW]
mov esi, eax
cmp esi, ebx
je 0x1004abd
push esi
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x1004750
push 9
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
push esi
call dword [sym.imp.USER32.dll_SetForegroundWindow]
jmp 0x1004abd
call fcn.0100c2d8
test al, al
jne 0x1004abd
push ebx
push ebx
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_HeapSetInformation]
push esi
push 0x64
call dword [sym.imp.KERNEL32.dll_SetProcessShutdownParameters]
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_RegisterApplicationRestart]
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
push esi
push 0x1ab2
push ebx
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x230], edx
call sub.ntdll.dll_WinSqmIncrementDWORD
push ebx
call dword [sym.imp.ole32.dll_CoInitialize]
cmp eax, ebx
mov dword [ebp - 0x210], eax
jl 0x1004a84
push ebx
lea eax, [ebp - 0x254]
push eax
lea eax, [ebp - 0x21c]
push eax
mov dword [ebp - 0x21c], ebx
mov dword [ebp - 0x254], esi
mov dword [ebp - 0x250], ebx
mov dword [ebp - 0x24c], ebx
mov dword [ebp - 0x248], esi
call sub.gdiplus.dll_GdiplusStartup
test eax, eax
jne 0x1004a7e
push esi
push 8
call fcn.010043a5
cmp eax, ebx
mov dword [ebp - 0x210], eax
jl 0x1004a6d
push 2
call sub.DUI70.dll_InitThread
cmp eax, ebx
mov dword [ebp - 0x210], eax
jl 0x1004a63
lea eax, [ebp - 0x214]
push eax
mov dword [ebp - 0x214], ebx
call fcn.01008b06
cmp eax, ebx
mov dword [ebp - 0x210], eax
jl 0x1004a5e
lea eax, [ebp - 0x224]
push eax
push ebx
push ebx
push dword [ebp - 0x218]
lea eax, [ebp - 0x228]
push eax
push dword [ebp - 0x214]
mov dword [ebp - 0x224], ebx
call fcn.0100534e
cmp eax, ebx
mov dword [ebp - 0x210], eax
jl 0x1004a36
push dword [ebp - 0x224]
mov ecx, dword [ebp - 0x228]
call dword [sym.imp.DUI70.dll_public:_void___thiscall_DirectUI::Element::EndDefer_unsigned_long_int_]
call fcn.0100755f
cmp eax, ebx
mov dword [ebp - 0x210], eax
jl 0x1004a5e
lea eax, [ebp - 0x218]
push eax
mov dword [ebp - 0x218], ebx
call fcn.0100950d
cmp eax, ebx
mov dword [ebp - 0x210], eax
jl 0x1004a5e
mov ecx, dword [ebp - 0x218]
push 0x1007a61
call fcn.010094a4
mov ecx, dword [ebp - 0x218]
push 0x10081e6
call fcn.010094a4
mov ecx, dword [ebp - 0x218]
push 0x100badd
call fcn.010094a4
or eax, 0xffffffff
mov dword [ebp - 0x244], eax
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x23c], eax
mov dword [ebp - 0x238], eax
lea eax, [ebp - 0x244]
push eax
mov eax, dword [ebp - 0x214]
push dword [eax + 4]
call dword [sym.imp.dwmapi.dll_DwmExtendFrameIntoClientArea]
push 4
lea eax, [ebp - 0x22c]
push eax
mov eax, dword [ebp - 0x214]
push 0xc
mov dword [ebp - 0x22c], esi
push dword [eax + 4]
call dword [sym.imp.dwmapi.dll_DwmSetWindowAttribute]
mov eax, dword [ebp - 0x214]
mov eax, dword [eax + 4]
cmp eax, ebx
je 0x100494c
push esi
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
cmp dword [0x1026adc], ebx
je 0x10049ac
mov al, byte [0x1026ae0]
cmp al, 4
jae 0x1004961
cmp al, bl
jne 0x10049ac
mov eax, dword [0x1026ac8]
mov ecx, dword [0x1026acc]
mov edx, 0x10000
and eax, edx
and ecx, edi
or eax, ecx
je 0x10049ac
mov eax, dword [0x1026ad0]
mov ecx, eax
and ecx, edx
mov edx, dword [0x1026ad4]
and edx, edi
cmp ecx, eax
jne 0x10049ac
cmp edx, dword [0x1026ad4]
jne 0x10049ac
push 0x1001638
push dword [0x1026ab4]
push dword [0x1026ab0]
call fcn.01004479
push ebx
push ebx
push ebx
lea eax, [ebp - 0x270]
mov dword [ebp - 0x220], esi
mov esi, dword [sym.imp.USER32.dll_GetMessageW]
push eax
call esi
test eax, eax
je 0x1004a5e
mov edi, dword [sym.imp.USER32.dll_IsDialogMessageW]
call fcn.010098c9
test eax, eax
je 0x10049ee
lea eax, [ebp - 0x270]
push eax
call fcn.010098c9
push eax
call edi
test eax, eax
jne 0x1004a24
call fcn.0100be72
test eax, eax
je 0x1004a0a
lea eax, [ebp - 0x270]
push eax
call fcn.0100be72
push eax
call edi
test eax, eax
jne 0x1004a24
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
push ebx
push ebx
push ebx
lea eax, [ebp - 0x270]
push eax
call esi
test eax, eax
jne 0x10049d2
jmp 0x1004a5e
mov eax, dword [ebp - 0x214]
push dword [eax + 4]
call dword [sym.imp.USER32.dll_DestroyWindow]
push esi
push 0x12
push 0x12
push ebx
lea eax, [ebp - 0x270]
push eax
mov dword [ebp - 0x214], ebx
call dword [sym.imp.USER32.dll_PeekMessageW]
call sub.DUI70.dll_UnInitThread
push 0x1000000
call sub.DUI70.dll_UnInitProcessPriv
push dword [ebp - 0x21c]
call sub.gdiplus.dll_GdiplusShutdown
mov dword [ebp - 0x21c], ebx
call dword [sym.imp.ole32.dll_CoUninitialize]
call sub.ntdll.dll_WinSqmIsOptedIn
test eax, eax
je 0x1004ab8
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
sub eax, dword [ebp - 0x234]
push ebx
sbb edx, dword [ebp - 0x230]
push 0x3e8
push edx
push eax
call fcn.0100c870
push eax
push 0xeb1
push ebx
call sub.ntdll.dll_WinSqmIncrementDWORD
call fcn.0100c310
push dword [0x1026a50]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x210], ebx
jge 0x1004adc
push ebx
push 0x3ec
call fcn.0100c31d
call fcn.010045b9
push 0x1026ab0
call fcn.01004448
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x220]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0100c84f
leave
ret 0x10