Function at 0x401472
Capabilities:
Create process on windows
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x8fc
mov eax, dword [0x410004]
xor eax, esp
mov dword [esp + 0x8f8], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
xor edi, edi
push edi
push edi
mov dword [esp + 0x1c], eax
call dword [sym.imp.KERNEL32.dll_CreateJobObjectA]
mov esi, eax
xor eax, eax
cmp esi, edi
setne al
push str.Job_creation_failed
mov dword [esp + 0x28], esi
push eax
call fcn.0040110b
pop ecx
pop ecx
lea eax, [esp + 0x10]
push eax
push 0x70
lea eax, [esp + 0x98]
push eax
push 9
push esi
call dword [sym.imp.KERNEL32.dll_QueryInformationJobObject]
test eax, eax
je 0x4014e2
cmp dword [esp + 0x10], 0x70
jne 0x4014e2
xor eax, eax
inc eax
jmp 0x4014e4
xor eax, eax
push str.Job_information_querying_failed
push eax
call fcn.0040110b
or dword [esp + 0xa8], 0x3000
pop ecx
pop ecx
push 0x70
lea eax, [esp + 0x94]
push eax
push 9
push esi
call dword [sym.imp.KERNEL32.dll_SetInformationJobObject]
push str.Job_information_setting_failed
push eax
call fcn.0040110b
push 0x44
lea eax, [esp + 0x34]
push edi
push eax
call fcn.00406470
add esp, 0x14
lea eax, [esp + 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_GetStartupInfoW]
test dword [esp + 0x54], 0x600
mov ebx, dword [sym.imp.KERNEL32.dll_CloseHandle]
jne 0x4015dc
mov esi, dword [sym.imp.KERNEL32.dll_GetStdHandle]
push 0xfffffffffffffff6
call esi
push 0xfffffffffffffff5
mov dword [esp + 0x24], eax
call esi
push 0xfffffffffffffff4
mov dword [esp + 0x20], eax
call esi
push dword [esp + 0x20]
lea esi, [esp + 0x64]
mov dword [esp + 0x1c], eax
call fcn.0040142d
mov dword [esp], str.stdin_duplication_failed
push eax
call fcn.0040110b
pop ecx
pop ecx
push dword [esp + 0x20]
call ebx
push dword [esp + 0x1c]
lea esi, [esp + 0x68]
call fcn.0040142d
mov dword [esp], str.stdout_duplication_failed
push eax
call fcn.0040110b
pop ecx
pop ecx
push dword [esp + 0x1c]
call ebx
push edi
push 1
push dword [esp + 0x20]
call dword [sym.imp.KERNEL32.dll_SetHandleInformation]
push dword [esp + 0x18]
lea esi, [esp + 0x6c]
call fcn.0040142d
mov dword [esp], str.stderr_duplication_failed
push eax
call fcn.0040110b
or dword [esp + 0x5c], 0x100
pop ecx
pop ecx
push 0x411d70
lea eax, [esp + 0x2c]
push eax
push edi
push edi
push edi
push 1
push edi
push edi
push dword [esp + 0x34]
push edi
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
cmp eax, edi
jne 0x401639
call dword [sym.imp.KERNEL32.dll_GetLastError]
push edi
mov ecx, 0x400
push ecx
lea edx, [esp + 0x108]
push edx
push ecx
push eax
push edi
push 0x1000
call dword [sym.imp.KERNEL32.dll_FormatMessageW]
lea eax, [esp + 0x100]
push eax
push dword [esp + 0x18]
push str.Unable_to_create_process_using__ls:__ls
push edi
call fcn.004010b2
add esp, 0x10
push 1
push 0x401450
call dword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
push str.control_handler_setting_failed
push eax
call fcn.0040110b
pop ecx
pop ecx
push edi
push edi
push edi
push edi
call dword [sym.imp.USER32.dll_PostMessageW]
push edi
push edi
push edi
lea eax, [esp + 0x80]
push eax
call dword [sym.imp.USER32.dll_GetMessageW]
push 0xffffffffffffffff
push dword [0x411d70]
call dword [sym.imp.USER32.dll_WaitForInputIdle]
push edi
push edi
push edi
push 0xfffffffffffffffd
push edi
push edi
push edi
push edi
push edi
push str.PyLauncher
push str.STATIC
push edi
call dword [sym.imp.USER32.dll_CreateWindowExW]
push edi
push edi
mov esi, eax
push edi
push esi
lea eax, [esp + 0x84]
push eax
call dword [sym.imp.USER32.dll_PeekMessageW]
push esi
call dword [sym.imp.USER32.dll_DestroyWindow]
push dword [0x411d70]
push dword [esp + 0x28]
call dword [sym.imp.KERNEL32.dll_AssignProcessToJobObject]
push dword [0x411d74]
call ebx
push edi
push 0xffffffffffffffff
push dword [0x411d70]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObjectEx]
lea eax, [esp + 0x10]
push eax
push dword [0x411d70]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
push str.Failed_to_get_exit_code_of_process
push eax
call fcn.0040110b
pop ecx
pop ecx
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_ExitProcess]