Function at 0x40de4c
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffde8
mov eax, 0x58a448
push ebx
push esi
push edi
mov esi, dword [ebp + 8]
call fcn.0056134c
xor ebx, ebx
lea eax, [ebp - 0x8c]
mov dword [ebp - 0x3c], eax
lea edi, [ebp - 0x68]
push 0x14
mov eax, ebx
shl eax, 2
lea eax, [eax + eax*4]
lea edx, [ebp - 0x140]
add eax, edx
push eax
lea ecx, [ebx + 0xcc]
push ecx
mov eax, dword [0x5ae9d0]
push eax
call sub.USER32.DLL_LoadStringA
mov edx, ebx
mov eax, ebx
shl edx, 2
lea ecx, [ebp - 0x140]
shl eax, 2
lea edx, [edx + edx*4]
add edx, ecx
lea ecx, [ebx + 0xd5]
mov dword [edi], edx
lea edx, [ebp - 0x1f4]
lea eax, [eax + eax*4]
push 0x14
add eax, edx
push eax
mov eax, dword [0x5ae9d0]
push ecx
push eax
call sub.USER32.DLL_LoadStringA
mov edx, ebx
mov eax, dword [ebp - 0x3c]
shl edx, 2
lea ecx, [ebp - 0x1f4]
inc ebx
add edi, 4
lea edx, [edx + edx*4]
add edx, ecx
mov dword [eax], edx
add dword [ebp - 0x3c], 4
cmp ebx, 9
jb 0x40de73
mov edx, dword [esi + 0x33c]
mov dword [ebp - 0x218], edx
mov ecx, dword [esi + 0x340]
mov dword [ebp - 0x214], ecx
mov eax, dword [esi + 0x344]
mov dword [ebp - 0x210], eax
mov edx, dword [esi + 0x348]
mov dword [ebp - 0x20c], edx
mov ecx, dword [esi + 0x34c]
mov dword [ebp - 0x208], ecx
mov eax, dword [esi + 0x350]
mov dword [ebp - 0x204], eax
mov edx, dword [esi + 0x380]
mov dword [ebp - 0x200], edx
mov ecx, dword [esi + 0x354]
mov dword [ebp - 0x1fc], ecx
mov eax, dword [esi + 0x358]
mov dword [ebp - 0x1f8], eax
push 0x5872aa
push 0
push 0x1f0001
call sub.KERNEL32.DLL_OpenMutexA
mov dword [ebp - 0x38], eax
push 0xffffffffffffffff
mov edx, dword [ebp - 0x38]
push edx
call sub.KERNEL32.DLL_WaitForSingleObject
xor ebx, ebx
mov eax, dword [ebp + 0xc]
lea edx, [ebp + eax*4 - 0x8c]
mov dword [ebp - 0x44], edx
mov ecx, dword [ebp + 0xc]
lea eax, [ebp + ecx*4 - 0x68]
mov dword [ebp - 0x40], eax
jmp 0x40e0c0
mov word [ebp - 0x24], 8
mov edx, dword [esi + 0x978]
lea eax, [ebp - 4]
mov edx, dword [ebp + edx*4 - 0x8c]
call fcn.00583900
inc dword [ebp - 0x18]
push eax
mov ecx, dword [esi + 0x36c]
mov eax, dword [ecx + 0x21c]
mov edi, ebx
mov edx, edi
call fcn.005386b8
add eax, 0x10
pop edx
call fcn.00583bcc
push eax
dec dword [ebp - 0x18]
lea eax, [ebp - 4]
mov edx, 2
call fcn.00583ae8
pop eax
test al, al
je 0x40e034
mov word [ebp - 0x24], 0x14
mov ecx, dword [esi + 0x978]
lea eax, [ebp - 8]
mov edx, dword [ebp + ecx*4 - 0x68]
call fcn.00583900
inc dword [ebp - 0x18]
mov edx, edi
mov ecx, dword [eax]
push ecx
mov eax, dword [esi + 0x36c]
mov eax, dword [eax + 0x21c]
call fcn.005386b8
pop edx
call fcn.005384c8
dec dword [ebp - 0x18]
lea eax, [ebp - 8]
mov edx, 2
call fcn.00583ae8
mov word [ebp - 0x24], 0x20
mov eax, dword [ebp - 0x40]
mov edx, dword [eax]
lea eax, [ebp - 0xc]
call fcn.00583900
inc dword [ebp - 0x18]
push eax
mov ecx, dword [esi + 0x36c]
mov edx, edi
mov eax, dword [ecx + 0x21c]
call fcn.005386b8
add eax, 0x10
pop edx
call fcn.00583bcc
push eax
dec dword [ebp - 0x18]
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.00583ae8
pop eax
test al, al
je 0x40e0bf
mov word [ebp - 0x24], 0x2c
mov ecx, dword [ebp - 0x44]
lea eax, [ebp - 0x10]
mov edx, dword [ecx]
call fcn.00583900
inc dword [ebp - 0x18]
mov edx, edi
mov ecx, dword [eax]
push ecx
mov eax, dword [esi + 0x36c]
mov eax, dword [eax + 0x21c]
call fcn.005386b8
pop edx
call fcn.005384c8
dec dword [ebp - 0x18]
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.00583ae8
inc ebx
mov eax, dword [esi + 0x36c]
mov eax, dword [eax + 0x21c]
call fcn.00545d8c
cmp ebx, eax
jb 0x40df9a
mov edx, dword [esi + 0x978]
mov eax, dword [ebp + edx*4 - 0x218]
xor edx, edx
call fcn.004ed56c
mov ecx, dword [esi + 0x978]
xor edx, edx
mov eax, dword [ebp + ecx*4 - 0x218]
call fcn.004ed7b4
mov ecx, dword [ebp + 0xc]
mov dl, 1
mov eax, dword [ebp + ecx*4 - 0x218]
call fcn.004ed56c
mov ecx, dword [ebp + 0xc]
mov dl, 1
mov eax, dword [ebp + ecx*4 - 0x218]
call fcn.004ed7b4
mov ecx, dword [ebp + 0xc]
mov dword [esi + 0x978], ecx
mov eax, dword [esi + 0x36c]
call fcn.0053c6ac
mov edx, dword [ebp - 0x38]
push edx
call sub.KERNEL32.DLL_ReleaseMutex
mov ecx, dword [ebp - 0x38]
push ecx
call sub.KERNEL32.DLL_CloseHandle
mov eax, dword [ebp - 0x34]
mov dword fs:[0], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret