Function at 0x100dda9
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 0x100dabb
push 0x10016b0
mov dword [ebp - 0x40c], ebx
call fcn.0100db12
xor edi, edi
cmp dword [0x1021784], edi
je 0x100de3b
mov al, byte [0x1021788]
cmp al, 4
jae 0x100ddfa
test al, al
jne 0x100de3b
mov ecx, dword [0x1021774]
mov edx, 0x80000000
and ecx, edx
xor eax, eax
or eax, ecx
je 0x100de3b
mov ecx, dword [0x102177c]
mov eax, ecx
and eax, edx
xor edx, edx
cmp edx, dword [0x1021778]
jne 0x100de3b
cmp eax, ecx
jne 0x100de3b
push 0x10016c0
push dword [0x102175c]
push dword [0x1021758]
call fcn.0100db6f
push edi
push edi
push 1
push edi
call dword [sym.imp.KERNEL32.dll_HeapSetInformation]
mov esi, 0x1021900
push esi
call fcn.0100d93d
push 0x1001e68
mov dword [0x1021940], 0x10016e0
mov dword [0x1021944], 0x10016f0
mov dword [section..data], esi
call fcn.0100da28
mov dword [0x10218f8], ebx
call fcn.0100e849
test eax, eax
je 0x100e455
call fcn.0100e89e
test eax, eax
jne 0x100e455
push 0x43
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
jne 0x100e455
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.0100e8df
test eax, eax
jne 0x100dfca
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 0x100df6b
push eax
call dword [sym.imp.USER32.dll_SetForegroundWindow]
test eax, eax
jne 0x100e440
mov eax, dword [section..data]
cmp eax, section..data
je 0x100e440
test byte [eax + 0x1c], 4
je 0x100e440
push 0x1001c70
push 0xa
jmp 0x100e093
cmp esi, ebx
je 0x100df95
mov eax, dword [section..data]
cmp eax, section..data
je 0x100e440
test byte [eax + 0x1c], 0x10
je 0x100e440
push 0x1001c70
push 0xb
jmp 0x100e093
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 0x100e440
mov edi, dword [ebp - 0x408]
test edi, edi
je 0x100e06e
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov esi, eax
call fcn.0100e95c
test eax, eax
jne 0x100e023
cmp esi, edi
jne 0x100e023
push eax
push eax
push 0x10
push edi
call dword [sym.imp.USER32.dll_PostMessageW]
test eax, eax
jne 0x100e440
mov eax, dword [section..data]
cmp eax, section..data
je 0x100e440
test byte [eax + 0x1c], 4
je 0x100e440
push 0x1001c70
push 0xc
jmp 0x100e093
push edi
call dword [sym.imp.USER32.dll_SetForegroundWindow]
test eax, eax
jne 0x100e051
mov eax, dword [section..data]
cmp eax, section..data
je 0x100e440
test byte [eax + 0x1c], 4
je 0x100e440
push 0x1001c70
push 0xd
jmp 0x100e093
push edi
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x100e440
push 9
push edi
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x100e440
test esi, esi
je 0x100e0a3
mov eax, dword [section..data]
cmp eax, section..data
je 0x100e440
test byte [eax + 0x1c], 0x10
je 0x100e440
push 0x1001c70
push 0xe
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01009390
jmp 0x100e440
mov eax, dword [section..data]
mov ecx, dword [eax + 0x30]
mov edx, dword [eax + 0x34]
mov esi, ecx
or esi, edx
je 0x100e0d1
push 0x1001ddc
push 1
push edx
push ecx
push 0x1f5
push 0x10016a0
call fcn.0100db90
mov eax, dword [section..data]
mov ecx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
mov edx, ecx
or edx, eax
je 0x100e0f0
push 1
push eax
push ecx
push 0x205
push 0x10016a0
call fcn.01008239
push 0
push 0x1001c80
call dword [sym.imp.KERNEL32.dll_RegisterApplicationRestart]
test eax, eax
jge 0x100e128
mov ecx, dword [section..data]
cmp ecx, section..data
je 0x100e128
test byte [ecx + 0x1c], 4
je 0x100e128
push eax
push 0x1001c70
push 0xf
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.010086d5
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 0x100e3de
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 0x100e25d
mov eax, dword [section..data]
cmp eax, section..data
je 0x100e3de
test byte [eax + 0x1c], 4
je 0x100e3de
push 0x1001c70
push 0x10
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01009390
jmp 0x100e3de
push 0x278
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
cmp eax, esi
je 0x100e27b
mov ecx, eax
call fcn.01010e90
mov dword [ebp - 0x408], eax
jmp 0x100e281
mov dword [ebp - 0x408], esi
mov ecx, dword [ebp - 0x408]
cmp ecx, esi
je 0x100e3b4
push esi
push esi
call fcn.0100dd53
test eax, eax
mov eax, dword [section..data]
je 0x100e386
mov ecx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
mov edx, ecx
or edx, eax
je 0x100e2c7
push 0x1001c8c
push 2
push eax
push ecx
push 0x1f5
push 0x10016a0
call fcn.0100db90
call dword [sym.imp.UxTheme.dll_BufferedPaintInit]
test eax, eax
jl 0x100e36b
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 0x100e342
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 0x100e342
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 0x100e30d
push dword [ebp - 0x414]
call sub.gdiplus.dll_GdiplusShutdown
call dword [sym.imp.UxTheme.dll_BufferedPaintUnInit]
mov ebx, dword [ebp - 0x40c]
jmp 0x100e3a5
mov eax, dword [section..data]
cmp eax, section..data
je 0x100e3a5
test byte [eax + 0x1c], 4
je 0x100e3a5
push 0x1001c70
push 0x11
jmp 0x100e39a
cmp eax, section..data
je 0x100e3a5
test byte [eax + 0x1c], 4
je 0x100e3a5
push 0x1001c70
push 0x12
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01009390
mov ecx, dword [ebp - 0x408]
mov eax, dword [ecx]
push 1
call dword [eax + 4]
jmp 0x100e3d8
mov eax, dword [section..data]
cmp eax, section..data
je 0x100e3d8
test byte [eax + 0x1c], 4
je 0x100e3d8
push 0x1001c70
push 0x13
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01009390
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
call esi
push ebx
push edi
call esi
push dword [ebp - 0x410]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov eax, dword [section..data]
mov ecx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
mov edx, ecx
or edx, eax
je 0x100e440
push 2
push eax
push ecx
push 0x1f6
push 0x10016a0
call fcn.01008239
cmp dword [ebp - 0x410], 0
je 0x100e455
push dword [ebp - 0x410]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.0100da76
push 0x1021758
call fcn.0100db3e
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.0101a181
leave
ret 0x10