Function at 0x14000b8b0
Capabilities:
Reference sql statements

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x50]
sub rsp, 0x150
mov rax, qword [0x140101518]
xor rax, rsp
mov qword [rbp + 0x40], rax
mov r12, rcx
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], 0xf
mov byte [rbp - 0x80], al
movups xmmword [rbp - 0x60], xmm0
movdqa xmm1, xmmword [0x1400e1280]
movdqa xmmword [rbp - 0x50], xmm1
mov byte [rbp - 0x60], al
movups xmmword [rbp - 0x40], xmm0
movdqa xmmword [rbp - 0x30], xmm1
mov byte [rbp - 0x40], al
movups xmmword [rbp - 0x20], xmm0
movdqa xmmword [rbp - 0x10], xmm1
mov byte [rbp - 0x20], al
movups xmmword [rbp], xmm0
movdqa xmmword [rbp + 0x10], xmm1
mov byte [rbp], al
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 0xf
mov byte [rsp + 0x60], al
lea rdx, str.Input_Plan_Name:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400010e0
mov rbx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
mov rax, qword [rbx]
movsxd rcx, dword [rax + 4]
add rcx, rbx
mov dl, 0xa
call qword [sym.imp.MSVCP140.dll_public:_char___cdecl_std::basic_ios_char__struct_std::char_traits_char__::widen_char_const___ptr64]
movzx r8d, al
lea rdx, [rsp + 0x60]
mov rcx, rbx
call fcn.140002a80
movabs rbx, 0x7fffffffffffffff
mov rax, rbx
mov rdx, qword [rsp + 0x70]
sub rax, rdx
cmp rax, 0x21
jb 0x14000c1dd
lea r13, [rsp + 0x60]
mov r14, qword [rsp + 0x60]
cmp qword [rsp + 0x78], 0x10
cmovae r13, r14
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x50], xmm1
lea r15, [rdx + 0x21]
mov edi, 0xf
lea rsi, [rsp + 0x40]
lea eax, [rdi + 7]
cmp r15, rdi
jbe 0x14000ba62
mov rdi, r15
or rdi, 0xf
cmp rdi, rbx
jbe 0x14000ba24
mov rdi, rbx
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.1400dda2c
test rax, rax
je 0x14000bc27
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
mov rdx, qword [rsp + 0x70]
jmp 0x14000ba5d
cmp rdi, rax
cmovb rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x14000ba47
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14000c1d7
jmp 0x14000ba00
test rcx, rcx
je 0x14000ba5b
call fcn.1400dda2c
mov rsi, rax
mov rdx, qword [rsp + 0x70]
jmp 0x14000ba5d
xor esi, esi
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], rdi
movups xmm0, xmmword [str.SELECT__FROM_plan_WHERE_name__]
movups xmmword [rsi], xmm0
movups xmm1, xmmword [0x1400e0df0]
movups xmmword [rsi + 0x10], xmm1
movzx eax, byte [0x1400e0e00]
mov byte [rsi + 0x20], al
lea rcx, [rsi + 0x21]
mov r8, rdx
mov rdx, r13
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsi + r15], 0
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
mov rax, rdx
sub rax, rcx
cmp rax, 2
jb 0x14000badf
lea rax, [rcx + 2]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x40]
cmp rdx, 0x10
cmovae rax, qword [rsp + 0x40]
mov word [rax + rcx], 0x3b27
mov byte [rax + rcx + 2], 0
lea rax, [rsp + 0x40]
jmp 0x14000bb00
mov qword [rsp + 0x20], 2
lea r9, [0x1400e09c8]
xor r8d, r8d
lea edx, [r8 + 2]
lea rcx, [rsp + 0x40]
call fcn.1400022a0
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x30], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x20], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x30], xmm1
xor edi, edi
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], dil
lea rdx, [rbp + 0x20]
cmp qword [rbp + 0x38], 0x10
cmovae rdx, qword [rbp + 0x20]
mov qword [rsp + 0x38], rdi
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x80]
lea r8, [0x140008bd0]
mov rcx, qword [r12 + 8]
call fcn.1400282d0
mov dword [r12], eax
test eax, eax
je 0x14000bba4
lea rdx, str.Error:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400010e0
mov rcx, rax
mov rdx, qword [rsp + 0x38]
call fcn.1400010e0
mov rcx, rax
lea rdx, [0x140002950]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rcx, qword [rsp + 0x38]
call fcn.14002a310
nop
mov rdx, qword [rbp + 0x38]
cmp rdx, 0x10
jb 0x14000bbe2
inc rdx
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000bbdd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000bbdd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400dda68
movdqa xmm0, xmmword [0x1400e1280]
movdqu xmmword [rbp + 0x30], xmm0
mov byte [rbp + 0x20], 0
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x14000bc33
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000bc2e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000bc2e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400dda68
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
cmp qword [rbp - 0x70], 0
jne 0x14000bc62
lea rdx, str.No_Plan
call fcn.1400010e0
mov rcx, rax
lea rdx, [0x140002950]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
jmp 0x14000bfa9
lea rdx, str.________________________________________
call fcn.1400010e0
mov rcx, rax
lea rdx, [0x140002950]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
lea rcx, [rbp - 0x80]
cmp qword [rbp - 0x68], 0x10
cmovae rcx, qword [rbp - 0x80]
mov r8, qword [rbp - 0x70]
cmp r8, 4
jne 0x14000bca6
lea rdx, str.NULL
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14000bce3
lea rdx, str.Plan_Name:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400010e0
lea rdx, [rbp - 0x80]
cmp qword [rbp - 0x68], 0x10
cmovae rdx, qword [rbp - 0x80]
mov r8, qword [rbp - 0x70]
mov rcx, rax
call fcn.140001ee0
mov rcx, rax
lea rdx, [0x140002950]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
lea rcx, [rbp - 0x60]
cmp qword [rbp - 0x48], 0x10
cmovae rcx, qword [rbp - 0x60]
mov r8, qword [rbp - 0x50]
cmp r8, 4
jne 0x14000bd0b
lea rdx, str.NULL
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14000bd48
lea rdx, str.Date:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400010e0
lea rdx, [rbp - 0x60]
cmp qword [rbp - 0x48], 0x10
cmovae rdx, qword [rbp - 0x60]
mov r8, qword [rbp - 0x50]
mov rcx, rax
call fcn.140001ee0
mov rcx, rax
lea rdx, [0x140002950]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
lea rdx, str.Breakfast:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400010e0
lea rdx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae rdx, qword [rbp - 0x40]
mov r8, qword [rbp - 0x30]
mov rcx, rax
call fcn.140001ee0
mov rcx, rax
lea rdx, [0x140002950]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
lea rdx, str.Lunch:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400010e0
lea rdx, [rbp - 0x20]
cmp qword [rbp - 8], 0x10
cmovae rdx, qword [rbp - 0x20]
mov r8, qword [rbp - 0x10]
mov rcx, rax
call fcn.140001ee0
mov rcx, rax
lea rdx, [0x140002950]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
lea rdx, str.Dinner:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400010e0
lea rdx, [rbp]
cmp qword [rbp + 0x18], 0x10
cmovae rdx, qword [rbp]
mov r8, qword [rbp + 0x10]
mov rcx, rax
call fcn.140001ee0
mov rcx, rax
lea rdx, [0x140002950]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
lea rdx, str.________________________________________
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400010e0
mov rcx, rax
lea rdx, [0x140002950]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
lea rdx, str.Do_you_want_to_see_a_specific_Recipe_of_Meal___y_n_:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400010e0
lea rdx, [rsp + 0x30]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call section..text
mov edx, 1
lea r8d, [rdx - 2]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::ignore_long_long___int64___int____ptr64]
cmp byte [rsp + 0x30], 0x79
jne 0x14000bfa9
lea rdx, str.Select_a_Meal__1._Breakfast__2._Lunch__3._Dinner_:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400010e0
lea rdx, [rsp + 0x38]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::operator___int____ptr64____ptr64]
mov edx, 1
lea r8d, [rdx - 2]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::ignore_long_long___int64___int____ptr64]
mov eax, dword [rsp + 0x38]
cmp eax, 4
jl 0x14000bebe
lea rdx, str.Wrong_Input
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
jmp 0x14000bc48
cmp eax, 1
jne 0x14000bfec
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rdi
lea rsi, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae rsi, qword [rbp - 0x40]
mov rdi, qword [rbp - 0x30]
cmp rdi, rbx
ja 0x14000c1d1
cmp rdi, 0x10
jae 0x14000bf12
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], 0xf
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0x40], xmm0
jmp 0x14000bf5b
mov rax, rdi
or rax, 0xf
cmp rax, rbx
ja 0x14000bf2e
mov rbx, rax
cmp rax, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rdx, [rbx + 1]
lea rcx, [rsp + 0x40]
call fcn.1400077c0
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rbx
lea r8, [rdi + 1]
mov rdx, rsi
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
nop
lea rcx, [r12 + 0x10]
lea rdx, [rsp + 0x40]
call fcn.14000c1f0
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x14000bfa9
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000bfa3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000c18b
call fcn.1400dda68
nop
mov rax, qword [rsp + 0x78]
cmp rax, 0x10
jb 0x14000c19b
lea rdx, [rax + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x14000c192
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000c192
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
cmp eax, 2
jne 0x14000c09e
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rdi
lea rsi, [rbp - 0x20]
cmp qword [rbp - 8], 0x10
cmovae rsi, qword [rbp - 0x20]
mov rdi, qword [rbp - 0x10]
cmp rdi, rbx
ja 0x14000c1d1
cmp rdi, 0x10
jae 0x14000c040
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], 0xf
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0x40], xmm0
jmp 0x14000c089
mov rax, rdi
or rax, 0xf
cmp rax, rbx
ja 0x14000c05c
mov rbx, rax
cmp rax, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rdx, [rbx + 1]
lea rcx, [rsp + 0x40]
call fcn.1400077c0
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rbx
lea r8, [rdi + 1]
mov rdx, rsi
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
nop
lea rcx, [r12 + 0x10]
lea rdx, [rsp + 0x40]
call fcn.14000c1f0
nop
jmp 0x14000bf6b
cmp eax, 3
jne 0x14000bfa9
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rdi
lea rsi, [rbp]
cmp qword [rbp + 0x18], 0x10
cmovae rsi, qword [rbp]
mov rdi, qword [rbp + 0x10]
cmp rdi, rbx
ja 0x14000c1d1
cmp rdi, 0x10
jae 0x14000c0f2
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], 0xf
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0x40], xmm0
jmp 0x14000c13b
mov rax, rdi
or rax, 0xf
cmp rax, rbx
ja 0x14000c10e
mov rbx, rax
cmp rax, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rdx, [rbx + 1]
lea rcx, [rsp + 0x40]
call fcn.1400077c0
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rbx
lea r8, [rdi + 1]
mov rdx, rsi
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
nop
lea rcx, [r12 + 0x10]
lea rdx, [rsp + 0x40]
call fcn.14000c1f0
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x14000bfa9
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000bfa3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000bfa3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov rcx, r14
call fcn.1400dda68
nop
lea rcx, [rbp - 0x80]
call fcn.140003ab0
mov rcx, qword [rbp + 0x40]
xor rcx, rsp
call fcn.1400ddb80
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140004290
nop
call fcn.140004250
int3
call fcn.140004290
int3