// File: permui[P]CastleAdventure/src/games.cpp
// Function: games::add_game(Player&, Grid&, std::map<Position, Grid, std::less<Position>, std::allocator<std::pair<Position const, Grid>>>&)
void add_game(Player &player, Grid&, Map&) {
		random_device r;
		default_random_engine eng(r());
		uniform_int_distribution<int> dis(add_range.first, add_range.second);
		int x = dis(eng), y = dis(eng), z = x + y;
		cout << "Answer the following question in " << add_time << " seconds" << endl;
		cout << x << " + " << y << " = ";
		pair<int, double> get = GetAin<int>();
		if (get.second > add_time) {
			cout << "Out of time! You took " << fixed << setprecision(2) << get.second << " seconds!" << endl;
			return;
		}
		if (get.first != z) {
			cout << "Wrong Answer!" << endl;
			return;
		}
		cout << "Right answer! " << add_award << " BTC to your pocket." << endl;
		player.btc += add_award;
	}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1490, %rsp           # imm = 0x1490
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
leaq -0x13a0(%rbp), %rdi
movq %rdi, -0x13f0(%rbp)
callq 0x6c30
movq -0x13f0(%rbp), %rdi
callq 0x6cd0
movl %eax, -0x13e4(%rbp)
jmp 0x5f9e
movl -0x13e4(%rbp), %eax
movl %eax, %eax
movl %eax, %esi
leaq -0x13a8(%rbp), %rdi
callq 0x6cf0
jmp 0x5fb6
leaq -0x13bc(%rbp), %rdi
xorl %esi, %esi
movl $0x63, %edx
callq 0x6d20
jmp 0x5fcb
leaq -0x13bc(%rbp), %rdi
leaq -0x13a8(%rbp), %rsi
callq 0x6d50
movl %eax, -0x13f4(%rbp)
jmp 0x5fe6
movl -0x13f4(%rbp), %eax
movl %eax, -0x13c0(%rbp)
leaq -0x13bc(%rbp), %rdi
leaq -0x13a8(%rbp), %rsi
callq 0x6d50
movl %eax, -0x13f8(%rbp)
jmp 0x600d
movl -0x13f8(%rbp), %eax
movl %eax, -0x13c4(%rbp)
movl -0x13c0(%rbp), %eax
movl -0x13c4(%rbp), %ecx
addl %ecx, %eax
movl %eax, -0x13c8(%rbp)
movq 0x13f9c(%rip), %rdi     # 0x19fd0
leaq 0xc0bd(%rip), %rsi      # 0x120f8
callq 0x3210
movq %rax, -0x1400(%rbp)
jmp 0x6049
movq -0x1400(%rbp), %rdi
movl $0x7, %esi
callq 0x3380
movq %rax, -0x1408(%rbp)
jmp 0x6063
movq -0x1408(%rbp), %rdi
leaq 0xc0a9(%rip), %rsi      # 0x1211a
callq 0x3210
movq %rax, -0x1410(%rbp)
jmp 0x607f
movq -0x1410(%rbp), %rdi
movq 0x13f33(%rip), %rsi     # 0x19fc0
callq 0x3250
jmp 0x6094
movl -0x13c0(%rbp), %esi
movq 0x13f2f(%rip), %rdi     # 0x19fd0
callq 0x3380
movq %rax, -0x1418(%rbp)
jmp 0x60af
movq -0x1418(%rbp), %rdi
leaq 0xc066(%rip), %rsi      # 0x12123
callq 0x3210
movq %rax, -0x1420(%rbp)
jmp 0x60cb
movq -0x1420(%rbp), %rdi
movl -0x13c4(%rbp), %esi
callq 0x3380
movq %rax, -0x1428(%rbp)
jmp 0x60e6
movq -0x1428(%rbp), %rdi
leaq 0xc033(%rip), %rsi      # 0x12127
callq 0x3210
jmp 0x60fb
callq 0x6d80
movsd %xmm0, -0x1438(%rbp)
movl %eax, -0x142c(%rbp)
jmp 0x6110
movsd -0x1438(%rbp), %xmm0
movl -0x142c(%rbp), %eax
movl %eax, -0x13d8(%rbp)
movsd %xmm0, -0x13d0(%rbp)
movsd -0x13d0(%rbp), %xmm0
movsd 0xbf64(%rip), %xmm1     # 0x120a0
ucomisd %xmm1, %xmm0
jbe 0x6237
movq 0x13e83(%rip), %rdi     # 0x19fd0
leaq 0xbfd7(%rip), %rsi      # 0x1212b
callq 0x3210
movq %rax, -0x1440(%rbp)
jmp 0x6162
movq -0x1440(%rbp), %rdi
leaq 0xc90(%rip), %rsi       # 0x6e00
callq 0x3090
movq %rax, -0x1448(%rbp)
jmp 0x617e
movl $0x2, %edi
callq 0x6e30
movl %eax, -0x144c(%rbp)
jmp 0x6190
movq -0x1448(%rbp), %rdi
movl -0x144c(%rbp), %eax
movl %eax, -0x13dc(%rbp)
movl -0x13dc(%rbp), %esi
callq 0x3330
movq %rax, -0x1458(%rbp)
jmp 0x61b7
movq -0x1458(%rbp), %rdi
movsd -0x13d0(%rbp), %xmm0
callq 0x33d0
movq %rax, -0x1460(%rbp)
jmp 0x61d4
movq -0x1460(%rbp), %rdi
leaq 0xbf60(%rip), %rsi      # 0x12142
callq 0x3210
movq %rax, -0x1468(%rbp)
jmp 0x61f0
movq -0x1468(%rbp), %rdi
movq 0x13dc2(%rip), %rsi     # 0x19fc0
callq 0x3250
jmp 0x6205
movl $0x1, -0x13e0(%rbp)
jmp 0x6300
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x13b0(%rbp)
movl %eax, -0x13b4(%rbp)
leaq -0x13a0(%rbp), %rdi
callq 0x6e50
jmp 0x6315
movl -0x13d8(%rbp), %eax
cmpl -0x13c8(%rbp), %eax
je 0x6282
movq 0x13d84(%rip), %rdi     # 0x19fd0
leaq 0xbef9(%rip), %rsi      # 0x1214c
callq 0x3210
movq %rax, -0x1470(%rbp)
jmp 0x6261
movq -0x1470(%rbp), %rdi
movq 0x13d51(%rip), %rsi     # 0x19fc0
callq 0x3250
jmp 0x6276
movl $0x1, -0x13e0(%rbp)
jmp 0x6300
movq 0x13d47(%rip), %rdi     # 0x19fd0
leaq 0xbeca(%rip), %rsi      # 0x1215a
callq 0x3210
movq %rax, -0x1478(%rbp)
jmp 0x629e
movq -0x1478(%rbp), %rdi
movl $0x2, %esi
callq 0x3380
movq %rax, -0x1480(%rbp)
jmp 0x62b8
movq -0x1480(%rbp), %rdi
leaq 0xbea3(%rip), %rsi      # 0x12169
callq 0x3210
movq %rax, -0x1488(%rbp)
jmp 0x62d4
movq -0x1488(%rbp), %rdi
movq 0x13cde(%rip), %rsi     # 0x19fc0
callq 0x3250
jmp 0x62e9
movq -0x8(%rbp), %rax
movl 0x10(%rax), %ecx
addl $0x2, %ecx
movl %ecx, 0x10(%rax)
movl $0x0, -0x13e0(%rbp)
leaq -0x13a0(%rbp), %rdi
callq 0x6e50
addq $0x1490, %rsp           # imm = 0x1490
popq %rbp
retq
movq -0x13b0(%rbp), %rdi
callq 0x33a0
nopw %cs:(%rax,%rax)