Function at 0x40a64f
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 0x40a734
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 0x40a836
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 0x40a7b4
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.MenuAcc()
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 0x40a96e
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 0x40a981
jmp 0x40a8cb
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 0x40aa05
lea rcx, [0x00513680]
call dbg.Student::getId()
cmp dword [rbp + 0x3ac], eax
setne al
test al, al
je 0x40a9f5
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 0x40aa03
mov byte [rbp + 0x3ab], 1
mov byte [rbp + 0x3aa], 1
jmp 0x40a988
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 0x40aa78
lea rcx, [0x00513680]
call dbg.Student::getId()
cmp dword [rbp + 0x3ac], eax
setne al
test al, al
je 0x40aa6f
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 0x40aa76
mov byte [rbp + 0x3ab], 1
jmp 0x40aa05
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 0x40aae7
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 0x40ab13
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 0x40ab92
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 0x40ab93
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 0x40ac48
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.MenuAcc()
jmp 0x40ac95
cmp byte [rbp + 0x3a8], 0xd
jne 0x40ab93
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.delstudataacc()
lea rax, [rbp - 0x50]
mov rcx, rax
call fcn.0049f7c0
lea rax, [rbp + 0x190]
mov rcx, rax
call fcn.0049f7c0
jmp 0x40ad09
add rsp, 0x438
pop rbx
pop rbp
ret