// File: mahdibohloul[P]SnapTrip/./Models/User/User.cpp
// Function: Database::User::User(Database::UserInfo const&)
Database::User::User(const UserInfo& info)
{
    this->id = generate_id();
    this->username = info.username;
    this->email = info.email;
    this->password = info.password;
    this->wallet = Wallet();
    this->booked_rooms = l_booked();
    this->filters = m_filter();
    this->id_reserve_list = list<int>();
    this->sort_info = SortInfo();
    this->ratings = map_ratings();
    this->manual_weights = Weights();
    this->estimated_weights = Weights();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x590, %rsp            # imm = 0x590
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x4e0(%rbp)
movq %rdi, %rax
movq %rax, -0x4f8(%rbp)
callq 0x65d0
movq -0x4e0(%rbp), %rdi
addq $0x20, %rdi
movq %rdi, -0x4f0(%rbp)
callq 0x65d0
movq -0x4e0(%rbp), %rdi
addq $0x40, %rdi
movq %rdi, -0x4e8(%rbp)
callq 0x65d0
movq -0x4e0(%rbp), %rdi
addq $0x70, %rdi
movq %rdi, -0x4d8(%rbp)
movq %rsp, %rax
fldz
fstpt (%rax)
callq 0x69010
jmp 0x664ab
movq -0x4f8(%rbp), %rdi
addq $0xa0, %rdi
movq %rdi, -0x500(%rbp)
callq 0x658d0
jmp 0x664c7
movq -0x4f8(%rbp), %rdi
addq $0xd8, %rdi
movq %rdi, -0x528(%rbp)
callq 0x69070
movq -0x4f8(%rbp), %rdi
addq $0xf0, %rdi
movq %rdi, -0x520(%rbp)
callq 0x69090
movq -0x4f8(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
movq %rdi, -0x518(%rbp)
callq 0x690b0
movq -0x4f8(%rbp), %rdi
addq $0x150, %rdi            # imm = 0x150
movq %rdi, -0x510(%rbp)
callq 0x690d0
movq -0x4f8(%rbp), %rax
addq $0x170, %rax            # imm = 0x170
movq %rax, -0x508(%rbp)
leaq -0xb0(%rbp), %rdi
callq 0x57fb0
jmp 0x66551
movq -0x508(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
xorl %edx, %edx
callq 0x690f0
jmp 0x66568
leaq -0xb0(%rbp), %rdi
callq 0x5a6b0
movq -0x4f8(%rbp), %rax
addq $0x210, %rax            # imm = 0x210
movq %rax, -0x530(%rbp)
leaq -0x140(%rbp), %rdi
callq 0x57fb0
jmp 0x66596
movq -0x530(%rbp), %rdi
leaq -0x140(%rbp), %rsi
xorl %edx, %edx
callq 0x690f0
jmp 0x665ad
leaq -0x140(%rbp), %rdi
callq 0x5a6b0
movq -0x4f8(%rbp), %rsi
leaq -0x160(%rbp), %rdi
callq 0x66a10
jmp 0x665ce
movq -0x4f8(%rbp), %rdi
leaq -0x160(%rbp), %rsi
movq %rsi, -0x538(%rbp)
callq 0x6530
movq -0x538(%rbp), %rdi
callq 0x6828
movq -0x4f8(%rbp), %rdi
movq -0x10(%rbp), %rsi
addq $0x20, %rsi
addq $0x20, %rdi
callq 0x6060
jmp 0x6660e
movq -0x4f8(%rbp), %rdi
movq -0x10(%rbp), %rsi
addq $0x40, %rdi
callq 0x6060
jmp 0x66624
movq -0x4f8(%rbp), %rax
movq -0x10(%rbp), %rcx
movq 0x40(%rcx), %rcx
movq %rcx, 0x60(%rax)
movq %rsp, %rax
fldz
fstpt (%rax)
leaq -0x190(%rbp), %rdi
callq 0x69010
jmp 0x6664c
movq -0x4f8(%rbp), %rdi
addq $0x70, %rdi
leaq -0x190(%rbp), %rsi
movq %rsi, -0x568(%rbp)
callq 0x69160
movq -0x568(%rbp), %rdi
callq 0x691a0
xorps %xmm0, %xmm0
movaps %xmm0, -0x550(%rbp)
movaps %xmm0, -0x1b0(%rbp)
movq $0x0, -0x1a0(%rbp)
leaq -0x1b0(%rbp), %rdi
movq %rdi, -0x560(%rbp)
callq 0x69070
movq -0x560(%rbp), %rsi
movq -0x4f8(%rbp), %rdi
addq $0xd8, %rdi
callq 0x691c0
movq -0x560(%rbp), %rdi
callq 0x554b0
movaps -0x550(%rbp), %xmm0
movaps %xmm0, -0x1c0(%rbp)
movaps %xmm0, -0x1d0(%rbp)
movaps %xmm0, -0x1e0(%rbp)
leaq -0x1e0(%rbp), %rdi
movq %rdi, -0x558(%rbp)
callq 0x690b0
movq -0x558(%rbp), %rsi
movq -0x4f8(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
callq 0x691f0
movq -0x558(%rbp), %rdi
callq 0x69220
movaps -0x550(%rbp), %xmm0
movaps %xmm0, -0x200(%rbp)
movq $0x0, -0x1f0(%rbp)
leaq -0x200(%rbp), %rdi
movq %rdi, -0x540(%rbp)
callq 0x690d0
movq -0x4f8(%rbp), %rdi
movq -0x540(%rbp), %rsi
addq $0x150, %rdi            # imm = 0x150
callq 0x69240
movq -0x540(%rbp), %rdi
callq 0x69270
leaq -0x238(%rbp), %rdi
callq 0x658d0
jmp 0x66780
movq -0x4f8(%rbp), %rdi
addq $0xa0, %rdi
leaq -0x238(%rbp), %rsi
movq %rsi, -0x578(%rbp)
callq 0x69290
movq -0x578(%rbp), %rdi
callq 0x692d0
xorps %xmm0, %xmm0
movaps %xmm0, -0x250(%rbp)
movaps %xmm0, -0x260(%rbp)
movaps %xmm0, -0x270(%rbp)
leaq -0x270(%rbp), %rdi
movq %rdi, -0x570(%rbp)
callq 0x69090
movq -0x4f8(%rbp), %rdi
movq -0x570(%rbp), %rsi
addq $0xf0, %rdi
callq 0x692f0
movq -0x570(%rbp), %rdi
callq 0x69320
leaq -0x3a0(%rbp), %rdi
callq 0x57fb0
jmp 0x6680c
leaq -0x310(%rbp), %rdi
leaq -0x3a0(%rbp), %rsi
xorl %edx, %edx
callq 0x690f0
jmp 0x66823
movq -0x4f8(%rbp), %rdi
addq $0x170, %rdi            # imm = 0x170
leaq -0x310(%rbp), %rsi
movq %rsi, -0x580(%rbp)
callq 0x69340
movq -0x580(%rbp), %rdi
callq 0x69380
leaq -0x3a0(%rbp), %rdi
callq 0x5a6b0
leaq -0x4d0(%rbp), %rdi
callq 0x57fb0
jmp 0x6686a
leaq -0x440(%rbp), %rdi
leaq -0x4d0(%rbp), %rsi
xorl %edx, %edx
callq 0x690f0
jmp 0x66881
movq -0x4f8(%rbp), %rdi
addq $0x210, %rdi            # imm = 0x210
leaq -0x440(%rbp), %rsi
callq 0x69340
leaq -0x440(%rbp), %rdi
callq 0x69380
leaq -0x4d0(%rbp), %rdi
callq 0x5a6b0
addq $0x590, %rsp            # imm = 0x590
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x669d4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x669c8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x6698c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0xb0(%rbp), %rdi
callq 0x5a6b0
jmp 0x6698c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x66980
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x140(%rbp), %rdi
callq 0x5a6b0
jmp 0x66980
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x66974
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x3a0(%rbp), %rdi
callq 0x5a6b0
jmp 0x66974
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x4d0(%rbp), %rdi
callq 0x5a6b0
movq -0x530(%rbp), %rdi
callq 0x69380
movq -0x508(%rbp), %rdi
callq 0x69380
movq -0x510(%rbp), %rdi
callq 0x69270
movq -0x518(%rbp), %rdi
callq 0x69220
movq -0x520(%rbp), %rdi
callq 0x69320
movq -0x528(%rbp), %rdi
callq 0x554b0
movq -0x500(%rbp), %rdi
callq 0x692d0
movq -0x4d8(%rbp), %rdi
callq 0x691a0
movq -0x4e8(%rbp), %rdi
callq 0x6828
movq -0x4f0(%rbp), %rdi
callq 0x6828
movq -0x4e0(%rbp), %rdi
callq 0x6828
movq -0x18(%rbp), %rdi
callq 0x6750
nopw %cs:(%rax,%rax)