Function at 0x401a7e
Capabilities:
Execute command
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x40
mov dword [rbp + 0x10], ecx
mov dword [rbp + 0x18], edx
mov eax, r8d
mov byte [rbp + 0x20], al
lea rcx, [0x004be008]
call sym.system
mov dword [rbp - 4], 0
mov dword [rbp - 8], 0
mov dword [rbp - 0xc], 0
mov byte [rbp - 0xd], 1
cmp byte [rbp + 0x20], 0
je 0x4021f0
call sym.rand
cdq
shr edx, 0x1f
add eax, edx
and eax, 1
sub eax, edx
mov dword [rbp - 0x14], eax
mov eax, dword [rbp - 0x14]
test eax, eax
setne al
mov byte [0x004ebbf0], al
mov rax, qword [0x004eb048]
lea rdx, [rbp - 0x14]
mov r9d, 0
mov r8d, 4
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_send]
call rax
mov rax, qword [0x004eb048]
mov r9d, 0
mov r8d, 0x190
lea rdx, [0x004eba20]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_send]
call rax
movzx eax, byte [rbp - 0xe]
cmp al, 0x1b
je 0x402864
mov eax, dword [0x004ebbb0]
test eax, eax
jle 0x402864
mov eax, dword [0x004ebbb4]
test eax, eax
jle 0x402864
mov edx, 0x19
mov ecx, 5
call dbg.gxy(int, int)
lea rdx, str.barcos:
mov rcx, qword [0x004c3650]
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 rcx, rax
mov eax, dword [0x004ebbb0]
mov edx, eax
call method.std::ostream.operator___int_
mov edx, 0x19
mov ecx, 0x14
call dbg.gxy(int, int)
lea rdx, str.enemigos:
mov rcx, qword [0x004c3650]
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 rcx, rax
mov eax, dword [0x004ebbb4]
mov edx, eax
call method.std::ostream.operator___int_
mov edx, 0x19
mov ecx, 0x23
call dbg.gxy(int, int)
lea rdx, str.ronda:
mov rcx, qword [0x004c3650]
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 rcx, rax
mov eax, dword [rbp - 0xc]
lea edx, [rax + 1]
mov dword [rbp - 0xc], edx
mov edx, eax
call method.std::ostream.operator___int_
mov edx, 0x15
mov ecx, 5
call dbg.gxy(int, int)
movzx eax, byte [0x004ebbf0]
test al, al
je 0x401c0f
lea rax, str.tu_turno...
jmp 0x401c16
lea rax, str.esperando_jugador_2...
mov rdx, rax
mov rcx, qword [0x004c3650]
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 eax, dword [0x004ebbb0]
test eax, eax
jle 0x40212d
mov eax, dword [rbp + 0x18]
mov edx, eax
mov ecx, dword [rbp + 0x10]
call dbg.Mapa(int, int)
lea rcx, [0x004eb620]
call dbg.void MapState<15ull>(coord (&) [15ull])
mov eax, dword [rbp + 0x18]
mov edx, eax
mov ecx, dword [rbp + 0x10]
call dbg.MapaPlayer(int, int)
lea rcx, [0x004eb680]
call dbg.void MapPlayerState<15ull>(coord (&) [15ull])
mov edx, 0x16
mov ecx, 5
call dbg.gxy(int, int)
lea rdx, str.:__
mov rcx, qword [0x004c3650]
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_
movzx eax, byte [0x004ebbf0]
test al, al
je 0x401f2d
mov rax, qword [sym.imp.msvcrt.dll__getch]
call rax
mov byte [rbp - 0xe], al
movzx eax, byte [rbp - 0xe]
movsx eax, al
mov edx, eax
mov rcx, qword [0x004c3650]
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_
movzx eax, byte [rbp - 0xe]
movsx edx, al
mov eax, dword [rbp + 0x18]
mov ecx, eax
call dbg.mpy(int, char)
mov rax, qword [0x004eb048]
lea rdx, [rbp - 0xe]
mov r9d, 0
mov r8d, 1
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_send]
call rax
mov rax, qword [sym.imp.msvcrt.dll__getch]
call rax
mov byte [rbp - 0xe], al
movzx eax, byte [rbp - 0xe]
movsx eax, al
mov edx, eax
mov ecx, dword [rbp + 0x10]
call dbg.mpx(int, char)
mov edx, 0x16
mov ecx, 0xa
call dbg.gxy(int, int)
movzx eax, byte [rbp - 0xe]
movsx eax, al
mov edx, eax
mov rcx, qword [0x004c3650]
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_
mov rax, qword [0x004eb048]
lea rdx, [rbp - 0xe]
mov r9d, 0
mov r8d, 1
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_send]
call rax
mov ecx, 0x1f4
mov rax, qword [sym.imp.KERNEL32.dll_Sleep]
call rax
mov byte [0x004ebbf0], 0
movzx ecx, word [0x004eb5fa]
mov eax, dword [rbp - 4]
movsxd rdx, eax
mov rax, rdx
add rax, rax
add rax, rdx
add rax, rax
mov rdx, rax
lea rax, [0x004eb622]
mov word [rdx + rax], cx
movzx ecx, word [0x004eb5fc]
mov eax, dword [rbp - 4]
movsxd rdx, eax
mov rax, rdx
add rax, rax
add rax, rdx
add rax, rax
mov rdx, rax
lea rax, [0x004eb624]
mov word [rdx + rax], cx
movzx eax, word [0x004eb5fc]
cwde
movzx edx, word [0x004eb5fa]
movsx edx, dx
movsxd rcx, edx
movsxd rdx, eax
mov rax, rdx
shl rax, 2
add rax, rdx
add rax, rax
add rax, rcx
lea rdx, [rax*4]
lea rax, [0x004eb6e0]
mov eax, dword [rdx + rax]
cmp eax, 1
jne 0x401eb4
movzx eax, word [0x004eb5fc]
cwde
movzx edx, word [0x004eb5fa]
movsx edx, dx
movsxd rcx, edx
movsxd rdx, eax
mov rax, rdx
shl rax, 2
add rax, rdx
add rax, rax
add rax, rcx
lea rdx, [rax*4]
lea rax, [0x004eb6e0]
mov dword [rdx + rax], 0
mov eax, dword [rbp - 4]
movsxd rdx, eax
mov rax, rdx
add rax, rax
add rax, rdx
add rax, rax
mov rdx, rax
lea rax, [0x004eb620]
mov word [rdx + rax], 2
movzx ecx, word [0x004eb5fa]
mov eax, dword [rbp - 4]
movsxd rdx, eax
mov rax, rdx
add rax, rax
add rax, rdx
add rax, rax
mov rdx, rax
lea rax, [0x004eb622]
mov word [rdx + rax], cx
movzx ecx, word [0x004eb5fc]
mov eax, dword [rbp - 4]
movsxd rdx, eax
mov rax, rdx
add rax, rax
add rax, rdx
add rax, rax
mov rdx, rax
lea rax, [0x004eb624]
mov word [rdx + rax], cx
mov eax, dword [0x004ebbb4]
sub eax, 1
mov dword [0x004ebbb4], eax
jmp 0x401f24
mov eax, dword [rbp - 4]
movsxd rdx, eax
mov rax, rdx
add rax, rax
add rax, rdx
add rax, rax
mov rdx, rax
lea rax, [0x004eb620]
mov word [rdx + rax], 1
movzx ecx, word [0x004eb5fa]
mov eax, dword [rbp - 4]
movsxd rdx, eax
mov rax, rdx
add rax, rax
add rax, rdx
add rax, rax
mov rdx, rax
lea rax, [0x004eb622]
mov word [rdx + rax], cx
movzx ecx, word [0x004eb5fc]
mov eax, dword [rbp - 4]
movsxd rdx, eax
mov rax, rdx
add rax, rax
add rax, rdx
add rax, rax
mov rdx, rax
lea rax, [0x004eb624]
mov word [rdx + rax], cx
add dword [rbp - 4], 1
jmp 0x40212d
mov rax, qword [0x004eb048]
lea rdx, [rbp - 0xf]
mov r9d, 0
mov r8d, 1
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_recv]
call rax
lea rax, [rbp - 0xf]
mov rdx, rax
lea rcx, [0x004ebbc0]
call dbg.std::map<char, int, std::less<char>, std::allocator<std::pair<char const, int> > >::operator[](char const&)
mov edx, dword [rax]
mov eax, dword [rbp + 0x18]
mov ecx, eax
call dbg.mpyb(int, int)
mov rax, qword [0x004eb048]
lea rdx, [rbp - 0xf]
mov r9d, 0
mov r8d, 1
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_recv]
call rax
lea rax, [rbp - 0xf]
mov rdx, rax
lea rcx, [0x004ebbc0]
call dbg.std::map<char, int, std::less<char>, std::allocator<std::pair<char const, int> > >::operator[](char const&)
mov eax, dword [rax]
mov edx, eax
mov ecx, dword [rbp + 0x10]
call dbg.mpxb(int, int)
mov ecx, 0x1f4
mov rax, qword [sym.imp.KERNEL32.dll_Sleep]
call rax
mov byte [0x004ebbf0], 1
movzx eax, word [0x004eb602]
cwde
movzx edx, word [0x004eb600]
movsx edx, dx
movsxd rcx, edx
movsxd rdx, eax
mov rax, rdx
shl rax, 2
add rax, rdx
add rax, rax
add rax, rcx
lea rdx, [rax*4]
lea rax, [0x004eba20]
mov eax, dword [rdx + rax]
cmp eax, 1
jne 0x4020b9
movzx eax, word [0x004eb602]
cwde
movzx edx, word [0x004eb600]
movsx edx, dx
movsxd rcx, edx
movsxd rdx, eax
mov rax, rdx
shl rax, 2
add rax, rdx
add rax, rax
add rax, rcx
lea rdx, [rax*4]
lea rax, [0x004eba20]
mov dword [rdx + rax], 0
mov eax, dword [rbp - 8]
movsxd rdx, eax
mov rax, rdx
add rax, rax
add rax, rdx
add rax, rax
mov rdx, rax
lea rax, [0x004eb680]
mov word [rdx + rax], 2
movzx ecx, word [0x004eb600]
mov eax, dword [rbp - 8]
movsxd rdx, eax
mov rax, rdx
add rax, rax
add rax, rdx
add rax, rax
mov rdx, rax
lea rax, [0x004eb682]
mov word [rdx + rax], cx
movzx ecx, word [0x004eb602]
mov eax, dword [rbp - 8]
movsxd rdx, eax
mov rax, rdx
add rax, rax
add rax, rdx
add rax, rax
mov rdx, rax
lea rax, [0x004eb684]
mov word [rdx + rax], cx
jmp 0x402129
mov eax, dword [rbp - 8]
movsxd rdx, eax
mov rax, rdx
add rax, rax
add rax, rdx
add rax, rax
mov rdx, rax
lea rax, [0x004eb680]
mov word [rdx + rax], 1
movzx ecx, word [0x004eb600]
mov eax, dword [rbp - 8]
movsxd rdx, eax
mov rax, rdx
add rax, rax
add rax, rdx
add rax, rax
mov rdx, rax
lea rax, [0x004eb682]
mov word [rdx + rax], cx
movzx ecx, word [0x004eb602]
mov eax, dword [rbp - 8]
movsxd rdx, eax
mov rax, rdx
add rax, rax
add rax, rdx
add rax, rax
mov rdx, rax
lea rax, [0x004eb684]
mov word [rdx + rax], cx
add dword [rbp - 8], 1
mov rax, qword [0x004eb048]
mov r9d, 0
mov r8d, 0x190
lea rdx, [0x004eba20]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_recv]
call rax
mov rax, qword [0x004eb048]
mov r9d, 0
mov r8d, 4
lea rdx, [0x004ebbb0]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_recv]
call rax
mov rax, qword [0x004eb048]
mov r9d, 0
mov r8d, 0x190
lea rdx, [0x004eb6e0]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_send]
call rax
mov rax, qword [0x004eb048]
mov r9d, 0
mov r8d, 4
lea rdx, [0x004ebbb4]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_send]
call rax
cmp dword [rbp - 4], 0xe
jle 0x4021d2
mov dword [rbp - 4], 0
cmp dword [rbp - 8], 0xe
jle 0x4021df
mov dword [rbp - 8], 0
lea rcx, [0x004be008]
call sym.system
jmp 0x401b2b
mov rax, qword [0x004eb048]
lea rdx, [rbp - 0x18]
mov r9d, 0
mov r8d, 4
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_recv]
call rax
mov eax, dword [rbp - 0x18]
test eax, eax
setne al
mov byte [0x004ebbf0], al
movzx eax, byte [0x004ebbf0]
xor eax, 1
mov byte [0x004ebbf0], al
mov rax, qword [0x004eb048]
mov r9d, 0
mov r8d, 0x190
lea rdx, [0x004eb6e0]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_recv]
call rax
lea rcx, [0x004be008]
call sym.system
movzx eax, byte [rbp - 0xe]
cmp al, 0x1b
je 0x402864
mov eax, dword [0x004ebbb0]
test eax, eax
jle 0x402864
mov eax, dword [0x004ebbb4]
test eax, eax
jle 0x402864
mov edx, 0x19
mov ecx, 5
call dbg.gxy(int, int)
lea rdx, str.barcos:
mov rcx, qword [0x004c3650]
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 rcx, rax
mov eax, dword [0x004ebbb0]
mov edx, eax
call method.std::ostream.operator___int_
mov edx, 0x19
mov ecx, 0x14
call dbg.gxy(int, int)
lea rdx, str.enemigos:
mov rcx, qword [0x004c3650]
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 rcx, rax
mov eax, dword [0x004ebbb4]
mov edx, eax
call method.std::ostream.operator___int_
mov edx, 0x19
mov ecx, 0x23
call dbg.gxy(int, int)
lea rdx, str.ronda:
mov rcx, qword [0x004c3650]
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 rcx, rax
mov eax, dword [rbp - 0xc]
lea edx, [rax + 1]
mov dword [rbp - 0xc], edx
mov edx, eax
call method.std::ostream.operator___int_
mov edx, 0x15
mov ecx, 5
call dbg.gxy(int, int)
movzx eax, byte [0x004ebbf0]
test al, al
je 0x402347
lea rax, str.tu_turno...
jmp 0x40234e
lea rax, str.esperando_jugador_1...
mov rdx, rax
mov rcx, qword [0x004c3650]
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 eax, dword [0x004ebbb0]
test eax, eax
jle 0x4027a1
mov eax, dword [rbp + 0x18]
mov edx, eax
mov ecx, dword [rbp + 0x10]
call dbg.Mapa(int, int)
lea rcx, [0x004eb620]
call dbg.void MapState<15ull>(coord (&) [15ull])
mov eax, dword [rbp + 0x18]
mov edx, eax
mov ecx, dword [rbp + 0x10]
call dbg.MapaPlayer(int, int)
lea rcx, [0x004eb680]
call dbg.void MapPlayerState<15ull>(coord (&) [15ull])
mov edx, 0x16
mov ecx, 5
call dbg.gxy(int, int)
lea rdx, str.:__
mov rcx, qword [0x004c3650]
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_
movzx eax, byte [0x004ebbf0]
test al, al
je 0x4025a1
mov rax, qword [sym.imp.msvcrt.dll__getch]
call rax
mov byte [rbp - 0xe], al
movzx eax, byte [rbp - 0xe]
movsx eax, al
mov edx, eax
mov rcx, qword [0x004c3650]
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_
movzx eax, byte [rbp - 0xe]
movsx edx, al
mov eax, dword [rbp + 0x18]
mov ecx, eax
call dbg.mpy(int, char)
mov rax, qword [0x004eb048]
lea rdx, [rbp - 0xe]
mov r9d, 0
mov r8d, 1
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_send]
call rax
mov rax, qword [sym.imp.msvcrt.dll__getch]
call rax
mov byte [rbp - 0xe], al
movzx eax, byte [rbp - 0xe]
movsx eax, al
mov edx, eax
mov ecx, dword [rbp + 0x10]
call dbg.mpx(int, char)
mov rax, qword [0x004eb048]
lea rdx, [rbp - 0xe]
mov r9d, 0
mov r8d, 1
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_send]
call rax
mov ecx, 0x1f4
mov rax, qword [sym.imp.KERNEL32.dll_Sleep]
call rax
mov byte [0x004ebbf0], 0
movzx ecx, word [0x004eb5fa]
mov eax, dword [rbp - 4]
movsxd rdx, eax
mov rax, rdx
add rax, rax
add rax, rdx
add rax, rax
mov rdx, rax
lea rax, [0x004eb622]
mov word [rdx + rax], cx
movzx ecx, word [0x004eb5fc]
mov eax, dword [rbp - 4]
movsxd rdx, eax
mov rax, rdx
add rax, rax
add rax, rdx
add rax, rax
mov rdx, rax
lea rax, [0x004eb624]
mov word [rdx + rax], cx
movzx eax, word [0x004eb5fc]
cwde
movzx edx, word [0x004eb5fa]
movsx edx, dx
movsxd rcx, edx
movsxd rdx, eax
mov rax, rdx
shl rax, 2
add rax, rdx
add rax, rax
add rax, rcx
lea rdx, [rax*4]
lea rax, [0x004eb6e0]
mov eax, dword [rdx + rax]
cmp eax, 1
jne 0x402576
movzx eax, word [0x004eb5fc]
cwde
movzx edx, word [0x004eb5fa]
movsx edx, dx
movsxd rcx, edx
movsxd rdx, eax
mov rax, rdx
shl rax, 2
add rax, rdx
add rax, rax
add rax, rcx
lea rdx, [rax*4]
lea rax, [0x004eb6e0]
mov dword [rdx + rax], 0
mov eax, dword [rbp - 4]
movsxd rdx, eax
mov rax, rdx
add rax, rax
add rax, rdx
add rax, rax
mov rdx, rax
lea rax, [0x004eb620]
mov word [rdx + rax], 2
mov eax, dword [0x004ebbb4]
sub eax, 1
mov dword [0x004ebbb4], eax
jmp 0x402598
mov eax, dword [rbp - 4]
movsxd rdx, eax
mov rax, rdx
add rax, rax
add rax, rdx
add rax, rax
mov rdx, rax
lea rax, [0x004eb620]
mov word [rdx + rax], 1
add dword [rbp - 4], 1
jmp 0x4027a1
mov rax, qword [0x004eb048]
lea rdx, [rbp - 0xf]
mov r9d, 0
mov r8d, 1
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_recv]
call rax
lea rax, [rbp - 0xf]
mov rdx, rax
lea rcx, [0x004ebbc0]
call dbg.std::map<char, int, std::less<char>, std::allocator<std::pair<char const, int> > >::operator[](char const&)
mov edx, dword [rax]
mov eax, dword [rbp + 0x18]
mov ecx, eax
call dbg.mpyb(int, int)
mov rax, qword [0x004eb048]
lea rdx, [rbp - 0xf]
mov r9d, 0
mov r8d, 1
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_recv]
call rax
lea rax, [rbp - 0xf]
mov rdx, rax
lea rcx, [0x004ebbc0]
call dbg.std::map<char, int, std::less<char>, std::allocator<std::pair<char const, int> > >::operator[](char const&)
mov eax, dword [rax]
mov edx, eax
mov ecx, dword [rbp + 0x10]
call dbg.mpxb(int, int)
mov ecx, 0x1f4
mov rax, qword [sym.imp.KERNEL32.dll_Sleep]
call rax
mov byte [0x004ebbf0], 1
movzx eax, word [0x004eb602]
cwde
movzx edx, word [0x004eb600]
movsx edx, dx
movsxd rcx, edx
movsxd rdx, eax
mov rax, rdx
shl rax, 2
add rax, rdx
add rax, rax
add rax, rcx
lea rdx, [rax*4]
lea rax, [0x004eba20]
mov eax, dword [rdx + rax]
cmp eax, 1
jne 0x40272d
movzx eax, word [0x004eb5fc]
cwde
movzx edx, word [0x004eb5fa]
movsx edx, dx
movsxd rcx, edx
movsxd rdx, eax
mov rax, rdx
shl rax, 2
add rax, rdx
add rax, rax
add rax, rcx
lea rdx, [rax*4]
lea rax, [0x004eba20]
mov dword [rdx + rax], 0
mov eax, dword [rbp - 8]
movsxd rdx, eax
mov rax, rdx
add rax, rax
add rax, rdx
add rax, rax
mov rdx, rax
lea rax, [0x004eb680]
mov word [rdx + rax], 2
movzx ecx, word [0x004eb600]
mov eax, dword [rbp - 8]
movsxd rdx, eax
mov rax, rdx
add rax, rax
add rax, rdx
add rax, rax
mov rdx, rax
lea rax, [0x004eb682]
mov word [rdx + rax], cx
movzx ecx, word [0x004eb602]
mov eax, dword [rbp - 8]
movsxd rdx, eax
mov rax, rdx
add rax, rax
add rax, rdx
add rax, rax
mov rdx, rax
lea rax, [0x004eb684]
mov word [rdx + rax], cx
jmp 0x40279d
movzx ecx, word [0x004eb600]
mov eax, dword [rbp - 8]
movsxd rdx, eax
mov rax, rdx
add rax, rax
add rax, rdx
add rax, rax
mov rdx, rax
lea rax, [0x004eb682]
mov word [rdx + rax], cx
movzx ecx, word [0x004eb602]
mov eax, dword [rbp - 8]
movsxd rdx, eax
mov rax, rdx
add rax, rax
add rax, rdx
add rax, rax
mov rdx, rax
lea rax, [0x004eb684]
mov word [rdx + rax], cx
mov eax, dword [rbp - 8]
movsxd rdx, eax
mov rax, rdx
add rax, rax
add rax, rdx
add rax, rax
mov rdx, rax
lea rax, [0x004eb680]
mov word [rdx + rax], 1
add dword [rbp - 8], 1
mov rax, qword [0x004eb048]
mov r9d, 0
mov r8d, 0x190
lea rdx, [0x004eb6e0]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_send]
call rax
mov rax, qword [0x004eb048]
mov r9d, 0
mov r8d, 4
lea rdx, [0x004ebbb4]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_send]
call rax
mov rax, qword [0x004eb048]
mov r9d, 0
mov r8d, 0x190
lea rdx, [0x004eba20]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_recv]
call rax
mov rax, qword [0x004eb048]
mov r9d, 0
mov r8d, 4
lea rdx, [0x004ebbb0]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_recv]
call rax
cmp dword [rbp - 4], 0xe
jle 0x402846
mov dword [rbp - 4], 0
cmp dword [rbp - 8], 0xe
jle 0x402853
mov dword [rbp - 8], 0
lea rcx, [0x004be008]
call sym.system
jmp 0x402263
mov eax, dword [0x004ebbb0]
test eax, eax
jle 0x40288d
mov eax, dword [0x004ebbb4]
test eax, eax
jg 0x40288d
lea rdx, str.ganaste
mov rcx, qword [0x004c3650]
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_
jmp 0x4028c9
mov eax, dword [0x004ebbb0]
test eax, eax
jg 0x4028b6
mov eax, dword [0x004ebbb4]
test eax, eax
jg 0x4028b6
lea rdx, str.empate
mov rcx, qword [0x004c3650]
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_
jmp 0x4028c9
lea rdx, str.perdiste
mov rcx, qword [0x004c3650]
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 rax, qword [sym.imp.msvcrt.dll__getch]
call rax
lea rcx, [0x004be008]
call sym.system
call dbg.Menu()
nop
add rsp, 0x40
pop rbp
ret