Function at 0x140002911
Capabilities:
Create pipe
Create process on windows
Read file on windows

Disassembly:
push rbp
push rbx
mov eax, 0x21a8
call fcn.140004590
sub rsp, rax
lea rbp, [rsp + 0x80]
call dbg.__main
lea rax, [rbp + 0x20f4]
mov qword [rbp + 0x2110], rax
nop
nop
lea rdx, [rbp + 0x20f4]
lea rax, [rbp + 0x20d0]
mov r8, rdx
lea rdx, str.Starting_the_system
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x20d0]
mov rcx, rax
call sym.runWsay_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
lea rax, [rbp + 0x20d0]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x20f4]
mov rcx, rax
call method.std::__new_allocator_char_.__new_allocator__
nop
mov dword [rbp + 0x20b0], 0x18
mov dword [rbp + 0x20c0], 1
mov qword [rbp + 0x20b8], 0
lea rax, [rbp + 0x20b0]
mov r9d, 0
mov r8, rax
lea rax, [0x140042070]
mov rdx, rax
lea rax, [0x140042068]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CreatePipe]
call rax
test eax, eax
sete al
test al, al
je 0x140002a15
lea rax, str.CreatePipe_failed
mov rdx, rax
mov rax, qword [sym.imp.libstdc_6.dll_std::cerr]
mov rcx, rax
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov rcx, rax
mov rax, qword [0x1400332f0]
mov rdx, rax
call sym.std::ostream::operator___std::ostream____std::ostream__
mov ebx, 1
jmp 0x140002e1e
lea rax, [rbp + 0x2040]
mov r8d, 0x68
mov edx, 0
mov rcx, rax
call sym.memset
lea rax, [rbp + 0x2020]
mov r8d, 0x18
mov edx, 0
mov rcx, rax
call sym.memset
mov dword [rbp + 0x2040], 0x68
mov rax, qword [0x140042070]
mov qword [rbp + 0x20a0], rax
mov rax, qword [0x140042070]
mov qword [rbp + 0x2098], rax
mov eax, dword [rbp + 0x207c]
or ah, 1
mov dword [rbp + 0x207c], eax
lea rax, [rbp + 0x2020]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x2040]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 1
mov r9d, 0
mov r8d, 0
lea rax, str.python_voskrecg.py
mov rdx, rax
mov ecx, 0
mov rax, qword [sym.imp.KERNEL32.dll_CreateProcessA]
call rax
test eax, eax
sete al
test al, al
je 0x140002b1a
lea rax, str.CreateProcess_failed
mov rdx, rax
mov rax, qword [sym.imp.libstdc_6.dll_std::cerr]
mov rcx, rax
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov rcx, rax
mov rax, qword [0x1400332f0]
mov rdx, rax
call sym.std::ostream::operator___std::ostream____std::ostream__
mov ebx, 1
jmp 0x140002e1e
mov rax, qword [0x140042070]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
mov dword [rbp + 0x211c], 0xd
jmp 0x140002ba6
lea rax, [rbp + 0x20f5]
mov qword [rbp + 0x2108], rax
nop
nop
mov eax, dword [rbp + 0x1c]
mov r8d, eax
lea rcx, [rbp + 0x20f5]
lea rdx, [rbp + 0x20]
lea rax, [rbp - 0x30]
mov r9, rcx
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_char_const__unsigned_long_long__std::allocator_char__const_
lea rax, [rbp + 0x20f5]
mov rcx, rax
call method.std::__new_allocator_char_.__new_allocator__
nop
sub dword [rbp + 0x211c], 1
cmp dword [rbp + 0x211c], 0
jne 0x140002b90
mov ebx, 0
jmp 0x140002b95
mov ebx, 1
lea rax, [rbp - 0x30]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
cmp ebx, 1
jne 0x140002bf2
mov rax, qword [0x140042068]
lea rcx, [rbp + 0x1c]
lea rdx, [rbp + 0x20]
mov qword [rsp + 0x20], 0
mov r9, rcx
mov r8d, 0x2000
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_ReadFile]
call rax
test eax, eax
je 0x140002be5
mov eax, dword [rbp + 0x1c]
test eax, eax
je 0x140002be5
mov eax, 1
jmp 0x140002bea
mov eax, 0
test al, al
jne 0x140002b39
call sym.greetUser__
lea rax, [rbp + 0x10]
lea rdx, [sym.commandVerifier__]
mov rcx, rax
call method.std::thread.thread_void_________void__void______
jmp 0x140002ca7
lea rax, [rbp + 0x20f6]
mov qword [rbp + 0x2100], rax
nop
nop
mov eax, dword [rbp + 0x1c]
mov r8d, eax
lea rcx, [rbp + 0x20f6]
lea rdx, [rbp + 0x20]
lea rax, [rbp - 0x30]
mov r9, rcx
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_char_const__unsigned_long_long__std::allocator_char__const_
lea rax, [rbp + 0x20f6]
mov rcx, rax
call method.std::__new_allocator_char_.__new_allocator__
nop
lea rax, [rbp - 0x30]
mov rdx, rax
lea rax, [0x140042040]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::operator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
movzx eax, byte [0x140042060]
movzx eax, al
cmp eax, 1
jne 0x140002c7b
mov ebx, 0
jmp 0x140002c96
movzx eax, byte [0x140042061]
movzx eax, al
cmp eax, 1
jne 0x140002c91
mov byte [0x140042061], 0
mov ebx, 1
lea rax, [rbp - 0x30]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
cmp ebx, 1
jne 0x140002d01
movzx eax, byte [0x140042060]
movzx eax, al
test eax, eax
jne 0x140002cf4
mov rax, qword [0x140042068]
lea rcx, [rbp + 0x1c]
lea rdx, [rbp + 0x20]
mov qword [rsp + 0x20], 0
mov r9, rcx
mov r8d, 0x2000
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_ReadFile]
call rax
test eax, eax
je 0x140002cf4
mov eax, dword [rbp + 0x1c]
test eax, eax
je 0x140002cf4
mov eax, 1
jmp 0x140002cf9
mov eax, 0
test al, al
jne 0x140002c0f
lea rax, [rbp + 0x20f7]
mov qword [rbp + 0x20f8], rax
nop
nop
lea rdx, [rbp + 0x20f7]
lea rax, [rbp - 0x10]
mov r8, rdx
lea rdx, str.Goodbye._Closing_system_processes__Shutdown_complete__
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x20f7]
mov rcx, rax
call method.std::__new_allocator_char_.__new_allocator__
nop
mov ecx, 0x7d0
mov rax, qword [sym.imp.KERNEL32.dll_Sleep]
call rax
lea rax, [rbp - 0x10]
mov rcx, rax
call sym.runWsay_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
lea rax, str.kernel_closing_text2speach_pipe..._n
mov rdx, rax
mov rax, qword [sym.imp.libstdc_6.dll_std::cout]
mov rcx, rax
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov rax, qword [0x140042068]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
lea rax, str.kernel_closing_h_process..._n
mov rdx, rax
mov rax, qword [sym.imp.libstdc_6.dll_std::cout]
mov rcx, rax
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov rax, qword [rbp + 0x2020]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
lea rax, str.kernel_closing_h_thread..._n
mov rdx, rax
mov rax, qword [sym.imp.libstdc_6.dll_std::cout]
mov rcx, rax
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov rax, qword [rbp + 0x2028]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
lea rax, [rbp + 0x10]
mov rcx, rax
call sym.std::thread::join__
lea rax, str.kernel_Shutdown_complete___n
mov rdx, rax
mov rax, qword [sym.imp.libstdc_6.dll_std::cout]
mov rcx, rax
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov ebx, 0
lea rax, [rbp - 0x10]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x10]
mov rcx, rax
call method.std::thread.thread__
mov eax, ebx
jmp 0x140002edb
add rsp, 0x21a8
pop rbx
pop rbp
ret