Function at 0x100260d4
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov dword [ebp - 8], edi
mov dword [ebp - 4], esi
mov dword [ebp - 0xc], ebx
mov esi, edx
mov ebx, eax
cmp ebx, 0xfffffffb
jl 0x100260f4
je 0x100264c1
jmp 0x1002610a
push 0x531
push str.for_lub_mgt.c
push 2
push 8
call fcn.100149ac
add esp, 0x10
lea ecx, [ebx + 5]
cmp ecx, 0x69
jge 0x100262f7
lea eax, [ebx*4 + 0x14]
mov edx, eax
shl edx, 3
sub edx, eax
mov eax, dword [edx + 0x100d0d38]
test eax, eax
je 0x10026135
mov edx, dword [eax + 0x18]
test edx, edx
je 0x1002614f
mov dword [ebp - 0x18], ecx
push 0
push ebx
call fcn.10077b34
add esp, 8
mov ebx, dword [ebp - 0xc]
mov esi, dword [ebp - 4]
xor eax, eax
mov esp, ebp
pop ebp
ret
mov edi, dword [eax + 0x64]
mov dword [eax + 0x64], 0
test esi, esi
je 0x1002627e
movzx edx, byte [eax + 0x129]
mov dword [ebp - 0x18], ecx
test dl, 0x18
jne 0x100261e2
lea edx, [ebx*4 + 0x14]
mov ebx, dword [0x100ce600]
mov esi, edx
shl esi, 3
sub esi, edx
xor ecx, ecx
mov dword [esi + 0x100d0d28], 0xffffffff
mov dword [esi + 0x100d0d38], ecx
cmp ebx, 2
mov dword [esi + 0x100d0d2c], ecx
jge 0x100261ad
mov dword [esi + 0x100d0d24], 0
jmp 0x100261d6
mov dword [esi + 0x100d0d24], 0
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x10], eax
mov edx, ecx
shl edx, 2
shl ecx, 5
sub ecx, edx
push dword [ecx + 0x100d0d20]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov eax, dword [ebp - 0x10]
push eax
call fcn.10049680
pop ecx
jmp 0x100262dd
mov ebx, dword [eax + 0xc8]
push 0x138
push 0
mov dword [ebp - 0x10], eax
push eax
call fcn.1007f474
mov eax, dword [ebp - 0x10]
add esp, 0xc
mov ecx, dword [0x100ce600]
movzx edx, byte [eax + 0x129]
or byte [eax + 0x132], 1
and edx, 0xffffffe7
or edx, 8
mov byte [eax + 0x129], dl
mov edx, dword [ebp - 0x18]
mov dword [eax + 0xc8], ebx
mov eax, edx
shl eax, 2
shl edx, 5
sub edx, eax
mov dword [edx + 0x100d0d2c], 0
cmp ecx, 2
mov dword [edx + 0x100d0d28], 0xffffffff
jge 0x10026259
mov dword [edx + 0x100d0d24], 0
jmp 0x100262dd
mov dword [edx + 0x100d0d24], 0
mov edx, dword [ebp - 0x18]
mov eax, edx
shl eax, 2
shl edx, 5
sub edx, eax
push dword [edx + 0x100d0d20]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
jmp 0x100262dd
mov edx, dword [0x100ce600]
lea eax, [ebx*4 + 0x14]
mov ebx, eax
shl ebx, 3
sub ebx, eax
cmp edx, 2
mov dword [ebx + 0x100d0d2c], 0
mov dword [ebx + 0x100d0d28], 0xffffffff
jge 0x100262b7
mov dword [ebx + 0x100d0d24], 0
jmp 0x100262dd
mov dword [ebp - 0x18], ecx
mov dword [ebx + 0x100d0d24], 0
mov edx, dword [ebp - 0x18]
mov eax, edx
shl eax, 2
shl edx, 5
sub edx, eax
push dword [edx + 0x100d0d20]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
test edi, edi
je 0x100262e8
mov dword [edi + 4], 0
mov ebx, dword [ebp - 0xc]
mov esi, dword [ebp - 4]
mov edi, dword [ebp - 8]
xor eax, eax
mov esp, ebp
pop ebp
ret
mov eax, 0x3ee4f99d
imul ecx
mov edi, ecx
sar edi, 0x1f
sar edx, 7
sub edx, edi
imul eax, edx, 0x209
sub ecx, eax
lea edx, [ecx + 0x69]
mov eax, dword [0x100ce600]
mov dword [ebp - 0x18], edx
cmp eax, 2
jge 0x10026354
mov eax, edx
shl eax, 2
shl edx, 5
sub edx, eax
mov edx, dword [edx + 0x100d0d24]
test edx, edx
jne 0x100263da
mov edx, dword [ebp - 0x18]
mov eax, edx
shl eax, 2
shl edx, 5
sub edx, eax
mov dword [edx + 0x100d0d24], 1
jmp 0x100263da
lea eax, [ecx*4 + 0x1a4]
mov edx, eax
shl edx, 3
sub edx, eax
lea ecx, [edx + 0x100d0d24]
push ecx
call fcn.10031e7c
pop ecx
test eax, eax
jne 0x100263da
mov edx, dword [ebp - 0x18]
mov eax, edx
shl eax, 2
shl edx, 5
sub edx, eax
mov ecx, dword [edx + 0x100d0d20]
test ecx, ecx
je 0x100266a2
mov edx, dword [ebp - 0x18]
mov eax, edx
shl eax, 2
shl edx, 5
sub edx, eax
mov dword [edx + 0x100d0d24], 0
mov edx, dword [ebp - 0x18]
push 0xffffffffffffffff
mov eax, edx
shl eax, 2
shl edx, 5
sub edx, eax
push dword [edx + 0x100d0d20]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edx, dword [ebp - 0x18]
mov eax, edx
shl eax, 2
shl edx, 5
sub edx, eax
lea ecx, [edx + 0x100d0d24]
push ecx
call fcn.10031e7c
pop ecx
mov ecx, dword [0x100ce600]
test ecx, ecx
jle 0x10026404
mov edx, dword [ebp - 0x18]
mov eax, edx
shl eax, 2
shl edx, 5
sub edx, eax
lea ecx, [edx + 0x100d0d30]
push ecx
call fcn.10031e50
pop ecx
mov ecx, dword [0x100ce600]
mov edx, dword [ebp - 0x18]
mov eax, edx
shl eax, 2
mov edi, edx
shl edi, 5
sub edi, eax
mov eax, dword [edi + 0x100d0d38]
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x14], eax
test eax, eax
je 0x1002643c
mov edi, eax
xor eax, eax
cmp ebx, dword [edi + 0xc8]
jle 0x1002657f
mov eax, edi
mov edi, dword [edi + 0x28]
test edi, edi
jne 0x10026427
test ecx, ecx
jle 0x10026464
mov eax, dword [ebp - 0x10]
push dword [eax + 0x100d0d34]
push dword [eax + 0x100d0d30]
call fcn.10031e30
add esp, 8
mov edx, dword [ebp - 0x18]
mov eax, dword [0x100ce600]
cmp eax, 2
jge 0x1002647a
mov eax, edx
shl eax, 2
shl edx, 5
sub edx, eax
mov dword [edx + 0x100d0d24], 0
jmp 0x100264a7
mov eax, edx
shl eax, 2
shl edx, 5
sub edx, eax
mov dword [edx + 0x100d0d24], 0
mov ecx, dword [ebp - 0x18]
mov edx, ecx
shl edx, 2
shl ecx, 5
sub ecx, edx
push dword [ecx + 0x100d0d20]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push 0
push ebx
call fcn.10077b34
add esp, 8
mov ebx, dword [ebp - 0xc]
mov esi, dword [ebp - 4]
mov edi, dword [ebp - 8]
xor eax, eax
mov esp, ebp
pop ebp
ret
mov eax, dword [0x100ce600]
cmp eax, 2
jge 0x100264e3
test eax, eax
jle 0x100264da
push 0x100ce5c4
call fcn.10031e50
pop ecx
mov dword [ebp - 0x18], 0x100ce560
jmp 0x100264f1
lea eax, [ebp - 0x18]
push eax
call fcn.1003229c
pop ecx
test eax, eax
jne 0x10026552
mov edx, dword [ebp - 0x18]
mov ebx, dword [edx]
test ebx, ebx
je 0x1002655c
mov edi, dword [ebx + 0x28]
mov dword [edx], edi
mov edi, dword [ebx + 0x64]
mov edx, dword [ebx + 0x58]
mov dword [ebx + 0x64], 0
movzx eax, byte [edx + 0x4f]
test al, 2
je 0x10026520
push dword [edx + 4]
call fcn.10049680
pop ecx
mov edx, dword [ebx + 0x58]
push edx
call fcn.10049680
push ebx
call fcn.10049680
add esp, 8
mov eax, dword [0x100ce600]
test eax, eax
jle 0x100262dd
mov eax, dword [ebp - 0x18]
push dword [eax + 0x68]
push dword [eax + 0x64]
call fcn.10031e30
add esp, 8
jmp 0x100262dd
mov ebx, dword [ebp - 0xc]
mov esi, dword [ebp - 4]
mov esp, ebp
pop ebp
ret
mov eax, dword [0x100ce600]
test eax, eax
jle 0x10026573
push dword [edx + 0x68]
push dword [edx + 0x64]
call fcn.10031e30
add esp, 8
mov ebx, dword [ebp - 0xc]
mov esi, dword [ebp - 4]
xor eax, eax
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x14], edi
cmp ebx, dword [edi + 0xc8]
jne 0x1002643c
test esi, esi
je 0x100265a2
test eax, eax
je 0x1002668f
mov ebx, edi
mov edi, dword [ebx + 0x28]
mov dword [eax + 0x28], edi
test ecx, ecx
jle 0x100265d1
mov eax, edx
shl eax, 2
shl edx, 5
sub edx, eax
push dword [edx + 0x100d0d34]
push dword [edx + 0x100d0d30]
call fcn.10031e30
add esp, 8
mov edx, dword [ebp - 0x18]
mov eax, dword [0x100ce600]
cmp eax, 2
jge 0x100265e7
mov eax, edx
shl eax, 2
shl edx, 5
sub edx, eax
mov dword [edx + 0x100d0d24], 0
jmp 0x10026614
mov eax, edx
shl eax, 2
shl edx, 5
sub edx, eax
mov dword [edx + 0x100d0d24], 0
mov ecx, dword [ebp - 0x18]
mov edx, ecx
shl edx, 2
shl ecx, 5
sub ecx, edx
push dword [ecx + 0x100d0d20]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov edx, dword [ebp - 0x14]
mov ecx, dword [0x100ce600]
mov edi, dword [edx + 0x64]
xor eax, eax
mov dword [edx + 0x64], eax
mov dword [edx + 0xc], eax
mov dword [edx + 8], 0xffffffff
cmp ecx, 2
jge 0x1002663f
mov eax, edx
mov dword [eax + 4], 0
jmp 0x10026650
mov eax, edx
push dword [eax]
mov dword [eax + 4], 0
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
test esi, esi
je 0x100262dd
mov eax, dword [0x100ce600]
cmp eax, 2
jl 0x10026672
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
test eax, eax
je 0x10026672
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x14]
mov dword [eax + 8], 0xffffffff
push eax
mov dword [eax + 0xc], 0
call fcn.10049680
pop ecx
jmp 0x100262dd
mov eax, edi
mov edi, dword [ebp - 0x10]
mov ebx, dword [eax + 0x28]
mov dword [edi + 0x100d0d38], ebx
jmp 0x100265a2
xor eax, eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x18]
mov edx, ecx
shl edx, 2
shl ecx, 5
sub ecx, edx
mov dword [ecx + 0x100d0d20], eax
mov eax, edi
shl eax, 2
shl edi, 5
sub edi, eax
mov dword [edi + 0x100d0d24], 0
jmp 0x100263a5