// File: luisremis[P]SDFS/main.cpp
// Function: listeningCin(Membership*, FileSystem*)
void listeningCin(Membership* m, FileSystem* fs)
{
    std::string input;
    while (true)
    {
        std::cout << "Type a command (help for a list): ";
        // getline(std::cin, input);
        std::cin >> input;
        //std::cout << "You entered: " << input << std::endl;

        if (input.compare("help") == 0 || input.compare("h") == 0)
        {
            std::cout << "quit      (q)     - Exit normally" << std::endl;
            std::cout << "table     (t)     - Table of Membership List" << std::endl;
            std::cout << "join      (j)     - Join the system" << std::endl;
            std::cout << "leave     (l)     - Leave the system" << std::endl;
            std::cout << "leader    (ml)    - Leave the system" << std::endl;
            std::cout << "netstat   (n)     - Network usage" << std::endl;
            std::cout << "vtable    (vt)    - List the virtual ring for the filesystem" << std::endl;
            std::cout << "put       (p)     - Insert a file (put localfile remotefile)" << std::endl;
            std::cout << "get       (g)     - Get a file  (get remotefile localfile)" << std::endl;
            std::cout << "rm        ()      - Remove a file  (rm remotefile)" << std::endl;
            std::cout << "stored    ()      - List files in the present node" << std::endl;
        }
        else if (input.compare("quit") == 0 || input.compare("q") == 0)
        {
            std::cout << "Exiting normally " << std::endl;
            break;
        }
        else if (input.compare("clear") == 0 || input.compare("c") == 0)
        {
            system("clear");
        }
        else if (input.compare("table") == 0 || input.compare("t") == 0)
        {
            std::cout << m->printMember();
        }
        else if (input.compare("leave") == 0 || input.compare("l") == 0)
        {
            m->leave();
        }
        else if (input.compare("join") == 0 || input.compare("j") == 0)
        {
            m->join();
        }
        else if (input.compare("leader") == 0 || input.compare("ml") == 0)
        {
            std::cout << m->getLeader() << std::endl;
        }
        else if (input.compare("netstat") == 0 || input.compare("n") == 0)
        {
            std::cout << "UDP Stats: Sent: " << getUDPSent();
            std::cout << " Received: " << getUDPReceived() << std::endl;
        }
        else if (input.compare("put") == 0 || input.compare("p") == 0)
        {
            std::string localfile;
            std::string remotefile;
            std::cin >> localfile;
            std::cin >> remotefile;

            fs->put(localfile, remotefile);
        }
        else if (input.compare("get") == 0 || input.compare("g") == 0)
        {
            std::string localfile;
            std::string remotefile;
            std::cin >> remotefile;
            std::cin >> localfile;

            fs->get(localfile, remotefile);
        }
        else if (input.compare("vtable") == 0 || input.compare("vt") == 0)
        {
            fs->printVirtualRing();
        }
        else if (input.compare("rm") == 0)
        {
            std::string remotefile;
            std::cin >> remotefile;
            fs->deleteFromFS(remotefile);
        }
        else if (input.compare("list") == 0)
        {
            std::string remotefile;
            std::cin >> remotefile;
            fs->where(remotefile);
        }
        else if (input.compare("stored") == 0 || input.compare("s") == 0)
        {
            std::cout << "Local Files List: " << std::endl;
            std::cout << fs->getFileList() << std::endl;
        }
        else{
            std::cout << "PLEASE CHECK AGAIN THE POSSIBLE OPTIONS" << std::endl;
        }

    }

    return;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x310, %rsp            # imm = 0x310
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x4520
jmp 0x4a2e
movq 0x2258b(%rip), %rdi     # 0x26fc0
leaq 0x175c8(%rip), %rsi     # 0x1c004
callq 0x43f0
jmp 0x4a43
movq 0x2258e(%rip), %rdi     # 0x26fd8
leaq -0x30(%rbp), %rsi
callq 0x4490
jmp 0x4a55
leaq -0x30(%rbp), %rdi
leaq 0x175c7(%rip), %rsi     # 0x1c027
callq 0x4150
cmpl $0x0, %eax
je 0x4a83
leaq -0x30(%rbp), %rdi
leaq 0x175b7(%rip), %rsi     # 0x1c02c
callq 0x4150
cmpl $0x0, %eax
jne 0x4cb4
movq 0x22536(%rip), %rdi     # 0x26fc0
leaq 0x1759d(%rip), %rsi     # 0x1c02e
callq 0x43f0
movq %rax, -0x228(%rbp)
jmp 0x4a9f
movq -0x228(%rbp), %rdi
movq 0x224fb(%rip), %rsi     # 0x26fa8
callq 0x4410
jmp 0x4ab4
movq 0x22505(%rip), %rdi     # 0x26fc0
leaq 0x1758e(%rip), %rsi     # 0x1c050
callq 0x43f0
movq %rax, -0x230(%rbp)
jmp 0x4ad0
movq -0x230(%rbp), %rdi
movq 0x224ca(%rip), %rsi     # 0x26fa8
callq 0x4410
jmp 0x4ae5
movq 0x224d4(%rip), %rdi     # 0x26fc0
leaq 0x1758a(%rip), %rsi     # 0x1c07d
callq 0x43f0
movq %rax, -0x238(%rbp)
jmp 0x4b01
movq -0x238(%rbp), %rdi
movq 0x22499(%rip), %rsi     # 0x26fa8
callq 0x4410
jmp 0x4b16
movq 0x224a3(%rip), %rdi     # 0x26fc0
leaq 0x1757d(%rip), %rsi     # 0x1c0a1
callq 0x43f0
movq %rax, -0x240(%rbp)
jmp 0x4b32
movq -0x240(%rbp), %rdi
movq 0x22468(%rip), %rsi     # 0x26fa8
callq 0x4410
jmp 0x4b47
movq 0x22472(%rip), %rdi     # 0x26fc0
leaq 0x17571(%rip), %rsi     # 0x1c0c6
callq 0x43f0
movq %rax, -0x248(%rbp)
jmp 0x4b63
movq -0x248(%rbp), %rdi
movq 0x22437(%rip), %rsi     # 0x26fa8
callq 0x4410
jmp 0x4b78
movq 0x22441(%rip), %rdi     # 0x26fc0
leaq 0x17565(%rip), %rsi     # 0x1c0eb
callq 0x43f0
movq %rax, -0x250(%rbp)
jmp 0x4b94
movq -0x250(%rbp), %rdi
movq 0x22406(%rip), %rsi     # 0x26fa8
callq 0x4410
jmp 0x4ba9
movq 0x22410(%rip), %rdi     # 0x26fc0
leaq 0x17556(%rip), %rsi     # 0x1c10d
callq 0x43f0
movq %rax, -0x258(%rbp)
jmp 0x4bc5
movq -0x258(%rbp), %rdi
movq 0x223d5(%rip), %rsi     # 0x26fa8
callq 0x4410
jmp 0x4bda
movq 0x223df(%rip), %rdi     # 0x26fc0
leaq 0x17562(%rip), %rsi     # 0x1c14a
callq 0x43f0
movq %rax, -0x260(%rbp)
jmp 0x4bf6
movq -0x260(%rbp), %rdi
movq 0x223a4(%rip), %rsi     # 0x26fa8
callq 0x4410
jmp 0x4c0b
movq 0x223ae(%rip), %rdi     # 0x26fc0
leaq 0x1756e(%rip), %rsi     # 0x1c187
callq 0x43f0
movq %rax, -0x268(%rbp)
jmp 0x4c27
movq -0x268(%rbp), %rdi
movq 0x22373(%rip), %rsi     # 0x26fa8
callq 0x4410
jmp 0x4c3c
movq 0x2237d(%rip), %rdi     # 0x26fc0
leaq 0x17578(%rip), %rsi     # 0x1c1c2
callq 0x43f0
movq %rax, -0x270(%rbp)
jmp 0x4c58
movq -0x270(%rbp), %rdi
movq 0x22342(%rip), %rsi     # 0x26fa8
callq 0x4410
jmp 0x4c6d
movq 0x2234c(%rip), %rdi     # 0x26fc0
leaq 0x1757a(%rip), %rsi     # 0x1c1f5
callq 0x43f0
movq %rax, -0x278(%rbp)
jmp 0x4c89
movq -0x278(%rbp), %rdi
movq 0x22311(%rip), %rsi     # 0x26fa8
callq 0x4410
jmp 0x4c9e
jmp 0x5529
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x5540
leaq -0x30(%rbp), %rdi
leaq 0x17569(%rip), %rsi     # 0x1c228
callq 0x4150
cmpl $0x0, %eax
je 0x4cde
leaq -0x30(%rbp), %rdi
leaq 0x17559(%rip), %rsi     # 0x1c22d
callq 0x4150
cmpl $0x0, %eax
jne 0x4d14
movq 0x222db(%rip), %rdi     # 0x26fc0
leaq 0x17543(%rip), %rsi     # 0x1c22f
callq 0x43f0
movq %rax, -0x280(%rbp)
jmp 0x4cfa
movq -0x280(%rbp), %rdi
movq 0x222a0(%rip), %rsi     # 0x26fa8
callq 0x4410
jmp 0x4d0f
jmp 0x552e
leaq -0x30(%rbp), %rdi
leaq 0x17522(%rip), %rsi     # 0x1c241
callq 0x4150
cmpl $0x0, %eax
je 0x4d3e
leaq -0x30(%rbp), %rdi
leaq 0x17513(%rip), %rsi     # 0x1c247
callq 0x4150
cmpl $0x0, %eax
jne 0x4d51
leaq 0x174fc(%rip), %rdi     # 0x1c241
callq 0x4350
jmp 0x4d4c
jmp 0x5525
leaq -0x30(%rbp), %rdi
leaq 0x17533(%rip), %rsi     # 0x1c28f
callq 0x4150
cmpl $0x0, %eax
je 0x4d7b
leaq -0x30(%rbp), %rdi
leaq 0x174f5(%rip), %rsi     # 0x1c266
callq 0x4150
cmpl $0x0, %eax
jne 0x4dc4
movq -0x8(%rbp), %rsi
leaq -0x60(%rbp), %rdi
callq 0xa4a0
jmp 0x4d8a
movq 0x2222f(%rip), %rdi     # 0x26fc0
leaq -0x60(%rbp), %rsi
callq 0x4370
jmp 0x4d9c
leaq -0x60(%rbp), %rdi
callq 0x42a0
jmp 0x5523
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x42a0
jmp 0x5540
leaq -0x30(%rbp), %rdi
leaq 0x1747a(%rip), %rsi     # 0x1c249
callq 0x4150
cmpl $0x0, %eax
je 0x4dee
leaq -0x30(%rbp), %rdi
leaq 0x17b67(%rip), %rsi     # 0x1c94b
callq 0x4150
cmpl $0x0, %eax
jne 0x4dfe
movq -0x8(%rbp), %rdi
callq 0x88d0
jmp 0x4df9
jmp 0x5521
leaq -0x30(%rbp), %rdi
leaq 0x17446(%rip), %rsi     # 0x1c24f
callq 0x4150
cmpl $0x0, %eax
je 0x4e28
leaq -0x30(%rbp), %rdi
leaq 0x17436(%rip), %rsi     # 0x1c254
callq 0x4150
cmpl $0x0, %eax
jne 0x4e38
movq -0x8(%rbp), %rdi
callq 0x6a10
jmp 0x4e33
jmp 0x551f
leaq -0x30(%rbp), %rdi
leaq 0x17413(%rip), %rsi     # 0x1c256
callq 0x4150
cmpl $0x0, %eax
je 0x4e62
leaq -0x30(%rbp), %rdi
leaq 0x17405(%rip), %rsi     # 0x1c25d
callq 0x4150
cmpl $0x0, %eax
jne 0x4ec7
movq -0x8(%rbp), %rsi
leaq -0x80(%rbp), %rdi
callq 0xaa70
jmp 0x4e71
movq 0x22148(%rip), %rdi     # 0x26fc0
leaq -0x80(%rbp), %rsi
callq 0x4370
movq %rax, -0x288(%rbp)
jmp 0x4e8a
movq -0x288(%rbp), %rdi
movq 0x22110(%rip), %rsi     # 0x26fa8
callq 0x4410
jmp 0x4e9f
leaq -0x80(%rbp), %rdi
callq 0x42a0
jmp 0x551d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x80(%rbp), %rdi
callq 0x42a0
jmp 0x5540
leaq -0x30(%rbp), %rdi
leaq 0x1738e(%rip), %rsi     # 0x1c260
callq 0x4150
cmpl $0x0, %eax
je 0x4ef5
leaq -0x30(%rbp), %rdi
leaq 0x17547(%rip), %rsi     # 0x1c42e
callq 0x4150
cmpl $0x0, %eax
jne 0x4f90
movq 0x220c4(%rip), %rdi     # 0x26fc0
leaq 0x17365(%rip), %rsi     # 0x1c268
callq 0x43f0
movq %rax, -0x290(%rbp)
jmp 0x4f11
callq 0x1a6e0
movl %eax, -0x294(%rbp)
jmp 0x4f1e
movl -0x294(%rbp), %esi
movq -0x290(%rbp), %rdi
callq 0x4670
jmp 0x4f32
movq 0x22087(%rip), %rdi     # 0x26fc0
leaq 0x1733a(%rip), %rsi     # 0x1c27a
callq 0x43f0
movq %rax, -0x2a0(%rbp)
jmp 0x4f4e
callq 0x1a6f0
movl %eax, -0x2a4(%rbp)
jmp 0x4f5b
movl -0x2a4(%rbp), %esi
movq -0x2a0(%rbp), %rdi
callq 0x4670
movq %rax, -0x2b0(%rbp)
jmp 0x4f76
movq -0x2b0(%rbp), %rdi
movq 0x22024(%rip), %rsi     # 0x26fa8
callq 0x4410
jmp 0x4f8b
jmp 0x551b
leaq -0x30(%rbp), %rdi
leaq 0x172eb(%rip), %rsi     # 0x1c286
callq 0x4150
cmpl $0x0, %eax
je 0x4fbe
leaq -0x30(%rbp), %rdi
leaq 0x1707a(%rip), %rsi     # 0x1c02a
callq 0x4150
cmpl $0x0, %eax
jne 0x50ea
leaq -0xa0(%rbp), %rdi
movq %rdi, -0x2b8(%rbp)
callq 0x4520
leaq -0xc0(%rbp), %rdi
callq 0x4520
movq -0x2b8(%rbp), %rsi
movq 0x21fed(%rip), %rdi     # 0x26fd8
callq 0x4490
jmp 0x4ff2
movq 0x21fdf(%rip), %rdi     # 0x26fd8
leaq -0xc0(%rbp), %rsi
callq 0x4490
jmp 0x5007
movq -0x10(%rbp), %rax
movq %rax, -0x2c0(%rbp)
leaq -0xe0(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
callq 0x41e0
jmp 0x5027
leaq -0x100(%rbp), %rdi
leaq -0xc0(%rbp), %rsi
callq 0x41e0
jmp 0x503c
movq -0x2c0(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
leaq -0x100(%rbp), %rdx
callq 0x11fd0
jmp 0x5058
leaq -0x100(%rbp), %rdi
callq 0x42a0
leaq -0xe0(%rbp), %rdi
callq 0x42a0
leaq -0xc0(%rbp), %rdi
callq 0x42a0
leaq -0xa0(%rbp), %rdi
callq 0x42a0
jmp 0x5519
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x50cd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x50c1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x100(%rbp), %rdi
callq 0x42a0
leaq -0xe0(%rbp), %rdi
callq 0x42a0
leaq -0xc0(%rbp), %rdi
callq 0x42a0
leaq -0xa0(%rbp), %rdi
callq 0x42a0
jmp 0x5540
leaq -0x30(%rbp), %rdi
leaq 0x17195(%rip), %rsi     # 0x1c28a
callq 0x4150
cmpl $0x0, %eax
je 0x5118
leaq -0x30(%rbp), %rdi
leaq 0x17209(%rip), %rsi     # 0x1c313
callq 0x4150
cmpl $0x0, %eax
jne 0x5244
leaq -0x120(%rbp), %rdi
callq 0x4520
leaq -0x140(%rbp), %rdi
movq %rdi, -0x2c8(%rbp)
callq 0x4520
movq -0x2c8(%rbp), %rsi
movq 0x21e93(%rip), %rdi     # 0x26fd8
callq 0x4490
jmp 0x514c
movq 0x21e85(%rip), %rdi     # 0x26fd8
leaq -0x120(%rbp), %rsi
callq 0x4490
jmp 0x5161
movq -0x10(%rbp), %rax
movq %rax, -0x2d0(%rbp)
leaq -0x160(%rbp), %rdi
leaq -0x120(%rbp), %rsi
callq 0x41e0
jmp 0x5181
leaq -0x180(%rbp), %rdi
leaq -0x140(%rbp), %rsi
callq 0x41e0
jmp 0x5196
movq -0x2d0(%rbp), %rdi
leaq -0x160(%rbp), %rsi
leaq -0x180(%rbp), %rdx
callq 0x12a90
jmp 0x51b2
leaq -0x180(%rbp), %rdi
callq 0x42a0
leaq -0x160(%rbp), %rdi
callq 0x42a0
leaq -0x140(%rbp), %rdi
callq 0x42a0
leaq -0x120(%rbp), %rdi
callq 0x42a0
jmp 0x5517
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x5227
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x521b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x180(%rbp), %rdi
callq 0x42a0
leaq -0x160(%rbp), %rdi
callq 0x42a0
leaq -0x140(%rbp), %rdi
callq 0x42a0
leaq -0x120(%rbp), %rdi
callq 0x42a0
jmp 0x5540
leaq -0x30(%rbp), %rdi
leaq 0x1703f(%rip), %rsi     # 0x1c28e
callq 0x4150
cmpl $0x0, %eax
je 0x526e
leaq -0x30(%rbp), %rdi
leaq 0x17031(%rip), %rsi     # 0x1c295
callq 0x4150
cmpl $0x0, %eax
jne 0x527e
movq -0x10(%rbp), %rdi
callq 0x14db0
jmp 0x5279
jmp 0x5515
leaq -0x30(%rbp), %rdi
leaq 0x1700f(%rip), %rsi     # 0x1c298
callq 0x4150
cmpl $0x0, %eax
jne 0x5348
leaq -0x1a0(%rbp), %rdi
movq %rdi, -0x2d8(%rbp)
callq 0x4520
movq -0x2d8(%rbp), %rsi
movq 0x21d20(%rip), %rdi     # 0x26fd8
callq 0x4490
jmp 0x52bf
movq -0x10(%rbp), %rax
movq %rax, -0x2e0(%rbp)
leaq -0x1c0(%rbp), %rdi
leaq -0x1a0(%rbp), %rsi
callq 0x41e0
jmp 0x52df
movq -0x2e0(%rbp), %rdi
leaq -0x1c0(%rbp), %rsi
callq 0x130f0
jmp 0x52f4
leaq -0x1c0(%rbp), %rdi
callq 0x42a0
leaq -0x1a0(%rbp), %rdi
callq 0x42a0
jmp 0x5513
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x5337
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x1c0(%rbp), %rdi
callq 0x42a0
leaq -0x1a0(%rbp), %rdi
callq 0x42a0
jmp 0x5540
leaq -0x30(%rbp), %rdi
leaq 0x1717e(%rip), %rsi     # 0x1c4d1
callq 0x4150
cmpl $0x0, %eax
jne 0x5412
leaq -0x1e0(%rbp), %rdi
movq %rdi, -0x2e8(%rbp)
callq 0x4520
movq -0x2e8(%rbp), %rsi
movq 0x21c56(%rip), %rdi     # 0x26fd8
callq 0x4490
jmp 0x5389
movq -0x10(%rbp), %rax
movq %rax, -0x2f0(%rbp)
leaq -0x200(%rbp), %rdi
leaq -0x1e0(%rbp), %rsi
callq 0x41e0
jmp 0x53a9
movq -0x2f0(%rbp), %rdi
leaq -0x200(%rbp), %rsi
callq 0x12480
jmp 0x53be
leaq -0x200(%rbp), %rdi
callq 0x42a0
leaq -0x1e0(%rbp), %rdi
callq 0x42a0
jmp 0x5511
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x5401
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x200(%rbp), %rdi
callq 0x42a0
leaq -0x1e0(%rbp), %rdi
callq 0x42a0
jmp 0x5540
leaq -0x30(%rbp), %rdi
leaq 0x16e7e(%rip), %rsi     # 0x1c29b
callq 0x4150
cmpl $0x0, %eax
je 0x5440
leaq -0x30(%rbp), %rdi
leaq 0x17655(%rip), %rsi     # 0x1ca87
callq 0x4150
cmpl $0x0, %eax
jne 0x54dc
movq 0x21b79(%rip), %rdi     # 0x26fc0
leaq 0x16e54(%rip), %rsi     # 0x1c2a2
callq 0x43f0
movq %rax, -0x2f8(%rbp)
jmp 0x545c
movq -0x2f8(%rbp), %rdi
movq 0x21b3e(%rip), %rsi     # 0x26fa8
callq 0x4410
jmp 0x5471
movq -0x10(%rbp), %rsi
leaq -0x220(%rbp), %rdi
callq 0x140e0
jmp 0x5483
movq 0x21b36(%rip), %rdi     # 0x26fc0
leaq -0x220(%rbp), %rsi
callq 0x4370
movq %rax, -0x300(%rbp)
jmp 0x549f
movq -0x300(%rbp), %rdi
movq 0x21afb(%rip), %rsi     # 0x26fa8
callq 0x4410
jmp 0x54b4
leaq -0x220(%rbp), %rdi
callq 0x42a0
jmp 0x550f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x220(%rbp), %rdi
callq 0x42a0
jmp 0x5540
movq 0x21add(%rip), %rdi     # 0x26fc0
leaq 0x16dcb(%rip), %rsi     # 0x1c2b5
callq 0x43f0
movq %rax, -0x308(%rbp)
jmp 0x54f8
movq -0x308(%rbp), %rdi
movq 0x21aa2(%rip), %rsi     # 0x26fa8
callq 0x4410
jmp 0x550d
jmp 0x550f
jmp 0x5511
jmp 0x5513
jmp 0x5515
jmp 0x5517
jmp 0x5519
jmp 0x551b
jmp 0x551d
jmp 0x551f
jmp 0x5521
jmp 0x5523
jmp 0x5525
jmp 0x5527
jmp 0x5529
jmp 0x4a2c
leaq -0x30(%rbp), %rdi
callq 0x42a0
addq $0x310, %rsp            # imm = 0x310
popq %rbp
retq
leaq -0x30(%rbp), %rdi
callq 0x42a0
movq -0x38(%rbp), %rdi
callq 0x46a0
nopw %cs:(%rax,%rax)