Function at 0x4126e0
Capabilities:
Create process on windows
Get number of processors
Query environment variable

Disassembly:
push 0xffffffffffffffff
push 0x417e70
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x5c
push ebx
push esi
push edi
mov ecx, 0xf
xor eax, eax
lea edi, [esp + 0x2c]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x80]
lea ecx, [esp + 0x80]
mov dword [esp + 0x2c], 0x3c
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], str.open
mov dword [esp + 0x48], 5
mov dword [esp + 0x30], 0x40
call sub.MFC42u.DLL_CString::CString_1
xor ebx, ebx
push 0x420598
lea ecx, [esp + 0x10]
mov dword [esp + 0x74], ebx
call fcn.0041634a
push 0x400
push 0x400
lea ecx, [esp + 0x88]
mov byte [esp + 0x78], 1
call sub.MFC42u.DLL_CString::GetBuffer
mov ecx, dword [esp + 0x80]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
push 0xffffffffffffffff
lea ecx, [esp + 0x84]
call sub.MFC42u.DLL_CString::ReleaseBuffer
push ebx
push 0x41efd4
lea ecx, [esp + 0x88]
call sub.MFC42u.DLL_CString::Find_1
mov esi, eax
cmp esi, 0xffffffff
je 0x412817
mov edx, dword [esp + 0x80]
lea ecx, [esp + 0x80]
mov eax, dword [edx - 8]
sub eax, esi
sub eax, 2
push eax
lea eax, [esp + 0x80]
push eax
call sub.MFC42u.DLL_CString::Right
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x74], 2
call fcn.00416290
lea ecx, [esp + 0x7c]
mov byte [esp + 0x70], 1
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x7c]
push esi
push ecx
lea ecx, [esp + 0x88]
call sub.MFC42u.DLL_CString::Left
push eax
lea ecx, [esp + 0x84]
mov byte [esp + 0x74], 3
call fcn.00416290
lea ecx, [esp + 0x7c]
mov byte [esp + 0x70], 1
call sub.MFC42u.DLL_CString::CString
mov edx, dword [esp + 0x78]
push ebx
lea ecx, [esp + 0x84]
mov dword [esp + 0x48], edx
call sub.MFC42u.DLL_CString::GetBuffer
push ebx
lea ecx, [esp + 0x10]
mov dword [esp + 0x40], eax
call sub.MFC42u.DLL_CString::GetBuffer
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x40], eax
push eax
mov eax, dword [esp + 0x40]
push eax
push ecx
push str.RunAndWait___Dir_:___s___File_:___s___Parameters_:___s_
call fcn.0040d4b0
add esp, 0x10
lea edx, [esp + 0x2c]
push edx
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
je 0x41291e
cmp dword [esp + 0x64], ebx
je 0x4128db
mov esi, dword [sym.imp.USER32.dll_PeekMessageW]
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
push ebp
mov ebp, dword [sym.imp.USER32.dll_DispatchMessageW]
push 1
push ebx
push ebx
lea eax, [esp + 0x20]
push ebx
push eax
call esi
test eax, eax
je 0x4128b0
lea ecx, [esp + 0x14]
push ecx
call edi
lea edx, [esp + 0x14]
push edx
call ebp
push 1
push ebx
push ebx
lea eax, [esp + 0x20]
push ebx
push eax
call esi
test eax, eax
jne 0x412892
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [esp + 0x68]
push ebx
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
je 0x412882
mov edx, dword [esp + 0x68]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esp + 0x68], ebx
pop ebp
push 0x2710
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [esp + 0xc]
mov byte [esp + 0x70], bl
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x80]
mov dword [esp + 0x70], 0xffffffff
call sub.MFC42u.DLL_CString::CString
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
add esp, 0x68
ret
push str.RunAndWait___ShellExecuteEx_function_fail
call fcn.0040d4b0
add esp, 4
lea ecx, [esp + 0xc]
mov byte [esp + 0x70], bl
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x80]
mov dword [esp + 0x70], 0xffffffff
call sub.MFC42u.DLL_CString::CString
mov ecx, dword [esp + 0x68]
pop edi
pop esi
xor eax, eax
pop ebx
mov dword fs:[0], ecx
add esp, 0x68
ret