// File: /workspace/github_cpp_makefile_star2_O3/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 0x3818
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 0x38fc
movl %eax, %ebp
leaq 0x10(%rsp), %rsi
leaq 0x18(%rsp), %rdi
movq %rdi, %rdx
callq 0x38fc
movl %eax, %r14d
movq 0xa053(%rip), %rdi      # 0xcfd0
leaq 0x613c(%rip), %rsi      # 0x90c0
movl $0x21, %edx
callq 0x21e0
movq 0xa03b(%rip), %rdi      # 0xcfd0
movl $0x7, %esi
callq 0x2280
movq %rax, %r15
leaq 0x6139(%rip), %rsi      # 0x90e2
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 0x9fec(%rip), %rdi      # 0xcfd0
movl %ebp, %esi
callq 0x2280
movq %rax, %r15
leaq 0x60f6(%rip), %rsi      # 0x90eb
movl $0x3, %edx
movq %rax, %rdi
callq 0x21e0
movq %r15, %rdi
movl %r14d, %esi
callq 0x2280
leaq 0x60db(%rip), %rsi      # 0x90ef
movl $0x3, %edx
movq %rax, %rdi
callq 0x21e0
callq 0x3892
movsd %xmm0, 0x8(%rsp)
ucomisd 0x6054(%rip), %xmm0     # 0x9088
jbe 0x30b3
movq 0x9f93(%rip), %rbx      # 0xcfd0
leaq 0x60af(%rip), %rsi      # 0x90f3
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 0x607d(%rip), %rsi      # 0x910a
movl $0x9, %edx
movq %rax, %rdi
callq 0x21e0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21a0
jmp 0x3157
addl %ebp, %r14d
cmpl %r14d, %eax
jne 0x3128
movq 0x9f0e(%rip), %rdi      # 0xcfd0
leaq 0x6059(%rip), %rsi      # 0x9122
movl $0xe, %edx
callq 0x21e0
movq 0x9ef6(%rip), %rdi      # 0xcfd0
movl $0x2, %esi
callq 0x2280
movq %rax, %r14
leaq 0x6043(%rip), %rsi      # 0x9131
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 0x316a
movq 0x9ea1(%rip), %rbx      # 0xcfd0
leaq 0x5fde(%rip), %rsi      # 0x9114
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 0x31a1
jmp 0x318c
jmp 0x318c
jmp 0x318c
jmp 0x318c
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x2190
movq %rbx, %rdi
callq 0x22a0
movq %rax, %rdi
callq 0x29ab