Function at 0x10020d70
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5bc
mov eax, dword [0x1006de68]
xor eax, ebp
mov dword [ebp - 4], eax
lea eax, [ebp - 0x558]
push eax
call fcn.1002e7d0
add esp, 4
lea ecx, [ebp - 0x5a8]
push ecx
call fcn.1002e7d0
add esp, 4
mov dword [ebp - 0x5b0], 0
cmp dword [ebp + 8], 0
jge 0x10020db6
jmp 0x1002102b
cmp dword [0x100657c0], 0
ja 0x10020dce
mov dword [ebp - 0x5b0], 1
jmp 0x1002102b
imul edx, dword [ebp + 8], 0x418
mov eax, dword [0x1006f6cc]
cmp dword [eax + edx + 0x408], 0
jne 0x10020dfb
imul ecx, dword [ebp + 8], 0x418
mov edx, dword [0x1006f6cc]
cmp dword [edx + ecx + 0x404], 0
jne 0x10020e0a
mov dword [ebp - 0x5b0], 1
jmp 0x1002102b
imul eax, dword [ebp + 8], 0x418
mov ecx, dword [0x1006f6cc]
cmp dword [ecx + eax + 0x414], 0
jne 0x10020f8a
imul edx, dword [ebp + 8], 0x418
add edx, dword [0x1006f6cc]
push edx
lea eax, [ebp - 0x508]
push eax
call sub.MSVCR120.dll_strcpy
add esp, 8
mov dword [ebp - 0x5ac], 0
jmp 0x10020e5d
mov ecx, dword [ebp - 0x5ac]
add ecx, 1
mov dword [ebp - 0x5ac], ecx
lea edx, [ebp - 0x508]
push edx
call sub.MSVCR120.dll_strlen
add esp, 4
cmp dword [ebp - 0x5ac], eax
jae 0x10020e97
mov eax, dword [ebp - 0x5ac]
movsx ecx, byte [ebp + eax - 0x508]
cmp ecx, 0x5c
jne 0x10020e95
mov edx, dword [ebp - 0x5ac]
mov byte [ebp + edx - 0x508], 0x2f
jmp 0x10020e4e
push 1
push 0x1007012c
push 0x1006fd14
call fcn.100589f0
add esp, 0xc
lea eax, [ebp - 0x508]
push eax
push 0
push 0x1007012c
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov dword [ebp - 0x5b8], eax
cmp dword [ebp - 0x5b8], 0
jne 0x10020f71
lea ecx, [ebp - 0x558]
push ecx
call fcn.1002e7d0
add esp, 4
call sym.CIMIO_NO_WRITE.dll_cimio_GetLastError
mov dword [ebp - 0x5bc], eax
lea edx, [ebp - 0x558]
push edx
mov eax, dword [ebp - 0x5bc]
push eax
push 0x79
call fcn.1002ed90
add esp, 0xc
lea ecx, [ebp - 0x558]
push ecx
push 0x1dc9e
push 0x7a
call fcn.1002ed90
add esp, 0xc
lea edx, [ebp - 0x5a8]
push edx
lea eax, [ebp - 0x558]
push eax
push 0x100676c0
call fcn.1002ee60
add esp, 0xc
lea ecx, [ebp - 0x508]
push ecx
push str.Unable_to_create_mutex__Name__s_n
lea edx, [ebp - 0x104]
push edx
call dword [sym.imp.MSVCR120.dll_sprintf]
add esp, 0xc
lea eax, [ebp - 0x5a8]
push eax
lea ecx, [ebp - 0x104]
push ecx
push 0x10070158
call fcn.1002f2b0
add esp, 0xc
jmp 0x1002102b
imul edx, dword [ebp + 8], 0x418
mov eax, dword [0x1006f6cc]
mov ecx, dword [ebp - 0x5b8]
mov dword [eax + edx + 0x414], ecx
mov edx, dword [0x100657c0]
push edx
imul eax, dword [ebp + 8], 0x418
mov ecx, dword [0x1006f6cc]
mov edx, dword [ecx + eax + 0x414]
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 0x5b4], eax
cmp dword [ebp - 0x5b4], 0
je 0x10020fc7
cmp dword [ebp - 0x5b4], 0x80
jne 0x10020fed
mov dword [ebp - 0x5b0], 1
imul eax, dword [ebp + 8], 0x418
mov ecx, dword [0x1006f6cc]
mov edx, dword [ebp - 0x5b0]
mov dword [ecx + eax + 0x408], edx
jmp 0x1002102b
imul eax, dword [ebp + 8], 0x418
add eax, dword [0x1006f6cc]
push eax
push str.Lock_timed_out_or_failed_waiting_on_output_file___s_n
lea ecx, [ebp - 0x104]
push ecx
call dword [sym.imp.MSVCR120.dll_sprintf]
add esp, 0xc
lea edx, [ebp - 0x5a8]
push edx
lea eax, [ebp - 0x104]
push eax
push 0x10070158
call fcn.1002f2b0
add esp, 0xc
mov eax, dword [ebp - 0x5b0]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10059cde
mov esp, ebp
pop ebp
ret