Function at 0x40b7af
Capabilities:
Delete file
Execute command
Move file

Disassembly:
push rbp
push rbx
sub rsp, 0x438
lea rbp, [rsp + 0x80]
mov byte [rbp + 0x3a9], 0
mov byte [rbp + 0x3ab], 0
lea rax, [rbp + 0x190]
mov rcx, rax
call fcn.0049ef20
lea rax, [rbp - 0x50]
mov rcx, rax
call fcn.0049ef20
mov edx, 4
mov ecx, 0x10
call dbg.std::operator|(std::_Ios_Openmode, std::_Ios_Openmode)
mov edx, eax
lea rax, [rbp + 0x190]
mov r8d, edx
lea rdx, [0x00513600]
mov rcx, rax
call method.std::basic_fstream_char__std::char_traits_char___.open_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__std::_Ios_Openmode_
mov edx, 4
mov ecx, 0x10
call dbg.std::operator|(std::_Ios_Openmode, std::_Ios_Openmode)
mov edx, eax
lea rax, [rbp - 0x50]
mov r8d, edx
lea rdx, [0x00513620]
mov rcx, rax
call method.std::basic_fstream_char__std::char_traits_char___.open_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__std::_Ios_Openmode_
mov edx, 4
mov ecx, 8
call dbg.std::operator|(std::_Ios_Openmode, std::_Ios_Openmode)
mov r8d, eax
lea rdx, [0x005135c0]
lea rcx, [0x00513820]
call method.std::basic_fstream_char__std::char_traits_char___.open_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__std::_Ios_Openmode_
lea rcx, [0x00513820]
call method.std::basic_fstream_char__std::char_traits_char___.is_open__
xor eax, 1
test al, al
je 0x40b894
lea rdx, str._nFailed_to_open_STUDENT.bin_
mov rcx, qword [0x004e8170]
call method.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 rdx, qword [method.std::basic_ostream_char__std::char_traits_char____std::endl_char__std.char_traits_char____std::basic_ostream_char__std::char_traits_char____]
mov rcx, rax
call method.std::ostream.operator___std::ostream____std::ostream__
mov edx, 4
mov ecx, 8
call dbg.std::operator|(std::_Ios_Openmode, std::_Ios_Openmode)
mov r8d, eax
lea rdx, [0x005135e0]
lea rcx, [0x00513220]
call method.std::basic_fstream_char__std::char_traits_char___.open_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__std::_Ios_Openmode_
lea rcx, [0x00513820]
call method.std::istream.peek__
mov ebx, eax
call dbg.std::char_traits<char>::eof()
cmp ebx, eax
sete al
test al, al
je 0x40b996
mov edx, 1
mov ecx, 0x1e
call dbg.gotoxy(int, int)
mov ecx, 1
call dbg.foreColor(int)
lea rdx, str.No_Student_Data_yet____Pls_contact_to_the_school_____
mov rcx, qword [0x004e8170]
call method.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 rdx, qword [method.std::basic_ostream_char__std::char_traits_char____std::endl_char__std.char_traits_char____std::basic_ostream_char__std::char_traits_char____]
mov rcx, rax
call method.std::ostream.operator___std::ostream____std::ostream__
mov edx, 3
mov ecx, 5
call dbg.gotoxy(int, int)
mov ecx, 7
call dbg.foreColor(int)
lea rdx, str.Press_Key_ESC__To_Menu
mov rcx, qword [0x004e8170]
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
call sym.getch
cmp eax, 0x1b
sete al
test al, al
je 0x40b914
mov edx, 3
mov ecx, 5
call dbg.gotoxy(int, int)
mov ecx, 6
call dbg.foreColor(int)
lea rdx, str.Press_Key_ESC__To_Menu
mov rcx, qword [0x004e8170]
call method.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 ecx, 0x12c
call dbg.delay(int)
lea rcx, [0x004de00d]
call sym.system
call dbg.studentManage()
mov dword [rsp + 0x20], 7
mov r9d, 0xa
mov r8d, 0x42
mov edx, 5
mov ecx, 0x13
call dbg.DrawRectangle(int, int, int, int, int)
mov dword [rsp + 0x20], 7
mov r9d, 1
mov r8d, 0x3c
mov edx, 5
mov ecx, 0x16
call dbg.DrawRectangle(int, int, int, int, int)
mov dword [rsp + 0x20], 7
mov r9d, 1
mov r8d, 0x3c
mov edx, 0xe
mov ecx, 0x16
call dbg.DrawRectangle(int, int, int, int, int)
mov edx, 6
mov ecx, 0x17
call dbg.gotoxy(int, int)
mov ecx, 7
call dbg.foreColor(int)
lea rdx, str.Enter_ID_you_want_to_delete:
mov rcx, qword [0x004e8170]
call method.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 ecx, 6
call dbg.foreColor(int)
mov edx, 6
mov ecx, 0x34
call dbg.gotoxy(int, int)
lea rax, [rbp + 0x376]
mov rcx, rax
call dbg.inputNumber(char*)
lea rax, [rbp + 0x376]
movzx eax, byte [rax]
test al, al
je 0x40bace
lea rax, [rbp + 0x3a7]
mov rcx, rax
call fcn.00485c10
lea rcx, [rbp + 0x3a7]
lea rdx, [rbp + 0x376]
lea rax, [rbp + 0x380]
mov r8, rcx
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const_
lea rax, [rbp + 0x380]
mov r8d, 0xa
mov edx, 0
mov rcx, rax
call dbg.std::__cxx11::stoi(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long long*, int)
mov dword [rbp + 0x3ac], eax
lea rax, [rbp + 0x380]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x3a7]
mov rcx, rax
call sym.std::allocator_char_::allocator__
lea rax, [rbp + 0x376]
movzx eax, byte [rax]
test al, al
jne 0x40bae1
jmp 0x40ba2b
mov byte [rbp + 0x3aa], 0
mov r8d, 0x18c
lea rdx, [0x00513680]
lea rcx, [0x00513820]
call method.std::istream.read_char__long_long_
mov rdx, qword [rax]
sub rdx, 0x18
mov rdx, qword [rdx]
add rax, rdx
mov rcx, rax
call method.std::basic_ios_char__std::char_traits_char___.operator_bool___const
test al, al
je 0x40bb65
lea rcx, [0x00513680]
call dbg.Student::getId()
cmp dword [rbp + 0x3ac], eax
setne al
test al, al
je 0x40bb55
lea rax, [rbp + 0x190]
add rax, 0x10
mov r8d, 0x18c
lea rdx, [0x00513680]
mov rcx, rax
call method.std::ostream.write_char_const__long_long_
jmp 0x40bb63
mov byte [rbp + 0x3ab], 1
mov byte [rbp + 0x3aa], 1
jmp 0x40bae8
mov r8d, 0x18c
lea rdx, [0x00513680]
lea rcx, [0x00513220]
call method.std::istream.read_char__long_long_
mov rdx, qword [rax]
sub rdx, 0x18
mov rdx, qword [rdx]
add rax, rdx
mov rcx, rax
call method.std::basic_ios_char__std::char_traits_char___.operator_bool___const
test al, al
je 0x40bbd8
lea rcx, [0x00513680]
call dbg.Student::getId()
cmp dword [rbp + 0x3ac], eax
setne al
test al, al
je 0x40bbcf
lea rax, [rbp - 0x50]
add rax, 0x10
mov r8d, 0x18c
lea rdx, [0x00513680]
mov rcx, rax
call method.std::ostream.write_char_const__long_long_
jmp 0x40bbd6
mov byte [rbp + 0x3ab], 1
jmp 0x40bb65
lea rcx, [0x00513820]
call method.std::basic_fstream_char__std::char_traits_char___.close__
lea rcx, [0x00513220]
call method.std::basic_fstream_char__std::char_traits_char___.close__
lea rax, [rbp + 0x190]
mov rcx, rax
call method.std::basic_fstream_char__std::char_traits_char___.close__
lea rax, [rbp - 0x50]
mov rcx, rax
call method.std::basic_fstream_char__std::char_traits_char___.close__
movzx eax, byte [rbp + 0x3aa]
xor eax, 1
test al, al
je 0x40bc47
mov edx, 0xa
mov ecx, 0x2c
call dbg.gotoxy(int, int)
mov ecx, 6
call dbg.foreColor(int)
lea rdx, str.ID_is_not_found_
mov rcx, qword [0x004e8170]
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
jmp 0x40bc73
mov edx, 0xa
mov ecx, 0x26
call dbg.gotoxy(int, int)
mov ecx, 6
call dbg.foreColor(int)
lea rdx, str.Student_deleted_successfully_
mov rcx, qword [0x004e8170]
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
cmp byte [rbp + 0x3ab], 0
je 0x40bcf2
lea rcx, [0x005135c0]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.c_str___const
mov rcx, rax
call sym.remove
lea rcx, [0x005135c0]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.c_str___const
mov rbx, rax
lea rcx, [0x00513600]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.c_str___const
mov rdx, rbx
mov rcx, rax
call sym.rename
lea rcx, [0x005135e0]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.c_str___const
mov rcx, rax
call sym.remove
lea rcx, [0x005135e0]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.c_str___const
mov rbx, rax
lea rcx, [0x00513620]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.c_str___const
mov rdx, rbx
mov rcx, rax
call sym.rename
jmp 0x40bcf3
nop
mov edx, 0xf
mov ecx, 0x17
call dbg.gotoxy(int, int)
mov ecx, 7
call dbg.foreColor(int)
lea rdx, str.Press_Key_ESC__To_Menu
mov rcx, qword [0x004e8170]
call method.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 edx, 0xf
mov ecx, 0x38
call dbg.gotoxy(int, int)
mov ecx, 7
call dbg.foreColor(int)
lea rdx, str.Press_Key_Enter__Do_again
mov rcx, qword [0x004e8170]
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
call sym.getch
mov byte [rbp + 0x3a8], al
cmp byte [rbp + 0x3a8], 0x1b
jne 0x40bda8
mov edx, 0xf
mov ecx, 0x17
call dbg.gotoxy(int, int)
mov ecx, 6
call dbg.foreColor(int)
lea rdx, str.Press_Key_ESC__To_Menu
mov rcx, qword [0x004e8170]
call method.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 ecx, 0x12c
call dbg.delay(int)
lea rcx, [0x004de00d]
call sym.system
call dbg.studentManage()
jmp 0x40bdf5
cmp byte [rbp + 0x3a8], 0xd
jne 0x40bcf3
mov edx, 0xf
mov ecx, 0x38
call dbg.gotoxy(int, int)
mov ecx, 6
call dbg.foreColor(int)
lea rdx, str.Press_Key_Enter__Do_again
mov rcx, qword [0x004e8170]
call method.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 ecx, 0x12c
call dbg.delay(int)
call dbg.cls()
call dbg.Deletingforad()
lea rax, [rbp - 0x50]
mov rcx, rax
call fcn.0049f7c0
lea rax, [rbp + 0x190]
mov rcx, rax
call fcn.0049f7c0
jmp 0x40be69
add rsp, 0x438
pop rbx
pop rbp
ret