Function at 0x463890
Capabilities:
Connect socket
Get local ipv4 addresses
Get socket information
Get socket status
Resolve dns
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffebc
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x144], ecx
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0x138], ecx
mov dword [ebp - 0x130], ecx
mov edi, edx
mov ebx, eax
xor eax, eax
push ebp
push 0x463b98
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebx + 0x8c], eax
cmp dword [ebx + 0x48], 0
je 0x4638e7
cmp byte [ebx + 0x35], 3
je 0x4638e7
mov eax, ebx
call fcn.00463d44
mov esi, eax
jmp 0x4638e9
xor esi, esi
test esi, esi
jne 0x463b6f
cmp dword [ebx + 0x30], 0xffffffff
jne 0x463932
xor edx, edx
mov eax, ebx
call fcn.00464430
test eax, eax
je 0x463932
push 0x17803
push 0
lea edx, [ebp - 0x130]
mov eax, 0x4635ec
call fcn.004063fc
mov ecx, dword [ebp - 0x130]
mov dl, 1
mov eax, dword [0x463138]
call fcn.0045d1f4
call fcn.00403cfc
mov al, byte [ebx + 0x35]
cmp al, 2
je 0x4639a9
cmp al, 3
je 0x4639a9
push 0x17802
push 0
lea edx, [ebp - 0x134]
mov eax, 0x4635e4
call fcn.004063fc
lea eax, [ebp - 0x134]
push eax
lea eax, [ebp - 0x138]
push eax
xor eax, eax
mov al, byte [ebx + 0x35]
mov dword [ebp - 0x140], eax
mov byte [ebp - 0x13c], 0
lea edx, [ebp - 0x140]
xor ecx, ecx
mov eax, 0x463bb0
call fcn.0040962c
mov edx, dword [ebp - 0x138]
pop eax
call fcn.00404654
mov ecx, dword [ebp - 0x134]
mov dl, 1
mov eax, dword [0x463138]
call fcn.0045d1f4
call fcn.00403cfc
test edi, edi
je 0x4639c6
mov dword [ebp - 0x10], 1
lea eax, [ebp - 0x10]
push eax
push 0x8004667e
mov eax, dword [ebx + 0x30]
push eax
call sub.wsock32.dll_ioctlsocket
mov eax, dword [ebx + 0x38]
call fcn.0040484c
push eax
call sub.wsock32.dll_inet_addr
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xffffffff
jne 0x463a09
mov eax, dword [ebx + 0x38]
call fcn.0040484c
push eax
call sub.wsock32.dll_gethostbyname
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x463a09
lea edx, [ebp - 8]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, 4
call fcn.00402c84
cmp dword [ebp - 8], 0xffffffff
jne 0x463a3d
push 0x17804
push 0
lea edx, [ebp - 0x144]
mov eax, 0x4635f4
call fcn.004063fc
mov ecx, dword [ebp - 0x144]
mov dl, 1
mov eax, dword [0x463138]
call fcn.0045d1f4
call fcn.00403cfc
lea eax, [ebp - 0x28]
xor ecx, ecx
mov edx, 0x10
call fcn.00402f74
mov word [ebp - 0x28], 2
mov eax, dword [ebp - 8]
mov dword [ebp - 0x24], eax
mov ax, word [ebx + 0x3c]
push eax
call sub.wsock32.dll_htons
mov word [ebp - 0x26], ax
push 0x10
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebx + 0x30]
push eax
call sub.wsock32.dll_connect
mov esi, eax
test esi, esi
je 0x463ab4
call fcn.004635fc
test edi, edi
jle 0x463ab8
cmp eax, 0x2733
je 0x463aa1
cmp eax, 0x2748
je 0x463aa1
cmp eax, 0x2734
je 0x463aa1
mov byte [ebx + 0x35], 2
mov esi, eax
jmp 0x463ab8
cmp eax, 0x2748
jne 0x463aae
mov byte [ebx + 0x35], 4
jmp 0x463ab8
mov byte [ebx + 0x35], 6
jmp 0x463ab8
mov byte [ebx + 0x35], 4
cmp byte [ebx + 0x35], 6
jne 0x463b25
lea eax, [ebp - 0x12c]
call fcn.00462f6c
lea edx, [ebp - 0x12c]
mov eax, dword [ebx + 0x30]
call fcn.00462f5c
xor eax, eax
mov dword [ebp - 0x18], eax
imul eax, edi, 0x3e8
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x18]
push eax
push 0
lea eax, [ebp - 0x12c]
push eax
push 0
mov eax, dword [ebx + 0x30]
inc eax
push eax
call sub.wsock32.dll_select
cmp eax, 1
jne 0x463b0b
mov byte [ebx + 0x35], 4
xor esi, esi
jmp 0x463b25
test eax, eax
jne 0x463b1a
mov byte [ebx + 0x35], 2
mov esi, 0x274c
jmp 0x463b25
mov byte [ebx + 0x35], 2
call fcn.004635fc
mov esi, eax
cmp byte [ebx + 0x35], 4
jne 0x463b67
mov dword [ebp - 4], 0x10
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebx + 0x30]
push eax
call sub.wsock32.dll_getsockname
mov esi, eax
push dword [ebp - 0x24]
call sub.wsock32.dll_inet_ntoa
mov edx, eax
lea eax, [ebx + 0x40]
call fcn.00404584
mov ax, word [ebp - 0x26]
push eax
call sub.wsock32.dll_ntohs
movzx eax, ax
mov dword [ebx + 0x44], eax
test esi, esi
jne 0x463b6f
mov byte [ebx + 0x35], 4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x463b9f
lea eax, [ebp - 0x144]
call fcn.0040438c
lea eax, [ebp - 0x138]
mov edx, 3
call fcn.004043b0
ret