Function at 0x4547f0
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 0x52b9f6
mov eax, dword fs:[0]
push eax
sub esp, 0x834
mov eax, dword [0x56b1dc]
xor eax, esp
mov dword [esp + 0x82c], eax
push esi
push edi
mov eax, dword [0x56b1dc]
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 [0x56c57c]
push 0
push 1
push 2
call dword [0x531560]
cmp eax, 0xffffffff
mov dword [ebx], eax
jne 0x454864
mov eax, 0xffffff9c
jmp 0x454b86
lea eax, [esp + 0x1c]
push eax
mov ecx, esi
call fcn.00444ed0
mov eax, dword [eax]
mov ecx, dword [ebp + 0xc]
push ecx
mov esi, eax
lea edi, [esp + 0x28]
call fcn.00454bb0
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 0x4548a6
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 0x4548d0
test esi, esi
je 0x4548c0
push 1
push esi
call dword [0x53153c]
push esi
call dword [0x531574]
mov dword [ebx], 0xffffffff
mov eax, 0xffffff9d
jmp 0x454b86
call fcn.00454c70
mov edx, dword [ebx]
push 0x10
lea ecx, [esp + 0x28]
push ecx
push edx
call dword [0x531558]
cmp eax, 0xffffffff
jne 0x454910
mov esi, dword [ebx]
test esi, esi
je 0x454900
push 1
push esi
call dword [0x53153c]
push esi
call dword [0x531574]
mov dword [ebx], 0xffffffff
mov eax, 0xffffff9e
jmp 0x454b86
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x10]
push eax
call fcn.00444ed0
push 0x3ff
lea ecx, [esp + 0x39]
push 0
mov dword [esp + 0x850], 0
push ecx
mov byte [esp + 0x40], 0
call fcn.00508d80
mov esi, dword [esp + 0x20]
add esp, 0xc
test esi, esi
je 0x454a45
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x454953
sub eax, edx
sar eax, 1
je 0x454a45
push 0x3ff
lea edx, [esp + 0x439]
push 0
push edx
mov byte [esp + 0x440], cl
call fcn.00508d80
add esp, 0xc
lea eax, [esp + 0xc]
push eax
mov ecx, esi
call fcn.00444ed0
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 0x4549c4
mov ecx, esi
lea eax, [esp + 0xc]
call fcn.00414820
mov eax, dword [esp + 0xc]
test esi, esi
mov byte [edi + eax], 0x3a
jl 0x454a3b
mov eax, dword [esp + 0xc]
cmp esi, dword [eax - 8]
jg 0x454a3b
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.00444fd0
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx - 0xc]
lea edx, [esp + 0x18]
push edx
push eax
lea eax, [esp + 0x43c]
call fcn.004545f0
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.00502a88
add esp, 0x20
mov eax, esi
call fcn.0043a2c0
jmp 0x454a68
push 0x80070057
call fcn.004026a0
movzx eax, word [ebp + 0x14]
mov ecx, dword [esp + 0x10]
push eax
push ecx
push eax
push ecx
push 0x54bde8
lea ecx, [esp + 0x48]
push 0x3fe
push ecx
call fcn.00502a88
add esp, 0x1c
lea eax, [esp + 0x34]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x454a70
sub eax, edx
push 0
push eax
mov eax, dword [ebx]
lea edx, [esp + 0x3c]
push edx
push eax
call dword [0x531550]
cmp eax, 0xffffffff
jne 0x454ac0
mov esi, dword [ebx]
test esi, esi
je 0x454aa7
push 1
push esi
call dword [0x53153c]
push esi
call dword [0x531574]
lea eax, [esp + 0x10]
mov dword [ebx], 0xffffffff
call fcn.0043a2c0
mov eax, 0xffffff9f
jmp 0x454b86
push 0x400
lea ecx, [esp + 0x38]
push 0
push ecx
call fcn.00508d80
mov eax, dword [ebx]
add esp, 0xc
push 0
push 0x400
lea edx, [esp + 0x3c]
push edx
push eax
call dword [0x53154c]
cmp eax, 0xffffffff
je 0x454b6b
test eax, eax
je 0x454b4e
lea ecx, [esp + 0x34]
call fcn.004547a0
cmp eax, 0xc8
je 0x454b41
cmp eax, 0x193
mov esi, dword [ebx]
je 0x454b26
call fcn.00454c50
lea eax, [esp + 0x10]
mov dword [ebx], 0xffffffff
call fcn.0043a2c0
mov eax, 0xffffffa2
jmp 0x454b86
call fcn.00454c50
lea eax, [esp + 0x10]
mov dword [ebx], 0xffffffff
call fcn.0043a2c0
mov eax, 0xffffffa3
jmp 0x454b86
lea eax, [esp + 0x10]
call fcn.0043a2c0
xor eax, eax
jmp 0x454b86
mov esi, dword [ebx]
call fcn.00454c50
lea eax, [esp + 0x10]
mov dword [ebx], 0xffffffff
call fcn.0043a2c0
mov eax, 0xffffffa0
jmp 0x454b86
mov esi, dword [ebx]
call fcn.00454c50
lea eax, [esp + 0x10]
mov dword [ebx], 0xffffffff
call fcn.0043a2c0
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.004ff939
mov esp, ebp
pop ebp
ret 0x10