Function at 0x1000d6c0
Capabilities:
Act as tcp client
Check for time delay via gettickcount
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
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:
sub esp, 0x9e0
mov eax, dword [0x1001842c]
xor eax, esp
mov dword [esp + 0x9dc], eax
mov eax, dword [esp + 0x9e4]
mov dword [esp], eax
mov eax, dword [esp + 0x9ec]
lea edx, [esp + 0x20c]
sub edx, eax
mov edi, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x1000d6f0
push ebx
push ebp
push esi
push edi
push 0x400
mov dword [esp + 0x18], 5
call dword [sym.imp.MSVCR90.dll_malloc]
mov esi, dword [sym.imp.MSVCR90.dll_strstr]
lea ecx, [esp + 0x220]
push str.http:__
push ecx
mov ebx, eax
call esi
mov ebp, eax
add ebp, 7
push 0x10014854
push ebp
call esi
add esp, 0x14
test eax, eax
je 0x1000d788
lea edx, [esp + 0x21c]
push 0x10014854
push edx
call esi
inc eax
push eax
mov byte [eax - 1], 0
call dword [sym.imp.MSVCR90.dll_atoi]
add esp, 0xc
mov edi, eax
push edi
call sub.WS2_32.dll_htons
push 0x10015750
push edi
mov word [esp + 0x22], ax
call esi
add esp, 8
lea edx, [esp + 0x28]
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x1000d776
push 0x10015750
push edi
jmp 0x1000d7b3
push 0x50
call sub.WS2_32.dll_htons
push 0x10015750
push ebp
mov word [esp + 0x22], ax
call esi
add esp, 8
lea edx, [esp + 0x28]
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x1000d7a3
push 0x10015750
push ebp
call esi
add esp, 8
mov byte [eax], 0
push ebp
lea eax, [esp + 0x2c]
push eax
push str.GET__s_HTTP_1.0_r_nHost:_s_r_n_r_n
push ebx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
push 0
push 1
push 2
call sub.WS2_32.dll_socket
mov esi, eax
cmp esi, 0xffffffff
jne 0x1000d7e9
xor eax, eax
jmp 0x1000d8c9
lea ecx, [esp + 0x14]
push ecx
push 0x8004667e
push esi
call sub.WS2_32.dll_ioctlsocket
mov al, byte [ebp]
cmp al, 0x30
jle 0x1000d810
cmp al, 0x3a
jge 0x1000d810
push ebp
call sub.WS2_32.dll_inet_addr
mov dword [esp + 0x1c], eax
jmp 0x1000d821
push ebp
call sub.WS2_32.dll_gethostbyname
mov edx, dword [eax + 0xc]
mov eax, dword [edx]
mov ecx, dword [eax]
mov dword [esp + 0x1c], ecx
push 0x10
lea eax, [esp + 0x1c]
push eax
mov edx, 2
push esi
mov word [esp + 0x24], dx
call sub.WS2_32.dll_connect
test eax, eax
je 0x1000d848
call sub.WS2_32.dll_WSAGetLastError
cmp eax, 0x2733
jne 0x1000d7e2
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, ebx
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x1000d858
push 0x10
sub eax, ecx
lea ecx, [esp + 0x1c]
push ecx
push 0
push eax
push ebx
push esi
call sub.WS2_32.dll_sendto
mov ebp, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x9f8]
call ebp
mov dword [esp + 0x10], eax
call ebp
sub eax, dword [esp + 0x10]
cmp eax, 0xea60
jae 0x1000d8ba
push 0
push edi
push ebx
push esi
call sub.WS2_32.dll_recv
test eax, eax
je 0x1000d8ba
cmp eax, 0xffffffff
je 0x1000d8ad
add ebx, eax
sub edi, eax
call ebp
sub eax, dword [esp + 0x10]
cmp eax, 0xea60
jb 0x1000d896
push esi
call sub.WS2_32.dll_closesocket
mov eax, dword [esp + 0x9f8]
sub eax, edi
mov ecx, dword [esp + 0x9ec]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10012622
add esp, 0x9e0
ret 0xc