Function at 0x6109b120
Capabilities:
Create process on windows
Resume thread

Disassembly:
push ebp
mov ebp, esp
push edi
mov edi, 0xffffffff
push esi
push ebx
sub esp, 0xbcc
mov esi, dword [ebp + 8]
mov dword [ebp - 0xb80], edi
test esi, esi
je 0x6109c6f7
test byte [0x6110a820], 1
jne 0x6109b72d
mov ebx, dword [ebp + 0xc]
test ebx, ebx
je 0x6109c72f
cmp dword [ebp + 0x14], 0x200
lea esi, [ebp - 0x28]
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0xffffffff
je 0x6109b882
cld
xor eax, eax
lea edi, [ebp - 0x38]
mov ecx, 3
xor ebx, ebx
rep stosd dword es:[edi], eax
mov dword [ebp - 0x34], esi
lea eax, [ebp - 0x38]
xor esi, esi
mov dword [esp], eax
mov edi, 0x44
mov dword [ebp - 0x38], sym.do_cleanup_void_
call sym.__pthread_cleanup_push
mov dword [ebp - 0x48], 0
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0xb74], eax
mov eax, 0xffffffff
xor edx, edx
mov dword [ebp - 0x208], eax
xor eax, eax
mov dword [ebp - 0x1e8], eax
xor eax, eax
mov dword [ebp - 0x1e4], eax
xor eax, eax
mov dword [ebp - 0x1e0], eax
xor eax, eax
mov dword [ebp - 0x1c4], eax
lea eax, [ebp - 0x258]
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x8c], edx
mov byte [ebp - 0x3b], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x6c], 0
mov byte [ebp - 0x1b8], 0
mov byte [ebp - 0xb81], 0
mov byte [ebp - 0xb95], 0
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [esp], eax
call sym.cygwin1.dll__memset
mov dword [ebp - 0xb9c], ebx
mov eax, dword fs:[4]
xor ecx, ecx
mov dword [ebp - 0xba0], ecx
lea ecx, [ebp - 0x338]
sub eax, 0x319c
mov edx, dword [eax + 0xc30]
mov dword [ebp - 0x268], edx
mov edx, dword [eax + 0xc34]
mov dword [eax + 0xc30], ecx
mov dword [ebp - 0x264], edx
xor edx, edx
mov dword [eax + 0xc34], edx
mov dword [esp], ecx
call sym.___sjfault
test eax, eax
jne 0x6109b84b
xor eax, eax
cmp dword [ebp + 0x14], 3
mov edx, 1
mov ecx, 0x18
setne al
xor ebx, ebx
mov dword [ebp - 0xba4], eax
mov eax, 0xe
call sym._ccalloc_12
mov dword [eax], 0
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0xb94], eax
cmp dword [edx], 0
jmp 0x6109b2d9
mov ecx, dword [ebp + 0xc]
inc ebx
mov eax, dword [ecx + ebx*4]
test eax, eax
jne 0x6109b2d0
mov dword [ebp - 0x44], 0
lea edx, [ebx*4 + 0x14]
mov eax, 0xc
mov dword [ebp - 0x40], ebx
mov byte [ebp - 0x3c], 0
mov byte [ebp - 0x3b], 0
call sym._cmalloc_8
mov dword [ebp - 0x48], eax
mov edi, eax
mov eax, dword [ebp - 0x40]
mov esi, dword [ebp + 0xc]
lea edx, [eax*4]
lea eax, [edx + 4]
cmp eax, 7
jbe 0x6109b330
test edi, 4
je 0x6109b330
mov eax, dword [esi]
mov dword [edi], eax
mov esi, dword [ebp + 0xc]
add edi, 4
mov eax, edx
add esi, 4
nop
cld
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov dword [esp], 0
lea ecx, [ebp - 0xb70]
lea edx, [ebp - 0x208]
mov eax, dword [ebp + 8]
call sym.perhaps_suffix_char_const__path_conv__int__unsigned_int_
test eax, eax
je 0x6109b824
test byte [ebp - 0x1e8], 0x40
mov dword [esp + 0xc], eax
lea ecx, [ebp - 0x48]
mov edx, dword [ebp + 8]
mov dword [esp], ecx
lea eax, [ebp - 0x208]
mov dword [esp + 8], eax
setne byte [ebp - 0xb8d]
mov dword [esp + 4], edx
call method.av.fixup_char_const__path_conv__char_const_
mov dword [ebp - 0xb80], eax
test eax, eax
jne 0x6109b5c8
cmp ebx, 3
je 0x6109b927
cmp byte [ebp - 0xb8d], 0
je 0x6109b8fa
mov ebx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
cmp eax, ebx
jle 0x6109b3d7
mov edx, dword [ebp - 0x48]
lea esi, [esi]
mov eax, dword [edx + ebx*4]
call sym._cstrdup1_4
mov edx, dword [ebp - 0x48]
mov dword [edx + ebx*4], eax
inc ebx
cmp dword [ebp - 0x40], ebx
jg 0x6109b3c0
mov eax, dword [ebp - 0x40]
cmp dword [ebp + 0x14], 3
mov dword [ebp - 0x44], eax
mov edx, dword [ebp - 0xb94]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x48]
mov dword [edx + 8], eax
je 0x6109c2da
mov ecx, dword [ebp - 0xb94]
mov dword [ecx + 0x14], 0
xor eax, eax
xor edi, edi
xor esi, esi
mov dword [ebp - 0x344], eax
xor eax, eax
mov ebx, 0x100
mov dword [ebp - 0x348], eax
xor eax, eax
mov dword [ebp - 0x33c], eax
xor eax, eax
mov dword [ebp - 0x340], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x254], edi
mov dword [ebp - 0x250], esi
test eax, eax
mov dword [ebp - 0x22c], ebx
js 0x6109c294
xor edx, edx
call sym.handle_int__bool_
mov dword [ebp - 0x220], eax
mov eax, dword [ebp + 0x1c]
test eax, eax
js 0x6109c28a
mov edx, 1
call sym.handle_int__bool_
mov dword [ebp - 0x21c], eax
mov edx, 1
mov eax, 2
call sym.handle_int__bool_
mov dword [ebp - 0x218], eax
mov eax, dword [0x611630ec]
mov ecx, 0x44
mov dword [ebp - 0x258], ecx
test byte [eax + 0x14], 0x10
jne 0x6109b4b1
cmp byte [ebp - 0x3b], 0
je 0x6109b4b1
mov eax, dword [0x61107154]
cmp dword [eax + 0x12c], 0xffffffff
je 0x6109c491
mov eax, dword [0x61105584]
mov dword [esp], eax
call sub.KERNEL32.dll_GetPriorityClass
mov dword [ebp - 0xb8c], eax
sub esp, 4
test byte [0x6110a820], 1
jne 0x6109bab8
or dword [ebp - 0xb8c], 0x800
cmp dword [ebp + 0x14], 5
je 0x6109bafd
cmp dword [ebp + 0x14], 3
je 0x6109c29b
mov eax, dword [0x61107154]
xor edx, edx
mov dword [eax + 0x1d4], edx
cmp byte [ebp - 0x3c], 0
jne 0x6109b521
mov eax, dword [0x611630ec]
test byte [eax + 0x15], 2
jne 0x6109b51a
cmp dword [ebp + 0x14], 3
je 0x6109c477
or dword [ebp - 0xb8c], 4
cmp byte [ebp - 0xb95], 0
je 0x6109b767
xor eax, eax
test byte [0x6110a820], 1
mov dword [ebp - 0xb88], eax
jne 0x6109ba70
mov eax, dword [0x61104ec4]
add eax, 0x198
mov dword [esp], eax
call method.dtable.set_file_pointers_for_exec__
xor eax, eax
test byte [ebp - 0x1e8], 0x40
mov ecx, dword [ebp - 0xb94]
lea edx, [ebp - 0xb74]
setne al
add ecx, 0xc
mov dword [esp], eax
mov eax, dword [ebp + 0x10]
call sym.__Z9build_envPKPKcRPcRib_16
mov edx, dword [ebp - 0xb94]
sub esp, 4
test eax, eax
mov dword [edx + 0x10], eax
je 0x6109b599
mov eax, dword [ebp - 0xb74]
test eax, eax
jne 0x6109bb50
test byte [0x6110a820], 1
jne 0x6109bb09
call sym.cygwin1.dll___errno
mov edx, dword [sym.cygwin1.dll__impure_ptr]
mov dword [edx], 7
mov dword [eax], 7
mov eax, 0xffffffff
mov dword [ebp - 0xb80], eax
mov eax, dword [ebp - 0xb74]
test eax, eax
jne 0x6109b817
mov dword [esp], 1
call sym.__pthread_cleanup_pop
mov edx, dword fs:[4]
lea ecx, [ebp - 0x208]
mov eax, dword [ebp - 0x268]
sub edx, 0x319c
mov dword [edx + 0xc30], eax
mov eax, dword [ebp - 0x264]
mov dword [edx + 0xc34], eax
mov dword [esp], ecx
call sym.path_conv::path_conv__
mov edx, dword [ebp - 0x6c]
test edx, edx
je 0x6109b6f9
mov eax, dword [edx]
test eax, eax
jne 0x6109b8ed
mov eax, dword [edx + 0x10]
test eax, eax
je 0x6109b6e0
mov edi, dword [eax]
mov ebx, eax
test edi, edi
jne 0x6109b6c5
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x10]
call sym._cfree_4
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x14]
mov dword [esp], eax
call sub.KERNEL32.dll_CloseHandle
mov eax, dword [ebp - 0x6c]
sub esp, 4
call sym._cfree_4
lea eax, [ebp - 0xa8]
mov dword [esp], eax
call sym.child_info::child_info__
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x6109b712
mov dword [esp], eax
call sym._free_1
mov esi, dword [ebp - 0x48]
test esi, esi
je 0x6109b71d
mov eax, dword [ebp - 0x44]
xor ebx, ebx
test eax, eax
jg 0x6109b6a6
jmp 0x6109b6bb
inc ebx
cmp dword [ebp - 0x44], ebx
jle 0x6109b6bb
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + ebx*4]
test eax, eax
je 0x6109b6a0
inc ebx
call sym._cfree_4
cmp dword [ebp - 0x44], ebx
jg 0x6109b6a6
mov eax, dword [ebp - 0x48]
call sym._cfree_4
jmp 0x6109b71d
mov eax, dword [ebx]
add ebx, 4
call sym._cfree_4
mov eax, dword [ebx]
test eax, eax
jne 0x6109b6c5
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x10]
call sym._cfree_4
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x14]
mov dword [esp], eax
call sub.KERNEL32.dll_CloseHandle
mov eax, dword [ebp - 0x6c]
sub esp, 4
call sym._cfree_4
lea edx, [ebp - 0xa8]
mov dword [esp], edx
call sym.child_info::child_info__
mov eax, dword [ebp - 0x54]
test eax, eax
jne 0x6109b67e
mov esi, dword [ebp - 0x48]
test esi, esi
jne 0x6109b691
mov eax, dword [ebp - 0xb80]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 0x18
mov dword [esp], 0x6110a820
mov edx, dword [ebp + 8]
mov eax, str.spawn_guts___d___.9500s_
mov dword [esp + 0xc], eax
mov ecx, dword [ebp + 0x14]
mov eax, str.int_spawn_guts_const_char__const_char_const__const_char_const__int__int__int_
mov dword [esp + 8], eax
mov eax, 0x10
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 4], eax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x6109b14f
test byte [0x6110a820], 1
lea edx, [ebp - 0x1b8]
mov dword [ebp - 0xb88], edx
jne 0x6109ba70
mov eax, dword [0x61104ec4]
add eax, 0x198
mov dword [esp], eax
call method.dtable.set_file_pointers_for_exec__
xor eax, eax
test byte [ebp - 0x1e8], 0x40
mov ecx, dword [ebp - 0xb94]
lea edx, [ebp - 0xb74]
setne al
add ecx, 0xc
mov dword [esp], eax
mov eax, dword [ebp + 0x10]
call sym.__Z9build_envPKPKcRPcRib_16
mov ecx, dword [ebp - 0xb94]
sub esp, 4
test eax, eax
mov dword [ecx + 0x10], eax
je 0x6109b599
mov eax, dword [ebp - 0xb74]
test eax, eax
jne 0x6109bb50
test byte [0x6110a820], 1
jne 0x6109bb09
call sym.cygwin1.dll___errno
mov edx, dword [sym.cygwin1.dll__impure_ptr]
mov dword [edx], 7
mov dword [eax], 7
mov eax, 0xffffffff
mov dword [ebp - 0xb80], eax
mov eax, dword [ebp - 0xb74]
test eax, eax
je 0x6109c353
mov dword [esp], eax
call sym._free_1
jmp 0x6109b5d6
test byte [0x6110a820], 1
mov ebx, dword [ebp - 0xb70]
jne 0x6109c3ca
call sym.cygwin1.dll___errno
mov edx, dword [sym.cygwin1.dll__impure_ptr]
mov dword [edx], ebx
mov dword [eax], ebx
jmp 0x6109b5bd
call sym.cygwin1.dll___errno
cmp dword [eax], 0xc
je 0x6109c40c
test byte [0x6110a820], 1
jne 0x6109c430
call sym.cygwin1.dll___errno
mov edx, dword [sym.cygwin1.dll__impure_ptr]
mov dword [edx], 0xe
mov dword [eax], 0xe
jmp 0x6109b5bd
mov dword [esp], 2
mov eax, 1
lea ebx, [ebp - 0xb6c]
mov dword [esp + 4], eax
call sym._signal
mov dword [ebp - 0x28], eax
mov eax, 1
mov dword [esp + 4], eax
mov dword [esp], 3
call sym._signal
mov dword [ebp - 0x24], eax
mov dword [esp], ebx
call sym.cygwin1.dll_sigemptyset
mov dword [esp], ebx
mov eax, 0x14
mov dword [esp + 4], eax
call sym._sigaddset
mov dword [esp + 4], ebx
lea eax, [ebp - 0x20]
mov dword [esp + 8], eax
mov dword [esp], 1
call sym._sigprocmask
jmp 0x6109b17f
call sym._cfree_4
mov edx, dword [ebp - 0x6c]
jmp 0x6109b62a
xor edx, edx
test byte [ebp - 0x1e8], 0x40
lea ecx, [ebp - 0x1b8]
lea eax, [ebp - 0x58]
setne dl
mov dword [esp], edx
lea edx, [ebp - 0x48]
call method.linebuf.fromargv_av__char__bool_
test al, al
jne 0x6109b3d4
jmp 0x6109b5bd
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 4]
cmp byte [eax], 0x2f
jne 0x6109b3a0
cmp byte [eax + 1], 0x63
jne 0x6109b3a0
mov ebx, str.command.com
mov dword [esp + 4], ebx
mov eax, dword [ecx]
mov dword [esp], eax
call sym.iscmd_char_const__char_const_
test eax, eax
jne 0x6109b975
mov edx, dword [ebp + 0xc]
mov ecx, str.cmd.exe
mov dword [esp + 4], ecx
mov eax, dword [edx]
mov dword [esp], eax
call sym.iscmd_char_const__char_const_
test eax, eax
je 0x6109b3a0
mov dword [esp], 0
mov edx, dword [ebp + 8]
mov ecx, 1
lea eax, [ebp - 0x208]
lea esi, [ebp - 0x58]
call method.path_conv.check_char_const__unsigned_int__suffix_info_const_
mov dword [esp], 0x6112e660
call sym.cygwin1.dll__strlen
mov ecx, eax
mov edx, 0x6112e660
mov eax, esi
call fcn.610c2370
mov edx, dword [ebp - 0x1e0]
test edx, edx
jne 0x6109c8eb
lea edi, [ebp - 0x1b8]
mov dword [esp], edi
call sym.cygwin1.dll__strlen
mov ecx, eax
mov edx, edi
mov eax, esi
call fcn.610c2370
mov dword [esp], 0x6112e660
call sym.cygwin1.dll__strlen
mov ecx, eax
mov edx, 0x6112e660
mov eax, esi
call fcn.610c2370
mov dword [esp], 0x6112e662
call sym.cygwin1.dll__strlen
mov ecx, eax
mov edx, 0x6112e662
mov eax, esi
call fcn.610c2370
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ecx + 4]
mov dword [esp], ebx
call sym.cygwin1.dll__strlen
mov ecx, eax
mov edx, ebx
mov eax, esi
call fcn.610c2370
mov dword [esp], 0x6112e662
call sym.cygwin1.dll__strlen
mov ecx, eax
mov edx, 0x6112e662
mov eax, esi
call fcn.610c2370
mov eax, dword [ebp + 0xc]
mov ebx, dword [eax + 8]
mov dword [esp], ebx
call sym.cygwin1.dll__strlen
mov ecx, eax
mov edx, ebx
mov eax, esi
call fcn.610c2370
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov dword [esp], edi
mov dword [esp + 4], eax
call sym.cygwin1.dll__strcpy
mov byte [ebp - 0xb95], 1
jmp 0x6109b400
mov dword [esp], 0x6110a820
mov eax, dword [ebp - 0x54]
mov edi, 0x10
mov dword [esp + 4], edi
mov ecx, dword [ebp - 0xb88]
mov dword [esp + 0x18], eax
movzx eax, byte [ebp - 0xb95]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
mov eax, str.null_app_name__d___s___.9500s_
mov dword [esp + 0xc], eax
mov eax, str.int_spawn_guts_const_char__const_char_const__const_char_const__int__int__int_
mov dword [esp + 8], eax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x6109b543
mov dword [esp], 0x6110a820
mov eax, dword [ebp - 0xb8c]
mov edi, 0x800
mov dword [esp + 4], edi
mov dword [esp + 0x10], eax
mov eax, str.priority_class__d
mov dword [esp + 0xc], eax
mov eax, str.int_spawn_guts_const_char__const_char_const__const_char_const__int__int__int_
mov dword [esp + 8], eax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
or dword [ebp - 0xb8c], 0x800
cmp dword [ebp + 0x14], 5
jne 0x6109b4e8
or dword [ebp - 0xb8c], 8
jmp 0x6109b4f2
mov esi, 7
mov ebx, 0x1de
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], ebx
mov dword [esp], 0x6110a820
mov eax, 0x6112e440
mov ecx, str.int_spawn_guts_const_char__const_char_const__const_char_const__int__int__int_
mov dword [esp + 8], eax
mov edx, 0x6112e49a
mov eax, 0x40
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 4], eax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x6109b5a6
xor eax, eax
test byte [ebp - 0x1e8], 0x40
lea edx, [ebp - 0xa8]
mov dword [esp], edx
setne al
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xba4]
mov dword [esp + 4], eax
call sym.child_info_spawn::child_info_spawn_child_info_types__bool_
mov ecx, dword [ebp - 0xb94]
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x1c]
mov dword [ebp - 0x6c], ecx
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0x68], eax
mov eax, 0x4c
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x224], ecx
mov word [ebp - 0x226], ax
jmp 0x6109bd9c
cmp dword [ebp + 0x14], 3
je 0x6109beee
mov edx, dword [0x61107154]
mov eax, dword [edx]
cmp dword [edx + 0x124], eax
je 0x6109c249
mov byte [ebp - 0xb54], 0
xor eax, eax
lea edi, [ebp - 0xb68]
mov dword [ebp - 0xb5c], eax
xor eax, eax
xor ebx, ebx
mov dword [ebp - 0xb58], eax
mov edx, esi
mov ecx, 1
mov dword [ebp - 0xb50], ebx
mov eax, edi
mov dword [esp], 0
call method.pinfo.init_int__unsigned_long__void_
mov edx, dword [ebp - 0xb64]
test edx, edx
je 0x6109c615
mov eax, dword [ebp - 0x340]
lea ecx, [ebp - 0x1b8]
xor ebx, ebx
mov dword [edx + 0x14], eax
mov eax, dword [ebp - 0x348]
mov dword [esp + 4], ecx
mov dword [ebp - 0xb58], eax
lea eax, [edx + 0x18]
mov dword [esp], eax
call sym.cygwin1.dll__strcpy
mov dword [esp + 0x10], ebx
mov eax, 2
mov edx, dword [ebp - 0xb68]
mov dword [esp + 0x18], eax
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x348]
mov dword [esp + 0xc], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov eax, dword [0x61105584]
mov dword [esp], eax
call sub.KERNEL32.dll_DuplicateHandle
mov ebx, dword [ebp - 0xb64]
sub esp, 0x1c
mov dword [esp], 0
call sym._time_1
mov dword [ebx + 0x134], eax
mov eax, dword [0x61107154]
mov edx, dword [ebp - 0xb64]
mov eax, dword [eax + 0x1c8]
mov dword [edx + 0x1c8], eax
xor eax, eax
cmp dword [ebp + 0x14], 5
mov edx, edi
sete al
inc eax
call sym.__Z12proc_subprocmm_8
test eax, eax
sete byte [ebp - 0xb60]
je 0x6109c5c0
test byte [ebp - 0xb8c], 4
jne 0x6109c20c
mov eax, dword [ebp - 0x344]
mov dword [esp], eax
call sub.KERNEL32.dll_CloseHandle
sub esp, 4
test byte [0x6110a820], 1
jne 0x6109c1d6
cmp dword [ebp + 0x14], 5
sete dl
cmp dword [ebp + 0x14], 2
sete al
or dl, al
je 0x6109bd15
test byte [ebp - 0x7c], 2
je 0x6109bf9c
mov dword [esp], 0xffffffff
mov edx, dword [ebp - 0x340]
lea ecx, [ebp - 0x348]
lea eax, [ebp - 0xa8]
call method.child_info.sync_int__void__unsigned_long_
cmp dword [ebp + 0x14], 3
jne 0x6109c513
mov edx, dword [ebp - 0x348]
test al, al
mov dword [0x61107160], edx
jne 0x6109c670
mov eax, dword [ebp - 0xba0]
test eax, eax
je 0x6109bd83
mov ebx, dword [0x61107154]
call sub.KERNEL32.dll_GetCurrentProcessId
mov edx, dword [ebp - 0xba0]
mov dword [ebx + 0x1e4], eax
mov eax, dword [0x61107154]
mov dword [eax + 0x1e0], edx
mov edx, dword [ebp - 0x348]
lea eax, [ebp - 0xa8]
call method.child_info.proc_retry_void_
test eax, eax
jne 0x6109c538
inc dword [ebp - 0xb9c]
mov eax, dword [0x61104ec4]
add eax, 0x88
mov eax, dword [eax + 0xd4]
test eax, eax
jne 0x6109bfb7
xor eax, eax
lea edx, [ebp - 0x348]
lea ecx, [ebp - 0x258]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0xb74]
mov dword [esp + 0x24], edx
mov edx, dword [ebp - 0xb88]
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0xb8c]
mov dword [esp + 0x20], ecx
mov dword [esp], edx
mov dword [esp + 0x14], eax
mov eax, 1
mov dword [esp + 0x10], eax
mov eax, 0x61107420
mov dword [esp + 0xc], eax
mov eax, 0x61107420
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x54]
mov dword [esp + 4], eax
call sub.KERNEL32.dll_CreateProcessA
sub esp, 0x28
test eax, eax
setne bl
cmp dword [ebp + 0x14], 3
je 0x6109c169
mov eax, dword [0x61104ec4]
add eax, 0x88
mov eax, dword [eax + 0xd4]
test eax, eax
jne 0x6109be3d
mov eax, dword [0x61105578]
mov dword [esp], eax
call fcn.610fd4b8
sub esp, 4
test bl, bl
je 0x6109c556
test byte [ebp - 0xb8c], 4
je 0x6109c17e
mov edx, dword [0x61104ec4]
add edx, 0x198
mov eax, dword [edx + 0x14]
test eax, eax
jg 0x6109c1ae
cmp dword [ebp + 0x14], 3
je 0x6109c1ca
mov ecx, dword [0x611630ec]
mov eax, dword [ebp - 0x340]
test byte [ecx + 0x13], 4
jne 0x6109bf93
mov esi, eax
test byte [0x6110a820], 1
je 0x6109bbb0
mov eax, dword [ebp - 0x54]
test bl, bl
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x14], eax
je 0x6109c23b
mov dword [esp + 0x10], esi
mov dword [esp], 0x6110a820
mov eax, str._d__spawn_guts___s___.9500s_
mov dword [esp + 0xc], eax
mov eax, str.int_spawn_guts_const_char__const_char_const__const_char_const__int__int__int_
mov dword [esp + 8], eax
mov eax, 0x10
mov dword [esp + 4], eax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
cmp dword [ebp + 0x14], 3
jne 0x6109bbba
mov byte [0x6110a82c], 1
lea eax, [ebp - 0xa8]
mov edx, dword [0x61107154]
mov dword [0x61146330], eax
mov eax, dword [ebp - 0x340]
mov dword [edx + 0x14], eax
mov eax, dword [ebp - 0x348]
add edx, 0x18
mov dword [esp], edx
mov dword [0x61146334], eax
mov dword [0x61107160], eax
lea eax, [ebp - 0x1b8]
mov dword [esp + 4], eax
call sym.cygwin1.dll__strcpy
test byte [0x6110a820], 1
jne 0x6109c392
cmp byte [ebp - 0x3c], 0
jne 0x6109bf75
mov eax, dword [0x61107154]
mov ecx, dword [eax + 0x1e0]
test ecx, ecx
je 0x6109bf75
mov edx, dword [ebp - 0xb9c]
test edx, edx
je 0x6109c652
mov edx, dword [ebp - 0x348]
call method._pinfo.dup_proc_pipe_void_
mov dword [ebp - 0xba0], eax
test byte [ebp - 0x7c], 2
jne 0x6109bcce
mov dword [esp], 0
call sym.__Z15close_all_filesb_4
sub esp, 4
jmp 0x6109bcce
mov esi, eax
neg esi
jmp 0x6109be96
cmp dword [ebp + 0x14], 3
jne 0x6109c513
mov edx, dword [ebp - 0x348]
mov dword [0x61107160], edx
jmp 0x6109bd51
call fcn.610fda08
mov eax, dword [0x61105578]
mov dword [esp], eax
call fcn.610fd4b8
mov edx, dword [0x61104ec4]
sub esp, 4
mov eax, dword [edx + 0x15c]
test eax, eax
je 0x6109bdb4
mov eax, dword [edx + 0x108]
cmp dword [edx + 0x100], eax
je 0x6109c255
cmp dword [ebp + 0x14], 3
je 0x6109c279
mov eax, 4
lea esi, [ebp - 0x748]
mov dword [ebp - 0xb78], eax
call fcn.610fe520
mov ebx, eax
call sym.__Z11get_null_sdv_0
mov dword [esp + 8], eax
lea ecx, [ebp - 0xb78]
mov dword [esp + 4], ecx
mov dword [esp], ebx
call fcn.610fe828
sub esp, 0xc
lea eax, [ebp - 0xb7c]
mov dword [esp + 0x10], eax
mov eax, 0x400
mov dword [esp + 0xc], eax
mov eax, 2
mov dword [esp + 8], esi
mov dword [esp], ebx
lea ebx, [ebp - 0xb48]
mov dword [esp + 4], eax
call fcn.610fe5a8
sub esp, 0x14
call sub.KERNEL32.dll_GetCurrentThreadId
mov dword [esp], eax
call fcn.610fe550
sub esp, 4
mov edi, eax
call sym.__Z11get_null_sdv_0
mov dword [esp + 8], eax
lea edx, [ebp - 0xb78]
mov dword [esp + 4], edx
mov dword [esp], edi
call fcn.610fe828
sub esp, 0xc
mov eax, 0x400
lea ecx, [ebp - 0xb7c]
mov dword [esp + 0xc], eax
mov eax, 2
mov dword [esp + 0x10], ecx
mov dword [esp + 8], ebx
mov dword [esp], edi
mov edi, 0x5c
mov dword [esp + 4], eax
call fcn.610fe5a8
sub esp, 0x14
mov dword [esp], esi
call sym.cygwin1.dll__strlen
mov word [ebp + eax - 0x748], di
mov dword [esp + 4], ebx
mov ebx, 1
mov dword [esp], esi
call sym.cygwin1.dll__strcat
mov dword [ebp - 0x250], esi
mov eax, dword [0x61104ec4]
lea ecx, [ebp - 0x258]
xor esi, esi
add eax, 0x88
mov edx, dword [eax + 0xd0]
mov dword [esp + 0x24], ecx
lea eax, [ebp - 0x348]
mov ecx, 0x61107420
mov dword [esp + 0x28], eax
mov eax, dword [ebp - 0xb74]
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp - 0xb88]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0xb8c]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x20], esi
mov dword [esp + 0x18], eax
mov eax, 0x61107420
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x54]
mov dword [esp + 4], ecx
mov dword [esp], edx
mov dword [esp + 8], eax
call fcn.610fd110
sub esp, 0x2c
test eax, eax
setne bl
cmp dword [ebp + 0x14], 3
jne 0x6109be24
test bl, bl
je 0x6109be24
test byte [ebp - 0xb8c], 4
jne 0x6109be5d
mov eax, dword [ebp - 0x340]
lea edx, [ebp - 0xa8]
mov dword [esp], eax
mov eax, 0x6110a820
call method.strace.write_childpid_child_info__unsigned_long_
mov edx, dword [0x61104ec4]
add edx, 0x198
mov eax, dword [edx + 0x14]
test eax, eax
jle 0x6109be74
mov dword [esp], edx
mov eax, dword [ebp - 0x340]
mov dword [esp + 4], eax
call method.dtable.fixup_before_exec_unsigned_long_
cmp dword [ebp + 0x14], 3
jne 0x6109be7e
mov eax, dword [0x61107154]
mov esi, dword [eax]
jmp 0x6109be96
mov dword [esp], 0x6110a820
mov eax, dword [ebp - 0x340]
mov edi, str.spawned_windows_pid__d
mov dword [esp + 0xc], edi
mov ebx, str.int_spawn_guts_const_char__const_char_const__const_char_const__int__int__int_
mov ecx, 0x800
mov dword [esp + 8], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 4], ecx
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x6109bcf9
mov eax, dword [ebp - 0x344]
mov dword [esp], eax
call sub.KERNEL32.dll_ResumeThread
mov eax, dword [ebp - 0x340]
sub esp, 4
lea edx, [ebp - 0xa8]
mov dword [esp], eax
mov eax, 0x6110a820
call method.strace.write_childpid_child_info__unsigned_long_
jmp 0x6109bcdb
mov eax, 0xffffffff
mov dword [esp + 0x10], eax
jmp 0x6109bebd
mov byte [edx + 0x130], 1
jmp 0x6109bbce
mov eax, dword [edx + 0x10c]
cmp dword [edx + 0x104], eax
jne 0x6109bff2
cmp dword [edx + 0x148], 1
je 0x6109bff2
jmp 0x6109bdb4
mov dword [esp], 0x61107150
call method.pinfo.set_acl__
jmp 0x6109bffc
mov eax, 1
jmp 0x6109b45e
xor eax, eax
jmp 0x6109b446
mov edx, dword [0x61107154]
mov esi, dword [edx + 0x1d4]
test esi, esi
je 0x6109c32a
mov eax, dword [0x61104ec4]
mov ecx, dword [eax + 0x2bc]
test ecx, ecx
je 0x6109c4a6
xor eax, eax
test byte [ebp - 0x1e8], 0x40
setne al
mov dword [esp], eax
call sym.__Z27set_console_state_for_spawnb_4
sub esp, 4
jmp 0x6109b4ff
mov eax, 2
mov edx, dword [0x61105584]
mov dword [esp + 0x18], eax
mov eax, 1
mov dword [esp + 0x14], eax
xor eax, eax
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0xb94]
mov dword [esp + 8], edx
mov dword [esp], edx
add eax, 0x14
mov dword [esp + 0xc], eax
mov eax, dword [0x61107150]
mov dword [esp + 4], eax
call sub.KERNEL32.dll_DuplicateHandle
sub esp, 0x1c
test eax, eax
jne 0x6109b400
jmp 0x6109b3f3
mov byte [ebp - 0xb81], 1
mov eax, dword [edx + 0x1d0]
xor ebx, ebx
mov dword [edx + 0x1d0], ebx
mov dword [edx + 0x1d4], eax
mov eax, dword [edx + 0x14]
mov dword [edx + 0x1d8], eax
jmp 0x6109c2ab
mov dword [esp], 1
call sym.__pthread_cleanup_pop
mov edx, dword fs:[4]
mov eax, dword [ebp - 0x268]
sub edx, 0x319c
mov dword [edx + 0xc30], eax
mov eax, dword [ebp - 0x264]
mov dword [edx + 0xc34], eax
lea eax, [ebp - 0x208]
mov dword [esp], eax
jmp 0x6109b610
mov dword [esp], 0x6110a820
mov eax, dword [0x61107154]
add eax, 0x18
mov dword [esp + 0x10], eax
mov eax, str.new_process_name__s
mov dword [esp + 0xc], eax
mov eax, str.int_spawn_guts_const_char__const_char_const__const_char_const__int__int__int_
mov dword [esp + 8], eax
mov eax, 0x800
mov dword [esp + 4], eax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x6109bf41
mov dword [esp + 0x18], ebx
mov eax, 0x15f
mov edi, 0x6112e440
mov dword [esp + 0x14], eax
mov eax, str.int_spawn_guts_const_char__const_char_const__const_char_const__int__int__int_
mov esi, 0x40
mov dword [esp + 0x10], eax
mov eax, 0x6112e49a
mov dword [esp + 0xc], eax
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [esp], 0x6110a820
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x6109b837
test byte [0x6110a820], 1
je 0x6109b5a6
mov edi, 7
mov esi, 0x142
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], esi
jmp 0x6109bb1b
mov dword [esp], 0x6110a820
mov eax, 0x6112e49a
mov ebx, 0xe
mov dword [esp + 0xc], eax
mov eax, 0x6112e440
mov ecx, 0x144
mov dword [esp + 8], eax
mov edx, str.int_spawn_guts_const_char__const_char_const__const_char_const__int__int__int_
mov eax, 0x40
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 4], eax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x6109b866
mov eax, dword [0x61104ec4]
add eax, 0x198
mov eax, dword [eax + 0x14]
test eax, eax
jle 0x6109b521
jmp 0x6109b51a
or dword [ebp - 0x22c], 1
xor eax, eax
mov word [ebp - 0x228], ax
jmp 0x6109b4b1
add eax, 0x2bc
xor edx, edx
mov edi, 1
mov dword [esp + 0xc], eax
mov eax, dword [0x61105584]
mov esi, 0x400
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], esi
mov dword [esp + 8], eax
mov dword [esp + 4], eax
mov dword [esp], eax
call sub.KERNEL32.dll_DuplicateHandle
sub esp, 0x1c
test eax, eax
jne 0x6109c2be
mov dword [esp], 0x6110a820
mov ebx, str.duplicate_to_pid_handle_failed___E
mov ecx, str.int_spawn_guts_const_char__const_char_const__const_char_const__int__int__int_
mov dword [esp + 0xc], ebx
mov edx, 0x8000
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x6109c2be
cmp dword [ebp + 0x14], 3
jg 0x6109c786
cmp dword [ebp + 0x14], 1
je 0x6109c7a3
jle 0x6109c90e
mov dword [ebp - 0xb80], esi
jmp 0x6109b5c8
mov dword [esp], 1
call sym.__Z15close_all_filesb_4
sub esp, 4
mov edx, 0x4000000
mov eax, 0x61107150
call method.pinfo.exit_unsigned_long_
mov edx, 0x230
mov eax, str._ext_build_netrel_src_cygwin_1.5.24_2_winsup_cygwin_spawn.cc
call sym.__Z8seterrnoPKci_8
test byte [0x6110a820], 1
jne 0x6109c7c8
cmp byte [ebp - 0xb81], 0
je 0x6109c594
mov eax, dword [0x61107154]
xor edi, edi
mov edx, dword [eax + 0x1d4]
mov dword [eax + 0x1d4], edi
mov dword [eax + 0x1d0], edx
mov ecx, dword [ebp - 0xb94]
mov esi, 0xffffffff
mov dword [ebp - 0xb80], esi
mov eax, dword [ecx + 0x14]
test eax, eax
je 0x6109b5c8
mov dword [esp], eax
call sub.KERNEL32.dll_CloseHandle
sub esp, 4
jmp 0x6109b5c8
mov eax, dword [ebp - 0x348]
mov dword [esp], eax
call sub.KERNEL32.dll_CloseHandle
mov eax, dword [ebp - 0x344]
sub esp, 4
mov dword [esp], eax
call sub.KERNEL32.dll_CloseHandle
sub esp, 4
cmp byte [ebp - 0xb60], 0
mov eax, 0xffffffff
mov dword [ebp - 0xb80], eax
je 0x6109b5c8
mov eax, dword [ebp - 0xb64]
test eax, eax
je 0x6109b5c8
mov dword [esp], edi
call method.pinfo.release__
jmp 0x6109b5c8
test byte [0x6110a820], 1
jne 0x6109c7f4
call sym.cygwin1.dll___errno
cmp dword [eax], 0xc
je 0x6109c5e2
test byte [0x6110a820], 1
jne 0x6109c820
call sym.cygwin1.dll___errno
mov edx, dword [sym.cygwin1.dll__impure_ptr]
mov dword [edx], 0xb
mov dword [eax], 0xb
jmp 0x6109c5e2
mov dword [esp], eax
call method._pinfo.sync_proc_pipe__
mov dword [esp], 0x61107150
call method.pinfo.zap_cwd__
mov eax, dword [0x61107154]
jmp 0x6109bf64
mov dword [esp], 1
call sym.__Z15close_all_filesb_4
mov eax, dword [0x61107154]
sub esp, 4
mov eax, dword [eax + 0x1e0]
test eax, eax
jne 0x6109c547
xor eax, eax
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x348]
mov dword [esp], eax
call sub.KERNEL32.dll_WaitForSingleObject
sub esp, 8
cmp eax, 0x102
jne 0x6109c547
mov byte [0x61145080], 1
mov edx, 0x61107150
mov eax, 1
call sym.__Z12proc_subprocmm_8
test eax, eax
sete byte [0x61107158]
xor eax, eax
mov dword [esp + 8], eax
lea eax, [ebp - 0xb80]
mov dword [esp + 4], eax
mov eax, dword [0x61107154]
mov eax, dword [eax]
mov dword [esp], eax
call sym._waitpid_1
jmp 0x6109c547
movzx eax, byte [0x6110a820]
test al, 1
jne 0x6109c87e
test al, 1
jne 0x6109c867
call sym.cygwin1.dll___errno
mov edx, dword [sym.cygwin1.dll__impure_ptr]
mov dword [edx], 0x16
mov dword [eax], 0x16
mov eax, 0xffffffff
jmp 0x6109b723
movzx eax, byte [0x6110a820]
test al, 1
jne 0x6109c8b1
test al, 1
je 0x6109c70e
mov ebx, 0x16
mov ecx, 0x11b
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], ecx
mov dword [esp], 0x6110a820
mov eax, 0x6112e49a
mov edx, str.int_spawn_guts_const_char__const_char_const__const_char_const__int__int__int_
mov dword [esp + 0xc], eax
mov eax, 0x6112e440
mov dword [esp + 8], eax
mov eax, 0x40
mov dword [esp + 0x10], edx
mov dword [esp + 4], eax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x6109c70e
cmp dword [ebp + 0x14], 5
je 0x6109c8e4
jl 0x6109c52d
cmp dword [ebp + 0x14], 0x200
jne 0x6109b5c8
mov dword [esp], esi
xor eax, eax
mov dword [esp + 8], eax
lea eax, [ebp - 0xb80]
mov dword [esp + 4], eax
call sym._waitpid_1
cmp eax, esi
jne 0x6109b5bd
jmp 0x6109b5c8
mov dword [esp], 0x6110a820
mov ebx, str.CreateProcess_failed___E
mov ecx, str.int_spawn_guts_const_char__const_char_const__const_char_const__int__int__int_
mov dword [esp + 0xc], ebx
mov edx, 0x10
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x6109c572
mov dword [esp], 0x6110a820
mov eax, str.pinfo_failed
mov esi, 0x10
mov dword [esp + 0xc], eax
mov eax, str.int_spawn_guts_const_char__const_char_const__const_char_const__int__int__int_
mov dword [esp + 8], eax
mov dword [esp + 4], esi
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x6109c622
mov dword [esp], 0x6110a820
mov eax, 0x6112e49a
mov ebx, 0xb
mov dword [esp + 0xc], eax
mov eax, 0x6112e440
mov ecx, 0x27f
mov dword [esp + 8], eax
mov edx, str.int_spawn_guts_const_char__const_char_const__const_char_const__int__int__int_
mov eax, 0x40
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 4], eax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x6109c639
mov eax, 0x16
mov dword [esp + 0x18], eax
mov eax, 0x112
mov dword [esp + 0x14], eax
jmp 0x6109c754
mov dword [esp], 0x6110a820
mov ecx, str.int_spawn_guts_const_char__const_char_const__const_char_const__int__int__int_
mov edx, 0x10
mov dword [esp + 8], ecx
mov ebx, str.prog_arg_is_NULL
mov dword [esp + 0xc], ebx
mov dword [esp + 4], edx
call method.strace.prntf_unsigned_int__char_const__char_const__..._
movzx eax, byte [0x6110a820]
jmp 0x6109c706
mov dword [esp], 0x6110a820
mov eax, str.argv_is_NULL
mov edi, str.int_spawn_guts_const_char__const_char_const__const_char_const__int__int__int_
mov dword [esp + 0xc], eax
mov esi, 0x10
mov dword [esp + 8], edi
mov dword [esp + 4], esi
call method.strace.prntf_unsigned_int__char_const__char_const__..._
movzx eax, byte [0x6110a820]
jmp 0x6109c73e
xor eax, eax
jmp 0x6109b5c2
mov ecx, dword [ebp + 0xc]
lea edi, [ebp - 0x1b8]
mov ebx, dword [ecx]
mov dword [esp], ebx
call sym.cygwin1.dll__strlen
mov ecx, eax
mov edx, ebx
mov eax, esi
call fcn.610c2370
jmp 0x6109b9d3
mov edx, dword [ebp + 0x14]
test edx, edx
je 0x6109c52d
jmp 0x6109b5c8