// File: /workspace/github_cpp_makefile_star2_O3/permui[P]CastleAdventure/src/games.cpp
// Function: games::mul_game(Player&, Grid&, std::map<Position, Grid, std::less<Position>, std::allocator<std::pair<Position const, Grid>>>&)
void mul_game(Player &player, Grid&, Map&) {
		random_device r;
		default_random_engine eng(r());
		uniform_int_distribution<int> dis(mul_range.first, mul_range.second);
		int x = dis(eng), y = dis(eng), z = x * y;
		cout << "Answer the following question in " << mul_time << " seconds" << endl;
		cout << x << " * " << y << " = ";
		pair<int, double> get = GetAin<int>();
		if (get.second > mul_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! " << mul_award << " BTC to your pocket." << endl;
		player.btc += mul_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 $0x1300000001, %rax     # imm = 0x1300000001
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 0x9d9e(%rip), %rdi      # 0xcfd0
leaq 0x5e87(%rip), %rsi      # 0x90c0
movl $0x21, %edx
callq 0x21e0
movq 0x9d86(%rip), %rdi      # 0xcfd0
movl $0xa, %esi
callq 0x2280
movq %rax, %r15
leaq 0x5e84(%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 0x9d37(%rip), %rdi      # 0xcfd0
movl %ebp, %esi
callq 0x2280
movq %rax, %r15
leaq 0x5e9c(%rip), %rsi      # 0x9146
movl $0x3, %edx
movq %rax, %rdi
callq 0x21e0
movq %r15, %rdi
movl %r14d, %esi
callq 0x2280
leaq 0x5e26(%rip), %rsi      # 0x90ef
movl $0x3, %edx
movq %rax, %rdi
callq 0x21e0
callq 0x3892
movsd %xmm0, 0x8(%rsp)
ucomisd 0x5daf(%rip), %xmm0     # 0x9098
jbe 0x3368
movq 0x9cde(%rip), %rbx      # 0xcfd0
leaq 0x5dfa(%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 0x5dc8(%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 0x340d
imull %ebp, %r14d
cmpl %r14d, %eax
jne 0x33de
movq 0x9c58(%rip), %rdi      # 0xcfd0
leaq 0x5da3(%rip), %rsi      # 0x9122
movl $0xe, %edx
callq 0x21e0
movq 0x9c40(%rip), %rdi      # 0xcfd0
movl $0x4, %esi
callq 0x2280
movq %rax, %r14
leaq 0x5d8d(%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 $0x4, 0x10(%rbx)
jmp 0x3420
movq 0x9beb(%rip), %rbx      # 0xcfd0
leaq 0x5d28(%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 0x3457
jmp 0x3442
jmp 0x3442
jmp 0x3442
jmp 0x3442
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x2190
movq %rbx, %rdi
callq 0x22a0
movq %rax, %rdi
callq 0x29ab