// File: /workspace/github_cpp_makefile_star2_O2/permui[P]CastleAdventure/src/genmap.cpp
// Function: GenGrids()
vector<Grid> GenGrids() {
	vector<Grid> ret = {
		{
			{1, 0},
			GT::None,
			"entry",
			("This is the entry of the castle.\n"
			"If you want to quit, just type \"quit\".\n"
			"If you think you have successfully rescued the princess, claim \"success\".\n"
			"Or just go_left to enter the castle."),
			{
				{"quit", [](Player& player, Grid&, Map&)->void {
					player.pos = QUIT_POS;
				}},
				{"success", [](Player &player, Grid&, Map&)->void {
					if (player.with_princess) {
						cout << "Rescue princess successful!" << endl;
						player.pos = SUCC_POS;
					} else {
						cout << "You don't have princess with you???" << endl;
					}
				}},
				{"go_left", Goto<1, 1>}
			}
		},
		{
			{1, 1},
			GT::None,
			"living room",
			"",
			{
				{"go_right", Goto<1, 0>},
				{"go_left", Goto<1, 3>},
				{"go_up", Goto<1, 2>}
			}
		},
		{
			{1, 2},
			GT::None,
			"shop",
			("Why there is a shop in a castle?!\n" "You can buy the following with BitCoin:\n" 
			"a shield that can defend against one time of monster attact: 10 BTC\n"
			"a sword that can kill a monster: 15 BTC\n"),
			{
				{"buy_shield", [](Player &player, Grid&, Map&)->void {
					if (player.btc < shield_price) {
						cout << "You don't have enough money to buy it..." << endl;
					} else {
						player.btc -= shield_price;
						player.shield += 1;
					}
				}},
				{"buy_sword", [](Player &player, Grid&, Map&)->void {
					if (player.btc < sword_price) {
						cout << "You don't have enough money to buy it..." << endl;
					} else {
						player.btc -= sword_price;
						player.sword += 1;
					}
				}},
				{"go_down", Goto<1, 1>}
			}
		},
		{
			{1, 3},
			GT::None,
			"lift",
			"You are on the lift, this is floor 1",
			{
				{"go_floor_2", Goto<2, 4>},
				{"go_floor_3", Goto<3, 9>},
				{"go_right", Goto<1, 1>}
			}
		},
		{
			{2, 4},
			GT::None,
			"lift",
			"You are on the lift, this is floor 2",
			{
				{"go_floor_1", Goto<1, 3>},
				{"go_floor_3", Goto<3, 9>},
				{"go_right", Goto<2, 5>}
			}
		},
		{
			{2, 5},
			GT::None,
			"playing center",
			("This is the playing center. There are three games in up / right / down directions.\n"
			"You can earn coins from them."),
			{
				{"go_up", Goto<2, 6>},
				{"go_right", Goto<2, 8>},
				{"go_down", Goto<2, 7>},
				{"go_left", Goto<2, 4>}
			}
		},
		{
			{2, 6},
			GT::None,
			"Add Game",
			"Enter \"play\" and you will get an addition. Answer it in 7 seconds and you will get 2 BitCoins.",
			{
				{"play", games::add_game},
				{"go_down", Goto<2, 5>}
			}
		},
		{
			{2, 7},
			GT::None,
			"Mul Game",
			"Enter \"play\" and you will get a multiplication. Answer it in 10 seconds and you will get 4 BitCoins.",
			{
				{"play", games::mul_game},
				{"go_up", Goto<2, 5>}
			}
		},
		{
			{2, 8},
			GT::None,
			"Int Game",
			"Enter \"play\" and you will get an integration. Answer it in 15 seconds and you will get 6 BitCoins.",
			{
				{"play", games::int_game},
				{"go_left", Goto<2, 5>}
			}
		},
		{
			{3, 9},
			GT::None,
			"lift",
			"You are on the lift, this is floor 3",
			{
				{"go_floor_1", Goto<1, 3>},
				{"go_floor_2", Goto<2, 4>},
				{"go_right", Goto<3, 10>}
			}
		},
		{
			{3, 10},
			GT::None,
			"CorridorEntry",
			"On your right is a corridor, with many monsters in it. Go ahead, warrior!",
			{
				{"go_left", Goto<3, 9>},
				{"go_right", Goto<3, 11>}
			}
		},
		{
			{3, 11},
			GT::MayHaveMonster,
			"Corridor Step 1",
			"",
			{
				{"go_left", Goto<3, 10>},
				{"go_right", Goto<3, 12>}
			}
		},
		{
			{3, 12},
			GT::MayHaveMonster,
			"Corridor Step 2",
			"",
			{
				{"go_left", Goto<3, 11>},
				{"go_right", Goto<3, 13>}
			}
		},
		{
			{3, 13},
			GT::MayHaveMonster,
			"Corridor Step 3",
			"",
			{
				{"go_left", Goto<3, 12>},
				{"go_right", Goto<3, 14>}
			}
		},
		{
			{3, 14},
			GT::MayHaveMonster,
			"Corridor Step 4",
			"",
			{
				{"go_left", Goto<3, 13>},
				{"go_right", Goto<3, 15>}
			}
		},
		{
			{3, 15},
			GT::MayHaveMonster,
			"Corridor Step 5",
			"",
			{
				{"go_left", Goto<3, 14>},
				{"go_right", Goto<3, 16>}
			}
		},
		{
			{3, 16},
			GT::Princess,
			"Princess' Place",
			"",
			{
				{"go_left", Goto<3, 15>},
				{"go_right", Goto<3, 17>}	
			}
		},
		{
			{3, 17},
			GT::None,
			"Teleporter",
			"Give me 20 BitCoins and you will be transported to a random place in the castle!",
			{
				{"go_left", Goto<3, 16>},
				{"teleport", [](Player &player, Grid&, Map &mp)->void {
					if (player.btc < tele_price) {
						cout << "You don't have " << tele_price << " BitCoins. Work hard, man!" << endl;
						return;
					}
					player.btc -= tele_price;
					assert(!mp.empty());
					default_random_engine eng((random_device())());
					uniform_int_distribution<int> dis(0, (int)mp.size() - 1);
					int num = dis(eng);
					Map::iterator it = mp.begin();
					while (num--) ++it;
					player.pos = it->first;
				}}
			}
		}
	};
	default_random_engine eng((random_device())());
	uniform_real_distribution<double> dis(0, 1);
	for (Grid &grid: ret) if (grid.info.t == GT::MayHaveMonster) {
		grid.info.t = dis(eng) < monster_probability ? GT::Monster : GT::None;
	}
	return ret;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x2798, %rsp           # imm = 0x2798
movq %rdi, %r14
movq $0x1, 0x128(%rsp)
leaq 0x9c(%rsp), %rdi
pushq $0x3
popq %rsi
callq 0x389e
leaq 0x4679(%rip), %rsi      # 0x8298
leaq 0x590(%rsp), %rdi
leaq 0x57(%rsp), %rdx
callq 0x27d4
leaq 0x4666(%rip), %rsi      # 0x829e
leaq 0x570(%rsp), %rdi
leaq 0x56(%rsp), %rdx
callq 0x27d4
leaq 0x43d8(%rip), %rsi      # 0x8029
leaq 0x1350(%rsp), %r12
leaq 0xe90(%rsp), %rdx
movq %r12, %rdi
callq 0x27d4
xorpd %xmm0, %xmm0
leaq 0x1390(%rsp), %r13
movupd %xmm0, -0x20(%r13)
leaq 0x214e(%rip), %rax      # 0x5dd0
movq %rax, -0x8(%r13)
leaq 0x2151(%rip), %rax      # 0x5dde
movq %rax, -0x10(%r13)
leaq 0x4384(%rip), %rsi      # 0x801c
leaq 0xe90(%rsp), %rdx
movq %r13, %rdi
callq 0x27d4
leaq 0x13d0(%rsp), %r13
xorpd %xmm0, %xmm0
movupd %xmm0, -0x20(%r13)
leaq 0x2135(%rip), %rax      # 0x5df6
movq %rax, -0x8(%r13)
leaq 0x2172(%rip), %rax      # 0x5e3e
movq %rax, -0x10(%r13)
leaq 0x467e(%rip), %rsi      # 0x8355
leaq 0x2346(%rip), %rdx      # 0x6024
movq %r13, %rdi
callq 0x6032
leaq 0x8e0(%rsp), %rdi
leaq 0x1350(%rsp), %rsi
pushq $0x3
popq %rdx
leaq 0x55(%rsp), %rcx
leaq 0x54(%rsp), %r8
callq 0x606e
leaq 0x1410(%rsp), %rbx
leaq 0x128(%rsp), %rsi
leaq 0x9c(%rsp), %rdx
leaq 0x590(%rsp), %rcx
leaq 0x570(%rsp), %r8
leaq 0x8e0(%rsp), %r9
movq %rbx, %rdi
callq 0x38a2
leaq 0x1490(%rsp), %rbx
movabsq $0x100000001, %rax      # imm = 0x100000001
movq %rax, 0x120(%rsp)
leaq 0x98(%rsp), %rdi
pushq $0x3
popq %rsi
callq 0x389e
leaq 0x45ec(%rip), %rsi      # 0x835d
leaq 0x550(%rsp), %rdi
leaq 0x53(%rsp), %rdx
callq 0x27d4
leaq 0x46a9(%rip), %rsi      # 0x8433
leaq 0x530(%rsp), %rdi
leaq 0x52(%rsp), %rdx
callq 0x27d4
leaq 0x45c6(%rip), %rsi      # 0x8369
leaq 0x230c(%rip), %rdx      # 0x60b6
leaq 0x1290(%rsp), %r12
movq %r12, %rdi
callq 0x60be
leaq 0x12d0(%rsp), %r13
leaq 0x458c(%rip), %rsi      # 0x8355
leaq 0x2329(%rip), %rdx      # 0x60f9
movq %r13, %rdi
callq 0x6032
leaq 0x1310(%rsp), %r13
leaq 0x458b(%rip), %rsi      # 0x8372
leaq 0x2319(%rip), %rdx      # 0x6107
movq %r13, %rdi
callq 0x6116
leaq 0x8b0(%rsp), %rdi
leaq 0x1290(%rsp), %rsi
pushq $0x3
popq %rdx
leaq 0x51(%rsp), %rcx
leaq 0x50(%rsp), %r8
callq 0x606e
leaq 0x120(%rsp), %rsi
leaq 0x98(%rsp), %rdx
leaq 0x550(%rsp), %rcx
leaq 0x530(%rsp), %r8
leaq 0x8b0(%rsp), %r9
movq %rbx, %rdi
callq 0x38a2
leaq 0x1510(%rsp), %rbx
movabsq $0x200000001, %rax      # imm = 0x200000001
movq %rax, 0x118(%rsp)
leaq 0x94(%rsp), %rdi
pushq $0x3
popq %rsi
callq 0x389e
leaq 0x44ff(%rip), %rsi      # 0x8378
leaq 0x510(%rsp), %rdi
leaq 0x4f(%rsp), %rdx
callq 0x27d4
leaq 0x44eb(%rip), %rsi      # 0x837d
leaq 0x4f0(%rsp), %rdi
leaq 0x4e(%rsp), %rdx
callq 0x27d4
leaq 0x4589(%rip), %rsi      # 0x8434
leaq 0x11d0(%rsp), %r12
leaq 0xe90(%rsp), %rdx
movq %r12, %rdi
callq 0x27d4
xorpd %xmm0, %xmm0
leaq 0x1210(%rsp), %r13
movupd %xmm0, -0x20(%r13)
leaq 0x1f7a(%rip), %rax      # 0x5e56
movq %rax, -0x8(%r13)
leaq 0x1f9f(%rip), %rax      # 0x5e86
movq %rax, -0x10(%r13)
leaq 0x454d(%rip), %rsi      # 0x843f
leaq 0xe90(%rsp), %rdx
movq %r13, %rdi
callq 0x27d4
leaq 0x1250(%rsp), %r13
xorpd %xmm0, %xmm0
movupd %xmm0, -0x20(%r13)
leaq 0x1f83(%rip), %rax      # 0x5e9e
movq %rax, -0x8(%r13)
leaq 0x1fa8(%rip), %rax      # 0x5ece
movq %rax, -0x10(%r13)
leaq 0x4518(%rip), %rsi      # 0x8449
leaq 0x20ec(%rip), %rdx      # 0x6024
movq %r13, %rdi
callq 0x6032
leaq 0x880(%rsp), %rdi
leaq 0x11d0(%rsp), %rsi
pushq $0x3
popq %rdx
leaq 0x4d(%rsp), %rcx
leaq 0x4c(%rsp), %r8
callq 0x606e
leaq 0x118(%rsp), %rsi
leaq 0x94(%rsp), %rdx
leaq 0x510(%rsp), %rcx
leaq 0x4f0(%rsp), %r8
leaq 0x880(%rsp), %r9
movq %rbx, %rdi
callq 0x38a2
leaq 0x1590(%rsp), %rbx
movabsq $0x300000001, %rax      # imm = 0x300000001
movq %rax, 0x110(%rsp)
leaq 0x90(%rsp), %rdi
pushq $0x3
popq %rsi
callq 0x389e
leaq 0x448e(%rip), %rsi      # 0x8451
leaq 0x4d0(%rsp), %rdi
leaq 0x4b(%rsp), %rdx
callq 0x27d4
leaq 0x447a(%rip), %rsi      # 0x8456
leaq 0x4b0(%rsp), %rdi
leaq 0x4a(%rsp), %rdx
callq 0x27d4
leaq 0x4486(%rip), %rsi      # 0x847b
leaq 0x2155(%rip), %rdx      # 0x6151
leaq 0x1110(%rsp), %r12
movq %r12, %rdi
callq 0x6160
leaq 0x1150(%rsp), %r13
leaq 0x446b(%rip), %rsi      # 0x8486
leaq 0x2179(%rip), %rdx      # 0x619b
movq %r13, %rdi
callq 0x6160
leaq 0x1190(%rsp), %r13
leaq 0x4330(%rip), %rsi      # 0x8369
leaq 0x1fe4(%rip), %rdx      # 0x6024
movq %r13, %rdi
callq 0x60be
leaq 0x850(%rsp), %rdi
leaq 0x1110(%rsp), %rsi
pushq $0x3
popq %rdx
leaq 0x49(%rsp), %rcx
leaq 0x48(%rsp), %r8
callq 0x606e
leaq 0x110(%rsp), %rsi
leaq 0x90(%rsp), %rdx
leaq 0x4d0(%rsp), %rcx
leaq 0x4b0(%rsp), %r8
leaq 0x850(%rsp), %r9
movq %rbx, %rdi
callq 0x38a2
leaq 0x1610(%rsp), %rbx
movabsq $0x400000002, %rax      # imm = 0x400000002
movq %rax, 0x108(%rsp)
leaq 0x8c(%rsp), %rdi
pushq $0x3
popq %rsi
callq 0x389e
leaq 0x4386(%rip), %rsi      # 0x8451
leaq 0x490(%rsp), %rdi
leaq 0x47(%rsp), %rdx
callq 0x27d4
leaq 0x43ad(%rip), %rsi      # 0x8491
leaq 0x470(%rsp), %rdi
leaq 0x46(%rsp), %rdx
callq 0x27d4
leaq 0x43b9(%rip), %rsi      # 0x84b6
leaq 0x1ff5(%rip), %rdx      # 0x60f9
leaq 0x1050(%rsp), %r12
movq %r12, %rdi
callq 0x6160
leaq 0x1090(%rsp), %r13
leaq 0x4363(%rip), %rsi      # 0x8486
leaq 0x2071(%rip), %rdx      # 0x619b
movq %r13, %rdi
callq 0x6160
leaq 0x10d0(%rsp), %r13
leaq 0x4228(%rip), %rsi      # 0x8369
leaq 0x2061(%rip), %rdx      # 0x61a9
movq %r13, %rdi
callq 0x60be
leaq 0x820(%rsp), %rdi
leaq 0x1050(%rsp), %rsi
pushq $0x3
popq %rdx
leaq 0x45(%rsp), %rcx
leaq 0x44(%rsp), %r8
callq 0x606e
leaq 0x108(%rsp), %rsi
leaq 0x8c(%rsp), %rdx
leaq 0x490(%rsp), %rcx
leaq 0x470(%rsp), %r8
leaq 0x820(%rsp), %r9
movq %rbx, %rdi
callq 0x38a2
leaq 0x1690(%rsp), %rbx
movabsq $0x500000002, %rax      # imm = 0x500000002
movq %rax, 0x100(%rsp)
leaq 0x88(%rsp), %rdi
pushq $0x3
popq %rsi
callq 0x389e
leaq 0x42ee(%rip), %rsi      # 0x84c1
leaq 0x450(%rsp), %rdi
leaq 0x43(%rsp), %rdx
callq 0x27d4
leaq 0x42e4(%rip), %rsi      # 0x84d0
leaq 0x430(%rsp), %rdi
leaq 0x42(%rsp), %rdx
callq 0x27d4
leaq 0x416d(%rip), %rsi      # 0x8372
leaq 0x1fab(%rip), %rdx      # 0x61b7
leaq 0xe90(%rsp), %r12
movq %r12, %rdi
callq 0x6116
leaq 0xed0(%rsp), %r13
leaq 0x413e(%rip), %rsi      # 0x8369
leaq 0x1f93(%rip), %rdx      # 0x61c5
movq %r13, %rdi
callq 0x60be
leaq 0xf10(%rsp), %r13
leaq 0x4200(%rip), %rsi      # 0x8449
leaq 0x1f83(%rip), %rdx      # 0x61d3
movq %r13, %rdi
callq 0x6032
leaq 0xf50(%rsp), %r13
leaq 0x40ee(%rip), %rsi      # 0x8355
leaq 0x1ee3(%rip), %rdx      # 0x6151
movq %r13, %rdi
callq 0x6032
leaq 0x7f0(%rsp), %rdi
leaq 0xe90(%rsp), %rsi
pushq $0x4
popq %rdx
leaq 0x41(%rsp), %rcx
leaq 0x40(%rsp), %r8
callq 0x606e
leaq 0x100(%rsp), %rsi
leaq 0x88(%rsp), %rdx
leaq 0x450(%rsp), %rcx
leaq 0x430(%rsp), %r8
leaq 0x7f0(%rsp), %r9
movq %rbx, %rdi
callq 0x38a2
leaq 0x1710(%rsp), %rbx
movabsq $0x600000002, %rax      # imm = 0x600000002
movq %rax, 0xf8(%rsp)
leaq 0x84(%rsp), %rdi
pushq $0x3
popq %rsi
callq 0x389e
leaq 0x4248(%rip), %rsi      # 0x8541
leaq 0x410(%rsp), %rdi
leaq 0x3f(%rsp), %rdx
callq 0x27d4
leaq 0x4238(%rip), %rsi      # 0x854a
leaq 0x3f0(%rsp), %rdi
leaq 0x3e(%rsp), %rdx
callq 0x27d4
leaq 0x427e(%rip), %rsi      # 0x85a9
leaq -0x1542(%rip), %rdx     # 0x2df0
leaq 0xe10(%rsp), %rdi
callq 0x61e2
leaq 0xe50(%rsp), %rdi
leaq 0x40fb(%rip), %rsi      # 0x8449
leaq 0x1e54(%rip), %rdx      # 0x61a9
callq 0x6032
leaq 0x7c0(%rsp), %rdi
leaq 0xe10(%rsp), %rsi
pushq $0x2
popq %rdx
leaq 0x3d(%rsp), %rcx
leaq 0x3c(%rsp), %r8
callq 0x606e
leaq 0xf8(%rsp), %rsi
leaq 0x84(%rsp), %rdx
leaq 0x410(%rsp), %rcx
leaq 0x3f0(%rsp), %r8
leaq 0x7c0(%rsp), %r9
movq %rbx, %rdi
callq 0x38a2
leaq 0x1790(%rsp), %rbx
movabsq $0x700000002, %rax      # imm = 0x700000002
movq %rax, 0xf0(%rsp)
leaq 0x80(%rsp), %rdi
pushq $0x3
popq %rsi
callq 0x389e
leaq 0x41d1(%rip), %rsi      # 0x85ae
leaq 0x3d0(%rsp), %rdi
leaq 0x3b(%rsp), %rdx
callq 0x27d4
leaq 0x41c1(%rip), %rsi      # 0x85b7
leaq 0x3b0(%rsp), %rdi
leaq 0x3a(%rsp), %rdx
callq 0x27d4
leaq 0x419a(%rip), %rsi      # 0x85a9
leaq -0x145b(%rip), %rdx     # 0x2fbb
leaq 0xd90(%rsp), %rdi
callq 0x61e2
leaq 0xdd0(%rsp), %rdi
leaq 0x3f40(%rip), %rsi      # 0x8372
leaq 0x1d70(%rip), %rdx      # 0x61a9
callq 0x6116
leaq 0x790(%rsp), %rdi
leaq 0xd90(%rsp), %rsi
pushq $0x2
popq %rdx
leaq 0x39(%rsp), %rcx
leaq 0x38(%rsp), %r8
callq 0x606e
leaq 0xf0(%rsp), %rsi
leaq 0x80(%rsp), %rdx
leaq 0x3d0(%rsp), %rcx
leaq 0x3b0(%rsp), %r8
leaq 0x790(%rsp), %r9
movq %rbx, %rdi
callq 0x38a2
leaq 0x1810(%rsp), %rbx
movabsq $0x800000002, %rax      # imm = 0x800000002
movq %rax, 0xe8(%rsp)
leaq 0x7c(%rsp), %rdi
pushq $0x3
popq %rsi
callq 0x389e
leaq 0x415e(%rip), %rsi      # 0x861c
leaq 0x390(%rsp), %rdi
leaq 0x37(%rsp), %rdx
callq 0x27d4
leaq 0x414e(%rip), %rsi      # 0x8625
leaq 0x370(%rsp), %rdi
leaq 0x36(%rsp), %rdx
callq 0x27d4
leaq 0x40b9(%rip), %rsi      # 0x85a9
leaq -0x1370(%rip), %rdx     # 0x3187
leaq 0xd10(%rsp), %rdi
callq 0x61e2
leaq 0xd50(%rsp), %rdi
leaq 0x3e42(%rip), %rsi      # 0x8355
leaq 0x1c8f(%rip), %rdx      # 0x61a9
callq 0x6032
leaq 0x760(%rsp), %rdi
leaq 0xd10(%rsp), %rsi
pushq $0x2
popq %rdx
leaq 0x35(%rsp), %rcx
leaq 0x34(%rsp), %r8
callq 0x606e
leaq 0xe8(%rsp), %rsi
leaq 0x7c(%rsp), %rdx
leaq 0x390(%rsp), %rcx
leaq 0x370(%rsp), %r8
leaq 0x760(%rsp), %r9
movq %rbx, %rdi
callq 0x38a2
leaq 0x1890(%rsp), %rbx
movabsq $0x900000003, %rax      # imm = 0x900000003
movq %rax, 0xe0(%rsp)
leaq 0x78(%rsp), %rdi
pushq $0x3
popq %rsi
callq 0x389e
leaq 0x3eb5(%rip), %rsi      # 0x8451
leaq 0x350(%rsp), %rdi
leaq 0x33(%rsp), %rdx
callq 0x27d4
leaq 0x40d3(%rip), %rsi      # 0x8688
leaq 0x330(%rsp), %rdi
leaq 0x32(%rsp), %rdx
callq 0x27d4
leaq 0x3ee8(%rip), %rsi      # 0x84b6
leaq 0x1b24(%rip), %rdx      # 0x60f9
leaq 0xf90(%rsp), %r12
movq %r12, %rdi
callq 0x6160
leaq 0xfd0(%rsp), %r13
leaq 0x3e87(%rip), %rsi      # 0x847b
leaq 0x1b56(%rip), %rdx      # 0x6151
movq %r13, %rdi
callq 0x6160
leaq 0x1010(%rsp), %r13
leaq 0x3d57(%rip), %rsi      # 0x8369
leaq 0x1c04(%rip), %rdx      # 0x621d
movq %r13, %rdi
callq 0x60be
leaq 0x730(%rsp), %rdi
leaq 0xf90(%rsp), %rsi
pushq $0x3
popq %rdx
leaq 0x31(%rsp), %rcx
leaq 0x30(%rsp), %r8
callq 0x606e
leaq 0xe0(%rsp), %rsi
leaq 0x78(%rsp), %rdx
leaq 0x350(%rsp), %rcx
leaq 0x330(%rsp), %r8
leaq 0x730(%rsp), %r9
movq %rbx, %rdi
callq 0x38a2
leaq 0x1910(%rsp), %rbx
movabsq $0xa00000003, %rax      # imm = 0xA00000003
movq %rax, 0xd8(%rsp)
leaq 0x74(%rsp), %rdi
pushq $0x3
popq %rsi
callq 0x389e
leaq 0x400f(%rip), %rsi      # 0x86ad
leaq 0x310(%rsp), %rdi
leaq 0x2f(%rsp), %rdx
callq 0x27d4
leaq 0x4004(%rip), %rsi      # 0x86bb
leaq 0x2f0(%rsp), %rdi
leaq 0x2e(%rsp), %rdx
callq 0x27d4
leaq 0x3c85(%rip), %rsi      # 0x8355
leaq 0x1ac4(%rip), %rdx      # 0x619b
leaq 0xc90(%rsp), %rdi
callq 0x6032
leaq 0xcd0(%rsp), %rdi
leaq 0x3c76(%rip), %rsi      # 0x8369
leaq 0x1b31(%rip), %rdx      # 0x622b
callq 0x60be
leaq 0x700(%rsp), %rdi
leaq 0xc90(%rsp), %rsi
pushq $0x2
popq %rdx
leaq 0x2d(%rsp), %rcx
leaq 0x2c(%rsp), %r8
callq 0x606e
leaq 0xd8(%rsp), %rsi
leaq 0x74(%rsp), %rdx
leaq 0x310(%rsp), %rcx
leaq 0x2f0(%rsp), %r8
leaq 0x700(%rsp), %r9
movq %rbx, %rdi
callq 0x38a2
leaq 0x1990(%rsp), %rbx
movabsq $0xb00000003, %rax      # imm = 0xB00000003
movq %rax, 0xd0(%rsp)
leaq 0x70(%rsp), %rdi
pushq $0x2
popq %rsi
callq 0x389e
leaq 0x3f89(%rip), %rsi      # 0x8705
leaq 0x2d0(%rsp), %rdi
leaq 0x2b(%rsp), %rdx
callq 0x27d4
leaq 0x3c9e(%rip), %rsi      # 0x8433
leaq 0x2b0(%rsp), %rdi
leaq 0x2a(%rsp), %rdx
callq 0x27d4
leaq 0x3ba7(%rip), %rsi      # 0x8355
leaq 0x1a68(%rip), %rdx      # 0x621d
leaq 0xc10(%rsp), %rdi
callq 0x6032
leaq 0xc50(%rsp), %rdi
leaq 0x3b98(%rip), %rsi      # 0x8369
leaq 0x1a61(%rip), %rdx      # 0x6239
callq 0x60be
leaq 0x6d0(%rsp), %rdi
leaq 0xc10(%rsp), %rsi
pushq $0x2
popq %rdx
leaq 0x29(%rsp), %rcx
leaq 0x28(%rsp), %r8
callq 0x606e
leaq 0xd0(%rsp), %rsi
leaq 0x70(%rsp), %rdx
leaq 0x2d0(%rsp), %rcx
leaq 0x2b0(%rsp), %r8
leaq 0x6d0(%rsp), %r9
movq %rbx, %rdi
callq 0x38a2
leaq 0x1a10(%rsp), %rbx
movabsq $0xc00000003, %rax      # imm = 0xC00000003
movq %rax, 0xc8(%rsp)
leaq 0x6c(%rsp), %rdi
pushq $0x2
popq %rsi
callq 0x389e
leaq 0x3ebb(%rip), %rsi      # 0x8715
leaq 0x290(%rsp), %rdi
leaq 0x27(%rsp), %rdx
callq 0x27d4
leaq 0x3bc0(%rip), %rsi      # 0x8433
leaq 0x270(%rsp), %rdi
leaq 0x26(%rsp), %rdx
callq 0x27d4
leaq 0x3ac9(%rip), %rsi      # 0x8355
leaq 0x1998(%rip), %rdx      # 0x622b
leaq 0xb90(%rsp), %rdi
callq 0x6032
leaq 0xbd0(%rsp), %rdi
leaq 0x3aba(%rip), %rsi      # 0x8369
leaq 0x1991(%rip), %rdx      # 0x6247
callq 0x60be
leaq 0x6a0(%rsp), %rdi
leaq 0xb90(%rsp), %rsi
pushq $0x2
popq %rdx
leaq 0x25(%rsp), %rcx
leaq 0x24(%rsp), %r8
callq 0x606e
leaq 0xc8(%rsp), %rsi
leaq 0x6c(%rsp), %rdx
leaq 0x290(%rsp), %rcx
leaq 0x270(%rsp), %r8
leaq 0x6a0(%rsp), %r9
movq %rbx, %rdi
callq 0x38a2
leaq 0x1a90(%rsp), %rbx
movabsq $0xd00000003, %rax      # imm = 0xD00000003
movq %rax, 0xc0(%rsp)
leaq 0x68(%rsp), %rdi
pushq $0x2
popq %rsi
callq 0x389e
leaq 0x3ded(%rip), %rsi      # 0x8725
leaq 0x250(%rsp), %rdi
leaq 0x23(%rsp), %rdx
callq 0x27d4
leaq 0x3ae2(%rip), %rsi      # 0x8433
leaq 0x230(%rsp), %rdi
leaq 0x22(%rsp), %rdx
callq 0x27d4
leaq 0x39eb(%rip), %rsi      # 0x8355
leaq 0x18c8(%rip), %rdx      # 0x6239
leaq 0xb10(%rsp), %rdi
callq 0x6032
leaq 0xb50(%rsp), %rdi
leaq 0x39dc(%rip), %rsi      # 0x8369
leaq 0x18c1(%rip), %rdx      # 0x6255
callq 0x60be
leaq 0x670(%rsp), %rdi
leaq 0xb10(%rsp), %rsi
pushq $0x2
popq %rdx
leaq 0x21(%rsp), %rcx
leaq 0x20(%rsp), %r8
callq 0x606e
leaq 0xc0(%rsp), %rsi
leaq 0x68(%rsp), %rdx
leaq 0x250(%rsp), %rcx
leaq 0x230(%rsp), %r8
leaq 0x670(%rsp), %r9
movq %rbx, %rdi
callq 0x38a2
leaq 0x1b10(%rsp), %rbx
movabsq $0xe00000003, %rax      # imm = 0xE00000003
movq %rax, 0xb8(%rsp)
leaq 0x64(%rsp), %rdi
pushq $0x2
popq %rsi
callq 0x389e
leaq 0x3d1f(%rip), %rsi      # 0x8735
leaq 0x210(%rsp), %rdi
leaq 0x1f(%rsp), %rdx
callq 0x27d4
leaq 0x3a04(%rip), %rsi      # 0x8433
leaq 0x1f0(%rsp), %rdi
leaq 0x1e(%rsp), %rdx
callq 0x27d4
leaq 0x390d(%rip), %rsi      # 0x8355
leaq 0x17f8(%rip), %rdx      # 0x6247
leaq 0xa90(%rsp), %rdi
callq 0x6032
leaq 0xad0(%rsp), %rdi
leaq 0x38fe(%rip), %rsi      # 0x8369
leaq 0x17f1(%rip), %rdx      # 0x6263
callq 0x60be
leaq 0x640(%rsp), %rdi
leaq 0xa90(%rsp), %rsi
pushq $0x2
popq %rdx
leaq 0x1d(%rsp), %rcx
leaq 0x1c(%rsp), %r8
callq 0x606e
leaq 0xb8(%rsp), %rsi
leaq 0x64(%rsp), %rdx
leaq 0x210(%rsp), %rcx
leaq 0x1f0(%rsp), %r8
leaq 0x640(%rsp), %r9
movq %rbx, %rdi
callq 0x38a2
leaq 0x1b90(%rsp), %rbx
movabsq $0xf00000003, %rax      # imm = 0xF00000003
movq %rax, 0xb0(%rsp)
leaq 0x60(%rsp), %rdi
pushq $0x2
popq %rsi
callq 0x389e
leaq 0x3c51(%rip), %rsi      # 0x8745
leaq 0x1d0(%rsp), %rdi
leaq 0x1b(%rsp), %rdx
callq 0x27d4
leaq 0x3926(%rip), %rsi      # 0x8433
leaq 0x1b0(%rsp), %rdi
leaq 0x1a(%rsp), %rdx
callq 0x27d4
leaq 0x382f(%rip), %rsi      # 0x8355
leaq 0x1728(%rip), %rdx      # 0x6255
leaq 0xa10(%rsp), %rdi
callq 0x6032
leaq 0xa50(%rsp), %rdi
leaq 0x3820(%rip), %rsi      # 0x8369
leaq 0x1721(%rip), %rdx      # 0x6271
callq 0x60be
leaq 0x610(%rsp), %rdi
leaq 0xa10(%rsp), %rsi
pushq $0x2
popq %rdx
leaq 0x19(%rsp), %rcx
leaq 0x18(%rsp), %r8
callq 0x606e
leaq 0xb0(%rsp), %rsi
leaq 0x60(%rsp), %rdx
leaq 0x1d0(%rsp), %rcx
leaq 0x1b0(%rsp), %r8
leaq 0x610(%rsp), %r9
movq %rbx, %rdi
callq 0x38a2
leaq 0x1c10(%rsp), %rbx
movabsq $0x1000000003, %rax     # imm = 0x1000000003
movq %rax, 0xa8(%rsp)
leaq 0x5c(%rsp), %rdi
xorl %esi, %esi
callq 0x389e
leaq 0x3b84(%rip), %rsi      # 0x8755
leaq 0x190(%rsp), %rdi
leaq 0x17(%rsp), %rdx
callq 0x27d4
leaq 0x3849(%rip), %rsi      # 0x8433
leaq 0x170(%rsp), %rdi
leaq 0x16(%rsp), %rdx
callq 0x27d4
leaq 0x3752(%rip), %rsi      # 0x8355
leaq 0x1659(%rip), %rdx      # 0x6263
leaq 0x990(%rsp), %rdi
callq 0x6032
leaq 0x9d0(%rsp), %rdi
leaq 0x3743(%rip), %rsi      # 0x8369
leaq 0x1652(%rip), %rdx      # 0x627f
callq 0x60be
leaq 0x5e0(%rsp), %rdi
leaq 0x990(%rsp), %rsi
pushq $0x2
popq %rdx
leaq 0x15(%rsp), %rcx
leaq 0x14(%rsp), %r8
callq 0x606e
leaq 0xa8(%rsp), %rsi
leaq 0x5c(%rsp), %rdx
leaq 0x190(%rsp), %rcx
leaq 0x170(%rsp), %r8
leaq 0x5e0(%rsp), %r9
movq %rbx, %rdi
callq 0x38a2
leaq 0x1c90(%rsp), %rbx
movabsq $0x1100000003, %rax     # imm = 0x1100000003
movq %rax, 0xa0(%rsp)
leaq 0x58(%rsp), %rdi
pushq $0x3
popq %rsi
callq 0x389e
leaq 0x3ab6(%rip), %rsi      # 0x8765
leaq 0x150(%rsp), %rdi
leaq 0x13(%rsp), %rdx
callq 0x27d4
leaq 0x3aa8(%rip), %rsi      # 0x8770
leaq 0x130(%rsp), %rdi
leaq 0x12(%rsp), %rdx
callq 0x27d4
leaq 0x3674(%rip), %rsi      # 0x8355
leaq 0x1589(%rip), %rdx      # 0x6271
leaq 0x910(%rsp), %rdi
callq 0x6032
leaq 0x950(%rsp), %rdi
leaq 0x3abd(%rip), %rsi      # 0x87c1
leaq 0xf(%rsp), %rdx
callq 0x27d4
xorpd %xmm0, %xmm0
leaq 0x910(%rsp), %rsi
movupd %xmm0, 0x60(%rsi)
leaq 0x11c0(%rip), %rax      # 0x5ee6
movq %rax, 0x78(%rsi)
leaq 0x12db(%rip), %rax      # 0x600c
movq %rax, 0x70(%rsi)
leaq 0x5b0(%rsp), %rdi
pushq $0x2
popq %rdx
leaq 0xf(%rsp), %rcx
leaq 0x11(%rsp), %r8
callq 0x606e
leaq 0xa0(%rsp), %rsi
leaq 0x58(%rsp), %rdx
leaq 0x150(%rsp), %rcx
leaq 0x130(%rsp), %r8
leaq 0x5b0(%rsp), %r9
movq %rbx, %rdi
callq 0x38a2
leaq 0x1410(%rsp), %rsi
pushq $0x12
popq %rdx
leaq 0x10(%rsp), %rcx
movq %r14, %rdi
callq 0x628e
movl $0x880, %ebx            # imm = 0x880
leaq (%rsp,%rbx), %rdi
addq $0x1410, %rdi           # imm = 0x1410
callq 0x297a
addq $-0x80, %rbx
cmpq $-0x80, %rbx
jne 0x4d99
leaq 0x5b0(%rsp), %rdi
callq 0x299e
pushq $0x40
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x910, %rdi            # imm = 0x910
callq 0x2a02
addq $-0x40, %rbx
cmpq $-0x40, %rbx
jne 0x4dc3
leaq 0x130(%rsp), %rdi
callq 0x20c0
leaq 0x150(%rsp), %rdi
callq 0x20c0
leaq 0x5e0(%rsp), %rdi
callq 0x299e
pushq $0x40
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x990, %rdi            # imm = 0x990
callq 0x2a02
addq $-0x40, %rbx
cmpq $-0x40, %rbx
jne 0x4e07
leaq 0x170(%rsp), %rdi
callq 0x20c0
leaq 0x190(%rsp), %rdi
callq 0x20c0
leaq 0x610(%rsp), %rdi
callq 0x299e
pushq $0x40
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0xa10, %rdi            # imm = 0xA10
callq 0x2a02
addq $-0x40, %rbx
cmpq $-0x40, %rbx
jne 0x4e4b
leaq 0x1b0(%rsp), %rdi
callq 0x20c0
leaq 0x1d0(%rsp), %rdi
callq 0x20c0
leaq 0x640(%rsp), %rdi
callq 0x299e
pushq $0x40
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0xa90, %rdi            # imm = 0xA90
callq 0x2a02
addq $-0x40, %rbx
cmpq $-0x40, %rbx
jne 0x4e8f
leaq 0x1f0(%rsp), %rdi
callq 0x20c0
leaq 0x210(%rsp), %rdi
callq 0x20c0
leaq 0x670(%rsp), %rdi
callq 0x299e
pushq $0x40
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0xb10, %rdi            # imm = 0xB10
callq 0x2a02
addq $-0x40, %rbx
cmpq $-0x40, %rbx
jne 0x4ed3
leaq 0x230(%rsp), %rdi
callq 0x20c0
leaq 0x250(%rsp), %rdi
callq 0x20c0
leaq 0x6a0(%rsp), %rdi
callq 0x299e
pushq $0x40
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0xb90, %rdi            # imm = 0xB90
callq 0x2a02
addq $-0x40, %rbx
cmpq $-0x40, %rbx
jne 0x4f17
leaq 0x270(%rsp), %rdi
callq 0x20c0
leaq 0x290(%rsp), %rdi
callq 0x20c0
leaq 0x6d0(%rsp), %rdi
callq 0x299e
pushq $0x40
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0xc10, %rdi            # imm = 0xC10
callq 0x2a02
addq $-0x40, %rbx
cmpq $-0x40, %rbx
jne 0x4f5b
leaq 0x2b0(%rsp), %rdi
callq 0x20c0
leaq 0x2d0(%rsp), %rdi
callq 0x20c0
leaq 0x700(%rsp), %rdi
callq 0x299e
pushq $0x40
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0xc90, %rdi            # imm = 0xC90
callq 0x2a02
addq $-0x40, %rbx
cmpq $-0x40, %rbx
jne 0x4f9f
leaq 0x2f0(%rsp), %rdi
callq 0x20c0
leaq 0x310(%rsp), %rdi
callq 0x20c0
leaq 0x730(%rsp), %rdi
callq 0x299e
movl $0x80, %ebx
leaq (%rsp,%rbx), %rdi
addq $0xf90, %rdi            # imm = 0xF90
callq 0x2a02
addq $-0x40, %rbx
cmpq $-0x40, %rbx
jne 0x4fe5
leaq 0x330(%rsp), %rdi
callq 0x20c0
leaq 0x350(%rsp), %rdi
callq 0x20c0
leaq 0x760(%rsp), %rdi
callq 0x299e
pushq $0x40
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0xd10, %rdi            # imm = 0xD10
callq 0x2a02
addq $-0x40, %rbx
cmpq $-0x40, %rbx
jne 0x5029
leaq 0x370(%rsp), %rdi
callq 0x20c0
leaq 0x390(%rsp), %rdi
callq 0x20c0
leaq 0x790(%rsp), %rdi
callq 0x299e
pushq $0x40
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0xd90, %rdi            # imm = 0xD90
callq 0x2a02
addq $-0x40, %rbx
cmpq $-0x40, %rbx
jne 0x506d
leaq 0x3b0(%rsp), %rdi
callq 0x20c0
leaq 0x3d0(%rsp), %rdi
callq 0x20c0
leaq 0x7c0(%rsp), %rdi
callq 0x299e
pushq $0x40
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0xe10, %rdi            # imm = 0xE10
callq 0x2a02
addq $-0x40, %rbx
cmpq $-0x40, %rbx
jne 0x50b1
leaq 0x3f0(%rsp), %rdi
callq 0x20c0
leaq 0x410(%rsp), %rdi
callq 0x20c0
leaq 0x7f0(%rsp), %rdi
callq 0x299e
movl $0xc0, %ebx
leaq (%rsp,%rbx), %rdi
addq $0xe90, %rdi            # imm = 0xE90
callq 0x2a02
addq $-0x40, %rbx
cmpq $-0x40, %rbx
jne 0x50f7
leaq 0x430(%rsp), %rdi
callq 0x20c0
leaq 0x450(%rsp), %rdi
callq 0x20c0
leaq 0x820(%rsp), %rdi
callq 0x299e
movl $0x80, %ebx
leaq (%rsp,%rbx), %rdi
addq $0x1050, %rdi           # imm = 0x1050
callq 0x2a02
addq $-0x40, %rbx
cmpq $-0x40, %rbx
jne 0x513d
leaq 0x470(%rsp), %rdi
callq 0x20c0
leaq 0x490(%rsp), %rdi
callq 0x20c0
leaq 0x850(%rsp), %rdi
callq 0x299e
movl $0x80, %ebx
leaq (%rsp,%rbx), %rdi
addq $0x1110, %rdi           # imm = 0x1110
callq 0x2a02
addq $-0x40, %rbx
cmpq $-0x40, %rbx
jne 0x5183
leaq 0x4b0(%rsp), %rdi
callq 0x20c0
leaq 0x4d0(%rsp), %rdi
callq 0x20c0
leaq 0x880(%rsp), %rdi
callq 0x299e
movl $0x80, %ebx
leaq (%rsp,%rbx), %rdi
addq $0x11d0, %rdi           # imm = 0x11D0
callq 0x2a02
addq $-0x40, %rbx
cmpq $-0x40, %rbx
jne 0x51c9
leaq 0x4f0(%rsp), %rdi
callq 0x20c0
leaq 0x510(%rsp), %rdi
callq 0x20c0
leaq 0x8b0(%rsp), %rdi
callq 0x299e
movl $0x80, %ebx
leaq (%rsp,%rbx), %rdi
addq $0x1290, %rdi           # imm = 0x1290
callq 0x2a02
addq $-0x40, %rbx
cmpq $-0x40, %rbx
jne 0x520f
leaq 0x530(%rsp), %rdi
callq 0x20c0
leaq 0x550(%rsp), %rdi
callq 0x20c0
leaq 0x8e0(%rsp), %rdi
callq 0x299e
movl $0x80, %ebx
leaq (%rsp,%rbx), %rdi
addq $0x1350, %rdi           # imm = 0x1350
callq 0x2a02
addq $-0x40, %rbx
cmpq $-0x40, %rbx
jne 0x5255
leaq 0x570(%rsp), %rdi
callq 0x20c0
leaq 0x590(%rsp), %rdi
callq 0x20c0
leaq 0x1410(%rsp), %rdi
callq 0x3424
leaq 0x1410(%rsp), %rdi
callq 0x2230
movl $0x7fffffff, %ecx       # imm = 0x7FFFFFFF
xorl %edx, %edx
divl %ecx
cmpl $0x1, %edx
adcl $0x0, %edx
leaq 0xe90(%rsp), %rbx
movq %rdx, (%rbx)
leaq 0x1410(%rsp), %r15
movq %r15, %rdi
callq 0x34b2
xorpd %xmm0, %xmm0
movhpd 0x2f67(%rip), %xmm0     # xmm0 = xmm0[0],mem[0]
movapd %xmm0, (%r15)
movq (%r14), %r12
movq 0x8(%r14), %r13
cmpq %r13, %r12
je 0x5320
cmpl $0x2, 0x8(%r12)
jne 0x531a
movq %r15, %rdi
movq %rbx, %rsi
callq 0x62c8
xorl %eax, %eax
movsd 0x2f41(%rip), %xmm1     # 0x8248
ucomisd %xmm0, %xmm1
setbe %al
leal 0x1(,%rax,2), %eax
movl %eax, 0x8(%r12)
subq $-0x80, %r12
jmp 0x52e5
movq %r14, %rax
addq $0x2798, %rsp           # imm = 0x2798
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r15
leaq 0x1410(%rsp), %rdi
callq 0x34b2
jmp 0x5d39
jmp 0x5d36
movq %rax, %r15
movl $0x880, %r14d           # imm = 0x880
leaq (%rsp,%r14), %rdi
addq $0x1410, %rdi           # imm = 0x1410
callq 0x297a
addq $-0x80, %r14
cmpq $-0x80, %r14
jne 0x5358
movb $0x1, %bpl
jmp 0x537c
movq %rax, %r15
xorl %ebp, %ebp
leaq 0x5b0(%rsp), %rdi
callq 0x299e
jmp 0x5390
movq %rax, %r15
xorl %ebp, %ebp
pushq $0x40
popq %r14
leaq (%rsp,%r14), %rdi
addq $0x910, %rdi            # imm = 0x910
callq 0x2a02
addq $-0x40, %r14
cmpq $-0x40, %r14
jne 0x5394
jmp 0x53c7
movq %rax, %r15
leaq 0x910(%rsp), %rdi
callq 0x2a02
jmp 0x53c5
movq %rax, %r15
xorl %ebp, %ebp
leaq 0x130(%rsp), %rdi
callq 0x20c0
leaq 0x150(%rsp), %rdi
callq 0x20c0
jmp 0x53f3
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x53d4
jmp 0x53ee
jmp 0x53ee
movq %rax, %r15
xorl %ebp, %ebp
leaq 0x5e0(%rsp), %rdi
callq 0x299e
pushq $0x40
popq %r14
leaq (%rsp,%r14), %rdi
addq $0x990, %rdi            # imm = 0x990
callq 0x2a02
addq $-0x40, %r14
cmpq $-0x40, %r14
jne 0x5404
leaq 0x170(%rsp), %rdi
callq 0x20c0
leaq 0x190(%rsp), %rdi
callq 0x20c0
leaq 0x610(%rsp), %rdi
callq 0x299e
pushq $0x40
popq %r14
leaq (%rsp,%r14), %rdi
addq $0xa10, %rdi            # imm = 0xA10
callq 0x2a02
addq $-0x40, %r14
cmpq $-0x40, %r14
jne 0x5449
leaq 0x1b0(%rsp), %rdi
callq 0x20c0
leaq 0x1d0(%rsp), %rdi
callq 0x20c0
leaq 0x640(%rsp), %rdi
callq 0x299e
pushq $0x40
popq %r14
leaq (%rsp,%r14), %rdi
addq $0xa90, %rdi            # imm = 0xA90
callq 0x2a02
addq $-0x40, %r14
cmpq $-0x40, %r14
jne 0x548e
leaq 0x1f0(%rsp), %rdi
callq 0x20c0
leaq 0x210(%rsp), %rdi
callq 0x20c0
leaq 0x670(%rsp), %rdi
callq 0x299e
pushq $0x40
popq %r14
leaq (%rsp,%r14), %rdi
addq $0xb10, %rdi            # imm = 0xB10
callq 0x2a02
addq $-0x40, %r14
cmpq $-0x40, %r14
jne 0x54d3
leaq 0x230(%rsp), %rdi
callq 0x20c0
leaq 0x250(%rsp), %rdi
callq 0x20c0
leaq 0x6a0(%rsp), %rdi
callq 0x299e
pushq $0x40
popq %r14
leaq (%rsp,%r14), %rdi
addq $0xb90, %rdi            # imm = 0xB90
callq 0x2a02
addq $-0x40, %r14
cmpq $-0x40, %r14
jne 0x5518
leaq 0x270(%rsp), %rdi
callq 0x20c0
leaq 0x290(%rsp), %rdi
callq 0x20c0
leaq 0x6d0(%rsp), %rdi
callq 0x299e
pushq $0x40
popq %r14
leaq (%rsp,%r14), %rdi
addq $0xc10, %rdi            # imm = 0xC10
callq 0x2a02
addq $-0x40, %r14
cmpq $-0x40, %r14
jne 0x555d
leaq 0x2b0(%rsp), %rdi
callq 0x20c0
leaq 0x2d0(%rsp), %rdi
callq 0x20c0
leaq 0x700(%rsp), %rdi
callq 0x299e
pushq $0x40
popq %r14
leaq (%rsp,%r14), %rdi
addq $0xc90, %rdi            # imm = 0xC90
callq 0x2a02
addq $-0x40, %r14
cmpq $-0x40, %r14
jne 0x55a2
leaq 0x2f0(%rsp), %rdi
callq 0x20c0
leaq 0x310(%rsp), %rdi
callq 0x20c0
leaq 0x730(%rsp), %rdi
callq 0x299e
movl $0x80, %r14d
leaq (%rsp,%r14), %rdi
addq $0xf90, %rdi            # imm = 0xF90
callq 0x2a02
addq $-0x40, %r14
cmpq $-0x40, %r14
jne 0x55e9
leaq 0x330(%rsp), %rdi
callq 0x20c0
leaq 0x350(%rsp), %rdi
callq 0x20c0
leaq 0x760(%rsp), %rdi
callq 0x299e
pushq $0x40
popq %r14
leaq (%rsp,%r14), %rdi
addq $0xd10, %rdi            # imm = 0xD10
callq 0x2a02
addq $-0x40, %r14
cmpq $-0x40, %r14
jne 0x562e
leaq 0x370(%rsp), %rdi
callq 0x20c0
leaq 0x390(%rsp), %rdi
callq 0x20c0
leaq 0x790(%rsp), %rdi
callq 0x299e
pushq $0x40
popq %r14
leaq (%rsp,%r14), %rdi
addq $0xd90, %rdi            # imm = 0xD90
callq 0x2a02
addq $-0x40, %r14
cmpq $-0x40, %r14
jne 0x5673
leaq 0x3b0(%rsp), %rdi
callq 0x20c0
leaq 0x3d0(%rsp), %rdi
callq 0x20c0
leaq 0x7c0(%rsp), %rdi
callq 0x299e
pushq $0x40
popq %r14
leaq (%rsp,%r14), %rdi
addq $0xe10, %rdi            # imm = 0xE10
callq 0x2a02
addq $-0x40, %r14
cmpq $-0x40, %r14
jne 0x56b8
leaq 0x3f0(%rsp), %rdi
callq 0x20c0
leaq 0x410(%rsp), %rdi
callq 0x20c0
leaq 0x7f0(%rsp), %rdi
callq 0x299e
movl $0xc0, %r14d
leaq (%rsp,%r14), %rdi
addq $0xe90, %rdi            # imm = 0xE90
callq 0x2a02
addq $-0x40, %r14
cmpq $-0x40, %r14
jne 0x56ff
leaq 0x430(%rsp), %rdi
callq 0x20c0
leaq 0x450(%rsp), %rdi
callq 0x20c0
leaq 0x820(%rsp), %rdi
callq 0x299e
movl $0x80, %r14d
leaq (%rsp,%r14), %rdi
addq $0x1050, %rdi           # imm = 0x1050
callq 0x2a02
addq $-0x40, %r14
cmpq $-0x40, %r14
jne 0x5746
leaq 0x470(%rsp), %rdi
callq 0x20c0
leaq 0x490(%rsp), %rdi
callq 0x20c0
leaq 0x850(%rsp), %rdi
callq 0x299e
movl $0x80, %r14d
leaq (%rsp,%r14), %rdi
addq $0x1110, %rdi           # imm = 0x1110
callq 0x2a02
addq $-0x40, %r14
cmpq $-0x40, %r14
jne 0x578d
leaq 0x4b0(%rsp), %rdi
callq 0x20c0
leaq 0x4d0(%rsp), %rdi
callq 0x20c0
leaq 0x880(%rsp), %rdi
callq 0x299e
movl $0x80, %r14d
leaq (%rsp,%r14), %rdi
addq $0x11d0, %rdi           # imm = 0x11D0
callq 0x2a02
addq $-0x40, %r14
cmpq $-0x40, %r14
jne 0x57d4
leaq 0x4f0(%rsp), %rdi
callq 0x20c0
leaq 0x510(%rsp), %rdi
callq 0x20c0
leaq 0x8b0(%rsp), %rdi
callq 0x299e
movl $0x80, %r14d
leaq (%rsp,%r14), %rdi
addq $0x1290, %rdi           # imm = 0x1290
callq 0x2a02
addq $-0x40, %r14
cmpq $-0x40, %r14
jne 0x581b
leaq 0x530(%rsp), %rdi
callq 0x20c0
leaq 0x550(%rsp), %rdi
callq 0x20c0
leaq 0x8e0(%rsp), %rdi
callq 0x299e
movl $0x80, %r14d
leaq (%rsp,%r14), %rdi
addq $0x1350, %rdi           # imm = 0x1350
callq 0x2a02
addq $-0x40, %r14
cmpq $-0x40, %r14
jne 0x5862
leaq 0x570(%rsp), %rdi
callq 0x20c0
leaq 0x590(%rsp), %rdi
callq 0x20c0
leaq 0x1410(%rsp), %r14
cmpq %rbx, %r14
sete %al
testb %bpl, %bpl
jne 0x5d41
testb %al, %al
jne 0x5d41
addq $-0x80, %rbx
movq %rbx, %rdi
callq 0x297a
cmpq %r14, %rbx
jne 0x58b5
jmp 0x5d41
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x5400
movq %rax, %r15
leaq 0x990(%rsp), %rdi
callq 0x2a02
jmp 0x58ea
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x541e
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x542b
jmp 0x58ff
jmp 0x58ff
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x5438
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x5445
movq %rax, %r15
leaq 0xa10(%rsp), %rdi
callq 0x2a02
jmp 0x5928
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x5463
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x5470
jmp 0x593d
jmp 0x593d
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x547d
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x548a
movq %rax, %r15
leaq 0xa90(%rsp), %rdi
callq 0x2a02
jmp 0x5966
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x54a8
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x54b5
jmp 0x597b
jmp 0x597b
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x54c2
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x54cf
movq %rax, %r15
leaq 0xb10(%rsp), %rdi
callq 0x2a02
jmp 0x59a4
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x54ed
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x54fa
jmp 0x59b9
jmp 0x59b9
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x5507
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x5514
movq %rax, %r15
leaq 0xb90(%rsp), %rdi
callq 0x2a02
jmp 0x59e2
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x5532
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x553f
jmp 0x59f7
jmp 0x59f7
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x554c
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x5559
movq %rax, %r15
leaq 0xc10(%rsp), %rdi
callq 0x2a02
jmp 0x5a20
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x5577
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x5584
jmp 0x5a35
jmp 0x5a35
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x5591
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x559e
movq %rax, %r15
leaq 0xc90(%rsp), %rdi
callq 0x2a02
jmp 0x5a5e
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x55bc
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x55c9
jmp 0x5a73
jmp 0x5a73
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x55d6
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x55e3
movq %rax, %r15
jmp 0x5c85
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x5610
jmp 0x5a9d
jmp 0x5a9d
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x561d
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x562a
movq %rax, %r15
leaq 0xd10(%rsp), %rdi
callq 0x2a02
jmp 0x5ac6
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x5648
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x5655
jmp 0x5adb
jmp 0x5adb
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x5662
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x566f
movq %rax, %r15
leaq 0xd90(%rsp), %rdi
callq 0x2a02
jmp 0x5b04
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x568d
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x569a
jmp 0x5b19
jmp 0x5b19
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x56a7
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x56b4
movq %rax, %r15
leaq 0xe10(%rsp), %rdi
callq 0x2a02
jmp 0x5b42
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x56d2
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x56df
jmp 0x5b57
jmp 0x5b57
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x56ec
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x56f9
movq %rax, %r15
jmp 0x5d2f
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x5726
jmp 0x5b81
jmp 0x5b81
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x5733
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x5740
movq %rax, %r15
jmp 0x5ca0
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x576d
jmp 0x5bab
jmp 0x5bab
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x577a
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x5787
movq %rax, %r15
jmp 0x5cbb
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x57b4
jmp 0x5bd5
jmp 0x5bd5
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x57c1
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x57ce
movq %rax, %r15
jmp 0x5cd6
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x57fb
jmp 0x5bff
jmp 0x5bff
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x5808
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x5815
movq %rax, %r15
jmp 0x5cf1
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x5842
jmp 0x5c29
jmp 0x5c29
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x584f
movq %rax, %r15
leaq 0x1410(%rsp), %rbx
xorl %ebp, %ebp
jmp 0x585c
movq %rax, %r15
leaq 0x1410(%rsp), %rbx
jmp 0x5d14
movq %rax, %r15
leaq 0x1410(%rsp), %rbx
xorl %ebp, %ebp
jmp 0x5889
jmp 0x5c69
movq %rax, %r15
jmp 0x5d41
movq %rax, %r15
addq $-0x40, %r13
movq %r13, %rdi
callq 0x2a02
cmpq %r12, %r13
jne 0x5c74
xorl %ebp, %ebp
jmp 0x5603
movq %rax, %r15
addq $-0x40, %r13
movq %r13, %rdi
callq 0x2a02
cmpq %r12, %r13
jne 0x5c8f
xorl %ebp, %ebp
jmp 0x5760
movq %rax, %r15
addq $-0x40, %r13
movq %r13, %rdi
callq 0x2a02
cmpq %r12, %r13
jne 0x5caa
xorl %ebp, %ebp
jmp 0x57a7
movq %rax, %r15
addq $-0x40, %r13
movq %r13, %rdi
callq 0x2a02
cmpq %r12, %r13
jne 0x5cc5
xorl %ebp, %ebp
jmp 0x57ee
movq %rax, %r15
addq $-0x40, %r13
movq %r13, %rdi
callq 0x2a02
cmpq %r12, %r13
jne 0x5ce0
xorl %ebp, %ebp
jmp 0x5835
movq %rax, %r15
leaq 0x1410(%rsp), %rbx
addq $-0x40, %r13
movq %r13, %rdi
callq 0x2a02
cmpq %r12, %r13
jne 0x5d03
xorl %ebp, %ebp
jmp 0x587c
movq %rax, %r15
addq $-0x40, %r13
movq %r13, %rdi
callq 0x2a02
cmpq %r12, %r13
jne 0x5d1e
xorl %ebp, %ebp
jmp 0x5719
movq %rax, %r15
movq %r14, %rdi
callq 0x62d0
movq %r15, %rdi
callq 0x22d0