Function at 0x100237b
Capabilities:
Check mutex on windows
Get file attributes

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x18c
mov eax, dword [0x100400c]
push ebx
push esi
mov esi, dword [sym.imp.SHLWAPI.dll_StrCmpIW]
push edi
mov edi, dword [ebp + 0x10]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push edi
xor ebx, ebx
push 0x1001b64
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x178], ebx
call esi
test eax, eax
jne 0x10023e0
push eax
push 0x1001e74
push dword [ebp - 0x16c]
push dword [ebp - 0x16c]
call fcn.01002a96
push dword [ebp - 0x16c]
jmp loc.01017000
push edi
push 0x1001b70
call esi
test eax, eax
jne 0x100240b
push eax
push 0x1001e78
push dword [ebp - 0x16c]
push dword [ebp - 0x16c]
call fcn.01002a96
xor eax, eax
inc eax
jmp 0x1002624
push 0x1001ae8
xor esi, esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
cmp eax, esi
mov dword [ebp - 0x170], eax
jne 0x100242c
push 0x64
pop ebx
jmp 0x10025df
push 0xea60
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x1002443
push 0x65
jmp 0x10025ad
push esi
push 0x1001a70
call dword [sym.imp.SHLWAPI.dll_Ordinal_67]
cmp eax, esi
mov dword [ebp - 0x174], eax
je 0x1002505
cmp edi, esi
mov dword [ebp - 0x188], 1
je 0x100247e
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [eax + eax + 2]
mov dword [ebp - 0x184], eax
jmp 0x1002484
mov dword [ebp - 0x184], esi
push 0x1001d24
mov dword [ebp - 0x180], edi
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
cmp edi, esi
je 0x10024cf
push 0x1001d08
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x10024c8
lea eax, [ebp - 0x17c]
push eax
push dword [ebp - 0x174]
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
push dword [ebp - 0x17c]
call esi
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push dword [ebp - 0x174]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
lea eax, [ebp - 0x18c]
push eax
push 0x5dc
push 2
lea eax, [ebp - 0x188]
push eax
push 0
push 0x4a
push dword [ebp - 0x174]
call dword [sym.imp.USER32.dll_SendMessageTimeoutA]
jmp 0x10025ae
mov esi, 0x1001b0c
push esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
test eax, eax
mov dword [ebp - 0x178], eax
jne 0x100255d
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7e
jne 0x100253c
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ebx, eax
inc ebx
neg ebx
sbb ebx, ebx
and ebx, 0xfffffffe
add ebx, 0x6b
jmp 0x10025ae
cmp eax, 0x45a
jne 0x100256f
push 0x1001b84
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ebx, eax
inc ebx
neg ebx
sbb ebx, ebx
and ebx, 0xfffffffe
add ebx, 0x6c
jmp 0x10025ae
push 0x1001b18
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
jne 0x1002573
push 0x66
jmp 0x10025ad
cmp dword [0x1004004], 0
mov eax, edi
jne 0x1002583
mov eax, 0x1001b80
push dword [ebp + 0x14]
push eax
push 0x3f
call esi
and dword [0x1004004], 0
cmp eax, 0x714
je 0x1002573
test eax, eax
jge 0x10025ba
cmp eax, 0x8004100a
je 0x10025ae
cmp eax, 0x80040113
je 0x10025ae
push 0x67
pop ebx
push dword [ebp - 0x170]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push dword [ebp - 0x170]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x178], 0
je 0x10025db
push dword [ebp - 0x178]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
test ebx, ebx
je 0x1002622
mov esi, dword [sym.imp.USER32.dll_LoadStringA]
push 0x64
lea eax, [ebp - 0x68]
push eax
push 0x63
push dword [ebp - 0x16c]
call esi
push 0xff
lea eax, [ebp - 0x168]
push eax
push ebx
push dword [ebp - 0x16c]
call esi
push 0x10030
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x168]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, ebx
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.01002753
leave
ret 0x10