Function at 0x10008559
Capabilities:
Create process on windows
Create process suspended
Get comspec environment variable
Query environment variable
Self delete
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov dword [ebp - 4], 0
push 0x48
call fcn.1000fa3f
add esp, 4
mov dword [ebp - 8], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0x12
rep stosd dword es:[edi], eax
push 0x10
call fcn.1000fa3f
add esp, 4
mov dword [ebp - 0xc], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
push 0x80000301
push 0
push 0x104
push 1
mov ebx, 0x184
call fcn.10010040
add esp, 0x10
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x100085e5
push ebx
call fcn.1000fa45
add esp, 4
pop eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x10], esp
push 0x104
push dword [ebp - 4]
push str.COMSPEC
xor eax, eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
nop
nop
cmp dword [ebp - 0x10], esp
je 0x10008615
push 6
call fcn.1000fa51
add esp, 4
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x10008627
jmp 0x1000891a
mov ebx, dword [ebp - 8]
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x10]
mov dword [ebx], 0x44
mov ebx, dword [ebp - 8]
add ebx, 0x2c
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x10]
mov dword [ebx], 1
mov ebx, dword [ebp - 8]
add ebx, 0x30
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x10]
mov word [ebx], 0
push 0x80000101
push 0
push 0
push 1
mov ebx, 0x140
call fcn.10013100
add esp, 0x10
mov dword [ebp - 0x10], eax
push 0x80000004
push 0
mov eax, dword [0x10027f68]
test eax, eax
jne 0x1000868f
mov eax, 0x10027260
push eax
push 0x80000004
push 0
mov eax, dword [ebp - 4]
test eax, eax
jne 0x100086a3
mov eax, 0x10027260
push eax
push 0x80000004
push 0
push str._s__c_ping__n_3_127.0.0.1___nul__del__s
push 3
mov ebx, 0x30
mov eax, 0x10019290
call fcn.1000fea0
add esp, 0x28
mov dword [ebp - 0x14], eax
push 0
mov ebx, 0x104
call fcn.10011d50
add esp, 4
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], esp
push dword [ebp - 0xc]
mov eax, dword [ebp - 8]
push eax
push 0x44
call fcn.1000fa3f
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], eax
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push dword [ebp - 0x18]
push 0
push 0
push 0
push 0
push 0
push dword [ebp - 0x14]
push dword [ebp - 0x10]
xor eax, eax
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
nop
nop
cmp dword [ebp - 0x1c], esp
je 0x100087f4
push 6
call fcn.1000fa51
add esp, 4
push eax
mov ebx, dword [ebp - 0x20]
push ebx
mov edi, dword [ebp - 0x24]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
call fcn.10002728
call fcn.10002728
call fcn.10002728
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
call fcn.1000fa45
add esp, 4
pop eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x100088bc
push ebx
call fcn.1000fa45
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x100088cc
push ebx
call fcn.1000fa45
add esp, 4
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x100088dc
push ebx
call fcn.1000fa45
add esp, 4
mov ebx, dword [ebp - 0xc]
add ebx, 8
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x10]
cmp dword [ebx], 0
je 0x1000891a
mov dword [ebp - 0x10], esp
push 0
push 0xffffffff
xor eax, eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
nop
nop
cmp dword [ebp - 0x10], esp
je 0x1000891a
push 6
call fcn.1000fa51
add esp, 4
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x1000892a
push ebx
call fcn.1000fa45
add esp, 4
mov ebx, dword [ebp - 8]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x10008941
push ebx
call fcn.1000fa45
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x10008955
push ebx
call fcn.1000fa45
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x10008969
push ebx
call fcn.1000fa45
add esp, 4
pop ebx
call fcn.1000fa45
add esp, 4
mov ebx, dword [ebp - 0xc]
push ebx
call fcn.1000fa45
add esp, 4
leave
ret