Function at 0x4066b0
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Create tcp socket
Get socket status
Initialize winsock library
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket
Send http request
Send http request with host header
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x14d4
call fcn.0043f640
mov eax, dword [0x4bf370]
xor eax, esp
mov dword [esp + 0x14d0], eax
push ebx
push esi
push edi
lea eax, [esp + 0x148]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
cmp eax, 0xffffffff
je 0x406971
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 0
push eax
lea eax, [esp + 0x24]
mov dword [esp + 0x24], 0
push eax
xorps xmm0, xmm0
mov dword [esp + 0x2c], 2
push 0x49db4c
push str.www.ozone3d.net
movlpd qword [esp + 0x40], xmm0
movlpd qword [esp + 0x48], xmm0
mov dword [esp + 0x38], 1
mov dword [esp + 0x3c], 6
call dword [sym.imp.WS2_32.dll_getaddrinfo]
test eax, eax
jne 0x406971
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov edi, eax
cmp edi, 0xffffffff
je 0x406971
mov esi, dword [sym.imp.WS2_32.dll_ioctlsocket]
lea eax, [esp + 0x10]
push eax
push 0x8004667e
push edi
mov dword [esp + 0x1c], 1
call esi
cmp eax, 0xffffffff
je 0x406964
mov eax, dword [esp + 0x14]
push 0x10
push dword [eax + 0x18]
push edi
call dword [sym.imp.WS2_32.dll_connect]
test eax, eax
jns 0x4067e0
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x406964
lea eax, [esp + 0x18]
mov dword [esp + 0x44], edi
push eax
push 0
lea eax, [esp + 0x48]
mov dword [esp + 0x48], 1
push eax
push 0
push 0
mov dword [esp + 0x2c], 0xfa
mov dword [esp + 0x30], 0
call dword [sym.imp.WS2_32.dll_select]
test eax, eax
jle 0x406964
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0
push eax
push 0x8004667e
push edi
call esi
cmp eax, 0xffffffff
je 0x406964
push 0x200
lea eax, [esp + 0x2dc]
push 0
push eax
call fcn.00440690
add esp, 0xc
lea eax, [esp + 0x2d8]
push 0
push 3
push 0x1d
push 0
push str.GET__gpushark_version.php_HTTP_1.1_r_nHost:_www.ozone3d.net_r_nUser_Agent:_GPUShark_v_d._d._d._d_r_n_r_n
push eax
call fcn.00406660
lea ecx, [esp + 0x2f0]
add esp, 0x18
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406840
push 0
sub ecx, edx
lea eax, [esp + 0x2dc]
push ecx
push eax
push edi
call dword [sym.imp.WS2_32.dll_send]
push 0x1f4
mov esi, eax
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, 0xffffffff
je 0x406971
push 0x1000
lea eax, [esp + 0x4dc]
push 0
push eax
call fcn.00440690
add esp, 0xc
lea eax, [esp + 0x4d8]
xor ebx, ebx
xor esi, esi
push ebx
push 0x1000
push eax
push edi
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
jle 0x4068e2
cmp eax, 0x1000
jae 0x406989
mov byte [esp + eax + 0x4d8], bl
lea eax, [esp + 0x4d8]
push 0x49dbb4
push eax
call fcn.0043fe20
mov esi, eax
lea eax, [esp + 0x4e0]
push 0x49dbb8
push eax
call fcn.0043fe20
add esp, 0x10
mov ebx, eax
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
test esi, esi
je 0x406971
test ebx, ebx
je 0x406971
push 0x4c5914
push 0x4c5918
push 0x4c591c
push 0x4c5920
push str.__d._d._d._d_
push esi
call fcn.00406680
mov eax, dword [0x4c5920]
add esp, 0x18
shl eax, 8
mov ecx, 0x1d0300
or eax, dword [0x4c591c]
shl eax, 8
or eax, dword [0x4c5918]
shl eax, 8
or eax, dword [0x4c5914]
cmp ecx, eax
sbb eax, eax
neg eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x14d0]
xor ecx, esp
call fcn.0043ef0f
mov esp, ebp
pop ebp
ret
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov ecx, dword [esp + 0x14dc]
or eax, 0xffffffff
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0043ef0f
mov esp, ebp
pop ebp
ret
call fcn.0043f03f
int3