// File: SaadBazaz[P]RIP-Protocol-Simulation/DNS.cpp
// Function: initiateList()
vector<Directory> initiateList(){
    vector<Directory> List;
    Directory entry1 = {"www.google.com","209.85.231.104"};
    List.push_back(entry1);
    Directory entry2 = {"www.microsoft.com","207.46.170.123"};
    List.push_back(entry2);
    Directory entry3 = {"www.yahoo.com","72.30.2.43"};
    List.push_back(entry3);
    Directory entry4 = {"www.facebook.com","66.220.149.25"};
    List.push_back(entry4);
    Directory entry5 = {"www.wikipedia.com","208.80.152.2"};
    List.push_back(entry5);
    Directory entry6 = {"www.dell.com","143.166.83.38"};
    List.push_back(entry6);
    Directory entry7 = {"www.twitter.com","128.242.245.116"};
    List.push_back(entry7);
    return List;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x500, %rsp            # imm = 0x500
movq %rdi, -0x4d0(%rbp)
movq %rdi, %rax
movq %rax, -0x4c8(%rbp)
movq %rdi, -0x8(%rbp)
movb $0x0, -0x9(%rbp)
callq 0x6210
leaq -0xb1(%rbp), %rdi
movq %rdi, -0x4c0(%rbp)
callq 0x3450
movq -0x4c0(%rbp), %rdx
leaq 0x614e(%rip), %rsi      # 0xa398
leaq -0xb0(%rbp), %rdi
callq 0x6160
jmp 0x4258
movups 0x5e29(%rip), %xmm0     # 0xa088
movups %xmm0, -0x20(%rbp)
movups 0x5e0e(%rip), %xmm0     # 0xa078
movups %xmm0, -0x30(%rbp)
movups 0x5df3(%rip), %xmm0     # 0xa068
movups %xmm0, -0x40(%rbp)
movups 0x5dd8(%rip), %xmm0     # 0xa058
movups %xmm0, -0x50(%rbp)
movups 0x5dbd(%rip), %xmm0     # 0xa048
movups %xmm0, -0x60(%rbp)
movups 0x5da2(%rip), %xmm0     # 0xa038
movups %xmm0, -0x70(%rbp)
movups 0x5d87(%rip), %xmm0     # 0xa028
movups %xmm0, -0x80(%rbp)
movups 0x5d6c(%rip), %xmm0     # 0xa018
movups %xmm0, -0x90(%rbp)
leaq -0xb1(%rbp), %rdi
callq 0x3310
movq -0x4d0(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0x6230
jmp 0x42d4
leaq -0x169(%rbp), %rdi
movq %rdi, -0x4d8(%rbp)
callq 0x3450
movq -0x4d8(%rbp), %rdx
leaq 0x60b2(%rip), %rsi      # 0xa3a7
leaq -0x168(%rbp), %rdi
callq 0x6160
jmp 0x4303
movups 0x5dfe(%rip), %xmm0     # 0xa108
movups %xmm0, -0xd8(%rbp)
movups 0x5de0(%rip), %xmm0     # 0xa0f8
movups %xmm0, -0xe8(%rbp)
movups 0x5dc2(%rip), %xmm0     # 0xa0e8
movups %xmm0, -0xf8(%rbp)
movups 0x5da4(%rip), %xmm0     # 0xa0d8
movups %xmm0, -0x108(%rbp)
movups 0x5d86(%rip), %xmm0     # 0xa0c8
movups %xmm0, -0x118(%rbp)
movups 0x5d68(%rip), %xmm0     # 0xa0b8
movups %xmm0, -0x128(%rbp)
movups 0x5d4a(%rip), %xmm0     # 0xa0a8
movups %xmm0, -0x138(%rbp)
movups 0x5d2c(%rip), %xmm0     # 0xa098
movups %xmm0, -0x148(%rbp)
leaq -0x169(%rbp), %rdi
callq 0x3310
movq -0x4d0(%rbp), %rdi
leaq -0x168(%rbp), %rsi
callq 0x6230
jmp 0x4394
leaq -0x211(%rbp), %rdi
movq %rdi, -0x4e0(%rbp)
callq 0x3450
movq -0x4e0(%rbp), %rdx
leaq 0x6004(%rip), %rsi      # 0xa3b9
leaq -0x210(%rbp), %rdi
callq 0x6160
jmp 0x43c3
movups 0x5dbe(%rip), %xmm0     # 0xa188
movups %xmm0, -0x180(%rbp)
movups 0x5da0(%rip), %xmm0     # 0xa178
movups %xmm0, -0x190(%rbp)
movups 0x5d82(%rip), %xmm0     # 0xa168
movups %xmm0, -0x1a0(%rbp)
movups 0x5d64(%rip), %xmm0     # 0xa158
movups %xmm0, -0x1b0(%rbp)
movups 0x5d46(%rip), %xmm0     # 0xa148
movups %xmm0, -0x1c0(%rbp)
movups 0x5d28(%rip), %xmm0     # 0xa138
movups %xmm0, -0x1d0(%rbp)
movups 0x5d0a(%rip), %xmm0     # 0xa128
movups %xmm0, -0x1e0(%rbp)
movups 0x5cec(%rip), %xmm0     # 0xa118
movups %xmm0, -0x1f0(%rbp)
leaq -0x211(%rbp), %rdi
callq 0x3310
movq -0x4d0(%rbp), %rdi
leaq -0x210(%rbp), %rsi
callq 0x6230
jmp 0x4454
leaq -0x2b9(%rbp), %rdi
movq %rdi, -0x4e8(%rbp)
callq 0x3450
movq -0x4e8(%rbp), %rdx
leaq 0x5f52(%rip), %rsi      # 0xa3c7
leaq -0x2b8(%rbp), %rdi
callq 0x6160
jmp 0x4483
movups 0x5d7e(%rip), %xmm0     # 0xa208
movups %xmm0, -0x228(%rbp)
movups 0x5d60(%rip), %xmm0     # 0xa1f8
movups %xmm0, -0x238(%rbp)
movups 0x5d42(%rip), %xmm0     # 0xa1e8
movups %xmm0, -0x248(%rbp)
movups 0x5d24(%rip), %xmm0     # 0xa1d8
movups %xmm0, -0x258(%rbp)
movups 0x5d06(%rip), %xmm0     # 0xa1c8
movups %xmm0, -0x268(%rbp)
movups 0x5ce8(%rip), %xmm0     # 0xa1b8
movups %xmm0, -0x278(%rbp)
movups 0x5cca(%rip), %xmm0     # 0xa1a8
movups %xmm0, -0x288(%rbp)
movups 0x5cac(%rip), %xmm0     # 0xa198
movups %xmm0, -0x298(%rbp)
leaq -0x2b9(%rbp), %rdi
callq 0x3310
movq -0x4d0(%rbp), %rdi
leaq -0x2b8(%rbp), %rsi
callq 0x6230
jmp 0x4514
leaq -0x361(%rbp), %rdi
movq %rdi, -0x4f0(%rbp)
callq 0x3450
movq -0x4f0(%rbp), %rdx
leaq 0x5ea3(%rip), %rsi      # 0xa3d8
leaq -0x360(%rbp), %rdi
callq 0x6160
jmp 0x4543
movups 0x5d3e(%rip), %xmm0     # 0xa288
movups %xmm0, -0x2d0(%rbp)
movups 0x5d20(%rip), %xmm0     # 0xa278
movups %xmm0, -0x2e0(%rbp)
movups 0x5d02(%rip), %xmm0     # 0xa268
movups %xmm0, -0x2f0(%rbp)
movups 0x5ce4(%rip), %xmm0     # 0xa258
movups %xmm0, -0x300(%rbp)
movups 0x5cc6(%rip), %xmm0     # 0xa248
movups %xmm0, -0x310(%rbp)
movups 0x5ca8(%rip), %xmm0     # 0xa238
movups %xmm0, -0x320(%rbp)
movups 0x5c8a(%rip), %xmm0     # 0xa228
movups %xmm0, -0x330(%rbp)
movups 0x5c6c(%rip), %xmm0     # 0xa218
movups %xmm0, -0x340(%rbp)
leaq -0x361(%rbp), %rdi
callq 0x3310
movq -0x4d0(%rbp), %rdi
leaq -0x360(%rbp), %rsi
callq 0x6230
jmp 0x45d4
leaq -0x409(%rbp), %rdi
movq %rdi, -0x4f8(%rbp)
callq 0x3450
movq -0x4f8(%rbp), %rdx
leaq 0x5df5(%rip), %rsi      # 0xa3ea
leaq -0x408(%rbp), %rdi
callq 0x6160
jmp 0x4603
movups 0x5cfe(%rip), %xmm0     # 0xa308
movups %xmm0, -0x378(%rbp)
movups 0x5ce0(%rip), %xmm0     # 0xa2f8
movups %xmm0, -0x388(%rbp)
movups 0x5cc2(%rip), %xmm0     # 0xa2e8
movups %xmm0, -0x398(%rbp)
movups 0x5ca4(%rip), %xmm0     # 0xa2d8
movups %xmm0, -0x3a8(%rbp)
movups 0x5c86(%rip), %xmm0     # 0xa2c8
movups %xmm0, -0x3b8(%rbp)
movups 0x5c68(%rip), %xmm0     # 0xa2b8
movups %xmm0, -0x3c8(%rbp)
movups 0x5c4a(%rip), %xmm0     # 0xa2a8
movups %xmm0, -0x3d8(%rbp)
movups 0x5c2c(%rip), %xmm0     # 0xa298
movups %xmm0, -0x3e8(%rbp)
leaq -0x409(%rbp), %rdi
callq 0x3310
movq -0x4d0(%rbp), %rdi
leaq -0x408(%rbp), %rsi
callq 0x6230
jmp 0x4694
leaq -0x4b1(%rbp), %rdi
movq %rdi, -0x500(%rbp)
callq 0x3450
movq -0x500(%rbp), %rdx
leaq 0x5d42(%rip), %rsi      # 0xa3f7
leaq -0x4b0(%rbp), %rdi
callq 0x6160
jmp 0x46c3
movups 0x5cbe(%rip), %xmm0     # 0xa388
movups %xmm0, -0x420(%rbp)
movups 0x5ca0(%rip), %xmm0     # 0xa378
movups %xmm0, -0x430(%rbp)
movups 0x5c82(%rip), %xmm0     # 0xa368
movups %xmm0, -0x440(%rbp)
movups 0x5c64(%rip), %xmm0     # 0xa358
movups %xmm0, -0x450(%rbp)
movups 0x5c46(%rip), %xmm0     # 0xa348
movups %xmm0, -0x460(%rbp)
movups 0x5c28(%rip), %xmm0     # 0xa338
movups %xmm0, -0x470(%rbp)
movups 0x5c0a(%rip), %xmm0     # 0xa328
movups %xmm0, -0x480(%rbp)
movups 0x5bec(%rip), %xmm0     # 0xa318
movups %xmm0, -0x490(%rbp)
leaq -0x4b1(%rbp), %rdi
callq 0x3310
movq -0x4d0(%rbp), %rdi
leaq -0x4b0(%rbp), %rsi
callq 0x6230
jmp 0x4754
movb $0x1, -0x9(%rbp)
leaq -0x4b0(%rbp), %rdi
callq 0x62a0
leaq -0x408(%rbp), %rdi
callq 0x62a0
leaq -0x360(%rbp), %rdi
callq 0x62a0
leaq -0x2b8(%rbp), %rdi
callq 0x62a0
leaq -0x210(%rbp), %rdi
callq 0x62a0
leaq -0x168(%rbp), %rdi
callq 0x62a0
leaq -0xb0(%rbp), %rdi
callq 0x62a0
testb $0x1, -0x9(%rbp)
jne 0x49a2
jmp 0x4996
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0xb1(%rbp), %rdi
callq 0x3310
jmp 0x49b2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x4988
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x169(%rbp), %rdi
callq 0x3310
jmp 0x4988
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x497c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x211(%rbp), %rdi
callq 0x3310
jmp 0x497c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x4970
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x2b9(%rbp), %rdi
callq 0x3310
jmp 0x4970
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x4964
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x361(%rbp), %rdi
callq 0x3310
jmp 0x4964
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x4958
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x409(%rbp), %rdi
callq 0x3310
jmp 0x4958
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x494c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x4b1(%rbp), %rdi
callq 0x3310
jmp 0x494c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x4b0(%rbp), %rdi
callq 0x62a0
leaq -0x408(%rbp), %rdi
callq 0x62a0
leaq -0x360(%rbp), %rdi
callq 0x62a0
leaq -0x2b8(%rbp), %rdi
callq 0x62a0
leaq -0x210(%rbp), %rdi
callq 0x62a0
leaq -0x168(%rbp), %rdi
callq 0x62a0
leaq -0xb0(%rbp), %rdi
callq 0x62a0
jmp 0x49b2
movq -0x4d0(%rbp), %rdi
callq 0x62c0
movq -0x4c8(%rbp), %rax
addq $0x500, %rsp            # imm = 0x500
popq %rbp
retq
movq -0x4d0(%rbp), %rdi
callq 0x62c0
movq -0xc0(%rbp), %rdi
callq 0x3440
nopw (%rax,%rax)