Function at 0x4111a0
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x1c
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
test eax, eax
je 0x411260
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call sub.kernel32.dll_WaitForSingleObject
sub esp, 8
cmp eax, 0x80
je 0x4111fa
cmp eax, 0x102
je 0x411312
test eax, eax
je 0x4111fa
call sub.msvcrt.dll__errno
mov esi, eax
call sub.kernel32.dll_GetLastError
mov dword [esp], eax
call sym.brltty.exe_win_toErrno
mov dword [esi], eax
call sub.msvcrt.dll__errno
mov eax, dword [ebx + 0x14]
test eax, eax
js 0x411382
sub eax, 1
test eax, eax
mov dword [ebx + 0x14], eax
jne 0x41123f
mov eax, dword [ebx + 0x18]
test eax, eax
jne 0x411320
mov eax, dword [ebx + 4]
test eax, eax
je 0x411396
mov edx, dword [ebx + 8]
mov dword [esp + 8], 0
mov dword [esp], eax
mov dword [esp + 4], edx
call sub.kernel32.dll_ReleaseSemaphore
sub esp, 0xc
mov eax, dword [ebx]
mov dword [esp], eax
call sub.kernel32.dll_ReleaseMutex
sub esp, 4
test eax, eax
je 0x411360
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 8], str.StarPU_mutex_init
mov dword [esp + 4], 0
mov dword [esp], 0
call sub.kernel32.dll_CreateMutexA
sub esp, 0xc
test eax, eax
mov esi, eax
je 0x4112f7
mov dword [esp + 4], 0xffffffff
mov dword [esp], esi
call sub.kernel32.dll_WaitForSingleObject
sub esp, 8
cmp eax, 0x80
je 0x4112cb
cmp eax, 0x102
je 0x411285
test eax, eax
je 0x4112cb
call sub.msvcrt.dll__errno
mov edi, eax
call sub.kernel32.dll_GetLastError
mov dword [esp], eax
call sym.brltty.exe_win_toErrno
mov dword [edi], eax
call sub.msvcrt.dll__errno
mov ecx, dword [eax]
test ecx, ecx
jne 0x411312
mov edx, dword [ebx]
test edx, edx
je 0x41143a
mov dword [esp], esi
call sub.kernel32.dll_ReleaseMutex
sub esp, 4
test eax, eax
je 0x41140e
mov dword [esp], esi
call sub.kernel32.dll_CloseHandle
sub esp, 4
test eax, eax
jne 0x411312
call sub.msvcrt.dll__errno
mov esi, eax
call sub.kernel32.dll_GetLastError
mov dword [esp], eax
call sym.brltty.exe_win_toErrno
mov dword [esi], eax
call sub.msvcrt.dll__errno
mov eax, dword [ebx]
jmp 0x4111b6
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x4113d4
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x41123f
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov eax, dword [ebx + 0xc]
mov dword [esp], eax
call sub.kernel32.dll_ReleaseSemaphore
sub esp, 0xc
jmp 0x41123f
call sub.msvcrt.dll__errno
mov ebx, eax
call sub.kernel32.dll_GetLastError
mov dword [esp], eax
call sym.brltty.exe_win_toErrno
mov dword [ebx], eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
jmp sub.msvcrt.dll__errno
mov eax, dword [ebx + 0x18]
mov dword [ebx + 0x14], 0
test eax, eax
je 0x41121a
jmp 0x411320
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x7fffffff
mov dword [esp + 4], 0
mov dword [esp], 0
call sub.kernel32.dll_CreateSemaphoreA
sub esp, 0x10
test eax, eax
mov dword [ebx + 4], eax
je 0x411450
mov dword [ebx + 8], 0
jmp 0x411225
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x7fffffff
mov dword [esp + 4], 0
mov dword [esp], 0
call sub.kernel32.dll_CreateSemaphoreA
sub esp, 0x10
test eax, eax
mov dword [ebx + 0xc], eax
je 0x411465
mov dword [ebx + 0x10], 0
jmp 0x41132b
call sub.msvcrt.dll__errno
mov edi, eax
call sub.kernel32.dll_GetLastError
mov dword [esp], eax
call sym.brltty.exe_win_toErrno
mov dword [edi], eax
call sub.msvcrt.dll__errno
mov eax, dword [eax]
test eax, eax
je 0x4112e8
mov eax, dword [ebx]
jmp 0x4111b6
mov eax, ebx
call fcn.00410790
test eax, eax
je 0x4112d5
mov eax, dword [ebx]
jmp 0x4111b6
call fcn.004105f0
test eax, eax
jne 0x41123f
mov eax, dword [ebx + 4]
jmp 0x411225
call fcn.004105f0
test eax, eax
jne 0x41123f
jmp 0x41132b