Function at 0x10043c690
Capabilities:
Terminate process

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x50
mov r9, qword [sym.bash.exe_sh_syntaxtab]
mov esi, edx
mov qword [rsp + 0x90], rcx
mov ebx, r8d
mov rdx, rcx
test rcx, rcx
jne 0x10043c6d3
jmp 0x10043c6da
movzx ecx, al
test byte [r9 + rcx*4 + 1], 0x20
jne 0x10043c6cf
cmp al, 0xa
jne 0x10043c6f0
add rdx, 1
movzx eax, byte [rdx]
test al, al
jne 0x10043c6c0
xor eax, eax
add rsp, 0x50
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
cmp al, 0x3c
je 0x10043cab0
mov rax, qword [sym.bash.exe_wordexp_only]
mov r12d, dword [rax]
test r12d, r12d
jne 0x10043ca78
cmp qword [sym.bash.exe_subst_assign_varlist], 0
je 0x10043caa0
cmp qword [0x10065d1a0], 0
je 0x10043caa0
mov rax, qword [sym.bash.exe_interactive]
mov eax, dword [rax]
mov dword [rsp + 0x28], eax
test eax, eax
jne 0x10043ca58
mov rax, qword [sym.bash.exe_last_made_pid]
lea rcx, [rsp + 0x48]
mov ebp, dword [rax]
call sub.msys_2.0.dll_pipe
test eax, eax
js 0x10043cc80
mov ecx, dword [rsp + 0x48]
cmp ecx, 2
jle 0x10043cb00
mov ecx, dword [rsp + 0x4c]
cmp ecx, 2
jle 0x10043cca0
mov rax, qword [sym.bash.exe_pipeline_pgrp]
mov rdx, qword [sym.bash.exe_subshell_environment]
mov r13d, dword [rax]
test byte [rdx], 0x18
jne 0x10043c792
mov rdx, qword [sym.bash.exe_shell_pgrp]
mov edx, dword [rdx]
mov dword [rax], edx
call sym.bash.exe_cleanup_the_pipeline
mov rax, qword [sym.bash.exe_subshell_environment]
mov r12, qword [sym.bash.exe_last_asynchronous_pid]
xor ecx, ecx
mov edx, dword [rax]
mov r14d, dword [r12]
and edx, 1
or edx, 4
call sym.bash.exe_make_child
mov dword [r12], r14d
mov edi, eax
test eax, eax
jne 0x10043cb70
call sym.bash.exe_reset_signal_handlers
mov rsi, qword [sym.bash.exe_interrupt_state]
mov eax, dword [rsi]
test eax, eax
jne 0x10043cce1
mov rax, qword [sym.bash.exe_terminating_signal]
mov edx, dword [rax]
test edx, edx
jne 0x10043ccd5
mov rax, qword [sym.bash.exe_interrupt_state]
mov eax, dword [rax]
test eax, eax
jne 0x10043cccb
mov rdx, qword [sym.bash.exe_subshell_environment]
mov eax, dword [rdx]
and ah, 0xfe
or al, 0x80
mov dword [rdx], eax
call sym.bash.exe_set_sigchld_handler
call sym.bash.exe_stop_making_children
mov rax, qword [sym.bash.exe_interactive]
mov dword [rax], 0
mov rax, qword [sym.bash.exe_pipeline_pgrp]
mov eax, dword [rax]
test eax, eax
jle 0x10043c83f
mov rdx, qword [sym.bash.exe_shell_pgrp]
cmp eax, dword [rdx]
je 0x10043c83f
mov dword [rdx], eax
call sym.bash.exe_set_sigint_handler
call sym.bash.exe_free_pushed_string_input
call sub.msys_2.0.dll___getreent
mov rcx, qword [rax + 0x10]
call sub.msys_2.0.dll_fpurge
mov ecx, dword [rsp + 0x4c]
mov edx, 1
call sub.msys_2.0.dll_dup2
test eax, eax
js 0x10043ce58
mov esi, dword [rsp + 0x4c]
call sub.msys_2.0.dll___getreent
mov rcx, qword [rax + 8]
call sub.msys_2.0.dll_fileno
cmp esi, eax
je 0x10043c8b8
mov esi, dword [rsp + 0x4c]
call sub.msys_2.0.dll___getreent
mov rcx, qword [rax + 0x10]
call sub.msys_2.0.dll_fileno
cmp esi, eax
je 0x10043c8b8
mov esi, dword [rsp + 0x4c]
call sub.msys_2.0.dll___getreent
mov rcx, qword [rax + 0x18]
call sub.msys_2.0.dll_fileno
cmp esi, eax
je 0x10043c8b8
mov ecx, dword [rsp + 0x4c]
call fcn.100513da0
mov esi, dword [rsp + 0x48]
call sub.msys_2.0.dll___getreent
mov rcx, qword [rax + 8]
call sub.msys_2.0.dll_fileno
cmp esi, eax
je 0x10043c903
mov esi, dword [rsp + 0x48]
call sub.msys_2.0.dll___getreent
mov rcx, qword [rax + 0x10]
call sub.msys_2.0.dll_fileno
cmp esi, eax
je 0x10043c903
mov esi, dword [rsp + 0x48]
call sub.msys_2.0.dll___getreent
mov rcx, qword [rax + 0x18]
call sub.msys_2.0.dll_fileno
cmp esi, eax
je 0x10043c903
mov ecx, dword [rsp + 0x48]
call fcn.100513da0
call sub.msys_2.0.dll___getreent
lea rdx, [0x100525c8a]
xor ecx, ecx
mov r8, qword [rax + 0x10]
call sub.msys_2.0.dll_freopen
call sub.msys_2.0.dll___getreent
mov rcx, qword [rax + 0x10]
call sym.bash.exe_sh_setlinebuf
mov edx, 0x2b
mov ecx, 0x76
mov rax, qword [sym.bash.exe_subshell_environment]
or dword [rax], 4
call sym.bash.exe_change_flag
cmp dword [sym.bash.exe_inherit_errexit], 0
jne 0x10043c964
mov rax, qword [sym.bash.exe_builtin_ignoring_errexit]
xor esi, esi
mov edx, 0x2b
mov ecx, 0x65
mov dword [rax], esi
call sym.bash.exe_change_flag
call sym.bash.exe_set_shellopts
mov rsi, qword [sym.bash.exe_expanding_redir]
cmp dword [rsi], 0
jne 0x10043ce48
mov rcx, qword [rsp + 0x90]
call fcn.10043a990
mov rax, qword [sym.bash.exe_expand_aliases]
cmp dword [rax], 0
je 0x10043c9a9
and bl, 0x80
jne 0x10043c9a9
mov rdx, qword [sym.bash.exe_posixly_correct]
cmp dword [rdx], 0
sete dl
movzx edx, dl
mov dword [rax], edx
mov rax, qword [sym.bash.exe_startup_state]
xor r9d, r9d
xor r10d, r10d
xor ecx, ecx
mov rbx, qword [sym.bash.exe_top_level]
xor edx, edx
mov dword [rax], 2
mov rax, qword [sym.bash.exe_parse_and_execute_level]
lea r8, [rbx + 0x108]
mov qword [rbx + 0x100], r10
mov dword [rax], r9d
call sub.msys_2.0.dll_pthread_sigmask
mov rcx, rbx
call sub.msys_2.0.dll_setjmp
test eax, eax
jne 0x10043cdb9
mov rax, qword [sym.bash.exe_return_catch_flag]
mov r8d, dword [rax]
test r8d, r8d
jne 0x10043ce0f
mov r8d, dword [rsp + 0x28]
mov rax, qword [sym.bash.exe_subshell_level]
lea rdx, str.command_substitution
mov rcx, qword [rsp + 0x90]
or r8d, 4
add dword [rax], 1
call sym.bash.exe_parse_and_execute
mov rdx, qword [sym.bash.exe_last_command_exit_value]
mov dword [rdx], eax
call sym.bash.exe_run_exit_trap
mov edx, dword [0x10065d114]
mov ebx, eax
test edx, edx
je 0x10043ca4d
call fcn.100433c30
mov ecx, ebx
call sub.msys_2.0.dll_exit
nop dword [rax]
mov rax, qword [sym.bash.exe_sourcelevel]
mov edi, dword [rax]
xor eax, eax
test edi, edi
sete al
shl eax, 4
mov dword [rsp + 0x28], eax
jmp 0x10043c73c
mov rax, qword [sym.bash.exe_read_but_dont_execute]
mov ebp, dword [rax]
test ebp, ebp
je 0x10043c70b
mov rax, qword [sym.bash.exe_last_command_exit_value]
mov ecx, 3
mov dword [rax], 0x7d
call sym.bash.exe_jump_to_top_level
call sym.bash.exe_maybe_make_export_env
jmp 0x10043c727
movzx eax, byte [rdx + 1]
mov edx, eax
and edx, 0xfffffffd
cmp dl, 0x3c
je 0x10043c6f8
cmp al, 0x26
je 0x10043c6f8
mov rcx, qword [rsp + 0x90]
xor edx, edx
call sym.bash.exe_parse_string_to_command
mov rdi, rax
test rax, rax
je 0x10043caf1
mov rcx, rax
call sym.bash.exe_can_optimize_cat_file
test eax, eax
jne 0x10043cd2c
mov rcx, rdi
call sym.bash.exe_dispose_command
jmp 0x10043c6f8
mov r8d, 3
xor edx, edx
call fcn.100513eb0
mov ecx, dword [rsp + 0x48]
mov edi, eax
call fcn.100513da0
mov ecx, dword [rsp + 0x4c]
mov dword [rsp + 0x48], edi
cmp ecx, 2
jle 0x10043cca0
mov eax, dword [rsp + 0x48]
test eax, eax
jns 0x10043c771
lea rcx, str.cannot_make_pipe_for_command_substitution
call sym.bash.exe_libintl_gettext
mov rcx, rax
call sym.bash.exe_sys_error
mov ecx, dword [rsp + 0x48]
mov rax, qword [sym.bash.exe_last_made_pid]
mov dword [rax], ebp
call fcn.100513da0
mov ecx, dword [rsp + 0x4c]
call fcn.100513da0
jmp 0x10043c6da
call sym.bash.exe_set_sigchld_handler
call sym.bash.exe_stop_making_children
mov rax, qword [sym.bash.exe_pipeline_pgrp]
mov dword [rax], r13d
test edi, edi
js 0x10043ccfd
mov ecx, dword [rsp + 0x4c]
lea r13, [rsp + 0x38]
lea r12, [rsp + 0x40]
lea r14, str.read_comsub
call fcn.100513da0
mov rcx, r14
call sym.bash.exe_begin_unwind_frame
mov edx, dword [rsp + 0x48]
mov rcx, qword [fcn.100513da0]
call sym.bash.exe_add_unwind_protect
mov rcx, r13
call sub.msys_2.0.dll_sigemptyset
mov edx, 2
mov rcx, r13
call sub.msys_2.0.dll_sigaddset
mov rcx, r12
call sub.msys_2.0.dll_sigemptyset
mov r8, r12
mov rdx, r13
mov ecx, 1
call sub.msys_2.0.dll_sigprocmask
mov ecx, dword [rsp + 0x48]
lea r9, [rsp + 0x34]
mov edx, esi
mov r8d, ebx
call fcn.100432740
mov ecx, dword [rsp + 0x48]
mov rbx, rax
call fcn.100513da0
mov rcx, r14
call sym.bash.exe_discard_unwind_frame
xor r8d, r8d
mov rdx, r12
xor ecx, ecx
call sub.msys_2.0.dll_sigprocmask
mov edx, 0x100
mov ecx, edi
mov dword [sym.bash.exe_current_command_subst_pid], edi
call sym.bash.exe_wait_for
mov rdx, qword [sym.bash.exe_last_command_exit_value]
mov dword [sym.bash.exe_last_command_subst_pid], edi
mov dword [rdx], eax
mov rax, qword [sym.bash.exe_last_made_pid]
mov dword [rax], ebp
mov eax, dword [rdx]
cmp eax, 0x82
jne 0x10043cc62
mov rax, qword [sym.bash.exe_last_command_exit_signal]
cmp dword [rax], 2
je 0x10043cd16
call sym.bash.exe_alloc_word_desc
mov edx, dword [rsp + 0x34]
mov qword [rax], rbx
mov dword [rax + 8], edx
add rsp, 0x50
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
lea rcx, str.cannot_make_pipe_for_command_substitution
call sym.bash.exe_libintl_gettext
lea rcx, [0x100525951]
mov rdx, rax
call sym.bash.exe_sys_error
jmp 0x10043cb49
xor edx, edx
mov r8d, 3
call fcn.100513eb0
mov ecx, dword [rsp + 0x4c]
mov edi, eax
call fcn.100513da0
mov dword [rsp + 0x4c], edi
or edi, dword [rsp + 0x48]
jns 0x10043c771
jmp 0x10043cb35
call sym.bash.exe_throw_to_top_level
jmp 0x10043c7fe
mov ecx, dword [rax]
call sym.bash.exe_termsig_handler
jmp 0x10043c7ed
call sub.msys_2.0.dll_getpid
mov edx, 2
mov ecx, eax
call fcn.1005141e0
mov dword [rsi], 0
jmp 0x10043c7dc
lea rcx, str.cannot_make_child_for_command_substitution
call sym.bash.exe_libintl_gettext
mov rcx, rax
call sym.bash.exe_sys_error
jmp 0x10043cb49
call sub.msys_2.0.dll_getpid
mov edx, 2
mov ecx, eax
call fcn.1005141e0
jmp 0x10043cc62
mov rax, qword [rdi + 0x18]
xor edx, edx
mov dword [rsp + 0x34], 0
mov rcx, qword [rax + 0x10]
call sym.bash.exe_open_redir_file
mov ebp, eax
test eax, eax
js 0x10043cda8
mov r8d, ebx
lea r9, [rsp + 0x34]
mov edx, esi
mov ecx, eax
call fcn.100432740
mov ecx, ebp
mov rbx, rax
call fcn.100513da0
lea rax, [0x10065d1af]
cmp rbx, rax
je 0x10043cda8
mov rax, qword [sym.bash.exe_last_command_exit_value]
mov dword [rax], 0
mov rax, qword [sym.bash.exe_dollar_dollar_pid]
mov rcx, rdi
mov eax, dword [rax]
mov dword [sym.bash.exe_last_command_subst_pid], eax
call sym.bash.exe_dispose_command
call sym.bash.exe_alloc_word_desc
mov edx, dword [rsp + 0x34]
mov qword [rax], rbx
mov dword [rax + 8], edx
jmp 0x10043c6dc
mov rax, qword [sym.bash.exe_last_command_exit_value]
xor ebx, ebx
mov dword [rax], 1
jmp 0x10043cd7d
mov dword [rsp + 0x2c], eax
xor edx, edx
cmp dword [rsp + 0x2c], 4
je 0x10043ce01
mov esi, dword [rsp + 0x2c]
cmp esi, 3
sete al
cmp esi, 6
sete cl
or al, cl
jne 0x10043ce01
mov ecx, dword [rsp + 0x2c]
mov eax, 1
test ecx, ecx
jne 0x10043ca2e
test edx, edx
je 0x10043ca07
mov rax, qword [sym.bash.exe_return_catch_value]
mov eax, dword [rax]
jmp 0x10043ca2e
mov rax, qword [sym.bash.exe_last_command_exit_value]
mov eax, dword [rax]
jmp 0x10043ca2e
mov rbx, qword [sym.bash.exe_return_catch]
xor ecx, ecx
xor edx, edx
lea r8, [rbx + 0x108]
mov qword [rbx + 0x100], 0
call sub.msys_2.0.dll_pthread_sigmask
mov rcx, rbx
mov dword [rsp + 0x2c], 0
call sub.msys_2.0.dll_setjmp
mov edx, eax
jmp 0x10043cdbf
call sym.bash.exe_flush_temporary_env
xor r11d, r11d
mov dword [rsi], r11d
jmp 0x10043c979
lea rcx, str.command_substitute:_cannot_duplicate_pipe_as_fd_1
call sym.bash.exe_libintl_gettext
lea rcx, [0x100525951]
mov rdx, rax
call sym.bash.exe_sys_error
mov ecx, 1
call sub.msys_2.0.dll_exit
nop
nop