Function at 0x6109b6f0
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 0x6109ccd0
test byte [0x6110c854], 1
jne 0x6109bcfd
mov ebx, dword [ebp + 0xc]
test ebx, ebx
je 0x6109cd08
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 0x6109bec7
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 0x6109be90
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 0x6109b8a9
mov ecx, dword [ebp + 0xc]
inc ebx
mov eax, dword [ecx + ebx*4]
test eax, eax
jne 0x6109b8a0
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 0x6109b900
test edi, 4
je 0x6109b900
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 0x6109be69
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 0x6109bb96
cmp ebx, 3
je 0x6109bf6c
cmp byte [ebp - 0xb8d], 0
je 0x6109bf3f
mov ebx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
cmp eax, ebx
jle 0x6109b9a7
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 0x6109b990
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 0x6109c8ef
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 0x6109c8a9
xor edx, edx
call sym.handle_int__bool_
mov dword [ebp - 0x220], eax
mov eax, dword [ebp + 0x1c]
test eax, eax
js 0x6109c89f
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 [0x611650ec]
mov ecx, 0x44
mov dword [ebp - 0x258], ecx
test byte [eax + 0x14], 0x10
jne 0x6109ba81
cmp byte [ebp - 0x3b], 0
je 0x6109ba81
mov eax, dword [0x61109170]
cmp dword [eax + 0x12c], 0xffffffff
je 0x6109ca67
mov eax, dword [0x61107568]
mov dword [esp], eax
call sub.KERNEL32.dll_GetPriorityClass
mov dword [ebp - 0xb8c], eax
sub esp, 4
test byte [0x6110c854], 1
jne 0x6109c11a
or dword [ebp - 0xb8c], 0x800
cmp dword [ebp + 0x14], 5
je 0x6109c15f
cmp dword [ebp + 0x14], 3
je 0x6109c8b0
mov eax, dword [0x61109170]
xor edx, edx
mov dword [eax + 0x1d4], edx
cmp byte [ebp - 0x3c], 0
jne 0x6109baf7
mov eax, dword [0x611650ec]
test byte [eax + 0x15], 2
jne 0x6109baf0
test byte [ebp - 0x7c], 2
je 0x6109baf0
cmp dword [ebp + 0x14], 3
je 0x6109c968
or dword [ebp - 0xb8c], 4
cmp byte [ebp - 0xb95], 0
je 0x6109bd44
xor eax, eax
test byte [0x6110c854], 1
mov dword [ebp - 0xb88], eax
jne 0x6109c0d2
mov eax, dword [ebp - 0x1e8]
test al, 0x40
je 0x6109c0b5
test al, 0x40
mov ecx, dword [ebp - 0xb94]
lea edx, [ebp - 0xb74]
setne al
movzx eax, 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 0x6109bb67
mov eax, dword [ebp - 0xb74]
test eax, eax
jne 0x6109c16b
test byte [0x6110c854], 1
jne 0x6109be22
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 0x6109bd37
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 0x6109bcc9
mov eax, dword [edx]
test eax, eax
jne 0x6109bf32
mov eax, dword [edx + 0x10]
test eax, eax
je 0x6109bcb0
mov edi, dword [eax]
mov ebx, eax
test edi, edi
jne 0x6109bc95
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 0x6109bce2
mov dword [esp], eax
call sym._free_1
mov esi, dword [ebp - 0x48]
test esi, esi
je 0x6109bced
mov eax, dword [ebp - 0x44]
xor ebx, ebx
test eax, eax
jg 0x6109bc76
jmp 0x6109bc8b
inc ebx
cmp dword [ebp - 0x44], ebx
jle 0x6109bc8b
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + ebx*4]
test eax, eax
je 0x6109bc70
inc ebx
call sym._cfree_4
cmp dword [ebp - 0x44], ebx
jg 0x6109bc76
mov eax, dword [ebp - 0x48]
call sym._cfree_4
jmp 0x6109bced
mov eax, dword [ebx]
add ebx, 4
call sym._cfree_4
mov eax, dword [ebx]
test eax, eax
jne 0x6109bc95
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 0x6109bc4c
mov esi, dword [ebp - 0x48]
test esi, esi
jne 0x6109bc5f
mov eax, dword [ebp - 0xb80]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 0x18
mov dword [esp], 0x6110c854
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 0x6109b71f
mov dword [esp], eax
call sym._free_1
jmp 0x6109bba4
test byte [0x6110c854], 1
lea edx, [ebp - 0x1b8]
mov dword [ebp - 0xb88], edx
jne 0x6109c0d2
test byte [ebp - 0x1e8], 0x40
je 0x6109c0b5
mov dword [esp], 1
mov ecx, dword [ebp - 0xb94]
lea edx, [ebp - 0xb74]
mov eax, dword [ebp + 0x10]
add ecx, 0xc
call sym.__Z9build_envPKPKcRPcRib_16
mov ecx, dword [ebp - 0xb94]
sub esp, 4
test eax, eax
mov dword [ecx + 0x10], eax
je 0x6109bb67
mov eax, dword [ebp - 0xb74]
test eax, eax
jne 0x6109c16b
test byte [0x6110c854], 1
jne 0x6109be22
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 0x6109bd37
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 0x6109bbde
mov esi, 7
mov ebx, 0x1df
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], ebx
mov dword [esp], 0x6110c854
mov eax, 0x61130540
mov ecx, str.int_spawn_guts_const_char__const_char_const__const_char_const__int__int__int_
mov dword [esp + 8], eax
mov edx, 0x6113059a
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 0x6109bb74
test byte [0x6110c854], 1
mov ebx, dword [ebp - 0xb70]
jne 0x6109c9ba
call sym.cygwin1.dll___errno
mov edx, dword [sym.cygwin1.dll__impure_ptr]
mov dword [edx], ebx
mov dword [eax], ebx
jmp 0x6109bb8b
call sym.cygwin1.dll___errno
cmp dword [eax], 0xc
je 0x6109c9fc
test byte [0x6110c854], 1
jne 0x6109ca20
call sym.cygwin1.dll___errno
mov edx, dword [sym.cygwin1.dll__impure_ptr]
mov dword [edx], 0xe
mov dword [eax], 0xe
jmp 0x6109bb8b
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 0x6109b74f
call sym._cfree_4
mov edx, dword [ebp - 0x6c]
jmp 0x6109bbf8
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 0x6109b9a4
jmp 0x6109bb8b
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 4]
cmp byte [eax], 0x2f
jne 0x6109b970
cmp byte [eax + 1], 0x63
jne 0x6109b970
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 0x6109bfba
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 0x6109b970
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], 0x61130760
call sym.cygwin1.dll__strlen
mov ecx, eax
mov edx, 0x61130760
mov eax, esi
call fcn.610c2760
mov edx, dword [ebp - 0x1e0]
test edx, edx
jne 0x6109cec4
lea edi, [ebp - 0x1b8]
mov dword [esp], edi
call sym.cygwin1.dll__strlen
mov ecx, eax
mov edx, edi
mov eax, esi
call fcn.610c2760
mov dword [esp], 0x61130760
call sym.cygwin1.dll__strlen
mov ecx, eax
mov edx, 0x61130760
mov eax, esi
call fcn.610c2760
mov dword [esp], 0x61130762
call sym.cygwin1.dll__strlen
mov ecx, eax
mov edx, 0x61130762
mov eax, esi
call fcn.610c2760
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.610c2760
mov dword [esp], 0x61130762
call sym.cygwin1.dll__strlen
mov ecx, eax
mov edx, 0x61130762
mov eax, esi
call fcn.610c2760
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.610c2760
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 0x6109b9d0
mov eax, dword [0x61106ec4]
add eax, 0x198
mov dword [esp], eax
call method.dtable.set_file_pointers_for_exec__
mov eax, dword [ebp - 0x1e8]
jmp 0x6109bb27
mov dword [esp], 0x6110c854
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 0x6109bb19
mov dword [esp], 0x6110c854
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 0x6109bab8
or dword [ebp - 0xb8c], 8
jmp 0x6109bac2
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 0x6109c3b1
cmp dword [ebp + 0x14], 3
je 0x6109c503
mov edx, dword [0x61109170]
mov eax, dword [edx]
cmp dword [edx + 0x124], eax
je 0x6109c85e
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 0x6109cbeb
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 [0x61107568]
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 [0x61109170]
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 0x6109cb96
test byte [ebp - 0xb8c], 4
jne 0x6109c821
mov eax, dword [ebp - 0x344]
mov dword [esp], eax
call sub.KERNEL32.dll_CloseHandle
sub esp, 4
test byte [0x6110c854], 1
jne 0x6109c7eb
cmp dword [ebp + 0x14], 5
sete dl
cmp dword [ebp + 0x14], 2
sete al
or dl, al
je 0x6109c32a
test byte [ebp - 0x7c], 2
je 0x6109c5b1
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 0x6109cae9
mov edx, dword [ebp - 0x348]
test al, al
mov dword [0x6110917c], edx
jne 0x6109cc46
mov eax, dword [ebp - 0xba0]
test eax, eax
je 0x6109c398
mov ebx, dword [0x61109170]
call sub.KERNEL32.dll_GetCurrentProcessId
mov edx, dword [ebp - 0xba0]
mov dword [ebx + 0x1e4], eax
mov eax, dword [0x61109170]
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 0x6109cb0e
inc dword [ebp - 0xb9c]
mov eax, dword [0x61106ec4]
add eax, 0x88
mov eax, dword [eax + 0xd4]
test eax, eax
jne 0x6109c5cc
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, 0x6110943c
mov dword [esp + 0xc], eax
mov eax, 0x6110943c
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 0x6109c77e
mov eax, dword [0x61106ec4]
add eax, 0x88
mov eax, dword [eax + 0xd4]
test eax, eax
jne 0x6109c452
mov eax, dword [0x6110755c]
mov dword [esp], eax
call fcn.610ff4b8
sub esp, 4
test bl, bl
je 0x6109cb2c
test byte [ebp - 0xb8c], 4
je 0x6109c793
mov edx, dword [0x61106ec4]
add edx, 0x198
mov eax, dword [edx + 0x14]
test eax, eax
jg 0x6109c7c3
cmp dword [ebp + 0x14], 3
je 0x6109c7df
mov ecx, dword [0x611650ec]
mov eax, dword [ebp - 0x340]
test byte [ecx + 0x13], 4
jne 0x6109c5a8
mov esi, eax
test byte [0x6110c854], 1
je 0x6109c1c5
mov eax, dword [ebp - 0x54]
test bl, bl
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x14], eax
je 0x6109c850
mov dword [esp + 0x10], esi
mov dword [esp], 0x6110c854
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 0x6109c1cf
mov byte [0x6110c860], 1
lea eax, [ebp - 0xa8]
mov edx, dword [0x61109170]
mov dword [0x61148180], 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 [0x61148184], eax
mov dword [0x6110917c], eax
lea eax, [ebp - 0x1b8]
mov dword [esp + 4], eax
call sym.cygwin1.dll__strcpy
test byte [0x6110c854], 1
jne 0x6109c982
cmp byte [ebp - 0x3c], 0
jne 0x6109c58a
mov eax, dword [0x61109170]
mov ecx, dword [eax + 0x1e0]
test ecx, ecx
je 0x6109c58a
mov edx, dword [ebp - 0xb9c]
test edx, edx
je 0x6109cc28
mov edx, dword [ebp - 0x348]
call method._pinfo.dup_proc_pipe_void_
mov dword [ebp - 0xba0], eax
test byte [ebp - 0x7c], 2
jne 0x6109c2e3
mov dword [esp], 0
call sym.__Z15close_all_filesb_4
sub esp, 4
jmp 0x6109c2e3
mov esi, eax
neg esi
jmp 0x6109c4ab
cmp dword [ebp + 0x14], 3
jne 0x6109cae9
mov edx, dword [ebp - 0x348]
mov dword [0x6110917c], edx
jmp 0x6109c366
call fcn.610ffa08
mov eax, dword [0x6110755c]
mov dword [esp], eax
call fcn.610ff4b8
mov edx, dword [0x61106ec4]
sub esp, 4
mov eax, dword [edx + 0x15c]
test eax, eax
je 0x6109c3c9
mov eax, dword [edx + 0x108]
cmp dword [edx + 0x100], eax
je 0x6109c86a
cmp dword [ebp + 0x14], 3
je 0x6109c88e
mov eax, 4
lea esi, [ebp - 0x748]
mov dword [ebp - 0xb78], eax
call fcn.61100520
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.61100828
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.611005a8
sub esp, 0x14
call sub.KERNEL32.dll_GetCurrentThreadId
mov dword [esp], eax
call fcn.61100550
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.61100828
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.611005a8
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 [0x61106ec4]
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, 0x6110943c
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, 0x6110943c
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.610ff110
sub esp, 0x2c
test eax, eax
setne bl
cmp dword [ebp + 0x14], 3
jne 0x6109c439
test bl, bl
je 0x6109c439
test byte [ebp - 0xb8c], 4
jne 0x6109c472
mov eax, dword [ebp - 0x340]
lea edx, [ebp - 0xa8]
mov dword [esp], eax
mov eax, 0x6110c854
call method.strace.write_childpid_child_info__unsigned_long_
mov edx, dword [0x61106ec4]
add edx, 0x198
mov eax, dword [edx + 0x14]
test eax, eax
jle 0x6109c489
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 0x6109c493
mov eax, dword [0x61109170]
mov esi, dword [eax]
jmp 0x6109c4ab
mov dword [esp], 0x6110c854
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 0x6109c30e
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, 0x6110c854
call method.strace.write_childpid_child_info__unsigned_long_
jmp 0x6109c2f0
mov eax, 0xffffffff
mov dword [esp + 0x10], eax
jmp 0x6109c4d2
mov byte [edx + 0x130], 1
jmp 0x6109c1e3
mov eax, dword [edx + 0x10c]
cmp dword [edx + 0x104], eax
jne 0x6109c607
cmp dword [edx + 0x148], 1
je 0x6109c607
jmp 0x6109c3c9
mov dword [esp], 0x6110916c
call method.pinfo.set_acl__
jmp 0x6109c611
mov eax, 1
jmp 0x6109ba2e
xor eax, eax
jmp 0x6109ba16
mov edx, dword [0x61109170]
mov esi, dword [edx + 0x1d4]
test esi, esi
je 0x6109c93f
mov eax, dword [0x61106ec4]
mov ecx, dword [eax + 0x2bc]
test ecx, ecx
je 0x6109ca7c
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 0x6109bacf
mov eax, 2
mov edx, dword [0x61107568]
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 [0x6110916c]
mov dword [esp + 4], eax
call sub.KERNEL32.dll_DuplicateHandle
sub esp, 0x1c
test eax, eax
jne 0x6109b9d0
jmp 0x6109b9c3
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 0x6109c8c0
mov eax, dword [0x61106ec4]
add eax, 0x198
mov eax, dword [eax + 0x14]
test eax, eax
jle 0x6109baf7
jmp 0x6109baf0
mov dword [esp], 0x6110c854
mov eax, dword [0x61109170]
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 0x6109c556
mov dword [esp + 0x18], ebx
mov eax, 0x15f
mov edi, 0x61130540
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, 0x6113059a
mov dword [esp + 0xc], eax
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [esp], 0x6110c854
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x6109be7c
test byte [0x6110c854], 1
je 0x6109bb74
mov edi, 7
mov esi, 0x142
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], esi
jmp 0x6109be34
mov dword [esp], 0x6110c854
mov eax, 0x6113059a
mov ebx, 0xe
mov dword [esp + 0xc], eax
mov eax, 0x61130540
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 0x6109beab
or dword [ebp - 0x22c], 1
xor eax, eax
mov word [ebp - 0x228], ax
jmp 0x6109ba81
add eax, 0x2bc
xor edx, edx
mov edi, 1
mov dword [esp + 0xc], eax
mov eax, dword [0x61107568]
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 0x6109c8d3
mov dword [esp], 0x6110c854
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 0x6109c8d3
cmp dword [ebp + 0x14], 3
jg 0x6109cd5f
cmp dword [ebp + 0x14], 1
je 0x6109cd7c
jle 0x6109cee7
mov dword [ebp - 0xb80], esi
jmp 0x6109bb96
mov dword [esp], 1
call sym.__Z15close_all_filesb_4
sub esp, 4
mov edx, 0x4000000
mov eax, 0x6110916c
call method.pinfo.exit_unsigned_long_
mov edx, 0x231
mov eax, str._ext_build_netrel_src_cygwin_1.5.25_7_winsup_cygwin_spawn.cc
call sym.__Z8seterrnoPKci_8
test byte [0x6110c854], 1
jne 0x6109cda1
cmp byte [ebp - 0xb81], 0
je 0x6109cb6a
mov eax, dword [0x61109170]
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 0x6109bb96
mov dword [esp], eax
call sub.KERNEL32.dll_CloseHandle
sub esp, 4
jmp 0x6109bb96
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 0x6109bb96
mov eax, dword [ebp - 0xb64]
test eax, eax
je 0x6109bb96
mov dword [esp], edi
call method.pinfo.release__
jmp 0x6109bb96
test byte [0x6110c854], 1
jne 0x6109cdcd
call sym.cygwin1.dll___errno
cmp dword [eax], 0xc
je 0x6109cbb8
test byte [0x6110c854], 1
jne 0x6109cdf9
call sym.cygwin1.dll___errno
mov edx, dword [sym.cygwin1.dll__impure_ptr]
mov dword [edx], 0xb
mov dword [eax], 0xb
jmp 0x6109cbb8
mov dword [esp], eax
call method._pinfo.sync_proc_pipe__
mov dword [esp], 0x6110916c
call method.pinfo.zap_cwd__
mov eax, dword [0x61109170]
jmp 0x6109c579
mov dword [esp], 1
call sym.__Z15close_all_filesb_4
mov eax, dword [0x61109170]
sub esp, 4
mov eax, dword [eax + 0x1e0]
test eax, eax
jne 0x6109cb1d
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 0x6109cb1d
mov byte [0x61146ed0], 1
mov edx, 0x6110916c
mov eax, 1
call sym.__Z12proc_subprocmm_8
test eax, eax
sete byte [0x61109174]
xor eax, eax
mov dword [esp + 8], eax
lea eax, [ebp - 0xb80]
mov dword [esp + 4], eax
mov eax, dword [0x61109170]
mov eax, dword [eax]
mov dword [esp], eax
call sym._waitpid_1
jmp 0x6109cb1d
movzx eax, byte [0x6110c854]
test al, 1
jne 0x6109ce57
test al, 1
jne 0x6109ce40
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 0x6109bcf3
movzx eax, byte [0x6110c854]
test al, 1
jne 0x6109ce8a
test al, 1
je 0x6109cce7
mov ebx, 0x16
mov ecx, 0x11b
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], ecx
mov dword [esp], 0x6110c854
mov eax, 0x6113059a
mov edx, str.int_spawn_guts_const_char__const_char_const__const_char_const__int__int__int_
mov dword [esp + 0xc], eax
mov eax, 0x61130540
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 0x6109cce7
cmp dword [ebp + 0x14], 5
je 0x6109cebd
jl 0x6109cb03
cmp dword [ebp + 0x14], 0x200
jne 0x6109bb96
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 0x6109bb8b
jmp 0x6109bb96
mov dword [esp], 0x6110c854
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 0x6109cb48
mov dword [esp], 0x6110c854
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 0x6109cbf8
mov dword [esp], 0x6110c854
mov eax, 0x6113059a
mov ebx, 0xb
mov dword [esp + 0xc], eax
mov eax, 0x61130540
mov ecx, 0x280
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 0x6109cc0f
mov eax, 0x16
mov dword [esp + 0x18], eax
mov eax, 0x112
mov dword [esp + 0x14], eax
jmp 0x6109cd2d
mov dword [esp], 0x6110c854
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 [0x6110c854]
jmp 0x6109ccdf
mov dword [esp], 0x6110c854
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 [0x6110c854]
jmp 0x6109cd17
xor eax, eax
jmp 0x6109bb90
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.610c2760
jmp 0x6109c018
mov edx, dword [ebp + 0x14]
test edx, edx
je 0x6109cb03
jmp 0x6109bb96