Function at 0x7c369ec8
Capabilities:
Create process on windows

Disassembly:
push 0xa4
push 0x7c382058
call fcn.7c34230b
xor ebx, ebx
xor ecx, ecx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x30], ebx
cmp dword [ebp + 8], ebx
je 0x7c36a27b
mov esi, dword [ebp + 0xc]
cmp esi, ebx
je 0x7c36a27b
mov al, byte [esi]
cmp al, 0x77
je 0x7c369f03
cmp al, 0x72
jne 0x7c36a27b
mov al, byte [esi + 1]
cmp al, 0x74
jne 0x7c369f11
mov ecx, 0x4000
jmp 0x7c369f1a
cmp al, 0x62
jne 0x7c369f1a
mov ecx, 0x8000
or ecx, 0x80
push ecx
push 0x400
lea eax, [ebp - 0x3c]
push eax
call sym.MSVCR71.dll__pipe
add esp, 0xc
cmp eax, 0xffffffff
je 0x7c36a27b
xor edi, edi
cmp byte [esi], 0x77
jne 0x7c369f4e
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x28], ebx
inc edi
mov dword [ebp - 0x24], edi
jmp 0x7c369f5b
xor eax, eax
inc eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], ebx
inc edi
push 9
call fcn.7c3490c4
pop ecx
test eax, eax
jne 0x7c369f80
push dword [ebp - 0x3c]
call sym.MSVCR71.dll__close
push dword [ebp - 0x38]
call sym.MSVCR71.dll__close
pop ecx
pop ecx
xor eax, eax
jmp 0x7c36a27e
push 9
call fcn.7c355267
pop ecx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x50], edi
call dword [sym.imp.kernel32.dll_GetCurrentProcess]
mov dword [ebp - 0x54], eax
mov esi, dword [ebp - 0x28]
lea esi, [ebp + esi*4 - 0x3c]
mov eax, dword [esi]
push 2
push edi
push ebx
lea ecx, [ebp - 0x2c]
push ecx
push dword [ebp - 0x54]
mov ecx, eax
sar ecx, 5
and eax, 0x1f
lea eax, [eax + eax*8]
mov ecx, dword [ecx*4 + sym.MSVCR71.dll___pioinfo]
push dword [ecx + eax*4]
push dword [ebp - 0x54]
call dword [sym.imp.kernel32.dll_DuplicateHandle]
test eax, eax
je 0x7c36a246
push dword [esi]
call sym.MSVCR71.dll__close
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x50], ebx
push dword [ebp + 0xc]
mov eax, dword [ebp - 0x24]
push dword [ebp + eax*4 - 0x3c]
call sym.MSVCR71.dll__fdopen
add esp, 0xc
mov dword [ebp - 0x20], eax
cmp eax, ebx
je 0x7c36a246
xor edi, edi
call fcn.7c36abec
mov dword [ebp - 0x44], eax
cmp eax, ebx
je 0x7c36a233
push str.COMSPEC
call sym.MSVCR71.dll_getenv
pop ecx
mov dword [ebp - 0x1c], eax
cmp eax, ebx
jne 0x7c36a04d
call sym.MSVCR71.dll__errno
cmp dword [eax], 2
je 0x7c36a037
call sym.MSVCR71.dll__errno
cmp dword [eax], 0xd
jne 0x7c36a04d
test byte [0x7c38c8d9], 0x80
mov eax, str.command.com
jne 0x7c36a04a
mov eax, str.cmd.exe
mov dword [ebp - 0x1c], eax
push 0x44
pop esi
push esi
push ebx
lea eax, [ebp - 0xb4]
push eax
call sym.MSVCR71.dll_memset
add esp, 0xc
mov dword [ebp - 0xb4], esi
mov dword [ebp - 0x88], 0x100
mov eax, dword [sym.MSVCR71.dll___pioinfo]
cmp dword [ebp - 0x34], ebx
mov ecx, dword [ebp - 0x2c]
je 0x7c36a080
mov ecx, dword [eax]
mov dword [ebp - 0x7c], ecx
cmp dword [ebp - 0x34], 1
mov ecx, dword [ebp - 0x2c]
je 0x7c36a08f
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0x78], ecx
mov eax, dword [eax + 0x48]
mov dword [ebp - 0x74], eax
push dword [ebp - 0x1c]
call sym.MSVCR71.dll_strlen
mov edi, eax
push dword [ebp + 8]
call sym.MSVCR71.dll_strlen
add edi, eax
mov esi, 0x7c38204c
push esi
call sym.MSVCR71.dll_strlen
lea eax, [edi + eax + 1]
push eax
call sym.MSVCR71.dll_malloc
add esp, 0x10
mov edi, eax
mov dword [ebp - 0x48], edi
cmp edi, ebx
je 0x7c36a233
push dword [ebp - 0x1c]
push edi
call sym.MSVCR71.dll__mbscpy
push esi
push edi
call sym.MSVCR71.dll__mbscat
push dword [ebp + 8]
push edi
call sym.MSVCR71.dll__mbscat
push ebx
push dword [ebp - 0x1c]
call sym.MSVCR71.dll__access
add esp, 0x20
cmp eax, 0xffffffff
je 0x7c36a11f
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0xb4]
push eax
push ebx
push ebx
push ebx
push 1
push ebx
push ebx
push edi
push dword [ebp - 0x1c]
call dword [sym.imp.kernel32.dll_CreateProcessA]
mov dword [ebp - 0x30], eax
jmp 0x7c36a206
push str.PATH
call sym.MSVCR71.dll_getenv
mov dword [ebp - 0x40], eax
mov dword [esp], 0x104
call sym.MSVCR71.dll_malloc
pop ecx
mov esi, eax
mov dword [ebp - 0x5c], esi
cmp esi, ebx
jne 0x7c36a14e
push edi
call sym.MSVCR71.dll_free
pop ecx
jmp 0x7c36a233
push 0x103
push esi
push dword [ebp - 0x40]
call fcn.7c355267
add esp, 0xc
mov dword [ebp - 0x40], eax
cmp eax, ebx
je 0x7c36a1fc
cmp byte [esi], bl
je 0x7c36a1fc
push esi
call sym.MSVCR71.dll_strlen
pop ecx
lea edi, [eax + esi - 1]
mov dword [ebp - 0x60], edi
mov al, byte [edi]
cmp al, 0x5c
jne 0x7c36a194
push 0x5c
push esi
call fcn.7c355267
pop ecx
pop ecx
cmp edi, eax
jmp 0x7c36a196
cmp al, 0x2f
je 0x7c36a1a5
push 0x7c381940
push esi
call sym.MSVCR71.dll__mbscat
pop ecx
pop ecx
push dword [ebp - 0x1c]
call sym.MSVCR71.dll_strlen
mov edi, eax
push esi
call sym.MSVCR71.dll_strlen
pop ecx
pop ecx
add edi, eax
cmp edi, 0x104
jae 0x7c36a1fc
push dword [ebp - 0x1c]
push esi
call sym.MSVCR71.dll__mbscat
push ebx
push esi
call sym.MSVCR71.dll__access
add esp, 0x10
cmp eax, 0xffffffff
je 0x7c36a14e
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0xb4]
push eax
push ebx
push ebx
push ebx
push 1
push ebx
push ebx
push dword [ebp - 0x48]
push esi
call dword [sym.imp.kernel32.dll_CreateProcessA]
mov dword [ebp - 0x30], eax
push esi
call sym.MSVCR71.dll_free
pop ecx
mov edi, dword [ebp - 0x48]
push edi
call sym.MSVCR71.dll_free
pop ecx
push dword [ebp - 0x2c]
call dword [sym.imp.kernel32.dll_CloseHandle]
cmp dword [ebp - 0x30], ebx
je 0x7c36a22e
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0x58], ecx
mov eax, dword [ebp - 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x20]
mov dword [eax], ecx
jmp 0x7c36a272
mov eax, dword [ebp - 0x44]
mov dword [eax], ebx
push dword [ebp - 0x20]
call sym.MSVCR71.dll_fclose
pop ecx
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x50], ebx
mov dword [ebp - 0x20], ebx
mov eax, dword [ebp - 0x28]
shl eax, 2
cmp dword [ebp + eax - 0x50], ebx
je 0x7c36a25c
push dword [ebp + eax - 0x3c]
call sym.MSVCR71.dll__close
pop ecx
mov eax, dword [ebp - 0x24]
shl eax, 2
cmp dword [ebp + eax - 0x50], ebx
je 0x7c36a272
push dword [ebp + eax - 0x3c]
call sym.MSVCR71.dll__close
pop ecx
or dword [ebp - 4], 0xffffffff
call fcn.7c36a284
mov eax, dword [ebp - 0x20]
call fcn.7c342346
ret