Function at 0x483d60
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket

Disassembly:
sub esp, 0x50
mov dword [0x7fe238], 0
push ebx
push esi
push str.Opening_connection_to_SOCKS_server._n
call fcn.0044cdc0
add esp, 4
mov esi, 2
push 6
push 1
push esi
call dword [sym.imp.WSOCK32.dll_socket]
cmp eax, 0xffffffff
mov dword [0x7fd1b8], eax
jne 0x483db5
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
call fcn.00483160
push eax
push str.WARNING:_NET_OpenSocks:_socket:__s_n
call fcn.0044cdc0
add esp, 8
pop esi
pop ebx
add esp, 0x50
ret
mov eax, dword [0x7fe1d4]
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.WSOCK32.dll_gethostbyname]
test eax, eax
jne 0x483de7
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
call fcn.00483160
push eax
push str.WARNING:_NET_OpenSocks:_gethostbyname:__s_n
call fcn.0044cdc0
add esp, 8
pop esi
pop ebx
add esp, 0x50
ret
cmp word [eax + 8], si
je 0x483e00
push str.WARNING:_NET_OpenSocks:_gethostbyname:_address_type_was_not_AF_INET_n
call fcn.0044cdc0
add esp, 4
pop esi
pop ebx
add esp, 0x50
ret
mov word [esp + 8], si
mov edx, dword [eax + 0xc]
mov eax, dword [edx]
mov edx, dword [0x7fe1dc]
mov ecx, dword [eax]
mov dword [esp + 0xc], ecx
mov ax, word [edx + 0x20]
push eax
call dword [sym.imp.WSOCK32.dll_htons]
mov edx, dword [0x7fd1b8]
lea ecx, [esp + 8]
push 0x10
push ecx
push edx
mov word [esp + 0x16], ax
call dword [sym.imp.WSOCK32.dll_connect]
cmp eax, 0xffffffff
jne 0x483e5e
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
call fcn.00483160
push eax
push str.NET_OpenSocks:_connect:__s_n
call fcn.0044cdc0
add esp, 8
pop esi
pop ebx
add esp, 0x50
ret
mov eax, dword [0x7fe1c0]
mov ecx, dword [eax + 4]
cmp byte [ecx], 0
jne 0x483e7d
mov edx, dword [0x7fe230]
mov eax, dword [edx + 4]
cmp byte [eax], 0
jne 0x483e7d
xor ecx, ecx
jmp 0x483e82
mov ecx, 1
test ecx, ecx
mov byte [esp + 0x18], 5
je 0x483e97
mov byte [esp + 0x19], 2
mov eax, 4
jmp 0x483ea1
mov byte [esp + 0x19], 1
mov eax, 3
test ecx, ecx
mov byte [esp + 0x1a], 0
je 0x483eaf
mov byte [esp + 0x1a], 2
mov edx, dword [0x7fd1b8]
mov ebx, dword [sym.imp.WSOCK32.dll_send]
push 0
lea ecx, [esp + 0x1c]
push eax
push ecx
push edx
call ebx
cmp eax, 0xffffffff
jne 0x483eea
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
call fcn.00483160
push eax
push str.NET_OpenSocks:_send:__s_n
call fcn.0044cdc0
add esp, 8
pop esi
pop ebx
add esp, 0x50
ret
mov ecx, dword [0x7fd1b8]
push 0
lea eax, [esp + 0x1c]
push 0x40
push eax
push ecx
call dword [sym.imp.WSOCK32.dll_recv]
cmp eax, 0xffffffff
je 0x4840ad
cmp eax, esi
jne 0x484163
cmp byte [esp + 0x18], 5
jne 0x484163
mov eax, dword [esp + 0x19]
and eax, 0xff
sub eax, 0
je 0x483f41
sub eax, esi
je 0x483f41
push str.NET_OpenSocks:_request_denied_n
call fcn.0044cdc0
add esp, 4
pop esi
pop ebx
add esp, 0x50
ret
cmp byte [esp + 0x19], 2
jne 0x484031
mov esi, dword [0x7fe1c0]
push ebp
push edi
or ecx, 0xffffffff
mov edi, dword [esi + 4]
xor eax, eax
repne scasb al, byte es:[edi]
mov ebp, dword [0x7fe230]
not ecx
mov edi, dword [ebp + 4]
dec ecx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [esp + 0x20], 1
test edx, edx
mov eax, ecx
mov byte [esp + 0x21], dl
je 0x483fa0
mov esi, dword [esi + 4]
mov ecx, edx
mov ebx, ecx
lea edi, [esp + 0x22]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
mov ebx, dword [sym.imp.WSOCK32.dll_send]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
test eax, eax
mov byte [esp + edx + 0x22], al
je 0x483fbf
mov esi, dword [ebp + 4]
mov ecx, eax
mov ebp, ecx
lea edi, [esp + edx + 0x23]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [0x7fd1b8]
lea edx, [eax + edx + 3]
push 0
lea eax, [esp + 0x24]
push edx
push eax
push ecx
call ebx
pop edi
cmp eax, 0xffffffff
pop ebp
je 0x483ecb
mov eax, dword [0x7fd1b8]
push 0
lea edx, [esp + 0x1c]
push 0x40
push edx
push eax
call dword [sym.imp.WSOCK32.dll_recv]
cmp eax, 0xffffffff
je 0x4840ad
cmp eax, 2
jne 0x484163
cmp byte [esp + 0x18], 1
jne 0x484163
mov al, byte [esp + 0x19]
test al, al
je 0x48402c
push str.NET_OpenSocks:_authentication_failed_n
call fcn.0044cdc0
add esp, 4
pop esi
pop ebx
add esp, 0x50
ret
mov esi, 2
mov ecx, dword [esp + 0x5c]
mov byte [esp + 0x18], 5
push ecx
mov byte [esp + 0x1d], 3
mov byte [esp + 0x1e], 0
mov byte [esp + 0x1f], 1
mov dword [esp + 0x20], 0
call dword [sym.imp.WSOCK32.dll_htons]
mov word [esp + 0x20], ax
mov eax, dword [0x7fd1b8]
push 0
lea edx, [esp + 0x1c]
push 0xa
push edx
push eax
call ebx
cmp eax, 0xffffffff
jne 0x484092
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
call fcn.00483160
push eax
push str.NET_OpenSocks:_send:__s_n
call fcn.0044cdc0
add esp, 8
pop esi
pop ebx
add esp, 0x50
ret
mov edx, dword [0x7fd1b8]
push 0
lea ecx, [esp + 0x1c]
push 0x40
push ecx
push edx
call dword [sym.imp.WSOCK32.dll_recv]
cmp eax, 0xffffffff
jne 0x4840cc
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
call fcn.00483160
push eax
push str.NET_OpenSocks:_recv:__s_n
call fcn.0044cdc0
add esp, 8
pop esi
pop ebx
add esp, 0x50
ret
cmp eax, esi
jl 0x484163
cmp byte [esp + 0x18], 5
jne 0x484163
mov al, byte [esp + 0x19]
test al, al
je 0x484104
mov eax, dword [esp + 0x19]
and eax, 0xff
push eax
push str.NET_OpenSocks:_request_denied:__i_n
call fcn.0044cdc0
add esp, 8
pop esi
pop ebx
add esp, 0x50
ret
cmp byte [esp + 0x1b], 1
je 0x484129
mov ecx, dword [esp + 0x1b]
and ecx, 0xff
push ecx
push str.NET_OpenSocks:_relay_address_is_not_IPV4:__i_n
call fcn.0044cdc0
add esp, 8
pop esi
pop ebx
add esp, 0x50
ret
mov edx, dword [esp + 0x1c]
mov ax, word [esp + 0x20]
xor ecx, ecx
mov word [0x7fe1c4], si
mov dword [0x7fe1cc], ecx
pop esi
mov dword [0x7fe1c8], edx
mov word [0x7fe1c6], ax
mov dword [0x7fe1d0], ecx
mov dword [0x7fe238], 1
pop ebx
add esp, 0x50
ret
push str.NET_OpenSocks:_bad_response_n
call fcn.0044cdc0
add esp, 4
pop esi
pop ebx
add esp, 0x50
ret