Function at 0x2e002185
Capabilities:
Check mutex on windows
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x60
push esi
push edi
push dword [0x2e013100]
xor edi, edi
mov esi, 0x104
mov dword [ebp - 4], edi
mov dword [ebp - 0xc], edi
mov dword [ebp - 8], esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x2e00276c
push 1
push edi
mov dword [0x2e013100], edi
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
test eax, eax
je 0x2e008566
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x2e008582
push ebx
xor ecx, ecx
push 2
pop edx
mov eax, esi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.2e003024
mov esi, eax
pop ecx
mov dword [ebp - 0xc], esi
cmp esi, edi
je 0x2e0085f7
push dword [ebp - 8]
push esi
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov ebx, eax
cmp ebx, edi
jbe 0x2e0085c1
cmp ebx, dword [ebp - 8]
jae 0x2e008596
push 0x22
xor ecx, ecx
pop eax
cmp ax, word [esi]
sete cl
xor eax, eax
mov dword [ebp - 8], ecx
cmp ax, word [esi + ebx*2 - 2]
je 0x2e0085dd
xor ecx, ecx
lea eax, [esi + ebx*2]
mov word [eax], cx
cmp ebx, edi
jbe 0x2e00224d
push 0x22
pop ecx
cmp cx, word [eax - 2]
je 0x2e0085e3
xor eax, eax
xor eax, dword [ebp - 8]
jne 0x2e0085eb
cmp ebx, edi
jbe 0x2e0023b8
push 0x44
pop edi
push edi
xor esi, esi
lea eax, [ebp - 0x60]
push esi
push eax
call sub.MSVCR90.dll_memset
mov ecx, dword [0x2e0023d8]
mov dword [ebp - 0x60], edi
xor eax, eax
lea edi, [ebp - 0x1c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [0x2e0023d4]
add ecx, eax
add ecx, dword [0x2e0023e0]
push 2
add ecx, dword [0x2e0023dc]
pop edx
lea eax, [ecx + ebx + 0xb]
xor ecx, ecx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.2e003024
mov edi, eax
add esp, 0x10
test edi, edi
je 0x2e0085f7
cmp dword [ebp - 8], 0
jne 0x2e0022c9
push 0x22
pop eax
xor esi, esi
mov word [edi], ax
inc esi
lea eax, [ebx + ebx]
push eax
push dword [ebp - 0xc]
lea eax, [edi + esi*2]
push eax
call sub.MSVCR90.dll_memcpy
add esi, ebx
xor ebx, ebx
add esp, 0xc
cmp dword [ebp - 8], ebx
jne 0x2e0022ed
push 0x22
pop eax
mov word [edi + esi*2], ax
inc esi
push 0x20
pop eax
mov word [edi + esi*2], ax
push 0x2f
pop eax
inc esi
mov word [edi + esi*2], ax
mov eax, dword [0x2e0023dc]
add eax, eax
push eax
inc esi
lea eax, [edi + esi*2]
push 0x2e002758
push eax
call sub.MSVCR90.dll_memcpy
add esi, dword [0x2e0023dc]
add esp, 0xc
push 0x20
pop eax
mov word [edi + esi*2], ax
inc esi
push 0x2f
pop eax
mov word [edi + esi*2], ax
inc esi
cmp dword [ebp + 8], ebx
je 0x2e008603
mov eax, dword [0x2e0023d4]
add eax, eax
push eax
lea eax, [edi + esi*2]
push 0x2e002720
push eax
call sub.MSVCR90.dll_memcpy
add esi, dword [0x2e0023d4]
add esp, 0xc
cmp dword [ebp + 0xc], ebx
je 0x2e002388
push 0x20
pop eax
mov word [edi + esi*2], ax
push 0x2f
pop eax
inc esi
mov word [edi + esi*2], ax
mov eax, dword [0x2e0023d8]
add eax, eax
push eax
inc esi
lea eax, [edi + esi*2]
push 0x2e00273c
push eax
call sub.MSVCR90.dll_memcpy
add esp, 0xc
add esi, dword [0x2e0023d8]
xor eax, eax
mov word [edi + esi*2], ax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x60]
push eax
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x2e0023b8
push dword [ebp - 0x1c]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push dword [ebp - 0x18]
call esi
pop ebx
push dword [ebp - 0xc]
call sub.MSVCR90.dll____V_YAXPAX_Z
push edi
call sub.MSVCR90.dll____V_YAXPAX_Z
mov eax, dword [ebp - 4]
pop ecx
pop ecx
pop edi
pop esi
leave
ret 8
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, edi
jle 0x2e00857a
and eax, 0xffff
or eax, 0x80070000
mov dword [ebp - 4], eax
jmp 0x2e0023b9
mov dword [ebp - 4], 0x8000ffff
jmp 0x2e0023b9
mov esi, dword [ebp - 0xc]
jmp 0x2e0021fb
shl dword [ebp - 8], 1
push esi
call sub.MSVCR90.dll____V_YAXPAX_Z
mov eax, dword [ebp - 8]
xor ecx, ecx
push 2
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.2e003024
pop ecx
pop ecx
mov dword [ebp - 0xc], eax
cmp eax, edi
je 0x2e0085f7
jmp 0x2e00858e
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, edi
jle 0x2e0085d5
and eax, 0xffff
or eax, 0x80070000
mov dword [ebp - 4], eax
jmp 0x2e0023b8
dec ebx
jmp 0x2e002234
xor eax, eax
inc eax
jmp 0x2e00224f
mov dword [ebp - 4], 0x8000ffff
jmp 0x2e0023b8
mov dword [ebp - 4], 0x8007000e
jmp 0x2e0023b8
mov eax, dword [0x2e0023e0]
add eax, eax
push eax
lea eax, [edi + esi*2]
push 0x2e00ab9c
push eax
call sub.MSVCR90.dll_memcpy
add esp, 0xc
add esi, dword [0x2e0023e0]
jmp 0x2e002388