Function at 0x100265c0
Capabilities:
Check mutex on windows

Disassembly:
cmp dword [0x1006efcc], 0
jne 0x100268e1
push str.KW_SHARED_MEM_MUTEX
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov dword [0x1006efc8], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x10026609
push 0xffffffffffffffff
push dword [0x1006efc8]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp dword [0x1006efcc], 0
jne 0x100268d5
push edi
push str.KW_SHARED_MEM_FILEMAPPING
push 0x51e054
push 0
push 0x40
push 0
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov dword [0x1006efcc], eax
mov edi, 1
call dword [sym.imp.KERNEL32.dll_GetLastError]
xor ecx, ecx
cmp eax, 0xb7
mov eax, dword [0x1006efcc]
push ecx
push ecx
push ecx
push 0xf001f
push eax
cmove edi, ecx
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov dword [0x1006efc4], eax
test eax, eax
je 0x10026664
lea ecx, [eax + 4]
mov dword [0x1006efd0], ecx
jmp 0x1002666e
mov dword [0x1006efd0], 0
test edi, edi
pop edi
je 0x100268a9
mov dword [eax], 0x1e054
xor ecx, ecx
nop
mov eax, dword [0x1006efd0]
mov dword [ecx + eax], 0
add ecx, 4
cmp ecx, 0x5000
jl 0x10026680
mov eax, dword [0x1006efd0]
xor ecx, ecx
mov edi, edi
cmp dword [eax + ecx*4], 0
je 0x100266b1
inc ecx
cmp ecx, 0x1400
jl 0x100266a0
jmp 0x100266e4
mov dword [eax + ecx*4], 1
lea ecx, [ecx + ecx*4]
shl ecx, 2
lea eax, [ecx + 0x5004]
test eax, eax
je 0x100266df
mov eax, dword [0x1006efc4]
test eax, eax
je 0x100266df
add eax, 0x5004
add ecx, eax
mov eax, dword [0x1006efd0]
jmp 0x100266e6
mov eax, dword [0x1006efd0]
xor ecx, ecx
mov dword [0x1006efd4], ecx
xor ecx, ecx
mov edi, edi
cmp dword [eax + ecx*4], 0
je 0x10026701
inc ecx
cmp ecx, 0x1400
jl 0x100266f0
jmp 0x10026734
mov dword [eax + ecx*4], 1
lea ecx, [ecx + ecx*4]
shl ecx, 2
lea eax, [ecx + 0x5004]
test eax, eax
je 0x1002672f
mov eax, dword [0x1006efc4]
test eax, eax
je 0x1002672f
add eax, 0x5004
add ecx, eax
mov eax, dword [0x1006efd0]
jmp 0x10026736
mov eax, dword [0x1006efd0]
xor ecx, ecx
mov dword [0x1006efd8], ecx
xor ecx, ecx
mov edi, edi
cmp dword [eax + ecx*4], 0
je 0x10026751
inc ecx
cmp ecx, 0x1400
jl 0x10026740
jmp 0x10026784
mov dword [eax + ecx*4], 1
lea ecx, [ecx + ecx*4]
shl ecx, 2
lea eax, [ecx + 0x5004]
test eax, eax
je 0x1002677f
mov eax, dword [0x1006efc4]
test eax, eax
je 0x1002677f
add eax, 0x5004
add ecx, eax
mov eax, dword [0x1006efd0]
jmp 0x10026786
mov eax, dword [0x1006efd0]
xor ecx, ecx
mov dword [0x1006efdc], ecx
xor ecx, ecx
mov edi, edi
cmp dword [eax + ecx*4], 0
je 0x100267ce
inc ecx
cmp ecx, 0x1400
jl 0x10026790
xor eax, eax
mov dword [0x1006efe0], eax
mov eax, dword [0x1006efd4]
mov dword [eax], 0
mov eax, dword [0x1006efd8]
mov edx, dword [0x1006efd4]
test eax, eax
je 0x100267f7
mov ecx, dword [0x1006efc4]
test ecx, ecx
je 0x100267f7
sub eax, ecx
jmp 0x100267f9
mov dword [eax + ecx*4], 1
lea ecx, [ecx + ecx*4]
shl ecx, 2
lea eax, [ecx + 0x5004]
test eax, eax
je 0x1002679f
mov eax, dword [0x1006efc4]
test eax, eax
je 0x1002679f
add eax, 0x5004
add eax, ecx
jmp 0x100267a1
xor eax, eax
mov dword [edx + 4], eax
mov eax, dword [0x1006efd4]
mov edx, dword [0x1006efd8]
test eax, eax
je 0x10026819
mov ecx, dword [0x1006efc4]
test ecx, ecx
je 0x10026819
sub eax, ecx
jmp 0x1002681b
xor eax, eax
mov dword [edx], eax
mov eax, dword [0x1006efd8]
mov dword [eax + 4], 0
mov eax, dword [0x1006efdc]
mov dword [eax], 0
mov eax, dword [0x1006efe0]
mov edx, dword [0x1006efdc]
test eax, eax
je 0x10026851
mov ecx, dword [0x1006efc4]
test ecx, ecx
je 0x10026851
sub eax, ecx
jmp 0x10026853
xor eax, eax
mov dword [edx + 4], eax
mov eax, dword [0x1006efdc]
mov edx, dword [0x1006efe0]
test eax, eax
je 0x1002688c
mov ecx, dword [0x1006efc4]
test ecx, ecx
je 0x1002688c
sub eax, ecx
mov dword [edx], eax
mov eax, dword [0x1006efe0]
mov dword [eax + 4], 0
push dword [0x1006efc8]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
ret
xor eax, eax
mov dword [edx], eax
mov eax, dword [0x1006efe0]
mov dword [eax + 4], 0
push dword [0x1006efc8]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
ret
test eax, eax
je 0x100268b5
lea ecx, [eax + 0x5004]
jmp 0x100268b7
xor ecx, ecx
lea eax, [ecx + 0x14]
mov dword [0x1006efd4], ecx
mov dword [0x1006efd8], eax
lea eax, [ecx + 0x28]
mov dword [0x1006efdc], eax
lea eax, [ecx + 0x3c]
mov dword [0x1006efe0], eax
push dword [0x1006efc8]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
ret