Function at 0x401070
Capabilities:
Connect socket
Connect udp socket
Create udp socket
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 0xffffffffffffffff
push 0x41d6ff
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x2174
call fcn.004044e0
push ebp
push esi
push edi
mov dword [esp + 0x20], 0
mov edi, 1
push 0x425e50
lea ecx, [esp + 0x18]
mov dword [esp + 0x2190], edi
call fcn.0041777e
mov eax, dword [0x4237c4]
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x3a]
lea ecx, [esp + 0x1c]
push eax
lea edx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x21a0]
lea eax, [esp + 0x38]
push edx
push eax
push ecx
mov byte [esp + 0x21a0], 4
call fcn.0041c454
test eax, eax
jne 0x40110b
mov esi, dword [esp + 0x2194]
push 0x425e50
mov ecx, esi
call fcn.0041777e
mov dword [esp + 0x20], edi
jmp 0x40123a
lea edx, [esp + 0x50]
mov dword [esp + 0x34], 0x7530
push edx
push 0x101
call sub.WSOCK32.dll_WSAStartup
test eax, eax
je 0x40113c
mov esi, dword [esp + 0x2194]
push edi
push 0xffffffffffffffff
mov ecx, esi
call fcn.00416afe
jmp 0x401236
push 0
push edi
push 2
call sub.WSOCK32.dll_socket
mov ebp, eax
lea eax, [esp + 0x34]
push 4
push eax
push 0x1006
push 0xffff
push ebp
call sub.WSOCK32.dll_setsockopt
cmp ebp, 0xffffffff
jne 0x401179
mov esi, dword [esp + 0x2194]
push edi
push ebp
mov ecx, esi
call fcn.00416afe
jmp 0x401236
mov ecx, dword [esp + 0x10]
push ecx
call sub.WSOCK32.dll_gethostbyname
mov esi, eax
test esi, esi
jne 0x4011ee
mov esi, dword [esp + 0x2194]
push 0x425e50
mov ecx, esi
call fcn.0041777e
lea ecx, [esp + 0x1c]
mov dword [esp + 0x20], edi
mov byte [esp + 0x218c], 3
call fcn.00417710
lea ecx, [esp + 0x10]
mov byte [esp + 0x218c], 2
call fcn.00417710
lea ecx, [esp + 0x14]
mov byte [esp + 0x218c], 1
call fcn.00417710
lea ecx, [esp + 0x2198]
mov byte [esp + 0x218c], 0
call fcn.00417710
mov eax, esi
jmp 0x40159d
push 0x50
mov word [esp + 0x44], 2
call sub.WSOCK32.dll_htons
mov word [esp + 0x42], ax
mov edx, dword [esi + 0xc]
push 0x10
mov eax, dword [edx]
lea edx, [esp + 0x44]
push edx
push ebp
mov ecx, dword [eax]
mov dword [esp + 0x50], ecx
call sub.WSOCK32.dll_connect
cmp eax, 0xffffffff
jne 0x401288
call sub.WSOCK32.dll_WSACleanup
mov esi, dword [esp + 0x2194]
push 0x425e50
mov ecx, esi
call fcn.0041777e
mov dword [esp + 0x20], edi
lea ecx, [esp + 0x1c]
mov byte [esp + 0x218c], 3
call fcn.00417710
lea ecx, [esp + 0x10]
mov byte [esp + 0x218c], 2
call fcn.00417710
lea ecx, [esp + 0x14]
mov byte [esp + 0x218c], 1
call fcn.00417710
lea ecx, [esp + 0x2198]
mov byte [esp + 0x218c], 0
call fcn.00417710
mov eax, esi
jmp 0x40159d
mov eax, dword [0x4237c4]
push ebx
mov dword [esp + 0x10], eax
push str.GET
lea ecx, [esp + 0x14]
mov byte [esp + 0x2194], 5
call fcn.0041784d
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x14]
call fcn.00417a27
push str._HTTP_1.0_r_n
lea ecx, [esp + 0x14]
call fcn.004179eb
push str.Accept:___r_n
lea ecx, [esp + 0x14]
call fcn.004179eb
push str.Accept_Language:_zh_cn_r_n
lea ecx, [esp + 0x14]
call fcn.004179eb
push str.User_Agent:_Mozilla_4.0__compatible__MSIE_5.01__Windows_NT_5.0__r_n
lea ecx, [esp + 0x14]
call fcn.004179eb
push str.Host:
lea ecx, [esp + 0x14]
call fcn.004179eb
lea edx, [esp + 0x14]
lea ecx, [esp + 0x10]
push edx
call fcn.00417a27
push 0x4230fc
lea ecx, [esp + 0x14]
call fcn.004179eb
push str.Connection:_Keep_Alive_r_n
lea ecx, [esp + 0x14]
call fcn.004179eb
push 0x4230fc
lea ecx, [esp + 0x14]
call fcn.004179eb
mov eax, dword [esp + 0x10]
push 0
mov ecx, dword [eax - 8]
push ecx
push eax
push ebp
call sub.WSOCK32.dll_send
push 0x425e50
lea ecx, [esp + 0x20]
call fcn.0041777e
mov eax, dword [0x4237c4]
xor bl, bl
mov dword [esp + 0x28], 0
mov dword [esp + 0x30], eax
push 0
lea ecx, [esp + 0x1e8]
push 0x1f9f
push ecx
push ebp
mov byte [esp + 0x21a0], 7
call sub.WSOCK32.dll_recv
mov esi, eax
test esi, esi
jle 0x4014fe
mov edi, dword [esp + 0x34]
test bl, bl
mov byte [esp + esi + 0x1e4], 0
je 0x4013b7
lea edx, [esp + 0x1e4]
lea ecx, [esp + 0x18]
push edx
call fcn.004179eb
add dword [esp + 0x28], esi
jmp 0x4014d4
lea eax, [esp + 0x1e4]
lea ecx, [esp + 0x1c]
push eax
call fcn.0041784d
mov ecx, dword [esp + 0x1c]
push str.200_OK_r_n
mov ebx, dword [ecx - 8]
lea ecx, [esp + 0x20]
call fcn.00416c26
cmp eax, 0xffffffff
jne 0x4013f0
push str.404_Object_Not_Found_r_n
lea ecx, [esp + 0x20]
call fcn.00416c26
push str.Content_Length:
lea ecx, [esp + 0x20]
call fcn.00416c26
xor edi, edi
cmp eax, 0xffffffff
je 0x401475
mov edx, dword [0x4237c4]
lea edi, [eax + 0x10]
mov dword [esp + 0x2c], edx
push 0x425e50
lea ecx, [esp + 0x30]
mov byte [esp + 0x2194], 8
call fcn.0041784d
cmp edi, ebx
jge 0x401452
mov eax, dword [esp + 0x1c]
mov al, byte [edi + eax]
cmp al, 0xd
je 0x401452
cmp al, 0xa
je 0x401452
mov byte [esp + 0x40], al
mov ecx, dword [esp + 0x40]
push ecx
lea ecx, [esp + 0x30]
call fcn.00417a12
inc edi
cmp edi, ebx
jl 0x40142c
mov edx, dword [esp + 0x2c]
push edx
call fcn.004041e9
add esp, 4
lea ecx, [esp + 0x2c]
mov edi, eax
mov dword [esp + 0x2190], 7
call fcn.00417710
push str._r_n_r_n
lea ecx, [esp + 0x20]
call fcn.00416c26
cmp eax, 0xffffffff
je 0x4014a6
lea ecx, [eax + 4]
cmp ecx, esi
jge 0x4014a6
mov bl, byte [esp + ecx + 0x1e4]
mov edx, ecx
sub edx, eax
inc ecx
cmp ecx, esi
mov byte [esp + edx + 0x1e0], bl
jl 0x40148f
mov ecx, 0xfffffffc
lea edx, [esp + 0x1e4]
sub ecx, eax
push edx
add esi, ecx
lea ecx, [esp + 0x1c]
mov byte [esp + esi + 0x1e8], 0
call fcn.004179eb
mov eax, dword [esp + 0x28]
mov bl, 1
add eax, esi
mov dword [esp + 0x28], eax
cmp dword [esp + 0x28], edi
je 0x4014f9
push 0
lea eax, [esp + 0x1e8]
push 0x1f9f
push eax
push ebp
call sub.WSOCK32.dll_recv
mov esi, eax
test esi, esi
jg 0x401391
mov edi, 1
push ebp
call sub.WSOCK32.dll_closesocket
call sub.WSOCK32.dll_WSACleanup
mov esi, dword [esp + 0x2198]
lea ecx, [esp + 0x18]
push ecx
mov ecx, esi
call fcn.00417485
lea ecx, [esp + 0x30]
mov dword [esp + 0x24], edi
mov byte [esp + 0x2190], 6
call fcn.00417710
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2190], 5
call fcn.00417710
lea ecx, [esp + 0x10]
mov byte [esp + 0x2190], 4
call fcn.00417710
lea ecx, [esp + 0x20]
mov byte [esp + 0x2190], 3
call fcn.00417710
lea ecx, [esp + 0x14]
mov byte [esp + 0x2190], 2
call fcn.00417710
lea ecx, [esp + 0x18]
mov byte [esp + 0x2190], 1
call fcn.00417710
lea ecx, [esp + 0x219c]
mov byte [esp + 0x2190], 0
call fcn.00417710
mov eax, esi
pop ebx
mov ecx, dword [esp + 0x2184]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
add esp, 0x2184
ret