Function at 0x44d4c0
Capabilities:
Check mutex on windows

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x562e80
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x290
mov eax, dword [0x5b53ec]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp word [0x5bf7f8], 0
mov eax, dword [ebx + 8]
mov edi, dword [ebx + 0x10]
mov dword [ebp - 0x110], eax
jne 0x44d53d
push 0x104
push 0x5bf7f8
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov esi, dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
push 0x5bf7f8
call esi
push 0x5bf7f8
call esi
mov eax, dword [0x5bff70]
test al, 1
jne 0x44d558
or eax, 1
mov dword [0x5bff68], 0
mov dword [0x5bff70], eax
xorps xmm0, xmm0
mov byte [ebp - 0x109], 0
movlpd qword [ebp - 0x1c], xmm0
lea eax, [ebp - 0x1c]
mov dword [ebp - 4], 0
push eax
call fcn.00467725
lea eax, [ebp - 0x1c]
add esp, 4
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x109]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x24]
push eax
push 0x459aa0
push 0x5bff68
call fcn.00467a0e
add esp, 0xc
test eax, eax
je 0x44e248
lea eax, [ebp - 0x1c]
mov dword [ebp - 4], 1
push eax
call fcn.0046775f
add esp, 4
mov dword [ebp - 4], 0xffffffff
push 0x5bfa04
push 0x5bf7f8
push 0x5bf7f8
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
mov ecx, 0x5bf7f8
mov dword [ebp - 0x2c], 0
xor eax, eax
mov dword [ebp - 0x28], 7
mov word [ebp - 0x3c], ax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x44d5f2
sub ecx, edx
sar ecx, 1
push ecx
push 0x5bf7f8
lea ecx, [ebp - 0x3c]
call fcn.0042a390
cmp dword [ebp - 0x28], 8
lea eax, [ebp - 0x3c]
cmovae eax, dword [ebp - 0x3c]
push eax
call fcn.0046e020
mov eax, dword [0x5bff24]
test al, 1
jne 0x44d63b
or eax, 1
mov dword [0x5bff20], 0
mov dword [0x5bff24], eax
xorps xmm0, xmm0
mov byte [ebp - 0x109], 0
movlpd qword [ebp - 0x1c], xmm0
lea eax, [ebp - 0x1c]
mov dword [ebp - 4], 4
push eax
call fcn.00467725
lea eax, [ebp - 0x1c]
add esp, 4
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x109]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x24]
push eax
push 0x44e390
push 0x5bff20
call fcn.00467a0e
add esp, 0xc
test eax, eax
je 0x44e23c
lea eax, [ebp - 0x1c]
mov dword [ebp - 4], 5
push eax
call fcn.0046775f
add esp, 4
mov dword [ebp - 4], 0xffffffff
push 0x5bf6a8
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x44dee1
cmp eax, 5
je 0x44dee1
call dword [sym.imp.SHELL32.dll_IsUserAnAdmin]
test eax, eax
jne 0x44d8da
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.0046dd20
push 1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
movzx eax, al
sub eax, 1
jne 0x44e021
mov eax, dword [0x5bff30]
test al, 1
jne 0x44d71b
or eax, 1
mov dword [0x5bff00], 0
mov dword [0x5bff30], eax
xorps xmm0, xmm0
mov byte [ebp - 0x109], 0
movlpd qword [ebp - 0x1c], xmm0
lea eax, [ebp - 0x1c]
mov dword [ebp - 4], 0x10
push eax
call fcn.00467725
lea eax, [ebp - 0x1c]
add esp, 4
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x109]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x24]
push eax
push 0x44e580
push 0x5bff00
call fcn.00467a0e
add esp, 0xc
test eax, eax
je 0x44d8b3
lea eax, [ebp - 0x1c]
mov dword [ebp - 4], 0x11
push eax
call fcn.0046775f
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x140]
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0xf
mov byte [ebp - 0x140], 0
push 0x47
push str.d:workspaceuninstalluninstallerinstallmonitorprocmoncprocmonc.cpp
call fcn.0042a4f0
push 3
push 0x594a78
lea ecx, [ebp - 0x128]
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 0xf
mov byte [ebp - 0x128], 0
call fcn.0042a4f0
push 0x2a
lea eax, [ebp - 0x140]
push eax
lea eax, [ebp - 0x128]
push eax
lea ecx, [ebp - 0x208]
call fcn.004146d0
mov esi, eax
push 0x5bf744
push esi
call fcn.0042c3c0
add esp, 8
call fcn.0046dd20
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x1c]
lea ecx, [ebp - 0x208]
call fcn.00414830
mov edx, dword [ebp - 0x114]
cmp edx, 0x10
jb 0x44d85b
mov ecx, dword [ebp - 0x128]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44d851
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44e254
push edx
push ecx
call fcn.004ea2a1
add esp, 8
mov edx, dword [ebp - 0x12c]
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 0xf
mov byte [ebp - 0x128], 0
cmp edx, 0x10
jb 0x44e021
mov ecx, dword [ebp - 0x140]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44e017
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44e259
jmp 0x44e017
mov dword [ebp - 4], 0x12
lea eax, [ebp - 0x1c]
push eax
call fcn.00467780
add esp, 4
mov dword [ebp - 4], 0xffffffff
test al, al
je 0x44e271
jmp 0x44e25e
call fcn.0046dd20
push 1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
movzx eax, al
sub eax, 1
jne 0x44daa6
mov eax, dword [0x5bff04]
test al, 1
jne 0x44d911
or eax, 1
mov dword [0x5bff18], 0
mov dword [0x5bff04], eax
xorps xmm0, xmm0
mov byte [ebp - 0x109], 0
movlpd qword [ebp - 0x1c], xmm0
lea eax, [ebp - 0x1c]
mov dword [ebp - 4], 0x14
push eax
call fcn.00467725
lea eax, [ebp - 0x1c]
add esp, 4
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x109]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x24]
push eax
push 0x44e660
push 0x5bff18
call fcn.00467a0e
add esp, 0xc
test eax, eax
je 0x44dda3
lea eax, [ebp - 0x1c]
mov dword [ebp - 4], 0x15
push eax
call fcn.0046775f
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x140]
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0xf
mov byte [ebp - 0x140], 0
push 0x47
push str.d:workspaceuninstalluninstallerinstallmonitorprocmoncprocmonc.cpp
call fcn.0042a4f0
push 3
push 0x594a78
lea ecx, [ebp - 0x128]
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 0xf
mov byte [ebp - 0x128], 0
call fcn.0042a4f0
push 0x30
lea eax, [ebp - 0x140]
push eax
lea eax, [ebp - 0x128]
push eax
lea ecx, [ebp - 0x208]
call fcn.004146d0
mov esi, eax
push 0x5bf65c
push esi
call fcn.0042c3c0
add esp, 8
call fcn.0046dd20
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x1c]
lea ecx, [ebp - 0x208]
call fcn.00414830
mov edx, dword [ebp - 0x114]
cmp edx, 0x10
jb 0x44da51
mov ecx, dword [ebp - 0x128]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44da47
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44e276
push edx
push ecx
call fcn.004ea2a1
add esp, 8
mov edx, dword [ebp - 0x12c]
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 0xf
mov byte [ebp - 0x128], 0
cmp edx, 0x10
jb 0x44daa6
mov ecx, dword [ebp - 0x140]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44da9c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44e27b
push edx
push ecx
call fcn.004ea2a1
add esp, 8
mov eax, dword [0x5bff1c]
test al, 1
jne 0x44dac1
or eax, 1
mov dword [0x5bff34], 0
mov dword [0x5bff1c], eax
xorps xmm0, xmm0
mov byte [ebp - 0x109], 0
movlpd qword [ebp - 0x1c], xmm0
lea eax, [ebp - 0x1c]
mov dword [ebp - 4], 0x18
push eax
call fcn.00467725
lea eax, [ebp - 0x1c]
add esp, 4
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x109]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x24]
push eax
push 0x44e720
push 0x5bff34
call fcn.00467a0e
add esp, 0xc
test eax, eax
je 0x44ded5
lea eax, [ebp - 0x1c]
mov dword [ebp - 4], 0x19
push eax
call fcn.0046775f
add esp, 4
mov dword [ebp - 4], 0xffffffff
push 0x439c70
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
call fcn.004399d0
push ecx
mov ecx, 0x5bf704
call fcn.00439920
add esp, 4
push 0
call dword [sym.imp.ole32.dll_OleInitialize]
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
push dword [ebp - 0x110]
call fcn.00486870
add esp, 4
lea eax, [ebp - 0x108]
push 0x84
push 0
push eax
call fcn.00526d00
add esp, 0xc
lea eax, [ebp - 0x108]
push eax
call fcn.00481ef0
add esp, 4
lea ecx, [ebp - 0x108]
push str.skin
call fcn.0048f1b0
lea ecx, [ebp - 0x108]
call fcn.00466fd0
push eax
call fcn.00486af0
mov eax, dword [0x5bff0c]
add esp, 4
test al, 1
jne 0x44dbca
or eax, 1
mov dword [0x5bff14], 0
mov dword [0x5bff0c], eax
xorps xmm0, xmm0
mov byte [ebp - 0x109], 0
movlpd qword [ebp - 0x1c], xmm0
lea eax, [ebp - 0x1c]
mov dword [ebp - 4], 0x1c
push eax
call fcn.00467725
lea eax, [ebp - 0x1c]
add esp, 4
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x109]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x24]
push eax
push 0x44e7e0
push 0x5bff14
call fcn.00467a0e
add esp, 0xc
test eax, eax
je 0x44dec9
lea eax, [ebp - 0x1c]
mov dword [ebp - 4], 0x1d
push eax
call fcn.0046775f
add esp, 4
mov dword [ebp - 4], 0xffffffff
push 1
push 0x5bf774
call fcn.00486bb0
add esp, 8
mov dword [ebp - 0x4c], 1
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
push 0
push eax
lea eax, [ebp - 0x50]
push eax
call dword [sym.imp.gdiplus.dll_GdiplusStartup]
push 0x30
lea eax, [ebp - 0x80]
push 0
push eax
call fcn.00526d00
add esp, 0xc
lea ecx, [ebp - 0x80]
call fcn.00470430
push edi
lea ecx, [ebp - 0x140]
call fcn.00428550
lea eax, [ebp - 0x140]
push eax
lea ecx, [ebp - 0x80]
call fcn.004706c0
lea ecx, [ebp - 0x140]
call fcn.00414120
call fcn.0046dd20
push 1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
movzx eax, al
sub eax, 1
jne 0x44de29
push 0x47
push str.d:workspaceuninstalluninstallerinstallmonitorprocmoncprocmonc.cpp
lea ecx, [ebp - 0x170]
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x15c], 0xf
mov byte [ebp - 0x170], al
call fcn.0042a4f0
push 3
push 0x594a78
lea ecx, [ebp - 0x158]
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x144], 0xf
mov byte [ebp - 0x158], 0
call fcn.0042a4f0
push 0x4b
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x158]
push eax
lea ecx, [ebp - 0x2a0]
call fcn.004146d0
mov esi, eax
push str.cmd:
push esi
call fcn.0042c3c0
test edi, edi
mov ecx, str._null_
cmovne ecx, edi
push ecx
push esi
call fcn.0042c3c0
add esp, 0x10
call fcn.0046dd20
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x1c]
lea ecx, [ebp - 0x2a0]
call fcn.00414830
mov edx, dword [ebp - 0x144]
cmp edx, 0x10
jb 0x44ddb9
mov ecx, dword [ebp - 0x158]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44ddaf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44e280
jmp 0x44ddaf
mov dword [ebp - 4], 0x16
jmp 0x44d8ba
push edx
push ecx
call fcn.004ea2a1
add esp, 8
mov edx, dword [ebp - 0x15c]
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x144], 0xf
mov byte [ebp - 0x158], 0
cmp edx, 0x10
jb 0x44de0e
mov ecx, dword [ebp - 0x170]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44de04
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44e285
push edx
push ecx
call fcn.004ea2a1
add esp, 8
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x15c], 0xf
mov byte [ebp - 0x170], 0
push 0x4dc
call fcn.004e9ef6
add esp, 4
mov esi, eax
push 0x4dc
push 0
push esi
call fcn.00526d00
add esp, 0xc
mov ecx, esi
call fcn.0043af00
lea ecx, [esi + 0x314]
mov dword [esi], vtable.CMainWnd.2.0
mov dword [esi + 0x14], vtable.CMainWnd.4.0
mov dword [esi + 0x24], vtable.CMainWnd.1.0
mov dword [esi + 0x28], vtable.CMainWnd.3.0
mov dword [esi + 0x2c], vtable.CMainWnd.0
call fcn.00416b30
push 0
sub esp, 0x10
xorps xmm0, xmm0
mov eax, esp
mov ecx, esi
push 0
push SysReAllocString
push 0x594630
push 0
movups xmmword [eax], xmm0
call fcn.004734e0
mov ecx, esi
call fcn.00473520
mov ecx, eax
call fcn.00484620
call fcn.0046e490
lea ecx, [ebp - 0x80]
call fcn.00470490
lea ecx, [ebp - 0x108]
call fcn.00428290
jmp 0x44e206
mov dword [ebp - 4], 0x1e
jmp 0x44d8ba
mov dword [ebp - 4], 0x1a
jmp 0x44d8ba
call dword [sym.imp.SHELL32.dll_IsUserAnAdmin]
test eax, eax
jne 0x44e039
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.0046dd20
push 1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
movzx eax, al
sub eax, 1
jne 0x44e021
mov eax, dword [0x5bff28]
test al, 1
jne 0x44df2d
or eax, 1
mov dword [0x5bff10], 0
mov dword [0x5bff28], eax
xorps xmm0, xmm0
mov byte [ebp - 0x109], 0
movlpd qword [ebp - 0x1c], xmm0
lea eax, [ebp - 0x1c]
mov dword [ebp - 4], 8
push eax
call fcn.00467725
lea eax, [ebp - 0x1c]
add esp, 4
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x109]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x24]
push eax
push 0x44e3e0
push 0x5bff10
call fcn.00467a0e
add esp, 0xc
test eax, eax
je 0x44e02d
lea eax, [ebp - 0x1c]
mov dword [ebp - 4], 9
push eax
call fcn.0046775f
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x140]
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0xf
mov byte [ebp - 0x140], 0
push 0x47
push str.d:workspaceuninstalluninstallerinstallmonitorprocmoncprocmonc.cpp
call fcn.0042a4f0
push 3
push 0x594a78
lea ecx, [ebp - 0x128]
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 0xf
mov byte [ebp - 0x128], 0
call fcn.0042a4f0
push 0x1c
lea eax, [ebp - 0x140]
push eax
lea eax, [ebp - 0x128]
push eax
lea ecx, [ebp - 0x208]
call fcn.004146d0
mov esi, eax
push 0x5bf678
jmp 0x44d800
push edx
push ecx
call fcn.004ea2a1
add esp, 8
mov ecx, edi
call fcn.00452480
jmp 0x44e206
mov dword [ebp - 4], 0xa
jmp 0x44d8ba
call fcn.0046dd20
push 1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
movzx eax, al
sub eax, 1
jne 0x44e201
mov eax, dword [0x5bff08]
test al, 1
jne 0x44e070
or eax, 1
mov dword [0x5bff2c], 0
mov dword [0x5bff08], eax
xorps xmm0, xmm0
mov byte [ebp - 0x109], 0
movlpd qword [ebp - 0x1c], xmm0
lea eax, [ebp - 0x1c]
mov dword [ebp - 4], 0xc
push eax
call fcn.00467725
lea eax, [ebp - 0x1c]
add esp, 4
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x109]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x24]
push eax
push 0x44e4c0
push 0x5bff2c
call fcn.00467a0e
add esp, 0xc
test eax, eax
je 0x44e230
lea eax, [ebp - 0x1c]
mov dword [ebp - 4], 0xd
push eax
call fcn.0046775f
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x140]
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0xf
mov byte [ebp - 0x140], 0
push 0x47
push str.d:workspaceuninstalluninstallerinstallmonitorprocmoncprocmonc.cpp
call fcn.0042a4f0
push 3
push 0x594a78
lea ecx, [ebp - 0x128]
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 0xf
mov byte [ebp - 0x128], 0
call fcn.0042a4f0
push 0x22
lea eax, [ebp - 0x140]
push eax
lea eax, [ebp - 0x128]
push eax
lea ecx, [ebp - 0x208]
call fcn.004146d0
mov esi, eax
push 0x5bf728
push esi
call fcn.0042c3c0
add esp, 8
call fcn.0046dd20
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x1c]
lea ecx, [ebp - 0x208]
call fcn.00414830
mov edx, dword [ebp - 0x114]
cmp edx, 0x10
jb 0x44e1b0
mov ecx, dword [ebp - 0x128]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44e1a6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44e254
push edx
push ecx
call fcn.004ea2a1
add esp, 8
mov edx, dword [ebp - 0x12c]
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 0xf
mov byte [ebp - 0x128], 0
cmp edx, 0x10
jb 0x44e201
mov ecx, dword [ebp - 0x140]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44e1f7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44e254
push edx
push ecx
call fcn.004ea2a1
add esp, 8
call fcn.0046e490
lea ecx, [ebp - 0x3c]
call fcn.00414120
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004e9cdc
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x10
mov dword [ebp - 4], 0xe
jmp 0x44d8ba
mov dword [ebp - 4], 6
jmp 0x44d8ba
mov dword [ebp - 4], 2
jmp 0x44d8ba
call fcn.0052e99b
call fcn.0052e99b
sub esp, 8
lea eax, [ebp - 0x1c]
mov ecx, esp
push eax
call fcn.00412350
call fcn.00412410
call fcn.00467a26
call fcn.0052e99b
call fcn.0052e99b
call fcn.0052e99b
call fcn.0052e99b
int3