Function at 0x483cd0
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 [0x802670], 0
push ebx
push esi
push str.Opening_connection_to_SOCKS_server._n
call fcn.0044cca0
add esp, 4
mov esi, 2
push 6
push 1
push esi
call dword [sym.imp.WSOCK32.dll_socket]
cmp eax, 0xffffffff
mov dword [0x8015f0], eax
jne 0x483d25
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
call fcn.004830d0
push eax
push str.WARNING:_NET_OpenSocks:_socket:__s_n
call fcn.0044cca0
add esp, 8
pop esi
pop ebx
add esp, 0x50
ret
mov eax, dword [0x80260c]
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.WSOCK32.dll_gethostbyname]
test eax, eax
jne 0x483d57
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
call fcn.004830d0
push eax
push str.WARNING:_NET_OpenSocks:_gethostbyname:__s_n
call fcn.0044cca0
add esp, 8
pop esi
pop ebx
add esp, 0x50
ret
cmp word [eax + 8], si
je 0x483d70
push str.WARNING:_NET_OpenSocks:_gethostbyname:_address_type_was_not_AF_INET_n
call fcn.0044cca0
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 [0x802614]
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 [0x8015f0]
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 0x483dce
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
call fcn.004830d0
push eax
push str.NET_OpenSocks:_connect:__s_n
call fcn.0044cca0
add esp, 8
pop esi
pop ebx
add esp, 0x50
ret
mov eax, dword [0x8025f8]
mov ecx, dword [eax + 4]
cmp byte [ecx], 0
jne 0x483ded
mov edx, dword [0x802668]
mov eax, dword [edx + 4]
cmp byte [eax], 0
jne 0x483ded
xor ecx, ecx
jmp 0x483df2
mov ecx, 1
test ecx, ecx
mov byte [esp + 0x18], 5
je 0x483e07
mov byte [esp + 0x19], 2
mov eax, 4
jmp 0x483e11
mov byte [esp + 0x19], 1
mov eax, 3
test ecx, ecx
mov byte [esp + 0x1a], 0
je 0x483e1f
mov byte [esp + 0x1a], 2
mov edx, dword [0x8015f0]
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 0x483e5a
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
call fcn.004830d0
push eax
push str.NET_OpenSocks:_send:__s_n
call fcn.0044cca0
add esp, 8
pop esi
pop ebx
add esp, 0x50
ret
mov ecx, dword [0x8015f0]
push 0
lea eax, [esp + 0x1c]
push 0x40
push eax
push ecx
call dword [sym.imp.WSOCK32.dll_recv]
cmp eax, 0xffffffff
je 0x48401d
cmp eax, esi
jne 0x4840d3
cmp byte [esp + 0x18], 5
jne 0x4840d3
mov eax, dword [esp + 0x19]
and eax, 0xff
sub eax, 0
je 0x483eb1
sub eax, esi
je 0x483eb1
push str.NET_OpenSocks:_request_denied_n
call fcn.0044cca0
add esp, 4
pop esi
pop ebx
add esp, 0x50
ret
cmp byte [esp + 0x19], 2
jne 0x483fa1
mov esi, dword [0x8025f8]
push ebp
push edi
or ecx, 0xffffffff
mov edi, dword [esi + 4]
xor eax, eax
repne scasb al, byte es:[edi]
mov ebp, dword [0x802668]
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 0x483f10
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 0x483f2f
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 [0x8015f0]
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 0x483e3b
mov eax, dword [0x8015f0]
push 0
lea edx, [esp + 0x1c]
push 0x40
push edx
push eax
call dword [sym.imp.WSOCK32.dll_recv]
cmp eax, 0xffffffff
je 0x48401d
cmp eax, 2
jne 0x4840d3
cmp byte [esp + 0x18], 1
jne 0x4840d3
mov al, byte [esp + 0x19]
test al, al
je 0x483f9c
push str.NET_OpenSocks:_authentication_failed_n
call fcn.0044cca0
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 [0x8015f0]
push 0
lea edx, [esp + 0x1c]
push 0xa
push edx
push eax
call ebx
cmp eax, 0xffffffff
jne 0x484002
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
call fcn.004830d0
push eax
push str.NET_OpenSocks:_send:__s_n
call fcn.0044cca0
add esp, 8
pop esi
pop ebx
add esp, 0x50
ret
mov edx, dword [0x8015f0]
push 0
lea ecx, [esp + 0x1c]
push 0x40
push ecx
push edx
call dword [sym.imp.WSOCK32.dll_recv]
cmp eax, 0xffffffff
jne 0x48403c
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
call fcn.004830d0
push eax
push str.NET_OpenSocks:_recv:__s_n
call fcn.0044cca0
add esp, 8
pop esi
pop ebx
add esp, 0x50
ret
cmp eax, esi
jl 0x4840d3
cmp byte [esp + 0x18], 5
jne 0x4840d3
mov al, byte [esp + 0x19]
test al, al
je 0x484074
mov eax, dword [esp + 0x19]
and eax, 0xff
push eax
push str.NET_OpenSocks:_request_denied:__i_n
call fcn.0044cca0
add esp, 8
pop esi
pop ebx
add esp, 0x50
ret
cmp byte [esp + 0x1b], 1
je 0x484099
mov ecx, dword [esp + 0x1b]
and ecx, 0xff
push ecx
push str.NET_OpenSocks:_relay_address_is_not_IPV4:__i_n
call fcn.0044cca0
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 [0x8025fc], si
mov dword [0x802604], ecx
pop esi
mov dword [0x802600], edx
mov word [0x8025fe], ax
mov dword [0x802608], ecx
mov dword [0x802670], 1
pop ebx
add esp, 0x50
ret
push str.NET_OpenSocks:_bad_response_n
call fcn.0044cca0
add esp, 4
pop esi
pop ebx
add esp, 0x50
ret