Function at 0x506310
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
Send data
Send data on socket
Send http request
Send http request with host header

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x6002e6
mov eax, dword fs:[0]
push eax
sub esp, 0x834
mov eax, dword [0x6687b8]
xor eax, esp
mov dword [esp + 0x82c], eax
push esi
push edi
mov eax, dword [0x6687b8]
xor eax, esp
push eax
lea eax, [esp + 0x840]
mov dword fs:[0], eax
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edx
call dword [0x668114]
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
cmp eax, 0xffffffff
mov dword [ebx], eax
jne 0x506384
mov eax, 0xffffff9c
jmp 0x50665e
lea eax, [esp + 0x1c]
push eax
mov ecx, esi
call fcn.00470800
mov eax, dword [eax]
mov ecx, dword [ebp + 0xc]
push ecx
mov esi, eax
lea edi, [esp + 0x28]
call fcn.00506690
mov esi, eax
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
add esp, 4
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x5063c6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test esi, esi
mov esi, dword [ebx]
je 0x5063f0
test esi, esi
je 0x5063e0
push 1
push esi
call dword [sym.imp.WS2_32.dll_shutdown]
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [ebx], 0xffffffff
mov eax, 0xffffff9d
jmp 0x50665e
call fcn.00506750
mov edx, dword [ebx]
push 0x10
lea ecx, [esp + 0x28]
push ecx
push edx
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x506430
mov esi, dword [ebx]
test esi, esi
je 0x506420
push 1
push esi
call dword [sym.imp.WS2_32.dll_shutdown]
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [ebx], 0xffffffff
mov eax, 0xffffff9e
jmp 0x50665e
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0xc]
push eax
call fcn.00470800
push 0x3ff
lea ecx, [esp + 0x39]
push 0
mov dword [esp + 0x850], 0
push ecx
mov byte [esp + 0x40], 0
call fcn.005da970
mov esi, dword [esp + 0x20]
add esp, 0xc
test esi, esi
je 0x50651e
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x506473
sub eax, edx
sar eax, 1
je 0x50651e
push 0x3ff
lea edx, [esp + 0x439]
push 0
push edx
mov byte [esp + 0x440], cl
call fcn.005da970
add esp, 0xc
lea eax, [esp + 0x10]
push eax
mov ecx, esi
call fcn.00470800
push 0x3a
lea edi, [esp + 0x14]
mov byte [esp + 0x84c], 1
call fcn.0044c500
mov ecx, dword [esp + 0x18]
push ecx
mov esi, edi
call fcn.004cdf80
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx - 0xc]
lea edx, [esp + 0x18]
push edx
push eax
lea eax, [esp + 0x43c]
call fcn.00506110
movzx eax, word [ebp + 0x14]
mov ecx, dword [esp + 0xc]
push eax
push ecx
lea edx, [esp + 0x43c]
push edx
push eax
push ecx
push str.CONNECT__s:_d_HTTP_1.1_r_nProxy_Authorization:_Basic__s_r_nAccept:___r_nHost:__s:_d_r_nUser_Agent:_Mozilla_4.0__compatible__MSIE_8.0__Windows_NT_5.1_Proxy_Connection:_Keep_Alive_r_n_r_n
lea eax, [esp + 0x4c]
push 0x3fe
push eax
call fcn.005d7813
add esp, 0x20
mov eax, edi
call fcn.004152a0
jmp 0x506541
movzx eax, word [ebp + 0x14]
mov ecx, dword [esp + 0xc]
push eax
push ecx
push eax
push ecx
push 0x637600
lea ecx, [esp + 0x48]
push 0x3fe
push ecx
call fcn.005d7813
add esp, 0x1c
lea eax, [esp + 0x34]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x506548
sub eax, edx
push 0
push eax
mov eax, dword [ebx]
lea edx, [esp + 0x3c]
push edx
push eax
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x506598
mov esi, dword [ebx]
test esi, esi
je 0x50657f
push 1
push esi
call dword [sym.imp.WS2_32.dll_shutdown]
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
lea eax, [esp + 0xc]
mov dword [ebx], 0xffffffff
call fcn.004152a0
mov eax, 0xffffff9f
jmp 0x50665e
push 0x400
lea ecx, [esp + 0x38]
push 0
push ecx
call fcn.005da970
mov eax, dword [ebx]
add esp, 0xc
push 0
push 0x400
lea edx, [esp + 0x3c]
push edx
push eax
call dword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
je 0x506643
test eax, eax
je 0x506626
lea ecx, [esp + 0x34]
call fcn.005062c0
cmp eax, 0xc8
je 0x506619
cmp eax, 0x193
mov esi, dword [ebx]
je 0x5065fe
call fcn.00506730
lea eax, [esp + 0xc]
mov dword [ebx], 0xffffffff
call fcn.004152a0
mov eax, 0xffffffa2
jmp 0x50665e
call fcn.00506730
lea eax, [esp + 0xc]
mov dword [ebx], 0xffffffff
call fcn.004152a0
mov eax, 0xffffffa3
jmp 0x50665e
lea eax, [esp + 0xc]
call fcn.004152a0
xor eax, eax
jmp 0x50665e
mov esi, dword [ebx]
call fcn.00506730
lea eax, [esp + 0xc]
mov dword [ebx], 0xffffffff
call fcn.004152a0
mov eax, 0xffffffa0
jmp 0x50665e
mov esi, dword [ebx]
call fcn.00506730
lea eax, [esp + 0xc]
mov dword [ebx], 0xffffffff
call fcn.004152a0
mov eax, 0xffffffa1
mov ecx, dword [esp + 0x840]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [esp + 0x82c]
xor ecx, esp
call fcn.005d28b3
mov esp, ebp
pop ebp
ret 0x10