Function at 0x21013e430
Capabilities:
Create process on windows
Read file on windows
Resume thread

Disassembly:
push rbp
mov eax, 0x11d8
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
call fcn.21021b550
sub rsp, rax
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x11a0], rcx
lea rcx, str.MSYS2_ARG_CONV_EXCL
mov r15, rdx
mov rbx, r8
mov qword [rbp + 0x11b8], r9
mov dword [rbp + 0x58], 0xffffffff
call sym.msys_2.0.dll_getenv
mov r13, rax
test rax, rax
je 0x21013f4b0
mov rcx, rax
call sym.msys_2.0.dll_strlen
lea r8, [rax + 1]
add rax, 0x10
and rax, 0xfffffffffffffff0
call fcn.21021b550
sub rsp, rax
mov rdx, r13
lea rsi, [rsp + 0x60]
mov rcx, rsi
call sym.msys_2.0.dll_memcpy
mov edx, 0x3b
mov rcx, rsi
call sym.string_split_delimited_char__char_
mov r13, rax
movzx eax, byte [0x210273880]
and eax, 1
test r15, r15
je 0x21013f4c8
cmp byte [r15], 0
je 0x21013f410
mov edi, dword [rbp + 0x11c0]
and edi, 0xfff
mov dword [rbp + 0x48], edi
test al, al
jne 0x21013f871
test rbx, rbx
je 0x21013f6d0
mov qword [rbp + 0x408], 0
lea rcx, [rbp + 0x78]
lea rdi, [rbp + 0x200]
mov qword [rbp + 0x410], 0
mov dword [rbp + 0x418], 0
mov byte [rbp + 0x420], 0
mov qword [rbp + 0x528], 0
mov qword [rbp + 0x530], 0
mov qword [rbp + 0x538], 0
mov qword [rbp + 0x540], 0
mov qword [rbp + 0x548], 0
mov qword [rbp + 0xc8], 0
mov rax, qword gs:[0x30]
mov qword [rbp + 0x470], 0
mov qword [rbp + 0x490], 0
mov qword [rbp + 0x4a0], 0
mov qword [rbp + 0x4a8], 0
mov qword [rbp + 0x4b0], 0
mov rax, qword [rax + 8]
mov qword [rbp + 0xc0], 0
mov qword [rbp + 0xd0], 0
mov dword [rbp + 0x400], 0xffffffff
mov dword [rbp + 0x41c], 0
mov qword [rbp + 0x498], 0
mov dword [rbp + 0x520], 0
mov eax, dword [rax - 0x2cc8]
mov qword [rbp + 0xa0], 0
mov dword [rbp + 0x78], eax
mov rax, qword gs:[0x30]
mov rax, qword [rax + 8]
mov qword [rbp + 0x68], 0
mov eax, dword [rax - 0x2cc4]
mov dword [rbp + 0x7c], eax
call method.tmp_pathbuf.w_get__
mov ecx, 0xd
mov byte [rbp + 0x4f], 0
mov qword [rbp + 0x38], rax
xor eax, eax
cmp dword [rbp + 0x48], 0x200
rep stosq qword [rdi], rax
mov byte [rbp + 0x4e], 0
mov qword [rbp + 0x120], 0
mov qword [rbp + 0x128], 0
mov qword [rbp + 0x130], 0
mov qword [rbp + 0x138], 0
mov qword [rbp + 0x140], 0
mov qword [rbp + 0x148], 0
mov qword [rbp + 0x150], 0
mov qword [rbp + 0x158], 0
je 0x21013f8a1
mov qword [rbp + 0xe0], 0xfffffffffffffffe
mov rax, qword gs:[0x30]
mov rax, qword [rax + 8]
lea rdx, [rbp + 0x160]
mov rax, qword [rax - 0x1bf8]
mov qword [rbp + 0x160], rax
mov rax, qword gs:[0x30]
mov rax, qword [rax + 8]
mov qword [rax - 0x1bf8], rdx
mov rax, qword gs:[0x30]
mov rax, qword [rax + 8]
mov rax, qword [rax - 0x2cc8]
mov qword [rbp + 0x168], rax
lea rax, [0x21013f558]
mov qword [rbp + 0x170], rax
mov qword [rbp + 0x178], rsp
xor eax, eax
cmp dword [rbp + 0x48], 3
setne al
add eax, 1
mov dword [rbp + 0x44], eax
call method.cygheap_exec_info.alloc__
mov rdi, qword [rbp + 0x11a0]
cmp qword [rbx], 0
mov qword [rdi + 0x90], rax
je 0x21013fc10
mov eax, 1
nop dword [rax + rax]
mov edi, eax
add rax, 1
cmp qword [rbx + rax*8 - 8], 0
jne 0x21013e750
lea r12, [rbp + 0x400]
xor r9d, r9d
lea r8, [rbp + 0x5c]
mov rcx, r15
mov rdx, r12
call sym.perhaps_suffix_char_const__path_conv__int__unsigned_int_
mov r9, rax
test rax, rax
je 0x21013f8c0
mov eax, dword [rbp + 0x11c0]
mov dword [rsp + 0x20], edi
mov r8, r12
mov rdx, r15
mov qword [rsp + 0x28], rbx
lea rcx, [rbp + 0xa0]
shr eax, 0xc
and eax, 1
mov dword [rsp + 0x30], eax
call method.av.setup_char_const__path_conv__char_const__int__char_const_const__bool_
mov dword [rbp + 0x58], eax
test eax, eax
jne 0x21013f5ae
test byte [rbp + 0x498], 0x40
jne 0x21013fa68
mov rax, qword [0x21023d810]
mov r14d, dword [rax + 0x48dc]
test r14d, r14d
jne 0x21013fdc9
cmp edi, 3
je 0x2101400be
mov r12d, dword [rbp + 0xac]
xor r14d, r14d
test r12d, r12d
jle 0x21013f9b5
mov qword [rbp + 0x11a8], r15
mov rax, qword [rbp + 0xa0]
lea r12, [r14*8]
mov r15, qword [rax + r14*8]
mov rcx, r15
call sym.msys_2.0.dll_strlen
lea edi, [rax + 1]
movsxd rdi, edi
mov rcx, rdi
call sym.malloc_1
mov r8, rdi
mov rdx, r15
lea rdi, [0x210273880]
mov rcx, rax
call sym.msys_2.0.dll_memcpy
mov r8, r13
mov rdx, rsi
mov rcx, rax
call sym.arg_heuristic_with_exclusions
mov r15, rax
mov rax, qword [rbp + 0xa0]
test byte [rdi], 1
je 0x21013e888
mov rax, qword [rax + r14*8]
mov dword [rsp + 0x20], r14d
mov edx, 0x40
lea r9, str.newargv__d____s
lea r8, str.int_child_info_spawn::worker_const_char__const_char_const__const_char_const__int__int__int_
lea rcx, [0x210273880]
mov qword [rsp + 0x28], rax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
mov rcx, r15
add r12, qword [rbp + 0xa0]
add r14, 1
call sym.cstrdup1
mov rcx, r15
mov qword [r12], rax
call sym.free_1
cmp dword [rbp + 0xac], r14d
jg 0x21013e800
mov r15, qword [rbp + 0x11a8]
mov eax, dword [rbp + 0x498]
and eax, 0x40
cmp byte [0x210230a10], 0
jne 0x21013f9be
test eax, eax
je 0x21013f9be
cmp dword [rbp + 0x48], 3
je 0x21013fa00
mov rax, qword [rbp + 0x11a0]
xor esi, esi
mov rax, qword [rax + 0x90]
mov qword [rax + 0x20], 0
mov qword [rbp + 0x100], 0
mov qword [rbp + 0x108], 0
mov qword [rbp + 0x110], 0
call sym.GetCurrentProcess
mov rcx, rax
call sym.GetPriorityClass
mov edi, eax
test byte [0x210273880], 1
jne 0x21013fd4b
mov eax, edi
or ah, 0xc
cmp byte [0x210307930], 0
mov dword [rbp + 0x40], eax
je 0x21013e95d
or edi, 0x4000c00
test byte [rbp + 0x498], 0x40
cmovne edi, dword [rbp + 0x40]
mov dword [rbp + 0x40], edi
call sym.GetCurrentProcess
xor edx, edx
lea r8, [rbp + 0x60]
mov rcx, rax
call sym.IsProcessInJob
test eax, eax
je 0x21013e97f
mov edi, dword [rbp + 0x60]
test edi, edi
jne 0x210140046
cmp dword [rbp + 0x48], 5
jne 0x21013fae4
or dword [rbp + 0x40], 8
mov rax, qword [0x21024fce8]
mov byte [rbp + 0x33], 0
mov qword [rax + 0xfd68], 0
test sil, sil
je 0x21013fc7e
mov qword [rbp + 0x38], 0
mov rcx, qword [0x21023d810]
test byte [rbp + 0x498], 0x40
je 0x21013fda1
mov rax, qword [0x21023d810]
xor esi, esi
cmp qword [rax + 0x4878], 0
je 0x21013e9eb
mov edi, dword [rax + 0x47e8]
cmp dword [rax + 0x47e0], edi
setne sil
mov rcx, qword [rbx]
lea rdx, str.strace.exe
call sym.iscmd_char_const__char_const_
test eax, eax
je 0x21013fd73
mov r9d, dword [rbp + 0x498]
mov eax, 1
shr r9d, 6
and r9d, 1
xor edx, edx
test sil, sil
je 0x21013ea2b
mov rdx, qword [0x21023d810]
mov rdx, qword [rdx + 0x4870]
mov rdi, qword [rbp + 0x11a0]
lea r10, [rbp + 0x68]
mov rcx, qword [rbp + 0x11b8]
mov rbx, qword [rdi + 0x90]
mov qword [rsp + 0x20], rdx
mov rdx, r10
mov dword [rsp + 0x28], eax
lea r8, [rbx + 0x10]
call sym.build_env_char_const_const__wchar_t__int__bool__void__bool_
mov qword [rbx + 0x18], rax
mov rax, qword [rbp + 0x11a0]
mov rax, qword [rax + 0x90]
cmp qword [rax + 0x18], 0
je 0x21013fa97
cmp qword [rbp + 0x68], 0
je 0x21013fa97
mov r8d, dword [rbp + 0x498]
mov edx, dword [rbp + 0x44]
mov ebx, 0xa8
mov rcx, qword [rbp + 0x11a0]
shr r8d, 6
and r8d, 1
call method.child_info_spawn.child_info_spawn_child_info_types__bool_
mov rax, qword [rbp + 0x11a0]
mov edi, dword [rbp + 0x11c8]
mov dword [rax + 0x98], edi
mov edi, dword [rbp + 0x11d0]
mov rcx, rax
mov dword [rax + 0x9c], edi
call method.child_info_spawn.record_children__
mov rax, qword [rbp + 0x11a0]
cmp byte [rbp + 0xb0], 0
mov word [rbp + 0x242], bx
mov qword [rbp + 0x248], rax
mov rax, qword [0x21023d810]
jne 0x21013eb0b
mov rdi, qword [rbp + 0x11a0]
test byte [rdi + 0x28], 2
je 0x21013eb07
cmp dword [rbp + 0x48], 3
je 0x2101403cc
or dword [rbp + 0x40], 4
mov rcx, qword [rax + 0x4938]
test rcx, rcx
je 0x21013fc53
mov rax, qword [rcx]
call qword [rax + 0x368]
mov rcx, qword [0x21023d808]
mov edx, eax
mov rax, qword [rbp + 0x11a0]
test byte [rax + 0x28], 2
jne 0x21013fc53
test edx, edx
je 0x21013fc53
mov rax, qword [0x21024fce8]
cmp dword [rax + 0xfc20], edx
je 0x21013fc53
mov rdi, qword [rbp + 0x11a0]
or dword [rbp + 0x40], 0x200
mov qword [rdi + 0x20], rcx
or dword [rax + 4], 0x10000
mov eax, dword [rbp + 0x48]
cmp eax, 5
je 0x21014032e
cmp eax, 3
jne 0x21013ff55
mov rax, qword [0x210317fa8]
test rax, rax
je 0x21013ff55
mov rdi, qword [rbp + 0x11a0]
mov qword [rdi + 0x38], rax
test byte [rdi + 0x28], 2
je 0x21014033f
call sym.GetCurrentProcessId
mov rdi, qword [rbp + 0x11a0]
lea rcx, [rbp + 0x78]
mov dword [rdi + 0x58], eax
call method.tmp_pathbuf.w_get__
mov r8, qword [0x21025fcf8]
mov r9d, 0x1000
mov rdi, rax
mov rax, qword [rbp + 0x11a0]
mov rcx, rdi
mov rax, qword [rax + 0x18]
mov rdx, qword [rax + 0x4740]
mov dword [rsp + 0x20], 0
call sym.__sec_user_void__void__void__unsigned_int__int_
lea r8, [rbp + 0x95c]
test rax, rax
lea rax, [0x2102d1cc0]
cmovne rax, rdi
xor r12d, r12d
xor ebx, ebx
mov qword [rbp + 0x18], rax
mov rax, qword [0x21023d810]
mov r9, qword [rax + 0x4900]
lea rax, [rbp + 0x950]
mov qword [rbp + 0x950], 1
mov dword [rbp + 0x958], 2
movsxd rdx, dword [rax]
mov rdx, qword [r9 + rdx*8]
test rdx, rdx
je 0x21013ec6b
movzx ecx, word [rdx + 0x1b2]
cmp cx, 0x88
jne 0x21013ec61
test rbx, rbx
je 0x2101403de
cmp cx, 3
je 0x21013ff38
add rax, 4
cmp r8, rax
jne 0x21013ec29
test r12, r12
je 0x21013ec94
mov rcx, r12
call method.fhandler_console.setup_for_non_cygwin_app__
lea rdx, [rbp + 0x140]
mov rcx, r12
call method.fhandler_console.get_duplicated_handle_set_fhandler_console::handle_set_t_
mov byte [rbp + 0x4e], 1
mov r10d, dword [rbp + 0x11c8]
mov r11d, dword [rbp + 0x11d0]
xor eax, eax
test r10d, r10d
cmovns eax, dword [rbp + 0x11c8]
test r11d, r11d
mov r12d, eax
mov eax, 1
cmovns eax, dword [rbp + 0x11d0]
mov dword [rbp + 0x11d0], eax
mov rax, qword [rbp + 0x11a0]
test byte [rax + 0x28], 2
jne 0x21013ee73
mov r14, 0xffffffffffffffff
xor edi, edi
mov r8, qword [0x21023d810]
lea eax, [r14 + 1]
lea rsi, [r14*8 + 8]
mov r9d, dword [r8 + 0x4928]
jmp 0x21013ed1e
mov rdx, qword [r8 + 0x4900]
add eax, 1
mov rcx, qword [rdx + rsi]
lea rdx, [rsi + 8]
test rcx, rcx
jne 0x21013f8ec
mov rsi, rdx
movsxd r14, eax
cmp eax, r9d
jl 0x21013ed00
test dil, dil
je 0x21013ed78
mov rax, qword [0x21024fce8]
mov edx, dword [rax + 0xfc28]
mov eax, dword [rax + 0xfc20]
mov dword [rbp + 0x278], eax
mov rax, qword [0x21025fe48]
mov dword [rbp + 0x280], edx
lea rcx, [rax + 8]
call method.tty_list.get_cttyp__
mov edx, 0xffffffb3
mov rcx, rax
lea rax, [rbp + 0x270]
test rcx, rcx
cmove rcx, rax
xor r8d, r8d
call method.tty_min.kill_pgrp_int__int_
mov rax, qword [rbp + 0x11a0]
movzx eax, byte [rax + 0x28]
mov byte [rbp + 0x32], al
shr al, 1
xor eax, 1
test rbx, rbx
setne dl
xor r14d, r14d
and al, dl
mov byte [rbp + 0x34], al
je 0x21013ee7a
mov qword [rsp + 0x30], 0
mov rcx, qword [rbp + 0x38]
xor r9d, r9d
mov edx, 0x80000000
mov dword [rsp + 0x28], 0
mov r8d, 1
lea rsi, [rbp + 0x550]
mov dword [rsp + 0x20], 3
call sym.CreateFileW
lea r9, [rbp + 0x64]
mov r8d, 0x400
mov rdx, rsi
mov qword [rsp + 0x20], 0
mov r13, rax
mov rcx, rax
call sym.ReadFile
mov rcx, r13
call sym.CloseHandle
mov edx, dword [rbp + 0x64]
mov r9d, 4
mov rcx, rsi
lea r8, [0x2102a9534]
call sym.msys_2.0.dll_memmem
test rax, rax
je 0x21013ee2f
mov ecx, dword [rbp + 0x64]
lea rdx, [rax + 0x5c]
add rsi, rcx
cmp rdx, rsi
jb 0x2101404c6
mov rcx, qword [rbp + 0x38]
mov edx, 0x2e
call sym.msys_2.0.dll_wcsrchr
mov r14, rax
test rax, rax
je 0x21013ee76
lea rdx, str..bat
mov rcx, rax
call sym.msys_2.0.dll_wcscasecmp
test eax, eax
je 0x2101404d0
lea rdx, str..cmd
mov rcx, r14
call sym.msys_2.0.dll_wcscasecmp
test eax, eax
je 0x2101404d0
xor r14d, r14d
mov byte [rbp + 0x34], 0
mov dword [rbp + 0x23c], 0x100
xor edx, edx
mov ecx, r12d
call sym.handle_int__bool_
mov ecx, dword [rbp + 0x11d0]
mov edx, 1
mov qword [rbp + 0x250], rax
call sym.handle_int__bool_
mov edx, 1
mov ecx, 2
mov qword [rbp + 0x258], rax
call sym.handle_int__bool_
mov dword [rbp + 0x200], 0x68
mov qword [rbp + 0x260], rax
mov rax, qword [rbp + 0x11a0]
test byte [rax + 0x28], 2
je 0x2101401da
mov esi, dword [rbp + 0x48]
mov qword [rbp + 0x28], r14
mov qword [rbp + 0x11a8], r15
mov rbx, qword [rbp + 0x11a0]
mov r15, qword [rbp + 0x18]
call sym.RevertToSelf
test byte [rbp + 0x498], 0x40
jne 0x21013fdb2
cmp esi, 3
je 0x2101404b4
call sym.create_cygwin_pid__
mov dword [rbx + 0x88], eax
mov rax, qword [rbp + 0xc0]
lea r8, [rax + 1]
lea rax, [rax + rax + 0x11]
and rax, 0xfffffffffffffff0
call fcn.21021b550
sub rsp, rax
mov rax, qword [0x21023d810]
lea r14, [rsp + 0x60]
cmp qword [rax + 0x4878], 0
je 0x21014022b
mov rdi, qword [rax + 0x47e8]
cmp qword [rax + 0x47e0], rdi
je 0x210140211
cmp esi, 3
jne 0x21013ef77
lea rcx, [0x21024fcc0]
call method.pinfo.set_acl__
call fcn.21022e3b0
mov qword [rbp + 0x10], rax
call sym.GetCurrentThreadId
mov ecx, eax
call fcn.21022e400
mov rdx, qword [0x21023d810]
mov qword [rbp + 8], rax
cmp byte [rdx + 0x4882], 0
jne 0x21013ffc3
xor eax, eax
lea rdi, [rbp + 0x950]
xor r9d, r9d
xor r8d, r8d
mov ecx, 0x100
sub rsp, 0x400
mov rdx, qword [rdx + 0x4740]
rep stosq qword [rdi], rax
mov dword [rsp + 0x20], 1
lea rcx, [rsp + 0x60]
lea rdi, [rbp + 0x300]
call sym.__sec_user_void__void__void__unsigned_int__int_
mov rdx, rdi
mov r12, rax
mov rax, qword [0x21023d810]
lea rcx, [rax + 0x4740]
call method.cygpsid.string_wchar_t__const
mov r9, r12
mov r8d, 0xc0000000
xor edx, edx
mov rcx, rax
call fcn.21022e080
mov r13, rax
test rax, rax
je 0x210140479
mov rcx, rax
call fcn.21022e800
test eax, eax
jne 0x2101403e6
lea r9, str.SetProcessWindowStation_failed___E
lea r8, str.int_child_info_spawn::worker_const_char__const_char_const__const_char_const__int__int__int_
mov edx, 0x8000
lea rcx, [0x210273880]
call method.strace.prntf_unsigned_int__char_const__char_const__..._
xor r12d, r12d
mov rax, qword [rbp + 0xc0]
mov r10, qword [rbp + 0x68]
mov edi, dword [rbp + 0x40]
lea r8, [rax + 1]
test rax, rax
jne 0x21013ffce
xor ecx, ecx
mov word [r14], cx
mov rax, qword [0x21023d810]
mov rdx, qword [rbp + 0x38]
mov r9, r15
mov r8, r14
mov rcx, qword [rax + 0x4870]
lea rax, [rbp + 0x100]
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x200]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x38], r10
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], r15
call fcn.21022c050
test eax, eax
setne dil
test r13, r13
je 0x21013f0dd
mov rcx, qword [rbp + 0x10]
call fcn.21022e800
mov rcx, r13
call fcn.21022dfc0
test r12, r12
je 0x21013f0f3
mov rcx, qword [rbp + 8]
call fcn.21022e850
mov rcx, r12
call fcn.21022df80
cmp esi, 3
je 0x21013f10f
mov rcx, qword [0x210317fa8]
mov r8d, 1
mov edx, 1
call sym.SetHandleInformation
test dil, dil
je 0x21014077c
test byte [rbx + 0x28], 2
je 0x21013f128
test byte [rbp + 0x40], 4
je 0x21014049d
mov rax, qword [0x21023d810]
mov edx, dword [rax + 0x4920]
test edx, edx
jle 0x21013f14b
mov edx, dword [rbp + 0x110]
lea rcx, [rax + 0x4900]
call method.dtable.fixup_before_exec_unsigned_int_
test byte [0x210273880], 1
jne 0x210140374
mov rax, qword [0x21024fce8]
cmp esi, 3
je 0x210140572
mov edi, dword [rax]
cmp dword [rax + 0xfc20], edi
jne 0x21013f179
mov byte [rax + 0xfc2c], 1
mov eax, dword [rbp + 0x498]
mov edx, dword [rbx + 0x88]
lea r12, [rbp + 0x1c0]
mov qword [rbp + 0x1c0], 0
mov qword [rbp + 0x1c8], 0
mov rcx, r12
mov qword [rbp + 0x1d0], 0
and eax, 0x40
mov qword [rbp + 0x1d8], 0
cmp eax, 1
mov qword [rbp + 0x1e0], 0
sbb eax, eax
xor r9d, r9d
mov qword [rbp + 0x1e8], 0
and eax, 0x20
mov qword [rbp + 0x1f0], 0
lea r8d, [rax + 1]
mov qword [rbp + 0x1f8], 0
call method.pinfo.init_int__unsigned_int__void_
mov rax, qword [rbp + 0x1e8]
test rax, rax
je 0x210140874
mov edx, dword [rbp + 0x110]
lea rcx, [rbp + 0x400]
mov dword [rax + 0x14], edx
mov rdx, qword [rbp + 0x100]
mov qword [rbp + 0x1c8], rdx
lea rdx, [rax + 0x18]
call method.path_conv.get_wide_win32_path_wchar_t_
mov rdi, qword [rbp + 0x100]
mov r13, qword [rbp + 0x1c0]
call sym.GetCurrentProcess
mov dword [rsp + 0x30], 2
xor r9d, r9d
mov dword [rsp + 0x28], 0
mov rcx, rax
mov r8, rdi
mov rdx, r13
mov dword [rsp + 0x20], 0
call sym.DuplicateHandle
test byte [rbp + 0x498], 0x40
jne 0x21013f2be
mov rcx, r12
call method.pinfo.create_winpid_symlink__
mov rdi, qword [rbp + 0x100]
mov r12, qword [rbp + 0x1e0]
call sym.GetCurrentProcess
mov dword [rsp + 0x30], 2
xor r9d, r9d
mov dword [rsp + 0x28], 0
mov rcx, rax
mov r8, rdi
mov rdx, r12
mov dword [rsp + 0x20], 0
call sym.DuplicateHandle
xor ecx, ecx
call sym.time_1
mov rdx, qword [0x21024fce8]
mov rcx, qword [rbx + 0x38]
mov r8, rax
mov rax, qword [rbp + 0x1e8]
mov edx, dword [rdx + 0xfd58]
mov qword [rax + 0xfc30], r8
mov dword [rax + 0xfd58], edx
call sym.CloseHandle
mov rax, qword [rbx + 0x30]
mov qword [rbx + 0x38], 0
mov qword [rbx + 0x30], 0
mov qword [rbp + 0x1d0], rax
cmp esi, 5
je 0x21013ff97
lea r12, [rbp + 0x1c0]
mov ecx, 1
mov rdx, r12
call sym.proc_subproc_unsigned_int__unsigned_long_
test eax, eax
sete byte [rbp + 0x1d8]
je 0x2101406e1
mov rdx, r12
mov ecx, 2
call sym.proc_subproc_unsigned_int__unsigned_long_
test eax, eax
sete byte [rbp + 0x1d8]
je 0x2101406e1
test byte [rbp + 0x40], 4
je 0x21013f3b0
test byte [rbx + 0x28], 2
jne 0x21013f39a
mov rdi, qword [rbp + 0x100]
mov r12, qword [rbx + 0x38]
call sym.GetCurrentProcess
mov dword [rsp + 0x30], 2
xor r9d, r9d
mov dword [rsp + 0x28], 0
mov rcx, rax
mov r8, rdi
mov rdx, r12
mov dword [rsp + 0x20], 0
call sym.DuplicateHandle
mov rcx, qword [rbp + 0x108]
call sym.ResumeThread
test byte [rbx + 0x28], 2
jne 0x2101401fa
mov rcx, qword [rbp + 0x108]
call sym.CloseHandle
test byte [0x210273880], 1
jne 0x2101402c3
movzx eax, byte [rbx + 0x28]
and eax, 2
cmp esi, 5
je 0x210140099
cmp esi, 2
je 0x210140099
test al, al
jne 0x2101400e8
mov eax, dword [rbp + 0x48]
mov r14, qword [rbp + 0x28]
cmp eax, 5
jg 0x21013fb3d
ja case.0x210140125.0
lea rdx, [0x2102a9658]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
test al, al
je 0x21013f476
lea r12, [0x210273880]
lea r9, str.prog_arg_is_empty
mov edx, 0x10
lea r8, str.int_child_info_spawn::worker_const_char__const_char_const__const_char_const__int__int__int_
mov rcx, r12
call method.strace.prntf_unsigned_int__char_const__char_const__..._
test byte [0x210273880], 1
je 0x21013f476
mov dword [rsp + 0x30], 2
mov edx, 0x40
mov rcx, r12
lea rax, str.int_child_info_spawn::worker_const_char__const_char_const__const_char_const__int__int__int_
mov dword [rsp + 0x28], 0x13e
lea r9, [0x2102a9162]
lea r8, [0x2102a9180]
mov qword [rsp + 0x20], rax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
mov rax, qword [sym.msys_2.0.dll__impure_ptr]
mov r12d, 0xffffffff
mov dword [rax], 2
call sym.msys_2.0.dll___errno
mov dword [rax], 2
mov eax, r12d
lea rsp, [rbp + 0x1158]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
movzx eax, byte [0x210273880]
xor esi, esi
xor r13d, r13d
and eax, 1
test r15, r15
jne 0x21013e4d3
test al, al
je 0x21013f52e
lea r12, [0x210273880]
lea r9, str.prog_arg_is_NULL
mov edx, 0x10
lea r8, str.int_child_info_spawn::worker_const_char__const_char_const__const_char_const__int__int__int_
mov rcx, r12
call method.strace.prntf_unsigned_int__char_const__char_const__..._
test byte [0x210273880], 1
je 0x21013f52e
mov dword [rsp + 0x30], 0xe
mov edx, 0x40
mov rcx, r12
lea rax, str.int_child_info_spawn::worker_const_char__const_char_const__const_char_const__int__int__int_
mov dword [rsp + 0x28], 0x138
lea r9, [0x2102a9162]
lea r8, [0x2102a9180]
mov qword [rsp + 0x20], rax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
mov rax, qword [sym.msys_2.0.dll__impure_ptr]
mov r12d, 0xffffffff
mov dword [rax], 0xe
call sym.msys_2.0.dll___errno
mov dword [rax], 0xe
jmp 0x21013f494
mov dword [rbp + 0x58], 0xffffffff
mov rax, qword gs:[0x30]
mov rdx, qword [rbp + 0x160]
mov rax, qword [rax + 8]
cmp byte [rbp + 0x4f], 0
mov qword [rax - 0x1bf8], rdx
jne 0x21013f7e0
cmp byte [rbp + 0x4e], 0
jne 0x21013f7c8
mov rcx, qword [rbp + 0x11a0]
call method.child_info_spawn.cleanup__
mov rcx, qword [rbp + 0x68]
test rcx, rcx
je 0x21013f790
call sym.free_1
mov rdx, qword [rbp + 0xe0]
mov r12d, dword [rbp + 0x58]
cmp rdx, 0xfffffffffffffffe
je 0x21013f638
mov ecx, 2
call sym.signal_1
mov rdx, qword [rbp + 0xe8]
mov ecx, 3
call sym.signal_1
lea rdx, [rbp + 0xf0]
xor r8d, r8d
xor ecx, ecx
call sym.sigprocmask_1
mov edx, dword [rbp + 0x78]
lea rcx, [rbp + 0x400]
mov rax, qword gs:[0x30]
mov rax, qword [rax + 8]
mov dword [rax - 0x2cc8], edx
mov edx, dword [rbp + 0x7c]
mov rax, qword gs:[0x30]
mov rax, qword [rax + 8]
mov dword [rax - 0x2cc4], edx
call method.path_conv.path_conv__
mov rcx, qword [rbp + 0xc8]
test rcx, rcx
je 0x21013f7b0
call sym.free_1
mov rcx, qword [rbp + 0xa0]
test rcx, rcx
je 0x21013f494
mov eax, dword [rbp + 0xa8]
test eax, eax
jle 0x21013f6c4
xor ebx, ebx
nop dword [rax]
mov rcx, qword [rcx + rbx*8]
add rbx, 1
call sym.cfree
mov rcx, qword [rbp + 0xa0]
cmp dword [rbp + 0xa8], ebx
jg 0x21013f6a8
call sym.cfree
jmp 0x21013f494
lea r12, [0x210273880]
test byte [0x210273880], 1
je 0x21013f73b
lea r9, str.argv_is_NULL
lea r8, str.int_child_info_spawn::worker_const_char__const_char_const__const_char_const__int__int__int_
mov edx, 0x10
mov rcx, r12
call method.strace.prntf_unsigned_int__char_const__char_const__..._
test byte [0x210273880], 1
je 0x21013f73b
mov dword [rsp + 0x30], 0x16
mov edx, 0x40
mov rcx, r12
lea rax, str.int_child_info_spawn::worker_const_char__const_char_const__const_char_const__int__int__int_
mov dword [rsp + 0x28], 0x148
lea r9, [0x2102a9162]
lea r8, [0x2102a9180]
mov qword [rsp + 0x20], rax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
mov rax, qword [sym.msys_2.0.dll__impure_ptr]
mov r12d, 0xffffffff
mov dword [rax], 0x16
call sym.msys_2.0.dll___errno
mov dword [rax], 0x16
jmp 0x21013f494
mov rax, qword [sym.msys_2.0.dll__impure_ptr]
mov dword [rax], 7
call sym.msys_2.0.dll___errno
mov dword [rax], 7
mov dword [rbp + 0x58], 0xffffffff
jmp 0x21013f5ae
mov rdx, qword [rbp + 0xe0]
mov r12d, dword [rbp + 0x58]
cmp rdx, 0xfffffffffffffffe
jne 0x21013f60c
jmp 0x21013f638
mov rcx, qword [rbp + 0xa0]
test rcx, rcx
jne 0x21013f695
jmp 0x21013f494
lea rcx, [rbp + 0x140]
call method.fhandler_console.close_handle_set_fhandler_console::handle_set_t_
jmp 0x21013f5dd
lea rcx, [rbp + 0x120]
call method.fhandler_pty_slave.close_handle_set_fhandler_pty_slave::handle_set_t_
jmp 0x21013f5d3
mov eax, dword [rbp + 0x48]
mov qword [rsp + 0x28], r15
lea r9, str.mode___d__prog_arg___.9500s
lea r8, str.int_child_info_spawn::worker_const_char__const_char_const__const_char_const__int__int__int_
mov edx, 0x10
lea rcx, [0x210273880]
mov dword [rsp + 0x20], eax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x21013e4f4
xor r8d, r8d
mov edx, 0xffffffb8
xor ecx, ecx
call sym.sig_send__pinfo__int___cygtls_
mov qword [rbp + 0xe0], 0
jmp 0x21013e6b1
mov ebx, dword [rbp + 0x5c]
test byte [0x210273880], 1
jne 0x21013fc17
mov rax, qword [sym.msys_2.0.dll__impure_ptr]
mov dword [rax], ebx
call sym.msys_2.0.dll___errno
mov dword [rax], ebx
mov dword [rbp + 0x58], 0xffffffff
jmp 0x21013f5ae
test r14d, r14d
js 0x21013ed26
cmp word [rcx + 0x1b2], 0x88
je 0x21013f99e
mov rax, qword [rcx]
call qword [rax + 0x70]
mov rdx, qword [0x21023d810]
mov rdx, qword [rdx + 0x4900]
mov rcx, qword [rdx + rsi]
cmp eax, 0xc5
je 0x21013f95b
mov rax, qword [rcx]
call qword [rax + 0x70]
mov rdx, qword [0x21023d810]
cmp eax, 0xc6
jne 0x21013ece0
cmp r12d, r14d
jne 0x21013ece0
mov rax, qword [rdx + 0x4900]
xor edx, edx
mov rcx, qword [rax + rsi]
call method.fhandler_pipe.set_pipe_non_blocking_bool_
jmp 0x21013ece0
cmp dword [rbp + 0x11d0], r14d
sete r13b
cmp r14d, 2
sete al
or r13b, al
je 0x21013f923
xor edx, edx
mov qword [rbp - 8], rcx
call method.fhandler_pipe.set_pipe_non_blocking_bool_
mov rcx, qword [rbp - 8]
mov rcx, qword [rcx + 0x208]
test rcx, rcx
je 0x21013ece0
call sym.SetEvent
mov edi, r13d
jmp 0x21013ece0
mov qword [rbp + 0x20], rcx
call method.fhandler_pty_slave.create_invisible_console__
mov rcx, qword [rbp + 0x20]
call method.fhandler_pty_slave.setup_locale__
jmp 0x21013ece0
mov eax, dword [rbp + 0x498]
and eax, 0x40
xor r9d, r9d
mov r8, qword [rbp + 0x490]
test eax, eax
lea rdx, [rbp + 0xa0]
setne r9b
lea rcx, [rbp + 0xc0]
call method.linebuf.fromargv_av__char_const__bool_
test al, al
je 0x21013f5a7
cmp dword [rbp + 0x48], 3
jne 0x21013e8e3
test byte [rbp + 0x498], 0x40
je 0x21013e8e3
mov rax, qword [rbp + 0x11a0]
mov rax, qword [rax + 0x90]
lea rdi, [rax + 0x20]
mov qword [rbp], rax
call sym.GetCurrentProcess
mov r13, qword [0x21024fcc0]
mov rsi, rax
call sym.GetCurrentProcess
mov r9, rdi
mov r8, rsi
mov rdx, r13
mov dword [rsp + 0x30], 2
mov rcx, rax
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 0
call sym.DuplicateHandle
test eax, eax
je 0x21013e8e3
xor esi, esi
jmp 0x21013e8fb
cmp edi, 3
je 0x21013fe0f
mov rax, qword [rbp + 0x11a0]
mov edx, dword [rbp + 0xac]
mov rax, qword [rax + 0x90]
mov dword [rax], edx
mov rdx, qword [rbp + 0xa0]
mov qword [rax + 8], rdx
jmp 0x21013e8bb
test byte [0x210273880], 1
je 0x21013f766
lea rax, str.int_child_info_spawn::worker_const_char__const_char_const__const_char_const__int__int__int_
mov dword [rsp + 0x30], 7
lea r9, [0x2102a9162]
mov edx, 0x40
mov dword [rsp + 0x28], 0x23e
lea r8, [0x2102a9180]
lea rcx, [0x210273880]
mov qword [rsp + 0x20], rax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x21013f766
xor ecx, ecx
call method.fhandler_console.need_invisible_bool_
cmp dword [rbp + 0x48], 3
mov rax, qword [0x21024fce8]
jne 0x21013e98d
cmp qword [rax + 0xfd68], 0
mov byte [rbp + 0x33], 0
jne 0x21013e9a3
mov rdx, qword [rax + 0xfd60]
mov byte [rbp + 0x33], 1
mov qword [rax + 0xfd60], 0
mov qword [rax + 0xfd68], rdx
mov edx, dword [rax + 0x14]
mov dword [rax + 0xfd70], edx
jmp 0x21013e9a3
mov r14, qword [rbp + 0x28]
cmp dword [rbp + 0x48], 0x200
jne 0x21013f5ae
cmp qword [rbp + 0xe0], 0xfffffffffffffffe
je 0x21013fbbc
mov edx, 1
mov ecx, 2
lea r12, [rbp + 0x70]
call sym.signal_1
mov edx, 1
mov ecx, 3
mov qword [rbp + 0xe0], rax
call sym.signal_1
mov rcx, r12
mov qword [rbp + 0xe8], rax
call sym.msys_2.0.dll_sigemptyset
mov edx, 0x14
mov rcx, r12
call sym.sigaddset_1
lea r8, [rbp + 0xf0]
mov rdx, r12
mov ecx, 1
call sym.sigprocmask_1
xor r8d, r8d
mov edx, 0xffffffb7
xor ecx, ecx
call sym.sig_send__pinfo__int___cygtls_
mov rax, qword [rbp + 0x11a0]
lea rdx, [rbp + 0x58]
xor r8d, r8d
mov ecx, dword [rax + 0x88]
call sym.waitpid_1
mov rdi, qword [rbp + 0x11a0]
cmp dword [rdi + 0x88], eax
je 0x21013fbeb
mov dword [rbp + 0x58], 0xffffffff
cmp byte [rbp + 0x4f], 0
jne 0x210140931
cmp byte [rbp + 0x4e], 0
je 0x21013f5ae
lea rcx, [rbp + 0x140]
call method.fhandler_console.cleanup_for_non_cygwin_app_fhandler_console::handle_set_t_
jmp 0x21013f5ae
xor edi, edi
jmp 0x21013e75e
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x28], 0x176
lea rax, str.int_child_info_spawn::worker_const_char__const_char_const__const_char_const__int__int__int_
lea r9, [0x2102a9162]
mov edx, 0x40
mov qword [rsp + 0x20], rax
lea r8, [0x2102a9180]
lea rcx, [0x210273880]
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x21013f8d0
mov rax, qword [0x21023d808]
mov rdi, qword [rbp + 0x11a0]
mov qword [rdi + 0x20], rax
test dword [rbp + 0x40], 0x200
je 0x21013eb72
mov rax, qword [0x21024fce8]
jmp 0x21013eb6b
lea r13, [rbp + 0x400]
xor edx, edx
mov rcx, r13
call method.path_conv.get_nt_native_path__UNICODE_STRING_
xor edx, edx
mov rcx, r13
movzx esi, word [rax]
call method.path_conv.get_nt_native_path__UNICODE_STRING_
movzx edx, word [0x210298240]
mov rcx, qword [rax + 8]
movzx eax, word [rax]
mov edi, esi
shr di, 1
cmp ax, dx
mov qword [rbp + 0x98], rcx
lea rcx, [rbp + 0x90]
cmova eax, edx
xor r8d, r8d
lea rdx, [0x210298240]
mov word [rbp + 0x92], ax
mov word [rbp + 0x90], ax
call sym.RtlEqualUnicodeString
test al, al
jne 0x2101402f1
movzx edx, word [0x210297fb0]
mov eax, 0x8000
movzx edi, di
shr rdx, 1
sub rax, rdx
cmp rdi, rax
jae 0x210140292
mov rax, qword [rbp + 0x38]
lea r12, [rbp + 0x80]
lea rdx, [0x210297fb0]
mov dword [rbp + 0x80], 0xfffe0000
mov rcx, r12
mov qword [rbp + 0x88], rax
call sym.RtlCopyUnicodeString
xor edx, edx
mov rcx, r13
call method.path_conv.get_nt_native_path__UNICODE_STRING_
mov rcx, r12
mov rdx, rax
call sym.RtlAppendUnicodeStringToString
jmp 0x21013e9b4
mov dword [rsp + 0x20], eax
lea r9, str.priority_class__d
lea r8, str.int_child_info_spawn::worker_const_char__const_char_const__const_char_const__int__int__int_
mov edx, 0x800
lea rcx, [0x210273880]
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x21013e938
mov rcx, qword [rbx]
lea rdx, str.strace
call sym.iscmd_char_const__char_const_
mov r9d, dword [rbp + 0x498]
shr r9d, 6
and r9d, 1
test eax, eax
mov eax, 1
cmove eax, r9d
jmp 0x21013ea16
add rcx, 0x4900
call method.dtable.set_file_pointers_for_exec__
jmp 0x21013e9c8
mov rax, qword [0x21024fce8]
cmp esi, 3
jne 0x21013ef11
mov eax, dword [rax]
jmp 0x21013ef16
lea rcx, [rax + 0x48c8]
call method.cwdstuff.get_error_desc___const
lea rcx, str.Error:_Current_working_directory__s._nCant_start_native_Windows_application_from_here._n_n
mov rdx, rax
call sym.small_printf
mov rax, qword [0x21023d810]
mov ebx, dword [rax + 0x48dc]
test byte [0x210273880], 1
je 0x21013f8d0
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x28], 0x185
jmp 0x21013fc23
mov rax, qword [rbx + 8]
cmp byte [rax], 0x2f
jne 0x21013fa71
movsx ecx, byte [rax + 1]
call sym.msys_2.0.dll_tolower
cmp eax, 0x63
jne 0x21013fa71
mov rcx, qword [rbx]
lea rdx, str.command.com
call sym.iscmd_char_const__char_const_
test eax, eax
jne 0x21013fe58
mov rcx, qword [rbx]
lea rdx, str.cmd.exe
call sym.iscmd_char_const__char_const_
test eax, eax
je 0x2101403ba
xor r9d, r9d
lea rcx, [rbp + 0x400]
mov r8d, 1
mov rdx, r15
call method.path_conv.check_char_const__unsigned_int__suffix_info_const_
lea r13, [rbp + 0xc0]
lea rdx, [0x2102a94dd]
mov rcx, r13
call method.linebuf.add_char_const_
cmp dword [rbp + 0x520], 0
jne 0x21014076c
mov rdx, qword [rbp + 0x490]
mov rcx, r13
call method.linebuf.add_char_const_
lea r13, [rbp + 0xc0]
lea rdx, [0x2102a94dd]
mov rcx, r13
lea r12, [0x2102a94df]
call method.linebuf.add_char_const_
mov rcx, r13
mov rdx, r12
call method.linebuf.add_char_const_
mov rdx, qword [rbx + 8]
mov rcx, r13
call method.linebuf.add_char_const_
mov rcx, r13
mov rdx, r12
call method.linebuf.add_char_const_
mov rdx, qword [rbx + 0x10]
mov rcx, r13
call method.linebuf.add_char_const_
mov rcx, qword [rbp + 0x490]
mov r13, qword [rbx]
test rcx, rcx
je 0x21013ff01
call sym.cfree
mov rcx, r13
mov esi, 1
call sym.msys_2.0.dll_strlen
mov ecx, 1
lea rdx, [rax + 7]
call sym.cmalloc_abort
mov rdx, r13
mov rcx, rax
call sym.msys_2.0.dll_strcpy
mov qword [rbp + 0x490], rax
jmp 0x21013e8fb
mov rdi, qword [rbp + 0x11a0]
test byte [rdi + 0x28], 2
jne 0x21013ec6b
test r12, r12
cmove r12, rdx
jmp 0x21013ec6b
mov rcx, qword [rbp + 0x11a0]
xor edx, edx
call method.child_info.prefork_bool_
mov rax, qword [rbp + 0x11a0]
test byte [rax + 0x28], 2
je 0x21014033f
cmp dword [rbp + 0x48], 3
je 0x21013ebac
mov rcx, qword [0x210317fa8]
xor r8d, r8d
mov edx, 1
call sym.SetHandleInformation
jmp 0x21013ebac
cmp byte [rbp + 0x1d8], 0
je 0x21013f355
cmp qword [rbp + 0x1e8], 0
je 0x21013f355
lea rcx, [rbp + 0x1c0]
call method.pinfo.release__
jmp 0x21013f355
xor r12d, r12d
xor r13d, r13d
jmp 0x21013f04c
mov r9, qword [rbp + 0xc8]
mov rax, qword gs:[8]
mov rax, qword [rax - 0x2938]
lea rdx, [0x21023a000]
lea rcx, [sym.__utf8_mbtowc]
lea r11, [sym.__ascii_mbtowc]
test rax, rax
cmove rax, rdx
cmp qword [rax + 0xe8], r11
je 0x210140028
mov rax, qword gs:[8]
mov rax, qword [rax - 0x2938]
test rax, rax
cmove rax, rdx
mov rcx, qword [rax + 0xe8]
mov qword [rsp + 0x20], 0xffffffffffffffff
mov rdx, r14
mov qword [rbp - 0x18], r10
call sym._sys_mbstowcs_int_____reent__wchar_t__char_const__unsigned_long___mbstate_t___wchar_t__unsigned_long__char_const__unsigned_long_
mov r10, qword [rbp - 0x18]
jmp 0x21013f06d
mov qword [rsp + 0x20], 0
xor ecx, ecx
mov r9d, 0x40
lea r8, [rbp + 0x180]
mov edx, 2
call sym.QueryInformationJobObject
test eax, eax
je 0x21013e97f
test dword [rbp + 0x190], 0x1800
je 0x21013e97f
test byte [0x210273880], 1
jne 0x2101408d0
or dword [rbp + 0x40], 0x1000000
jmp 0x21013e97f
test al, al
jne 0x2101400e8
cmp esi, 5
jg 0x21013fb39
ja case.0x210140125.0
lea rdx, [0x2102a9670]
mov eax, esi
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
mov rax, qword [rbx + 8]
cmp byte [rax], 0x2f
jne 0x21013e7e6
movsx ecx, byte [rax + 1]
call sym.msys_2.0.dll_tolower
cmp eax, 0x63
jne 0x21013e7e6
jmp 0x21013fe2e
mov edx, dword [rbp + 0x110]
mov r9d, 0xffffffff
mov rcx, rbx
mov r12, rbx
lea r8, [rbp + 0x100]
call method.child_info.sync_int__void__unsigned_int_
cmp esi, 5
jg 0x21013fb39
ja case.0x210140125.0
lea rcx, [0x2102a9688]
mov edx, esi
movsxd rdx, dword [rcx + rdx*4]
add rdx, rcx
jmp rdx
mov rdx, qword [rbp + 0x100]
mov qword [0x21024fcc8], rdx
test al, al
jne 0x210140a0d
mov rcx, r12
call method.child_info.proc_retry_void_
test eax, eax
je 0x21013eef6
mov ecx, 1
mov r14, qword [rbp + 0x28]
call sym.close_all_files_bool_
mov rax, qword [rbp + 0x11a0]
mov rcx, qword [rax + 0x80]
test rcx, rcx
je 0x21014017b
xor r8d, r8d
mov edx, 1
call sym.ReleaseSemaphore
cmp byte [rbp + 0x4f], 0
jne 0x210140991
cmp byte [rbp + 0x4e], 0
jne 0x210140991
xor ecx, ecx
call sym.init_console_handler_bool_
mov edx, 0x4000000
lea rcx, [0x21024fcc0]
call method.pinfo.exit_unsigned_int_
nop word [rax + rax]
mov r14, qword [rbp + 0x28]
jmp case.0x21013f40e.1
mov rax, qword [rbp + 0x11a0]
mov eax, dword [rax + 0x88]
mov dword [rbp + 0x58], eax
jmp 0x21013f5ae
mov dword [rbp + 0x58], 0
jmp 0x21013f5ae
mov rax, qword [0x21024fce8]
xor ecx, ecx
mov r9d, dword [rax + 0xfc28]
test r9d, r9d
setg cl
call sym.init_console_handler_bool_
jmp 0x21013eedd
mov edx, dword [rbp + 0x110]
lea rcx, [0x210273880]
call method.strace.write_childpid_int_
jmp 0x21013f3b0
cmp dword [rax + 0x4850], 1
je 0x21013ef66
cmp byte [rax + 0x4882], 0
jne 0x21013ef66
mov r12, qword [rbp + 0x68]
mov edi, dword [rbp + 0x40]
cmp r8, 1
jne 0x210140671
xor r8d, r8d
mov word [r14], r8w
mov dword [rsp + 0x28], edi
mov rcx, qword [rbp + 0x38]
mov r9, r15
mov r8, r15
lea rax, [rbp + 0x100]
mov qword [rsp + 0x30], r12
mov rdx, r14
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x200]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x20], 1
call sym.CreateProcessW
test eax, eax
setne dil
jmp 0x21013f0f3
test byte [0x210273880], 1
jne 0x210140631
mov rax, qword [sym.msys_2.0.dll__impure_ptr]
mov dword [rax], 0x5b
call sym.msys_2.0.dll___errno
mov dword [rax], 0x5b
mov dword [rbp + 0x58], 0xffffffff
jmp 0x21013f5ae
mov eax, dword [rbp + 0x110]
lea r9, str.spawned_windows_pid__d
lea r8, str.int_child_info_spawn::worker_const_char__const_char_const__const_char_const__int__int__int_
mov edx, 0x800
lea rcx, [0x210273880]
mov dword [rsp + 0x20], eax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x21013f3c9
mov rdx, qword [rbp + 0x38]
mov rcx, r13
call method.path_conv.get_wide_win32_path_wchar_t_
mov qword [rbp + 0x38], rax
cmp si, 0x20f
ja 0x21013e9b4
cmp word [rax + 0xa], 0x3a
je 0x210140971
mov rax, qword [rbp + 0x38]
mov word [rax + 0xc], 0x5c
add rax, 0xc
mov qword [rbp + 0x38], rax
jmp 0x21013e9b4
mov rax, qword [rbp + 0x11a0]
test byte [rax + 0x28], 2
jne 0x21013ff7e
mov rax, qword [rbp + 0x11a0]
xor r8d, r8d
mov edx, 1
mov rcx, qword [rax + 0x38]
call sym.SetHandleInformation
mov rax, qword [rbp + 0x11a0]
xor r8d, r8d
mov edx, 1
mov rcx, qword [rax + 0x50]
call sym.SetHandleInformation
jmp 0x21013ff74
mov rax, qword [rbp + 0xc8]
lea r9, str.pid__d__prog_arg__s__cmd_line__.9500s_
lea r8, str.int_child_info_spawn::worker_const_char__const_char_const__const_char_const__int__int__int_
mov edx, 0x10
lea rcx, [0x210273880]
mov qword [rsp + 0x30], rax
mov rax, qword [rbp + 0x11a8]
mov qword [rsp + 0x28], rax
mov eax, dword [rbx + 0x88]
mov dword [rsp + 0x20], eax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x21013f158
test byte [rbp + 0x498], 0x40
je 0x21013e7e6
jmp 0x21013fa71
cmp dword [rax + 0x4920], 0
jg 0x21013eb07
jmp 0x21013eb0b
mov rbx, rdx
jmp 0x21013ec6b
mov qword [rsp + 0x28], r12
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov dword [rsp + 0x20], 0x10000000
lea rcx, [0x2102a9594]
call fcn.21022e000
mov r12, rax
test rax, rax
je 0x21014094d
lea r8, [rbp + 0x950]
mov rdx, rdi
mov rcx, r8
mov qword [rbp - 0x10], r8
call sym.msys_2.0.dll_wcpcpy
lea rdx, str.Default
mov rcx, rax
call sym.msys_2.0.dll_wcpcpy
mov r8, qword [rbp - 0x10]
mov qword [rbp + 0x210], r8
test byte [0x210273880], 1
je 0x21013f04c
mov qword [rsp + 0x20], r8
lea r9, str.Desktop:__W
lea r8, str.int_child_info_spawn::worker_const_char__const_char_const__const_char_const__int__int__int_
mov edx, 0x40
lea rcx, [0x210273880]
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x21013f04c
lea r9, str.CreateWindowStation_failed___E
lea r8, str.int_child_info_spawn::worker_const_char__const_char_const__const_char_const__int__int__int_
mov edx, 0x8000
lea rcx, [0x210273880]
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x21013f049
mov edx, dword [rbp + 0x110]
lea rcx, [0x210273880]
call method.strace.write_childpid_int_
jmp 0x21013f128
mov rax, qword [0x21024fce8]
or dword [rax + 4], 0x20
mov eax, dword [rax]
jmp 0x21013ef16
cmp byte [rax + 0x5c], 3
jne 0x21013ee76
mov eax, dword [rbp + 0x11c0]
mov ecx, r12d
and eax, 0xffd
sub eax, 1
setne dil
xor edx, edx
call sym.handle_int__bool_
mov rcx, rbx
mov rsi, rax
mov rax, qword [rbx]
call qword [rax + 0x288]
cmp qword [rax], rsi
sete sil
cmp byte [rbp + 0x33], 0
je 0x21014051d
mov rax, qword [0x21024fce8]
mov rdx, qword [rax + 0xfd68]
mov qword [rax + 0xfd60], rdx
mov r8, qword [rbp + 0x68]
mov r9d, esi
movzx edx, dil
mov rcx, rbx
and r9d, 1
call method.fhandler_pty_slave.setup_for_non_cygwin_app_bool__wchar_t__bool_
cmp byte [rbp + 0x33], 0
je 0x21014054c
mov rax, qword [0x21024fce8]
mov qword [rax + 0xfd60], 0
lea rdx, [rbp + 0x120]
mov rcx, rbx
call method.fhandler_pty_slave.get_duplicated_handle_set_fhandler_pty_slave::handle_set_t_
movzx eax, byte [rbp + 0x34]
mov r14, qword [rbx + 0x1d8]
mov byte [rbp + 0x34], sil
mov byte [rbp + 0x4f], al
jmp 0x21013ee7a
mov edx, dword [rbp + 0x110]
lea rcx, [0x21024fcc0]
mov byte [0x21027388c], 1
mov r12, qword [0x21024fce0]
mov dword [rax + 0x14], edx
mov rax, qword [rbp + 0x100]
mov qword [rbx + 0x70], rax
mov qword [0x21024fcc8], rax
call method.pinfo.create_winpid_symlink__
test byte [rbp + 0x498], 0x40
je 0x2101405ec
mov rdi, qword [rbp + 0x100]
mov r13, qword [0x21024fce0]
call sym.GetCurrentProcess
mov dword [rsp + 0x30], 2
xor r9d, r9d
mov dword [rsp + 0x28], 0
mov rcx, rax
mov r8, rdi
mov rdx, r13
mov dword [rsp + 0x20], 0
call sym.DuplicateHandle
mov rcx, r12
call sym.NtClose
mov rax, qword [0x21024fce8]
lea rcx, [rbp + 0x400]
lea rdx, [rax + 0x18]
call method.path_conv.get_wide_win32_path_wchar_t_
test byte [0x210273880], 1
jne 0x210140738
test byte [rbx + 0x28], 2
je 0x21014072c
test byte [rbp + 0x40], 4
jne 0x21013f39a
jmp 0x21013f3b0
lea rax, str.int_child_info_spawn::worker_const_char__const_char_const__const_char_const__int__int__int_
mov dword [rsp + 0x30], 0x5b
lea r9, [0x2102a9162]
mov edx, 0x40
mov dword [rsp + 0x28], 0x226
lea r8, [0x2102a9180]
lea rcx, [0x210273880]
mov qword [rsp + 0x20], rax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x21014029f
mov r9, qword [rbp + 0xc8]
mov rax, qword gs:[8]
mov rax, qword [rax - 0x2938]
lea rdx, [0x21023a000]
lea rcx, [sym.__utf8_mbtowc]
lea r11, [sym.__ascii_mbtowc]
test rax, rax
cmove rax, rdx
cmp qword [rax + 0xe8], r11
je 0x2101406cb
mov rax, qword gs:[8]
mov rax, qword [rax - 0x2938]
test rax, rax
cmove rax, rdx
mov rcx, qword [rax + 0xe8]
mov qword [rsp + 0x20], 0xffffffffffffffff
mov rdx, r14
call sym._sys_mbstowcs_int_____reent__wchar_t__char_const__unsigned_long___mbstate_t___wchar_t__unsigned_long__char_const__unsigned_long_
jmp 0x210140243
mov rcx, qword [rbp + 0x100]
call sym.CloseHandle
mov rcx, qword [rbp + 0x108]
call sym.CloseHandle
cmp byte [rbp + 0x1d8], 0
mov dword [rbp + 0x58], 0xffffffff
je 0x21013f5ae
cmp qword [rbp + 0x1e8], 0
je 0x21013f5ae
lea rcx, [rbp + 0x1c0]
call method.pinfo.release__
jmp 0x21013f5ae
xor ecx, ecx
call sym.close_all_files_bool_
jmp 0x21013f355
mov rax, qword [0x21024fce8]
lea r9, str.new_process_name__W
lea r8, str.int_child_info_spawn::worker_const_char__const_char_const__const_char_const__int__int__int_
mov edx, 0x800
lea rcx, [0x210273880]
add rax, 0x18
mov qword [rsp + 0x20], rax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x210140618
mov rdx, qword [rbx]
mov rcx, r13
call method.linebuf.add_char_const_
jmp 0x21013fea2
call sym.GetLastError
mov edx, 0x34c
lea rcx, str._usr_src_MSYS2_packages_msys2_runtime_src_msys2_runtime_winsup_cygwin_spawn.cc
mov r8d, eax
call sym.seterrno_from_win_error_char_const__int__unsigned_int_
test byte [0x210273880], 1
jne 0x21014080e
cmp byte [rbp + 0x33], 0
mov rax, qword [0x21024fce8]
je 0x2101407c4
mov rdx, qword [rax + 0xfd68]
mov qword [rax + 0xfd68], 0
mov qword [rax + 0xfd60], rdx
and dword [rax + 4], 0xffffffdf
mov rax, qword [rbp + 0x11a0]
mov rcx, qword [rax + 0x38]
test byte [rax + 0x28], 2
jne 0x210140842
cmp dword [rbp + 0x48], 3
je 0x210140832
cmp rcx, qword [0x210317fa8]
je 0x210140856
mov rax, qword [0x21023d810]
cmp qword [rax + 0x4878], 0
je 0x21013f5a7
mov rcx, qword [rax + 0x4870]
call sym.ImpersonateLoggedOnUser
jmp 0x21013f5a7
lea r9, str.CreateProcess_failed___E
lea r8, str.int_child_info_spawn::worker_const_char__const_char_const__const_char_const__int__int__int_
mov edx, 0x10
lea rcx, [0x210273880]
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x21014079e
mov r8d, 1
mov edx, 1
call sym.SetHandleInformation
mov rax, qword [rbp + 0x11a0]
mov rdi, qword [0x210317fa8]
cmp qword [rax + 0x38], rdi
jne 0x210140865
mov rax, qword [rbp + 0x11a0]
mov qword [rax + 0x38], 0
cmp dword [rbp + 0x48], 3
jne 0x2101407e8
jmp 0x21013f5a7
test byte [0x210273880], 1
je 0x21014089c
lea r9, str.pinfo_failed
lea r8, str.int_child_info_spawn::worker_const_char__const_char_const__const_char_const__int__int__int_
mov edx, 0x10
lea rcx, [0x210273880]
call method.strace.prntf_unsigned_int__char_const__char_const__..._
call sym.msys_2.0.dll___errno
cmp dword [rax], 0xc
je 0x2101406f9
test byte [0x210273880], 1
jne 0x2101408f4
mov rax, qword [sym.msys_2.0.dll__impure_ptr]
mov dword [rax], 0xb
call sym.msys_2.0.dll___errno
mov dword [rax], 0xb
jmp 0x2101406f9
lea r9, str.Add_CREATE_BREAKAWAY_FROM_JOB
lea r8, str.int_child_info_spawn::worker_const_char__const_char_const__const_char_const__int__int__int_
mov edx, 0x40
lea rcx, [0x210273880]
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x21014008d
lea rax, str.int_child_info_spawn::worker_const_char__const_char_const__const_char_const__int__int__int_
mov dword [rsp + 0x30], 0xb
lea r9, [0x2102a9162]
mov edx, 0x40
mov dword [rsp + 0x28], 0x39c
lea r8, [0x2102a9180]
lea rcx, [0x210273880]
mov qword [rsp + 0x20], rax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x2101408b3
mov r8d, dword [rbp + 0x34]
lea rcx, [rbp + 0x120]
mov rdx, r14
and r8d, 1
call method.fhandler_pty_slave.cleanup_for_non_cygwin_app_fhandler_pty_slave::handle_set_t__tty__bool_
jmp 0x21013fbf5
lea r9, str.CreateDesktop_failed___E
lea r8, str.int_child_info_spawn::worker_const_char__const_char_const__const_char_const__int__int__int_
mov edx, 0x8000
lea rcx, [0x210273880]
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x21013f049
add qword [rbp + 0x38], 8
jmp 0x21013e9b4
mov rdx, qword [rbp + 0x100]
mov r12, rbx
mov qword [0x21024fcc8], rdx
jmp 0x21014013d
mov ebx, dword [0x21024fb00]
xor esi, esi
jmp 0x2101409a7
mov eax, ebx
lock cmpxchg dword [0x21024fb00], esi
mov ebx, eax
mov rcx, qword [rbp + 0x100]
mov edx, 0x64
call sym.WaitForSingleObject
cmp eax, 0x102
je 0x21014099b
cmp byte [rbp + 0x4f], 0
je 0x2101409f1
mov r8d, dword [rbp + 0x34]
lea r12, [rbp + 0x120]
mov rdx, r14
mov rcx, r12
and r8d, 1
call method.fhandler_pty_slave.cleanup_for_non_cygwin_app_fhandler_pty_slave::handle_set_t__tty__bool_
mov rcx, r12
call method.fhandler_pty_slave.close_handle_set_fhandler_pty_slave::handle_set_t_
cmp byte [rbp + 0x4e], 0
je 0x21014018f
lea r12, [rbp + 0x140]
mov rcx, r12
call method.fhandler_console.cleanup_for_non_cygwin_app_fhandler_console::handle_set_t_
mov rcx, r12
call method.fhandler_console.close_handle_set_fhandler_console::handle_set_t_
jmp 0x21014018f
mov rax, qword [rbp + 0x11a0]
mov r14, qword [rbp + 0x28]
test byte [rax + 0x28], 2
je 0x210140a28
mov ecx, 1
call sym.close_all_files_bool_
cmp qword [0x210317fa8], 0
jne 0x21014015b
mov rcx, qword [rbp + 0x100]
xor edx, edx
call sym.WaitForSingleObject
cmp eax, 0x102
jne 0x21014015b
mov rcx, qword [rbp + 0x11a0]
call method.child_info_spawn.wait_for_myself__
jmp 0x21014015b
mov rax, qword [rbp + 0x100]
mov qword [0x21024fcc8], rax
jmp 0x210140a28