Function at 0xed12a0
Capabilities:
Check mutex on windows
Create process on windows
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x394
push ebx
push edi
xor ebx, ebx
mov ecx, 0x3f
xor eax, eax
lea edi, [ebp - 0x193]
mov byte [ebp - 0x194], bl
mov byte [ebp - 0x294], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x3f
xor eax, eax
lea edi, [ebp - 0x293]
mov byte [ebp - 0x50], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0xd
xor eax, eax
lea edi, [ebp - 0x4f]
mov dword [ebp - 0x94], ebx
rep stosd dword es:[edi], eax
stosb byte es:[edi], al
mov ecx, 0x10
xor eax, eax
lea edi, [ebp - 0x90]
mov dword [ebp - 0x18], ebx
rep stosd dword es:[edi], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
mov eax, dword [0xedae8c]
cmp eax, ebx
jne 0xed15a9
mov ecx, dword [0xe5a262]
mov edx, dword [0xe5a25e]
push esi
push ecx
push 0xedae8c
push 0xe5a306
push ebx
push edx
push 0xe5a266
push 0xe5a286
call fcn.00ed9910
cmp eax, ebx
mov dword [ebp - 4], eax
mov esi, eax
je 0xed153f
push 0xedad8c
call fcn.00ecf8b0
add esp, 4
test eax, eax
je 0xed13e8
push 0xe5b004
push 0xedad8c
mov dword [ebp - 0x94], 0x44
call fcn.00ecf8e0
mov ecx, dword [ebp - 4]
lea eax, [ebp - 0x194]
push eax
push ecx
call fcn.00ecf920
lea edx, [ebp - 0x194]
push edx
push 0xedad8c
call fcn.00ecf8e0
add esp, 0x18
lea eax, [ebp - 0x18]
lea ecx, [ebp - 0x94]
push eax
push ecx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 0xedad8c
push ebx
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
cmp eax, 1
jne 0xed13df
mov edx, dword [ebp - 0x18]
push 0xffffffffffffffff
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 4]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov dword [ebp - 4], 1
jmp 0xed13fe
mov edx, dword [ebp - 4]
push edx
push 0xedae98
call fcn.00ed9b50
cmp eax, 1
mov dword [ebp - 4], eax
jne 0xed144a
cmp esi, 0x123
je 0xed140e
cmp esi, 0x701
jne 0xed141e
push 0xe5a306
push 0xedae98
push ebx
call fcn.00ed9b70
mov eax, dword [0xe5a262]
mov ecx, dword [0xe5a25e]
push eax
push 0xedae8c
push 0xe5a306
push ebx
push ecx
push 0xedae98
push 0xe5a286
call fcn.00ed9910
mov dword [ebp - 4], eax
jmp 0xed1455
push ebx
call dword [0xedac58]
ret
cmp eax, ebx
je 0xed153f
test byte [0xe5a245], 8
jne 0xed1527
lea edx, [ebp - 0x294]
lea ecx, [ebp - 0x194]
push edx
push ecx
push eax
call fcn.00ed10c0
add esp, 0xc
dec eax
je 0xed14d5
dec eax
je 0xed15c0
dec eax
je 0xed15af
mov edi, 0xe5aff0
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp - 0x194]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [ebp - 0x194]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [ebp - 0x394]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 4]
push ecx
push edx
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea edx, [ebp - 0x294]
mov edi, 0xe5afe8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, 0x214
xor eax, eax
mov edi, 0xe5a120
push 0x200000
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x294]
lea edx, [ebp - 0x394]
push ecx
push edx
push ebx
stosw word es:[edi], ax
call dword [0xedac60]
mov ecx, 0x214
xor eax, eax
mov edi, 0xe5a120
push ebx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
call dword [0xedac58]
ret
push 0xedad7c
call fcn.00ecf8b0
add esp, 4
test eax, eax
pop esi
je 0xed1581
cmp dword [0xedae94], ebx
je 0xed1581
push 0xedad7c
lea eax, [ebp - 0x50]
push 0xe5afe4
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea ecx, [ebp - 0x50]
push ecx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov dword [0xedae94], eax
cmp dword [0xe5a246], ebx
je 0xed15a9
cmp dword [0xedae90], ebx
jne 0xed15a9
lea edx, [ebp - 8]
push edx
push ebx
push ebx
push 0xed1180
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [0xedae90], eax
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
lea edi, [ebp - 0x194]
lea edx, [ebp - 0x394]
jmp 0xed14e0
mov edi, 0xe5aff0
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp - 0x194]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [ebp - 0x194]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [ebp - 0x394]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 4]
push ecx
push edx
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0xed14fd