Function at 0x420fd0
Capabilities:
Create process on windows
Get comspec environment variable
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48f1a8
mov eax, dword fs:[0]
push eax
sub esp, 0xc4
mov eax, dword [0x4fdca8]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xd0], ecx
mov eax, dword [ebp + 0x10]
mov byte [eax], 0
push 0xffffffffffffffff
push str.COMSPEC
call dword [sym.imp.MSVCR100.dll_getenv]
add esp, 4
push eax
lea ecx, [ebp - 0x74]
call fcn.0044f5c0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x74]
call fcn.00450550
movzx ecx, al
test ecx, ecx
je 0x421057
mov dword [ebp - 0xa4], 0xffffffff
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x74]
call fcn.0044f790
mov eax, dword [ebp - 0xa4]
jmp 0x421561
push 0xffffffffffffffff
push str.__C
lea ecx, [ebp - 0xa8]
call fcn.0044f5c0
mov byte [ebp - 4], 1
lea edx, [ebp - 0xa8]
push edx
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x24]
push ecx
call fcn.00401d66
add esp, 0xc
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xa8]
call fcn.0044f790
mov edx, dword [ebp + 0xc]
push edx
lea ecx, [ebp - 0x24]
call fcn.00450290
push 0x44
push 0
lea eax, [ebp - 0x6c]
push eax
call sub.MSVCR100.dll_memset
add esp, 0xc
mov dword [ebp - 0x6c], 0x44
lea ecx, [ebp - 0x24]
call fcn.00450270
push eax
call dword [sym.imp.MSVCR100.dll__strdup]
add esp, 4
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x98], 1
lea ecx, [ebp - 0x20]
push ecx
lea edx, [ebp - 0x6c]
push edx
push 0
push 0
push 0
push 1
push 0
push 0
mov eax, dword [ebp - 0x94]
push eax
lea ecx, [ebp - 0x74]
call fcn.00450270
push eax
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
mov dword [ebp - 0x9c], eax
mov ecx, dword [ebp - 0x94]
push ecx
call dword [sym.imp.MSVCR100.dll_free]
add esp, 4
cmp dword [ebp - 0x9c], 0
jne 0x42116f
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x24]
call fcn.004504b0
push eax
push str.CreateProcess__s__failed___error__d_n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 0xc
mov dword [ebp - 0xac], 0xfffffffe
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x24]
call fcn.0044f790
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x74]
call fcn.0044f790
mov eax, dword [ebp - 0xac]
jmp 0x421561
mov edx, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
push edx
mov eax, dword [ebp - 0x18]
push eax
push 0x4cb178
mov ecx, dword [ebp + 0xc]
push ecx
push str.system_
mov ecx, dword [ebp - 0xd0]
call fcn.0040282e
push eax
call fcn.00402c43
add esp, 8
push eax
call fcn.00402c43
add esp, 8
push eax
call fcn.00402c43
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_int_]
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
lea edx, [ebp - 0x20]
push edx
push 1
lea ecx, [ebp - 0x84]
call fcn.004017b2
mov byte [ebp - 4], 4
lea eax, [ebp - 0xbc]
push eax
lea ecx, [ebp - 0x84]
call fcn.00402a18
mov ecx, dword [eax]
mov dword [ebp - 0xb8], ecx
lea edx, [ebp - 0xb0]
push edx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax]
add ecx, 0x20
call fcn.00402a18
mov ecx, dword [eax]
push ecx
lea edx, [ebp - 0xb4]
push edx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax]
add ecx, 0x20
call fcn.004025ae
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0xb8]
push edx
lea ecx, [ebp - 0x84]
call fcn.00401d1b
push 0xffffffffffffffff
push 0
lea ecx, [ebp - 0x84]
call fcn.0040237e
push eax
lea ecx, [ebp - 0x84]
call fcn.00402af4
push eax
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0xffffffff
jne 0x4212f7
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0xa0], eax
mov eax, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
push eax
mov ecx, dword [ebp - 0xa0]
push ecx
push 0x4cb188
mov ecx, dword [ebp - 0xd0]
call fcn.0040282e
push eax
call fcn.00402c43
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_int_]
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov edx, dword [ebp - 0x20]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xc0], 0xfffffffd
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x84]
call fcn.004016bd
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x24]
call fcn.0044f790
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x74]
call fcn.0044f790
mov eax, dword [ebp - 0xc0]
jmp 0x421561
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0x90], ecx
mov edx, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
push edx
mov eax, dword [ebp - 0x90]
push eax
push 0x4cb1b4
mov ecx, dword [ebp - 0xd0]
call fcn.0040282e
push eax
call fcn.00402c43
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_int_]
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
lea ecx, [ebp - 0x84]
call fcn.00402af4
cmp dword [ebp - 0x90], eax
jb 0x4213e3
mov ecx, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
push ecx
push str.___not_a_process_or_event
mov edx, dword [ebp - 0x70]
push edx
push 0x4cb1dc
mov ecx, dword [ebp - 0xd0]
call fcn.0040282e
push eax
call fcn.00402c43
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_int_]
push eax
call fcn.00402c43
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov eax, dword [ebp - 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0x1c]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xc4], 0xfffffffc
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x84]
call fcn.004016bd
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x24]
call fcn.0044f790
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x74]
call fcn.0044f790
mov eax, dword [ebp - 0xc4]
jmp 0x421561
mov edx, dword [ebp - 0x90]
push edx
lea ecx, [ebp - 0x84]
call fcn.00402310
mov eax, dword [eax]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x90], 1
jb 0x4214b0
mov ecx, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
push ecx
mov edx, dword [ebp - 0x18]
push edx
push str.system:_Abort_event_received___killing_process_tree
mov ecx, dword [ebp - 0xd0]
call fcn.0040282e
push eax
call fcn.00402c43
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_int_]
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov eax, dword [ebp + 0x10]
mov byte [eax], 1
push 0x1f4
push 0x3602
mov ecx, dword [ebp - 0x18]
push ecx
mov ecx, dword [ebp - 0xd0]
call fcn.004011a4
mov edx, dword [ebp - 0x20]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xc8], 0xfffffffb
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x84]
call fcn.004016bd
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x24]
call fcn.0044f790
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x74]
call fcn.0044f790
mov eax, dword [ebp - 0xc8]
jmp 0x421561
lea ecx, [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x20]
push edx
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 0
jne 0x4214e2
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Error__d_retrieving_exit_code_n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 8
mov eax, dword [ebp - 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0x1c]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x10], 0
je 0x421528
cmp dword [ebp + 8], 0
je 0x421528
mov edx, dword [ebp - 0x8c]
push edx
mov eax, dword [ebp - 0x70]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x24]
call fcn.004504b0
push eax
push str.CreateProcess__s_:_n__exitcode0x_x_waitRc0x_x_bGEC_d_n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 0x14
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0xcc], edx
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x84]
call fcn.004016bd
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x24]
call fcn.0044f790
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x74]
call fcn.0044f790
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret 0xc