Function at 0x4c8690
Capabilities:
Connect socket

Disassembly:
sub esp, 0xd0
mov eax, dword [0x5aa464]
xor eax, esp
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xdc]
mov eax, dword [esp + 0xd8]
push ebx
push ebp
push edi
mov edi, dword [esp + 0xe0]
mov dword [esp + 0x10], ecx
mov byte [esp + 0xf], 0
mov ebp, dword [edi]
mov dword [ecx], 0xffffffff
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x1c]
push ecx
push eax
push edi
call fcn.004c7dc0
mov ebx, eax
add esp, 0x10
test ebx, ebx
je 0x4c8701
pop edi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0xcc]
xor ecx, esp
call fcn.00509444
add esp, 0xd0
ret
movzx eax, word [esp + 0x28]
push esi
sub eax, 2
jne 0x4c8903
push 0x2e
lea eax, [esp + 0xb0]
push eax
lea eax, [esp + 0x38]
push eax
push 2
call fcn.004d53e0
add esp, 0x10
test eax, eax
je 0x4c8903
push dword [esp + 0x2e]
call dword [sym.imp.WS2_32.dll_ntohs]
lea eax, [esp + 0xac]
push eax
push str.__Trying__s..._n
push ebp
call fcn.004c6e00
add esp, 0xc
cmp dword [esp + 0x1c], 2
jne 0x4c8763
cmp dword [esp + 0x20], 1
jne 0x4c8763
mov al, 1
jmp 0x4c8765
xor al, al
mov esi, dword [esp + 0x18]
mov byte [esp + 0x12], al
test al, al
je 0x4c8784
cmp byte [ebp + 0x32e], 0
je 0x4c8784
push esi
push edi
call fcn.004c7e90
add esp, 8
push esi
call fcn.004c7d20
add esp, 4
cmp byte [esp + 0x12], 0
je 0x4c87a7
cmp byte [ebp + 0x434], 0
je 0x4c87a7
push esi
push ebp
call fcn.004c8950
add esp, 8
mov eax, dword [ebp + 0x1d8]
test eax, eax
je 0x4c87c9
push 0
push esi
push dword [ebp + 0x1dc]
call eax
add esp, 0xc
cmp eax, 2
jne 0x4c880b
mov byte [esp + 0x13], 1
cmp dword [esp + 0x1c], 2
jne 0x4c8823
lea eax, [esp + 0x2c]
push eax
call fcn.0040bf50
push eax
push dword [esp + 0x24]
push esi
push edi
call fcn.004c81d0
mov ebx, eax
add esp, 0x14
test ebx, ebx
je 0x4c8823
push esi
push edi
call fcn.004c75d0
add esp, 8
mov eax, 7
cmp ebx, 1
cmove ebx, eax
mov eax, ebx
jmp 0x4c8936
test eax, eax
je 0x4c87c9
push esi
push edi
call fcn.004c75d0
add esp, 8
mov eax, 0x2a
jmp 0x4c8936
push 1
push esi
call fcn.004e93a0
add esp, 8
call fcn.004bd220
cmp dword [edi + 0x2b0], 1
mov dword [edi + 0x2a8], eax
mov dword [edi + 0x2ac], edx
jle 0x4c8857
push dword [edi + 0x2b4]
push ebp
call fcn.004b8f90
add esp, 8
cmp byte [esp + 0x13], 0
jne 0x4c88fb
cmp dword [edi + 0x8c], 1
jne 0x4c88fb
cmp byte [edi + 0x2a4], 0
jne 0x4c889e
push dword [esp + 0x28]
lea eax, [esp + 0x30]
push eax
push esi
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
je 0x4c889e
test ebx, ebx
jne 0x4c88f7
mov eax, dword [esp + 0x14]
mov dword [eax], esi
mov eax, ebx
jmp 0x4c8936
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
cmp ebx, 0xb
je 0x4c88ef
cmp ebx, 0x2732
jle 0x4c88bb
cmp ebx, 0x2734
jle 0x4c88ef
push ebx
push edi
call fcn.004b63a0
push eax
lea eax, [esp + 0xb8]
push eax
push str.Immediate_connect_fail_for__s:__s_n
push ebp
call fcn.004c6e00
push esi
push edi
mov dword [ebp + 0x85e0], ebx
call fcn.004c75d0
mov ebx, 7
add esp, 0x20
mov eax, ebx
jmp 0x4c8936
mov eax, dword [esp + 0x14]
xor ebx, ebx
mov dword [eax], esi
mov eax, ebx
jmp 0x4c8936
mov eax, dword [esp + 0x14]
mov dword [eax], esi
jmp 0x4c8934
mov byte [esp + 0xac], 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
push edi
call fcn.004b63a0
push eax
push esi
push str.sa_addr_inet_ntop___failed_with_errno__d:__s
push ebp
call fcn.004c6d30
push dword [esp + 0x30]
push edi
call fcn.004c75d0
add esp, 0x20
xor eax, eax
mov ecx, dword [esp + 0xdc]
pop esi
pop edi
pop ebp
pop ebx
xor ecx, esp
call fcn.00509444
add esp, 0xd0
ret