// File: /workspace/github_cpp_makefile_star2_O3/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 0x975b
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 0x8e05
movl $0x19, 0x180(%r14)
movq %r15, %rdi
callq 0x3280
leaq -0x370(%rbp), %r15
movq %r15, %rdi
movq %r14, %rsi
callq 0xa588
movq %r15, %rdi
movq -0x368(%rbp), %r15
movq -0x370(%rbp), %r12
callq 0xcf3c
cmpq %r12, %r15
je 0x8e28
leaq -0x288(%rbp), %rdi
movq %r14, %rsi
callq 0xa588
movq -0x50(%rbp), %r15
movq %r14, %rdi
leaq -0x288(%rbp), %r12
movq %r12, %rsi
callq 0xa852
movq %r12, %rdi
callq 0xcf3c
jmp 0x8e34
movq %r15, %rdi
callq 0x3280
movq -0x138(%rbp), %rdi
movl $0x1, %esi
movl $0x5, %edx
callq 0xe934
movq %rax, %rbx
jmp 0x8e34
movq %r14, %rdi
callq 0xa3de
movq -0x50(%rbp), %r15
testq %rbx, %rbx
je 0x9691
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 0x630e
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 0x6270
movq %r14, %rdi
movq %r12, %rsi
callq 0xae5a
movq %rax, %r12
movq -0x218(%rbp), %rdi
leaq -0x208(%rbp), %rax
cmpq %rax, %rdi
je 0x8ec8
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 0x94d8
leaq 0x7447(%rip), %rcx      # 0x10348
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0xb0(%rbp), %rdi
callq 0x3470
testl %eax, %eax
jne 0x9762
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 0x6270
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 0x630e
movq -0x48(%rbp), %r15
callq 0x3060
movq %rax, %r12
movl (%rax), %eax
movl %eax, -0x5c(%rbp)
movl $0x0, (%r12)
movq %r15, %rdi
leaq -0xa8(%rbp), %rsi
movl $0xa, %edx
callq 0x3410
cmpq %r15, -0xa8(%rbp)
je 0x9769
movslq %eax, %rcx
cmpq %rax, %rcx
jne 0x9775
movl (%r12), %ecx
cmpl $0x22, %ecx
je 0x9775
testl %ecx, %ecx
jne 0x8fdc
movl -0x5c(%rbp), %ecx
movl %ecx, (%r12)
movq %r13, %rdi
leaq -0x1b8(%rbp), %rsi
movl %eax, %edx
callq 0xe60a
movq %r13, 0x178(%r14)
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x9006
callq 0x3320
movq -0x1b8(%rbp), %rdi
leaq -0x1a8(%rbp), %rax
cmpq %rax, %rdi
movq -0x50(%rbp), %r15
je 0x9022
callq 0x3320
callq 0xae1d
movq -0xb0(%rbp), %rdi
callq 0x3280
movq %r15, %rdi
callq 0x3470
testl %eax, %eax
jne 0x9762
movl $0x18, 0x180(%r14)
jmp 0x9659
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 0x630e
movq -0x58(%rbp), %rsi
leaq -0x258(%rbp), %r12
movq %r12, %rdi
callq 0xe536
movq %r14, %rdi
movq -0x128(%rbp), %rsi
leaq -0x158(%rbp), %rdx
movq %r12, %rcx
callq 0x68ce
movq -0x258(%rbp), %rdi
leaq -0x248(%rbp), %rax
cmpq %rax, %rdi
je 0x90dc
callq 0x3320
movq -0x158(%rbp), %rdi
leaq -0x148(%rbp), %rax
cmpq %rax, %rdi
je 0x90f4
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 0xe3d8
jmp 0x9661
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 0x630e
movq -0x130(%rbp), %rdi
movq %r13, %rsi
callq 0xdd1c
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x9163
callq 0x3320
cmpq $0x0, -0x58(%rbp)
jne 0x9661
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 0x6270
leaq -0x48(%rbp), %r12
movq %r12, %rdi
movq %r14, %rsi
leaq -0xd0(%rbp), %rdx
callq 0x61a0
movq %r12, %rdi
leaq 0x722d(%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 0x96a6
movq %rdx, -0x110(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x100(%rbp)
jmp 0x96ac
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 0x630e
leaq -0xf0(%rbp), %rdi
movq %r13, %rsi
callq 0x33d0
movq -0x48(%rbp), %rdi
cmpq %r15, %rdi
je 0x924a
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 0x6270
movq -0x50(%rbp), %r15
leaq -0x198(%rbp), %rsi
callq 0xa318
movq -0x198(%rbp), %rdi
leaq -0x188(%rbp), %rax
cmpq %rax, %rdi
je 0x929d
callq 0x3320
movq %r15, %rdi
callq 0x3470
testl %eax, %eax
jne 0x9762
cmpl $0x18, 0x180(%r14)
jne 0x9659
movl $0x19, 0x180(%r14)
movq %r15, %rdi
callq 0x3280
leaq -0x48(%rbp), %r15
movq %r15, %rdi
movq %r14, %rsi
callq 0xa588
movq %r15, %rdi
movq -0x40(%rbp), %r15
movq -0x48(%rbp), %r12
callq 0xcf3c
cmpq %r12, %r15
je 0x964d
leaq -0x270(%rbp), %rdi
movq %r14, %rsi
callq 0xa588
movq -0x50(%rbp), %r15
movq %r14, %rdi
leaq -0x270(%rbp), %r12
movq %r12, %rsi
callq 0xa852
movq %r12, %rdi
callq 0xcf3c
jmp 0x9659
movq %r14, %rdi
movq %rbx, %rsi
callq 0xac00
jmp 0x9661
leaq -0x48(%rbp), %rdi
movq %r12, %rsi
callq 0xe536
leaq 0x14(%rbx), %r13
leaq -0x98(%rbp), %rax
movq %rax, -0xa8(%rbp)
movq %r13, %rdi
callq 0x3170
leaq (%rbx,%rax), %rdx
addq $0x14, %rdx
leaq -0xa8(%rbp), %rdi
movq %r13, %rsi
callq 0x630e
movq -0x48(%rbp), %rcx
movl $0xf, %edi
leaq -0x38(%rbp), %rax
cmpq %rax, %rcx
je 0x938b
movq -0x38(%rbp), %rdi
movq -0x40(%rbp), %r8
movq -0xa8(%rbp), %rsi
movq -0xa0(%rbp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
jbe 0x93c7
movl $0xf, %edi
leaq -0x98(%rbp), %r9
cmpq %r9, %rsi
je 0x93be
movq -0x98(%rbp), %rdi
cmpq %rdi, %rax
jbe 0x9551
leaq -0x48(%rbp), %rdi
callq 0x3100
jmp 0x9561
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 0x630e
leaq -0x238(%rbp), %rdi
movq %r13, %rsi
callq 0x33d0
movq -0x48(%rbp), %rdi
cmpq %r15, %rdi
je 0x941d
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 0x6270
movq %r12, %rdi
movq %r13, %rsi
movl $0x2328, %edx           # imm = 0x2328
callq 0xe60a
movq %r12, -0x68(%rbp)
movq -0x1f8(%rbp), %rdi
leaq -0x1e8(%rbp), %rax
cmpq %rax, %rdi
je 0x9488
callq 0x3320
movq 0x9a8(%r14), %rax
cmpq 0x9b0(%r14), %rax
je 0x952d
movq -0x68(%rbp), %rsi
movq %rsi, (%rax)
addq $0x8, 0x9a8(%r14)
jmp 0x9544
movq %r14, %rdi
callq 0xa9a0
cmpl $0x19, 0x180(%r14)
setne %cl
orb %cl, %al
jne 0x9661
movq %r14, %rdi
callq 0xa3de
jmp 0x9661
movl $0x12, %edx
movq 0xbaec(%rip), %rdi      # 0x14fd0
leaq 0x6f0a(%rip), %rsi      # 0x103f5
callq 0x33a0
movl (%rbx), %esi
movq 0xbad7(%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 0x9661
movq -0x120(%rbp), %rdi
movq %rax, %rsi
leaq -0x68(%rbp), %rdx
callq 0xdc00
movq -0x68(%rbp), %rsi
movq %r14, %rdi
callq 0xa9f0
jmp 0x9661
leaq -0xa8(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3370
leaq -0x78(%rbp), %rsi
movq %rsi, -0x88(%rbp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x9588
movq %rdx, -0x88(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x78(%rbp)
jmp 0x958e
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, -0x80(%rbp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
movq %r14, %rdi
leaq -0x88(%rbp), %rsi
callq 0x7f36
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x95ce
callq 0x3320
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0x95e6
callq 0x3320
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x95f8
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 0x630e
movq %r12, %rdi
movq %r13, %rsi
callq 0xe2fe
movq -0x1d8(%rbp), %rdi
leaq -0x1c8(%rbp), %rax
cmpq %rax, %rdi
je 0x9661
callq 0x3320
jmp 0x9661
movq %r14, %rdi
callq 0xa3de
movq -0x50(%rbp), %r15
movq %r15, %rdi
callq 0x3280
movq -0xf0(%rbp), %rdi
leaq -0xe0(%rbp), %rax
cmpq %rax, %rdi
je 0x9679
callq 0x3320
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x9691
callq 0x3320
movq %r15, %rdi
callq 0x3470
testl %eax, %eax
je 0x8d8c
jmp 0x975b
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 0xe0a4
movq %r13, -0x58(%rbp)
movq -0x110(%rbp), %rdi
leaq -0x100(%rbp), %rax
cmpq %rax, %rdi
je 0x96f8
callq 0x3320
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x970a
callq 0x3320
movq -0x178(%rbp), %rdi
leaq -0x168(%rbp), %rax
cmpq %rax, %rdi
je 0x9722
callq 0x3320
movq 0x960(%r14), %rsi
cmpq 0x968(%r14), %rsi
je 0x9746
movq -0x58(%rbp), %rax
movq %rax, (%rsi)
addq $0x8, 0x960(%r14)
jmp 0x9661
movq -0x118(%rbp), %rdi
leaq -0x58(%rbp), %rdx
callq 0xdf22
jmp 0x9661
movl %eax, %edi
callq 0x3250
movl %eax, %edi
callq 0x3250
leaq 0x69d4(%rip), %rdi      # 0x10144
callq 0x3240
leaq 0x69c8(%rip), %rdi      # 0x10144
callq 0x3450
movq %rax, %rbx
leaq -0x270(%rbp), %rdi
callq 0xcf3c
jmp 0x9953
movq %rax, %rbx
movq -0x110(%rbp), %rdi
leaq -0x100(%rbp), %rax
cmpq %rax, %rdi
je 0x97b5
callq 0x3320
jmp 0x97b5
movq %rax, %rbx
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x97cc
callq 0x3320
jmp 0x97cc
movq %rax, %rbx
movq -0x178(%rbp), %rdi
leaq -0x168(%rbp), %rax
jmp 0x990d
jmp 0x987b
jmp 0x9950
movq %rax, %rbx
jmp 0x98ed
movq %rax, %rbx
movq -0x1d8(%rbp), %rdi
leaq -0x1c8(%rbp), %rax
jmp 0x98c8
jmp 0x9950
movq %rax, %rbx
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x9861
callq 0x3320
jmp 0x9861
movq %rax, %rbx
movq -0x1f8(%rbp), %rdi
leaq -0x1e8(%rbp), %rax
cmpq %rax, %rdi
je 0x98a3
callq 0x3320
jmp 0x98a3
movq %rax, %rbx
jmp 0x98ff
movq %rax, %rbx
movq -0x198(%rbp), %rdi
leaq -0x188(%rbp), %rax
jmp 0x98c8
movq %rax, %rbx
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0x98c0
callq 0x3320
jmp 0x98c0
movq %rax, %rbx
jmp 0x9917
movq %rax, %rbx
movq -0x258(%rbp), %rdi
leaq -0x248(%rbp), %rax
cmpq %rax, %rdi
je 0x98ab
callq 0x3320
jmp 0x98ab
movq %rax, %rbx
movq %r12, %rdi
jmp 0x991a
movq %rax, %rbx
movq -0x158(%rbp), %rdi
leaq -0x148(%rbp), %rax
jmp 0x98c8
jmp 0x98bd
movq %rax, %rbx
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
jne 0x991a
jmp 0x9953
jmp 0x9950
jmp 0x9950
jmp 0x9950
jmp 0x9950
jmp 0x9950
movq %rax, %rbx
cmpl $0x0, (%r12)
jne 0x98ed
movl -0x5c(%rbp), %eax
movl %eax, (%r12)
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x98ff
callq 0x3320
movq -0x1b8(%rbp), %rdi
leaq -0x1a8(%rbp), %rax
cmpq %rax, %rdi
je 0x9917
callq 0x3320
movq %r13, %rdi
callq 0x3320
jmp 0x9953
jmp 0x9950
movq %rax, %rbx
leaq -0x288(%rbp), %rdi
callq 0xcf3c
jmp 0x998a
jmp 0x9987
movq %rax, %rbx
movq -0x218(%rbp), %rdi
leaq -0x208(%rbp), %rax
jmp 0x9961
movq %rax, %rbx
jmp 0x996b
jmp 0x9987
movq %rax, %rbx
movq -0xf0(%rbp), %rdi
leaq -0xe0(%rbp), %rax
cmpq %rax, %rdi
je 0x996b
callq 0x3320
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x998a
callq 0x3320
jmp 0x998a
jmp 0x9987
movq %rax, %rbx
movq -0x238(%rbp), %rdi
leaq -0x228(%rbp), %rax
cmpq %rax, %rdi
je 0x99a2
callq 0x3320
movq %rbx, %rdi
callq 0x3580