Function at 0x4579d0
Capabilities:
Terminate process

Disassembly:
sub esp, 8
push ebx
push ebp
push esi
mov esi, ecx
mov ebx, edx
push edi
mov eax, dword [esi + 0x44]
cmp eax, dword [esi + 0x38]
jae 0x457e7a
mov edx, 0x8004080
call fcn.00432960
mov ecx, dword [esi + 0x44]
xor edx, edx
or edx, 0xfff90000
mov dword [ecx], eax
mov dword [ecx + 4], edx
inc dword [eax + 4]
add dword [esi + 0x44], 8
mov ecx, dword [esi + 0x70]
mov dword [eax + 0x14], ecx
test ecx, ecx
je 0x457a15
inc dword [ecx + 4]
mov ecx, str.childProcess.subProcess
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x457a20
sub ecx, edx
mov edx, str.childProcess.subProcess
push ecx
mov ecx, esi
call fcn.004140e0
add esp, 4
mov edx, 0xfffffffe
mov ecx, esi
push 0x6086b4
call fcn.00410110
mov ecx, dword [esi + 0x44]
add esp, 4
cmp ecx, dword [esi + 0x38]
jae 0x457e8e
lea eax, [ecx + 8]
mov edx, 0xfffffffe
mov dword [esi + 0x44], eax
xor eax, eax
or eax, 0xfff60000
mov dword [ecx], ebx
mov dword [ecx + 4], eax
mov ecx, esi
push 0x6086c0
call fcn.00410110
mov eax, dword [esi + 0x44]
add esp, 4
cmp eax, dword [esi + 0x38]
jae 0x457ea4
mov ecx, dword [esi + 0x2c]
lea eax, [esp + 0x14]
push eax
push 0
mov edx, 0x30
call fcn.0042ff40
mov edx, eax
add esp, 8
test edx, edx
je 0x457eba
mov eax, dword [esi + 0x44]
xor ecx, ecx
mov edi, dword [esp + 0x14]
or ecx, 0xfffa0000
mov dword [eax], edx
mov dword [eax + 4], ecx
inc dword [edx + 4]
add dword [esi + 0x44], 8
test edi, edi
je 0x457ed0
push 0x30
push 0
push edi
call fcn.00587250
add esp, 0xc
mov dword [edi], 0x20
mov dword [edi + 4], 0
mov edx, 0xfffffffe
mov eax, dword [0x624130]
mov ecx, esi
mov dword [edi + 8], eax
mov dword [edi + 0xc], 2
add edi, 0x10
push 0x6086d8
call fcn.00410110
mov dword [edi], esi
add esp, 4
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 0x40]
sub eax, ecx
sar eax, 3
lea edx, [eax - 1]
cmp edx, eax
jae 0x457b2a
lea eax, [ecx + edx*8]
test eax, eax
jne 0x457b2f
mov eax, 0x5ee574
mov ecx, 0xfff8
cmp word [eax + 6], cx
jae 0x457b3e
xor eax, eax
jmp 0x457b40
mov eax, dword [eax]
mov ecx, esi
mov dword [edi + 4], eax
mov dword [edi + 0xc], ebx
call fcn.00471c10
mov dword [edi + 8], eax
test ebx, ebx
je 0x457b59
mov edx, dword [ebx + 0x10]
jmp 0x457b5b
xor edx, edx
mov ecx, dword [esi + 0x44]
cmp ecx, dword [esi + 0x38]
jae 0x457f11
movd xmm0, edx
lea eax, [ecx + 8]
cvtdq2pd xmm0, xmm0
mov dword [esi + 0x44], eax
mov edx, 0x6086f0
movsd qword [ecx], xmm0
mov ecx, esi
call fcn.00471e70
mov ecx, esi
call fcn.00460410
mov ebp, eax
mov edx, 0x6086f4
mov ecx, ebp
mov dword [esp + 0x14], ebp
call fcn.00461370
mov edx, 0x6086fc
mov ecx, ebp
call fcn.00461370
push 0x457920
push 0x608704
mov ecx, esi
call fcn.0045ea50
push 6
push 0x18075380
push 0
mov edx, 0x457740
mov ecx, esi
call fcn.00414b50
add esp, 0x14
mov edx, 0xfffffffe
mov ecx, esi
push 0x608708
call fcn.00410110
add esp, 4
cmp dword [ebx + 0x20], 0
jne 0x457c1f
cmp dword [ebx + 0x18], 0
jne 0x457c1f
cmp dword [ebx + 0x1c], 0
jne 0x457c1f
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x457e70
push eax
mov edx, 0x6087cc
mov ecx, ebp
call fcn.0045eb70
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov ecx, esi
call fcn.00414830
mov ecx, str.childProcess.subProcess.stdout
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x457c30
sub ecx, edx
mov edx, str.childProcess.subProcess.stdout
push ecx
mov ecx, esi
call fcn.004140e0
add esp, 4
mov edx, 0xfffffffe
mov ecx, esi
push 0x608730
call fcn.00410110
mov ecx, dword [esi + 0x44]
add esp, 4
cmp ecx, dword [esi + 0x38]
jae 0x457f27
mov edx, dword [esi + 0x40]
mov eax, ecx
sub eax, edx
sar eax, 3
lea ebp, [eax - 2]
cmp ebp, eax
jae 0x457f3d
lea eax, [ecx + 8]
mov dword [esi + 0x44], eax
mov eax, dword [edx + ebp*8]
mov dword [ecx], eax
mov eax, dword [edx + ebp*8 + 4]
mov dword [ecx + 4], eax
mov eax, 0xfff8
cmp word [ecx + 6], ax
jb 0x457ca0
mov eax, dword [ecx]
inc dword [eax + 4]
mov edx, 0x60873c
mov ecx, esi
call fcn.00471e70
push edi
push 0
push 0x4573b0
mov edx, 0x457390
mov ecx, esi
call fcn.0049a6d0
add esp, 0xc
mov dword [edi + 0x10], eax
mov edx, 0x608744
mov ecx, esi
call fcn.00471e70
mov ecx, esi
call fcn.00414830
mov ecx, str.childProcess.subProcess.stderr
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x457ce1
sub ecx, edx
mov edx, str.childProcess.subProcess.stderr
push ecx
mov ecx, esi
call fcn.004140e0
add esp, 4
mov edx, 0xfffffffe
mov ecx, esi
push 0x60876c
call fcn.00410110
mov ecx, dword [esi + 0x44]
add esp, 4
cmp ecx, dword [esi + 0x38]
jae 0x457f27
mov edx, dword [esi + 0x40]
mov eax, ecx
sub eax, edx
sar eax, 3
lea ebp, [eax - 2]
cmp ebp, eax
jae 0x457f3d
lea eax, [ecx + 8]
mov dword [esi + 0x44], eax
mov eax, dword [edx + ebp*8]
mov dword [ecx], eax
mov eax, dword [edx + ebp*8 + 4]
mov dword [ecx + 4], eax
mov eax, 0xfff8
cmp word [ecx + 6], ax
jb 0x457d51
mov eax, dword [ecx]
inc dword [eax + 4]
mov edx, 0x608778
mov ecx, esi
call fcn.00471e70
push edi
push 0
push 0x457440
mov edx, 0x457420
mov ecx, esi
call fcn.0049a6d0
add esp, 0xc
mov dword [edi + 0x14], eax
mov edx, 0x608780
mov ecx, esi
call fcn.00471e70
mov ecx, esi
call fcn.00414830
mov ecx, str.childProcess.subProcess.stdin
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x457d92
sub ecx, edx
mov edx, str.childProcess.subProcess.stdin
push ecx
mov ecx, esi
call fcn.004140e0
add esp, 4
mov edx, 0xfffffffe
mov ecx, esi
push 0x6087a8
call fcn.00410110
mov ecx, dword [esi + 0x44]
add esp, 4
cmp ecx, dword [esi + 0x38]
jae 0x457f27
mov edx, dword [esi + 0x40]
mov eax, ecx
sub eax, edx
sar eax, 3
lea ebp, [eax - 2]
cmp ebp, eax
jae 0x457f3d
lea eax, [ecx + 8]
mov dword [esi + 0x44], eax
mov eax, dword [edx + ebp*8]
mov dword [ecx], eax
mov eax, dword [edx + ebp*8 + 4]
mov dword [ecx + 4], eax
mov eax, 0xfff8
cmp word [ecx + 6], ax
jb 0x457e02
mov eax, dword [ecx]
inc dword [eax + 4]
mov edx, 0x6087b4
mov ecx, esi
call fcn.00471e70
push edi
push fcn.00403f00
mov edx, 0x4574b0
mov ecx, esi
call fcn.004a9c10
add esp, 8
mov dword [edi + 0x18], eax
mov edx, 0x6087bc
mov ecx, esi
call fcn.00471e70
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x457e4c
mov ecx, dword [esp + 0x14]
mov edx, 0x6087c4
push eax
call fcn.0045eb70
add esp, 4
push edi
push 0x457720
push 0x4576f0
push 0x4576c0
push 0x4574f0
mov edx, 0x1000
mov ecx, ebx
call fcn.004b6f80
add esp, 0x14
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
push str.cannot_push_beyond_allocated_stack
push 0x30011fc
mov edx, 0x605af8
call fcn.0040d970
push str.cannot_push_beyond_allocated_stack
push 0x30010f5
mov edx, 0x605a80
mov ecx, esi
call fcn.0040d970
push str.cannot_push_beyond_allocated_stack
push 0x3001475
mov edx, 0x605bf8
mov ecx, esi
call fcn.0040d970
push str.alloc_failed
push 0x100147e
mov edx, 0x605c28
mov ecx, esi
call fcn.0040d970
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0xfe
push 0x46d
mov edx, 0x6240d4
xor ecx, ecx
call fcn.004b4f80
add esp, 0xc
push 0x46d
push 0x6240f0
push 0x62410c
call fcn.004010e0
add esp, 0xc
push 0xfe
call fcn.005885bd
push str.cannot_push_beyond_allocated_stack
push 0x3001094
mov edx, 0x605a20
mov ecx, esi
call fcn.0040d970
push str.cannot_push_beyond_allocated_stack
push 0x3000445
mov edx, 0x605614
mov ecx, esi
call fcn.0040d970
push 0xfffffffffffffffe
push 0x178
mov edx, 0x605594
mov ecx, esi
call fcn.0040d9d0
int3