Function at 0x403147
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Execute command
Initialize winsock library
Receive data
Receive data on socket
Send data
Send data on socket
Start tcp server

Disassembly:
push rbp
push rbx
sub rsp, 0xe8
lea rbp, [rsp + 0x80]
mov byte [rbp + 0x5f], 0x30
cmp byte [rbp + 0x5f], 0x30
jne 0x404604
cmp byte [rbp + 0x5f], 0x34
jg 0x403176
cmp byte [rbp + 0x5f], 0x30
jg 0x403272
lea rdx, str.Menu_principal_n_n
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_
lea rdx, str.1:_Jugar_n
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_
lea rdx, str.2:_Mapas_n
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_
lea rdx, str.3:_2_jugadores__LAN__n
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_
lea rdx, str.4:_cerrar_el_juego_n
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 [0x004ebbb8]
test al, al
je 0x4031f5
lea rdx, str.5:_modo_dificil:_activado_n
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 0x403208
lea rdx, str.5:_modo_dificil:_desactivado_n
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_
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_
mov rax, qword [sym.imp.msvcrt.dll__getch]
call rax
mov byte [rbp + 0x5f], al
movsx eax, byte [rbp + 0x5f]
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_
lea rcx, [0x004be008]
call sym.system
cmp byte [rbp + 0x5f], 0x35
jne 0x403166
movzx eax, byte [0x004ebbb8]
test al, al
je 0x403266
mov byte [0x004ebbb8], 0
jmp 0x403166
mov byte [0x004ebbb8], 1
jmp 0x403166
cmp byte [rbp + 0x5f], 0x33
jne 0x404533
cmp byte [rbp + 0x5f], 0x32
jg 0x403288
cmp byte [rbp + 0x5f], 0x30
jg 0x4032cf
lea rdx, str.1:_jugador_1__server___n
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_
lea rdx, str.2:_jugador_2__n
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
mov byte [rbp + 0x5f], al
lea rcx, [0x004be008]
call sym.system
cmp byte [rbp + 0x5f], 0x1b
je 0x4032ce
jmp 0x40327c
nop
cmp byte [rbp + 0x5f], 0x31
jne 0x403ee5
lea rdx, [0x004eb460]
mov ecx, 0x202
mov rax, qword [sym.imp.WS2_32.dll_WSAStartup]
call rax
test eax, eax
setne al
test al, al
je 0x403333
lea rdx, str.fallo_en_WSAStartup._codigo_error:
mov rcx, qword [0x004c3630]
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 rbx, rax
mov rax, qword [sym.imp.WS2_32.dll_WSAGetLastError]
call rax
mov edx, eax
mov rcx, rbx
call method.std::ostream.operator___int_
mov rdx, qword [method.std::basic_ostream_char__std::char_traits_char____std::endl_char__std.char_traits_char____std::basic_ostream_char__std::char_traits_char____]
mov rcx, rax
call method.std::ostream.operator___std::ostream____std::ostream__
mov byte [rbp + 0x5f], 0x30
mov r8d, 0
mov edx, 1
mov ecx, 2
mov rax, qword [sym.imp.WS2_32.dll_socket]
call rax
mov qword [0x004eb040], rax
mov rax, qword [0x004eb040]
cmp rax, 0xffffffffffffffff
sete al
test al, al
je 0x4033aa
lea rdx, str.fallo_la_creacion_de_Socket._codigo_error:
mov rcx, qword [0x004c3630]
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 rbx, rax
mov rax, qword [sym.imp.WS2_32.dll_WSAGetLastError]
call rax
mov edx, eax
mov rcx, rbx
call method.std::ostream.operator___int_
mov rdx, qword [method.std::basic_ostream_char__std::char_traits_char____std::endl_char__std.char_traits_char____std::basic_ostream_char__std::char_traits_char____]
mov rcx, rax
call method.std::ostream.operator___std::ostream____std::ostream__
mov rax, qword [sym.imp.WS2_32.dll_WSACleanup]
call rax
mov byte [rbp + 0x5f], 0x30
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0x68de3af
shr rdx, 0x20
mov ecx, edx
sar ecx, 8
cdq
sub ecx, edx
mov edx, ecx
imul edx, edx, 0x270f
sub eax, edx
mov edx, eax
lea eax, [rdx + 0x400]
mov dword [rbp - 0x24], eax
mov word [0x004eb050], 2
mov dword [0x004eb054], 0
mov eax, dword [rbp - 0x24]
movzx eax, ax
mov ecx, eax
mov rax, qword [sym.imp.WS2_32.dll_htons]
call rax
mov word [0x004eb052], ax
mov rax, qword [0x004eb040]
mov r8d, 0x10
lea rdx, [0x004eb050]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_bind]
call rax
cmp eax, 0xffffffff
sete al
test al, al
je 0x40348c
lea rdx, str.fallo_al_inicializar_Bind._codigo_error:
mov rcx, qword [0x004c3630]
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 rbx, rax
mov rax, qword [sym.imp.WS2_32.dll_WSAGetLastError]
call rax
mov edx, eax
mov rcx, rbx
call method.std::ostream.operator___int_
mov rdx, qword [method.std::basic_ostream_char__std::char_traits_char____std::endl_char__std.char_traits_char____std::basic_ostream_char__std::char_traits_char____]
mov rcx, rax
call method.std::ostream.operator___std::ostream____std::ostream__
mov rax, qword [0x004eb040]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_closesocket]
call rax
call sym.getch
mov byte [rbp + 0x5f], 0x30
mov rax, qword [sym.imp.WS2_32.dll_WSACleanup]
call rax
lea rdx, str.puerto:
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 - 0x24]
mov edx, eax
call method.std::ostream.operator___int_
mov rdx, qword [method.std::basic_ostream_char__std::char_traits_char____std::endl_char__std.char_traits_char____std::basic_ostream_char__std::char_traits_char____]
mov rcx, rax
call method.std::ostream.operator___std::ostream____std::ostream__
lea rdx, str.Esperando_jugador_2..._n
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 [0x004eb040]
mov edx, 5
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_listen]
call rax
cmp eax, 0xffffffff
sete al
test al, al
je 0x403551
lea rdx, str.Listen_fallido._codigo_error_:
mov rcx, qword [0x004c3630]
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 rbx, rax
mov rax, qword [sym.imp.WS2_32.dll_WSAGetLastError]
call rax
mov edx, eax
mov rcx, rbx
call method.std::ostream.operator___int_
mov rdx, qword [method.std::basic_ostream_char__std::char_traits_char____std::endl_char__std.char_traits_char____std::basic_ostream_char__std::char_traits_char____]
mov rcx, rax
call method.std::ostream.operator___std::ostream____std::ostream__
mov rax, qword [sym.imp.msvcrt.dll__getch]
call rax
mov rax, qword [0x004eb040]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_closesocket]
call rax
mov rax, qword [sym.imp.WS2_32.dll_WSACleanup]
call rax
mov byte [rbp + 0x5f], 0x30
mov dword [rbp - 0x5c], 0x10
mov rax, qword [0x004eb040]
lea rdx, [rbp - 0x5c]
mov r8, rdx
lea rdx, [0x004eb050]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_accept]
call rax
mov qword [0x004eb048], rax
mov rax, qword [0x004eb048]
cmp rax, 0xffffffffffffffff
sete al
test al, al
je 0x4035ef
lea rdx, str.Accept_fallido._codigo_error_:
mov rcx, qword [0x004c3630]
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 rbx, rax
mov rax, qword [sym.imp.WS2_32.dll_WSAGetLastError]
call rax
mov edx, eax
mov rcx, rbx
call method.std::ostream.operator___int_
mov rdx, qword [method.std::basic_ostream_char__std::char_traits_char____std::endl_char__std.char_traits_char____std::basic_ostream_char__std::char_traits_char____]
mov rcx, rax
call method.std::ostream.operator___std::ostream____std::ostream__
mov rax, qword [0x004eb040]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_closesocket]
call rax
mov rax, qword [sym.imp.WS2_32.dll_WSACleanup]
call rax
call sym.getch
mov byte [rbp + 0x5f], 0x30
lea rcx, [0x004be008]
call sym.system
cmp byte [rbp + 0x5f], 0x1b
je 0x40376b
cmp byte [rbp + 0x5f], 0x30
je 0x40376b
lea rdx, str.1:_jugar
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 rdx, qword [method.std::basic_ostream_char__std::char_traits_char____std::endl_char__std.char_traits_char____std::basic_ostream_char__std::char_traits_char____]
mov rcx, rax
call method.std::ostream.operator___std::ostream____std::ostream__
lea rdx, str.2:_cambiar_mapa
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 rdx, qword [method.std::basic_ostream_char__std::char_traits_char____std::endl_char__std.char_traits_char____std::basic_ostream_char__std::char_traits_char____]
mov rcx, rax
call method.std::ostream.operator___std::ostream____std::ostream__
lea rdx, str.0___esc:_cancelar
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 rdx, qword [method.std::basic_ostream_char__std::char_traits_char____std::endl_char__std.char_traits_char____std::basic_ostream_char__std::char_traits_char____]
mov rcx, rax
call method.std::ostream.operator___std::ostream____std::ostream__
mov rax, qword [sym.imp.msvcrt.dll__getch]
call rax
mov byte [rbp + 0x5f], al
cmp byte [rbp + 0x5f], 0x31
je 0x40376a
lea rcx, [0x004be008]
call sym.system
cmp byte [rbp + 0x5f], 0x32
jne 0x4035fb
lea rdx, str.1:_5x5_n
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_
lea rdx, str.2:_7x7__defecto__n
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_
lea rdx, str.3:_9x9_n
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_
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_
mov rax, qword [sym.imp.msvcrt.dll__getch]
call rax
mov byte [rbp + 0x5f], al
lea rcx, [0x004be008]
call sym.system
cmp byte [rbp + 0x5f], 0x33
jg 0x4036a1
cmp byte [rbp + 0x5f], 0x30
jg 0x403713
jmp 0x4036a1
cmp byte [rbp + 0x5f], 0x31
jne 0x403732
mov dword [0x004bb010], 5
mov dword [0x004bb014], 5
jmp 0x4035fb
cmp byte [rbp + 0x5f], 0x32
jne 0x403751
mov dword [0x004bb010], 7
mov dword [0x004bb014], 7
jmp 0x4035fb
mov dword [0x004bb010], 9
mov dword [0x004bb014], 9
jmp 0x4035fb
nop
call sym.rand
mov ecx, dword [0x004bb014]
cdq
idiv ecx
mov eax, edx
add eax, 2
mov dword [0x004ebbb0], eax
mov eax, dword [0x004bb014]
cmp eax, 5
jne 0x4037a4
mov eax, dword [0x004ebbb0]
cmp eax, 3
jg 0x4037a4
mov dword [0x004ebbb0], 4
mov eax, dword [0x004bb014]
cmp eax, 7
jne 0x4037c4
mov eax, dword [0x004ebbb0]
cmp eax, 4
jg 0x4037c4
mov dword [0x004ebbb0], 5
mov eax, dword [0x004bb014]
cmp eax, 9
jne 0x4037e4
mov eax, dword [0x004ebbb0]
cmp eax, 5
jg 0x4037e4
mov dword [0x004ebbb0], 6
mov eax, dword [0x004ebbb0]
mov dword [0x004ebbb4], eax
mov rax, qword [0x004eb048]
mov r9d, 0
mov r8d, 4
lea rdx, [0x004ebbb0]
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, [0x004bb010]
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, [0x004bb014]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_send]
call rax
mov dword [rbp + 0x58], 0
mov eax, dword [0x004bb010]
cmp dword [rbp + 0x58], eax
jge 0x4038dd
mov ebx, dword [rbp + 0x58]
mov eax, dword [rbp + 0x58]
add eax, 0x61
mov byte [rbp - 0x57], al
lea rax, [rbp - 0x57]
mov rdx, rax
lea rcx, [0x004ebbc0]
call dbg.std::map<char, int, std::less<char>, std::allocator<std::pair<char const, int> > >::operator[](char&&)
mov dword [rax], ebx
mov ebx, dword [rbp + 0x58]
mov eax, dword [rbp + 0x58]
add eax, 0x41
mov byte [rbp - 0x56], al
lea rax, [rbp - 0x56]
mov rdx, rax
lea rcx, [0x004ebbc0]
call dbg.std::map<char, int, std::less<char>, std::allocator<std::pair<char const, int> > >::operator[](char&&)
mov dword [rax], ebx
mov ebx, dword [rbp + 0x58]
mov eax, dword [rbp + 0x58]
add eax, 0x31
mov byte [rbp - 0x55], al
lea rax, [rbp - 0x55]
mov rdx, rax
lea rcx, [0x004ebbc0]
call dbg.std::map<char, int, std::less<char>, std::allocator<std::pair<char const, int> > >::operator[](char&&)
mov dword [rax], ebx
add dword [rbp + 0x58], 1
jmp 0x403869
mov dword [rbp + 0x54], 0
cmp dword [rbp + 0x54], 0xe
jg 0x403927
lea rax, [rbp - 0x54]
mov rcx, rax
call dbg.coord::coord()
mov eax, dword [rbp + 0x54]
movsxd rdx, eax
mov rax, rdx
add rax, rax
add rax, rdx
add rax, rax
mov rdx, rax
lea rax, [0x004eb620]
mov ecx, dword [rbp - 0x54]
mov dword [rdx + rax], ecx
movzx ecx, word [rbp - 0x50]
mov word [rdx + rax + 4], cx
add dword [rbp + 0x54], 1
jmp 0x4038e4
mov dword [rbp + 0x50], 0
cmp dword [rbp + 0x50], 0xe
jg 0x403971
lea rax, [rbp - 0x4e]
mov rcx, rax
call dbg.coord::coord()
mov eax, dword [rbp + 0x50]
movsxd rdx, eax
mov rax, rdx
add rax, rax
add rax, rdx
add rax, rax
mov rdx, rax
lea rax, [0x004eb680]
mov ecx, dword [rbp - 0x4e]
mov dword [rdx + rax], ecx
movzx ecx, word [rbp - 0x4a]
mov word [rdx + rax + 4], cx
add dword [rbp + 0x50], 1
jmp 0x40392e
mov dword [rbp + 0x44], 0
mov eax, dword [0x004bb014]
cmp dword [rbp + 0x44], eax
jge 0x403a0c
mov dword [rbp + 0x40], 0
mov eax, dword [0x004bb010]
cmp dword [rbp + 0x40], eax
jge 0x403a03
mov eax, dword [rbp + 0x40]
movsxd rcx, eax
mov eax, dword [rbp + 0x44]
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 + 0x40]
movsxd rcx, eax
mov eax, dword [rbp + 0x44]
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
add dword [rbp + 0x40], 1
jmp 0x40398e
add dword [rbp + 0x44], 1
jmp 0x403978
mov dword [rbp + 0x3c], 0
mov eax, dword [0x004ebbb0]
cmp dword [rbp + 0x3c], eax
jge 0x403ad6
call sym.rand
mov ecx, dword [0x004bb010]
cdq
idiv ecx
mov dword [rbp + 0x4c], edx
call sym.rand
mov ecx, dword [0x004bb014]
cdq
idiv ecx
mov dword [rbp + 0x48], edx
mov eax, dword [rbp + 0x4c]
movsxd rcx, eax
mov eax, dword [rbp + 0x48]
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 0x403a9b
call sym.rand
mov ecx, dword [0x004bb010]
cdq
idiv ecx
mov dword [rbp + 0x4c], edx
call sym.rand
mov ecx, dword [0x004bb014]
cdq
idiv ecx
mov dword [rbp + 0x48], edx
jmp 0x403a44
mov eax, dword [rbp + 0x4c]
movsxd rcx, eax
mov eax, dword [rbp + 0x48]
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], 1
add dword [rbp + 0x3c], 1
jmp 0x403a13
lea rcx, [0x004be008]
call sym.system
lea rdx, str.inticiando_el_juego
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 ecx, 0x64
mov rax, qword [sym.imp.KERNEL32.dll_Sleep]
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_recv]
call rax
mov dword [rbp + 0x38], 0
mov eax, dword [0x004bb014]
cmp dword [rbp + 0x38], eax
jge 0x403ea6
mov dword [rbp + 0x34], 0
mov eax, dword [0x004bb010]
cmp dword [rbp + 0x34], eax
jge 0x403e9d
mov eax, dword [rbp + 0x34]
movsxd rcx, eax
mov eax, dword [rbp + 0x38]
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 0x403e94
mov eax, dword [rbp + 0x34]
movsxd rcx, eax
mov eax, dword [rbp + 0x38]
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 0x403e94
mov eax, dword [rbp + 0x34]
movsxd rcx, eax
mov eax, dword [rbp + 0x38]
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
cmp dword [rbp + 0x38], 2
jle 0x403c97
call sym.rand
cdq
shr edx, 0x1e
add eax, edx
and eax, 3
sub eax, edx
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x38]
sub eax, dword [rbp + 0x30]
mov edx, dword [rbp + 0x34]
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 0x403c5d
call sym.rand
cdq
shr edx, 0x1e
add eax, edx
and eax, 3
sub eax, edx
mov dword [rbp + 0x30], eax
jmp 0x403c12
mov eax, dword [rbp + 0x38]
sub eax, dword [rbp + 0x30]
mov edx, dword [rbp + 0x34]
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], 1
jmp 0x403e94
cmp dword [rbp + 0x34], 2
jle 0x403d39
call sym.rand
cdq
shr edx, 0x1e
add eax, edx
and eax, 3
sub eax, edx
mov dword [rbp + 0x2c], eax
mov eax, dword [rbp + 0x34]
sub eax, dword [rbp + 0x2c]
movsxd rcx, eax
mov eax, dword [rbp + 0x38]
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 0x403cff
call sym.rand
cdq
shr edx, 0x1e
add eax, edx
and eax, 3
sub eax, edx
mov dword [rbp + 0x2c], eax
jmp 0x403cb4
mov eax, dword [rbp + 0x34]
sub eax, dword [rbp + 0x2c]
movsxd rcx, eax
mov eax, dword [rbp + 0x38]
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], 1
jmp 0x403e94
mov eax, dword [rbp + 0x38]
lea edx, [rax + 3]
mov eax, dword [0x004bb014]
cmp edx, eax
jge 0x403de9
call sym.rand
cdq
shr edx, 0x1e
add eax, edx
and eax, 3
sub eax, edx
mov dword [rbp + 0x28], eax
mov edx, dword [rbp + 0x38]
mov eax, dword [rbp + 0x28]
add edx, eax
mov eax, dword [rbp + 0x34]
movsxd rcx, eax
movsxd rdx, edx
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 0x403dad
call sym.rand
cdq
shr edx, 0x1e
add eax, edx
and eax, 3
sub eax, edx
mov dword [rbp + 0x28], eax
jmp 0x403d60
mov edx, dword [rbp + 0x38]
mov eax, dword [rbp + 0x28]
add edx, eax
mov eax, dword [rbp + 0x34]
movsxd rcx, eax
movsxd rdx, edx
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], 1
jmp 0x403e94
mov eax, dword [rbp + 0x34]
lea edx, [rax + 3]
mov eax, dword [0x004bb010]
cmp edx, eax
jge 0x403e94
call sym.rand
cdq
shr edx, 0x1e
add eax, edx
and eax, 3
sub eax, edx
mov dword [rbp + 0x24], eax
mov edx, dword [rbp + 0x34]
mov eax, dword [rbp + 0x24]
add eax, edx
movsxd rcx, eax
mov eax, dword [rbp + 0x38]
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 0x403e5d
call sym.rand
cdq
shr edx, 0x1e
add eax, edx
and eax, 3
sub eax, edx
mov dword [rbp + 0x24], eax
jmp 0x403e10
mov edx, dword [rbp + 0x34]
mov eax, dword [rbp + 0x24]
add eax, edx
movsxd rcx, eax
mov eax, dword [rbp + 0x38]
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], 1
add dword [rbp + 0x34], 1
jmp 0x403b46
add dword [rbp + 0x38], 1
jmp 0x403b30
cmp byte [rbp + 0x5f], 0x31
jne 0x403ec5
mov edx, dword [0x004bb014]
mov eax, dword [0x004bb010]
mov r8d, 1
mov ecx, eax
call dbg.MotorJuegoLAN(int, int, bool)
mov rax, qword [0x004eb040]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_closesocket]
call rax
mov rax, qword [sym.imp.WS2_32.dll_WSACleanup]
call rax
mov byte [rbp + 0x5f], 0x30
cmp byte [rbp + 0x5f], 0x32
jne 0x40451a
lea rdx, [0x004eb460]
mov ecx, 0x202
mov rax, qword [sym.imp.WS2_32.dll_WSAStartup]
call rax
test eax, eax
setne al
test al, al
je 0x403f49
lea rdx, str.Fallo_inicializar_WSAStartup._Codigo_error:
mov rcx, qword [0x004c3630]
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 rbx, rax
mov rax, qword [sym.imp.WS2_32.dll_WSAGetLastError]
call rax
mov edx, eax
mov rcx, rbx
call method.std::ostream.operator___int_
mov rdx, qword [method.std::basic_ostream_char__std::char_traits_char____std::endl_char__std.char_traits_char____std::basic_ostream_char__std::char_traits_char____]
mov rcx, rax
call method.std::ostream.operator___std::ostream____std::ostream__
mov byte [rbp + 0x5f], 0x30
mov r8d, 0
mov edx, 1
mov ecx, 2
mov rax, qword [sym.imp.WS2_32.dll_socket]
call rax
mov qword [0x004eb048], rax
mov rax, qword [0x004eb048]
cmp rax, 0xffffffffffffffff
sete al
test al, al
je 0x403fc0
lea rdx, str.Fallo_inicializar_Socket._Codigo_error:
mov rcx, qword [0x004c3630]
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 rbx, rax
mov rax, qword [sym.imp.WS2_32.dll_WSAGetLastError]
call rax
mov edx, eax
mov rcx, rbx
call method.std::ostream.operator___int_
mov rdx, qword [method.std::basic_ostream_char__std::char_traits_char____std::endl_char__std.char_traits_char____std::basic_ostream_char__std::char_traits_char____]
mov rcx, rax
call method.std::ostream.operator___std::ostream____std::ostream__
mov rax, qword [sym.imp.WS2_32.dll_WSACleanup]
call rax
mov byte [rbp + 0x5f], 0x30
mov dword [rbp - 0x28], 0x10
lea rdx, str.ingrese_el_puerto:
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_
lea rax, [rbp - 0x60]
mov rdx, rax
mov rcx, qword [0x004c3620]
call method.std::istream.operator___int_
mov word [0x004eb050], 2
lea rcx, str.190.130.106.238
mov rax, qword [sym.imp.WS2_32.dll_inet_addr]
call rax
mov dword [0x004eb054], eax
cmp byte [rbp + 0x5f], 0x30
je 0x404034
lea rdx, str.conectando...
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 rdx, qword [method.std::basic_ostream_char__std::char_traits_char____std::endl_char__std.char_traits_char____std::basic_ostream_char__std::char_traits_char____]
mov rcx, rax
call method.std::ostream.operator___std::ostream____std::ostream__
mov eax, dword [rbp - 0x60]
movzx eax, ax
mov ecx, eax
mov rax, qword [sym.imp.WS2_32.dll_htons]
call rax
mov word [0x004eb052], ax
mov eax, dword [0x004eb054]
cmp eax, 0xffffffff
jne 0x404099
lea rdx, str.Address_invalido___Address_no_soportado
mov rcx, qword [0x004c3630]
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 rdx, qword [method.std::basic_ostream_char__std::char_traits_char____std::endl_char__std.char_traits_char____std::basic_ostream_char__std::char_traits_char____]
mov rcx, rax
call method.std::ostream.operator___std::ostream____std::ostream__
mov rax, qword [0x004eb048]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_closesocket]
call rax
mov rax, qword [sym.imp.WS2_32.dll_WSACleanup]
call rax
mov byte [rbp + 0x5f], 0x30
mov rax, qword [0x004eb048]
mov r8d, 0x10
lea rdx, [0x004eb050]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_connect]
call rax
cmp eax, 0xffffffff
sete al
test al, al
je 0x404195
mov rdx, qword [method.std::basic_ostream_char__std::char_traits_char____std::endl_char__std.char_traits_char____std::basic_ostream_char__std::char_traits_char____]
mov rcx, qword [0x004c3650]
call method.std::ostream.operator___std::ostream____std::ostream__
lea rdx, [0x004be3b8]
mov rcx, rax
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 rdx, qword [method.std::basic_ostream_char__std::char_traits_char____std::endl_char__std.char_traits_char____std::basic_ostream_char__std::char_traits_char____]
mov rcx, rax
call method.std::ostream.operator___std::ostream____std::ostream__
lea rcx, str.192.168.181.237
mov rax, qword [sym.imp.WS2_32.dll_inet_addr]
call rax
mov dword [0x004eb054], eax
mov rax, qword [0x004eb048]
mov r8d, 0x10
lea rdx, [0x004eb050]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_connect]
call rax
cmp eax, 0xffffffff
sete al
test al, al
je 0x404195
lea rdx, str.Conexion_fallida._Codigo_error:
mov rcx, qword [0x004c3630]
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 rbx, rax
mov rax, qword [sym.imp.WS2_32.dll_WSAGetLastError]
call rax
mov edx, eax
mov rcx, rbx
call method.std::ostream.operator___int_
mov rdx, qword [method.std::basic_ostream_char__std::char_traits_char____std::endl_char__std.char_traits_char____std::basic_ostream_char__std::char_traits_char____]
mov rcx, rax
call method.std::ostream.operator___std::ostream____std::ostream__
mov rax, qword [0x004eb048]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_closesocket]
call rax
call sym.getch
mov rax, qword [sym.imp.WS2_32.dll_WSACleanup]
call rax
mov byte [rbp + 0x5f], 0x30
lea rdx, str.Esperando_al_jugador_1...
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 [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, 4
lea rdx, [0x004bb010]
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, [0x004bb014]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_recv]
call rax
mov eax, dword [0x004ebbb0]
mov dword [0x004ebbb4], eax
mov dword [rbp + 0x20], 0
mov eax, dword [0x004bb010]
cmp dword [rbp + 0x20], eax
jge 0x4042a1
mov ebx, dword [rbp + 0x20]
mov eax, dword [rbp + 0x20]
add eax, 0x61
mov byte [rbp - 0x47], al
lea rax, [rbp - 0x47]
mov rdx, rax
lea rcx, [0x004ebbc0]
call dbg.std::map<char, int, std::less<char>, std::allocator<std::pair<char const, int> > >::operator[](char&&)
mov dword [rax], ebx
mov ebx, dword [rbp + 0x20]
mov eax, dword [rbp + 0x20]
add eax, 0x41
mov byte [rbp - 0x46], al
lea rax, [rbp - 0x46]
mov rdx, rax
lea rcx, [0x004ebbc0]
call dbg.std::map<char, int, std::less<char>, std::allocator<std::pair<char const, int> > >::operator[](char&&)
mov dword [rax], ebx
mov ebx, dword [rbp + 0x20]
mov eax, dword [rbp + 0x20]
add eax, 0x31
mov byte [rbp - 0x45], al
lea rax, [rbp - 0x45]
mov rdx, rax
lea rcx, [0x004ebbc0]
call dbg.std::map<char, int, std::less<char>, std::allocator<std::pair<char const, int> > >::operator[](char&&)
mov dword [rax], ebx
add dword [rbp + 0x20], 1
jmp 0x40422d
lea rcx, [0x004be008]
call sym.system
mov dword [rbp + 0x1c], 0
cmp dword [rbp + 0x1c], 0xe
jg 0x4042f7
lea rax, [rbp - 0x44]
mov rcx, rax
call dbg.coord::coord()
mov eax, dword [rbp + 0x1c]
movsxd rdx, eax
mov rax, rdx
add rax, rax
add rax, rdx
add rax, rax
mov rdx, rax
lea rax, [0x004eb620]
mov ecx, dword [rbp - 0x44]
mov dword [rdx + rax], ecx
movzx ecx, word [rbp - 0x40]
mov word [rdx + rax + 4], cx
add dword [rbp + 0x1c], 1
jmp 0x4042b4
mov dword [rbp + 0x18], 0
cmp dword [rbp + 0x18], 0xe
jg 0x404341
lea rax, [rbp - 0x3e]
mov rcx, rax
call dbg.coord::coord()
mov eax, dword [rbp + 0x18]
movsxd rdx, eax
mov rax, rdx
add rax, rax
add rax, rdx
add rax, rax
mov rdx, rax
lea rax, [0x004eb680]
mov ecx, dword [rbp - 0x3e]
mov dword [rdx + rax], ecx
movzx ecx, word [rbp - 0x3a]
mov word [rdx + rax + 4], cx
add dword [rbp + 0x18], 1
jmp 0x4042fe
mov dword [rbp + 0xc], 0
mov eax, dword [0x004bb014]
cmp dword [rbp + 0xc], eax
jge 0x4043dc
mov dword [rbp + 8], 0
mov eax, dword [0x004bb010]
cmp dword [rbp + 8], eax
jge 0x4043d3
mov eax, dword [rbp + 8]
movsxd rcx, eax
mov eax, dword [rbp + 0xc]
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 rcx, eax
mov eax, dword [rbp + 0xc]
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
add dword [rbp + 8], 1
jmp 0x40435e
add dword [rbp + 0xc], 1
jmp 0x404348
mov dword [rbp + 4], 0
mov eax, dword [0x004ebbb0]
cmp dword [rbp + 4], eax
jge 0x4044a6
call sym.rand
mov ecx, dword [0x004bb010]
cdq
idiv ecx
mov dword [rbp + 0x14], edx
call sym.rand
mov ecx, dword [0x004bb014]
cdq
idiv ecx
mov dword [rbp + 0x10], edx
mov eax, dword [rbp + 0x14]
movsxd rcx, eax
mov eax, dword [rbp + 0x10]
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 0x40446b
call sym.rand
mov ecx, dword [0x004bb010]
cdq
idiv ecx
mov dword [rbp + 0x14], edx
call sym.rand
mov ecx, dword [0x004bb014]
cdq
idiv ecx
mov dword [rbp + 0x10], edx
jmp 0x404414
mov eax, dword [rbp + 0x14]
movsxd rcx, eax
mov eax, dword [rbp + 0x10]
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], 1
add dword [rbp + 4], 1
jmp 0x4043e3
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
cmp byte [rbp + 0x5f], 0x30
je 0x4044eb
mov edx, dword [0x004bb014]
mov eax, dword [0x004bb010]
mov r8d, 0
mov ecx, eax
call dbg.MotorJuegoLAN(int, int, bool)
mov rax, qword [0x004eb048]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_closesocket]
call rax
mov rax, qword [0x004eb040]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_closesocket]
call rax
mov rax, qword [sym.imp.WS2_32.dll_WSACleanup]
call rax
mov rax, qword [sym.imp.msvcrt.dll__getch]
call rax
mov byte [rbp + 0x5f], 0x30
lea rcx, [0x004be008]
call sym.system
cmp byte [rbp + 0x5f], 0x32
jne 0x40315c
lea rdx, str.1:_5x5_n
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_
lea rdx, str.2:_7x7__defecto__n
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_
lea rdx, str.3:_9x9_n
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_
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_
mov rax, qword [sym.imp.msvcrt.dll__getch]
call rax
mov byte [rbp + 0x5f], al
lea rcx, [0x004be008]
call sym.system
cmp byte [rbp + 0x5f], 0x33
jg 0x40453d
cmp byte [rbp + 0x5f], 0x30
jg 0x4045af
jmp 0x40453d
cmp byte [rbp + 0x5f], 0x31
jne 0x4045cb
mov dword [0x004bb010], 5
mov dword [0x004bb014], 5
jmp 0x4045fb
cmp byte [rbp + 0x5f], 0x32
jne 0x4045e7
mov dword [0x004bb010], 7
mov dword [0x004bb014], 7
jmp 0x4045fb
mov dword [0x004bb010], 9
mov dword [0x004bb014], 9
mov byte [rbp + 0x5f], 0x30
jmp 0x40315c
cmp byte [rbp + 0x5f], 0x31
jne 0x404a45
mov dword [rbp], 0
mov eax, dword [0x004bb010]
cmp dword [rbp], eax
jge 0x404689
mov ebx, dword [rbp]
mov eax, dword [rbp]
add eax, 0x61
mov byte [rbp - 0x37], al
lea rax, [rbp - 0x37]
mov rdx, rax
lea rcx, [0x004ebbc0]
call dbg.std::map<char, int, std::less<char>, std::allocator<std::pair<char const, int> > >::operator[](char&&)
mov dword [rax], ebx
mov ebx, dword [rbp]
mov eax, dword [rbp]
add eax, 0x41
mov byte [rbp - 0x36], al
lea rax, [rbp - 0x36]
mov rdx, rax
lea rcx, [0x004ebbc0]
call dbg.std::map<char, int, std::less<char>, std::allocator<std::pair<char const, int> > >::operator[](char&&)
mov dword [rax], ebx
mov ebx, dword [rbp]
mov eax, dword [rbp]
add eax, 0x31
mov byte [rbp - 0x35], al
lea rax, [rbp - 0x35]
mov rdx, rax
lea rcx, [0x004ebbc0]
call dbg.std::map<char, int, std::less<char>, std::allocator<std::pair<char const, int> > >::operator[](char&&)
mov dword [rax], ebx
add dword [rbp], 1
jmp 0x404615
lea rdx, str.presiona_cualquier_letra_para_comenzar...
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 sym.rand
mov ecx, dword [0x004bb014]
cdq
idiv ecx
mov eax, edx
add eax, 2
mov dword [0x004ebbb0], eax
mov eax, dword [0x004bb014]
cmp eax, 5
jne 0x4046ea
mov eax, dword [0x004ebbb0]
cmp eax, 3
jg 0x4046ea
mov dword [0x004ebbb0], 4
mov eax, dword [0x004bb014]
cmp eax, 7
jne 0x40470a
mov eax, dword [0x004ebbb0]
cmp eax, 4
jg 0x40470a
mov dword [0x004ebbb0], 5
mov eax, dword [0x004bb014]
cmp eax, 9
jne 0x40472a
mov eax, dword [0x004ebbb0]
cmp eax, 5
jg 0x40472a
mov dword [0x004ebbb0], 6
mov eax, dword [0x004ebbb0]
mov dword [0x004ebbb4], eax
mov dword [rbp - 4], 0
cmp dword [rbp - 4], 0xe
jg 0x404780
lea rax, [rbp - 0x34]
mov rcx, rax
call dbg.coord::coord()
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 ecx, dword [rbp - 0x34]
mov dword [rdx + rax], ecx
movzx ecx, word [rbp - 0x30]
mov word [rdx + rax + 4], cx
add dword [rbp - 4], 1
jmp 0x40473d
mov dword [rbp - 8], 0
cmp dword [rbp - 8], 0xe
jg 0x4047ca
lea rax, [rbp - 0x2e]
mov rcx, rax
call dbg.coord::coord()
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 ecx, dword [rbp - 0x2e]
mov dword [rdx + rax], ecx
movzx ecx, word [rbp - 0x2a]
mov word [rdx + rax + 4], cx
add dword [rbp - 8], 1
jmp 0x404787
mov dword [rbp - 0x14], 0
mov eax, dword [0x004bb014]
cmp dword [rbp - 0x14], eax
jge 0x40489e
mov dword [rbp - 0x18], 0
mov eax, dword [0x004bb010]
cmp dword [rbp - 0x18], eax
jge 0x404895
mov eax, dword [rbp - 0x18]
movsxd rcx, eax
mov eax, dword [rbp - 0x14]
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 - 0x18]
movsxd rcx, eax
mov eax, dword [rbp - 0x14]
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 - 0x18]
movsxd rcx, eax
mov eax, dword [rbp - 0x14]
movsxd rdx, eax
mov rax, rdx
shl rax, 2
add rax, rdx
add rax, rax
add rax, rcx
lea rdx, [rax*4]
lea rax, [0x004eb880]
mov dword [rdx + rax], 0
add dword [rbp - 0x18], 1
jmp 0x4047e7
add dword [rbp - 0x14], 1
jmp 0x4047d1
mov dword [rbp - 0x1c], 0
mov eax, dword [0x004ebbb0]
cmp dword [rbp - 0x1c], eax
jge 0x404968
call sym.rand
mov ecx, dword [0x004bb010]
cdq
idiv ecx
mov dword [rbp - 0xc], edx
call sym.rand
mov ecx, dword [0x004bb014]
cdq
idiv ecx
mov dword [rbp - 0x10], edx
mov eax, dword [rbp - 0xc]
movsxd rcx, eax
mov eax, dword [rbp - 0x10]
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 0x40492d
call sym.rand
mov ecx, dword [0x004bb010]
cdq
idiv ecx
mov dword [rbp - 0xc], edx
call sym.rand
mov ecx, dword [0x004bb014]
cdq
idiv ecx
mov dword [rbp - 0x10], edx
jmp 0x4048d6
mov eax, dword [rbp - 0xc]
movsxd rcx, eax
mov eax, dword [rbp - 0x10]
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], 1
add dword [rbp - 0x1c], 1
jmp 0x4048a5
mov dword [rbp - 0x20], 0
mov eax, dword [0x004ebbb4]
cmp dword [rbp - 0x20], eax
jge 0x404a32
call sym.rand
mov ecx, dword [0x004bb010]
cdq
idiv ecx
mov dword [rbp - 0xc], edx
call sym.rand
mov ecx, dword [0x004bb014]
cdq
idiv ecx
mov dword [rbp - 0x10], edx
mov eax, dword [rbp - 0xc]
movsxd rcx, eax
mov eax, dword [rbp - 0x10]
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 0x4049f7
call sym.rand
mov ecx, dword [0x004bb010]
cdq
idiv ecx
mov dword [rbp - 0xc], edx
call sym.rand
mov ecx, dword [0x004bb014]
cdq
idiv ecx
mov dword [rbp - 0x10], edx
jmp 0x4049a0
mov eax, dword [rbp - 0xc]
movsxd rcx, eax
mov eax, dword [rbp - 0x10]
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], 1
add dword [rbp - 0x20], 1
jmp 0x40496f
mov edx, dword [0x004bb014]
mov eax, dword [0x004bb010]
mov ecx, eax
call dbg.MotorJuego(int, int)
nop
add rsp, 0xe8
pop rbx
pop rbp
ret