Function at 0x100dd76
Capabilities:
Check mutex on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x468
mov eax, dword [0x102171c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
push 0x1021758
push 0x1021760
push 0x100da88
push 0x10016b0
mov dword [ebp - 0x40c], ebx
call fcn.0100dadf
xor edi, edi
cmp dword [0x1021784], edi
je 0x100de08
mov al, byte [0x1021788]
cmp al, 4
jae 0x100ddc7
test al, al
jne 0x100de08
mov ecx, dword [0x1021774]
mov edx, 0x80000000
and ecx, edx
xor eax, eax
or eax, ecx
je 0x100de08
mov ecx, dword [0x102177c]
mov eax, ecx
and eax, edx
xor edx, edx
cmp edx, dword [0x1021778]
jne 0x100de08
cmp eax, ecx
jne 0x100de08
push 0x10016c0
push dword [0x102175c]
push dword [0x1021758]
call fcn.0100db3c
push edi
push edi
push 1
push edi
call dword [sym.imp.KERNEL32.dll_HeapSetInformation]
mov esi, 0x1021900
push esi
call fcn.0100d90a
push 0x1001e68
mov dword [0x1021940], 0x10016e0
mov dword [0x1021944], 0x10016f0
mov dword [section..data], esi
call fcn.0100d9f5
mov dword [0x10218f8], ebx
call fcn.0100e816
test eax, eax
je 0x100e422
call fcn.0100e86b
test eax, eax
jne 0x100e422
push 0x43
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
jne 0x100e422
push 0x1001e3c
push 1
push edi
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [ebp - 0x410], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
sub esi, 0xb7
neg esi
push edi
mov edi, dword [sym.imp.USER32.dll_FindWindowW]
sbb esi, esi
mov ebx, 0x1001e18
push ebx
inc esi
call edi
mov dword [ebp - 0x408], eax
call fcn.0100e8ac
test eax, eax
jne 0x100df97
mov ebx, dword [sym.imp.USER32.dll_LoadStringW]
push 0x100
lea eax, [ebp - 0x404]
push eax
push 0x3ed
push dword [0x10218f8]
call ebx
push 0x100
lea eax, [ebp - 0x204]
push eax
push 0x3ee
push dword [0x10218f8]
call ebx
lea eax, [ebp - 0x204]
push eax
xor ebx, ebx
push ebx
call edi
cmp eax, ebx
je 0x100df38
push eax
call dword [sym.imp.USER32.dll_SetForegroundWindow]
test eax, eax
jne 0x100e40d
mov eax, dword [section..data]
cmp eax, section..data
je 0x100e40d
test byte [eax + 0x1c], 4
je 0x100e40d
push 0x1001c70
push 0xa
jmp 0x100e060
cmp esi, ebx
je 0x100df62
mov eax, dword [section..data]
cmp eax, section..data
je 0x100e40d
test byte [eax + 0x1c], 0x10
je 0x100e40d
push 0x1001c70
push 0xb
jmp 0x100e060
push ebx
push 0xffff
push 1
push ebx
lea eax, [ebp - 0x404]
push eax
lea eax, [ebp - 0x204]
push eax
push dword [0x10218f8]
push ebx
call dword [sym.imp.COMCTL32.dll_Ordinal_344]
push dword [ebp - 0x410]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
jmp 0x100e40d
mov edi, dword [ebp - 0x408]
test edi, edi
je 0x100e03b
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov esi, eax
call fcn.0100e929
test eax, eax
jne 0x100dff0
cmp esi, edi
jne 0x100dff0
push eax
push eax
push 0x10
push edi
call dword [sym.imp.USER32.dll_PostMessageW]
test eax, eax
jne 0x100e40d
mov eax, dword [section..data]
cmp eax, section..data
je 0x100e40d
test byte [eax + 0x1c], 4
je 0x100e40d
push 0x1001c70
push 0xc
jmp 0x100e060
push edi
call dword [sym.imp.USER32.dll_SetForegroundWindow]
test eax, eax
jne 0x100e01e
mov eax, dword [section..data]
cmp eax, section..data
je 0x100e40d
test byte [eax + 0x1c], 4
je 0x100e40d
push 0x1001c70
push 0xd
jmp 0x100e060
push edi
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x100e40d
push 9
push edi
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x100e40d
test esi, esi
je 0x100e070
mov eax, dword [section..data]
cmp eax, section..data
je 0x100e40d
test byte [eax + 0x1c], 0x10
je 0x100e40d
push 0x1001c70
push 0xe
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0100935e
jmp 0x100e40d
mov eax, dword [section..data]
mov ecx, dword [eax + 0x30]
mov edx, dword [eax + 0x34]
mov esi, ecx
or esi, edx
je 0x100e09e
push 0x1001ddc
push 1
push edx
push ecx
push 0x1f5
push 0x10016a0
call fcn.0100db5d
mov eax, dword [section..data]
mov ecx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
mov edx, ecx
or edx, eax
je 0x100e0bd
push 1
push eax
push ecx
push 0x205
push 0x10016a0
call fcn.01008209
push 0
push 0x1001c80
call dword [sym.imp.KERNEL32.dll_RegisterApplicationRestart]
test eax, eax
jge 0x100e0f5
mov ecx, dword [section..data]
cmp ecx, section..data
je 0x100e0f5
test byte [ecx + 0x1c], 4
je 0x100e0f5
push eax
push 0x1001c70
push 0xf
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.010086a5
mov edi, dword [sym.imp.USER32.dll_GetClassInfoW]
lea eax, [ebp - 0x43c]
push eax
push 0x1001dcc
push dword [ebp - 0x40c]
call edi
mov esi, dword [sym.imp.USER32.dll_RegisterClassW]
lea eax, [ebp - 0x43c]
push eax
mov dword [ebp - 0x418], 0x1001da4
call esi
push 0x64
push dword [ebp - 0x40c]
call dword [sym.imp.USER32.dll_LoadIconW]
mov dword [ebp - 0x428], eax
lea eax, [ebp - 0x43c]
push eax
mov dword [ebp - 0x418], ebx
call esi
lea eax, [ebp - 0x43c]
push eax
push 0x1001d94
push dword [ebp - 0x40c]
call edi
lea eax, [ebp - 0x43c]
push eax
mov dword [ebp - 0x418], 0x1001d64
call esi
lea eax, [ebp - 0x43c]
push eax
mov dword [ebp - 0x418], 0x1001d30
call esi
lea eax, [ebp - 0x43c]
push eax
mov ebx, 0x1001d20
push ebx
push dword [ebp - 0x40c]
call edi
lea eax, [ebp - 0x43c]
push eax
mov dword [ebp - 0x418], 0x1001cf8
call esi
lea eax, [ebp - 0x43c]
push eax
push ebx
mov ebx, dword [ebp - 0x40c]
push ebx
call edi
lea eax, [ebp - 0x43c]
mov edi, 0x1001cc4
push eax
mov dword [ebp - 0x418], edi
call esi
xor esi, esi
push esi
call dword [sym.imp.ole32.dll_CoInitialize]
cmp eax, esi
jl 0x100e3ab
push esi
push esi
push esi
push 2
push 2
push esi
push esi
push 0xffffffffffffffff
push esi
call dword [sym.imp.ole32.dll_CoInitializeSecurity]
cmp eax, esi
jge 0x100e22a
mov eax, dword [section..data]
cmp eax, section..data
je 0x100e3ab
test byte [eax + 0x1c], 4
je 0x100e3ab
push 0x1001c70
push 0x10
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0100935e
jmp 0x100e3ab
push 0x278
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
cmp eax, esi
je 0x100e248
mov ecx, eax
call fcn.01010e5d
mov dword [ebp - 0x408], eax
jmp 0x100e24e
mov dword [ebp - 0x408], esi
mov ecx, dword [ebp - 0x408]
cmp ecx, esi
je 0x100e381
push esi
push esi
call fcn.0100dd20
test eax, eax
mov eax, dword [section..data]
je 0x100e353
mov ecx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
mov edx, ecx
or edx, eax
je 0x100e294
push 0x1001c8c
push 2
push eax
push ecx
push 0x1f5
push 0x10016a0
call fcn.0100db5d
call dword [sym.imp.UxTheme.dll_BufferedPaintInit]
test eax, eax
jl 0x100e338
push esi
lea eax, [ebp - 0x44c]
push eax
lea eax, [ebp - 0x414]
push eax
mov dword [ebp - 0x44c], 1
mov dword [ebp - 0x448], esi
mov dword [ebp - 0x444], esi
mov dword [ebp - 0x440], esi
call sub.gdiplus.dll_GdiplusStartup
mov ebx, dword [sym.imp.USER32.dll_GetMessageW]
jmp 0x100e30f
mov eax, dword [ebp - 0x408]
mov eax, dword [eax + 4]
lea ecx, [ebp - 0x468]
push ecx
push eax
call dword [sym.imp.USER32.dll_IsDialogMessageW]
test eax, eax
jne 0x100e30f
lea eax, [ebp - 0x468]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x468]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
push esi
push esi
push esi
lea eax, [ebp - 0x468]
push eax
call ebx
test eax, eax
jne 0x100e2da
push dword [ebp - 0x414]
call sub.gdiplus.dll_GdiplusShutdown
call dword [sym.imp.UxTheme.dll_BufferedPaintUnInit]
mov ebx, dword [ebp - 0x40c]
jmp 0x100e372
mov eax, dword [section..data]
cmp eax, section..data
je 0x100e372
test byte [eax + 0x1c], 4
je 0x100e372
push 0x1001c70
push 0x11
jmp 0x100e367
cmp eax, section..data
je 0x100e372
test byte [eax + 0x1c], 4
je 0x100e372
push 0x1001c70
push 0x12
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0100935e
mov ecx, dword [ebp - 0x408]
mov eax, dword [ecx]
push 1
call dword [eax + 4]
jmp 0x100e3a5
mov eax, dword [section..data]
cmp eax, section..data
je 0x100e3a5
test byte [eax + 0x1c], 4
je 0x100e3a5
push 0x1001c70
push 0x13
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0100935e
call dword [sym.imp.ole32.dll_CoUninitialize]
mov esi, dword [sym.imp.USER32.dll_UnregisterClassW]
push ebx
push 0x1001e18
call esi
push ebx
push 0x1001da4
call esi
push ebx
push 0x1001d64
call esi
push ebx
push 0x1001d30
call esi
push ebx
push 0x1001cf8
clc
sbb al, 0
add edi, edi
salc
push ebx
push edi
call esi
push dword [ebp - 0x410]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
add byte [ecx], al
mov eax, dword [section..data]
mov ecx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
mov edx, ecx
or edx, eax
je 0x100e40d
push 2
push eax
push ecx
push 0x1f6
push 0x10016a0
call fcn.01008209
cmp dword [ebp - 0x410], 0
je 0x100e422
push dword [ebp - 0x410]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.0100da43
push 0x1021758
call fcn.0100db0b
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.0101a14f
leave
ret 0x10