Function at 0x408076
Capabilities:
Check mutex on windows
Enumerate gui resources

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x84
push ebx
push esi
push edi
call fcn.0042b423
test eax, eax
je 0x408577
call fcn.00415b73
mov esi, 0x458ac4
lea ecx, [ebp - 4]
push esi
call fcn.0040182e
push esi
lea ecx, [ebp - 0xc]
call fcn.0040182e
lea eax, [ebp - 4]
lea ecx, [ebp - 8]
push eax
push str.NoLockScreen
call fcn.0040182e
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.004019f3
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004019f3
push dword [eax]
mov edi, dword [ebp + 8]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpW]
push edi
call esi
mov ebx, eax
lea ecx, [ebp - 0x14]
neg ebx
sbb bl, bl
inc bl
call fcn.00401802
lea ecx, [ebp - 0x10]
call fcn.00401802
lea ecx, [ebp - 8]
call fcn.00401802
lea ecx, [ebp - 0xc]
call fcn.00401802
lea ecx, [ebp - 4]
call fcn.00401802
test bl, bl
je 0x408126
push 1
push 1
call fcn.00425379
pop ecx
pop ecx
jmp 0x408577
push str.RunCalc
lea ecx, [ebp + 8]
call fcn.0040182e
push edi
lea ecx, [ebp - 8]
call fcn.004070c2
push dword [ebp + 8]
mov eax, dword [eax]
push eax
call fcn.00442dbe
mov ebx, eax
pop ecx
neg ebx
pop ecx
sbb bl, bl
lea ecx, [ebp - 8]
inc bl
call fcn.00401802
lea ecx, [ebp + 8]
call fcn.00401802
test bl, bl
je 0x40816f
call fcn.00407e86
jmp 0x408693
push str.RunGetPixelColor
lea ecx, [ebp + 8]
call fcn.0040182e
push edi
lea ecx, [ebp - 8]
call fcn.004070c2
push dword [ebp + 8]
mov eax, dword [eax]
push eax
call fcn.00442dbe
mov ebx, eax
pop ecx
neg ebx
pop ecx
sbb bl, bl
lea ecx, [ebp - 8]
inc bl
call fcn.00401802
lea ecx, [ebp + 8]
call fcn.00401802
test bl, bl
je 0x4081b8
call fcn.00408034
jmp 0x408693
mov eax, dword [ebp + 0xc]
mov ebx, str.LockScreen
push ebx
push edi
mov dword [0x4a17a8], eax
call esi
test eax, eax
jne 0x40822c
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenW]
push edi
call esi
mov edx, eax
push ebx
mov dword [ebp + 8], edx
call esi
mov ecx, dword [ebp + 8]
cmp ecx, eax
jne 0x40822c
call fcn.004117f6
lea ecx, [ebp - 0x48]
call fcn.00408cdd
lea ecx, [ebp - 0x3c]
call fcn.00408cdd
lea eax, [ebp - 0x4c]
mov ecx, 0x4a1700
push eax
mov dword [ebp - 0x4c], 0x453ba8
call fcn.00407f86
lea ecx, [ebp - 0x4c]
call fcn.00407eeb
lea ecx, [ebp - 0x3c]
call fcn.00406706
lea ecx, [ebp - 0x48]
call fcn.00406706
jmp 0x408577
test edi, edi
jne 0x408234
xor eax, eax
jmp 0x40823b
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov esi, 0x4a16f8
push edi
push eax
mov ecx, esi
call fcn.004018f3
push str.last_rgb_color_from_the_get_pixel_color
lea ecx, [ebp + 8]
call fcn.0040182e
push dword [0x4a16f8]
push dword [ebp + 8]
call fcn.00442dbe
mov ebx, eax
pop ecx
neg ebx
pop ecx
sbb bl, bl
lea ecx, [ebp + 8]
inc bl
call fcn.00401802
test bl, bl
je 0x4082a6
mov eax, dword [0x4581d0]
push ecx
mov esi, esp
push 1
mov ecx, esi
mov dword [esi], eax
call fcn.004018b2
test eax, eax
je 0x408298
mov eax, dword [esi]
mov word [eax], 1
call fcn.0043f68c
pop ecx
push 1
pop eax
jmp 0x408693
test edi, edi
jne 0x4082ae
xor eax, eax
jmp 0x4082b5
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push edi
push eax
mov ecx, esi
call fcn.004018f3
push 0
push 0x458a4c
mov ecx, esi
call fcn.00408ef9
test eax, eax
jl 0x4082ed
push 0
push str._startup
mov ecx, esi
call fcn.00408ef9
test eax, eax
jl 0x4082ed
push 1
pop edi
mov dword [0x4a179c], edi
jmp 0x4082f0
push 1
pop edi
call fcn.00407917
test eax, eax
jne 0x408362
push edi
call fcn.00417164
pop ecx
push dword [0x459ce4]
push ecx
mov ecx, esp
push str.disable_dark_theme
call fcn.004070c2
push ecx
mov ecx, esp
push 0x4ca404
call fcn.004017bc
call fcn.00413ec6
add esp, 0xc
mov dword [0x459ce4], eax
mov ebx, eax
call fcn.00407e54
test eax, eax
je 0x40834f
call fcn.0040fd27
test ebx, ebx
jne 0x40834f
push edi
push dword [0x4a17b0]
call fcn.004103ec
pop ecx
pop ecx
and byte [ebp + 0xf], 0
and byte [ebp + 0xb], 0
push esi
call fcn.0042a67f
test eax, eax
pop ecx
je 0x408369
mov eax, edi
jmp 0x408693
push str.RESTART_DESKTOPOK_2018
lea ecx, [ebp - 4]
call fcn.0040182e
push dword [0x4a16f8]
push dword [ebp - 4]
call fcn.00442dbe
mov ebx, eax
pop ecx
neg ebx
pop ecx
sbb bl, bl
lea ecx, [ebp - 4]
inc bl
call fcn.00401802
test bl, bl
je 0x4083b3
push str.DesktopOK_X_34
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [0x4a1794], eax
jmp 0x4085c3
push 0x4589e0
lea ecx, [ebp - 4]
call fcn.0040182e
lea eax, [ebp - 8]
push eax
call fcn.00434e23
push dword [eax]
push dword [ebp - 4]
call fcn.00442dbe
mov ebx, eax
add esp, 0xc
neg ebx
sbb bl, bl
lea ecx, [ebp - 8]
inc bl
call fcn.00401802
lea ecx, [ebp - 4]
call fcn.00401802
test bl, bl
jne 0x4085c3
push str.CMyCopyMoveJob2018_SHELL_COMMAND
lea ecx, [ebp - 8]
call fcn.0040182e
mov eax, dword [eax]
xor edi, edi
push edi
push eax
mov ecx, esi
call fcn.00408ef9
test eax, eax
lea ecx, [ebp - 8]
setge bl
call fcn.00401802
test bl, bl
je 0x40842f
call fcn.0042d2a2
mov byte [ebp + 0xf], 1
jmp 0x4085d7
push str.MINI_BROWSER
lea ecx, [ebp - 4]
call fcn.0040182e
push dword [0x4a16f8]
push dword [ebp - 4]
call fcn.00442dbe
mov ebx, eax
pop ecx
neg ebx
pop ecx
sbb bl, bl
lea ecx, [ebp - 4]
inc bl
call fcn.00401802
test bl, bl
je 0x408469
mov byte [ebp + 0xb], 1
jmp 0x4085d7
mov eax, dword [0x4a16f8]
cmp dword [eax - 8], edi
je 0x408534
cmp dword [eax - 0xc], edi
jl 0x40848b
mov dword [ebp - 0xc], eax
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
jmp 0x40849d
mov ecx, dword [0x4581d0]
push eax
mov dword [ebp - 0xc], ecx
lea ecx, [ebp - 0xc]
call fcn.00401988
mov eax, dword [0x4581d0]
push edi
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0xc]
lea ecx, [ebp - 0xc]
mov eax, dword [eax - 8]
mov dword [ebp - 8], eax
call fcn.00401b75
mov ebx, eax
mov eax, dword [ebp - 8]
mov word [ebx + eax*2 - 2], di
mov word [ebx], 0x22
inc ebx
inc ebx
jne 0x4084ce
xor eax, eax
jmp 0x4084d5
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push ebx
push eax
mov ecx, esi
call fcn.004018f3
mov eax, dword [0x4a16f8]
push ecx
mov ecx, esp
cmp dword [eax - 0xc], edi
jl 0x4084f9
mov dword [ecx], eax
sub eax, 0xc
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
jmp 0x40850b
mov eax, dword [0x4581d0]
mov dword [ecx], eax
push dword [0x4a16f8]
call fcn.00401988
call fcn.0041fd9d
pop ecx
cmp eax, edi
lea ecx, [ebp - 4]
je 0x408527
call fcn.00401802
lea ecx, [ebp - 0xc]
call fcn.00401802
jmp 0x408577
call fcn.00401802
lea ecx, [ebp - 0xc]
call fcn.00401802
push str.DesktopOK_X_34
push edi
push edi
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x4a1794], eax
call ebx
cmp eax, 0xb7
je 0x40855c
call ebx
cmp eax, 5
jne 0x40857e
push 0x4a1798
push 0x4075d2
call dword [sym.imp.USER32.dll_EnumWindows]
push 0xaffe
call dword [sym.imp.USER32.dll_PostQuitMessage]
xor eax, eax
jmp 0x408693
mov ebx, 0x458a4c
push edi
push ebx
mov ecx, esi
call fcn.00408ef9
test eax, eax
jl 0x40859b
mov eax, dword [0x4a16f8]
cmp dword [eax - 8], 5
jl 0x4085c3
push edi
push ebx
mov ecx, esi
call fcn.00408ef9
test eax, eax
jl 0x4085c3
push edi
push str._startup
mov ecx, esi
call fcn.00408ef9
test eax, eax
jl 0x4085c3
mov dword [0x4a179c], 1
cmp dword [0x4a179c], 0
je 0x4085d7
push 0x1388
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [ebp - 0x84]
call fcn.00407fc5
lea eax, [ebp - 0x84]
mov esi, 0x4a1700
push eax
mov ecx, esi
call fcn.00407f86
xor ebx, ebx
xor edi, edi
cmp byte [ebp + 0xb], 0
je 0x40862a
push 0x1e9c
call fcn.00441dd1
cmp eax, ebx
pop ecx
je 0x408617
mov ecx, eax
call fcn.004086d1
jmp 0x408619
xor eax, eax
push ebx
push ebx
mov ecx, eax
call fcn.00408e22
test eax, eax
jne 0x408657
xor esi, esi
jmp 0x408686
cmp byte [ebp + 0xf], 0
jne 0x408657
push 0xb10
call fcn.00441dd1
cmp eax, ebx
pop ecx
je 0x40864a
mov ecx, eax
call fcn.00413b2b
mov edi, eax
jmp 0x40864c
xor edi, edi
push ebx
push ebx
mov ecx, edi
call fcn.00408dc2
jmp 0x408622
lea ecx, [ebp - 0x84]
call fcn.00407eeb
push dword [0x4a1794]
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, esi
call fcn.00408698
test edi, edi
je 0x408684
push 1
mov ecx, edi
call fcn.004089e1
mov esi, ebx
lea ecx, [ebp - 0x84]
call fcn.004089cc
mov eax, esi
pop edi
pop esi
pop ebx
leave
ret