// File: mahdibohloul[P]SnapTrip/./Business-Logic/Backend.cpp
// Function: Backend::get_request(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>)
void Backend::get_request(data_t data)
{
    if(!data.empty())
    {
        auto command_itr = data.begin();
        if(in_the_command(*command_itr, GET) != IN)
            throw Exception(ConstNames::Not_Found_msg);
        request_method method = func_get_map[*command_itr];
        data.erase(command_itr);
        (this->*method)(data);
    }
    else
        throw Exception(ConstNames::Bad_Request_msg);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x110, %rsp            # imm = 0x110
movq %rsi, -0xc0(%rbp)
movq %rdi, %rax
movq -0xc0(%rbp), %rdi
movq %rdi, -0xb8(%rbp)
movq %rax, -0x8(%rbp)
movq %rdi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0xb0(%rbp)
callq 0x80940
testb $0x1, %al
jne 0x78b2d
movq -0xb8(%rbp), %rdi
callq 0x80980
movq %rax, -0x18(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x809b0
movq -0xb0(%rbp), %rdi
movq %rax, %rsi
movl $0x1, %edx
callq 0x78850
andb $0x1, %al
movzbl %al, %eax
cmpl $0x1, %eax
je 0x78a06
movb $0x1, -0x45(%rbp)
movl $0x28, %edi
callq 0x6210
movq %rax, -0xc8(%rbp)
leaq 0x9ea16(%rip), %rsi     # 0x1173a0
leaq -0x38(%rbp), %rdi
callq 0x61d0
jmp 0x78995
movq -0xc8(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0xabc90
jmp 0x789a7
movq -0xc8(%rbp), %rdi
movb $0x0, -0x45(%rbp)
leaq 0x8f2af(%rip), %rsi     # 0x107c68
leaq 0x33340(%rip), %rdx     # 0xabd00
callq 0x6710
jmp 0x78be3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x789ed
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x6828
testb $0x1, -0x45(%rbp)
jne 0x789f5
jmp 0x78a01
movq -0xc8(%rbp), %rdi
callq 0x6360
jmp 0x78bda
movq -0xb0(%rbp), %rax
subq $-0x80, %rax
movq %rax, -0xe8(%rbp)
leaq -0x18(%rbp), %rdi
movq %rdi, -0xe0(%rbp)
callq 0x809b0
movq -0xe8(%rbp), %rdi
movq %rax, %rsi
callq 0x809d0
movq -0xe0(%rbp), %rsi
movq %rax, %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rcx
movq %rcx, -0x50(%rbp)
movq %rax, -0x58(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x80b20
movq -0xb8(%rbp), %rdi
movq -0x60(%rbp), %rsi
callq 0x80ab0
movq -0xb0(%rbp), %rcx
movq %rax, -0x68(%rbp)
movq -0x58(%rbp), %rax
movq %rax, -0xd8(%rbp)
movq -0x50(%rbp), %rdx
addq %rdx, %rcx
movq %rcx, -0xd0(%rbp)
andq $0x1, %rax
cmpq $0x0, %rax
je 0x78ab9
movq -0xd8(%rbp), %rcx
movq -0xd0(%rbp), %rax
movq (%rax), %rax
subq $0x1, %rcx
movq (%rax,%rcx), %rax
movq %rax, -0xf0(%rbp)
jmp 0x78ac7
movq -0xd8(%rbp), %rax
movq %rax, -0xf0(%rbp)
movq -0xb8(%rbp), %rsi
movq -0xf0(%rbp), %rax
movq %rax, -0xf8(%rbp)
leaq -0x80(%rbp), %rdi
movq %rdi, -0x100(%rbp)
callq 0x72990
movq -0xd0(%rbp), %rdi
movq -0x100(%rbp), %rsi
movq -0xf8(%rbp), %rax
callq *%rax
jmp 0x78b05
leaq -0x80(%rbp), %rdi
callq 0x72a80
jmp 0x78bd1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x80(%rbp), %rdi
callq 0x72a80
jmp 0x78bda
movb $0x1, -0xa1(%rbp)
movl $0x28, %edi
callq 0x6210
movq %rax, -0x108(%rbp)
leaq 0x9e834(%rip), %rsi     # 0x117380
leaq -0xa0(%rbp), %rdi
callq 0x61d0
jmp 0x78b5a
movq -0x108(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
callq 0xabc90
jmp 0x78b6f
movq -0x108(%rbp), %rdi
movb $0x0, -0xa1(%rbp)
leaq 0x8f0e4(%rip), %rsi     # 0x107c68
leaq 0x33175(%rip), %rdx     # 0xabd00
callq 0x6710
jmp 0x78be3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x78bb8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0xa0(%rbp), %rdi
callq 0x6828
testb $0x1, -0xa1(%rbp)
jne 0x78bc3
jmp 0x78bcf
movq -0x108(%rbp), %rdi
callq 0x6360
jmp 0x78bda
addq $0x110, %rsp            # imm = 0x110
popq %rbp
retq
movq -0x40(%rbp), %rdi
callq 0x6750
nopw %cs:(%rax,%rax)