Function at 0x630069
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x60
mov eax, dword [0xef9294]
push ebx
push esi
push edi
xor edi, edi
mov ebx, edx
mov dword [ebp - 4], ebx
cmp dword [eax], edi
jne 0x6300aa
push edi
push edi
push edi
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov esi, eax
test esi, esi
je 0x6300aa
mov ecx, dword [0xef9294]
mov edx, esi
xor eax, eax
lock cmpxchg dword [ecx], edx
test eax, eax
je 0x6300aa
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0xef9294]
cmp dword [eax], edi
je 0x6302ae
mov eax, dword [0xef9294]
push 0xffffffffffffffff
push dword [eax]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0xffffffff
je 0x6302ae
cmp dword [0xef93a4], edi
jne 0x6300e2
push 0xef93a4
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov eax, dword [0xef9294]
cmp dword [eax], edi
je 0x6302ae
mov eax, dword [0xef9294]
push dword [eax]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
test eax, eax
je 0x6302ae
mov ecx, str.ppcax
cmp dword [ecx], 0x61637070
jne 0x630120
cmp dword [ecx + 4], 0x78
ja 0x630120
cmp dword [ecx + 8], 0x6d656d48
je 0x630129
mov ecx, dword [ecx + 0xc]
test ecx, ecx
jne 0x630109
mov ecx, edi
lea edx, [ebp - 0x1c]
call fcn.006304a3
mov eax, edx
mov dword [ebp - 0x58], ebx
push 4
pop edx
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x48], eax
call fcn.0062ffa2
lea ecx, [ebp - 0x60]
push 0x5c
push ecx
call dword [eax]
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
je 0x6302ae
push 0x5c
push edi
push ebx
call fcn.006f59b0
add esp, 0xc
lea edi, [ebx + 0x44]
lea esi, [ebp - 0x1c]
push 6
pop ecx
rep movsd dword es:[edi], dword [esi]
mov esi, 0xef93a4
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0xf0dfa0]
push esi
mov dword [ebx], eax
mov dword [0xf0dfa0], ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp - 4]
lea esi, [ebx + 0x44]
push 0x58
pop edx
mov ecx, ebx
mov dword [ebx + 8], eax
mov dword [ebx + 0x18], esi
call fcn.00630622
mov dword [ebx + 4], eax
test eax, eax
je 0x6302a7
push 4
pop edi
push edi
mov edx, 0xef93bc
mov ecx, eax
call fcn.006306a6
mov dword [ebx + 0xc], eax
mov edx, 0xef9320
mov ecx, dword [ebx + 4]
push 0x20
call fcn.006306a6
mov dword [ebx + 0x10], eax
mov edx, 0xef9340
mov ecx, dword [ebx + 4]
push 8
call fcn.006306a6
mov dword [ebx + 0x14], eax
mov edx, 0xf0e1ec
mov dword [ebx + 0x18], esi
mov ecx, dword [ebx + 4]
push edi
call fcn.006306a6
mov dword [ebx + 0x1c], eax
mov edx, 0xf0e1e8
mov ecx, dword [ebx + 4]
push edi
call fcn.006306a6
mov dword [ebx + 0x20], eax
mov edx, 0xf0e1c4
mov ecx, dword [ebx + 4]
push edi
call fcn.006306a6
mov dword [ebx + 0x24], eax
mov edx, 0xf0e1b8
mov ecx, dword [ebx + 4]
push edi
call fcn.006306a6
mov dword [ebx + 0x28], eax
mov edx, 0xf0e1c0
mov ecx, dword [ebx + 4]
push edi
call fcn.006306a6
mov dword [ebx + 0x34], eax
mov edx, 0xf0e1bc
mov ecx, dword [ebx + 4]
push edi
call fcn.006306a6
mov dword [ebx + 0x2c], eax
mov edx, 0xf0e1e4
mov ecx, dword [ebx + 4]
push edi
call fcn.006306a6
mov dword [ebx + 0x30], eax
mov edx, 0xf0e1e0
mov ecx, dword [ebx + 4]
push edi
call fcn.006306a6
mov dword [ebx + 0x38], eax
mov edx, 0xf0df9c
mov ecx, dword [ebx + 4]
push edi
call fcn.006306a6
mov dword [ebx + 0x3c], eax
mov edx, 0xef93c0
mov ecx, dword [ebx + 4]
push 0x10
call fcn.006306a6
add esp, 0x34
mov dword [ebx + 0x40], eax
mov ecx, ebx
call fcn.0062fe07
test eax, eax
je 0x6302a7
mov eax, ebx
jmp 0x6302b0
mov ecx, ebx
call fcn.006302b5
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret