Function at 0x427de0
Capabilities:
Create process on windows

Disassembly:
sub esp, 0x47c
mov eax, dword [esp + 0x480]
cmp eax, 0x3e8
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x10], 0
jbe 0x42856d
mov esi, dword [esp + 0x494]
cmp esi, 0x3e8
jbe 0x42856d
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x20]
push edx
push eax
call fcn.004285d0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x427e50
mov eax, dword [str.gen_csh.c]
push 0x106
push eax
call fcn.0041cc10
add esp, 8
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x47c
ret
mov eax, dword [esp + 0x1c]
lea ecx, [eax + eax*4]
mov dword [esi], eax
lea ecx, [ecx + ecx*8]
lea eax, [eax + ecx*2]
lea edx, [eax + eax*8]
mov eax, dword [0x4c3180]
lea ebp, [eax + edx*4]
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x84]
shl edx, 4
mov eax, dword [edx + 0x48ae6c]
push ecx
push eax
mov dword [esp + 0x1c], ebp
call fcn.0042f470
mov esi, eax
add esp, 8
test esi, esi
je 0x427eb3
mov ecx, dword [str.gen_csh.c]
push 0x10d
push ecx
call fcn.0041cc10
add esp, 8
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x47c
ret
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x427f0c
lea edx, [esp + 0x84]
push 0
push edx
call fcn.0042f260
add esp, 8
test eax, eax
je 0x427f0c
lea eax, [esp + 0x84]
push eax
push str.___G:_s90_gen_gen_csh.c___GENERAL___273____s_does_not_exist
push 0x48af24
call fcn.0041b0a0
mov ecx, dword [str.gen_csh.c]
push 0x112
push ecx
call fcn.0041cc10
add esp, 0x14
pop edi
pop esi
pop ebp
mov eax, 0x2711
pop ebx
add esp, 0x47c
ret
mov edx, dword [str.gen_csh.c]
push 0x116
push edx
push 1
push 0x1400
call sym.cns.exe_gen__mem_malloc
mov ebx, eax
add esp, 0x10
cmp ebx, 0x3e8
ja 0x427f59
mov eax, dword [str.gen_csh.c]
push 0x117
push eax
push str.L_PTR_command_
call fcn.0041cad0
add esp, 0xc
pop edi
pop esi
pop ebp
mov eax, 0x2712
pop ebx
add esp, 0x47c
ret
mov eax, dword [0x4c3194]
xor edi, edi
test eax, eax
jle 0x427f85
xor esi, esi
mov ecx, dword [0x4c3190]
lea edx, [esi + ecx]
push edx
call fcn.004285a0
mov eax, dword [0x4c3194]
add esp, 4
inc edi
add esi, 0x33
cmp edi, eax
jl 0x427f66
xor eax, eax
mov dword [0x4c3194], eax
mov dword [esp + 0x18], eax
add ebp, 0x988
mov al, byte [ebp]
test al, al
je 0x4280af
cmp al, 0x20
jne 0x427fb0
mov al, byte [ebp + 1]
test al, al
je 0x4280af
push ebp
call fcn.0042f500
add esp, 4
test eax, eax
je 0x42801b
mov eax, dword [str.gen_csh.c]
push 0x127
push eax
push 0x48af3c
call fcn.0041cad0
mov ecx, dword [str.gen_csh.c]
push 0x127
push ecx
push str.putenv
call fcn.0041cb50
add esp, 0x18
test ebx, ebx
je 0x428008
mov edx, dword [str.gen_csh.c]
push 0x127
push edx
push 1
push ebx
call sym.cns.exe_gen__mem_free
add esp, 0x10
xor ebx, ebx
push ebp
push str.___G:_s90_gen_gen_csh.c___GENERAL___295___Cannot_putenv____s
push str.INTERNAL
call fcn.0041b0a0
add esp, 0xc
mov eax, dword [0x4c3194]
mov ecx, dword [0x4c3198]
cmp eax, ecx
jl 0x42806d
mov eax, dword [str.gen_csh.c]
push 0x12a
push eax
lea esi, [ecx + 5]
lea eax, [esi + esi*4]
lea ecx, [eax + eax*4]
mov eax, dword [0x4c3190]
push 1
lea edx, [esi + ecx*2]
push edx
push eax
call sym.cns.exe_gen__mem_realloc
add esp, 0x14
cmp eax, 0x3e8
jbe 0x428103
mov dword [0x4c3190], eax
mov eax, dword [0x4c3194]
mov dword [0x4c3198], esi
mov edx, dword [0x4c3190]
lea ecx, [eax + eax*4]
add edx, eax
lea ecx, [ecx + ecx*4]
lea edi, [edx + ecx*2]
mov cl, byte [ebp]
xor edx, edx
test cl, cl
je 0x4280a5
mov esi, edi
mov eax, ebp
sub esi, ebp
cmp cl, 0x3d
je 0x4280a5
cmp edx, 0x32
jge 0x4280a5
mov cl, byte [eax]
mov byte [esi + eax], cl
mov cl, byte [eax + 1]
inc edx
inc eax
test cl, cl
jne 0x42808d
mov byte [edx + edi], 0
inc dword [0x4c3194]
mov eax, dword [esp + 0x18]
inc eax
add ebp, 0xc8
cmp eax, 4
mov dword [esp + 0x18], eax
jl 0x427f96
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x42812c
mov eax, dword [esp + 0x14]
lea ecx, [eax + 0x1b8]
push ecx
lea edx, [eax + 0xf0]
push edx
add eax, 0x28
push eax
mov eax, dword [0x48ae70]
push eax
lea ecx, [esp + 0x94]
push ecx
push str.__s___s___s____s____s_
push ebx
call fcn.00463a12
add esp, 0x1c
jmp 0x428180
mov edx, dword [str.gen_csh.c]
push 0x12a
push edx
push 0x48afa0
call fcn.0041cad0
add esp, 0xc
pop edi
pop esi
pop ebp
mov eax, 0x2712
pop ebx
add esp, 0x47c
ret
shl eax, 4
mov edx, dword [eax + 0x48ae74]
add edx, 2
push edx
lea eax, [esp + 0x28c]
push 0x48afc8
push eax
call fcn.00463a12
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x1b8]
push ecx
add eax, 0xf0
push eax
shl edx, 4
mov eax, dword [edx + 0x48ae70]
push eax
lea ecx, [esp + 0x2a0]
push ecx
push str.__s___s___s____s_
push ebx
call fcn.00463a12
add esp, 0x24
push 0x8080
lea edx, [esp + 0x34]
push 0x200
push edx
call fcn.0046645a
add esp, 0xc
cmp eax, 0xffffffff
jne 0x4281c6
mov eax, dword [str.gen_csh.c]
push 0x14c
push eax
push 0x48afe0
call fcn.0041cb50
add esp, 0xc
test ebx, ebx
je 0x428586
push 0x14d
jmp 0x428261
push 0x8080
lea edx, [esp + 0x3c]
push 0x200
push edx
call fcn.0046645a
add esp, 0xc
cmp eax, 0xffffffff
jne 0x428209
mov eax, dword [str.gen_csh.c]
push 0x151
push eax
push str.pipe
call fcn.0041cb50
add esp, 0xc
test ebx, ebx
je 0x428586
push 0x152
jmp 0x428261
mov edx, dword [0x4a99d0]
push edx
call fcn.0042f5d0
mov esi, eax
mov eax, dword [0x4a99b0]
push eax
call fcn.0042f5d0
mov ecx, dword [0x4a99d0]
mov edx, dword [esp + 0x3c]
push ecx
push edx
mov ebp, eax
call fcn.0042f5e0
add esp, 0x10
test eax, eax
je 0x428283
mov eax, dword [str.gen_csh.c]
push 0x15c
push eax
push 0x48aff0
call fcn.0041cb50
add esp, 0xc
test ebx, ebx
je 0x428586
push 0x15d
mov ecx, dword [str.gen_csh.c]
push ecx
push 1
push ebx
call sym.cns.exe_gen__mem_free
add esp, 0x10
pop edi
pop esi
pop ebp
mov eax, 0x2711
pop ebx
add esp, 0x47c
ret
mov edx, dword [0x4a99b0]
mov eax, dword [esp + 0x38]
push edx
push eax
call fcn.0042f5e0
add esp, 8
test eax, eax
je 0x4282e3
mov ecx, dword [str.gen_csh.c]
push 0x163
push ecx
push 0x48aff8
call fcn.0041cb50
add esp, 0xc
test ebx, ebx
je 0x428586
mov edx, dword [str.gen_csh.c]
push 0x164
push edx
push 1
push ebx
call sym.cns.exe_gen__mem_free
add esp, 0x10
pop edi
pop esi
pop ebp
mov eax, 0x2711
pop ebx
add esp, 0x47c
ret
mov eax, dword [esp + 0x34]
push eax
call fcn.0042f580
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.0042f580
add esp, 8
xor edx, edx
xor eax, eax
mov ecx, 0x11
lea edi, [esp + 0x40]
rep stosd dword es:[edi], eax
mov dword [esp + 0x20], edx
lea eax, [esp + 0x20]
push eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], edx
lea ecx, [esp + 0x44]
push ecx
push edx
push edx
push edx
push 1
push edx
push edx
push ebx
push edx
mov dword [esp + 0x54], edx
mov dword [esp + 0x68], 0x44
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
jne 0x4283a7
test ebx, ebx
je 0x428359
mov edx, dword [str.gen_csh.c]
push 0x17e
push edx
push 1
push ebx
call sym.cns.exe_gen__mem_free
add esp, 0x10
mov eax, dword [str.gen_csh.c]
push 0x17f
push eax
push str.CreateProcess
call fcn.0041cb50
mov ecx, dword [0x4a99d0]
push ecx
push esi
call fcn.0042f5e0
mov edx, dword [0x4a99b0]
push edx
push ebp
call fcn.0042f5e0
push esi
call fcn.0042f580
push ebp
call fcn.0042f580
add esp, 0x24
pop edi
pop esi
pop ebp
mov eax, 0x2711
pop ebx
add esp, 0x47c
ret
test ebx, ebx
je 0x4283c1
mov eax, dword [str.gen_csh.c]
push 0x186
push eax
push 1
push ebx
call sym.cns.exe_gen__mem_free
add esp, 0x10
mov ecx, dword [0x4a99d0]
push ecx
push esi
call fcn.0042f5e0
add esp, 8
test eax, eax
je 0x4283fe
mov edx, dword [str.gen_csh.c]
push 0x18c
push edx
push 0x48b010
call fcn.0041cb50
add esp, 0xc
pop edi
pop esi
pop ebp
mov eax, 0x2711
pop ebx
add esp, 0x47c
ret
mov eax, dword [0x4a99b0]
push eax
push ebp
call fcn.0042f5e0
add esp, 8
test eax, eax
je 0x42843a
mov ecx, dword [str.gen_csh.c]
push 0x190
push ecx
push str.dup2
call fcn.0041cb50
add esp, 0xc
pop edi
pop esi
pop ebp
mov eax, 0x2711
pop ebx
add esp, 0x47c
ret
push esi
call fcn.0042f580
push ebp
call fcn.0042f580
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x1c]
lea edx, [esi + 0xcbc]
mov dword [edx], eax
mov ecx, dword [esp + 0x2c]
mov dword [edx + 4], ecx
mov eax, dword [esp + 0x30]
mov dword [edx + 8], eax
mov ecx, dword [esp + 0x34]
mov dword [edx + 0xc], ecx
mov edx, dword [esp + 0x30]
mov dword [esi + 4], edx
mov eax, dword [esp + 0x38]
mov dword [esi + 0xc], eax
mov ecx, dword [esp + 0x44]
mov edx, eax
push 0x48b020
push edx
mov dword [esi + 0x10], ecx
call fcn.004658fd
add esp, 0x10
test eax, eax
mov dword [esi + 0x14], eax
jne 0x4284d5
mov eax, dword [str.gen_csh.c]
push 0x215
push eax
push str.csh_p__fp_read___NULL
call fcn.0041cad0
mov ecx, dword [str.gen_csh.c]
push 0x215
push ecx
push 0x48b03c
call fcn.0041cb50
add esp, 0x18
pop edi
pop esi
pop ebp
mov eax, 0x2711
pop ebx
add esp, 0x47c
ret
mov edx, dword [esi + 0x10]
push 0x48b044
push edx
call fcn.004658fd
add esp, 8
test eax, eax
mov dword [esi + 0x18], eax
jne 0x42852b
mov eax, dword [str.gen_csh.c]
push 0x217
push eax
push str.csh_p__fp_write___NULL
call fcn.0041cad0
mov ecx, dword [str.gen_csh.c]
push 0x217
push ecx
push str.fdopen
call fcn.0041cb50
add esp, 0x18
pop edi
pop esi
pop ebp
mov eax, 0x2711
pop ebx
add esp, 0x47c
ret
mov edx, dword [esp + 0x1c]
push 0
push edx
call fcn.00428cd0
mov esi, eax
add esp, 8
test esi, esi
je 0x428560
mov eax, dword [str.gen_csh.c]
push 0x220
push eax
call fcn.0041cc10
add esp, 8
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x47c
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x47c
ret
mov ecx, dword [str.gen_csh.c]
push 0x103
push ecx
push str.L_PTR_act___L_PTR_cshd_p_
call fcn.0041cad0
add esp, 0xc
pop edi
pop esi
pop ebp
mov eax, 0x2711
pop ebx
add esp, 0x47c
ret