Function at 0x10008700
Capabilities:
Check mutex on windows
Delete file
Get file size
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa8
push ebx
push esi
push edi
mov dword [ebp - 0xa8], ecx
push eax
xor eax, eax
xor eax, eax
xor eax, eax
xor eax, eax
nop
je 0x10008724
nop
nop
nop
sub al, 0x2d
pop eax
pop eax
mov eax, dword [ebp + 8]
push eax
push 0x1f45
mov ecx, dword [ebp - 0xa8]
add ecx, 4
call fcn.10004b00
and eax, eax
jne 0x10008747
xor eax, eax
jmp 0x10008984
mov byte [ebp - 0x84], 0
mov ecx, 0x1f
xor eax, eax
lea edi, [ebp - 0x83]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x10015278
push str.Global_s_15e_EVENT
lea ecx, [ebp - 0x84]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea edx, [ebp - 0x84]
push edx
push 0
push 0x1f0003
call dword [sym.imp.KERNEL32.dll_OpenEventA]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
jne 0x100087a4
xor eax, eax
jmp 0x10008984
push 0x10015278
push str.Global_s_15e_Contr
lea eax, [ebp - 0x84]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea ecx, [ebp - 0x84]
push ecx
push 0
push 0x100000
call dword [sym.imp.KERNEL32.dll_OpenMutexA]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x100087e2
xor eax, eax
jmp 0x10008984
push 0xffffffffffffffff
mov edx, dword [ebp - 0x88]
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x10008968
mov eax, dword [ebp - 0x88]
push eax
call dword [sym.imp.KERNEL32.dll_ResetEvent]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
push 0xffffffffffffffff
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x100088df
push 0
push 0x80
push 3
push 0
push 1
push bind
push 0x10015406
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0xffffffff
je 0x100088d5
push 0
mov edx, dword [ebp - 0x94]
push edx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x98], 0
jbe 0x100088bd
mov eax, dword [ebp - 0x98]
push eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [ebp - 0x9c], eax
mov ecx, dword [ebp - 0x9c]
mov dword [ebp - 0x90], ecx
push 0
lea edx, [ebp - 0x8c]
push edx
mov eax, dword [ebp - 0x98]
push eax
mov ecx, dword [ebp - 0x90]
push ecx
mov edx, dword [ebp - 0x94]
push edx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [ebp - 0x94]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x10015406
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp dword [ebp - 0x8c], 0
jbe 0x10008963
cmp dword [ebp - 0x90], 0
je 0x10008963
push 0
push 0
push 0
mov ecx, dword [ebp - 0xa8]
add ecx, 4
call fcn.10004f60
test eax, eax
je 0x1000892b
push 0
mov edx, dword [ebp - 0x8c]
push edx
mov eax, dword [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0xa8]
add ecx, 4
call fcn.10005110
test eax, eax
jne 0x10008948
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0xa0], ecx
mov edx, dword [ebp - 0xa0]
push edx
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 4
jmp 0x10008968
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xa4], eax
mov ecx, dword [ebp - 0xa4]
push ecx
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 4
jmp 0x100087e2
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x88]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4