Function at 0x401019
Capabilities:
Create a process with modified i/o handles and window

Disassembly:
jmp 0x405d80
sub esp, 0xa70
mov eax, dword [0x5dca44]
xor eax, esp
mov dword [esp + 0xa6c], eax
mov eax, dword [esp + 0xa80]
push ebx
push ebp
mov ebp, dword [esp + 0xa80]
push esi
mov esi, dword [esp + 0xa80]
push edi
xor ebx, ebx
push 0x5a8f78
mov byte [ebp], bl
push esi
mov dword [esp + 0x20], ebp
mov dword [esp + 0x1c], eax
mov byte [eax], bl
call fcn.0049daa0
mov edi, eax
add esp, 8
cmp edi, ebx
jne 0x405ea2
push 0x5a882c
push esi
call fcn.0049ced1
mov esi, eax
add esp, 8
cmp esi, ebx
mov dword [esp + 0x10], esi
je 0x405e9a
push esi
lea eax, [esp + 0x80]
push 0x100
push eax
call fcn.0049cc86
add esp, 0xc
test eax, eax
je 0x405e8f
mov edi, edi
cmp byte [esp + 0x7c], 0x20
lea esi, [esp + 0x7c]
jne 0x405e28
jmp 0x405e20
add esi, 1
cmp byte [esi], 0x20
je 0x405e20
push 6
push 0x5a8f70
push esi
call fcn.0049d9d9
add esp, 0xc
test eax, eax
je 0x405e69
mov ecx, dword [esp + 0x10]
push ecx
lea edx, [esp + 0x80]
push 0x100
push edx
call fcn.0049cc86
add esp, 0xc
test eax, eax
jne 0x405e10
mov esi, dword [esp + 0x10]
push esi
call fcn.0049cc0a
add esp, 4
jmp 0x405ea5
add esi, 6
cmp byte [esi], 0x20
jne 0x405e79
add esi, 1
cmp byte [esi], 0x20
je 0x405e71
push 0x5a7f70
push esi
call fcn.0049daa0
mov edi, esi
mov esi, dword [esp + 0x18]
add esp, 8
mov byte [eax], bl
push esi
call fcn.0049cc0a
add esp, 4
jmp 0x405ea5
mov byte [ebp], bl
jmp 0x406010
add edi, 1
mov eax, dword [esp + 0xa94]
mov ecx, dword [esp + 0x14]
push eax
push edi
push ecx
call fcn.0049b230
push edi
push str.c:windows_system32ping.exe
lea edx, [esp + 0x290]
push 0x5a8854
push edx
call fcn.0049cf34
add esp, 0x1c
push ebx
push 0x80
push 2
lea eax, [esp + 0x28]
push eax
push 3
push 0x40000000
push str.c:_temppingresult.out
mov dword [esp + 0x38], 0xc
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], 1
call dword [sym.imp.KERNEL32.dll_CreateFileA]
push 0x44
lea ecx, [esp + 0x3c]
push ebx
push ecx
mov esi, eax
call fcn.0049d100
add esp, 0xc
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x3c]
push eax
push ebx
push ebx
push 0x20
push 1
push ebx
push ebx
lea ecx, [esp + 0x29c]
push ecx
push str.c:windows_system32ping.exe
mov dword [esp + 0x60], 0x44
mov dword [esp + 0x8c], 0x101
mov word [esp + 0x90], bx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], esi
mov dword [esp + 0xa0], ebx
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
mov edx, dword [esp + 0x28]
push 0xffffffffffffffff
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push 0x5a882c
push str.c:_temppingresult.out
call fcn.0049ced1
add esp, 8
mov ebp, eax
mov edi, edi
push ebp
lea eax, [esp + 0x180]
push 0x100
push eax
call fcn.0049cc86
add esp, 0xc
test eax, eax
je 0x405ffd
lea ecx, [esp + 0x17c]
push str.Average_
push ecx
call fcn.0049daa0
add esp, 8
cmp eax, ebx
je 0x405f90
push 0x5a8f20
push eax
call fcn.0049daa0
mov esi, eax
add esi, 2
push 0x5a8f1c
push esi
call fcn.0049daa0
mov edi, dword [esp + 0xa9c]
lea edx, [edi - 1]
push edx
push esi
mov esi, dword [esp + 0x30]
push esi
mov byte [eax], bl
call fcn.0049b230
add esp, 0x1c
mov byte [esi + edi - 1], bl
push ebp
call fcn.0049cc0a
push str.c:_temppingresult.out
call fcn.004a58bb
add esp, 8
mov ecx, dword [esp + 0xa7c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0049c81f
add esp, 0xa70
ret