Function at 0x4035f0
Capabilities:
Check mutex on windows

Disassembly:
sub esp, 0x74
push ebx
push ebp
mov ebp, dword [esp + 0x80]
push esi
push edi
mov dword [0x43e7a8], ebp
call fcn.00415960
cmp eax, 1
je 0x403abb
call fcn.00415960
test eax, eax
je 0x403abb
mov al, byte [esp + 0x12]
xor ebx, ebx
push ebx
lea ecx, [esp + 0x18]
mov byte [esp + 0x18], al
call fcn.0040aae0
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x90]
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [esp + 0x1c]
call fcn.0040ad80
mov ecx, dword [0x4313b0]
lea edx, [esp + 0x14]
push ecx
push ebx
push edx
mov ecx, 0x43cf40
call fcn.0040a8e0
push 1
lea ecx, [esp + 0x18]
call fcn.0040aae0
lea eax, [esp + 0x12]
lea ecx, [esp + 0x13]
push eax
push ebx
push ecx
lea ecx, [esp + 0x30]
call fcn.0040ac30
lea edx, [esp + 0x24]
push edx
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x43cf40
call fcn.0040a480
call fcn.0041bf70
mov al, byte [esp + 0x27]
add esp, 0x14
lea ecx, [esp + 0x34]
mov byte [esp + 0x34], al
push ebx
call fcn.0040aae0
mov edi, 0x43815c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x43815c
lea ecx, [esp + 0x3c]
call fcn.0040ad80
push ebx
mov cl, byte [esp + 0x17]
mov byte [esp + 0x48], cl
lea ecx, [esp + 0x48]
call fcn.0040aae0
lea edx, [esp + 0x44]
lea eax, [esp + 0x34]
push edx
push eax
lea ecx, [esp + 0x5c]
call fcn.0040ac60
lea ecx, [esp + 0x14]
push eax
push ecx
lea ecx, [esp + 0x2c]
call fcn.0040ab30
mov esi, dword [eax]
lea ecx, [esp + 0x54]
call fcn.0040bfa0
push 1
lea ecx, [esp + 0x48]
call fcn.0040aae0
mov esi, dword [esi + 0x24]
push 1
lea ecx, [esp + 0x38]
call fcn.0040aae0
cmp esi, ebx
jbe 0x4037d2
mov dl, byte [esp + 0x13]
push ebx
lea ecx, [esp + 0x38]
mov byte [esp + 0x38], dl
call fcn.0040aae0
mov edi, 0x43815c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x43815c
lea ecx, [esp + 0x3c]
call fcn.0040ad80
push ebx
lea ecx, [esp + 0x48]
mov al, byte [esp + 0x17]
mov byte [esp + 0x48], al
call fcn.0040aae0
lea ecx, [esp + 0x44]
lea edx, [esp + 0x34]
push ecx
push edx
lea ecx, [esp + 0x5c]
call fcn.0040ac60
push eax
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x2c]
call fcn.0040ab30
mov esi, dword [eax]
lea ecx, [esp + 0x54]
call fcn.0040bfa0
push 1
lea ecx, [esp + 0x48]
call fcn.0040aae0
mov ecx, dword [0x4313b0]
add esi, 0x1c
push ecx
push ebx
push esi
mov ecx, 0x43e798
call fcn.0040a8e0
push 1
lea ecx, [esp + 0x38]
call fcn.0040aae0
mov dl, byte [esp + 0x13]
push ebx
lea ecx, [esp + 0x38]
mov byte [esp + 0x38], dl
call fcn.0040aae0
mov edi, 0x438158
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x438158
lea ecx, [esp + 0x3c]
call fcn.0040ad80
push ebx
lea ecx, [esp + 0x48]
mov al, byte [esp + 0x17]
mov byte [esp + 0x48], al
call fcn.0040aae0
lea ecx, [esp + 0x44]
lea edx, [esp + 0x34]
push ecx
push edx
lea ecx, [esp + 0x5c]
call fcn.0040ac60
push eax
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x2c]
call fcn.0040ab30
mov esi, dword [eax]
lea ecx, [esp + 0x54]
call fcn.0040bfa0
push 1
lea ecx, [esp + 0x48]
call fcn.0040aae0
mov esi, dword [esi + 0x24]
push 1
lea ecx, [esp + 0x38]
call fcn.0040aae0
cmp esi, ebx
jbe 0x4038f5
mov cl, byte [esp + 0x13]
push ebx
mov byte [esp + 0x38], cl
lea ecx, [esp + 0x38]
call fcn.0040aae0
mov edi, 0x438158
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x438158
lea ecx, [esp + 0x3c]
call fcn.0040ad80
lea edx, [esp + 0x13]
lea ecx, [esp + 0x44]
push edx
call fcn.0040a460
push eax
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x5c]
call fcn.0040ac60
lea ecx, [esp + 0x14]
push eax
push ecx
lea ecx, [esp + 0x2c]
call fcn.0040ab30
mov esi, dword [eax]
lea ecx, [esp + 0x54]
call fcn.0040bfa0
push 1
lea ecx, [esp + 0x48]
call fcn.0040aae0
mov edx, dword [0x4313b0]
add esi, 0x1c
push edx
push ebx
push esi
mov ecx, 0x43e788
call fcn.0040a8e0
push 1
lea ecx, [esp + 0x38]
call fcn.0040aae0
lea ecx, [esp + 0x24]
call fcn.0040a830
mov eax, dword [str.WindowsTab2ins]
push eax
push ebx
push ebx
call dword [sym.imp.KERNEL32.DLL_CreateMutexA]
mov dword [esp + 0x14], eax
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp eax, 0xb7
je 0x403ab0
call fcn.00403ad0
test eax, eax
je 0x403ab0
call fcn.00403ee0
test eax, eax
je 0x403ab0
call fcn.004040a0
test eax, eax
je 0x403ab0
call fcn.00404250
test eax, eax
je 0x403ab0
call fcn.00407030
test eax, eax
je 0x403ab0
push ebx
call dword [sym.imp.ole32.dll_CoInitialize]
push ebp
push ebx
push 0x43e700
mov dword [0x43e770], 0x4380e0
mov dword [0x43cf38], 0x43e700
mov dword [0x43e700], 0x84
mov dword [0x43e764], 0x300
call fcn.00409380
push 0x43e734
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
mov esi, dword [sym.imp.USER32.dll_RegisterWindowMessageA]
push str.WM_ATLGETHOST
call esi
push str.WM_ATLGETCONTROL
mov dword [0x43cf34], eax
call esi
lea ecx, [esp + 0x54]
mov dword [0x43cf30], eax
mov eax, dword [0x43e704]
push ecx
mov esi, 0x30
push str.AtlAxWin
push eax
mov dword [esp + 0x60], esi
call dword [sym.imp.USER32.dll_GetClassInfoExA]
test eax, eax
jne 0x403a48
mov edx, dword [0x43e704]
push 0x7f00
push ebx
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], 0x40c160
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], ebx
call dword [sym.imp.USER32.dll_LoadCursorA]
mov dword [esp + 0x74], 6
mov dword [esp + 0x78], ebx
mov dword [esp + 0x70], eax
lea eax, [esp + 0x54]
push eax
mov dword [esp + 0x80], str.AtlAxWin
mov dword [esp + 0x84], ebx
call dword [sym.imp.USER32.dll_RegisterClassExA]
push 0x43e734
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
cmp dword [0x43d124], ebx
jbe 0x403a9b
mov edi, 0x438124
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [0x43e790]
push 0x438124
push ecx
push ebx
mov ecx, 0x43e788
call fcn.0040c0c0
test eax, eax
jne 0x403a9b
push ebx
push 0x407730
push ebx
push 0x65
push ebp
call dword [sym.imp.USER32.dll_DialogBoxParamA]
cmp eax, 1
jne 0x403aa0
call fcn.00407af0
push 0x43e700
call fcn.00409410
call dword [sym.imp.ole32.dll_CoUninitialize]
mov edx, dword [esp + 0x14]
push edx
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x74
ret 0x10