// File: mahdibohloul[P]SnapTrip/./Business-Logic/Backend.cpp
// Function: Backend::valid_rating_info(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
bool Backend::valid_rating_info(std::string hotel_id, std::string location, std::string cleanliness, std::string staff, std::string facilities, std::string value_for_money, std::string overall_rating)
{
    if(hotel_id != ConstNames::Empty_Str && location != ConstNames::Empty_Str && cleanliness != ConstNames::Empty_Str && staff != ConstNames::Empty_Str && facilities != ConstNames::Empty_Str && value_for_money != ConstNames::Empty_Str && overall_rating != ConstNames::Empty_Str)
    {
        vector<long double> ratings = {stold(location), stold(cleanliness), stold(staff), stold(facilities), stold(value_for_money), stold(overall_rating)};
        for(long double rate : ratings)
        {
            if(!in_range(rate, ConstNames::Min_Rate, ConstNames::Max_Rate))
                throw Exception(ConstNames::Bad_Request_msg);
        }
        return true;
    }
    return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1c0, %rsp            # imm = 0x1C0
movq %r9, -0x168(%rbp)
movq %r8, -0x160(%rbp)
movq %rcx, -0x158(%rbp)
movq %rdx, -0x150(%rbp)
movq %rsi, -0x148(%rbp)
movq %rdi, %rax
movq -0x148(%rbp), %rdi
movq 0x18(%rbp), %rsi
movq %rsi, -0x140(%rbp)
movq 0x10(%rbp), %rsi
movq %rsi, -0x138(%rbp)
movq %rax, -0x10(%rbp)
movq %rdi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq %r8, -0x30(%rbp)
movq %r9, -0x38(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x130(%rbp)
leaq 0x97288(%rip), %rsi     # 0x1171a0
callq 0x54fc0
testb $0x1, %al
jne 0x7ff26
jmp 0x80263
movq -0x150(%rbp), %rdi
leaq 0x9726c(%rip), %rsi     # 0x1171a0
callq 0x54fc0
testb $0x1, %al
jne 0x7ff42
jmp 0x80263
movq -0x158(%rbp), %rdi
leaq 0x97250(%rip), %rsi     # 0x1171a0
callq 0x54fc0
testb $0x1, %al
jne 0x7ff5e
jmp 0x80263
movq -0x160(%rbp), %rdi
leaq 0x97234(%rip), %rsi     # 0x1171a0
callq 0x54fc0
testb $0x1, %al
jne 0x7ff7a
jmp 0x80263
movq -0x168(%rbp), %rdi
leaq 0x97218(%rip), %rsi     # 0x1171a0
callq 0x54fc0
testb $0x1, %al
jne 0x7ff96
jmp 0x80263
movq -0x138(%rbp), %rdi
leaq 0x971fc(%rip), %rsi     # 0x1171a0
callq 0x54fc0
testb $0x1, %al
jne 0x7ffb2
jmp 0x80263
movq -0x140(%rbp), %rdi
leaq 0x971e0(%rip), %rsi     # 0x1171a0
callq 0x54fc0
testb $0x1, %al
jne 0x7ffce
jmp 0x80263
movq -0x150(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
movq %rsi, -0x178(%rbp)
callq 0x74cd0
movq -0x158(%rbp), %rdi
movq -0x178(%rbp), %rsi
fstpt -0xc0(%rbp)
callq 0x74cd0
movq -0x160(%rbp), %rdi
movq -0x178(%rbp), %rsi
fstpt -0xb0(%rbp)
callq 0x74cd0
movq -0x168(%rbp), %rdi
movq -0x178(%rbp), %rsi
fstpt -0xa0(%rbp)
callq 0x74cd0
movq -0x138(%rbp), %rdi
movq -0x178(%rbp), %rsi
fstpt -0x90(%rbp)
callq 0x74cd0
movq -0x140(%rbp), %rdi
movq -0x178(%rbp), %rsi
fstpt -0x80(%rbp)
callq 0x74cd0
fstpt -0x70(%rbp)
leaq -0xc0(%rbp), %rax
movq %rax, -0x60(%rbp)
movq $0x6, -0x58(%rbp)
leaq -0xc1(%rbp), %rdi
movq %rdi, -0x170(%rbp)
callq 0x5aba0
movq -0x170(%rbp), %rcx
movq -0x60(%rbp), %rsi
movq -0x58(%rbp), %rdx
leaq -0x50(%rbp), %rdi
callq 0x5abc0
jmp 0x800a2
leaq -0xc1(%rbp), %rdi
callq 0x5ac40
leaq -0x50(%rbp), %rax
movq %rax, -0xe0(%rbp)
movq -0xe0(%rbp), %rdi
callq 0x5ac60
movq %rax, -0xe8(%rbp)
movq -0xe0(%rbp), %rdi
callq 0x5ac90
movq %rax, -0xf0(%rbp)
leaq -0xe8(%rbp), %rdi
leaq -0xf0(%rbp), %rsi
callq 0x5acc0
testb $0x1, %al
jne 0x800fb
jmp 0x80249
leaq -0xe8(%rbp), %rdi
callq 0x5ad00
movq -0x130(%rbp), %rdi
fldt (%rax)
fstpt -0x100(%rbp)
fldt -0x100(%rbp)
movq %rsp, %rax
flds 0x353b7(%rip)           # 0xb54dc
fstpt 0x20(%rax)
fld1
fstpt 0x10(%rax)
fstpt (%rax)
callq 0x80f00
movb %al, -0x179(%rbp)
jmp 0x8013c
movb -0x179(%rbp), %al
testb $0x1, %al
jne 0x80236
jmp 0x8014c
movb $0x1, -0x121(%rbp)
movl $0x28, %edi
callq 0x6210
movq %rax, -0x188(%rbp)
leaq 0x97215(%rip), %rsi     # 0x117380
leaq -0x120(%rbp), %rdi
callq 0x61d0
jmp 0x80179
movq -0x188(%rbp), %rdi
leaq -0x120(%rbp), %rsi
callq 0xabc90
jmp 0x8018e
movq -0x188(%rbp), %rdi
movb $0x0, -0x121(%rbp)
leaq 0x87ac5(%rip), %rsi     # 0x107c68
leaq 0x2bb56(%rip), %rdx     # 0xabd00
callq 0x6710
jmp 0x80281
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xd0(%rbp)
movl %eax, -0xd4(%rbp)
leaq -0xc1(%rbp), %rdi
callq 0x5ac40
jmp 0x80275
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xd0(%rbp)
movl %eax, -0xd4(%rbp)
jmp 0x80258
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xd0(%rbp)
movl %eax, -0xd4(%rbp)
jmp 0x8021d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xd0(%rbp)
movl %eax, -0xd4(%rbp)
leaq -0x120(%rbp), %rdi
callq 0x6828
testb $0x1, -0x121(%rbp)
jne 0x80228
jmp 0x80234
movq -0x188(%rbp), %rdi
callq 0x6360
jmp 0x80258
jmp 0x80238
leaq -0xe8(%rbp), %rdi
callq 0x5ad20
jmp 0x800df
movb $0x1, -0x1(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x5ad40
jmp 0x80267
leaq -0x50(%rbp), %rdi
callq 0x5ad40
jmp 0x80275
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x1c0, %rsp            # imm = 0x1C0
popq %rbp
retq
movq -0xd0(%rbp), %rdi
callq 0x6750
nopw %cs:(%rax,%rax)