Function at 0x1002cc8a
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
push edi
mov edi, eax
call fcn.10027ed9
test al, al
je 0x1002ceb5
push ebx
push esi
lea eax, [ebp - 0x48]
push eax
push edi
mov dword [ebp - 0x48], 0x3c
call dword [sym.imp.USER32.dll_GetWindowInfo]
push edi
call dword [sym.imp.USER32.dll_GetParent]
push edi
mov dword [ebp - 4], eax
call fcn.10027f3e
pop ecx
test al, 0x40
je 0x1002ce04
mov esi, edi
call fcn.1002cb7e
xor esi, esi
mov ebx, 0x1005a1f4
cmp dword [0x1005a204], esi
je 0x1002ccf0
cmp dword [ebx + 4], edi
je 0x1002cd51
mov ebx, dword [ebx + 0x10]
cmp dword [ebx + 0x10], esi
jne 0x1002cce3
cmp dword [ebx + 4], edi
je 0x1002cd51
push 0x14
pop ecx
call fcn.1000e7e0
mov dword [ebx + 0x10], eax
mov ebx, eax
mov eax, dword [0x10054598]
push dword [eax + 0x790]
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebx + 8], eax
mov eax, dword [0x10054598]
mov ecx, dword [eax + 0x1c]
push dword [ecx + 0x18e]
push dword [ecx + 0x18a]
push dword [eax + 0x790]
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
push eax
push dword [ebx + 8]
call dword [sym.imp.GDI32.dll_SelectObject]
push esi
push esi
push esi
mov dword [ebx + 0xc], eax
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [ebx], eax
mov dword [ebx + 4], edi
push 0x485
push esi
push esi
push edi
call dword [sym.imp.USER32.dll_RedrawWindow]
push esi
push 1
push 0x86
push edi
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [0x10054598]
push esi
push dword [eax + 0x790]
push dword [ebp - 4]
call dword [sym.imp.USER32.dll_PrintWindow]
mov eax, dword [0x10054598]
push 0x3e
push dword [eax + 0x790]
push 0x317
push edi
call dword [sym.imp.USER32.dll_DefWindowProcW]
push 0xffffffffffffffff
push dword [ebx]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push esi
push esi
push esi
push dword [ebx + 8]
call dword [sym.imp.GDI32.dll_SetViewportOrgEx]
cmp dword [ebp - 0x44], esi
jge 0x1002cdba
mov dword [ebp - 0x44], esi
cmp dword [ebp - 0x40], esi
jge 0x1002cdc2
mov dword [ebp - 0x40], esi
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x2c]
push 0xcc0020
push esi
push esi
push dword [ebx + 8]
sub ecx, eax
sub eax, dword [ebp - 0x40]
push ecx
mov ecx, dword [ebp - 0x34]
sub edx, ecx
sub ecx, dword [ebp - 0x44]
push edx
push eax
mov eax, dword [0x10054598]
push ecx
push dword [eax + 0x790]
call dword [sym.imp.GDI32.dll_BitBlt]
push dword [ebx]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
jmp 0x1002cea4
push 0xffffffffffffffe6
push dword [ebp - 4]
call dword [sym.imp.USER32.dll_GetClassLongW]
mov ebx, dword [sym.imp.USER32.dll_DefWindowProcW]
xor esi, esi
test al, 0xc0
mov eax, dword [0x10054598]
je 0x1002ce34
push 0x3e
push dword [eax + 0x7a8]
push 0x317
push dword [ebp - 4]
call ebx
jmp 0x1002ce44
push esi
push dword [eax + 0x7a8]
push dword [ebp - 4]
call dword [sym.imp.USER32.dll_PrintWindow]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 8], eax
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 4]
call dword [sym.imp.USER32.dll_ScreenToClient]
mov eax, dword [0x10054598]
mov ecx, dword [ebp - 0x28]
sub ecx, dword [ebp - 0x30]
push 0xcc0020
push dword [ebp - 8]
push dword [ebp - 0xc]
push dword [eax + 0x7a8]
push ecx
mov ecx, dword [ebp - 0x2c]
sub ecx, dword [ebp - 0x34]
push ecx
push esi
push esi
push dword [eax + 0x790]
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [0x10054598]
push 0x3e
push dword [eax + 0x790]
push 0x317
push edi
call ebx
push dword [0x10054598]
lea eax, [ebp - 0x44]
call fcn.10028d5e
pop ecx
pop esi
pop ebx
pop edi
leave
ret