Function at 0x2100c5fd0
Capabilities:
Create pipe
Create process on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x5f8
mov rax, qword [0x21025fe48]
lea rsi, [method.fhandler_termios.get_output_handle__]
lea r12, [rax + 8]
mov rax, qword [rcx]
mov rax, qword [rax + 0x290]
mov qword [rsp + 0x90], 0
mov r15, rcx
mov dword [rsp + 0x98], 0
mov dword [rsp + 0xb0], 0x18
mov qword [rsp + 0xb8], 0
mov dword [rsp + 0xc0], 1
cmp rax, rsi
jne 0x2100c63e0
lea rdx, [rcx + 0x258]
lea r8, [rcx + 0x1d0]
mov rcx, r12
lea r12, [rsp + 0x90]
call method.tty_list.allocate_void__void_
mov ebx, eax
test eax, eax
js 0x2100c630b
movzx eax, ax
mov rdx, qword [0x21025fe48]
mov rcx, r15
imul rax, rax, 0x138
lea r14, [rdx + rax + 8]
mov edx, 1
mov qword [r15 + 0x1d8], r14
call method.fhandler_termios.tcinit_bool_
mov rax, qword [r15]
mov dword [rsp + 0x84], 1
mov rax, qword [rax + 0x290]
cmp rax, rsi
jne 0x2100c68e0
mov rcx, qword [r15 + 0x1d0]
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x84]
call sym.SetNamedPipeHandleState
test eax, eax
jne 0x2100c611c
test byte [0x210273880], 1
je 0x2100c611c
mov rax, qword [r15]
mov rax, qword [rax + 0x290]
cmp rax, rsi
jne 0x2100c6aa8
lea rax, [r15 + 0x1d0]
mov rax, qword [rax]
lea r9, str.cant_set_output_handle__p__to_non_blocking_mode
lea r8, str.bool_fhandler_pty_master::setup__
mov edx, 0x100
lea rcx, [0x210273880]
mov qword [rsp + 0x20], rax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
lea rdi, [rsp + 0xd0]
mov r8d, ebx
lea rdx, str.pty_d_to_master_nat
mov rcx, rdi
lea r13, [0x2102d1ce0]
call sym.__small_sprintf
mov dword [rsp + 0x28], 0
mov rcx, r13
lea rdx, [r15 + 0x228]
mov qword [rsp + 0x30], 0
mov r9d, 0x20000
lea r8, [r15 + 0x220]
mov qword [rsp + 0x20], rdi
call method.fhandler_pipe.create__SECURITY_ATTRIBUTES__void__void__unsigned_int__char_const__unsigned_int__long_
test eax, eax
je 0x2100c6330
call sym.GetLastError
lea rcx, str._usr_src_MSYS2_packages_msys2_runtime_src_msys2_runtime_winsup_cygwin_fhandler_tty.cc
mov edx, 0xc70
lea rbp, [method.fhandler_base.get_handle__]
mov r8d, eax
lea r12, [rsp + 0x90]
call sym.seterrno_from_win_error_char_const__int__unsigned_int_
mov rcx, qword [r15 + 0x228]
lea rax, [rcx - 1]
cmp rax, 0xfffffffffffffffd
lea rax, str.output_pipe_for_non_cygwin_apps
mov qword [rsp + 0x58], rax
jbe 0x2100c63d5
mov rcx, qword [r15 + 0x230]
lea rax, [rcx - 1]
cmp rax, 0xfffffffffffffffd
jbe 0x2100c6930
mov rax, qword [r15]
mov r8, qword [rax + 0x280]
mov rdx, rax
cmp r8, rbp
jne 0x2100c6a18
mov rcx, qword [r15 + 0x18]
test rcx, rcx
je 0x2100c6205
mov rdx, rax
cmp rcx, 0xffffffffffffffff
je 0x2100c6205
call sym.CloseHandle
mov rdx, qword [r15]
mov rax, qword [rdx + 0x290]
cmp rax, rsi
jne 0x2100c69c0
mov rcx, qword [r15 + 0x1d0]
test rcx, rcx
je 0x2100c622c
cmp rcx, 0xffffffffffffffff
je 0x2100c622c
call sym.CloseHandle
mov rcx, qword [r15 + 0x1f8]
lea rax, [rcx - 1]
cmp rax, 0xfffffffffffffffd
jbe 0x2100c69b0
mov rcx, qword [r15 + 0x1e0]
lea rax, [rcx - 1]
cmp rax, 0xfffffffffffffffd
jbe 0x2100c69a0
mov rcx, qword [r15 + 0x1e8]
lea rax, [rcx - 1]
cmp rax, 0xfffffffffffffffd
jbe 0x2100c6990
mov rcx, qword [r15 + 0x218]
lea rax, [rcx - 1]
cmp rax, 0xfffffffffffffffd
jbe 0x2100c6980
mov rcx, qword [r15 + 0x220]
lea rax, [rcx - 1]
cmp rax, 0xfffffffffffffffd
jbe 0x2100c6970
mov rcx, qword [r15 + 0x250]
lea rax, [rcx - 1]
cmp rax, 0xfffffffffffffffd
jbe 0x2100c6960
mov rcx, qword [r15 + 0x238]
lea rax, [rcx - 1]
cmp rax, 0xfffffffffffffffd
jbe 0x2100c6950
mov rcx, qword [r15 + 0x240]
lea rax, [rcx - 1]
cmp rax, 0xfffffffffffffffd
jbe 0x2100c6940
mov rcx, qword [r15 + 0x208]
lea rax, [rcx - 1]
cmp rax, 0xfffffffffffffffd
jbe 0x2100c6920
mov rcx, qword [r15 + 0x258]
lea rax, [rcx - 1]
cmp rax, 0xfffffffffffffffd
jbe 0x2100c6910
test byte [0x210273880], 1
jne 0x2100c63f8
xor r13d, r13d
mov rcx, r12
call method.security_descriptor.free__
mov eax, r13d
add rsp, 0x5f8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r8d, ebx
lea rdx, str.pty_d_to_master
mov rcx, rdi
call sym.__small_sprintf
mov rax, qword [r15]
lea rbp, [method.fhandler_base.get_handle__]
lea r8, [r15 + 0x250]
mov rax, qword [rax + 0x280]
cmp rax, rbp
jne 0x2100c6a70
mov qword [rsp + 0x20], rdi
lea rdx, [r15 + 0x18]
mov r9d, 0x20000
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov rcx, r13
lea r12, [rsp + 0x90]
call method.fhandler_pipe.create__SECURITY_ATTRIBUTES__void__void__unsigned_int__char_const__unsigned_int__long_
lea rdx, str.output_pipe
mov qword [rsp + 0x58], rdx
test eax, eax
je 0x2100c6430
call sym.GetLastError
lea rcx, str._usr_src_MSYS2_packages_msys2_runtime_src_msys2_runtime_winsup_cygwin_fhandler_tty.cc
mov edx, 0xc70
mov r8d, eax
call sym.seterrno_from_win_error_char_const__int__unsigned_int_
mov rcx, qword [r15 + 0x228]
lea rax, [rcx - 1]
cmp rax, 0xfffffffffffffffd
ja 0x2100c61c0
call sym.CloseHandle
jmp 0x2100c61c0
call rax
lea rdx, [r15 + 0x258]
mov r8, rax
jmp 0x2100c6052
mov rax, qword [rsp + 0x58]
mov dword [rsp + 0x20], ebx
lea r9, str.pty_d_open_failed___failed_to_create__s
lea r8, str.bool_fhandler_pty_master::setup__
mov edx, 0x100
lea rcx, [0x210273880]
mov qword [rsp + 0x28], rax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x2100c630b
mov r8d, ebx
lea rdx, str.pty_d_from_master_nat
mov rcx, rdi
call sym.__small_sprintf
mov dword [rsp + 0x28], 0x40000000
mov rcx, r13
lea rdx, [r15 + 0x218]
mov qword [rsp + 0x30], 0
mov r9d, 0x20000
lea r8, [r15 + 0x230]
lea r12, [rsp + 0x90]
mov qword [rsp + 0x20], rdi
call method.fhandler_pipe.create__SECURITY_ATTRIBUTES__void__void__unsigned_int__char_const__unsigned_int__long_
lea rdx, str.input_pipe
mov qword [rsp + 0x58], rdx
test eax, eax
jne 0x2100c63a7
mov rcx, rdi
mov r8d, ebx
lea rdx, str.pty_d_echoloop
call sym.__small_sprintf
mov qword [rsp + 0x20], rdi
mov rcx, r13
lea rdx, [r15 + 0x238]
mov qword [rsp + 0x30], 0
mov r9d, 0x20000
lea r8, [r15 + 0x240]
lea rdi, str.echo_pipe
mov dword [rsp + 0x28], 0
call method.fhandler_pipe.create__SECURITY_ATTRIBUTES__void__void__unsigned_int__char_const__unsigned_int__long_
mov qword [rsp + 0x58], rdi
test eax, eax
jne 0x2100c63a7
mov edx, 0x28
mov rcx, r12
call method.security_descriptor.malloc_unsigned_long_
mov rcx, qword [rsp + 0x90]
mov edx, 1
call sym.RtlCreateSecurityDescriptor
mov rax, qword [0x21024fce8]
mov r9, r12
mov r8d, 0x2190
mov edx, dword [rax + 0xfc1c]
mov ecx, dword [rax + 0xfc18]
call sym.create_object_sd_from_attribute_unsigned_int__unsigned_int__unsigned_int__security_descriptor_
test eax, eax
jne 0x2100c653c
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0xb8], rax
mov r9d, 1
lea rdi, [rsp + 0xb0]
lea rdx, str.cygtty.input.avail
mov rcx, r14
mov r8, rdi
call method.tty.get_event_char_const___SECURITY_ATTRIBUTES__int_
mov qword [r15 + 0x1f8], rax
test rax, rax
je 0x2100c6ab8
call sym.GetLastError
cmp eax, 0xb7
je 0x2100c6ab8
lea rax, [rsp + 0x180]
mov r8d, ebx
lea rdx, str.cygtty.output.mutex
mov rcx, rax
mov qword [rsp + 0x60], rax
call sym.shared_name_char__char_const__int_
mov r8, qword [rsp + 0x60]
xor edx, edx
mov rcx, rdi
mov qword [rsp + 0x58], rax
call sym.CreateMutexA
mov qword [r15 + 0x1e0], rax
test rax, rax
je 0x2100c63a7
mov rcx, qword [rsp + 0x60]
mov r8d, ebx
lea rdx, str.cygtty.input.mutex
call sym.shared_name_char__char_const__int_
mov r8, qword [rsp + 0x60]
xor edx, edx
mov rcx, rdi
mov qword [rsp + 0x58], rax
call sym.CreateMutexA
mov qword [r15 + 0x1e8], rax
test rax, rax
je 0x2100c63a7
mov rcx, qword [rsp + 0x60]
mov r8d, ebx
lea rdx, str.cygtty.pcon.mutex
call sym.shared_name_char__char_const__int_
mov r8, qword [rsp + 0x60]
xor edx, edx
mov rcx, rdi
mov qword [rsp + 0x58], rax
call sym.CreateMutexA
mov qword [r15 + 0x1f0], rax
test rax, rax
je 0x2100c63a7
cmp qword [0x2102ff780], 0
je 0x2100c6b13
mov rdi, qword [rsp + 0x60]
mov rax, qword [0x21023d810]
mov r9d, ebx
lea rdx, str..pipemsys__S_pty_d_master_ctl
lea r8, [rax + 0x4210]
mov rcx, rdi
call sym.__small_sprintf
lea rax, [0x2102d1c80]
mov rcx, rdi
mov dword [rsp + 0x30], 0
mov qword [rsp + 0x38], rax
mov r9d, 1
mov edx, 0x80003
mov r8d, 0xe
mov dword [rsp + 0x28], 0x1000
mov dword [rsp + 0x20], 0x1000
call sym.CreateNamedPipeA
mov qword [r15 + 0x208], rax
cmp rax, 0xffffffffffffffff
je 0x2100c6ad4
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call sym.CreateEventA
mov ecx, 0x58
mov qword [r15 + 0x268], rax
call method.cygthread.operator_new_unsigned_long_
mov rdi, rax
lea rax, str.ptym
mov qword [rdi + 0x28], rax
lea rax, [sym.pty_master_thread_void_]
mov rcx, rdi
mov qword [rdi + 0x30], rax
mov dword [rdi + 0x38], 0
mov qword [rdi + 0x40], r15
mov qword [rdi + 0x50], 0
call method.cygthread.create__
mov qword [r15 + 0x210], rdi
mov edx, 0xffffffff
mov rcx, qword [r15 + 0x268]
call sym.WaitForSingleObject
mov rax, qword [0x21034b1a0]
test byte [rax + 0x13], 0x20
je 0x2100c673e
mov rax, qword [0x21024fce8]
cmp word [rax + 0xfc2a], 3
je 0x2100c6b51
mov ecx, 0x58
call method.cygthread.operator_new_unsigned_long_
mov rdi, rax
lea rax, str.ptymf
mov qword [rdi + 0x28], rax
lea rax, [sym.pty_master_fwd_thread_void_]
mov rcx, rdi
mov qword [rdi + 0x30], rax
mov dword [rdi + 0x38], 0
mov qword [rdi + 0x40], r15
mov qword [rdi + 0x50], 0
call method.cygthread.create__
mov qword [r15 + 0x260], rdi
mov edx, 0xffffffff
mov rcx, qword [r15 + 0x268]
call sym.WaitForSingleObject
mov rcx, qword [r15 + 0x268]
call sym.CloseHandle
mov rax, qword [r15 + 0x218]
mov qword [r14 + 0x98], rax
mov rax, qword [r15 + 0x258]
mov qword [r14 + 0xa0], rax
mov rax, qword [r15 + 0x220]
mov qword [r14 + 0xa8], rax
mov rax, qword [r15 + 0x250]
mov qword [r14 + 0xb0], rax
mov rax, qword [r15 + 0x230]
mov qword [r14 + 0xb8], rax
mov rax, qword [r15]
mov rax, qword [rax + 0x290]
cmp rax, rsi
jne 0x2100c6b2c
lea rax, [r15 + 0x1d0]
mov rax, qword [rax]
lea rcx, [r15 + 0x1a8]
movzx r8d, bx
mov dword [r14 + 0x54], 0x500019
mov edx, pe_nt_image_headers64
mov qword [r14 + 0xc0], rax
mov rax, qword [0x21024fce8]
mov eax, dword [rax]
mov dword [r14 + 0x90], eax
call method.device.parse_unsigned_short__unsigned_short_
mov rcx, qword [0x21025fd10]
call sym.check_token_membership_void_
test al, al
je 0x2100c6ae5
movzx r13d, byte [0x210273880]
mov byte [r14 + 0x120], al
and r13d, 1
je 0x2100c6ac9
mov rax, qword [r15]
mov rdx, qword [rax + 0x290]
cmp rdx, rsi
jne 0x2100c6b41
lea rdx, [r15 + 0x1d0]
mov rax, qword [rax + 0x280]
mov rsi, qword [rdx]
cmp rax, rbp
jne 0x2100c6f59
lea rax, [r15 + 0x18]
mov qword [rsp + 0x40], rsi
mov rax, qword [rax]
mov edx, 0x100
lea r9, str.this__p__pty_d_opened___from_pty___p__p___to_pty__p
mov dword [rsp + 0x28], ebx
lea r8, str.bool_fhandler_pty_master::setup__
lea rcx, [0x210273880]
mov qword [rsp + 0x38], rax
mov rax, qword [r15 + 0x228]
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x30], rax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x2100c630e
mov rcx, r15
call rax
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x84]
mov rcx, qword [rax]
call sym.SetNamedPipeHandleState
test eax, eax
jne 0x2100c611c
jmp 0x2100c60d2
call sym.CloseHandle
jmp 0x2100c62fe
call sym.CloseHandle
jmp 0x2100c62e9
call sym.CloseHandle
jmp 0x2100c61d5
call sym.CloseHandle
jmp 0x2100c62d4
call sym.CloseHandle
jmp 0x2100c62bf
call sym.CloseHandle
jmp 0x2100c62aa
call sym.CloseHandle
jmp 0x2100c6295
call sym.CloseHandle
jmp 0x2100c6280
call sym.CloseHandle
jmp 0x2100c626b
call sym.CloseHandle
jmp 0x2100c6256
call sym.CloseHandle
jmp 0x2100c6241
mov rcx, r15
call rax
cmp qword [rax], 0
je 0x2100c622c
mov rax, qword [r15]
mov rax, qword [rax + 0x290]
cmp rax, rsi
je 0x2100c6f81
mov rcx, r15
call rax
cmp qword [rax], 0xffffffffffffffff
je 0x2100c622c
mov rax, qword [r15]
mov rax, qword [rax + 0x290]
cmp rax, rsi
je 0x2100c6f75
mov rcx, r15
call rax
mov rcx, qword [rax]
jmp 0x2100c6227
mov rcx, r15
call r8
cmp qword [rax], 0
je 0x2100c6202
mov rax, qword [r15]
mov rdx, qword [rax + 0x280]
cmp rdx, rbp
je 0x2100c6f6c
mov rcx, r15
call rdx
cmp qword [rax], 0xffffffffffffffff
je 0x2100c6202
mov rax, qword [r15]
mov rax, qword [rax + 0x280]
cmp rax, rbp
je 0x2100c6f63
mov rcx, r15
call rax
mov rcx, qword [rax]
jmp 0x2100c61fd
mov qword [rsp + 0x58], r8
mov rcx, r15
call rax
mov dword [rsp + 0x28], 0
mov r8, qword [rsp + 0x58]
mov r9d, 0x20000
mov qword [rsp + 0x30], 0
mov rdx, rax
mov qword [rsp + 0x20], rdi
jmp 0x2100c6383
mov rcx, r15
call rax
jmp 0x2100c60f5
lea rax, str.cygtty.input.avail
mov qword [rsp + 0x58], rax
jmp 0x2100c63a7
mov r13d, 1
jmp 0x2100c630e
lea rax, str.pty_master_control_pipe
mov qword [rsp + 0x58], rax
jmp 0x2100c63a7
mov rax, qword [0x21023d810]
mov rdx, qword [0x21025fcc8]
mov rcx, qword [rax + 0x4790]
test rdx, rdx
je 0x2100c6b36
test rcx, rcx
je 0x2100c6b36
call sym.RtlEqualSid
test al, al
setne al
jmp 0x2100c684b
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call sym.CreateMutexA
mov qword [0x2102ff780], rax
jmp 0x2100c663d
mov rcx, r15
call rax
jmp 0x2100c6800
cmp rdx, rcx
sete al
jmp 0x2100c684b
mov rcx, r15
call rdx
mov rdx, rax
mov rax, qword [r15]
jmp 0x2100c687e
mov edx, dword [rax + 8]
lea rax, [rsp + 0x3e0]
xor r9d, r9d
xor r8d, r8d
mov rcx, rax
mov qword [rsp + 0x3e0], 0
mov qword [rsp + 0x3e8], 0
mov qword [rsp + 0x3f0], 0
mov qword [rsp + 0x3f8], 0
mov qword [rsp + 0x400], 0
mov qword [rsp + 0x408], 0
mov qword [rsp + 0x410], 0
mov qword [rsp + 0x418], 0
mov qword [rsp + 0x58], rax
call method.pinfo.init_int__unsigned_int__void_
cmp qword [rsp + 0x408], 0
je 0x2100c6f06
cmp byte [rsp + 0x3f8], 0
je 0x2100c6bf2
mov rcx, qword [rsp + 0x58]
call method.pinfo.release__
xor r9d, r9d
xor r8d, r8d
mov rcx, r13
mov edx, 1
call sym.CreateEventA
xor r9d, r9d
xor r8d, r8d
mov rcx, r13
mov edx, 1
lea r13, [rsp + 0x290]
mov qword [rsp + 0x68], rax
call sym.CreateEventA
xor r9d, r9d
mov r8d, 0x21
lea rdx, str._bin_cygwin_console_helper.exe
mov rcx, r13
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x290], 0xffffffff
mov qword [rsp + 0x298], 0
mov qword [rsp + 0x2a0], 0
mov dword [rsp + 0x2a8], 0
mov dword [rsp + 0x2ac], 0
mov byte [rsp + 0x2b0], 0
mov qword [rsp + 0x300], 0
mov qword [rsp + 0x320], 0
mov qword [rsp + 0x328], 0
mov qword [rsp + 0x330], 0
mov qword [rsp + 0x338], 0
mov qword [rsp + 0x340], 0
mov dword [rsp + 0x3b0], 0
mov qword [rsp + 0x3b8], 0
mov qword [rsp + 0x3c0], 0
mov qword [rsp + 0x3c8], 0
mov qword [rsp + 0x3d0], 0
mov qword [rsp + 0x3d8], 0
call method.path_conv.check_char_const__unsigned_int__suffix_info_const_
xor edx, edx
mov rcx, r13
call method.path_conv.get_nt_native_path__UNICODE_STRING_
mov rdx, qword [rsp + 0x58]
movzx edi, word [rsp + 0x308]
mov rcx, r13
call method.path_conv.get_wide_win32_path_wchar_t_
mov r11, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x58]
shr rdi, 1
mov r9, qword [rsp + 0x60]
mov r8, r11
lea rcx, [rdx + rdi*2]
lea rdx, str.__p__p
mov qword [rsp + 0x78], r11
call sym.__small_swprintf_wchar_t__wchar_t_const__::_
xor eax, eax
mov ecx, 0xe
xor r8d, r8d
lea r10, [rsp + 0x110]
mov edx, 1
mov rdi, r10
mov qword [rsp + 0x70], r10
rep stosq qword [rdi], rax
lea rdi, [rsp + 0x88]
mov dword [rsp + 0x110], 0x70
mov r9, rdi
call sym.InitializeProcThreadAttributeList
mov r8, qword [rsp + 0x88]
mov qword [rsp + 0x68], r8
call sym.GetProcessHeap
mov r8, qword [rsp + 0x68]
xor edx, edx
mov rcx, rax
call sym.HeapAlloc
mov r9, rdi
xor r8d, r8d
mov edx, 1
mov rcx, rax
mov qword [rsp + 0x178], rax
call sym.InitializeProcThreadAttributeList
mov r11, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x60]
xor edx, edx
mov qword [rsp + 0x30], 0
mov rcx, qword [rsp + 0x178]
lea r9, [rsp + 0xa0]
mov r8d, 0x20002
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0x10
mov qword [rsp + 0xa0], r11
mov qword [rsp + 0x68], r11
mov qword [rsp + 0xa8], rdi
call sym.UpdateProcThreadAttribute
mov r10, qword [rsp + 0x70]
xor ecx, ecx
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x48], rax
lea r9, [0x2102d1ce0]
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x40], r10
mov r8, r9
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80000
mov dword [rsp + 0x20], 1
call sym.CreateProcessW
mov r11, qword [rsp + 0x68]
test eax, eax
je 0x2100c6f42
mov rcx, r11
or edx, 0xffffffff
mov qword [rsp + 0x58], r11
call sym.WaitForSingleObject
mov rcx, qword [rsp + 0x58]
call sym.CloseHandle
mov rcx, qword [rsp + 0xf8]
call sym.CloseHandle
mov eax, dword [rsp + 0x100]
mov qword [r15 + 0x270], rdi
mov dword [r15 + 0x280], eax
mov rax, qword [rsp + 0xf0]
mov qword [r15 + 0x278], rax
mov rcx, qword [rsp + 0x178]
call sym.DeleteProcThreadAttributeList
mov rdi, qword [rsp + 0x178]
call sym.GetProcessHeap
xor edx, edx
mov rcx, rax
mov r8, rdi
call sym.HeapFree
mov rcx, r13
call method.path_conv.path_conv__
jmp 0x2100c673e
lea rcx, str.ConEmuPID
call sym.msys_2.0.dll_getenv
cmp byte [rsp + 0x3f8], 0
mov rdi, rax
je 0x2100c6f34
cmp qword [rsp + 0x408], 0
je 0x2100c6f34
mov rcx, qword [rsp + 0x58]
call method.pinfo.release__
test rdi, rdi
je 0x2100c6bf2
jmp 0x2100c673e
mov rcx, r11
call sym.CloseHandle
mov rcx, qword [rsp + 0x60]
call sym.CloseHandle
jmp 0x2100c6ed2
mov rcx, r15
call rax
jmp 0x2100c6895
mov rcx, qword [r15 + 0x18]
jmp 0x2100c61fd
mov rcx, qword [r15 + 0x18]
jmp 0x2100c61f4
mov rcx, qword [r15 + 0x1d0]
jmp 0x2100c6227
mov rcx, qword [r15 + 0x1d0]
jmp 0x2100c6221