// File: /workspace/github_cpp_makefile_star2_O1/Agusyc[P]CTRPG/src/battle.cpp
// Function: Battle::showLevelUpMenu(Player)
void Battle::showLevelUpMenu(Player originalPlayer) {
    Json::Value jPlayer = getJsonPlayer();

    for (int points = player.level; points != 0; points--) {
        cout << "Points: " << points << endl << "1. HP" << endl << "2. Attack" << endl << "3. Defense" << endl << "4. Shield" << endl << "5. Mana" << endl << "6. Stamina" << endl << "7. New attack" << endl << "Your choice: ";

        int choice;

        cin >> choice;

        switch (choice) {
        case 1:
            originalPlayer.hp++;
            break;
        case 2:
            originalPlayer.attack++;
            break;
        case 3:
            originalPlayer.defense++;
            break;
        case 4:
            originalPlayer.shieldDefense++;
            break;
        case 5:
            originalPlayer.mana++;
            break;
        case 6:
            originalPlayer.stamina++;
            break;
        case 7:
            cout << endl; // Just some formatting

            bool exitLoop = false;
            while (!exitLoop) {
                int index = 1;
                vector<int> rIndexes;
                for (int i = 0; i < getAttacksNumber(); i++) {
                    Attack attack = parseAttack(i);
                    if (player.level >= attack.minLevel && player.level <= attack.maxLevel) {
			// If the player doesn't already have the attack, add it to the list
			if (player.attacks.at(i).id != parseAttack(i).id) {
                        	cout << index << ". " << attack.name << " Cost: " << attack.cost << endl;
                       		rIndexes.push_back(i);
                        	index++;
			}
                    }
                }

                cout << index << ". Go back" << endl << "Your choice: " << endl;

                int choice;
                cin >> choice;

                if (choice == index) {
                    exitLoop = true;
                    points++;
                    continue;
                }

                Attack chosenAttack = parseAttack(rIndexes[choice]);

                if (points < chosenAttack.cost) {
                    printMessage("You don't have enough points to get that attack!");
                    continue;
                }

                points -= chosenAttack.cost;

                printMessage(string("You got ") + YELLOW + chosenAttack.name + WHITE);

                jPlayer["attacks"].append(choice);

                exitLoop = true;
            }

            break;
        }
    }

    jPlayer["hp"] = originalPlayer.hp;
    jPlayer["attack"] = originalPlayer.attack;
    jPlayer["defense"] = originalPlayer.defense;
    jPlayer["mana"] = originalPlayer.mana;
    jPlayer["stamina"] = originalPlayer.stamina;
    jPlayer["goal"] = player.goal;
    jPlayer["xp"] = player.xp;
    jPlayer["level"] = player.level;

    Json::StyledWriter writer;
    ofstream jPlayerFile("./json/player.json");
    jPlayerFile << writer.write(jPlayer);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x398, %rsp            # imm = 0x398
movq %rsi, -0x30(%rbp)
movq %rdi, %rbx
leaq -0xa8(%rbp), %rdi
callq 0x8e10
movl 0x38(%rbx), %eax
movl %eax, -0x34(%rbp)
testl %eax, %eax
je 0x793a
leaq -0x3a8(%rbp), %r12
leaq -0x3b8(%rbp), %r14
movl $0x8, %edx
movq 0x7ed3(%rip), %rdi      # 0xefd0
leaq 0x522c(%rip), %rsi      # 0xc330
callq 0x32f0
movq 0x7ec0(%rip), %rdi      # 0xefd0
movl -0x34(%rbp), %esi
callq 0x34b0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x3280
movsbl %al, %esi
movq %r15, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31a0
movq %rax, %r13
movl $0x5, %edx
movq %rax, %rdi
leaq 0x51e5(%rip), %rsi      # 0xc339
callq 0x32f0
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x3280
movsbl %al, %esi
movq %r13, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31a0
movq %rax, %r13
movl $0x9, %edx
movq %rax, %rdi
leaq 0x51ac(%rip), %rsi      # 0xc33f
callq 0x32f0
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x3280
movsbl %al, %esi
movq %r13, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31a0
movq %rax, %r13
movl $0xa, %edx
movq %rax, %rdi
leaq 0x5177(%rip), %rsi      # 0xc349
callq 0x32f0
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x3280
movsbl %al, %esi
movq %r13, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31a0
movq %rax, %r13
movl $0x9, %edx
movq %rax, %rdi
leaq 0x5143(%rip), %rsi      # 0xc354
callq 0x32f0
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x3280
movsbl %al, %esi
movq %r13, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31a0
movq %rax, %r13
movl $0x7, %edx
movq %rax, %rdi
leaq 0x510e(%rip), %rsi      # 0xc35e
callq 0x32f0
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x3280
movsbl %al, %esi
movq %r13, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31a0
movq %rax, %r13
movl $0xa, %edx
movq %rax, %rdi
leaq 0x50d7(%rip), %rsi      # 0xc366
callq 0x32f0
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x3280
movsbl %al, %esi
movq %r13, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31a0
movq %rax, %r13
movl $0xd, %edx
movq %rax, %rdi
leaq 0x50a3(%rip), %rsi      # 0xc371
callq 0x32f0
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x3280
movsbl %al, %esi
movq %r13, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31a0
movl $0xd, %edx
movq %rax, %rdi
leaq 0x4e25(%rip), %rsi      # 0xc12f
callq 0x32f0
movq 0x7cca(%rip), %rdi      # 0xefe0
leaq -0x60(%rbp), %rsi
callq 0x3180
movl -0x60(%rbp), %eax
decl %eax
cmpl $0x6, %eax
ja 0x7931
leaq 0x4ce0(%rip), %rcx      # 0xc014
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x30(%rbp), %rax
incl 0x34(%rax)
jmp 0x7931
movq -0x30(%rbp), %rax
incl 0x2c(%rax)
jmp 0x7931
movq -0x30(%rbp), %rax
incl 0x24(%rax)
jmp 0x7931
movq -0x30(%rbp), %rax
incl 0x28(%rax)
jmp 0x7931
movq -0x30(%rbp), %rax
incl 0x20(%rax)
jmp 0x7931
movq -0x30(%rbp), %rax
incl 0x30(%rax)
jmp 0x7931
movq 0x7c44(%rip), %rcx      # 0xefd0
movq (%rcx), %rax
movq -0x18(%rax), %rdi
addq %rcx, %rdi
movl $0xa, %esi
callq 0x3280
movsbl %al, %esi
movq 0x7c26(%rip), %rdi      # 0xefd0
callq 0x3030
movq %rax, %rdi
callq 0x31a0
xorl %r13d, %r13d
movl %r13d, -0x5c(%rbp)
xorps %xmm0, %xmm0
movaps %xmm0, -0x80(%rbp)
movq $0x0, -0x70(%rbp)
movl $0x1, %r13d
xorl %r15d, %r15d
movl %r15d, -0x58(%rbp)
callq 0x8f69
cmpl %eax, %r15d
jge 0x754a
movl -0x58(%rbp), %esi
movq %r14, %rdi
callq 0x973e
movl 0x38(%rbx), %eax
cmpl -0x388(%rbp), %eax
jl 0x752d
cmpl -0x384(%rbp), %eax
jg 0x752d
movslq -0x58(%rbp), %rsi
movq 0x48(%rbx), %rax
movq 0x50(%rbx), %rdx
subq %rax, %rdx
sarq $0x6, %rdx
cmpq %rsi, %rdx
jbe 0x7bc5
movq %rsi, %rcx
shlq $0x6, %rcx
movl 0x3c(%rax,%rcx), %r15d
leaq -0x1b8(%rbp), %rdi
callq 0x973e
movl -0x17c(%rbp), %r12d
movq -0x1b8(%rbp), %rdi
leaq -0x1a8(%rbp), %rax
cmpq %rax, %rdi
je 0x7461
callq 0x3260
cmpl %r12d, %r15d
jne 0x7472
leaq -0x3a8(%rbp), %r12
jmp 0x752d
movq 0x7b57(%rip), %rdi      # 0xefd0
movl %r13d, %esi
leaq -0x3a8(%rbp), %r12
callq 0x34b0
movq %rax, %r15
movl $0x2, %edx
movq %rax, %rdi
leaq 0x4cad(%rip), %rsi      # 0xc147
callq 0x32f0
movq -0x3b8(%rbp), %rsi
movq -0x3b0(%rbp), %rdx
movq %r15, %rdi
callq 0x32f0
movq %rax, %r15
movl $0x7, %edx
movq %rax, %rdi
leaq 0x4eb8(%rip), %rsi      # 0xc37f
callq 0x32f0
movl -0x380(%rbp), %esi
movq %r15, %rdi
callq 0x34b0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x3280
movsbl %al, %esi
movq %r15, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31a0
movq -0x78(%rbp), %rsi
cmpq -0x70(%rbp), %rsi
je 0x751d
movl -0x58(%rbp), %eax
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, -0x78(%rbp)
jmp 0x752a
leaq -0x80(%rbp), %rdi
leaq -0x58(%rbp), %rdx
callq 0x8cd8
incl %r13d
movq -0x3b8(%rbp), %rdi
cmpq %r12, %rdi
je 0x753e
callq 0x3260
movl -0x58(%rbp), %r15d
incl %r15d
jmp 0x73d6
movq 0x7a7f(%rip), %rdi      # 0xefd0
movl %r13d, %esi
callq 0x34b0
movq %rax, %r15
movl $0x9, %edx
movq %rax, %rdi
leaq 0x4bdf(%rip), %rsi      # 0xc14a
callq 0x32f0
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x3280
movsbl %al, %esi
movq %r15, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31a0
movq %rax, %r15
movl $0xd, %edx
movq %rax, %rdi
leaq 0x4b86(%rip), %rsi      # 0xc12f
callq 0x32f0
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x3280
movsbl %al, %esi
movq %r15, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31a0
movq 0x7a04(%rip), %rdi      # 0xefe0
leaq -0x38(%rbp), %rsi
callq 0x3180
movslq -0x38(%rbp), %rax
cmpl %r13d, %eax
jne 0x75f9
incl -0x34(%rbp)
movb $0x1, %r13b
jmp 0x7919
movq -0x80(%rbp), %rcx
movl (%rcx,%rax,4), %esi
movq %r14, %rdi
callq 0x973e
movl -0x34(%rbp), %eax
subl -0x380(%rbp), %eax
movl -0x5c(%rbp), %r13d
jge 0x76c6
leaq -0xd8(%rbp), %rax
movq %rax, -0xe8(%rbp)
leaq -0xe8(%rbp), %rdi
leaq 0x4d50(%rip), %rsi      # 0xc387
leaq 0x4d79(%rip), %rdx      # 0xc3b7
callq 0x894a
leaq -0x138(%rbp), %rax
movq %rax, -0x148(%rbp)
leaq -0x148(%rbp), %r15
movq %r15, %rdi
leaq 0x49ea(%rip), %rsi      # 0xc04c
leaq 0x49e8(%rip), %rdx      # 0xc051
callq 0x894a
leaq -0xe8(%rbp), %rdi
movq %r15, %rsi
movl $0x23, %edx
movl $0x12c, %ecx            # imm = 0x12C
movl $0x1, %r8d
callq 0xb52c
movq -0x148(%rbp), %rdi
leaq -0x138(%rbp), %rax
cmpq %rax, %rdi
je 0x76a5
callq 0x3260
movq -0xe8(%rbp), %rdi
leaq -0xd8(%rbp), %rax
cmpq %rax, %rdi
je 0x7908
callq 0x3260
jmp 0x7908
movl %eax, -0x34(%rbp)
leaq -0x118(%rbp), %rax
movq %rax, -0x128(%rbp)
leaq -0x128(%rbp), %r15
movq %r15, %rdi
leaq 0x4cd0(%rip), %rsi      # 0xc3b8
leaq 0x4cd1(%rip), %rdx      # 0xc3c0
callq 0x894a
movq %r15, %rdi
leaq 0x4942(%rip), %rsi      # 0xc040
callq 0x3520
leaq -0x48(%rbp), %rsi
movq %rsi, -0x58(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x7727
movq %rdx, -0x58(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x48(%rbp)
jmp 0x772d
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x50(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x3b8(%rbp), %rsi
movq -0x3b0(%rbp), %rdx
leaq -0x58(%rbp), %rdi
callq 0x30b0
leaq -0x1a8(%rbp), %rsi
movq %rsi, -0x1b8(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x778b
movq %rdx, -0x1b8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x1a8(%rbp)
jmp 0x7791
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x1b0(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x1b8(%rbp), %rdi
leaq 0x4893(%rip), %rsi      # 0xc04c
callq 0x3520
leaq -0xb8(%rbp), %rsi
movq %rsi, -0xc8(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x77ee
movq %rdx, -0xc8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xb8(%rbp)
jmp 0x77f4
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0xc0(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0xf8(%rbp), %rax
movq %rax, -0x108(%rbp)
leaq -0x108(%rbp), %r15
movq %r15, %rdi
leaq 0x481f(%rip), %rsi      # 0xc04c
leaq 0x481d(%rip), %rdx      # 0xc051
callq 0x894a
leaq -0xc8(%rbp), %rdi
movq %r15, %rsi
movl $0x23, %edx
movl $0x12c, %ecx            # imm = 0x12C
movl $0x1, %r8d
callq 0xb52c
movq -0x108(%rbp), %rdi
leaq -0xf8(%rbp), %rax
cmpq %rax, %rdi
je 0x7870
callq 0x3260
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0x7888
callq 0x3260
movq -0x1b8(%rbp), %rdi
leaq -0x1a8(%rbp), %rax
cmpq %rax, %rdi
je 0x78a0
callq 0x3260
movq -0x58(%rbp), %rdi
leaq -0x48(%rbp), %rax
cmpq %rax, %rdi
je 0x78b2
callq 0x3260
movq -0x128(%rbp), %rdi
leaq -0x118(%rbp), %rax
cmpq %rax, %rdi
je 0x78ca
callq 0x3260
leaq -0xa8(%rbp), %rdi
leaq 0x4ae9(%rip), %rsi      # 0xc3c1
callq 0x30e0
movq %rax, %r15
movl -0x38(%rbp), %esi
leaq -0x1b8(%rbp), %r13
movq %r13, %rdi
callq 0x3170
movq %r15, %rdi
movq %r13, %rsi
callq 0x3370
movq %r13, %rdi
callq 0x3140
movb $0x1, %r13b
movq -0x3b8(%rbp), %rdi
cmpq %r12, %rdi
je 0x7919
callq 0x3260
movq -0x80(%rbp), %rdi
testq %rdi, %rdi
je 0x7927
callq 0x3260
testb $0x1, %r13b
je 0x73ba
decl -0x34(%rbp)
jne 0x70f1
movq -0x30(%rbp), %rax
movl 0x34(%rax), %esi
leaq -0x3b8(%rbp), %rdi
callq 0x3170
leaq 0x4a75(%rip), %rsi      # 0xc3c9
leaq -0xa8(%rbp), %rdi
callq 0x30e0
leaq -0x3b8(%rbp), %r14
movq %rax, %rdi
movq %r14, %rsi
callq 0x3310
movq %r14, %rdi
callq 0x3140
movq -0x30(%rbp), %rax
movl 0x20(%rax), %esi
leaq -0x3b8(%rbp), %rdi
callq 0x3170
leaq 0x49e4(%rip), %rsi      # 0xc378
leaq -0xa8(%rbp), %rdi
callq 0x30e0
movq %rax, %rdi
movq %r14, %rsi
callq 0x3310
movq %r14, %rdi
callq 0x3140
movq -0x30(%rbp), %rax
movl 0x24(%rax), %esi
leaq -0x3b8(%rbp), %rdi
callq 0x3170
leaq 0x49ff(%rip), %rsi      # 0xc3cc
leaq -0xa8(%rbp), %rdi
callq 0x30e0
movq %rax, %rdi
movq %r14, %rsi
callq 0x3310
movq %r14, %rdi
callq 0x3140
movq -0x30(%rbp), %rax
movl 0x2c(%rax), %esi
leaq -0x3b8(%rbp), %rdi
callq 0x3170
leaq 0x49ce(%rip), %rsi      # 0xc3d4
leaq -0xa8(%rbp), %rdi
callq 0x30e0
movq %rax, %rdi
movq %r14, %rsi
callq 0x3310
movq %r14, %rdi
callq 0x3140
movq -0x30(%rbp), %rax
movl 0x30(%rax), %esi
leaq -0x3b8(%rbp), %rdi
callq 0x3170
leaq 0x499a(%rip), %rsi      # 0xc3d9
leaq -0xa8(%rbp), %rdi
callq 0x30e0
movq %rax, %rdi
movq %r14, %rsi
callq 0x3310
movq %r14, %rdi
callq 0x3140
movl 0x40(%rbx), %esi
leaq -0x3b8(%rbp), %rdi
callq 0x3170
leaq 0x496d(%rip), %rsi      # 0xc3e1
leaq -0xa8(%rbp), %rdi
callq 0x30e0
movq %rax, %rdi
movq %r14, %rsi
callq 0x3310
movq %r14, %rdi
callq 0x3140
movl 0x3c(%rbx), %esi
leaq -0x3b8(%rbp), %rdi
callq 0x3170
leaq 0x493d(%rip), %rsi      # 0xc3e6
leaq -0xa8(%rbp), %rdi
callq 0x30e0
movq %rax, %rdi
movq %r14, %rsi
callq 0x3310
movq %r14, %rdi
callq 0x3140
movl 0x38(%rbx), %esi
leaq -0x3b8(%rbp), %rdi
callq 0x3170
leaq 0x490b(%rip), %rsi      # 0xc3e9
leaq -0xa8(%rbp), %rdi
callq 0x30e0
leaq -0x3b8(%rbp), %rbx
movq %rax, %rdi
movq %rbx, %rsi
callq 0x3310
movq %rbx, %rdi
callq 0x3140
leaq -0x1b8(%rbp), %rdi
callq 0x3060
leaq 0x48d8(%rip), %rsi      # 0xc3ef
leaq -0x3b8(%rbp), %rdi
movl $0x10, %edx
callq 0x32b0
leaq -0x58(%rbp), %rdi
leaq -0x1b8(%rbp), %rsi
leaq -0xa8(%rbp), %rdx
callq 0x3350
movq -0x58(%rbp), %rsi
movq -0x50(%rbp), %rdx
leaq -0x3b8(%rbp), %rdi
callq 0x32f0
leaq -0x48(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x7b65
callq 0x3260
movq 0x745c(%rip), %rax      # 0xefc8
movq (%rax), %rcx
movq 0x18(%rax), %rax
leaq -0x3b0(%rbp), %rdi
movq %rcx, -0x8(%rdi)
movq -0x18(%rcx), %rcx
movq %rax, -0x3b8(%rbp,%rcx)
callq 0x3200
leaq -0x2c0(%rbp), %rdi
callq 0x30c0
leaq -0x1b8(%rbp), %rdi
callq 0x7ef6
leaq -0xa8(%rbp), %rdi
callq 0x3140
addq $0x398, %rsp            # imm = 0x398
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x4866(%rip), %rdi      # 0xc432
xorl %eax, %eax
callq 0x3400
movq %rax, %rbx
leaq -0x48(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x7bed
callq 0x3260
jmp 0x7bed
movq %rax, %rbx
leaq -0x3b8(%rbp), %rdi
callq 0x33d0
jmp 0x7bfe
movq %rax, %rbx
leaq -0x1b8(%rbp), %rdi
callq 0x7ef6
jmp 0x7d85
jmp 0x7d51
jmp 0x7c45
jmp 0x7d51
jmp 0x7c45
jmp 0x7d51
jmp 0x7c45
jmp 0x7d51
jmp 0x7c45
jmp 0x7d51
jmp 0x7c45
jmp 0x7d51
jmp 0x7c45
jmp 0x7d51
jmp 0x7c45
jmp 0x7d51
movq %rax, %rbx
leaq -0x3b8(%rbp), %rdi
callq 0x3140
jmp 0x7d85
jmp 0x7d51
jmp 0x7d63
movq %rax, %rbx
jmp 0x7c83
movq %rax, %rbx
movq -0x148(%rbp), %rdi
leaq -0x138(%rbp), %rax
cmpq %rax, %rdi
je 0x7c83
callq 0x3260
movq -0xe8(%rbp), %rdi
leaq -0xd8(%rbp), %rax
jmp 0x7d31
movq %rax, %rbx
jmp 0x7d23
movq %rax, %rbx
jmp 0x7d11
movq %rax, %rbx
jmp 0x7cf9
movq %rax, %rbx
jmp 0x7ce1
movq %rax, %rbx
leaq -0x1b8(%rbp), %rdi
callq 0x3140
jmp 0x7d42
jmp 0x7d63
movq %rax, %rbx
movq -0x108(%rbp), %rdi
leaq -0xf8(%rbp), %rax
cmpq %rax, %rdi
je 0x7ce1
callq 0x3260
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0x7cf9
callq 0x3260
movq -0x1b8(%rbp), %rdi
leaq -0x1a8(%rbp), %rax
cmpq %rax, %rdi
je 0x7d11
callq 0x3260
movq -0x58(%rbp), %rdi
leaq -0x48(%rbp), %rax
cmpq %rax, %rdi
je 0x7d23
callq 0x3260
movq -0x128(%rbp), %rdi
leaq -0x118(%rbp), %rax
cmpq %rax, %rdi
je 0x7d42
callq 0x3260
jmp 0x7d42
jmp 0x7d63
movq %rax, %rbx
leaq -0x3a8(%rbp), %r12
jmp 0x7d66
jmp 0x7d51
jmp 0x7d5e
jmp 0x7d5e
movq %rax, %rbx
jmp 0x7d85
jmp 0x7d5e
jmp 0x7d63
jmp 0x7d63
jmp 0x7d5e
movq %rax, %rbx
jmp 0x7d77
movq %rax, %rbx
movq -0x3b8(%rbp), %rdi
cmpq %r12, %rdi
je 0x7d77
callq 0x3260
movq -0x80(%rbp), %rdi
testq %rdi, %rdi
je 0x7d85
callq 0x3260
leaq -0xa8(%rbp), %rdi
callq 0x3140
movq %rbx, %rdi
callq 0x34d0
nop