Function at 0x46e2d0
Capabilities:
Connect socket
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xf8
mov eax, dword [0x70e00c]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
xor eax, eax
mov dword [ebp - 0xdc], 0xffffffff
push esi
mov ebx, ecx
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 0xce], al
lea eax, [ebp - 0x3c]
push edi
mov esi, dword [ebx]
push eax
lea eax, [ebp - 0xcc]
mov dword [ebp - 0xe0], ecx
mov dword [ecx], 0xffffffff
mov ecx, ebx
push eax
mov dword [ebp - 0xd4], esi
call fcn.0046e9d0
mov edi, eax
add esp, 8
test edi, edi
jne 0x46e69a
movzx eax, word [ebp - 0xbc]
sub eax, 2
je 0x46e35d
sub eax, 0x15
jne 0x46e653
push 0x2e
lea edx, [ebp - 0x38]
lea ecx, [ebp - 0xb4]
call fcn.00489230
jmp 0x46e36d
push 0x2e
lea edx, [ebp - 0x38]
lea ecx, [ebp - 0xb8]
call fcn.00489190
add esp, 4
test eax, eax
je 0x46e653
push dword [ebp - 0xba]
call dword [sym.imp.WS2_32.dll_ntohs]
lea eax, [ebp - 0x38]
push eax
push str.__Trying__s..._n
push esi
call fcn.0046c560
mov eax, dword [ebp - 0xcc]
add esp, 0xc
cmp eax, 2
je 0x46e3a6
cmp eax, 0x17
jne 0x46e3b3
cmp dword [ebp - 0xc8], 1
jne 0x46e3b3
mov al, 1
jmp 0x46e3b5
xor al, al
mov esi, dword [ebp - 0x3c]
mov byte [ebp - 0xcd], al
test al, al
je 0x46e3da
mov eax, dword [ebp - 0xd4]
cmp byte [eax + 0x3a6], 0
je 0x46e3da
mov edx, esi
mov ecx, ebx
call fcn.0046e190
mov ecx, esi
call fcn.0046e210
cmp byte [ebp - 0xcd], 0
mov eax, dword [ebp - 0xd4]
je 0x46e408
cmp byte [eax + 0x4d8], 0
je 0x46e408
mov edx, esi
mov ecx, eax
call fcn.0046d0e0
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 0x1d8]
test ecx, ecx
je 0x46e432
push 0
push esi
push dword [eax + 0x1dc]
call ecx
add esp, 0xc
mov dword [ebp - 0xd8], eax
cmp eax, 2
jne 0x46e47d
mov byte [ebp - 0xce], 1
mov eax, dword [ebp - 0xcc]
cmp eax, 2
je 0x46e442
cmp eax, 0x17
jne 0x46e4a0
push ecx
push eax
mov edx, esi
mov ecx, ebx
call fcn.0046d360
mov edi, eax
add esp, 8
test edi, edi
je 0x46e4a0
mov edx, esi
mov ecx, ebx
call fcn.0046e980
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.004aa758
mov esp, ebp
pop ebp
ret
test eax, eax
je 0x46e432
mov edx, esi
mov ecx, ebx
call fcn.0046e980
mov eax, 0x2a
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.004aa758
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x3c], 1
push eax
push 0x8004667e
push esi
call dword [sym.imp.WS2_32.dll_ioctlsocket]
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
mov ecx, eax
mov dword [ebp - 0xf0], 0
mov eax, 0x10624dd3
mul ecx
shr edx, 6
imul eax, edx, 0x3e8
mov dword [ebp - 0xf4], edx
sub ecx, eax
imul eax, ecx, 0x3e8
cmp dword [ebx + 0x2d0], 1
mov dword [ebp - 0xec], eax
movups xmm0, xmmword [ebp - 0xf4]
movups xmmword [ebx + 0x2c0], xmm0
jle 0x46e523
push dword [ebx + 0x2dc]
mov ecx, dword [ebp - 0xd4]
mov edx, 3
push dword [ebx + 0x2d8]
call fcn.0046bf60
add esp, 8
cmp byte [ebp - 0xce], 0
jne 0x46e638
cmp dword [ebx + 0x94], 1
jne 0x46e638
cmp byte [ebx + 0x2ba], 0
jne 0x46e565
push dword [ebp - 0xc0]
lea eax, [ebp - 0xbc]
push eax
push esi
call dword [sym.imp.WS2_32.dll_connect]
mov dword [ebp - 0xdc], eax
cmp eax, 0xffffffff
jne 0x46e575
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, eax
mov dword [ebp - 0xd8], ecx
jmp 0x46e57b
mov ecx, dword [ebp - 0xd8]
cmp dword [ebp - 0xcc], 0x17
sete al
cmp dword [ebp - 0xdc], 0xffffffff
mov byte [ebx + 0x2a7], al
jne 0x46e619
cmp ecx, 0xb
je 0x46e5fc
cmp ecx, 0x2732
jle 0x46e5ad
cmp ecx, 0x2734
jle 0x46e5fc
mov edx, ecx
mov ecx, ebx
call fcn.00488d10
mov edi, dword [ebp - 0xd4]
push eax
lea eax, [ebp - 0x38]
push eax
push str.Immediate_connect_fail_for__s:__s_n
push edi
call fcn.0046c560
mov eax, dword [ebp - 0xd8]
add esp, 0x10
mov edx, esi
mov dword [edi + 0x473c], eax
mov ecx, ebx
call fcn.0046e980
mov edi, 7
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.004aa758
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0xe0]
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.004aa758
mov esp, ebp
pop ebp
ret
test edi, edi
jne 0x46e625
mov eax, dword [ebp - 0xe0]
mov dword [eax], esi
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.004aa758
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0xe0]
mov dword [eax], esi
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.004aa758
mov esp, ebp
pop ebp
ret
mov byte [ebp - 0x38], 0
call fcn.0060a381
mov dword [eax], 0x273f
call fcn.0060a381
mov esi, eax
call fcn.0060a381
mov edx, dword [esi]
mov ecx, ebx
mov edi, eax
call fcn.00488d10
push eax
push dword [edi]
mov eax, dword [ebp - 0xd4]
push str.sa_addr_inet_ntop___failed_with_errno__d:__s
push eax
call fcn.0046c5e0
mov edx, dword [ebp - 0x3c]
add esp, 0x10
mov ecx, ebx
call fcn.0046e980
mov ecx, dword [ebp - 8]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004aa758
mov esp, ebp
pop ebp
ret