Function at 0x4584f0
Capabilities:
Check mutex on windows
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x47d8b0
mov eax, dword fs:[0]
push eax
sub esp, 0x54
mov eax, dword [0x499014]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
xor ebx, ebx
mov dword [0x49b590], ecx
xor edi, edi
mov dword [ebp - 0x5c], ebx
push 8
mov dword [ebp - 0x58], edi
mov dword [ebp - 4], ebx
call fcn.0045b921
add esp, 4
mov esi, eax
push ebx
push ebx
push str.uxtheme.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov dword [esi], eax
test eax, eax
je 0x458561
push str.SetThemeAppProperties
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 4], eax
jmp 0x458568
mov dword [esi + 4], 0
push 0xc
push 0x14
mov dword [0x49b388], esi
call fcn.0045f3d4
push 0xc
push 0x14
mov dword [0x49b528], eax
call fcn.0045f3d4
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
add esp, 0x10
mov dword [0x49b524], eax
push 0
call esi
push 1
mov dword [0x49b71c], eax
call esi
mov dword [0x49b718], eax
mov eax, dword [0x49b590]
test eax, eax
je 0x4585e7
push 2
push eax
call dword [sym.imp.USER32.dll_MonitorFromWindow]
test eax, eax
je 0x4585e7
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x4c], 0x28
push ecx
push eax
call dword [sym.imp.USER32.dll_GetMonitorInfoW]
test eax, eax
je 0x4585e7
mov eax, dword [ebp - 0x40]
sub eax, dword [ebp - 0x48]
mov dword [0x49b71c], eax
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x44]
mov dword [0x49b718], eax
mov dword [0x49b6b4], 0x44ee50
mov dword [0x49b6a4], 0x448c70
mov dword [0x49b6a8], 0x448cc0
mov dword [0x49b6ac], 0x4497f0
mov dword [0x49b6b0], 0x4498a0
mov dword [0x49b6b8], 0x4490b0
mov dword [0x49b6ec], 0x449090
mov dword [0x49b6bc], 0x4491a0
mov dword [0x49b6f0], 0x449140
mov dword [0x49b6c0], 0x448e50
mov dword [0x49b6f4], 0x448e30
mov dword [0x49b6c4], 0x448eb0
mov dword [0x49b6d0], 0x449240
mov dword [0x49b6d4], 0x449440
call fcn.00458460
push 2
push 0x104
call fcn.0045f3d4
add esp, 8
mov dword [0x49b5cc], eax
test eax, eax
je 0x458a8d
push 0x104
push eax
push dword [0x49b580]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push str.cf25appsync
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
push 0xffffffffffffffff
push eax
mov dword [0x49be70], eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
xor cl, cl
call fcn.0040b5a0
test eax, eax
jne 0x4586df
push dword [0x49be70]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
jmp 0x458a8d
push eax
call fcn.00460c15
mov edx, eax
add esp, 4
mov ecx, edx
mov dword [0x49b52c], edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4586f5
sub ecx, esi
sar ecx, 1
cmp ecx, 3
jle 0x458718
cmp word [edx + ecx*2 - 2], 0x5c
jne 0x458718
xor eax, eax
mov word [edx + ecx*2 - 2], ax
call fcn.0040ae10
push dword [0x49be70]
test eax, eax
je 0x458732
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
jmp 0x458a8d
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
call dword [sym.imp.MMFS2.dll_Ordinal_1055]
cmp dword [0x49b554], 0
je 0x458a8d
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
mov eax, dword [0x49b580]
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x50]
push eax
mov dword [ebp - 0x54], 0x30
mov dword [ebp - 0x50], 0x28
mov dword [ebp - 0x44], 0xc
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x4c], 0x457f20
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x2c], 0x4879c4
call dword [sym.imp.USER32.dll_RegisterClassW]
test ax, ax
jne 0x4587b8
mov ebx, 0xc1
jmp 0x458a8d
cmp dword [0x49b560], 0
mov dword [0x49b5c0], 0xc000
jne 0x4587d0
call fcn.00458260
cmp dword [0x49b518], 0
mov esi, dword [sym.imp.KERNEL32.dll_GlobalAddAtomW]
jne 0x45880c
push str.krdp
call esi
movzx eax, ax
push str.kprc
mov dword [0x49b518], eax
call esi
movzx eax, ax
push str.kspc
mov dword [0x49b414], eax
call esi
movzx eax, ax
mov dword [0x49b520], eax
push str.knum
call esi
xor ebx, ebx
movzx eax, ax
push ebx
push dword [0x49b580]
mov dword [0x49b51c], eax
mov dword [ebp - 0x5c], ebx
call dword [sym.imp.MMFS2.dll_Ordinal_2]
mov dword [0x49b544], eax
cmp eax, 0x20
ja 0x45884b
mov ebx, 0xc1
mov dword [0x49b544], 0
jmp 0x458a8d
push 4
xor ecx, ecx
xor esi, esi
push 0x42000000
push ecx
push ecx
cmp dword [0x49b94c], ebx
je 0x458875
mov edx, dword [0x49b560]
lea edx, [edx - 1]
call fcn.00401880
mov edi, eax
mov dword [ebp - 0x58], edi
jmp 0x458881
xor edx, edx
call fcn.00401880
mov edi, eax
mov dword [ebp - 0x58], eax
add esp, 0x10
test edi, edi
je 0x458a8d
call dword [sym.imp.MMFS2.dll_Ordinal_794]
push dword [0x49b558]
mov ecx, eax
mov dword [0x49b5a8], eax
push dword [0x49b52c]
call dword [sym.imp.MMFS2.dll_Ordinal_1053]
test byte [0x49b55c], 2
je 0x4588e6
mov eax, dword [0x49b5b4]
test eax, eax
je 0x4588e6
mov eax, dword [eax + 0x3bc]
test eax, eax
je 0x4588e6
test dword [eax], 0x40000000
je 0x4588e6
test byte [0x49b59c], 0x40
je 0x4588e6
mov ecx, dword [0x49b5a8]
push 1
call dword [sym.imp.MMFS2.dll_Ordinal_1128]
mov eax, dword [0x49b52c]
mov dword [ebp - 0x60], eax
call dword [sym.imp.MMFS2.dll_Ordinal_795]
push dword [0x49b558]
mov ecx, eax
mov dword [0x49b5ac], eax
push dword [ebp - 0x60]
call dword [sym.imp.MMFS2.dll_Ordinal_1054]
cmp dword [0x49b5b0], ebx
jne 0x45893b
mov ecx, dword [0x49b5ac]
test ecx, ecx
je 0x45893b
push dword [0x49b590]
call dword [sym.imp.MMFS2.dll_Ordinal_389]
mov ecx, eax
mov dword [0x49b5b0], ecx
test ecx, ecx
je 0x45893b
mov eax, dword [ecx]
push 0
call dword [eax + 4]
mov ecx, edi
call fcn.004047f0
test eax, eax
je 0x458a8d
nop word [eax + eax]
xor edx, edx
mov ecx, edi
call fcn.004049c0
test eax, eax
je 0x4589ab
cmp dword [0x49bb58], ebx
je 0x4589b7
mov ecx, edi
call fcn.004013b0
mov eax, dword [edi + 0x1e4]
add eax, 0xfffffffe
cmp eax, 3
ja case.default.0x45897a
jmp dword [eax*4 + 0x458b10]
xor edx, edx
jmp 0x45898a
mov edx, 1
mov ecx, edi
call fcn.00407170
call fcn.00407ec0
mov ecx, dword [edi + 0x1d8]
test ecx, ecx
je 0x4589ab
call fcn.00405eb0
mov dword [edi + 0x1d8], ebx
mov ecx, edi
call fcn.00404b60
jmp 0x458a8d
cmp dword [0x49b94c], ebx
je 0x458950
test esi, esi
jne 0x458950
cmp dword [0x49b594], ebx
je 0x458950
mov ecx, dword [0x49b5b8]
test ecx, ecx
je 0x458950
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], ebx
mov eax, dword [ecx]
push 0xffffffffffffffec
push dword [0x49b590]
mov dword [ebp - 0x1c], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x18], eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
push 0xfffffffffffffff0
push dword [0x49b590]
mov esi, eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
push esi
push 0
push eax
lea eax, [ebp - 0x24]
push eax
call dword [sym.imp.USER32.dll_AdjustWindowRectEx]
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x20]
mov esi, dword [sym.imp.USER32.dll_SetWindowPos]
push 6
push eax
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x24]
push eax
push 0
push 0
push 0
push dword [0x49b590]
call esi
mov eax, dword [0x49b5b8]
push 4
push dword [eax + 4]
push dword [eax]
push 0
push 0
push 0
push dword [0x49b594]
call esi
push 1
push dword [0x49b594]
call dword [sym.imp.USER32.dll_ShowWindow]
push 0x500
push 0
push 0
push dword [0x49b590]
call dword [sym.imp.USER32.dll_RedrawWindow]
mov esi, 1
jmp 0x458950
test ebx, ebx
jle 0x458aa2
push ecx
mov ecx, dword [0x49b590]
mov edx, ebx
call fcn.00453ac0
add esp, 4
mov dword [ebp - 4], 2
test edi, edi
je 0x458ab4
mov ecx, edi
call fcn.00403840
call fcn.00454240
mov dword [ebp - 4], 4
call fcn.0040bd20
mov eax, dword [0x49b590]
test eax, eax
je 0x458ae5
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x458ae5
push dword [0x49b590]
call dword [sym.imp.USER32.dll_DestroyWindow]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0045b910
mov esp, ebp
pop ebp
ret