Function at 0x10028810
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
Reference http user-agent string
Send data
Send data on socket
Send http request
Send http request with host header
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10070b72
mov eax, dword fs:[0]
push eax
mov eax, 0x192b0
call fcn.1005c310
mov eax, dword [0x1008a748]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x190c8], 0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x190c4]
call fcn.1000ce30
mov byte [ebp - 4], 1
mov eax, 0x50
mov word [ebp - 0x19014], ax
lea ecx, [ebp - 0x19014]
push ecx
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x19144], esp
lea edx, [ebp + 0xc]
push edx
call fcn.100051e0
mov dword [ebp - 0x19154], eax
lea eax, [ebp - 0x19058]
push eax
call fcn.100285d0
add esp, 0x20
mov dword [ebp - 0x19148], eax
mov byte [ebp - 4], 2
push 0x1007e2af
lea ecx, [ebp - 0x19070]
call fcn.10005270
mov byte [ebp - 4], 3
push 0x1007e2be
lea ecx, [ebp - 0x19058]
push ecx
call fcn.100135d0
add esp, 8
movzx edx, al
test edx, edx
jne 0x100288df
movzx eax, word [ebp - 0x19014]
test eax, eax
jne 0x10028958
mov byte [ebp - 0x190c4], 0
push 0x1007ee34
lea ecx, [ebp - 0x190c0]
call fcn.100117c0
lea ecx, [ebp - 0x190c4]
push ecx
mov ecx, dword [ebp + 8]
call fcn.1000fe90
mov edx, dword [ebp - 0x190c8]
or edx, 1
mov dword [ebp - 0x190c8], edx
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x19070]
call fcn.10005300
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x19058]
call fcn.10005300
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x190c4]
call fcn.1000ed40
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.10005300
mov eax, dword [ebp + 8]
jmp 0x10029290
lea ecx, [ebp - 0x19058]
call fcn.10005380
push eax
call fcn.100296a0
add esp, 4
movzx eax, al
test eax, eax
je 0x1002898a
lea ecx, [ebp - 0x19058]
push ecx
lea ecx, [ebp - 0x19070]
call fcn.10006a80
jmp 0x10028a0b
push 0xc
lea ecx, [ebp - 0x1907c]
call fcn.10008fe0
lea ecx, [ebp - 0x1907c]
call fcn.1000a4c0
mov byte [ebp - 4], 4
lea edx, [ebp - 0x1907c]
push edx
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1914c], esp
lea eax, [ebp - 0x19058]
push eax
call fcn.100051e0
mov dword [ebp - 0x19150], eax
call fcn.10029570
add esp, 0x1c
mov byte [ebp - 0x190d1], al
movzx ecx, byte [ebp - 0x190d1]
test ecx, ecx
je 0x100289fc
push 0
lea ecx, [ebp - 0x1907c]
call fcn.100292d0
push eax
lea ecx, [ebp - 0x19070]
call fcn.10006a80
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1907c]
call fcn.100292b0
push 0x1007e2bf
lea edx, [ebp - 0x19070]
push edx
call fcn.100135d0
add esp, 8
movzx eax, al
test eax, eax
je 0x10028ad1
mov byte [ebp - 0x190c4], 0
push 0x1007ee3c
lea ecx, [ebp - 0x19058]
push ecx
lea edx, [ebp - 0x191e4]
push edx
call fcn.10018270
add esp, 0xc
mov dword [ebp - 0x190f4], eax
mov eax, dword [ebp - 0x190f4]
push eax
lea ecx, [ebp - 0x190c0]
call fcn.10011710
lea ecx, [ebp - 0x191e4]
call fcn.10005300
lea ecx, [ebp - 0x190c4]
push ecx
mov ecx, dword [ebp + 8]
call fcn.1000fe90
mov edx, dword [ebp - 0x190c8]
or edx, 1
mov dword [ebp - 0x190c8], edx
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x19070]
call fcn.10005300
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x19058]
call fcn.10005300
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x190c4]
call fcn.1000ed40
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.10005300
mov eax, dword [ebp + 8]
jmp 0x10029290
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 0x190d0], eax
mov dword [ebp - 0x19018], 0x1388
push 4
lea eax, [ebp - 0x19018]
push eax
push 0x1005
push 0xffff
mov ecx, dword [ebp - 0x190d0]
push ecx
call dword [sym.imp.WS2_32.dll_setsockopt]
push 4
lea edx, [ebp - 0x19018]
push edx
push 0x1006
push 0xffff
mov eax, dword [ebp - 0x190d0]
push eax
call dword [sym.imp.WS2_32.dll_setsockopt]
xor ecx, ecx
mov word [ebp - 0x19040], cx
xor edx, edx
mov dword [ebp - 0x1903e], edx
mov dword [ebp - 0x1903a], edx
mov dword [ebp - 0x19036], edx
mov word [ebp - 0x19032], dx
mov eax, 2
mov word [ebp - 0x19040], ax
movzx ecx, word [ebp - 0x19014]
push ecx
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x1903e], ax
lea ecx, [ebp - 0x19070]
call fcn.10005380
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0x1903c], eax
push 0x10
lea edx, [ebp - 0x19040]
push edx
mov eax, dword [ebp - 0x190d0]
push eax
call dword [sym.imp.WS2_32.dll_connect]
mov dword [ebp - 0x190cc], eax
cmp dword [ebp - 0x190cc], 0
je 0x10028ca2
mov byte [ebp - 0x190c4], 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x192bc]
push ecx
call fcn.10028570
add esp, 8
mov dword [ebp - 0x19114], eax
mov edx, dword [ebp - 0x19114]
mov dword [ebp - 0x1911c], edx
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x1911c]
push eax
push 0x1007ee4c
lea ecx, [ebp - 0x1928c]
push ecx
call fcn.10013600
add esp, 0xc
mov dword [ebp - 0x19124], eax
mov edx, dword [ebp - 0x19124]
push edx
lea ecx, [ebp - 0x190c0]
call fcn.10011710
lea ecx, [ebp - 0x1928c]
call fcn.10005300
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x192bc]
call fcn.10005300
mov eax, dword [ebp - 0x190d0]
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
lea ecx, [ebp - 0x190c4]
push ecx
mov ecx, dword [ebp + 8]
call fcn.1000fe90
mov edx, dword [ebp - 0x190c8]
or edx, 1
mov dword [ebp - 0x190c8], edx
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x19070]
call fcn.10005300
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x19058]
call fcn.10005300
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x190c4]
call fcn.1000ed40
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.10005300
mov eax, dword [ebp + 8]
jmp 0x10029290
push 0x1007e2ce
lea ecx, [ebp - 0x19030]
call fcn.10005270
mov byte [ebp - 4], 6
lea eax, [ebp + 0xc]
push eax
push str.POST
lea ecx, [ebp - 0x191b4]
push ecx
call fcn.10015c90
add esp, 0xc
mov dword [ebp - 0x1912c], eax
mov edx, dword [ebp - 0x1912c]
mov dword [ebp - 0x19134], edx
mov byte [ebp - 4], 7
push str._HTTP_1.1_r_n
mov eax, dword [ebp - 0x19134]
push eax
lea ecx, [ebp - 0x19274]
push ecx
call fcn.10013730
add esp, 0xc
mov dword [ebp - 0x1913c], eax
mov edx, dword [ebp - 0x1913c]
push edx
lea ecx, [ebp - 0x19030]
call fcn.10011710
lea ecx, [ebp - 0x19274]
call fcn.10005300
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x191b4]
call fcn.10005300
lea eax, [ebp - 0x19058]
push eax
push str.Host:
lea ecx, [ebp - 0x1916c]
push ecx
call fcn.10015c90
add esp, 0xc
mov dword [ebp - 0x190e8], eax
mov edx, dword [ebp - 0x190e8]
mov dword [ebp - 0x1910c], edx
mov byte [ebp - 4], 8
push 0x1007ee74
mov eax, dword [ebp - 0x1910c]
push eax
lea ecx, [ebp - 0x19244]
push ecx
call fcn.10013730
add esp, 0xc
mov dword [ebp - 0x19128], eax
mov edx, dword [ebp - 0x19128]
mov dword [ebp - 0x190f0], edx
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x190f0]
push eax
lea ecx, [ebp - 0x19030]
call fcn.10015c70
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x19244]
call fcn.10005300
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1916c]
call fcn.10005300
push str.Connection:Close_r_n
lea ecx, [ebp - 0x19030]
call fcn.10015d50
push str.Keep_Alive:_timeout10_r_n
lea ecx, [ebp - 0x19030]
call fcn.10015d50
mov ecx, dword [ebp + 0x24]
call fcn.100059d0
push eax
lea ecx, [ebp - 0x19184]
push ecx
call fcn.1000cd90
add esp, 8
mov dword [ebp - 0x19118], eax
mov edx, dword [ebp - 0x19118]
mov dword [ebp - 0x190f8], edx
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x190f8]
push eax
push 0x1007eeb4
lea ecx, [ebp - 0x19214]
push ecx
call fcn.10013600
add esp, 0xc
mov dword [ebp - 0x19138], eax
mov edx, dword [ebp - 0x19138]
mov dword [ebp - 0x19100], edx
mov byte [ebp - 4], 0xb
push 0x1007eeb0
mov eax, dword [ebp - 0x19100]
push eax
lea ecx, [ebp - 0x192a4]
push ecx
call fcn.10013730
add esp, 0xc
mov dword [ebp - 0x19120], eax
mov edx, dword [ebp - 0x19120]
mov dword [ebp - 0x19108], edx
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0x19108]
push eax
lea ecx, [ebp - 0x19030]
call fcn.10015c70
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x192a4]
call fcn.10005300
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x19214]
call fcn.10005300
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x19184]
call fcn.10005300
push str.Accept:_text_html_application_xhtmlxml_application_xml_q0.9_image_webp___q0.8_r_n
lea ecx, [ebp - 0x19030]
call fcn.10015d50
push str.User_Agent:_Mozilla_5.0__Windows_NT_6.1__WOW64__AppleWebKit_537.36__KHTML__like_Gecko__Chrome_42.0.2311.90_Safari_537.36_r_n
lea ecx, [ebp - 0x19030]
call fcn.10015d50
push str.Accept_Encoding:deflate_r_n
lea ecx, [ebp - 0x19030]
call fcn.10015d50
push str.Accept_Language:_zh_CN_zh_q0.8_r_n
lea ecx, [ebp - 0x19030]
call fcn.10015d50
push 0x1007efd8
lea ecx, [ebp - 0x19030]
call fcn.10015d50
mov ecx, dword [ebp + 0x24]
push ecx
lea ecx, [ebp - 0x19030]
call fcn.10015c70
lea ecx, [ebp - 0x19030]
call fcn.100059d0
mov dword [ebp - 0x190d8], eax
mov dword [ebp - 0x190cc], 0
mov dword [ebp - 0x190dc], 0
cmp dword [ebp - 0x190d8], 0
jle 0x100290a5
push 0
mov edx, dword [ebp - 0x190d8]
push edx
lea ecx, [ebp - 0x19030]
call fcn.10005380
add eax, dword [ebp - 0x190dc]
push eax
mov eax, dword [ebp - 0x190d0]
push eax
call dword [sym.imp.WS2_32.dll_send]
mov dword [ebp - 0x190cc], eax
mov ecx, dword [ebp - 0x190d8]
sub ecx, dword [ebp - 0x190cc]
mov dword [ebp - 0x190d8], ecx
mov edx, dword [ebp - 0x190dc]
add edx, dword [ebp - 0x190cc]
mov dword [ebp - 0x190dc], edx
cmp dword [ebp - 0x190cc], 0
jg 0x100290a0
mov byte [ebp - 0x190c4], 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x191cc]
push eax
call fcn.10028570
add esp, 8
mov dword [ebp - 0x19130], eax
mov ecx, dword [ebp - 0x19130]
mov dword [ebp - 0x19110], ecx
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0x19110]
push edx
push 0x1007efdc
lea eax, [ebp - 0x1919c]
push eax
call fcn.10013600
add esp, 0xc
mov dword [ebp - 0x190e4], eax
mov ecx, dword [ebp - 0x190e4]
push ecx
lea ecx, [ebp - 0x190c0]
call fcn.10011710
lea ecx, [ebp - 0x1919c]
call fcn.10005300
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x191cc]
call fcn.10005300
mov edx, dword [ebp - 0x190d0]
push edx
call dword [sym.imp.WS2_32.dll_closesocket]
lea eax, [ebp - 0x190c4]
push eax
mov ecx, dword [ebp + 8]
call fcn.1000fe90
mov ecx, dword [ebp - 0x190c8]
or ecx, 1
mov dword [ebp - 0x190c8], ecx
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x19030]
call fcn.10005300
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x19070]
call fcn.10005300
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x19058]
call fcn.10005300
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x190c4]
call fcn.1000ed40
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.10005300
mov eax, dword [ebp + 8]
jmp 0x10029290
jmp 0x10028f36
mov dword [ebp - 0x19140], 0x19000
push 0
push 0x19000
lea edx, [ebp - 0x19010]
push edx
mov eax, dword [ebp - 0x190d0]
push eax
call dword [sym.imp.WS2_32.dll_recv]
mov dword [ebp - 0x190cc], eax
cmp dword [ebp - 0x190cc], 0
jg 0x100291db
mov byte [ebp - 0x190c4], 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x1922c]
push ecx
call fcn.10028570
add esp, 8
mov dword [ebp - 0x190ec], eax
mov edx, dword [ebp - 0x190ec]
mov dword [ebp - 0x190e0], edx
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x190e0]
push eax
push 0x1007effc
lea ecx, [ebp - 0x191fc]
push ecx
call fcn.10013600
add esp, 0xc
mov dword [ebp - 0x190fc], eax
mov edx, dword [ebp - 0x190fc]
push edx
lea ecx, [ebp - 0x190c0]
call fcn.10011710
lea ecx, [ebp - 0x191fc]
call fcn.10005300
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1922c]
call fcn.10005300
mov eax, dword [ebp - 0x190d0]
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
lea ecx, [ebp - 0x190c4]
push ecx
mov ecx, dword [ebp + 8]
call fcn.1000fe90
mov edx, dword [ebp - 0x190c8]
or edx, 1
mov dword [ebp - 0x190c8], edx
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x19030]
call fcn.10005300
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x19070]
call fcn.10005300
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x19058]
call fcn.10005300
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x190c4]
call fcn.1000ed40
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.10005300
mov eax, dword [ebp + 8]
jmp 0x10029290
mov eax, dword [ebp - 0x190cc]
push eax
lea ecx, [ebp - 0x19010]
push ecx
lea ecx, [ebp - 0x1925c]
call fcn.100116d0
mov dword [ebp - 0x19104], eax
mov edx, dword [ebp - 0x19104]
push edx
lea ecx, [ebp - 0x190c0]
call fcn.10011710
lea ecx, [ebp - 0x1925c]
call fcn.10005300
mov eax, dword [ebp - 0x190d0]
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
lea ecx, [ebp - 0x190c4]
push ecx
mov ecx, dword [ebp + 8]
call fcn.1000fe90
mov edx, dword [ebp - 0x190c8]
or edx, 1
mov dword [ebp - 0x190c8], edx
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x19030]
call fcn.10005300
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x19070]
call fcn.10005300
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x19058]
call fcn.10005300
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x190c4]
call fcn.1000ed40
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.10005300
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1003fec6
mov esp, ebp
pop ebp
ret