Function at 0x495bd4
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Send data
Send data on socket
Send http request
Send http request with host header
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
mov ecx, 5
push 0
push 0
dec ecx
jne 0x495bdc
push ebx
push esi
xor eax, eax
push ebp
push 0x495f45
push dword fs:[eax]
mov dword fs:[eax], esp
xor ebx, ebx
mov word [ebp - 0x28], 2
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xc]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0x14]
call fcn.00405b58
je 0x495c1f
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xc]
call fcn.00495378
mov edx, dword [ebp + 8]
mov dword [edx - 0x18], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x18]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 8]
movzx eax, word [eax - 0xe]
push eax
call sub.wsock32.dll_htons
mov word [ebp - 0x26], ax
push 6
push 1
push 2
call sub.wsock32.dll_socket
mov edx, dword [ebp + 8]
mov dword [edx - 0x1c], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0
jle 0x495c6f
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x1c]
mov ecx, 0x10
lea edx, [ebp - 0x28]
call fcn.004954ac
jmp 0x495c81
push 0x10
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x1c]
push eax
call sub.wsock32.dll_connect
inc eax
je 0x495f2a
mov eax, dword [ebp + 8]
cmp dword [eax - 8], 0
jle 0x495cb0
push 4
mov eax, dword [ebp + 8]
add eax, 0xfffffff8
push eax
push 0x1006
push 0xffff
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x1c]
push eax
call sub.wsock32.dll_setsockopt
mov eax, dword [ebp + 8]
cmp dword [eax + 0xc], 0
jle 0x495cd8
push 4
mov eax, dword [ebp + 8]
add eax, 0xc
push eax
push 0x1005
push 0xffff
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x1c]
push eax
call sub.wsock32.dll_setsockopt
mov eax, dword [ebp + 8]
mov ebx, dword [eax - 0x1c]
push 0x495f60
mov eax, dword [ebp + 8]
push dword [eax - 4]
push 0x495f74
lea eax, [ebp - 4]
mov edx, 3
call fcn.004059c4
mov eax, dword [ebp - 4]
test eax, eax
je 0x495d1a
mov edx, eax
sub edx, 0xa
cmp word [edx], 1
je 0x495d1a
lea eax, [ebp - 4]
xor ecx, ecx
mov edx, dword [ebp - 4]
call fcn.004056e4
mov esi, eax
test esi, esi
je 0x495d25
sub esi, 4
mov esi, dword [esi]
push 0
push esi
mov eax, dword [ebp - 4]
call fcn.00405b70
push eax
push ebx
call sub.wsock32.dll_send
mov eax, dword [ebp + 8]
mov ebx, dword [eax - 0x1c]
push 0x495f8c
mov eax, dword [ebp + 8]
push dword [eax - 0xc]
push 0x495fa0
lea eax, [ebp - 8]
mov edx, 3
call fcn.004059c4
mov eax, dword [ebp - 8]
test eax, eax
je 0x495d79
mov edx, eax
sub edx, 0xa
cmp word [edx], 1
je 0x495d79
lea eax, [ebp - 8]
xor ecx, ecx
mov edx, dword [ebp - 8]
call fcn.004056e4
mov esi, eax
test esi, esi
je 0x495d84
sub esi, 4
mov esi, dword [esi]
push 0
push esi
mov eax, dword [ebp - 8]
call fcn.00405b70
push eax
push ebx
call sub.wsock32.dll_send
mov eax, dword [ebp + 8]
mov ebx, dword [eax - 0x1c]
lea eax, [ebp - 0xc]
mov edx, 0x495fb0
call fcn.00405594
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x495dc8
mov edx, eax
sub edx, 0xa
cmp word [edx], 1
je 0x495dc8
lea eax, [ebp - 0xc]
xor ecx, ecx
mov edx, dword [ebp - 0xc]
call fcn.004056e4
mov esi, eax
test esi, esi
je 0x495dd3
sub esi, 4
mov esi, dword [esi]
push 0
push esi
mov eax, dword [ebp - 0xc]
call fcn.00405b70
push eax
push ebx
call sub.wsock32.dll_send
mov eax, dword [ebp + 8]
mov ebx, dword [eax - 0x1c]
lea eax, [ebp - 0x10]
mov edx, 0x495fd8
call fcn.00405594
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x495e17
mov edx, eax
sub edx, 0xa
cmp word [edx], 1
je 0x495e17
lea eax, [ebp - 0x10]
xor ecx, ecx
mov edx, dword [ebp - 0x10]
call fcn.004056e4
mov esi, eax
test esi, esi
je 0x495e22
sub esi, 4
mov esi, dword [esi]
push 0
push esi
mov eax, dword [ebp - 0x10]
call fcn.00405b70
push eax
push ebx
call sub.wsock32.dll_send
mov eax, dword [ebp + 8]
mov ebx, dword [eax - 0x1c]
push 0x496000
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x20]
push dword [eax + 8]
push 0x495fa0
lea eax, [ebp - 0x14]
mov edx, 3
call fcn.004059c4
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x495e79
mov edx, eax
sub edx, 0xa
cmp word [edx], 1
je 0x495e79
lea eax, [ebp - 0x14]
xor ecx, ecx
mov edx, dword [ebp - 0x14]
call fcn.004056e4
mov esi, eax
test esi, esi
je 0x495e84
sub esi, 4
mov esi, dword [esi]
push 0
push esi
mov eax, dword [ebp - 0x14]
call fcn.00405b70
push eax
push ebx
call sub.wsock32.dll_send
mov eax, dword [ebp + 8]
mov ebx, dword [eax - 0x1c]
lea eax, [ebp - 0x18]
mov edx, 0x49601c
call fcn.00405594
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x495ec8
mov edx, eax
sub edx, 0xa
cmp word [edx], 1
je 0x495ec8
lea eax, [ebp - 0x18]
xor ecx, ecx
mov edx, dword [ebp - 0x18]
call fcn.004056e4
mov esi, eax
test esi, esi
je 0x495ed3
sub esi, 4
mov esi, dword [esi]
push 0
push esi
mov eax, dword [ebp - 0x18]
call fcn.00405b70
push eax
push ebx
call sub.wsock32.dll_send
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x20]
mov eax, dword [eax + 0x1c]
call fcn.00495614
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x20]
add eax, 4
call fcn.004054e4
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x20]
xor edx, edx
mov dword [eax + 0x14], edx
mov eax, dword [ebp + 8]
xor edx, edx
mov dword [eax - 0x24], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x20]
mov dword [eax + 0x10], 0xffffffff
mov eax, dword [ebp + 8]
mov byte [eax - 0x25], 0
mov bl, 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x495f4c
lea eax, [ebp - 0x18]
mov edx, 6
call fcn.00405508
ret