Function at 0x5a639417
Capabilities:
Check mutex on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xb0
mov eax, dword [0x5a63e034]
push ebx
push esi
push edi
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push 0x25
mov dword [ebp - 0xb0], eax
pop ecx
xor eax, eax
lea edi, [ebp - 0x98]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x98]
push eax
mov dword [ebp - 0x98], 0x94
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
je 0x5a6394ba
cmp dword [ebp - 0x88], 2
jne 0x5a639485
push 0x5a631458
push 0
xor esi, esi
push 0
inc esi
call fcn.5a6392ef
mov edi, dword [sym.imp.KERNEL32.dll_CreateEventA]
push eax
call edi
xor ebx, ebx
jmp 0x5a639499
xor ebx, ebx
xor esi, esi
mov edi, dword [sym.imp.KERNEL32.dll_CreateEventA]
push 0x5a631448
push ebx
push ebx
push ebx
call edi
cmp eax, ebx
mov dword [ebp - 0x9c], eax
je 0x5a63958b
cmp esi, ebx
je 0x5a6394c0
push 0x5a63142c
push ebx
push ebx
call fcn.5a6392ef
push eax
jmp 0x5a6394c8
xor esi, esi
xor ebx, ebx
jmp 0x5a639489
push 0x5a631418
push ebx
push ebx
push ebx
call edi
cmp eax, ebx
mov dword [ebp - 0xa0], eax
jne 0x5a6394e5
push dword [ebp - 0x9c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x5a63958b
cmp esi, ebx
je 0x5a6394fb
push 0x5a631400
push 0x10
push ebx
push 4
call fcn.5a6392ef
push eax
jmp 0x5a639506
push 0x5a6313ec
push 0x10
push ebx
push 4
push ebx
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
cmp eax, ebx
mov dword [ebp - 0xa4], eax
jne 0x5a639520
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x5a63957b
push ebx
push ebx
push ebx
push 0xf001f
push dword [ebp - 0xa4]
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov edi, eax
cmp edi, ebx
mov dword [ebp - 0xac], edi
je 0x5a63956d
cmp esi, ebx
je 0x5a63954b
push 0x5a6313d4
jmp 0x5a639550
push 0x5a6313c4
push ebx
push 0x100000
call dword [sym.imp.KERNEL32.dll_OpenMutexA]
cmp eax, ebx
mov dword [ebp - 0xa8], eax
jne 0x5a639592
push edi
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
push dword [ebp - 0xa4]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push dword [ebp - 0x9c]
call esi
push dword [ebp - 0xa0]
call esi
xor eax, eax
jmp 0x5a63961d
mov ebx, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push 0xffffffffffffffff
push dword [ebp - 0xa8]
call ebx
mov esi, dword [ebp - 0xb0]
push dword [ebp - 0x9c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [sym.imp.KERNEL32.dll_SetEvent]
test eax, eax
je 0x5a6395db
push 0xffffffffffffffff
push dword [ebp - 0xa0]
call ebx
mov esi, dword [ebp - 0xac]
mov edi, dword [ebp - 0xb0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor edi, edi
inc edi
jmp 0x5a6395dd
xor edi, edi
push dword [ebp - 0xa8]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push dword [ebp - 0xa8]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push dword [ebp - 0x9c]
call esi
push dword [ebp - 0xa0]
call esi
push dword [ebp - 0xac]
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
push dword [ebp - 0xa4]
call esi
mov eax, edi
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.5a639a99
leave
ret 4