Function at 0x4284b0
Capabilities:
Connect socket
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2f8
mov eax, dword [0x730b1c]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
add eax, 0x10a
mov dword [ebp - 0x2e8], ecx
push ebx
mov ebx, dword [ecx]
lea eax, [ecx + eax*4]
push esi
mov dword [ebp - 0x2f4], eax
mov dword [eax], 0xffffffff
lea eax, [ebp - 0x2e4]
push edi
push eax
lea eax, [ebp - 0x2dc]
mov byte [ebp - 0x2de], 0
push eax
call fcn.00428dc0
mov edi, eax
add esp, 8
test edi, edi
jne 0x4289f9
movzx eax, word [ebp - 0x2cc]
sub eax, 2
jne 0x4289a3
lea eax, [ebp - 0x38]
push 0x2e
push eax
lea edx, [ebp - 0x2c8]
lea ecx, [edi + 2]
call fcn.004430d0
add esp, 8
test eax, eax
je 0x4289a3
push dword [ebp - 0x2ca]
call dword [sym.imp.WS2_32.dll_ntohs]
movzx eax, ax
push eax
lea eax, [ebp - 0x38]
push eax
push str.__Trying__s:_ld..._n
push ebx
call fcn.004511c0
mov esi, dword [ebp - 0x2e4]
add esp, 0x10
cmp dword [ebp - 0x2dc], 2
jne 0x4285e6
cmp dword [ebp - 0x2d8], 1
jne 0x4285e6
cmp byte [ebx + 0xb47], 0
mov byte [ebp - 0x2dd], 1
je 0x4285ed
mov eax, dword [ebp - 0x2e8]
push 4
mov dword [ebp - 0x2e4], 1
mov eax, dword [eax]
mov dword [ebp - 0x2ec], eax
lea eax, [ebp - 0x2e4]
push eax
push 1
push 6
push esi
call dword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
jns 0x4285ed
push 0x100
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
lea edx, [ebp - 0x23c]
mov ecx, eax
call fcn.0045a2e0
add esp, 4
push eax
push str.Could_not_set_TCP_NODELAY:__s_n
push dword [ebp - 0x2ec]
call fcn.004511c0
add esp, 0xc
jmp 0x4285ed
mov byte [ebp - 0x2dd], 0
mov eax, dword [0x73ad54]
mov dword [ebp - 0x2e4], 0x4020
mov dword [ebp - 0x2ec], 0
mov dword [ebp - 0x2f0], 4
test eax, eax
jne 0x42863b
sub esp, 8
call fcn.004699f0
add esp, 8
test al, al
je 0x42862f
mov dword [0x73ad54], 2
jmp 0x42868b
mov dword [0x73ad54], 1
jmp 0x428640
cmp eax, 2
je 0x42868b
lea eax, [ebp - 0x2f0]
push eax
lea eax, [ebp - 0x2ec]
push eax
push 0x1001
push 0xffff
push esi
call dword [sym.imp.WS2_32.dll_getsockopt]
test eax, eax
jne 0x428671
mov eax, dword [ebp - 0x2ec]
cmp eax, dword [ebp - 0x2e4]
jg 0x42868b
push 4
lea eax, [ebp - 0x2e4]
push eax
push 0x1001
push 0xffff
push esi
call dword [sym.imp.WS2_32.dll_setsockopt]
cmp byte [ebp - 0x2dd], 0
je 0x428750
cmp byte [ebx + 0xb4f], 0
je 0x428750
push 4
lea eax, [ebp - 0x2e4]
mov dword [ebp - 0x2e4], 1
push eax
push 8
push 0xffff
push esi
call dword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
jns 0x4286db
push esi
push str.Failed_to_set_SO_KEEPALIVE_on_fd__d_n
push ebx
call fcn.004511c0
add esp, 0xc
jmp 0x428750
mov eax, dword [ebx + 0xae8]
and eax, 0x7fffffff
mov dword [ebp - 0x248], 1
imul eax, eax, 0x3e8
push 0
push 0
mov dword [ebp - 0x244], eax
imul eax, dword [ebx + 0xaec], 0x3e8
mov dword [ebp - 0x2e4], eax
mov dword [ebp - 0x240], eax
lea eax, [ebp - 0x2f0]
push eax
push 0
push 0
push 0xc
lea eax, [ebp - 0x248]
push eax
push 0x98000004
push esi
call dword [sym.imp.WS2_32.dll_WSAIoctl]
test eax, eax
je 0x428750
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push esi
push str.Failed_to_set_SIO_KEEPALIVE_VALS_on_fd__d:__d_n
push ebx
call fcn.004511c0
add esp, 0x10
cmp dword [ebx + 0x608], 0
je 0x4287a5
mov eax, dword [ebx + 0x7c]
test eax, eax
jne 0x428767
mov eax, dword [ebx + 0x78]
test eax, eax
je 0x42876e
mov byte [eax + 0xe6], 1
mov eax, dword [ebx + 0x608]
push 0
push esi
push dword [ebx + 0x60c]
call eax
mov ecx, eax
add esp, 0xc
mov eax, dword [ebx + 0x7c]
test eax, eax
jne 0x428792
mov eax, dword [ebx + 0x78]
test eax, eax
je 0x428799
mov byte [eax + 0xe6], 0
cmp ecx, 2
jne 0x4287f2
mov byte [ebp - 0x2de], 1
cmp dword [ebp - 0x2dc], 2
jne 0x428819
push ecx
mov ecx, dword [ebp - 0x2e8]
mov edx, esi
push 2
call fcn.004273a0
mov edi, eax
add esp, 8
test edi, edi
je 0x428819
mov ecx, dword [ebp - 0x2e8]
mov edx, esi
call fcn.00428d10
mov eax, 7
cmp edi, 1
cmove edi, eax
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00610840
mov esp, ebp
pop ebp
ret
test ecx, ecx
je 0x4287a5
mov ecx, dword [ebp - 0x2e8]
mov edx, esi
call fcn.00428d10
mov eax, 0x2a
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00610840
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x2f0]
mov dword [ebp - 0x2f0], 1
push eax
push 0x8004667e
push esi
call dword [sym.imp.WS2_32.dll_ioctlsocket]
lea eax, [ebp - 0x24c]
push eax
call fcn.0045e520
add esp, 4
movups xmm0, xmmword [eax]
mov eax, dword [ebp - 0x2e8]
cmp dword [eax + 0x550], 1
movups xmmword [eax + 0x540], xmm0
jle 0x42889d
push dword [eax + 0x55c]
mov edx, 3
mov ecx, ebx
push dword [eax + 0x558]
call fcn.0044b6d0
mov eax, dword [ebp - 0x2e8]
mov edx, 4
mov ecx, ebx
push dword [eax + 0x564]
push dword [eax + 0x560]
call fcn.0044b6d0
mov eax, dword [ebp - 0x2e8]
add esp, 0x10
cmp byte [ebp - 0x2de], 0
jne 0x428988
cmp dword [eax + 0x2f8], 4
je 0x428988
cmp byte [eax + 0x532], 0
jne 0x4288fc
push dword [ebp - 0x2d0]
lea eax, [ebp - 0x2cc]
push eax
push esi
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
je 0x4288fc
test edi, edi
jne 0x428975
mov eax, dword [ebp - 0x2f4]
mov dword [eax], esi
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00610840
mov esp, ebp
pop ebp
ret
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, eax
mov ecx, edi
sub ecx, 0xb
je 0x42896b
sub ecx, 0x2728
je 0x42896b
sub ecx, 1
je 0x42896b
push 0x100
lea edx, [ebp - 0x13c]
mov ecx, edi
call fcn.0045a2e0
add esp, 4
push eax
lea eax, [ebp - 0x38]
push eax
push str.Immediate_connect_fail_for__s:__s_n
push ebx
call fcn.004511c0
mov ecx, dword [ebp - 0x2e8]
add esp, 0x10
mov edx, esi
mov dword [ebx + 0xd9c], edi
call fcn.00428d10
mov edi, 7
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00610840
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x2f4]
xor edi, edi
mov dword [eax], esi
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00610840
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x2f4]
mov dword [eax], esi
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00610840
mov esp, ebp
pop ebp
ret
mov byte [ebp - 0x38], 0
call fcn.00628f40
mov dword [eax], 0x273f
call fcn.00628f40
mov esi, dword [eax]
call fcn.00628f40
push 0x100
lea edx, [ebp - 0x13c]
mov ecx, esi
mov edi, eax
call fcn.0045a2e0
add esp, 4
push eax
push dword [edi]
push str.sa_addr_inet_ntop___failed_with_errno__d:__s
push ebx
call fcn.004512d0
mov edx, dword [ebp - 0x2e4]
add esp, 0x10
mov ecx, dword [ebp - 0x2e8]
call fcn.00428d10
xor eax, eax
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00610840
mov esp, ebp
pop ebp
ret