// File: /workspace/github_cpp_makefile_star2_O1/hobbitsyfeet[P]Turn/turn.cc
// Function: Turn::run(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
void Turn::run(string playername){

	//Unit player;
	player.loadUnit(playername);
	Chart world;

  string option;
  int x,y;
  cout<<player.getCurrentWorld();
  //load info
  //getPlayer();
  world.loadWorld(player.getCurrentWorld());
  world.setChartName(player.getCurrentWorld());
 // world.setSpawn('O',player.posX,player.posY);
  cout<<"Loaded:"<<player.getName();

  //start commands


  while(option != "end"){

		//First input
    cout<<endl<<">>";
    cin>>option;
	cout << "\x1B[2J\x1B[H";
		welcomeBanner("banners/banner.txt");

      //**INVENTORY**
    if(option == "inv"){
      player.inv.displayInv();
    }

		else if(option == "path"){
			cout<<"entering path";
			world.findPath(player.getPosX(),player.getPosY(),15,15);
		}
    //**STATS**
    else if (option == "stats"){
      player.displayStats();
    }
    //**MOVE**
    else if(option == "move"){
    	movePlayer(player,world);
		}


		else if(option == "map"){
			//world.displayWorld();
			//cout<<endl;
			world.displayRange(player.getPosX(),player.getPosY(),5);
			//player.getPos();
		}
		else if(option == "pos"){
			player.getPos();
		}
		else if(option == "target-pos"){
			target.getPos();
		}
		else if(option == "equip"){
			cout<<"What do you want to equip? >>";
			cin>>option;
			player.equipItem(option);
		}
		else if(option == "un-equip"){
			cout<<"What do you want to un-equip? >>";
			cin>>option;
			player.unEquipItem(option);
		}
		else if(option == "target"){
			cout<<"Who >>";
			cin >> option;
			target.loadUnit(option);
			cout<<"targeted:"<<endl;
			target.displayStats();
		}
		else if (option == "target-stats"){
			target.displayStats();
		}
		else if(option == "attack"){
			player.attackUnit(target);
		}
		else if(option =="loot"){
			if(target.getHealth() == 0){
				target.inv.displayInv();
				cout<<endl<<"choose an item";
				cin>>option;
				if(option!="nothing")
				player.lootUnit(option,target);
				if(target.getName() != "NoName")
				target.saveUnit(target.getName());
				player.saveUnit(player.getName());
			}
			else cout<<"Cannot loot";
		}
		else if(option == "give"){
			player.inv.displayInv();
			cout<<endl<<"what to give>>";
			cin>>option;
     	 if(option != "nothing")
			target.lootUnit(option,player);
			if(target.getName() != "NoName")
			target.saveUnit(target.getName());
			player.saveUnit(player.getName());
		}
		else if (option == "distance"){
			cout<<player.distanceTo(target.getPosX(),target.getPosY());
		}
		else if (option == "tbag"){
			cout<<"how many times?>>";
			int tbags;
			cin>>tbags;
			//static_cast<int>option;
			for(int i =1;i<=tbags; i++){
				cout<<player.getName()<<" T-bagged ";

				if(target.getName() == player.getName())
				cout<<"himself ";
				else
				cout<<target.getName()<<" ";

				cout<<i;
				if(i<=1)
				cout<<" time"<<endl;
				else
				cout<<" times"<<endl;
			}

		}
		//if you end up attacking yourself, stats wouldn't differ from saved info.
		//player.loadUnit(player.getName());
		else if(option =="save"){
		//	cout<<"who >>";
		//	cin>>option;
			player.saveUnit(player.getName() );
		}

		else if(option == "help" || option =="?"){
			cout<<"Command List: \n";
			cout<<"Actions,Stats or Other >>";
			cin>>option;
			if(option =="actions"){
				cout<<"Actions:"<<endl
				<<"attack: Deals damage to target"<<endl
				<<"equip: Equips item and gain stats"<<endl
				<<"un-equip: Un-equip item in order to equip another"<<endl
				<<"move: North,east,south,west for a distance"<<endl
				<<"give: give another target an item from your inventory"<<endl
				<<"loot: Put dead target's item into your inventory"<<endl
				<<"taret: Name a unit to target, get info and attack"<<endl
				<<"t-bag: Tbag your target!"<<endl;
			}
		}

		else
			cout<<"no such command\n";
	//welcome();
	}
	cout << "\x1B[2J\x1B[H";
		welcomeBanner("banners/banner.txt");
		welcomeBanner("banners/bannerOver.txt" );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x308, %rsp            # imm = 0x308
movq %rdi, %rbx
leaq -0x2b8(%rbp), %r15
movq %r15, -0x10(%r15)
movq (%rsi), %rax
movq 0x8(%rsi), %rdx
addq %rax, %rdx
leaq -0x2c8(%rbp), %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x344a
movq %rbx, %rdi
movq %r14, %rsi
callq 0x51a2
movq -0x2c8(%rbp), %rdi
cmpq %r15, %rdi
je 0x60b8
movq -0x2b8(%rbp), %rsi
incq %rsi
callq 0x2210
leaq -0x238(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x4fc2(%rip), %rsi      # 0xb08c
leaq 0x4fc4(%rip), %rdx      # 0xb095
leaq -0x248(%rbp), %rdi
callq 0x34e4
leaq -0x330(%rbp), %rdi
leaq -0x248(%rbp), %rsi
movl $0x20, %edx
movl $0x20, %ecx
xorl %r8d, %r8d
callq 0x7a80
movq -0x248(%rbp), %rdi
cmpq %r14, %rdi
je 0x6118
movq -0x238(%rbp), %rsi
incq %rsi
callq 0x2210
leaq -0x68(%rbp), %rax
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq -0x50(%rbp), %rdi
movq %rbx, %rsi
callq 0x37a8
movq -0x50(%rbp), %rsi
movq -0x48(%rbp), %rdx
movq 0x8e8a(%rip), %rdi      # 0xefd0
callq 0x2240
leaq -0x40(%rbp), %r15
movq -0x10(%r15), %rdi
cmpq %r15, %rdi
je 0x6164
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x2210
leaq -0x2a8(%rbp), %rdi
movq %rbx, %rsi
callq 0x37a8
leaq -0x330(%rbp), %rdi
leaq -0x2a8(%rbp), %rsi
callq 0x7b14
leaq -0x298(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x61a5
movq -0x298(%rbp), %rsi
incq %rsi
callq 0x2210
leaq -0x288(%rbp), %rdi
movq %rbx, %rsi
callq 0x37a8
leaq -0x330(%rbp), %rdi
leaq -0x288(%rbp), %rsi
callq 0x88e2
leaq -0x278(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x61e6
movq -0x278(%rbp), %rsi
incq %rsi
callq 0x2210
movq 0x8de3(%rip), %rdi      # 0xefd0
leaq 0x51ec(%rip), %rsi      # 0xb3e0
movl $0x7, %edx
callq 0x2240
leaq -0x50(%rbp), %rdi
movq %rbx, %rsi
callq 0x36fc
movq -0x50(%rbp), %rsi
movq -0x48(%rbp), %rdx
movq 0x8db7(%rip), %r14      # 0xefd0
movq %r14, %rdi
callq 0x2240
movq -0x50(%rbp), %rdi
cmpq %r15, %rdi
je 0x6236
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x2210
leaq 0x51ab(%rip), %rsi      # 0xb3e8
leaq -0x78(%rbp), %rdi
callq 0x20c0
testl %eax, %eax
je 0x6e02
leaq 0xa0(%rbx), %rax
movq %rax, -0x30(%rbp)
leaq 0x80(%rbx), %rax
movq %rax, -0x80(%rbp)
leaq 0x120(%rbx), %rax
movq %rax, -0x148(%rbp)
leaq -0x78(%rbp), %r12
leaq -0x140(%rbp), %r13
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2170
movl $0x2, %edx
movq %rax, %rdi
leaq 0x4e0b(%rip), %rsi      # 0xb0be
callq 0x2240
movq 0x8d21(%rip), %rdi      # 0xefe0
movq %r12, %rsi
callq 0x2260
movl $0x7, %edx
movq %r14, %rdi
leaq 0x4d87(%rip), %rsi      # 0xb05d
callq 0x2240
leaq -0x130(%rbp), %rax
movq %rax, -0x140(%rbp)
movq %r13, %rdi
leaq 0x4d45(%rip), %rsi      # 0xb038
leaq 0x4d50(%rip), %rdx      # 0xb04a
callq 0x34e4
movq %r13, %rsi
callq 0x7230
movq -0x140(%rbp), %rdi
leaq -0x130(%rbp), %rax
cmpq %rax, %rdi
je 0x6329
movq -0x130(%rbp), %rsi
incq %rsi
callq 0x2210
movq %r12, %rdi
leaq 0x50b9(%rip), %rsi      # 0xb3ec
callq 0x20c0
testl %eax, %eax
je 0x665b
movq %r12, %rdi
leaq 0x50af(%rip), %rsi      # 0xb3f9
callq 0x20c0
testl %eax, %eax
je 0x6669
movq %r12, %rdi
leaq 0x51fa(%rip), %rsi      # 0xb55b
callq 0x20c0
movq %rbx, %rdi
testl %eax, %eax
je 0x68af
movq %r12, %rdi
leaq 0x5083(%rip), %rsi      # 0xb3fe
callq 0x20c0
testl %eax, %eax
je 0x66b1
movq %r12, %rdi
leaq 0x5071(%rip), %rsi      # 0xb403
callq 0x20c0
testl %eax, %eax
je 0x66cf
movq %r12, %rdi
leaq 0x5065(%rip), %rsi      # 0xb40e
callq 0x20c0
movq %rbx, %rdi
testl %eax, %eax
je 0x66c5
movq %r12, %rdi
leaq 0x5044(%rip), %rsi      # 0xb407
callq 0x20c0
movq -0x30(%rbp), %rdi
testl %eax, %eax
je 0x66c5
movq %r12, %rdi
leaq 0x5055(%rip), %rsi      # 0xb433
callq 0x20c0
testl %eax, %eax
je 0x66fd
movq %r12, %rdi
leaq 0x503b(%rip), %rsi      # 0xb430
callq 0x20c0
testl %eax, %eax
je 0x6774
movq %r12, %rdi
leaq 0x512c(%rip), %rsi      # 0xb538
callq 0x20c0
testl %eax, %eax
je 0x67f6
movq %r12, %rdi
leaq 0x5048(%rip), %rsi      # 0xb46b
callq 0x20c0
movq -0x30(%rbp), %rdi
testl %eax, %eax
je 0x68af
movq %r12, %rdi
leaq 0x5212(%rip), %rsi      # 0xb650
callq 0x20c0
testl %eax, %eax
je 0x68d0
movq %r12, %rdi
leaq 0x4de9(%rip), %rsi      # 0xb23e
callq 0x20c0
testl %eax, %eax
je 0x68de
movq %r12, %rdi
leaq 0x5023(%rip), %rsi      # 0xb48f
callq 0x20c0
testl %eax, %eax
je 0x6905
movq %r12, %rdi
leaq 0x5132(%rip), %rsi      # 0xb5b5
callq 0x20c0
testl %eax, %eax
je 0x6a69
movq %r12, %rdi
leaq 0x5009(%rip), %rsi      # 0xb4a3
callq 0x20c0
testl %eax, %eax
je 0x6c01
movq %r12, %rdi
leaq 0x502a(%rip), %rsi      # 0xb4db
callq 0x20c0
testl %eax, %eax
je 0x6dc1
movq %r12, %rdi
leaq 0x5018(%rip), %rsi      # 0xb4e0
callq 0x20c0
testl %eax, %eax
je 0x64f4
movq %r12, %rdi
leaq 0x4b80(%rip), %rsi      # 0xb05b
callq 0x20c0
movl $0x10, %edx
leaq 0x5184(%rip), %rsi      # 0xb670
testl %eax, %eax
jne 0x68fb
movl $0xf, %edx
movq %r14, %rdi
leaq 0x4fe2(%rip), %rsi      # 0xb4e5
callq 0x2240
movl $0x19, %edx
movq %r14, %rdi
leaq 0x4fde(%rip), %rsi      # 0xb4f5
callq 0x2240
movq 0x8abd(%rip), %rdi      # 0xefe0
movq %r12, %rsi
callq 0x2260
movq %r12, %rdi
leaq 0x4fda(%rip), %rsi      # 0xb50f
callq 0x20c0
testl %eax, %eax
jne 0x68b4
movl $0x8, %edx
movq %r14, %rdi
leaq 0x4fc6(%rip), %rsi      # 0xb517
callq 0x2240
movq %r14, %rdi
callq 0x2120
movq %rax, %r15
movl $0x1e, %edx
movq %rax, %rdi
leaq 0x4fb0(%rip), %rsi      # 0xb520
callq 0x2240
movq %r15, %rdi
callq 0x2120
movq %rax, %r15
movl $0x21, %edx
movq %rax, %rdi
leaq 0x4fb0(%rip), %rsi      # 0xb53f
callq 0x2240
movq %r15, %rdi
callq 0x2120
movq %rax, %r15
movl $0x31, %edx
movq %rax, %rdi
leaq 0x4fb3(%rip), %rsi      # 0xb561
callq 0x2240
movq %r15, %rdi
callq 0x2120
movq %rax, %r15
movl $0x2a, %edx
movq %rax, %rdi
leaq 0x4fc6(%rip), %rsi      # 0xb593
callq 0x2240
movq %r15, %rdi
callq 0x2120
movq %rax, %r15
movl $0x35, %edx
movq %rax, %rdi
leaq 0x4fd2(%rip), %rsi      # 0xb5be
callq 0x2240
movq %r15, %rdi
callq 0x2120
movq %rax, %r15
movl $0x30, %edx
movq %rax, %rdi
leaq 0x4fe9(%rip), %rsi      # 0xb5f4
callq 0x2240
movq %r15, %rdi
callq 0x2120
movq %rax, %r15
movl $0x31, %edx
movq %rax, %rdi
leaq 0x4ffb(%rip), %rsi      # 0xb625
callq 0x2240
movq %r15, %rdi
callq 0x2120
movq %rax, %r15
movl $0x18, %edx
movq %rax, %rdi
leaq 0x500e(%rip), %rsi      # 0xb657
callq 0x2240
movq %r15, %rdi
callq 0x2120
jmp 0x68b4
movq -0x80(%rbp), %rdi
callq 0x93dc
jmp 0x68b4
movl $0xd, %edx
movq %r14, %rdi
leaq 0x4d78(%rip), %rsi      # 0xb3f0
callq 0x2240
movq %rbx, %rdi
callq 0x379e
movl %eax, %r15d
movq %rbx, %rdi
callq 0x3794
leaq -0x330(%rbp), %rdi
movl %r15d, %esi
movl %eax, %edx
movl $0xf, %ecx
movl $0xf, %r8d
callq 0x873a
jmp 0x68b4
movq %rbx, %rsi
leaq -0x330(%rbp), %rdx
callq 0x73fe
jmp 0x68b4
callq 0x4b64
jmp 0x68b4
movq %rbx, %rdi
callq 0x379e
movl %eax, %r15d
movq %rbx, %rdi
callq 0x3794
leaq -0x330(%rbp), %rdi
movl %r15d, %esi
movl %eax, %edx
movl $0x5, %ecx
callq 0x8422
jmp 0x68b4
movl $0x1d, %edx
movq %r14, %rdi
leaq 0x4d06(%rip), %rsi      # 0xb412
callq 0x2240
movq 0x88c8(%rip), %rdi      # 0xefe0
movq %r12, %rsi
callq 0x2260
leaq -0x110(%rbp), %rax
movq %rax, -0x120(%rbp)
movq -0x78(%rbp), %rsi
movq -0x70(%rbp), %rdx
addq %rsi, %rdx
leaq -0x120(%rbp), %rdi
callq 0x344a
movq %rbx, %rdi
leaq -0x120(%rbp), %rsi
callq 0x4ba2
movq -0x120(%rbp), %rdi
leaq -0x110(%rbp), %rax
cmpq %rax, %rdi
je 0x68b4
movq -0x110(%rbp), %rsi
jmp 0x67e9
movl $0x20, %edx
movq %r14, %rdi
leaq 0x4cb6(%rip), %rsi      # 0xb439
callq 0x2240
movq 0x8851(%rip), %rdi      # 0xefe0
movq %r12, %rsi
callq 0x2260
leaq -0xf0(%rbp), %rax
movq %rax, -0x100(%rbp)
movq -0x78(%rbp), %rsi
movq -0x70(%rbp), %rdx
addq %rsi, %rdx
leaq -0x100(%rbp), %rdi
callq 0x344a
movq %rbx, %rdi
leaq -0x100(%rbp), %rsi
callq 0x4738
movq -0x100(%rbp), %rdi
leaq -0xf0(%rbp), %rax
cmpq %rax, %rdi
je 0x68b4
movq -0xf0(%rbp), %rsi
incq %rsi
callq 0x2210
jmp 0x68b4
movl $0x6, %edx
movq %r14, %rdi
leaq 0x4c55(%rip), %rsi      # 0xb45a
callq 0x2240
movq 0x87cf(%rip), %rdi      # 0xefe0
movq %r12, %rsi
callq 0x2260
leaq -0xd0(%rbp), %rax
movq %rax, -0xe0(%rbp)
movq -0x78(%rbp), %rsi
movq -0x70(%rbp), %rdx
addq %rsi, %rdx
leaq -0xe0(%rbp), %rdi
callq 0x344a
movq -0x30(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
callq 0x51a2
movq -0xe0(%rbp), %rdi
leaq -0xd0(%rbp), %rax
cmpq %rax, %rdi
je 0x6870
movq -0xd0(%rbp), %rsi
incq %rsi
callq 0x2210
movl $0x9, %edx
movq %r14, %rdi
leaq 0x4be2(%rip), %rsi      # 0xb461
callq 0x2240
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2170
movq -0x30(%rbp), %rdi
callq 0x3854
movq %r12, %rdi
leaq 0x4b2a(%rip), %rsi      # 0xb3e8
callq 0x20c0
testl %eax, %eax
jne 0x627d
jmp 0x6e02
movq %rbx, %rdi
movq -0x30(%rbp), %rsi
callq 0x3b22
jmp 0x68b4
movq -0x30(%rbp), %rdi
callq 0x373c
movl $0xb, %edx
leaq 0x4944(%rip), %rsi      # 0xb237
testl %eax, %eax
je 0x6a9a
movq %r14, %rdi
callq 0x2240
jmp 0x68b4
movq -0x80(%rbp), %rdi
callq 0x93dc
movq %r14, %rdi
callq 0x2120
movl $0xe, %edx
movq %rax, %rdi
leaq 0x4b6f(%rip), %rsi      # 0xb494
callq 0x2240
movq 0x86af(%rip), %rdi      # 0xefe0
movq %r12, %rsi
callq 0x2260
movq %r12, %rdi
leaq 0x4b44(%rip), %rsi      # 0xb487
callq 0x20c0
testl %eax, %eax
je 0x69a6
leaq -0x90(%rbp), %rax
movq %rax, -0xa0(%rbp)
movq -0x78(%rbp), %rsi
movq -0x70(%rbp), %rdx
addq %rsi, %rdx
leaq -0xa0(%rbp), %rdi
callq 0x344a
movq -0x30(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
movq %rbx, %rdx
callq 0x4370
movq -0xa0(%rbp), %rdi
leaq -0x90(%rbp), %rax
cmpq %rax, %rdi
je 0x69a6
movq -0x90(%rbp), %rsi
incq %rsi
callq 0x2210
leaq -0x50(%rbp), %r15
movq %r15, %rdi
movq -0x30(%rbp), %rsi
callq 0x36fc
movq %r15, %rdi
leaq 0x46c5(%rip), %rsi      # 0xb085
callq 0x20c0
movl %eax, %r15d
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x69e1
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x2210
testl %r15d, %r15d
je 0x6a28
leaq -0x1a8(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0x36fc
movq -0x30(%rbp), %rdi
leaq -0x1a8(%rbp), %rsi
callq 0x4208
movq -0x1a8(%rbp), %rdi
leaq -0x198(%rbp), %rax
cmpq %rax, %rdi
je 0x6a28
movq -0x198(%rbp), %rsi
incq %rsi
callq 0x2210
leaq -0x188(%rbp), %rdi
movq %rbx, %rsi
callq 0x36fc
movq %rbx, %rdi
leaq -0x188(%rbp), %rsi
callq 0x4208
movq -0x188(%rbp), %rdi
leaq -0x178(%rbp), %rax
cmpq %rax, %rdi
je 0x68b4
movq -0x178(%rbp), %rsi
jmp 0x67e9
movq -0x30(%rbp), %rdi
callq 0x379e
movl %eax, %r15d
movq -0x30(%rbp), %rdi
callq 0x3794
movq %rbx, %rdi
movl %r15d, %esi
movl %eax, %edx
callq 0x41d0
movq %r14, %rdi
movl %eax, %esi
callq 0x2310
jmp 0x68b4
movq -0x148(%rbp), %rdi
callq 0x93dc
movq %r14, %rdi
callq 0x2120
movl $0xe, %edx
movq %rax, %rdi
leaq 0x49bb(%rip), %rsi      # 0xb478
callq 0x2240
movq 0x8517(%rip), %rdi      # 0xefe0
movq %r12, %rsi
callq 0x2260
movq %r12, %rdi
leaq 0x49ac(%rip), %rsi      # 0xb487
callq 0x20c0
testl %eax, %eax
je 0x6b3e
leaq -0xb0(%rbp), %rax
movq %rax, -0xc0(%rbp)
movq -0x78(%rbp), %rsi
movq -0x70(%rbp), %rdx
addq %rsi, %rdx
leaq -0xc0(%rbp), %rdi
callq 0x344a
movq %rbx, %rdi
leaq -0xc0(%rbp), %rsi
movq -0x30(%rbp), %rdx
callq 0x4370
movq -0xc0(%rbp), %rdi
leaq -0xb0(%rbp), %rax
cmpq %rax, %rdi
je 0x6b3e
movq -0xb0(%rbp), %rsi
incq %rsi
callq 0x2210
leaq -0x50(%rbp), %r15
movq %r15, %rdi
movq -0x30(%rbp), %rsi
callq 0x36fc
movq %r15, %rdi
leaq 0x452d(%rip), %rsi      # 0xb085
callq 0x20c0
movl %eax, %r15d
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x6b79
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x2210
testl %r15d, %r15d
je 0x6bc0
leaq -0x1e8(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0x36fc
movq -0x30(%rbp), %rdi
leaq -0x1e8(%rbp), %rsi
callq 0x4208
movq -0x1e8(%rbp), %rdi
leaq -0x1d8(%rbp), %rax
cmpq %rax, %rdi
je 0x6bc0
movq -0x1d8(%rbp), %rsi
incq %rsi
callq 0x2210
leaq -0x1c8(%rbp), %rdi
movq %rbx, %rsi
callq 0x36fc
movq %rbx, %rdi
leaq -0x1c8(%rbp), %rsi
callq 0x4208
movq -0x1c8(%rbp), %rdi
leaq -0x1b8(%rbp), %rax
cmpq %rax, %rdi
je 0x68b4
movq -0x1b8(%rbp), %rsi
jmp 0x67e9
movl $0x11, %edx
movq %r14, %rdi
leaq 0x4898(%rip), %rsi      # 0xb4a8
callq 0x2240
movq 0x83c4(%rip), %rdi      # 0xefe0
leaq -0x58(%rbp), %rsi
callq 0x2150
cmpl $0x0, -0x58(%rbp)
jle 0x68b4
xorl %r15d, %r15d
leaq -0x50(%rbp), %rdi
movq %rbx, %rsi
callq 0x36fc
movq -0x50(%rbp), %rsi
movq -0x48(%rbp), %rdx
movq %r14, %rdi
callq 0x2240
movl $0xa, %edx
movq %rax, %rdi
leaq 0x485d(%rip), %rsi      # 0xb4ba
callq 0x2240
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x6c7b
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x2210
leaq -0x50(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0x36fc
leaq -0x268(%rbp), %rdi
movq %rbx, %rsi
callq 0x36fc
movq -0x48(%rbp), %rdx
cmpq -0x260(%rbp), %rdx
movl %r15d, -0x54(%rbp)
jne 0x6cc5
testq %rdx, %rdx
je 0x6cca
movq -0x268(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x2220
testl %eax, %eax
sete %r15b
jmp 0x6ccd
xorl %r15d, %r15d
jmp 0x6ccd
movb $0x1, %r15b
movq -0x268(%rbp), %rdi
leaq -0x258(%rbp), %rax
cmpq %rax, %rdi
je 0x6cef
movq -0x258(%rbp), %rsi
incq %rsi
callq 0x2210
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x6d08
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x2210
testb %r15b, %r15b
je 0x6d27
movl $0x8, %edx
movq %r14, %rdi
leaq 0x47a9(%rip), %rsi      # 0xb4c5
callq 0x2240
movl -0x54(%rbp), %r15d
jmp 0x6d75
leaq -0x50(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0x36fc
movl -0x54(%rbp), %r15d
movq -0x50(%rbp), %rsi
movq -0x48(%rbp), %rdx
movq %r14, %rdi
callq 0x2240
movl $0x1, %edx
movq %rax, %rdi
leaq 0x49cd(%rip), %rsi      # 0xb724
callq 0x2240
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x6d75
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x2210
incl %r15d
movq %r14, %rdi
movl %r15d, %esi
callq 0x2310
cmpl $0x2, %r15d
leaq 0x4746(%rip), %rsi      # 0xb4d4
leaq 0x4739(%rip), %rax      # 0xb4ce
cmovbq %rax, %rsi
movl $0x6, %edx
sbbq $0x0, %rdx
movq %r14, %rdi
callq 0x2240
movq %r14, %rdi
callq 0x2120
cmpl -0x58(%rbp), %r15d
jl 0x6c32
jmp 0x68b4
leaq -0x168(%rbp), %rdi
movq %rbx, %rsi
callq 0x36fc
movq %rbx, %rdi
leaq -0x168(%rbp), %rsi
callq 0x4208
movq -0x168(%rbp), %rdi
leaq -0x158(%rbp), %rax
cmpq %rax, %rdi
je 0x68b4
movq -0x158(%rbp), %rsi
jmp 0x67e9
movq 0x81c7(%rip), %rdi      # 0xefd0
leaq 0x424d(%rip), %rsi      # 0xb05d
movl $0x7, %edx
callq 0x2240
leaq -0x218(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x420c(%rip), %rsi      # 0xb038
leaq 0x4217(%rip), %rdx      # 0xb04a
leaq -0x228(%rbp), %rdi
callq 0x34e4
leaq -0x228(%rbp), %rsi
callq 0x7230
movq -0x228(%rbp), %rdi
cmpq %r14, %rdi
je 0x6e66
movq -0x218(%rbp), %rsi
incq %rsi
callq 0x2210
leaq -0x1f8(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x4809(%rip), %rsi      # 0xb681
leaq 0x4818(%rip), %rdx      # 0xb697
leaq -0x208(%rbp), %rdi
callq 0x34e4
leaq -0x208(%rbp), %rsi
callq 0x7230
movq -0x208(%rbp), %rdi
cmpq %r14, %rdi
je 0x6eb2
movq -0x1f8(%rbp), %rsi
incq %rsi
callq 0x2210
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
je 0x6ecb
movq -0x68(%rbp), %rsi
incq %rsi
callq 0x2210
leaq -0x2d8(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6eea
movq -0x2d8(%rbp), %rsi
incq %rsi
callq 0x2210
leaq -0x308(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6f09
movq -0x308(%rbp), %rsi
incq %rsi
callq 0x2210
leaq -0x330(%rbp), %rdi
callq 0x79c4
addq $0x308, %rsp            # imm = 0x308
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
movq -0x168(%rbp), %rdi
leaq -0x158(%rbp), %rax
cmpq %rax, %rdi
je 0x7202
movq -0x158(%rbp), %rsi
jmp 0x71f5
movq %rax, %rbx
movq -0x1e8(%rbp), %rdi
leaq -0x1d8(%rbp), %rax
cmpq %rax, %rdi
je 0x7202
movq -0x1d8(%rbp), %rsi
jmp 0x71f5
movq %rax, %rbx
movq -0xc0(%rbp), %rdi
leaq -0xb0(%rbp), %rax
cmpq %rax, %rdi
je 0x7202
movq -0xb0(%rbp), %rsi
jmp 0x71f5
jmp 0x71ff
movq %rax, %rbx
movq -0x1c8(%rbp), %rdi
leaq -0x1b8(%rbp), %rax
cmpq %rax, %rdi
je 0x7202
movq -0x1b8(%rbp), %rsi
jmp 0x71f5
jmp 0x71ff
movq %rax, %rbx
movq -0x1a8(%rbp), %rdi
leaq -0x198(%rbp), %rax
cmpq %rax, %rdi
je 0x7202
movq -0x198(%rbp), %rsi
jmp 0x71f5
movq %rax, %rbx
movq -0xa0(%rbp), %rdi
leaq -0x90(%rbp), %rax
cmpq %rax, %rdi
je 0x7202
movq -0x90(%rbp), %rsi
jmp 0x71f5
movq %rax, %rbx
movq -0x188(%rbp), %rdi
leaq -0x178(%rbp), %rax
cmpq %rax, %rdi
je 0x7202
movq -0x178(%rbp), %rsi
jmp 0x71f5
jmp 0x71ff
jmp 0x71ff
movq %rax, %rbx
movq -0xe0(%rbp), %rdi
leaq -0xd0(%rbp), %rax
cmpq %rax, %rdi
je 0x7202
movq -0xd0(%rbp), %rsi
jmp 0x71f5
jmp 0x709f
jmp 0x709f
jmp 0x71ff
jmp 0x71ff
movq %rax, %rbx
movq -0x100(%rbp), %rdi
leaq -0xf0(%rbp), %rax
cmpq %rax, %rdi
je 0x7202
movq -0xf0(%rbp), %rsi
jmp 0x71f5
movq %rax, %rbx
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
jmp 0x7186
movq %rax, %rbx
movq -0x120(%rbp), %rdi
leaq -0x110(%rbp), %rax
cmpq %rax, %rdi
je 0x7202
movq -0x110(%rbp), %rsi
jmp 0x71f5
jmp 0x71ff
movq %rax, %rbx
movq -0x208(%rbp), %rdi
cmpq %r14, %rdi
je 0x7202
movq -0x1f8(%rbp), %rsi
jmp 0x71f5
jmp 0x71ff
movq %rax, %rbx
movq -0x228(%rbp), %rdi
cmpq %r14, %rdi
je 0x7202
movq -0x218(%rbp), %rsi
jmp 0x71f5
jmp 0x71ff
movq %rax, %rbx
movq -0x50(%rbp), %rdi
cmpq %r15, %rdi
jne 0x718b
jmp 0x7202
jmp 0x71ff
movq %rax, %rbx
leaq -0x278(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x7202
movq -0x278(%rbp), %rsi
jmp 0x71f5
movq %rax, %rbx
leaq -0x298(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x7202
movq -0x298(%rbp), %rsi
jmp 0x71f5
movq %rax, %rbx
leaq -0x40(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x7202
movq -0x40(%rbp), %rsi
jmp 0x71f5
jmp 0x71ff
movq %rax, %rbx
movq -0x248(%rbp), %rdi
cmpq %r14, %rdi
je 0x7227
movq -0x238(%rbp), %rsi
jmp 0x71ca
movq %rax, %rbx
jmp 0x7227
movq %rax, %rbx
movq -0x2c8(%rbp), %rdi
cmpq %r15, %rdi
je 0x7227
movq -0x2b8(%rbp), %rsi
incq %rsi
callq 0x2210
jmp 0x7227
jmp 0x71ff
jmp 0x71ff
movq %rax, %rbx
movq -0x140(%rbp), %rdi
leaq -0x130(%rbp), %rax
cmpq %rax, %rdi
je 0x7202
movq -0x130(%rbp), %rsi
incq %rsi
callq 0x2210
jmp 0x7202
movq %rax, %rbx
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
je 0x721b
movq -0x68(%rbp), %rsi
incq %rsi
callq 0x2210
leaq -0x330(%rbp), %rdi
callq 0x797c
movq %rbx, %rdi
callq 0x2320
nop