Function at 0x438eb0
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 0x488856
mov eax, dword fs:[0]
push eax
sub esp, 0x834
mov eax, dword [0x4b1784]
xor eax, esp
mov dword [esp + 0x82c], eax
push esi
push edi
mov eax, dword [0x4b1784]
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 [0x4b0084]
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
cmp eax, 0xffffffff
mov dword [ebx], eax
jne 0x438f24
mov eax, 0xffffff9c
jmp 0x439246
lea eax, [esp + 0x1c]
push eax
mov ecx, esi
call fcn.004095c0
mov eax, dword [eax]
mov ecx, dword [ebp + 0xc]
push ecx
mov esi, eax
lea edi, [esp + 0x28]
call fcn.00439270
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 0x438f66
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 0x438f90
test esi, esi
je 0x438f80
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 0x439246
call fcn.00439330
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 0x438fd0
mov esi, dword [ebx]
test esi, esi
je 0x438fc0
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 0x439246
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x10]
push eax
call fcn.004095c0
push 0x3ff
lea ecx, [esp + 0x39]
push 0
mov dword [esp + 0x850], 0
push ecx
mov byte [esp + 0x40], 0
call fcn.0046ea20
mov esi, dword [esp + 0x20]
add esp, 0xc
test esi, esi
je 0x439105
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x439013
sub eax, edx
sar eax, 1
je 0x439105
push 0x3ff
lea edx, [esp + 0x439]
push 0
push edx
mov byte [esp + 0x440], cl
call fcn.0046ea20
add esp, 0xc
lea eax, [esp + 0xc]
push eax
mov ecx, esi
call fcn.004095c0
mov byte [esp + 0x848], 1
mov eax, dword [esp + 0xc]
mov edi, dword [eax - 0xc]
mov edx, dword [eax - 8]
mov ecx, 1
sub ecx, dword [eax - 4]
lea esi, [edi + 1]
sub edx, esi
or ecx, edx
jge 0x439084
mov ecx, esi
lea eax, [esp + 0xc]
call fcn.00410460
mov eax, dword [esp + 0xc]
test esi, esi
mov byte [edi + eax], 0x3a
jl 0x4390fb
mov eax, dword [esp + 0xc]
cmp esi, dword [eax - 8]
jg 0x4390fb
mov ecx, dword [esp + 0x18]
mov dword [eax - 0xc], esi
mov eax, dword [esp + 0xc]
mov byte [esi + eax], 0
push ecx
lea esi, [esp + 0x10]
call fcn.0042d350
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx - 0xc]
lea edx, [esp + 0x18]
push edx
push eax
lea eax, [esp + 0x43c]
call fcn.00438cb0
movzx eax, word [ebp + 0x14]
mov ecx, dword [esp + 0x10]
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.0046c472
add esp, 0x20
mov eax, esi
call fcn.0040b880
jmp 0x439128
push 0x80070057
call fcn.00416be0
movzx eax, word [ebp + 0x14]
mov ecx, dword [esp + 0x10]
push eax
push ecx
push eax
push ecx
push 0x49c7b0
lea ecx, [esp + 0x48]
push 0x3fe
push ecx
call fcn.0046c472
add esp, 0x1c
lea eax, [esp + 0x34]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x439130
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 0x439180
mov esi, dword [ebx]
test esi, esi
je 0x439167
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 + 0x10]
mov dword [ebx], 0xffffffff
call fcn.0040b880
mov eax, 0xffffff9f
jmp 0x439246
push 0x400
lea ecx, [esp + 0x38]
push 0
push ecx
call fcn.0046ea20
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 0x43922b
test eax, eax
je 0x43920e
lea ecx, [esp + 0x34]
call fcn.00438e60
cmp eax, 0xc8
je 0x439201
cmp eax, 0x193
mov esi, dword [ebx]
je 0x4391e6
call fcn.00439310
lea eax, [esp + 0x10]
mov dword [ebx], 0xffffffff
call fcn.0040b880
mov eax, 0xffffffa2
jmp 0x439246
call fcn.00439310
lea eax, [esp + 0x10]
mov dword [ebx], 0xffffffff
call fcn.0040b880
mov eax, 0xffffffa3
jmp 0x439246
lea eax, [esp + 0x10]
call fcn.0040b880
xor eax, eax
jmp 0x439246
mov esi, dword [ebx]
call fcn.00439310
lea eax, [esp + 0x10]
mov dword [ebx], 0xffffffff
call fcn.0040b880
mov eax, 0xffffffa0
jmp 0x439246
mov esi, dword [ebx]
call fcn.00439310
lea eax, [esp + 0x10]
mov dword [ebx], 0xffffffff
call fcn.0040b880
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.00469efd
mov esp, ebp
pop ebp
ret 0x10