Function at 0x409c70
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd4
mov eax, dword [0x47f030]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push eax
push str.run_child:_about_to_run__ls_n
call fcn.00408160
add esp, 8
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateJobObjectA]
mov dword [ebp - 0x7c], eax
lea ecx, [ebp - 0x80]
push ecx
push 0x70
lea edx, [ebp - 0x74]
push edx
push 9
mov eax, dword [ebp - 0x7c]
push eax
call dword [sym.imp.KERNEL32.dll_QueryInformationJobObject]
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0
je 0x409ccc
cmp dword [ebp - 0x80], 0x70
jne 0x409ccc
cmp dword [ebp - 0x7c], 0
jne 0x409cdb
push str.Job_information_querying_failed
push 0x65
call fcn.004081d0
add esp, 8
mov ecx, dword [ebp - 0x64]
or ecx, 0x3000
mov dword [ebp - 0x64], ecx
push 0x70
lea edx, [ebp - 0x74]
push edx
push 9
mov eax, dword [ebp - 0x7c]
push eax
call dword [sym.imp.KERNEL32.dll_SetInformationJobObject]
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0
jne 0x409d11
push str.Job_information_setting_failed
push 0x65
call fcn.004081d0
add esp, 8
push 0x44
push 0
lea ecx, [ebp - 0xd4]
push ecx
call fcn.0040233d
add esp, 0xc
lea edx, [ebp - 0xd4]
push edx
call dword [sym.imp.KERNEL32.dll_GetStartupInfoW]
lea eax, [ebp - 0x9c]
push eax
push 0xfffffffffffffff6
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push eax
call fcn.00409f50
add esp, 8
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0
jne 0x409d61
push str.stdin_duplication_failed
push 0x64
call fcn.004081d0
add esp, 8
lea ecx, [ebp - 0x98]
push ecx
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push eax
call fcn.00409f50
add esp, 8
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0
jne 0x409d91
push str.stdout_duplication_failed
push 0x64
call fcn.004081d0
add esp, 8
lea edx, [ebp - 0x94]
push edx
push 0xfffffffffffffff4
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push eax
call fcn.00409f50
add esp, 8
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0
jne 0x409dc1
push str.stderr_duplication_failed
push 0x64
call fcn.004081d0
add esp, 8
push 1
push 0x408150
call dword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0
jne 0x409de6
push str.control_handler_setting_failed
push 0x65
call fcn.004081d0
add esp, 8
mov dword [ebp - 0xa8], 0x100
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0xd4]
push ecx
push 0
push 0
push 0
push 1
push 0
push 0
mov edx, dword [ebp + 8]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0
jne 0x409e32
mov eax, dword [ebp + 8]
push eax
push str.Unable_to_create_process_using__ls
push 0x65
call fcn.004081d0
add esp, 0xc
mov ecx, dword [ebp - 0x90]
push ecx
mov edx, dword [ebp - 0x7c]
push edx
call dword [sym.imp.KERNEL32.dll_AssignProcessToJobObject]
mov eax, dword [ebp - 0x8c]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x90]
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObjectEx]
lea edx, [ebp - 0x80]
push edx
mov eax, dword [ebp - 0x90]
push eax
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0
jne 0x409e8a
push str.Failed_to_get_exit_code_of_process
push 0x65
call fcn.004081d0
add esp, 8
mov ecx, dword [ebp - 0x80]
push ecx
push str.child_process_exit_code:__d_n
call fcn.00408160
add esp, 8
mov edx, dword [ebp - 0x80]
push edx
call fcn.00402b35
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004022ca
mov esp, ebp
pop ebp
ret