Function at 0x401500
Capabilities:
Execute command

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
push ebp
mov ebp, esp
push ebx
push ecx
sub esp, 0x20
call sym._mcount
call dbg._monstartup
call dbg.__main
mov dword [esp], 0
call sym._time
mov edx, eax
mov eax, edx
add eax, eax
add eax, edx
add eax, 1
mov dword [esp], eax
call sym._srand
mov dword [esp], 0
call sym._time
mov ebx, eax
call sym._rand
shl eax, 6
add eax, ebx
add eax, 0x7b
mov dword [esp], eax
call sym._srand
mov dword [esp], str.color_B
call sym._system
mov eax, dword [0x496024]
test eax, eax
jne 0x4015ec
mov dword [esp + 4], str.Welcome_to_the_Backgammon_Game__n
mov dword [esp], 0x48c3c0
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov dword [esp], 0x4b0
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov dword [esp + 4], str.Lets_Begin__n
mov dword [esp], 0x48c3c0
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov dword [esp], 0x320
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov dword [esp + 4], str.Have_a_good_time__n
mov dword [esp], 0x48c3c0
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov dword [esp], 0x5dc
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
call sym.Load__
mov dword [esp + 4], str.________________________________________________n
mov dword [esp], 0x48c3c0
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov dword [esp + 4], str.Type_1:Player_VS_Player_n
mov dword [esp], 0x48c3c0
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov dword [esp + 4], str.Type_2:Player_VS_Computer_n
mov dword [esp], 0x48c3c0
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov dword [esp + 4], str.Type_3:Exit_the_game_n
mov dword [esp], 0x48c3c0
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov dword [esp + 4], str.Please_enter_the_type_number_n
mov dword [esp], 0x48c3c0
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
lea eax, [ebp - 0xc]
mov dword [esp], eax
mov ecx, 0x48c180
call method.std::istream.operator___int_
sub esp, 4
mov eax, dword [ebp - 0xc]
cmp eax, 1
jne 0x4016c3
mov eax, dword [0x496024]
test eax, eax
jne 0x4016be
mov dword [esp + 4], str.The_first_player_is_X._n
mov dword [esp], 0x48c3c0
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov dword [esp], 0x1f4
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov dword [esp + 4], str.The_second_player_is_O._n
mov dword [esp], 0x48c3c0
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov dword [esp], 0x1f4
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
call sym.Player_to_player__
mov eax, dword [ebp - 0xc]
cmp eax, 2
jne 0x401723
mov eax, dword [0x496024]
test eax, eax
jne 0x40171e
mov dword [esp + 4], str.You_are_X._n
mov dword [esp], 0x48c3c0
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov dword [esp], 0x1f4
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov dword [esp + 4], str.Computer_is_O._n
mov dword [esp], 0x48c3c0
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov dword [esp], 0x1f4
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
call sym.Player_to_computer__
mov eax, dword [ebp - 0xc]
cmp eax, 3
jne 0x401737
mov dword [esp], 0
call sym._exit
jmp 0x4015ec