Function at 0x47d618
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 9
push 0
push 0
dec ecx
jne 0x47d621
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0xc]
call fcn.0046c0b0
mov eax, dword [ebp + 0x18]
call fcn.0046c0b0
xor eax, eax
push ebp
push 0x47dbf4
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0xd], 0
lea edx, [ebp - 0x20]
mov eax, 0x47dc10
call sym.D3DWindower.exe__Madstrings_DecryptStr_qqr17System_AnsiString
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp + 0x18]
call fcn.0046c00c
je 0x47d6c6
lea edx, [ebp - 0x24]
mov eax, 0x47dc28
call sym.D3DWindower.exe__Madstrings_DecryptStr_qqr17System_AnsiString
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp + 0x18]
call fcn.0046c00c
je 0x47d6c6
lea edx, [ebp - 0x28]
mov eax, 0x47dc44
call sym.D3DWindower.exe__Madstrings_DecryptStr_qqr17System_AnsiString
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp + 0x18]
call fcn.0046c00c
je 0x47d6c6
lea edx, [ebp - 0x2c]
mov eax, 0x47dc60
call sym.D3DWindower.exe__Madstrings_DecryptStr_qqr17System_AnsiString
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp + 0x18]
call fcn.0046c00c
jne 0x47d7ee
cmp dword [0x49c52c], 0
jne 0x47dbc9
call sym.D3DWindower.exe__Madcodehook_AmSystemProcess_qqsv
test eax, eax
jne 0x47dbc9
call sym.D3DWindower.exe__Madcodehook_AmUsingInputDesktop_qqsv
test eax, eax
je 0x47dbc9
push 0x47dc7c
push 0
push 0
call sub.KERNEL32.DLL_CreateMutexA
mov dword [0x49c52c], eax
call sub.KERNEL32.DLL_GetLastError
cmp eax, 0xb7
je 0x47dbc9
push 0
push 0x47dc90
push 0x47dca4
lea edx, [ebp - 0x34]
mov eax, 0x47dc10
call sym.D3DWindower.exe__Madstrings_DecryptStr_qqr17System_AnsiString
push dword [ebp - 0x34]
push 0x47dce4
push 0x47dcf0
lea edx, [ebp - 0x38]
mov eax, 0x47dc28
call sym.D3DWindower.exe__Madstrings_DecryptStr_qqr17System_AnsiString
push dword [ebp - 0x38]
push 0x47dce4
push 0x47dcf0
lea eax, [ebp - 0x3c]
push eax
mov eax, 0x47dc44
pop edx
call sym.D3DWindower.exe__Madstrings_DecryptStr_qqr17System_AnsiString
push dword [ebp - 0x3c]
push 0x47dce4
push 0x47dcf0
mov eax, 0x47dc60
lea edx, [ebp - 0x40]
call sym.D3DWindower.exe__Madstrings_DecryptStr_qqr17System_AnsiString
push dword [ebp - 0x40]
push 0x47dce4
push 0x47dce4
push 0x47dcfc
push 0x47dce4
push 0x47dd38
push 0x47dce4
push 0x47dd74
push 0x47dce4
push 0x47ddb4
push 0x47dce4
push 0x47ddf0
push 0x47dce4
push 0x47dce4
push 0x47de20
push 0x47dce4
push 0x47de5c
lea eax, [ebp - 0x30]
mov edx, 0x1b
call fcn.0046bfbc
mov eax, dword [ebp - 0x30]
call fcn.0046c0c0
push eax
push 0
call sub.USER32.DLL_MessageBoxA
jmp 0x47dbc9
call fcn.00478830
push 0
call sub.KERNEL32.DLL_SetLastError
cmp dword [ebp + 0x14], 0
je 0x47d8af
xor eax, eax
push ebp
push 0x47d8a1
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp - 8], 0
jne 0x47d84d
lea ecx, [ebp - 0x1c]
lea edx, [ebp - 0x14]
mov eax, dword [ebp + 0x14]
call sym.D3DWindower.exe__Madtools_FindModule_qqrpvruir17System_AnsiString
mov eax, dword [ebp + 0x18]
push eax
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x14]
mov dl, 1
mov eax, dword [0x47b574]
call fcn.0047bd6c
mov ebx, eax
jmp 0x47d872
mov eax, dword [ebp + 0x18]
push eax
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 8]
mov dl, 1
mov eax, dword [0x47b574]
call fcn.0047bd6c
mov ebx, eax
cmp byte [ebx + 4], 0
jne 0x47d897
call sub.KERNEL32.DLL_GetLastError
mov dword [ebp - 0x14], eax
mov eax, ebx
call fcn.0046b04c
mov eax, dword [ebp - 0x14]
push eax
call sub.KERNEL32.DLL_SetLastError
xor ebx, ebx
xor eax, eax
mov dword [ebp - 8], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x47d8b1
xor ebx, ebx
test ebx, ebx
jne 0x47d8c9
cmp dword [ebp + 0x14], 0
jne 0x47dbbc
cmp dword [ebp - 0xc], 0
je 0x47dbbc
mov byte [ebp - 0xd], 1
cmp byte [0x49c524], 0
jne 0x47d8e7
push 0x4a18c8
call sub.KERNEL32.DLL_InitializeCriticalSection
mov byte [0x49c524], 1
push 0x4a18c8
call sub.KERNEL32.DLL_EnterCriticalSection
xor eax, eax
push ebp
push 0x47da38
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x4a18e0]
call fcn.0046d1a4
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
inc eax
push eax
mov eax, 0x4a18e0
mov ecx, 1
mov edx, dword [0x47d4d8]
call fcn.0046d360
add esp, 4
mov eax, dword [ebp - 0x14]
lea eax, [eax + eax*4]
mov edx, dword [0x4a18e0]
mov ecx, dword [ebp - 4]
mov dword [edx + eax*8], ecx
mov eax, dword [ebp - 0x14]
lea eax, [eax + eax*4]
mov edx, dword [0x4a18e0]
mov ecx, dword [ebp - 8]
mov dword [edx + eax*8 + 4], ecx
mov eax, dword [ebp - 0x14]
lea eax, [eax + eax*4]
mov edx, dword [0x4a18e0]
lea eax, [edx + eax*8 + 8]
mov edx, dword [ebp - 0xc]
call fcn.0046bcd4
lea ecx, [ebp - 0x44]
mov dl, 1
mov eax, dword [ebp - 0xc]
call sym.D3DWindower.exe__Madstrings_AnsiToWideEx_qqr17System_AnsiStringo
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x14]
lea eax, [eax + eax*4]
mov ecx, dword [0x4a18e0]
lea eax, [ecx + eax*8 + 0xc]
call fcn.0046bcd4
mov eax, dword [ebp - 0x14]
lea eax, [eax + eax*4]
mov edx, dword [0x4a18e0]
lea eax, [edx + eax*8 + 0x10]
mov edx, dword [ebp + 0x18]
call fcn.0046bcd4
mov eax, dword [ebp - 0x14]
lea eax, [eax + eax*4]
mov edx, dword [0x4a18e0]
mov ecx, dword [ebp + 0x14]
mov dword [edx + eax*8 + 0x14], ecx
mov eax, dword [ebp - 0x14]
lea eax, [eax + eax*4]
mov edx, dword [0x4a18e0]
mov dword [edx + eax*8 + 0x18], ebx
mov eax, dword [ebp - 0x14]
lea eax, [eax + eax*4]
mov edx, dword [0x4a18e0]
mov ecx, dword [ebp + 0xc]
mov dword [edx + eax*8 + 0x1c], ecx
mov eax, dword [ebp - 0x14]
lea eax, [eax + eax*4]
mov edx, dword [0x4a18e0]
mov ecx, dword [ebp + 0x10]
mov dword [edx + eax*8 + 0x20], ecx
mov eax, dword [ebp - 0x14]
lea eax, [eax + eax*4]
mov edx, dword [0x4a18e0]
mov ecx, dword [ebp + 8]
mov dword [edx + eax*8 + 0x24], ecx
cmp dword [ebp - 4], 0
je 0x47da17
cmp dword [0x49c464], 0
jne 0x47da17
cmp dword [0x49c46c], 0
je 0x47da1b
xor eax, eax
jmp 0x47da1d
mov al, 1
mov byte [ebp - 0x15], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47da3f
push 0x4a18c8
call sub.KERNEL32.DLL_LeaveCriticalSection
ret
cmp byte [ebp - 0xd], 0
je 0x47dbc9
push 0
call sub.KERNEL32.DLL_SetLastError
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47dbfb
lea eax, [ebp - 0x50]
mov edx, 0xe
call fcn.0046bca4
lea eax, [ebp - 0xc]
call fcn.0046bc80
lea eax, [ebp + 0x18]
call fcn.0046bc80
ret