// File: /workspace/github_cpp_makefile_star2_O3/whitefusion[P]Jaipur_cardgame-/Game.cpp
// Function: Game::takeInputVerify(Market&)
int Game::takeInputVerify(Market &m){
    int take;
    char tmp[256];
    char *token;

    cout << "Choose the ID of the card want to take: ";
    cin.getline(tmp,256);
    token = strtok(tmp, " \t\n\r\f");
    while (!token){
        cout << "Invalid choice! Try again." << endl;
        cout << "Choose the ID of the card want to take: ";
        cin.getline(tmp, 256);
        token = strtok(tmp, " \t\n\r\f");
    }
    take = atoi(token);

    while(!takeVerify(m, take)){
        cout << "Invalid choice! Try again: ";
        cin.getline(tmp,256);
        token = strtok(tmp, " \t\n\r\f");
        while (!token){
            cout << "Invalid choice! Try again." << endl;
            cout << "Choose the ID of the card want to take: ";
            cin.getline(tmp, 256);
            token = strtok(tmp, " \t\n\r\f");
        }
        take = atoi(token);
    }
    return take;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x118, %rsp            # imm = 0x118
movq %rsi, 0x8(%rsp)
movq 0x8867(%rip), %r14      # 0x15fd0
leaq 0x32a8(%rip), %rsi      # 0x10a18
movl $0x28, %edx
movq %r14, %rdi
callq 0x21d0
movq 0x885c(%rip), %r15      # 0x15fe0
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x2180
movsbl %al, %ecx
leaq 0x10(%rsp), %rbx
movl $0x100, %edx            # imm = 0x100
movq %r15, %rdi
movq %rbx, %rsi
callq 0x22a0
leaq 0x28ab(%rip), %rsi      # 0x10062
movq %rbx, %rdi
callq 0x2230
testq %rax, %rax
jne 0xd860
leaq 0x2899(%rip), %rbx      # 0x10068
leaq 0x3242(%rip), %r12      # 0x10a18
leaq 0x10(%rsp), %r13
leaq 0x2880(%rip), %rbp      # 0x10062
movl $0x1a, %edx
movq %r14, %rdi
movq %rbx, %rsi
callq 0x21d0
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2180
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20f0
movl $0x28, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0x21d0
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x2180
movsbl %al, %ecx
movl $0x100, %edx            # imm = 0x100
movq %r15, %rdi
movq %r13, %rsi
callq 0x22a0
movq %r13, %rdi
movq %rbp, %rsi
callq 0x2230
testq %rax, %rax
je 0xd7e2
movq %rax, %rdi
callq 0x2220
movl %eax, %r12d
leaq 0x4(%rsp), %rdx
movl %eax, (%rdx)
movq 0x8(%rsp), %rsi
callq 0xe380
testb %al, %al
jne 0xd991
leaq 0x10(%rsp), %r13
leaq 0x27d2(%rip), %rbp      # 0x10062
leaq 0x3181(%rip), %rbx      # 0x10a18
movl $0x1b, %edx
movq %r14, %rdi
leaq 0x319b(%rip), %rsi      # 0x10a41
callq 0x21d0
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x2180
movsbl %al, %ecx
movl $0x100, %edx            # imm = 0x100
movq %r15, %rdi
movq %r13, %rsi
callq 0x22a0
movq %r13, %rdi
movq %rbp, %rsi
callq 0x2230
testq %rax, %rax
jne 0xd96b
leaq 0x277b(%rip), %r12      # 0x10068
movl $0x1a, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0x21d0
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2180
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20f0
movl $0x28, %edx
movq %r14, %rdi
movq %rbx, %rsi
callq 0x21d0
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x2180
movsbl %al, %ecx
movl $0x100, %edx            # imm = 0x100
movq %r15, %rdi
movq %r13, %rsi
callq 0x22a0
movq %r13, %rdi
movq %rbp, %rsi
callq 0x2230
testq %rax, %rax
je 0xd8ed
movq %rax, %rdi
callq 0x2220
movl %eax, %r12d
movl %eax, 0x4(%rsp)
movq 0x8(%rsp), %rsi
leaq 0x4(%rsp), %rdx
callq 0xe380
testb %al, %al
je 0xd897
movl %r12d, %eax
addq $0x118, %rsp            # imm = 0x118
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq