// File: /workspace/github_cpp_makefile_star2_O1/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
pushq %r15
pushq %r14
pushq %rbx
subq $0x13a8, %rsp           # imm = 0x13A8
movq %rdi, %rbx
leaq 0x20(%rsp), %r14
movq %r14, %rdi
callq 0x3830
movq %r14, %rdi
callq 0x2200
movl %eax, %ecx
leaq (%rcx,%rcx,2), %rcx
shrq $0x20, %rcx
movl %eax, %edx
subl %ecx, %edx
shrl %edx
addl %ecx, %edx
shrl $0x1e, %edx
movl %edx, %ecx
shll $0x1f, %ecx
orl %edx, %ecx
leal (%rax,%rcx), %edx
cmpl $0x1, %edx
adcl %eax, %ecx
leaq 0x10(%rsp), %rsi
movq %rcx, (%rsi)
movabsq $0x6300000000, %rax     # imm = 0x6300000000
leaq 0x18(%rsp), %rdi
movq %rax, (%rdi)
movq %rdi, %rdx
callq 0x3914
movl %eax, %ebp
leaq 0x10(%rsp), %rsi
leaq 0x18(%rsp), %rdi
movq %rdi, %rdx
callq 0x3914
movl %eax, %r14d
movq 0xb03b(%rip), %rdi      # 0xdfd0
leaq 0x7124(%rip), %rsi      # 0xa0c0
movl $0x21, %edx
callq 0x21e0
movq 0xb023(%rip), %rdi      # 0xdfd0
movl $0x7, %esi
callq 0x2280
movq %rax, %r15
leaq 0x7121(%rip), %rsi      # 0xa0e2
movl $0x8, %edx
movq %rax, %rdi
callq 0x21e0
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x21a0
movsbl %al, %esi
movq %r15, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2120
movq 0xafd4(%rip), %rdi      # 0xdfd0
movl %ebp, %esi
callq 0x2280
movq %rax, %r15
leaq 0x70de(%rip), %rsi      # 0xa0eb
movl $0x3, %edx
movq %rax, %rdi
callq 0x21e0
movq %r15, %rdi
movl %r14d, %esi
callq 0x2280
leaq 0x70c3(%rip), %rsi      # 0xa0ef
movl $0x3, %edx
movq %rax, %rdi
callq 0x21e0
callq 0x38aa
movsd %xmm0, 0x8(%rsp)
ucomisd 0x703c(%rip), %xmm0     # 0xa088
jbe 0x30cb
movq 0xaf7b(%rip), %rbx      # 0xdfd0
leaq 0x7097(%rip), %rsi      # 0xa0f3
movl $0x16, %edx
movq %rbx, %rdi
callq 0x21e0
movsd 0x8(%rsp), %xmm0
movq (%rbx), %rax
movq -0x18(%rax), %rcx
movl $0xfffffefb, %edx       # imm = 0xFFFFFEFB
andl 0x18(%rbx,%rcx), %edx
orl $0x4, %edx
movl %edx, 0x18(%rbx,%rcx)
movq -0x18(%rax), %rax
movq $0x2, 0x8(%rbx,%rax)
movq %rbx, %rdi
callq 0x2240
movq %rax, %rbx
leaq 0x7065(%rip), %rsi      # 0xa10a
movl $0x9, %edx
movq %rax, %rdi
callq 0x21e0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21a0
jmp 0x316f
addl %ebp, %r14d
cmpl %r14d, %eax
jne 0x3140
movq 0xaef6(%rip), %rdi      # 0xdfd0
leaq 0x7041(%rip), %rsi      # 0xa122
movl $0xe, %edx
callq 0x21e0
movq 0xaede(%rip), %rdi      # 0xdfd0
movl $0x2, %esi
callq 0x2280
movq %rax, %r14
leaq 0x702b(%rip), %rsi      # 0xa131
movl $0x14, %edx
movq %rax, %rdi
callq 0x21e0
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21a0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2120
addl $0x2, 0x10(%rbx)
jmp 0x3182
movq 0xae89(%rip), %rbx      # 0xdfd0
leaq 0x6fc6(%rip), %rsi      # 0xa114
movl $0xd, %edx
movq %rbx, %rdi
callq 0x21e0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21a0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2120
leaq 0x20(%rsp), %rdi
callq 0x2190
addq $0x13a8, %rsp           # imm = 0x13A8
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x31b9
jmp 0x31a4
jmp 0x31a4
jmp 0x31a4
jmp 0x31a4
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x2190
movq %rbx, %rdi
callq 0x22a0
movq %rax, %rdi
callq 0x29c6