Function at 0x1400032b3
Capabilities:
Delete file
Terminate process

Disassembly:
push rbp
push rbx
sub rsp, 0x178
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x110], rcx
lea rax, [rbp - 0x60]
mov rcx, rax
call fcn.140004330
mov ecx, 0xe
call dbg.SetConsoleTextColor(int)
lea rax, [rbp - 0x40]
lea rdx, [rbp - 0x17]
mov rcx, rax
call sym.ConfirmAndDeleteFile_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_::lambda__1::operator_____const
lea rax, [rbp - 0x40]
mov qword [rbp + 0xe8], rax
mov rax, qword [rbp + 0xe8]
mov qword [rbp + 0xe0], rax
mov rax, qword [rbp + 0xe0]
movzx eax, byte [rax + 0x23]
test al, al
setne al
test al, al
je 0x1400033b5
mov rax, qword [rbp + 0xe8]
mov rdx, qword [rbp + 0xe8]
mov qword [rbp + 0xd8], rdx
mov qword [rbp + 0xd0], rax
mov dword [rbp + 0xcc], 0
jmp 0x1400033ab
mov eax, dword [rbp + 0xcc]
movsxd rdx, eax
mov rax, qword [rbp + 0xd0]
add rax, rdx
movzx r8d, byte [rax]
mov eax, dword [rbp + 0xcc]
movsxd rdx, eax
imul rdx, rdx, 0xffffffff8d3dcb09
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x3a
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x35
mov ecx, r8d
xor ecx, eax
mov rdx, qword [rbp + 0xd8]
mov eax, dword [rbp + 0xcc]
cdqe
mov byte [rdx + rax], cl
add dword [rbp + 0xcc], 1
cmp dword [rbp + 0xcc], 0x23
jle 0x14000334a
nop
lea rax, [rbp - 0x40]
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 ecx, 0xf
call dbg.SetConsoleTextColor(int)
lea rax, [rbp - 0x60]
mov rdx, rax
mov rax, qword [sym.imp.libstdc_6.dll_std::cin]
mov rcx, rax
call sym.std::basic_istream_char__std::char_traits_char____std::operator___char__std::char_traits_char___std::allocator_char____std::basic_istream_char__std::char_traits_char_____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
mov rdx, qword [rax]
sub rdx, 0x18
mov rdx, qword [rdx]
add rax, rdx
mov rcx, rax
call sym.std::basic_ios_char__std::char_traits_char___::operator____const
test al, al
je 0x14000343e
mov edx, 0
mov rax, qword [sym.imp.libstdc_6.dll_std::cin]
add rax, 0x10
mov rcx, rax
call sym.std::basic_ios_char__std::char_traits_char___::clear_std::_Ios_Iostate_
call dbg.std::numeric_limits<long long>::max()
mov r8d, 0xa
mov rdx, rax
mov rax, qword [sym.imp.libstdc_6.dll_std::cin]
mov rcx, rax
call sym.std::istream::ignore_long_long__int_
jmp 0x140003888
lea rax, [rbp - 0x14]
mov rcx, rax
call sym.ConfirmAndDeleteFile_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_::lambda__2::operator_____const
mov word [rbp - 0x16], ax
lea rax, [rbp - 0x16]
mov qword [rbp + 0xc0], rax
mov rax, qword [rbp + 0xc0]
movzx eax, byte [rax + 1]
test al, al
setne al
test al, al
je 0x1400034fe
lea rax, [rbp - 0x16]
lea rdx, [rbp - 0x16]
mov qword [rbp + 0xb8], rdx
mov qword [rbp + 0xb0], rax
mov dword [rbp + 0xac], 0
jmp 0x1400034f4
mov eax, dword [rbp + 0xac]
movsxd rdx, eax
mov rax, qword [rbp + 0xb0]
add rax, rdx
movzx r8d, byte [rax]
mov eax, dword [rbp + 0xac]
movsxd rdx, eax
imul rdx, rdx, 0xffffffff8d3dcb09
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x3a
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x35
mov ecx, r8d
xor ecx, eax
mov rdx, qword [rbp + 0xb8]
mov eax, dword [rbp + 0xac]
cdqe
mov byte [rdx + rax], cl
add dword [rbp + 0xac], 1
cmp dword [rbp + 0xac], 1
jle 0x140003493
nop
lea rdx, [rbp - 0x16]
lea rax, [rbp - 0x60]
mov rcx, rax
call dbg.bool std::operator==<char, std::char_traits<char>, std::allocator<char> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*)
test al, al
jne 0x1400035ea
lea rax, [rbp - 0x11]
mov rcx, rax
call sym.ConfirmAndDeleteFile_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_::lambda__3::operator_____const
mov word [rbp - 0x13], ax
lea rax, [rbp - 0x13]
mov qword [rbp + 0xa0], rax
mov rax, qword [rbp + 0xa0]
movzx eax, byte [rax + 1]
test al, al
setne al
test al, al
je 0x1400035d6
lea rax, [rbp - 0x13]
lea rdx, [rbp - 0x13]
mov qword [rbp + 0x98], rdx
mov qword [rbp + 0x90], rax
mov dword [rbp + 0x8c], 0
jmp 0x1400035cc
mov eax, dword [rbp + 0x8c]
movsxd rdx, eax
mov rax, qword [rbp + 0x90]
add rax, rdx
movzx r8d, byte [rax]
mov eax, dword [rbp + 0x8c]
movsxd rdx, eax
imul rdx, rdx, 0xffffffff8d3dcb09
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x3a
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x35
mov ecx, r8d
xor ecx, eax
mov rdx, qword [rbp + 0x98]
mov eax, dword [rbp + 0x8c]
cdqe
mov byte [rdx + rax], cl
add dword [rbp + 0x8c], 1
cmp dword [rbp + 0x8c], 1
jle 0x14000356b
nop
lea rdx, [rbp - 0x13]
lea rax, [rbp - 0x60]
mov rcx, rax
call dbg.bool std::operator==<char, std::char_traits<char>, std::allocator<char> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*)
test al, al
je 0x1400035f1
mov eax, 1
jmp 0x1400035f6
mov eax, 0
test al, al
je 0x1400036f0
mov rax, qword [rbp + 0x110]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::c_str___const
mov rcx, rax
call sym.remove
mov ecx, 0xa
call dbg.SetConsoleTextColor(int)
lea rax, [rbp - 0x10]
lea rdx, [rbp + 0x1d]
mov rcx, rax
call sym.ConfirmAndDeleteFile_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_::lambda__4::operator_____const
lea rax, [rbp - 0x10]
mov qword [rbp + 0x80], rax
mov rax, qword [rbp + 0x80]
mov qword [rbp + 0x78], rax
mov rax, qword [rbp + 0x78]
movzx eax, byte [rax + 0x21]
test al, al
setne al
test al, al
je 0x1400036cb
mov rax, qword [rbp + 0x80]
mov rdx, qword [rbp + 0x80]
mov qword [rbp + 0x70], rdx
mov qword [rbp + 0x68], rax
mov dword [rbp + 0x64], 0
jmp 0x1400036c4
mov eax, dword [rbp + 0x64]
movsxd rdx, eax
mov rax, qword [rbp + 0x68]
add rax, rdx
movzx r8d, byte [rax]
mov eax, dword [rbp + 0x64]
movsxd rdx, eax
imul rdx, rdx, 0xffffffff8d3dcb09
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x3a
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x35
mov ecx, r8d
xor ecx, eax
mov rdx, qword [rbp + 0x70]
mov eax, dword [rbp + 0x64]
cdqe
mov byte [rdx + rax], cl
add dword [rbp + 0x64], 1
cmp dword [rbp + 0x64], 0x21
jle 0x140003675
nop
lea rax, [rbp - 0x10]
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_
call dbg.ExitConsole()
mov ecx, 0
call sym.exit
lea rax, [rbp + 0x20]
mov rcx, rax
call sym.ConfirmAndDeleteFile_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_::lambda__5::operator_____const
mov word [rbp + 0x1e], ax
lea rax, [rbp + 0x1e]
mov qword [rbp + 0x58], rax
mov rax, qword [rbp + 0x58]
movzx eax, byte [rax + 1]
test al, al
setne al
test al, al
je 0x140003788
lea rax, [rbp + 0x1e]
lea rdx, [rbp + 0x1e]
mov qword [rbp + 0x50], rdx
mov qword [rbp + 0x48], rax
mov dword [rbp + 0x44], 0
jmp 0x140003781
mov eax, dword [rbp + 0x44]
movsxd rdx, eax
mov rax, qword [rbp + 0x48]
add rax, rdx
movzx r8d, byte [rax]
mov eax, dword [rbp + 0x44]
movsxd rdx, eax
imul rdx, rdx, 0xffffffff8d3dcb09
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x3a
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x35
mov ecx, r8d
xor ecx, eax
mov rdx, qword [rbp + 0x50]
mov eax, dword [rbp + 0x44]
cdqe
mov byte [rdx + rax], cl
add dword [rbp + 0x44], 1
cmp dword [rbp + 0x44], 1
jle 0x140003732
nop
lea rdx, [rbp + 0x1e]
lea rax, [rbp - 0x60]
mov rcx, rax
call dbg.bool std::operator==<char, std::char_traits<char>, std::allocator<char> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*)
test al, al
jne 0x14000384c
lea rax, [rbp + 0x23]
mov rcx, rax
call sym.ConfirmAndDeleteFile_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_::lambda__6::operator_____const
mov word [rbp + 0x21], ax
lea rax, [rbp + 0x21]
mov qword [rbp + 0x38], rax
mov rax, qword [rbp + 0x38]
movzx eax, byte [rax + 1]
test al, al
setne al
test al, al
je 0x140003838
lea rax, [rbp + 0x21]
lea rdx, [rbp + 0x21]
mov qword [rbp + 0x30], rdx
mov qword [rbp + 0x28], rax
mov dword [rbp + 0x24], 0
jmp 0x140003831
mov eax, dword [rbp + 0x24]
movsxd rdx, eax
mov rax, qword [rbp + 0x28]
add rax, rdx
movzx r8d, byte [rax]
mov eax, dword [rbp + 0x24]
movsxd rdx, eax
imul rdx, rdx, 0xffffffff8d3dcb09
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x3a
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x35
mov ecx, r8d
xor ecx, eax
mov rdx, qword [rbp + 0x30]
mov eax, dword [rbp + 0x24]
cdqe
mov byte [rdx + rax], cl
add dword [rbp + 0x24], 1
cmp dword [rbp + 0x24], 1
jle 0x1400037e2
nop
lea rdx, [rbp + 0x21]
lea rax, [rbp - 0x60]
mov rcx, rax
call dbg.bool std::operator==<char, std::char_traits<char>, std::allocator<char> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*)
test al, al
je 0x140003853
mov eax, 1
jmp 0x140003858
mov eax, 0
test al, al
je 0x14000386b
call dbg.ExitConsole()
mov ecx, 0
call sym.exit
call dbg.std::numeric_limits<long long>::max()
mov r8d, 0xa
mov rdx, rax
mov rax, qword [sym.imp.libstdc_6.dll_std::cin]
mov rcx, rax
call sym.std::istream::ignore_long_long__int_
jmp 0x1400032d7