// File: /workspace/github_cpp_makefile_star2_O1/vianna274[P]dropbox/src/Server.cpp
// Function: Dropbox::Server::listenToServers(Dropbox::WrapperSocket*)
void Server::listenToServers(WrapperSocket * socket){
    string ipDoBackup;
    WrapperSocket *talkToBackup;
    MessageData * data = NULL;
    while(true){
        this->electionMutex.lock();
        if (this->status == BEGIN_ELECTION) {
            this->status = STATUS_ELECTION;
            this->electionMutex.unlock();
            if (this->getHighers().size() > 0) {
                this->startElection(this->getHighers());
            }
            else {
                this->becomeMain();
            }
        }
        else {
            this->electionMutex.unlock();
            data = socket->receive(TIMEOUT_ON, 5);
        }
        if (data == NULL)
            continue;
        string username = string(data->username);
        User * user = getUser(username);
        string ip;
        FileRecord fileRecord;
        switch (data->type)
        {
            case TYPE_MAKE_CONNECTION:
                talkToPrimaryMtx.lock();
                this->talkToPrimary = new WrapperSocket(ipMain, stoi(data->payload));
                synchronize();
                talkToPrimaryMtx.unlock();
                this->electionMutex.lock();
                this->status = STATUS_NORMAL;
                this->electionMutex.unlock();
                break;
            case TYPE_COORDINATOR:
                handleReceiveCoordinator(data);
                break;
            case TYPE_ANSWER:
                if(!this->waitForCoordinator() && this->status == STATUS_ELECTION) {
                    this->becomeMain();
                }
                break;
            case TYPE_ELECTION:
                ip = string(data->payload);
                this->answer(ip);
                this->electionMutex.lock();
                if (this->status == STATUS_NORMAL) {
                    this->status = STATUS_ELECTION;
                    this->electionMutex.unlock();
                    if (this->getHighers().size() > 0) {
                        this->startElection(this->getHighers());
                    }
                    else {
                        this->becomeMain();
                    }
                }
                this->electionMutex.unlock(); 
                break;
            case TYPE_MAKE_BACKUP:
                ipDoBackup = string(data->payload);
                talkToBackup = new WrapperSocket(ipDoBackup, BACKUPS_PORT);
                this->backupsSockets.push_back(talkToBackup);
                this->createNewPortBackup(talkToBackup);
                break;
            case TYPE_PING:
                //cout << "PINGING" << endl;
                break;
            case TYPE_CREATE_USER:
                this->usersIp.push_back(string(data->payload));
                if(user == nullptr) {
                    user = new User(username, rootDir+username+"/");
                    users.push_back(user);
                }
                break;
            case TYPE_DELETE: 
                deleteFile(user->getDirPath() + string(data->payload));
                user->removeFileRecord(string(data->payload));
                break;
            case TYPE_SEND_FILE:
                fileRecord = *((FileRecord *)data->payload);
                receiveFile(&listenToServersSocket, string(data->payload), user->getDirPath());
                user->updateFileRecord(fileRecord);
                break;
            //case de propagar coisas 
            default:
                cout << "PACOTE INCORRETO! " << data->type << endl;
                break;
        }
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x438, %rsp            # imm = 0x438
movq %rsi, -0x138(%rbp)
movq %rdi, %r14
leaq -0x228(%rbp), %rax
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq 0x20(%rdi), %r15
movq %r15, %rdi
callq 0x3470
testl %eax, %eax
jne 0x9790
leaq 0x130(%r14), %rax
movq %rax, -0x128(%rbp)
leaq 0x988(%r14), %rax
movq %rax, -0x130(%rbp)
leaq 0x958(%r14), %rax
movq %rax, -0x118(%rbp)
leaq 0x9a0(%r14), %rax
movq %rax, -0x120(%rbp)
leaq 0xc0(%r14), %rax
movq %rax, -0xb0(%rbp)
xorl %ebx, %ebx
movq %r15, -0x50(%rbp)
cmpl $0x1c, 0x180(%r14)
jne 0x8e35
movl $0x19, 0x180(%r14)
movq %r15, %rdi
callq 0x3280
leaq -0x370(%rbp), %r15
movq %r15, %rdi
movq %r14, %rsi
callq 0xa5b8
movq %r15, %rdi
movq -0x368(%rbp), %r15
movq -0x370(%rbp), %r12
callq 0xcf94
cmpq %r12, %r15
je 0x8e58
leaq -0x288(%rbp), %rdi
movq %r14, %rsi
callq 0xa5b8
movq -0x50(%rbp), %r15
movq %r14, %rdi
leaq -0x288(%rbp), %r12
movq %r12, %rsi
callq 0xa882
movq %r12, %rdi
callq 0xcf94
jmp 0x8e64
movq %r15, %rdi
callq 0x3280
movq -0x138(%rbp), %rdi
movl $0x1, %esi
movl $0x5, %edx
callq 0xe9b6
movq %rax, %rbx
jmp 0x8e64
movq %r14, %rdi
callq 0xa40e
movq -0x50(%rbp), %r15
testq %rbx, %rbx
je 0x9083
leaq 0xfb4(%rbx), %r12
leaq -0xc0(%rbp), %rax
movq %rax, -0xd0(%rbp)
movq %r12, %rdi
callq 0x3170
leaq (%rbx,%rax), %rdx
addq $0xfb4, %rdx            # imm = 0xFB4
leaq -0xd0(%rbp), %rdi
movq %r12, %rsi
callq 0x62de
leaq -0x208(%rbp), %rax
movq %rax, -0x218(%rbp)
movq -0xd0(%rbp), %rsi
movq -0xc8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x218(%rbp), %r12
movq %r12, %rdi
callq 0x6244
movq %r14, %rdi
movq %r12, %rsi
callq 0xaed8
movq %rax, %r12
movq -0x218(%rbp), %rdi
leaq -0x208(%rbp), %rax
cmpq %rax, %rdi
je 0x8ef8
callq 0x3320
movq %r12, -0x58(%rbp)
leaq -0xe0(%rbp), %rax
movq %rax, -0xf0(%rbp)
movq $0x0, -0xe8(%rbp)
movb $0x0, -0xe0(%rbp)
movl (%rbx), %eax
addl $-0x2, %eax
cmpl $0x14, %eax
ja 0x9507
leaq 0x7417(%rip), %rcx      # 0x10348
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0xb0(%rbp), %rdi
callq 0x3470
testl %eax, %eax
jne 0x9797
movl $0x48, %edi
callq 0x3340
movq %rax, %r13
leaq -0x1a8(%rbp), %rax
movq %rax, -0x1b8(%rbp)
movq 0x9d8(%r14), %rsi
movq 0x9e0(%r14), %rdx
addq %rsi, %rdx
leaq -0x1b8(%rbp), %rdi
callq 0x6244
leaq 0x14(%rbx), %r12
leaq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
movq %r12, %rdi
callq 0x3170
leaq (%rbx,%rax), %rdx
addq $0x14, %rdx
leaq -0x48(%rbp), %rdi
movq %r12, %rsi
callq 0x62de
movq -0x48(%rbp), %r15
callq 0x3060
movq %rax, %r12
movl (%rax), %eax
movl %eax, -0x5c(%rbp)
movl $0x0, (%r12)
movq %r15, %rdi
leaq -0x88(%rbp), %rsi
movl $0xa, %edx
callq 0x3410
cmpq %r15, -0x88(%rbp)
je 0x979e
movslq %eax, %rcx
cmpq %rax, %rcx
jne 0x97aa
movl (%r12), %ecx
cmpl $0x22, %ecx
je 0x97aa
testl %ecx, %ecx
jne 0x900c
movl -0x5c(%rbp), %ecx
movl %ecx, (%r12)
movq %r13, %rdi
leaq -0x1b8(%rbp), %rsi
movl %eax, %edx
callq 0xe64e
movq %r13, 0x178(%r14)
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x9036
callq 0x3320
movq -0x1b8(%rbp), %rdi
leaq -0x1a8(%rbp), %rax
cmpq %rax, %rdi
movq -0x50(%rbp), %r15
je 0x9052
callq 0x3320
callq 0xae9b
movq -0xb0(%rbp), %rdi
callq 0x3280
movq %r15, %rdi
callq 0x3470
testl %eax, %eax
jne 0x9797
movl $0x18, 0x180(%r14)
jmp 0x968e
xorl %ebx, %ebx
jmp 0x96c6
leaq 0x14(%rbx), %r12
movl $0xe8, %edx
leaq -0x370(%rbp), %rdi
movq %r12, %rsi
callq 0x32b0
leaq -0x148(%rbp), %rax
movq %rax, -0x158(%rbp)
movq %r12, %rdi
callq 0x3170
leaq (%rbx,%rax), %rdx
addq $0x14, %rdx
leaq -0x158(%rbp), %rdi
movq %r12, %rsi
callq 0x62de
movq -0x58(%rbp), %rsi
leaq -0x258(%rbp), %r12
movq %r12, %rdi
callq 0xe582
movq %r14, %rdi
movq -0x128(%rbp), %rsi
leaq -0x158(%rbp), %rdx
movq %r12, %rcx
callq 0x689a
movq -0x258(%rbp), %rdi
leaq -0x248(%rbp), %rax
cmpq %rax, %rdi
je 0x9113
callq 0x3320
movq -0x158(%rbp), %rdi
leaq -0x148(%rbp), %rax
cmpq %rax, %rdi
je 0x912b
callq 0x3320
movq -0x58(%rbp), %rax
movl $0x1d, %ecx
movq %rsp, %rdi
leaq -0x370(%rbp), %rsi
rep  movsq (%rsi), %es:(%rdi)
movq %rax, %rdi
callq 0xe42a
jmp 0x9696
leaq 0x14(%rbx), %r12
leaq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
movq %r12, %rdi
callq 0x3170
leaq (%rbx,%rax), %rdx
addq $0x14, %rdx
leaq -0x48(%rbp), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x62de
movq -0x130(%rbp), %rdi
movq %r13, %rsi
callq 0xdd80
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x919a
callq 0x3320
cmpq $0x0, -0x58(%rbp)
jne 0x9696
movl $0x98, %edi
callq 0x3340
movq %rax, %r13
leaq -0x168(%rbp), %rax
movq %rax, -0x178(%rbp)
movq -0xd0(%rbp), %rsi
movq -0xc8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x178(%rbp), %rdi
callq 0x6244
leaq -0x48(%rbp), %r12
movq %r12, %rdi
movq %r14, %rsi
leaq -0xd0(%rbp), %rdx
callq 0x6174
movq %r12, %rdi
leaq 0x71f6(%rip), %rsi      # 0x103f3
callq 0x35c0
leaq -0x100(%rbp), %rsi
movq %rsi, -0x110(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x96db
movq %rdx, -0x110(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x100(%rbp)
jmp 0x96e1
leaq 0x14(%rbx), %r12
leaq -0x38(%rbp), %r15
movq %r15, -0x48(%rbp)
movq %r12, %rdi
callq 0x3170
leaq (%rbx,%rax), %rdx
addq $0x14, %rdx
leaq -0x48(%rbp), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x62de
leaq -0xf0(%rbp), %rdi
movq %r13, %rsi
callq 0x33d0
movq -0x48(%rbp), %rdi
cmpq %r15, %rdi
je 0x9281
callq 0x3320
leaq -0x188(%rbp), %rax
movq %rax, -0x198(%rbp)
movq -0xf0(%rbp), %rsi
movq -0xe8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x198(%rbp), %rdi
callq 0x6244
movq -0x50(%rbp), %r15
leaq -0x198(%rbp), %rsi
callq 0xa348
movq -0x198(%rbp), %rdi
leaq -0x188(%rbp), %rax
cmpq %rax, %rdi
je 0x92d4
callq 0x3320
movq %r15, %rdi
callq 0x3470
testl %eax, %eax
jne 0x9797
cmpl $0x18, 0x180(%r14)
jne 0x968e
movl $0x19, 0x180(%r14)
movq %r15, %rdi
callq 0x3280
leaq -0x48(%rbp), %r15
movq %r15, %rdi
movq %r14, %rsi
callq 0xa5b8
movq %r15, %rdi
movq -0x40(%rbp), %r15
movq -0x48(%rbp), %r12
callq 0xcf94
cmpq %r12, %r15
je 0x9682
leaq -0x270(%rbp), %rdi
movq %r14, %rsi
callq 0xa5b8
movq -0x50(%rbp), %r15
movq %r14, %rdi
leaq -0x270(%rbp), %r12
movq %r12, %rsi
callq 0xa882
movq %r12, %rdi
callq 0xcf94
jmp 0x968e
movq %r14, %rdi
movq %rbx, %rsi
callq 0xac7e
jmp 0x9696
leaq -0x48(%rbp), %rdi
movq %r12, %rsi
callq 0xe582
leaq 0x14(%rbx), %r13
leaq -0x78(%rbp), %rax
movq %rax, -0x88(%rbp)
movq %r13, %rdi
callq 0x3170
leaq (%rbx,%rax), %rdx
addq $0x14, %rdx
leaq -0x88(%rbp), %rdi
movq %r13, %rsi
callq 0x62de
movq -0x48(%rbp), %rcx
movl $0xf, %esi
leaq -0x38(%rbp), %rax
cmpq %rax, %rcx
je 0x93bf
movq -0x38(%rbp), %rsi
movq -0x40(%rbp), %r8
movq -0x80(%rbp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0x93ef
movl $0xf, %esi
leaq -0x78(%rbp), %rdi
cmpq %rdi, -0x88(%rbp)
je 0x93e6
movq -0x78(%rbp), %rsi
cmpq %rsi, %rax
jbe 0x957d
movq -0x88(%rbp), %rsi
leaq -0x48(%rbp), %rdi
callq 0x3100
jmp 0x958d
leaq 0x14(%rbx), %r12
leaq -0x38(%rbp), %r15
movq %r15, -0x48(%rbp)
movq %r12, %rdi
callq 0x3170
leaq (%rbx,%rax), %rdx
addq $0x14, %rdx
leaq -0x48(%rbp), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x62de
leaq -0x238(%rbp), %rdi
movq %r13, %rsi
callq 0x33d0
movq -0x48(%rbp), %rdi
cmpq %r15, %rdi
je 0x944c
callq 0x3320
movl $0x48, %edi
callq 0x3340
movq -0x50(%rbp), %r15
movq %rax, %r12
leaq -0x1e8(%rbp), %rax
movq %rax, -0x1f8(%rbp)
movq -0x238(%rbp), %rsi
movq -0x230(%rbp), %rdx
addq %rsi, %rdx
leaq -0x1f8(%rbp), %r13
movq %r13, %rdi
callq 0x6244
movq %r12, %rdi
movq %r13, %rsi
movl $0x2328, %edx           # imm = 0x2328
callq 0xe64e
movq %r12, -0x68(%rbp)
movq -0x1f8(%rbp), %rdi
leaq -0x1e8(%rbp), %rax
cmpq %rax, %rdi
je 0x94b7
callq 0x3320
movq 0x9a8(%r14), %rsi
cmpq 0x9b0(%r14), %rsi
je 0x955c
movq -0x68(%rbp), %rax
movq %rax, (%rsi)
addq $0x8, 0x9a8(%r14)
jmp 0x956c
movq %r14, %rdi
callq 0xa9e4
cmpl $0x19, 0x180(%r14)
setne %cl
orb %cl, %al
jne 0x9696
movq %r14, %rdi
callq 0xa40e
jmp 0x9696
movl $0x12, %edx
movq 0xbabd(%rip), %rdi      # 0x14fd0
leaq 0x6edb(%rip), %rsi      # 0x103f5
callq 0x33a0
movl (%rbx), %esi
movq 0xbaa8(%rip), %rdi      # 0x14fd0
callq 0x3540
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x3330
movsbl %al, %esi
movq %r12, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x3260
jmp 0x9696
movq -0x120(%rbp), %rdi
leaq -0x68(%rbp), %rdx
callq 0xdc64
movq -0x68(%rbp), %rsi
movq %r14, %rdi
callq 0xaa42
jmp 0x9696
leaq -0x88(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3370
leaq -0x98(%rbp), %rsi
movq %rsi, -0xa8(%rbp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x95ba
movq %rdx, -0xa8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x98(%rbp)
jmp 0x95c0
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, -0xa0(%rbp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
movq %r14, %rdi
leaq -0xa8(%rbp), %rsi
callq 0x7ef8
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0x9606
callq 0x3320
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x961b
callq 0x3320
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x962d
callq 0x3320
movq -0x58(%rbp), %r12
leaq -0x1c8(%rbp), %rax
movq %rax, -0x1d8(%rbp)
movq %r13, %rdi
callq 0x3170
leaq (%rax,%r13), %rdx
movq %r13, %rsi
leaq -0x1d8(%rbp), %r13
movq %r13, %rdi
callq 0x62de
movq %r12, %rdi
movq %r13, %rsi
callq 0xe362
movq -0x1d8(%rbp), %rdi
leaq -0x1c8(%rbp), %rax
cmpq %rax, %rdi
je 0x9696
callq 0x3320
jmp 0x9696
movq %r14, %rdi
callq 0xa40e
movq -0x50(%rbp), %r15
movq %r15, %rdi
callq 0x3280
movq -0xf0(%rbp), %rdi
leaq -0xe0(%rbp), %rax
cmpq %rax, %rdi
je 0x96ae
callq 0x3320
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x96c6
callq 0x3320
movq %r15, %rdi
callq 0x3470
testl %eax, %eax
je 0x8dbc
jmp 0x9790
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x108(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r13, %rdi
leaq -0x178(%rbp), %rsi
leaq -0x110(%rbp), %rdx
callq 0xe108
movq %r13, -0x58(%rbp)
movq -0x110(%rbp), %rdi
leaq -0x100(%rbp), %rax
cmpq %rax, %rdi
je 0x972d
callq 0x3320
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x973f
callq 0x3320
movq -0x178(%rbp), %rdi
leaq -0x168(%rbp), %rax
cmpq %rax, %rdi
je 0x9757
callq 0x3320
movq 0x960(%r14), %rsi
cmpq 0x968(%r14), %rsi
je 0x977b
movq -0x58(%rbp), %rax
movq %rax, (%rsi)
addq $0x8, 0x960(%r14)
jmp 0x9696
movq -0x118(%rbp), %rdi
leaq -0x58(%rbp), %rdx
callq 0xdf86
jmp 0x9696
movl %eax, %edi
callq 0x3250
movl %eax, %edi
callq 0x3250
leaq 0x699f(%rip), %rdi      # 0x10144
callq 0x3240
leaq 0x6993(%rip), %rdi      # 0x10144
callq 0x3450
movq %rax, %rbx
leaq -0x270(%rbp), %rdi
callq 0xcf94
jmp 0x9988
movq %rax, %rbx
movq -0x110(%rbp), %rdi
leaq -0x100(%rbp), %rax
cmpq %rax, %rdi
je 0x97ea
callq 0x3320
jmp 0x97ea
movq %rax, %rbx
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x9801
callq 0x3320
jmp 0x9801
movq %rax, %rbx
movq -0x178(%rbp), %rdi
leaq -0x168(%rbp), %rax
jmp 0x9942
jmp 0x98b0
jmp 0x9985
movq %rax, %rbx
jmp 0x9922
movq %rax, %rbx
movq -0x1d8(%rbp), %rdi
leaq -0x1c8(%rbp), %rax
jmp 0x98fd
jmp 0x9985
movq %rax, %rbx
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0x9899
callq 0x3320
jmp 0x9899
movq %rax, %rbx
movq -0x1f8(%rbp), %rdi
leaq -0x1e8(%rbp), %rax
cmpq %rax, %rdi
je 0x98d8
callq 0x3320
jmp 0x98d8
movq %rax, %rbx
jmp 0x9934
movq %rax, %rbx
movq -0x198(%rbp), %rdi
leaq -0x188(%rbp), %rax
jmp 0x98fd
movq %rax, %rbx
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x98f5
callq 0x3320
jmp 0x98f5
movq %rax, %rbx
jmp 0x994c
movq %rax, %rbx
movq -0x258(%rbp), %rdi
leaq -0x248(%rbp), %rax
cmpq %rax, %rdi
je 0x98e0
callq 0x3320
jmp 0x98e0
movq %rax, %rbx
movq %r12, %rdi
jmp 0x994f
movq %rax, %rbx
movq -0x158(%rbp), %rdi
leaq -0x148(%rbp), %rax
jmp 0x98fd
jmp 0x98f2
movq %rax, %rbx
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
jne 0x994f
jmp 0x9988
jmp 0x9985
jmp 0x9985
jmp 0x9985
jmp 0x9985
jmp 0x9985
movq %rax, %rbx
cmpl $0x0, (%r12)
jne 0x9922
movl -0x5c(%rbp), %eax
movl %eax, (%r12)
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x9934
callq 0x3320
movq -0x1b8(%rbp), %rdi
leaq -0x1a8(%rbp), %rax
cmpq %rax, %rdi
je 0x994c
callq 0x3320
movq %r13, %rdi
callq 0x3320
jmp 0x9988
jmp 0x9985
movq %rax, %rbx
leaq -0x288(%rbp), %rdi
callq 0xcf94
jmp 0x99bf
jmp 0x99bc
movq %rax, %rbx
movq -0x218(%rbp), %rdi
leaq -0x208(%rbp), %rax
jmp 0x9996
movq %rax, %rbx
jmp 0x99a0
jmp 0x99bc
movq %rax, %rbx
movq -0xf0(%rbp), %rdi
leaq -0xe0(%rbp), %rax
cmpq %rax, %rdi
je 0x99a0
callq 0x3320
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x99bf
callq 0x3320
jmp 0x99bf
jmp 0x99bc
movq %rax, %rbx
movq -0x238(%rbp), %rdi
leaq -0x228(%rbp), %rax
cmpq %rax, %rdi
je 0x99d7
callq 0x3320
movq %rbx, %rdi
callq 0x3580
nop