Function at 0x1e053e10
Capabilities:
Create a process with modified i/o handles and window
Create process on windows
Get comspec environment variable
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c0
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
xor ebx, ebx
push ebx
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x130], ecx
mov ecx, dword [ebp + 0x10]
push ebx
push str.COMSPEC
mov dword [ebp - 0x124], edx
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x12c], ecx
call edi
mov esi, eax
test esi, esi
je 0x1e0541f1
call fcn.1e149560
mov eax, esp
push esi
push eax
push str.COMSPEC
mov dword [ebp - 0x118], eax
call edi
test eax, eax
je 0x1e054205
mov ecx, dword [ebp - 0x118]
lea edi, [eax + ecx]
cmp edi, ecx
jb 0x1e053e9d
cmp byte [edi], 0x5c
je 0x1e053e9d
dec edi
cmp edi, ecx
jae 0x1e053e93
call dword [sym.imp.KERNEL32.dll_GetVersion]
cmp eax, 0x80000000
jae 0x1e053f2f
push str.command.com
inc edi
push edi
call dword [sym.imp.MSVCR90.dll__stricmp]
add esp, 8
test eax, eax
je 0x1e053f2f
mov eax, str.__c
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1e053ed0
sub eax, edx
mov ecx, eax
mov eax, dword [ebp - 0x11c]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x1e053ee4
sub eax, edi
add eax, ecx
lea edi, [eax + esi + 1]
mov eax, edi
call fcn.1e149560
mov esi, esp
push edi
push 0
push esi
call sub.MSVCR90.dll_memset
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
add esp, 0xc
push edx
push str.__c
push eax
push str._s_s_s
push edi
push esi
call sym.python27.dll_PyOS_snprintf
add esp, 0x18
jmp 0x1e054151
push 0x104
lea ecx, [ebp - 0x114]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x120], ecx
cmp byte [ebp - 0x114], cl
je 0x1e053f86
mov edx, 1
lea esi, [ebp - 0x114]
sub edx, esi
cmp byte [ebp + ecx - 0x114], 0x5c
jne 0x1e053f76
lea eax, [edx + ecx]
lea eax, [ebp + eax - 0x114]
inc ecx
cmp byte [ebp + ecx - 0x114], bl
jne 0x1e053f62
mov dword [ebp - 0x120], ecx
mov byte [ebp + eax - 0x114], bl
lea eax, [ebp - 0x114]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1e053f96
mov esi, dword [sym.imp.MSVCR90.dll_strncat]
sub eax, edx
mov edx, 0x104
sub edx, eax
push edx
lea eax, [ebp - 0x114]
push str.w9xpopen.exe
push eax
call esi
mov ebx, dword [sym.imp.MSVCR90.dll__stat64i32]
add esp, 0xc
lea ecx, [ebp - 0x1bc]
push ecx
lea edx, [ebp - 0x114]
push edx
call ebx
add esp, 8
test eax, eax
je 0x1e0540a6
cmp dword [0x1e282f58], 0
jne 0x1e053fed
call fcn.1e100900
push 0x104
lea eax, [ebp - 0x114]
push 0x1e2815e8
push eax
call dword [sym.imp.MSVCR90.dll_strncpy]
lea eax, [ebp - 0x114]
add esp, 0xc
mov byte [ebp - 0x11], 0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1e054014
sub eax, edx
cmp byte [ebp + eax - 0x115], 0x5c
je 0x1e054042
lea edi, [ebp - 0x114]
dec edi
mov edi, edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x1e054030
mov cx, word [0x1e1f9460]
mov word [edi], cx
lea eax, [ebp - 0x114]
lea edx, [eax + 1]
jmp 0x1e054050
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1e054050
sub eax, edx
mov edx, 0x104
sub edx, eax
push edx
lea eax, [ebp - 0x114]
push str.w9xpopen.exe
push eax
call esi
add esp, 0xc
lea ecx, [ebp - 0x1bc]
push ecx
lea edx, [ebp - 0x114]
push edx
call ebx
add esp, 8
test eax, eax
je 0x1e0540a6
mov eax, dword [sym.python27.dll_PyExc_RuntimeError]
push str.w9xpopen.exe
push str.Can_not_locate__s_which_is_needed_for_popen_to_work_with_your_shell_or_platform.
push eax
call sym.python27.dll_PyErr_Format
add esp, 0xc
jmp 0x1e054205
mov eax, str.__c
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1e0540b0
mov ebx, dword [ebp - 0x11c]
sub eax, edx
mov dword [ebp - 0x134], eax
mov eax, ebx
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1e0540d0
sub eax, edx
mov edi, eax
lea eax, [ebp - 0x114]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1e0540e4
sub eax, edx
mov ecx, eax
mov eax, str.w9xpopen.exe
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x1e0540f7
sub eax, esi
add eax, ecx
mov ecx, dword [ebp - 0x120]
add eax, edi
add eax, dword [ebp - 0x134]
lea edi, [eax + ecx + 2]
mov eax, edi
call fcn.1e149560
mov esi, esp
push edi
push 0
push esi
call sub.MSVCR90.dll_memset
mov edx, dword [ebp - 0x118]
add esp, 0xc
push ebx
push str.__c
push edx
lea eax, [ebp - 0x114]
push eax
push str.__s___s_s_s
push edi
push esi
call sym.python27.dll_PyOS_snprintf
add esp, 0x1c
mov ebx, 0x10
push 0x44
lea ecx, [ebp - 0x18c]
push 0
push ecx
call sub.MSVCR90.dll_memset
mov eax, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x128]
mov edx, dword [ebp - 0x130]
add esp, 0xc
mov dword [ebp - 0x150], eax
lea eax, [ebp - 0x144]
push eax
mov dword [ebp - 0x14c], ecx
lea ecx, [ebp - 0x18c]
push ecx
mov dword [ebp - 0x154], edx
xor edx, edx
push edx
push edx
push ebx
push 1
push edx
push edx
push esi
push edx
mov dword [ebp - 0x18c], 0x44
mov dword [ebp - 0x160], 0x101
mov word [ebp - 0x15c], dx
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
je 0x1e0541e8
mov edx, dword [ebp - 0x140]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x144]
mov ecx, dword [ebp - 0x12c]
mov dword [ecx], eax
mov eax, 1
jmp 0x1e054207
mov ebx, esi
call fcn.1e050a90
jmp 0x1e054205
mov edx, dword [sym.python27.dll_PyExc_RuntimeError]
push str.Cannot_locate_a_COMSPEC_environment_variable_to_use_as_the_shell
push edx
call sym.python27.dll_PyErr_SetString
add esp, 8
xor eax, eax
lea esp, [ebp - 0x1cc]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.1e148908
mov esp, ebp
pop ebp
ret