Function at 0x100059f0
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Initialize winsock library
Send data
Send data on socket
Send http request
Send http request with host header

Disassembly:
sub esp, 0x304
push ebx
mov ebx, ecx
push ebp
mov ebp, dword [sym.imp.MSVCRT.dll_strstr]
push esi
push edi
lea esi, [ebx + 5]
push str.http:__
push esi
call ebp
add esp, 8
test eax, eax
je 0x10005a25
mov edi, str.http:__
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add esi, ecx
push 0x1000f850
push esi
call ebp
add esp, 8
test eax, eax
je 0x10005a97
mov ecx, 8
xor eax, eax
lea edi, [esp + 0x20]
push 0x1000f850
rep stosd dword es:[edi], eax
mov edi, dword [sym.imp.MSVCRT.dll_strcspn]
push esi
call edi
push eax
lea eax, [esp + 0x2c]
push esi
push eax
call dword [sym.imp.MSVCRT.dll_strncpy]
push 0x1000f850
push esi
call edi
add esi, eax
mov ecx, 0x10
xor eax, eax
lea edi, [esp + 0x5c]
rep stosd dword es:[edi], eax
mov edi, esi
or ecx, 0xffffffff
add esp, 0x1c
lea edx, [esp + 0x40]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x40]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 2
jae 0x10005ace
mov edi, 0x1000f850
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x40]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x184]
push ecx
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
mov ax, word [ebx + 0xd0]
xor edx, edx
mov dword [esp + 0x10], edx
push eax
mov dword [esp + 0x18], edx
mov word [esp + 0x14], 2
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], edx
call dword [sym.imp.WS2_32.dll_htons]
lea ecx, [esp + 0x20]
mov word [esp + 0x12], ax
push ecx
mov ecx, ebx
call fcn.10005f30
mov dl, byte [0x1000f980]
mov dword [esp + 0x14], eax
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x81]
mov byte [esp + 0x80], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [ebx + 0xd0]
cmp eax, 0x50
jne 0x10005b6f
lea eax, [esp + 0x20]
lea ecx, [esp + 0x20]
push eax
lea edx, [esp + 0x44]
push ecx
push edx
lea eax, [esp + 0x8c]
push str.GET__s_HTTP_1.1_r_nHost:__s_r_nUser_Agent:_Mozilla_4.0__compatible__MSIE_5.01__Windows_NT_5.0__MyIE_3.01_Cache_Control:_no_store__must_revalidate_r_nReferer:_http:___s_r_nConnection:_Close_r_n_r_n
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
jmp 0x10005b95
lea ecx, [esp + 0x20]
lea edx, [esp + 0x20]
push ecx
push eax
lea eax, [esp + 0x48]
push edx
push eax
lea ecx, [esp + 0x90]
push str.GET__s_HTTP_1.1_r_nHost:__s:_d_r_nUser_Agent:_Mozilla_4.0__compatible__MSIE_5.01__Windows_NT_5.0__MyIE_3.01_Cache_Control:_no_store__must_revalidate_r_nReferer:_http:___s_r_nConnection:_Close_r_n_r_n
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x18
mov al, byte [ebx + 4]
test al, al
jne 0x10005bf3
mov ebp, dword [sym.imp.WS2_32.dll_socket]
push 6
push 1
push 2
call ebp
lea edx, [esp + 0x10]
mov esi, eax
push 0x10
push edx
push esi
call dword [sym.imp.WS2_32.dll_connect]
lea edi, [esp + 0x80]
or ecx, 0xffffffff
xor eax, eax
push 0
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x84]
push ecx
push eax
push esi
call dword [sym.imp.WS2_32.dll_send]
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
mov al, byte [ebx + 4]
test al, al
je 0x10005ba2
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x304
ret