Function at 0x10006960
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1c
cmp byte [0x10034a88], 0
push ebx
push esi
mov esi, ecx
push edi
mov dword [esp + 0x18], esi
jne 0x10006b86
cmp byte [0x10034a8a], 0
jne 0x100069a4
call fcn.100056e0
mov byte [0x10034a8a], al
test al, al
jne 0x100069a4
mov byte [0x10034a88], 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call dword [0x10034b30]
cmp byte [0x10034401], 0
mov edi, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ebx, dword [sym.imp.KERNEL32.dll_CloseHandle]
je 0x10006a46
call fcn.10007950
mov dword [esp + 0x14], eax
mov ecx, edx
sub eax, dword [0x10034a70]
mov dword [esp + 0x1c], ecx
sbb ecx, dword [0x10034a74]
mov byte [esp + 0x13], 1
cmp ecx, 1
jb 0x10006a23
ja 0x100069f1
cmp eax, 0x2a05f200
jbe 0x10006a23
push 0x10034420
push 0
push 0x100000
call dword [sym.imp.KERNEL32.dll_OpenMutexW]
test eax, eax
setne byte [esp + 0x13]
test eax, eax
je 0x10006a11
push eax
call ebx
mov eax, dword [esp + 0x14]
mov dword [0x10034a70], eax
mov eax, dword [esp + 0x1c]
mov dword [0x10034a74], eax
push 0
push dword [0x100344a4]
call edi
test eax, eax
je 0x10006a38
cmp byte [esp + 0x13], 0
jne 0x10006a3d
call fcn.10005400
cmp byte [0x10034401], 0
jne 0x10006ab7
push 0
push dword [0x100344ac]
call edi
test eax, eax
jne 0x10006aaa
push 0x10034420
push eax
push 0x100000
call dword [sym.imp.KERNEL32.dll_OpenMutexW]
test eax, eax
setne cl
mov byte [esp + 0x13], cl
test eax, eax
je 0x10006a79
push eax
call ebx
mov cl, byte [esp + 0x13]
test cl, cl
je 0x10006aaa
mov eax, dword [0x100344a0]
test eax, eax
je 0x10006a8b
cmp eax, 0xffffffff
jne 0x10006a90
call fcn.10007190
mov ecx, esi
call fcn.10006400
cmp eax, 0xfffffffe
jne 0x10006aaa
mov ecx, esi
mov byte [0x10034ad5], 1
call fcn.10006400
cmp byte [0x10034401], 0
je 0x10006b7c
mov eax, dword [0x100344a8]
mov edi, dword [eax + 0x38]
mov ebx, dword [eax + 0x3c]
mov eax, edi
or eax, ebx
je 0x10006b3b
call fcn.10007950
mov esi, dword [0x10034ab4]
mov ecx, eax
sub eax, dword [0x10034ab0]
mov dword [esp + 0x14], edx
sbb dword [esp + 0x14], esi
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x14], ebx
jb 0x10006b7c
ja 0x10006afb
cmp eax, edi
jb 0x10006b7c
mov eax, ebx
mov esi, edi
shld eax, esi, 1
add esi, esi
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x18]
cmp dword [esp + 0x14], eax
jb 0x10006b1f
ja 0x10006b2f
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x20]
ja 0x10006b2f
mov ecx, dword [0x10034ab0]
mov edx, dword [0x10034ab4]
add ecx, edi
adc edx, ebx
mov dword [0x10034ab0], ecx
mov dword [0x10034ab4], edx
cmp esi, dword [0x10034ac0]
jne 0x10006b7c
lea eax, [esp + 0x24]
mov ecx, esi
push eax
lea edx, [esp + 0x1c]
call fcn.10005cb0
mov ecx, dword [esp + 0x1c]
add esp, 4
mov eax, dword [esp + 0x24]
cmp ecx, dword [0x10034ac4]
jne 0x10006ba3
cmp eax, dword [0x10034ac8]
jne 0x10006ba3
cmp byte [0x10034ad4], 0
je 0x10006b8d
call fcn.10006660
mov ecx, str.opengl
call fcn.10007110
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.10006790
mov ecx, str.opengl
call fcn.10007110
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test ecx, ecx
je 0x10006b86
test eax, eax
je 0x10006b86
call fcn.10005400
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret