// File: /workspace/github_cpp_makefile_star2_O3/tyhsu[P]Ewn/ewnAi.cpp
// Function: EwnAI::EwnAI()
EwnAI::EwnAI()
{
    int cmd;
    cout << "Please choose an AI:" << endl;
    cout << "0)Minimax evaluating with feature" << endl;
    cout << "1)Minimax evaluating with simulation 1" << endl;
    cout << "2)Minimax evaluating with simulation 2" << endl;
    cout << "3)Minimax evaluating with simulation 3" << endl;
    cout << "4)Minimax evaluating with simulation 4" << endl;
    cout << "5)MCTS" << endl;
    cout << "6)Random" << endl;
    cout << "Choose: ";
    cin >> cmd;
    if (cmd >= 0 && cmd <=6) this->ai_mode = cmd;
    else this->ai_mode = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
addq $0x8, %rdi
callq 0x6b34
leaq 0x88(%rbx), %rdi
callq 0x6b34
leaq 0x7dd3(%rip), %rax      # 0xcc68
movq %rax, 0x88(%rbx)
movabsq $0xaa00000003, %rax     # imm = 0xAA00000003
movq %rax, 0x90(%rbx)
leaq 0x108(%rbx), %rdi
callq 0x6b34
leaq 0x7de0(%rip), %rax      # 0xcca0
movq %rax, 0x108(%rbx)
movabsq $0xb400000003, %rax     # imm = 0xB400000003
movq %rax, 0x110(%rbx)
leaq 0x188(%rbx), %rdi
callq 0x6b34
leaq 0x7ded(%rip), %rax      # 0xccd8
movq %rax, 0x188(%rbx)
movabsq $0xc800000003, %rax     # imm = 0xC800000003
movq %rax, 0x190(%rbx)
leaq 0x208(%rbx), %rdi
callq 0x6b34
leaq 0x7dfa(%rip), %rax      # 0xcd10
movq %rax, 0x208(%rbx)
movabsq $0xbe00000003, %rax     # imm = 0xBE00000003
movq %rax, 0x210(%rbx)
leaq 0x288(%rbx), %r14
movq %r14, %rdi
callq 0x5f58
leaq 0x298(%rbx), %rdi
callq 0x5e64
movq 0x8078(%rip), %r15      # 0xcfc8
leaq 0x4769(%rip), %rsi      # 0x96c0
movl $0x14, %edx
movq %r15, %rdi
callq 0x2170
movq (%r15), %rax
addq -0x18(%rax), %r15
movq %r15, %rdi
movl $0xa, %esi
callq 0x2130
movsbl %al, %esi
movq 0x8046(%rip), %rdi      # 0xcfc8
callq 0x2030
movq %rax, %rdi
callq 0x20c0
movq 0x8032(%rip), %r15      # 0xcfc8
leaq 0x43ae(%rip), %rsi      # 0x934b
movl $0x21, %edx
movq %r15, %rdi
callq 0x2170
movq (%r15), %rax
addq -0x18(%rax), %r15
movq %r15, %rdi
movl $0xa, %esi
callq 0x2130
movsbl %al, %esi
movq 0x8000(%rip), %rdi      # 0xcfc8
callq 0x2030
movq %rax, %rdi
callq 0x20c0
movq 0x7fec(%rip), %r15      # 0xcfc8
leaq 0x438a(%rip), %rsi      # 0x936d
movl $0x26, %edx
movq %r15, %rdi
callq 0x2170
movq (%r15), %rax
addq -0x18(%rax), %r15
movq %r15, %rdi
movl $0xa, %esi
callq 0x2130
movsbl %al, %esi
movq 0x7fba(%rip), %rdi      # 0xcfc8
callq 0x2030
movq %rax, %rdi
callq 0x20c0
movq 0x7fa6(%rip), %r15      # 0xcfc8
leaq 0x436b(%rip), %rsi      # 0x9394
movl $0x26, %edx
movq %r15, %rdi
callq 0x2170
movq (%r15), %rax
addq -0x18(%rax), %r15
movq %r15, %rdi
movl $0xa, %esi
callq 0x2130
movsbl %al, %esi
movq 0x7f74(%rip), %rdi      # 0xcfc8
callq 0x2030
movq %rax, %rdi
callq 0x20c0
movq 0x7f60(%rip), %r15      # 0xcfc8
leaq 0x434c(%rip), %rsi      # 0x93bb
movl $0x26, %edx
movq %r15, %rdi
callq 0x2170
movq (%r15), %rax
addq -0x18(%rax), %r15
movq %r15, %rdi
movl $0xa, %esi
callq 0x2130
movsbl %al, %esi
movq 0x7f2e(%rip), %rdi      # 0xcfc8
callq 0x2030
movq %rax, %rdi
callq 0x20c0
movq 0x7f1a(%rip), %r15      # 0xcfc8
leaq 0x432d(%rip), %rsi      # 0x93e2
movl $0x26, %edx
movq %r15, %rdi
callq 0x2170
movq (%r15), %rax
addq -0x18(%rax), %r15
movq %r15, %rdi
movl $0xa, %esi
callq 0x2130
movsbl %al, %esi
movq 0x7ee8(%rip), %rdi      # 0xcfc8
callq 0x2030
movq %rax, %rdi
callq 0x20c0
movq 0x7ed4(%rip), %r15      # 0xcfc8
leaq 0x430e(%rip), %rsi      # 0x9409
movl $0x6, %edx
movq %r15, %rdi
callq 0x2170
movq (%r15), %rax
addq -0x18(%rax), %r15
movq %r15, %rdi
movl $0xa, %esi
callq 0x2130
movsbl %al, %esi
movq 0x7ea2(%rip), %rdi      # 0xcfc8
callq 0x2030
movq %rax, %rdi
callq 0x20c0
movq 0x7e8e(%rip), %r15      # 0xcfc8
leaq 0x42cf(%rip), %rsi      # 0x9410
movl $0x8, %edx
movq %r15, %rdi
callq 0x2170
movq (%r15), %rax
addq -0x18(%rax), %r15
movq %r15, %rdi
movl $0xa, %esi
callq 0x2130
movsbl %al, %esi
movq 0x7e5c(%rip), %rdi      # 0xcfc8
callq 0x2030
movq %rax, %rdi
callq 0x20c0
movq 0x7e48(%rip), %rdi      # 0xcfc8
leaq 0x3f1a(%rip), %rsi      # 0x90a1
movl $0x8, %edx
callq 0x2170
movq 0x7e40(%rip), %rdi      # 0xcfd8
leaq -0x1c(%rbp), %rsi
callq 0x20a0
movl -0x1c(%rbp), %eax
xorl %ecx, %ecx
cmpl $0x7, %eax
cmovbl %eax, %ecx
movl %ecx, (%rbx)
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x51da
movq %rax, %r15
jmp 0x51e5
movq %rax, %r15
jmp 0x520f
movq %rax, %r15
jmp 0x5239
movq %rax, %r15
jmp 0x5263
movq %rax, %r15
jmp 0x528d
movq %rax, %r15
movq %r14, %rdi
callq 0x5fa0
leaq 0x7b8c(%rip), %rax      # 0xcd78
addq $0x10, %rax
movq %rax, 0x208(%rbx)
leaq 0x250(%rbx), %rdi
callq 0x4e0e
leaq 0x220(%rbx), %rdi
callq 0x4e0e
leaq 0x7b62(%rip), %rax      # 0xcd78
addq $0x10, %rax
movq %rax, 0x188(%rbx)
leaq 0x1d0(%rbx), %rdi
callq 0x4e0e
leaq 0x1a0(%rbx), %rdi
callq 0x4e0e
leaq 0x7b38(%rip), %rax      # 0xcd78
addq $0x10, %rax
movq %rax, 0x108(%rbx)
leaq 0x150(%rbx), %rdi
callq 0x4e0e
leaq 0x120(%rbx), %rdi
callq 0x4e0e
leaq 0x7b0e(%rip), %rax      # 0xcd78
addq $0x10, %rax
movq %rax, 0x88(%rbx)
leaq 0xd0(%rbx), %rdi
callq 0x4e0e
leaq 0xa0(%rbx), %rdi
callq 0x4e0e
leaq 0x7ae4(%rip), %rax      # 0xcd78
addq $0x10, %rax
movq %rax, 0x8(%rbx)
leaq 0x50(%rbx), %rdi
callq 0x4e0e
addq $0x20, %rbx
movq %rbx, %rdi
callq 0x4e0e
movq %r15, %rdi
callq 0x2200
nop