Function at 0x10018e30
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc
push ebx
push esi
mov dword [esp + 0xc], ecx
push edi
mov ecx, str.aXtdC0xbVw0MSl0
mov ebx, edx
call fcn.10045550
sub esp, 0x18
mov esi, esp
mov edi, eax
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], 0
mov byte [esi], 0
cmp byte [edi], 0
jne 0x10018e6d
xor ecx, ecx
jmp 0x10018e7b
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10018e72
sub ecx, edx
push ecx
push edi
mov ecx, esi
call fcn.10004460
mov ecx, 2
call fcn.1002bd20
add esp, 0x18
push dword [0x100dd71c]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
cmp eax, 0xb7
je 0x100190b3
call esi
cmp eax, 5
je 0x100190b3
push dword [esp + 0x14]
mov edx, dword [0x100dd6a0]
push ecx
mov ecx, dword [0x100dd69c]
mov byte [0x100dcf33], 0
mov dword [0x100dcf3c], 0
mov dword [0x100dd360], 0
call fcn.10024ae0
mov edi, dword [0x100dd480]
mov esi, dword [0x100dd47c]
mov eax, dword [0x100dd69c]
add esp, 8
mov dword [0x100dd6a0], eax
cmp esi, edi
je 0x10018f27
lea ecx, [ecx]
mov ecx, esi
call fcn.1000de50
add esi, 0x148
cmp esi, edi
jne 0x10018f10
mov esi, dword [0x100dd47c]
push 0x400
push 0x100dcf10
mov dword [0x100dd480], esi
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSectionAndSpinCount]
mov eax, dword [esp + 0x10]
test eax, eax
je 0x10019094
test ebx, ebx
je 0x10019094
mov ecx, eax
call fcn.1002bca0
push eax
mov ecx, 0x100db0f0
call fcn.10002170
mov ecx, ebx
call fcn.1002bca0
push eax
mov ecx, 0x100db150
call fcn.10002170
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x10018f8c
call fcn.1002bca0
push eax
mov ecx, 0x100db1f8
call fcn.10002170
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x10018fa3
call fcn.1002bca0
push eax
mov ecx, 0x100db198
call fcn.10002170
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x10018fba
call fcn.1002bca0
push eax
mov ecx, 0x100db0c0
call fcn.10002170
mov ecx, dword [ebp + 0x14]
test ecx, ecx
je 0x10018fd1
call fcn.1002bca0
push eax
mov ecx, 0x100db030
call fcn.10002170
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x10018fe8
call fcn.1002bca0
push eax
mov ecx, 0x100db108
call fcn.10002170
mov ecx, dword [ebp + 0x1c]
test ecx, ecx
je 0x10018fff
call fcn.1002bca0
push eax
mov ecx, 0x100db240
call fcn.10002170
mov ecx, dword [ebp + 0x20]
test ecx, ecx
je 0x10019016
call fcn.1002bca0
push eax
mov ecx, 0x100db138
call fcn.10002170
mov ecx, dword [ebp + 0x24]
test ecx, ecx
je 0x1001902d
call fcn.1002bca0
push eax
mov ecx, 0x100db060
call fcn.10002170
mov ecx, dword [ebp + 0x28]
test ecx, ecx
je 0x10019044
call fcn.1002bca0
push eax
mov ecx, 0x100db1b0
call fcn.10002170
mov ecx, dword [ebp + 0x2c]
test ecx, ecx
je 0x1001905b
call fcn.1002bca0
push eax
mov ecx, 0x100db120
call fcn.10002170
cmp dword [0x100db338], 0
je 0x10019081
mov esi, dword [sym.imp.USER32.dll_IsCharLowerA]
push 0x41
call esi
push 0x41
call esi
push 3
call fcn.1004c400
add esp, 4
mov dword [0x100db338], eax
call fcn.10031c90
call fcn.10031bb0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, str.ZFdCF1FAUwVFQFlDVQtVQV0WRxJUDBBHWwhe
call fcn.10045550
sub esp, 0x18
mov ecx, esp
push eax
call fcn.100020e0
xor ecx, ecx
call fcn.1002bd20
add esp, 0x18
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret