Function at 0x432490
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov dword [ebp - 4], edi
mov dword [ebp - 8], esi
mov dword [ebp - 0xc], ebx
mov esi, edx
mov ebx, eax
cmp ebx, 0xfffffffb
jl 0x4324b0
je 0x432839
jmp 0x4324c6
push 0x54c
push str.for_lub_mgt.c
push 2
push 8
call fcn.00434a44
add esp, 0x10
lea ecx, [ebx + 5]
cmp ecx, 0x69
jge 0x4326b3
lea eax, [ebx*4 + 0x14]
mov edx, eax
shl edx, 3
sub edx, eax
mov eax, dword [edx + 0x4407e78]
test eax, eax
je 0x4324f1
mov edx, dword [eax + 0x18]
test edx, edx
je 0x43250b
mov dword [ebp - 0x10], ecx
push 0
push ebx
call fcn.00435b5c
add esp, 8
mov ebx, dword [ebp - 0xc]
mov esi, dword [ebp - 8]
xor eax, eax
mov esp, ebp
pop ebp
ret
mov edi, dword [eax + 0x64]
mov dword [eax + 0x64], 0
test esi, esi
je 0x43263a
movzx edx, byte [eax + 0x159]
mov dword [ebp - 0x10], ecx
test dl, 0x18
jne 0x43259e
lea edx, [ebx*4 + 0x14]
mov ebx, dword [0x4c9460]
mov esi, edx
shl esi, 3
sub esi, edx
xor ecx, ecx
mov dword [esi + 0x4407e68], 0xffffffff
mov dword [esi + 0x4407e78], ecx
cmp ebx, 2
mov dword [esi + 0x4407e6c], ecx
jge 0x432569
mov dword [esi + 0x4407e64], 0
jmp 0x432592
mov dword [esi + 0x4407e64], 0
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
mov edx, ecx
shl edx, 2
shl ecx, 5
sub ecx, edx
push dword [ecx + 0x4407e60]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov eax, dword [ebp - 0x14]
push eax
call fcn.004316dc
pop ecx
jmp 0x432699
mov ebx, dword [eax + 0xec]
push 0x170
push 0
mov dword [ebp - 0x14], eax
push eax
call fcn.004a3ab8
mov eax, dword [ebp - 0x14]
add esp, 0xc
mov ecx, dword [0x4c9460]
movzx edx, byte [eax + 0x159]
or byte [eax + 0x162], 4
and edx, 0xffffffe7
or edx, 8
mov byte [eax + 0x159], dl
mov edx, dword [ebp - 0x10]
mov dword [eax + 0xec], ebx
mov eax, edx
shl eax, 2
shl edx, 5
sub edx, eax
mov dword [edx + 0x4407e6c], 0
cmp ecx, 2
mov dword [edx + 0x4407e68], 0xffffffff
jge 0x432615
mov dword [edx + 0x4407e64], 0
jmp 0x432699
mov dword [edx + 0x4407e64], 0
mov edx, dword [ebp - 0x10]
mov eax, edx
shl eax, 2
shl edx, 5
sub edx, eax
push dword [edx + 0x4407e60]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
jmp 0x432699
mov edx, dword [0x4c9460]
lea eax, [ebx*4 + 0x14]
mov ebx, eax
shl ebx, 3
sub ebx, eax
cmp edx, 2
mov dword [ebx + 0x4407e6c], 0
mov dword [ebx + 0x4407e68], 0xffffffff
jge 0x432673
mov dword [ebx + 0x4407e64], 0
jmp 0x432699
mov dword [ebp - 0x10], ecx
mov dword [ebx + 0x4407e64], 0
mov edx, dword [ebp - 0x10]
mov eax, edx
shl eax, 2
shl edx, 5
sub edx, eax
push dword [edx + 0x4407e60]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
test edi, edi
je 0x4326a4
mov dword [edi + 4], 0
mov ebx, dword [ebp - 0xc]
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 4]
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 [0x4c9460]
mov dword [ebp - 0x10], edx
cmp eax, 2
jge 0x432710
mov eax, edx
shl eax, 2
shl edx, 5
sub edx, eax
mov edx, dword [edx + 0x4407e64]
test edx, edx
jne 0x432796
mov edx, dword [ebp - 0x10]
mov eax, edx
shl eax, 2
shl edx, 5
sub edx, eax
mov dword [edx + 0x4407e64], 1
jmp 0x432796
lea eax, [ecx*4 + 0x1a4]
mov edx, eax
shl edx, 3
sub edx, eax
lea ecx, [edx + 0x4407e64]
push ecx
call fcn.004161ac
pop ecx
test eax, eax
jne 0x432796
mov edx, dword [ebp - 0x10]
mov eax, edx
shl eax, 2
shl edx, 5
sub edx, eax
mov ecx, dword [edx + 0x4407e60]
test ecx, ecx
je 0x432a6c
mov edx, dword [ebp - 0x10]
mov eax, edx
shl eax, 2
shl edx, 5
sub edx, eax
mov dword [edx + 0x4407e64], 0
mov edx, dword [ebp - 0x10]
push 0xffffffffffffffff
mov eax, edx
shl eax, 2
shl edx, 5
sub edx, eax
push dword [edx + 0x4407e60]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edx, dword [ebp - 0x10]
mov eax, edx
shl eax, 2
shl edx, 5
sub edx, eax
lea ecx, [edx + 0x4407e64]
push ecx
call fcn.004161ac
pop ecx
mov edi, dword [0x4c9460]
cmp edi, 1
je 0x432a47
mov ecx, dword [ebp - 0x10]
mov eax, ecx
shl eax, 2
mov edx, ecx
shl edx, 5
sub edx, eax
mov eax, dword [edx + 0x4407e78]
mov dword [ebp - 0x14], edx
test eax, eax
je 0x4327d8
xor edx, edx
cmp ebx, dword [eax + 0xec]
jle 0x432924
mov edx, eax
mov eax, dword [eax + 0x28]
test eax, eax
jne 0x4327c3
cmp edi, 1
je 0x4328ff
mov eax, ecx
shl eax, 2
shl ecx, 5
sub ecx, eax
cmp edi, 2
jge 0x4327fc
mov dword [ecx + 0x4407e64], 0
jmp 0x43281f
mov dword [ecx + 0x4407e64], 0
mov edx, dword [ebp - 0x10]
mov eax, edx
shl eax, 2
shl edx, 5
sub edx, eax
push dword [edx + 0x4407e60]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push 0
push ebx
call fcn.00435b5c
add esp, 8
mov ebx, dword [ebp - 0xc]
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 4]
xor eax, eax
mov esp, ebp
pop ebp
ret
mov eax, dword [0x4c9460]
cmp eax, 2
jge 0x432851
cmp eax, 1
je 0x4328b6
mov dword [ebp - 0x14], 0x4c93c0
jmp 0x43285f
lea eax, [ebp - 0x14]
push eax
call fcn.004164dc
pop ecx
test eax, eax
jne 0x4328ac
mov edx, dword [ebp - 0x14]
mov ebx, dword [edx]
test ebx, ebx
je 0x4328d9
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 0x43288e
push dword [edx + 4]
call fcn.004316dc
pop ecx
mov edx, dword [ebx + 0x58]
push edx
call fcn.004316dc
push ebx
call fcn.004316dc
add esp, 8
mov eax, dword [0x4c9460]
cmp eax, 1
je 0x4328c3
jmp 0x432699
mov ebx, dword [ebp - 0xc]
mov esi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push 0x4c9424
call fcn.00416180
pop ecx
jmp 0x432848
mov eax, dword [ebp - 0x14]
push dword [eax + 0x68]
push dword [eax + 0x64]
call fcn.00416160
add esp, 8
jmp 0x432699
mov eax, dword [0x4c9460]
cmp eax, 1
je 0x4328ef
mov ebx, dword [ebp - 0xc]
mov esi, dword [ebp - 8]
xor eax, eax
mov esp, ebp
pop ebp
ret
push dword [edx + 0x68]
push dword [edx + 0x64]
call fcn.00416160
add esp, 8
jmp 0x4328e3
mov eax, dword [ebp - 0x14]
push dword [eax + 0x4407e74]
push dword [eax + 0x4407e70]
call fcn.00416160
add esp, 8
mov ecx, dword [ebp - 0x10]
mov edi, dword [0x4c9460]
jmp 0x4327e1
jne 0x4327d8
test esi, esi
je 0x43293c
test edx, edx
je 0x432a04
mov ebx, dword [eax + 0x28]
mov dword [edx + 0x28], ebx
cmp edi, 1
je 0x432a15
mov edx, ecx
shl edx, 2
shl ecx, 5
sub ecx, edx
cmp edi, 2
jge 0x432960
mov dword [ecx + 0x4407e64], 0
jmp 0x432989
mov dword [ecx + 0x4407e64], 0
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
mov edx, ecx
shl edx, 2
shl ecx, 5
sub ecx, edx
push dword [ecx + 0x4407e60]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov eax, dword [ebp - 0x14]
mov ecx, dword [0x4c9460]
mov edi, dword [eax + 0x64]
mov dword [eax + 8], 0xffffffff
xor edx, edx
mov dword [eax + 0x64], edx
mov dword [eax + 0xc], edx
cmp ecx, 2
jge 0x4329af
mov dword [eax + 4], 0
jmp 0x4329c4
push dword [eax]
mov dword [eax + 4], 0
mov dword [ebp - 0x14], eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov eax, dword [ebp - 0x14]
test esi, esi
je 0x432699
mov edx, dword [0x4c9460]
cmp edx, 2
jl 0x4329ea
mov edx, dword [eax]
test edx, edx
je 0x4329ea
push edx
mov dword [ebp - 0x14], 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.004316dc
pop ecx
jmp 0x432699
mov ebx, dword [ebp - 0x14]
mov edx, dword [eax + 0x28]
mov dword [ebx + 0x4407e78], edx
jmp 0x43293c
mov dword [ebp - 0x14], eax
mov edx, ecx
shl edx, 2
shl ecx, 5
sub ecx, edx
push dword [ecx + 0x4407e74]
push dword [ecx + 0x4407e70]
call fcn.00416160
mov eax, dword [ebp - 0x14]
add esp, 8
mov ecx, dword [ebp - 0x10]
mov edi, dword [0x4c9460]
jmp 0x432945
mov edx, dword [ebp - 0x10]
mov eax, edx
shl eax, 2
shl edx, 5
sub edx, eax
lea ecx, [edx + 0x4407e70]
push ecx
call fcn.00416180
pop ecx
mov edi, dword [0x4c9460]
jmp 0x4327a5
xor eax, eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov ecx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x10]
mov edx, ecx
shl edx, 2
shl ecx, 5
sub ecx, edx
mov dword [ecx + 0x4407e60], eax
mov eax, edi
shl eax, 2
shl edi, 5
sub edi, eax
mov dword [edi + 0x4407e64], 0
jmp 0x432761