Function at 0x4716b0
Capabilities:
Get socket status

Disassembly:
mov eax, 0x10ec
call fcn.004c6360
mov eax, dword [0x54e864]
xor eax, esp
mov dword [esp + 0x10e8], eax
push ebx
push esi
push edi
mov edi, ecx
lea ebx, [edi + 0x44]
push ebx
mov dword [esp + 0x20], ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [edi + 0x38]
mov esi, dword [eax]
cmp esi, eax
je 0x471682
jmp 0x471210
push 0x5c1a68
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov eax, dword [esi + 8]
cmp dword [eax + 0x10], 0
je 0x471275
mov ebx, dword [0x5c1a68]
sub ebx, dword [eax + 0x18]
mov ecx, dword [0x5c1a6c]
sbb ecx, dword [eax + 0x1c]
mov eax, dword [edi + 0x64]
mov edx, dword [edi + 0x60]
push 0
push 0x3e8
push eax
push edx
mov dword [esp + 0x20], ecx
call fcn.004c6280
push edx
push eax
mov eax, dword [esp + 0x18]
push eax
push ebx
call fcn.004c6280
mov ecx, dword [esi + 8]
mov ecx, dword [ecx + 0x10]
xor ebx, ebx
cmp edx, ebx
jg 0x471275
jl 0x471673
cmp eax, ecx
jb 0x471673
mov eax, dword [esi + 8]
mov eax, dword [eax]
push eax
mov ecx, edi
call fcn.00470100
mov ebx, eax
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x47131b
mov ecx, dword [esi + 8]
mov eax, ecx
cmp dword [ecx + 0xc], ebx
jbe 0x471302
mov edx, dword [eax]
mov ecx, dword [eax + 0xc]
push edx
mov edx, dword [eax + 8]
push ecx
movzx ecx, byte [edx]
movzx edx, byte [eax + 4]
push ecx
push edx
push str.Red:_Error_enviando_mensaje__d___d__de__d_bytes_a_la_conexion__d._No_encontramos_el_registro_de_la_conexion.
push 0
call fcn.0042a000
add esp, 0x18
mov eax, dword [esi + 8]
mov eax, dword [eax + 8]
test eax, eax
je 0x4712cf
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete___void__
add esp, 4
mov ecx, dword [esi + 8]
push ecx
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
mov ebx, dword [esi]
add esp, 4
cmp esi, dword [edi + 0x38]
je 0x4712fb
mov edx, dword [esi + 4]
mov dword [edx], ebx
mov eax, dword [esi]
mov ecx, dword [esi + 4]
push esi
mov dword [eax + 4], ecx
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
dec dword [edi + 0x3c]
mov esi, ebx
jmp 0x471675
mov ecx, dword [eax]
movzx edx, byte [eax + 4]
push ecx
push edx
push str.Red:_Error_enviando_mensaje__d_a_la_conexion__d._No_encontramos_el_registro_de_la_conexion.
push 0
call fcn.0042a000
add esp, 0x10
jmp 0x4712bc
mov dword [esp + 0x28], 0
mov eax, dword [esi + 8]
mov ecx, dword [eax]
lea edx, [esp + 0x20]
push edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], 1
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov ecx, dword [esi + 8]
mov edx, dword [ecx]
push 0
lea eax, [esp + 0x30]
push eax
push 0
inc edx
push edx
call dword [sym.imp.WSOCK32.dll_select]
cmp eax, 0xffffffff
jne 0x47145b
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
push 0
push 0xc8
mov ebx, eax
lea eax, [esp + 0x1034]
push eax
push 0
push ebx
push 0
push 0x1000
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
test eax, eax
je 0x47140b
lea eax, [esp + 0x102c]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4713a0
sub eax, edx
cmp eax, 2
jb 0x4713b5
mov byte [esp + eax + 0x102a], cl
mov ecx, dword [esi + 8]
cmp dword [ecx + 0xc], 0
mov eax, ecx
jbe 0x4713f0
mov ecx, dword [eax]
lea edx, [esp + 0x102c]
push edx
mov edx, dword [eax + 0xc]
push ecx
mov ecx, dword [eax + 8]
movzx eax, byte [eax + 4]
push edx
movzx edx, byte [ecx]
push edx
push eax
push ebx
push 0x4fd650
push 0
call fcn.0042a000
add esp, 0x20
jmp 0x4712bc
mov edx, dword [eax]
movzx eax, byte [eax + 4]
lea ecx, [esp + 0x102c]
push ecx
push edx
push eax
push ebx
push 0x4fd19c
jmp 0x4712b2
mov ecx, dword [esi + 8]
cmp dword [ecx + 0xc], 0
mov eax, ecx
jbe 0x47143e
mov edx, dword [eax]
mov ecx, dword [eax + 0xc]
push edx
mov edx, dword [eax + 8]
push ecx
movzx ecx, byte [edx]
movzx edx, byte [eax + 4]
push ecx
push edx
push ebx
push 0x4fd698
push 0
call fcn.0042a000
add esp, 0x1c
jmp 0x4712bc
mov ecx, dword [eax]
movzx edx, byte [eax + 4]
push ecx
push edx
push ebx
push 0x4fd11c
push 0
call fcn.0042a000
add esp, 0x14
jmp 0x4712bc
mov ecx, dword [esi + 8]
mov edx, dword [ecx]
lea eax, [esp + 0x28]
push eax
push edx
call sub.WSOCK32.dll___WSAFDIsSet
test eax, eax
je 0x471630
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 8]
movzx eax, byte [eax + 4]
push ecx
push edx
push eax
push ebx
mov ecx, edi
call fcn.0046fe50
test al, al
je 0x47161f
call fcn.0044ac60
test al, al
je 0x4712bc
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x10]
mov ebx, dword [0x5c1a68]
push 0
mov dword [esp + 0x14], ecx
test ecx, ecx
mov ecx, dword [0x5c1a6c]
push 0x3e8
je 0x471579
cmp dword [eax + 0xc], 0
mov edx, dword [edi + 0x64]
push edx
jbe 0x47152c
sub ebx, dword [eax + 0x18]
mov dword [esp + 0x24], eax
sbb ecx, dword [eax + 0x1c]
mov eax, dword [edi + 0x60]
push eax
mov dword [esp + 0x1c], ecx
call fcn.004c6280
push edx
push eax
mov eax, dword [esp + 0x14]
push eax
push ebx
call fcn.004c6280
mov ecx, dword [esp + 0x10]
push edx
push eax
push ecx
mov ecx, dword [esp + 0x20]
call fcn.00464c90
push eax
mov eax, dword [esp + 0x28]
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 8]
movzx eax, byte [eax + 4]
push edx
movzx edx, byte [ecx]
push edx
push eax
push str.Red:_Enviado_mensaje__d___d__de__d_bytes_a_la_conexion__d._Delay:__d._En_cola:__d.
push 2
call fcn.0042a000
add esp, 0x24
jmp 0x4712bc
sub ebx, dword [eax + 0x18]
sbb ecx, dword [eax + 0x1c]
mov eax, dword [edi + 0x60]
push eax
mov dword [esp + 0x1c], ecx
call fcn.004c6280
push edx
push eax
mov eax, dword [esp + 0x14]
push eax
push ebx
call fcn.004c6280
mov ecx, dword [esp + 0x10]
push edx
push eax
push ecx
mov ecx, dword [esp + 0x20]
call fcn.00464c90
mov edx, dword [esi + 8]
push eax
movzx eax, byte [edx + 4]
push eax
push str.Red:_Enviado_mensaje__d_a_la_conexion__d._Delay:__d._En_cola:__d.
push 2
call fcn.0042a000
add esp, 0x1c
jmp 0x4712bc
cmp dword [eax + 0xc], 0
jbe 0x4715db
sub ebx, dword [eax + 0x18]
mov edx, dword [edi + 0x64]
sbb ecx, dword [eax + 0x1c]
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x60]
push edx
push eax
mov dword [esp + 0x1c], ecx
call fcn.004c6280
push edx
push eax
mov eax, dword [esp + 0x14]
push eax
push ebx
call fcn.004c6280
mov ecx, dword [esp + 0x14]
push edx
push eax
call fcn.00464c90
push eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 8]
push ecx
movzx ecx, byte [edx]
movzx edx, byte [eax + 4]
push ecx
push edx
push str.Red:_Enviado_mensaje__d___d__de__d_bytes_a_la_conexion__d._En_cola:__d.
push 2
call fcn.0042a000
add esp, 0x20
jmp 0x4712bc
sub ebx, dword [eax + 0x18]
mov edx, dword [edi + 0x60]
sbb ecx, dword [eax + 0x1c]
mov eax, dword [edi + 0x64]
push eax
push edx
mov dword [esp + 0x1c], ecx
call fcn.004c6280
push edx
push eax
mov eax, dword [esp + 0x14]
push eax
push ebx
call fcn.004c6280
mov ecx, dword [esp + 0x14]
push edx
push eax
call fcn.00464c90
push eax
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 4]
push ecx
push str.Red:_Enviado_mensaje__d_a_la_conexion__d._En_cola:__d.
push 2
jmp 0x4712b4
push 1
push ebx
mov ecx, edi
call fcn.00470160
mov edx, dword [edi + 0x38]
mov esi, dword [edx]
jmp 0x471675
mov edx, dword [esi + 8]
cmp dword [edx + 0xc], 0
mov eax, edx
mov ecx, dword [eax]
push ecx
jbe 0x47165f
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 8]
movzx eax, byte [eax + 4]
push edx
movzx edx, byte [ecx]
push edx
push eax
push str.Red:_Warning_enviando_mensaje__d___d__de__d_bytes_a_la_conexion__d._No_esta_listo_el_socket_para_escribir.
push 0
call fcn.0042a000
add esp, 0x18
jmp 0x471673
movzx edx, byte [eax + 4]
push edx
push str.Red:_Warning_enviando_mensaje__d_a_la_conexion__d._No_esta_listo_el_socket_para_escribir.
push 0
call fcn.0042a000
add esp, 0x10
mov esi, dword [esi]
cmp esi, dword [edi + 0x38]
jne 0x471210
mov ebx, dword [esp + 0x1c]
push ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [esp + 0x10f4]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004c6212
add esp, 0x10ec
ret
push esi
mov esi, ecx
call fcn.00470ba0
mov ecx, esi
call fcn.00470f80
mov ecx, esi
pop esi
jmp 0x4711d0