Function at 0x402a50
Capabilities:
Accept command line arguments
Create process on windows
Resume thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x114
lea ecx, [ebp - 0x14]
call fcn.00401140
lea ecx, [ebp - 0x38]
call fcn.00401140
lea eax, [ebp - 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call fcn.004051c0
add esp, 8
mov ecx, dword [ebp + 0xc]
push ecx
push 0x42f9c4
mov edx, dword [ebp + 8]
push edx
push 0x22
push 0x20
mov eax, dword [ebp + 0x10]
add eax, 0x30
push eax
push 0x3a
push str.sfxwaitall
push 0x42f9a4
lea ecx, [ebp - 0x14]
push ecx
push 0x42f92c
lea edx, [ebp - 0xa0]
push edx
call fcn.0041dda0
add esp, 0xc
push eax
lea eax, [ebp - 0xac]
push eax
call fcn.0041dd60
add esp, 0xc
push eax
lea ecx, [ebp - 0xb8]
push ecx
call fcn.0041dd60
add esp, 0xc
push eax
lea edx, [ebp - 0xc4]
push edx
call fcn.00402d80
add esp, 0xc
push eax
lea eax, [ebp - 0xd0]
push eax
call fcn.00402d80
add esp, 0xc
push eax
lea ecx, [ebp - 0xdc]
push ecx
call fcn.00402d80
add esp, 0xc
push eax
lea edx, [ebp - 0xe8]
push edx
call fcn.00402d80
add esp, 0xc
push eax
lea eax, [ebp - 0xf4]
push eax
call fcn.0041dd60
add esp, 0xc
push eax
lea ecx, [ebp - 0x100]
push ecx
call fcn.0041dd60
add esp, 0xc
push eax
lea edx, [ebp - 0x10c]
push edx
call fcn.0041dd60
add esp, 0xc
mov ecx, eax
call fcn.00412200
push eax
lea ecx, [ebp - 0x38]
call fcn.00401280
lea ecx, [ebp - 0x10c]
call fcn.004125c0
lea ecx, [ebp - 0x100]
call fcn.004125c0
lea ecx, [ebp - 0xf4]
call fcn.004125c0
lea ecx, [ebp - 0xe8]
call fcn.004125c0
lea ecx, [ebp - 0xdc]
call fcn.004125c0
lea ecx, [ebp - 0xd0]
call fcn.004125c0
lea ecx, [ebp - 0xc4]
call fcn.004125c0
lea ecx, [ebp - 0xb8]
call fcn.004125c0
lea ecx, [ebp - 0xac]
call fcn.004125c0
lea ecx, [ebp - 0xa0]
call fcn.004125c0
mov dword [ebp - 0x80], 0x44
lea eax, [ebp - 0x80]
push eax
call dword [sym.imp.KERNEL32.dll_GetStartupInfoW]
lea ecx, [ebp - 0x2c]
push ecx
lea edx, [ebp - 0x80]
push edx
mov ecx, 0x437250
call fcn.00412200
push eax
push 0
push 0x1000004
push 1
push 0
push 0
lea ecx, [ebp - 0x38]
call fcn.00412200
push eax
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
jne 0x402c33
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x110], eax
lea ecx, [ebp - 0x38]
call fcn.00401240
lea ecx, [ebp - 0x14]
call fcn.00401240
mov eax, dword [ebp - 0x110]
jmp 0x402d79
mov byte [ebp - 5], 1
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateJobObjectW]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x402ced
mov eax, dword [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x1c]
push ecx
call dword [sym.imp.KERNEL32.dll_AssignProcessToJobObject]
test eax, eax
je 0x402ced
push 0
push 1
push 0
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateIoCompletionPort]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
je 0x402ced
mov dword [ebp - 0x88], 1
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x84], edx
push 8
lea eax, [ebp - 0x88]
push eax
push 7
mov ecx, dword [ebp - 0x1c]
push ecx
call dword [sym.imp.KERNEL32.dll_SetInformationJobObject]
mov edx, dword [ebp - 0x28]
push edx
call dword [sym.imp.KERNEL32.dll_ResumeThread]
push 0xffffffffffffffff
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0x94]
push ecx
lea edx, [ebp - 0x8c]
push edx
mov eax, dword [ebp - 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_GetQueuedCompletionStatus]
test eax, eax
je 0x402ced
cmp dword [ebp - 0x8c], 4
jne 0x402ceb
mov byte [ebp - 5], 0
jmp 0x402ced
jmp 0x402cb7
movzx ecx, byte [ebp - 5]
test ecx, ecx
je 0x402d0b
mov edx, dword [ebp - 0x28]
push edx
call dword [sym.imp.KERNEL32.dll_ResumeThread]
push 0xffffffffffffffff
mov eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [ebp - 0x28]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea edx, [ebp - 4]
push edx
mov eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test eax, eax
jne 0x402d30
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x2c]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x18], 0
je 0x402d4a
mov edx, dword [ebp - 0x18]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x1c], 0
je 0x402d5a
mov eax, dword [ebp - 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x114], ecx
lea ecx, [ebp - 0x38]
call fcn.00401240
lea ecx, [ebp - 0x14]
call fcn.00401240
mov eax, dword [ebp - 0x114]
mov esp, ebp
pop ebp
ret