Function at 0x4018f0
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
mov eax, dword fs:[0]
push 0x41d86f
push eax
mov eax, 0x257c
mov dword fs:[0], esp
call fcn.004044e0
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x1c], 0
mov ebx, 1
mov dword [esp + 0x2594], ebx
mov eax, dword [0x4237c4]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
lea eax, [esp + 0x46]
lea ecx, [esp + 0x18]
push eax
lea edx, [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x25a8]
lea eax, [esp + 0x50]
push edx
push eax
push ecx
mov byte [esp + 0x25a8], 6
call fcn.0041c454
test eax, eax
jne 0x40197d
mov esi, dword [esp + 0x259c]
push str.No_correct_URL_
mov ecx, esi
call fcn.0041777e
mov dword [esp + 0x1c], ebx
jmp 0x401f21
lea edx, [esp + 0x5c]
mov dword [esp + 0x40], 0x1388
push edx
push 0x101
call sub.WSOCK32.dll_WSAStartup
test eax, eax
je 0x4019b4
mov esi, dword [esp + 0x259c]
push 0x425e50
mov ecx, esi
call fcn.0041777e
mov dword [esp + 0x1c], ebx
jmp 0x401f21
push 0
push ebx
push 2
call sub.WSOCK32.dll_socket
mov esi, eax
lea eax, [esp + 0x40]
push 4
push eax
push 0x1006
push 0xffff
push esi
call sub.WSOCK32.dll_setsockopt
cmp esi, 0xffffffff
jne 0x4019f8
mov esi, dword [esp + 0x259c]
push 0x425e50
mov ecx, esi
call fcn.0041777e
mov dword [esp + 0x1c], ebx
jmp 0x401f21
mov ecx, dword [esp + 0x14]
push ecx
call sub.WSOCK32.dll_gethostbyname
mov edi, eax
test edi, edi
jne 0x401a24
mov esi, dword [esp + 0x259c]
push 0x425e50
mov ecx, esi
call fcn.0041777e
mov dword [esp + 0x1c], ebx
jmp 0x401f21
push 0x50
mov word [esp + 0x50], 2
call sub.WSOCK32.dll_htons
mov word [esp + 0x4e], ax
mov edx, dword [edi + 0xc]
push 0x10
mov eax, dword [edx]
lea edx, [esp + 0x50]
push edx
push esi
mov ecx, dword [eax]
mov dword [esp + 0x5c], ecx
call sub.WSOCK32.dll_connect
cmp eax, 0xffffffff
jne 0x401a75
call sub.WSOCK32.dll_WSACleanup
mov esi, dword [esp + 0x259c]
push 0x425e50
mov ecx, esi
call fcn.0041777e
mov dword [esp + 0x1c], ebx
jmp 0x401f21
mov eax, dword [0x4237c4]
mov dword [esp + 0x10], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x2c], eax
mov bl, 0xb
push str._____________________________7d53e81e0190_r_n
lea ecx, [esp + 0x14]
mov byte [esp + 0x2598], bl
call fcn.0041784d
push str.Content_Disposition:_form_data__name_username__r_n_r_n
lea ecx, [esp + 0x14]
call fcn.004179eb
lea eax, [esp + 0x25a8]
lea ecx, [esp + 0x10]
push eax
lea edx, [esp + 0x28]
push ecx
push edx
call fcn.004178b2
push 0x4230fc
push eax
lea eax, [esp + 0x30]
mov byte [esp + 0x259c], 0xc
push eax
call fcn.00417918
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x2598], 0xd
call fcn.004177fd
lea ecx, [esp + 0x28]
mov byte [esp + 0x2594], 0xc
call fcn.00417710
lea ecx, [esp + 0x24]
mov byte [esp + 0x2594], bl
call fcn.00417710
push str._____________________________7d53e81e0190_r_n
lea ecx, [esp + 0x14]
call fcn.004179eb
push str.Content_Disposition:_form_data__name_hostname__r_n_r_n
lea ecx, [esp + 0x14]
call fcn.004179eb
lea ecx, [esp + 0x25ac]
lea edx, [esp + 0x10]
push ecx
lea eax, [esp + 0x2c]
push edx
push eax
call fcn.004178b2
push 0x4230fc
lea ecx, [esp + 0x28]
push eax
push ecx
mov byte [esp + 0x25a0], 0xe
call fcn.00417918
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x2598], 0xf
call fcn.004177fd
lea ecx, [esp + 0x24]
mov byte [esp + 0x2594], 0xe
call fcn.00417710
lea ecx, [esp + 0x28]
mov byte [esp + 0x2594], bl
call fcn.00417710
push str._____________________________7d53e81e0190_r_n
lea ecx, [esp + 0x14]
call fcn.004179eb
lea edx, [esp + 0x10]
push str.Content_Disposition:_form_data__name_jpgdata___filename_
push edx
lea eax, [esp + 0x44]
push eax
call fcn.00417918
lea ecx, [esp + 0x25a4]
lea edx, [esp + 0x28]
push ecx
push eax
push edx
mov byte [esp + 0x25a0], 0x10
call fcn.004178b2
push 0x4232bc
push eax
lea eax, [esp + 0x2c]
mov byte [esp + 0x259c], 0x11
push eax
call fcn.00417918
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x2598], 0x12
call fcn.004177fd
lea ecx, [esp + 0x24]
mov byte [esp + 0x2594], 0x11
call fcn.00417710
lea ecx, [esp + 0x28]
mov byte [esp + 0x2594], 0x10
call fcn.00417710
lea ecx, [esp + 0x3c]
mov byte [esp + 0x2594], bl
call fcn.00417710
push str.Content_Type:_image_jpeg_r_n_r_n
lea ecx, [esp + 0x14]
call fcn.004179eb
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x24]
call fcn.004177fd
push str._r_n_____________________________7d53e81e0190___r_n
lea ecx, [esp + 0x30]
call fcn.0041784d
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x2c]
push ecx
mov ebp, dword [edx - 8]
mov edi, dword [eax - 8]
lea edx, [esp + 0x25a8]
mov ecx, esp
mov dword [esp + 0x40], esp
push edx
call fcn.00417485
call fcn.00401850
add esp, 4
add edi, eax
lea ecx, [esp + 0x10]
add edi, ebp
push str.POST
call fcn.0041784d
lea eax, [esp + 0x18]
lea ecx, [esp + 0x10]
push eax
call fcn.00417a27
push str._HTTP_1.1_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.Content_Type:_multipart_form_data__boundary___________________________7d53e81e0190_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 ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x14]
call fcn.00417a27
push 0x4230fc
lea ecx, [esp + 0x14]
call fcn.004179eb
push edi
lea edx, [esp + 0x38]
push str.Content_Length:__d_r_n
push edx
call fcn.00416f67
add esp, 0xc
lea eax, [esp + 0x34]
lea ecx, [esp + 0x10]
push eax
call fcn.00417a27
push str.Connection:_Keep_Alive_r_n
lea ecx, [esp + 0x14]
call fcn.004179eb
push str.Cache_Control:_no_cache_r_n
lea ecx, [esp + 0x14]
call fcn.004179eb
push 0x4230fc
lea ecx, [esp + 0x14]
call fcn.004179eb
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x34]
call fcn.004177fd
mov eax, dword [esp + 0x30]
push 0
mov ecx, dword [eax - 8]
push ecx
push eax
push esi
call sub.WSOCK32.dll_send
mov eax, dword [esp + 0x20]
push 0
mov ecx, dword [eax - 8]
push ecx
push eax
push esi
call sub.WSOCK32.dll_send
mov edx, dword [esp + 0x25a4]
push 0x4231c8
push edx
call fcn.00404815
mov edi, eax
add esp, 8
test edi, edi
jne 0x401dd2
push eax
push eax
push 0x4231ac
call fcn.0041c087
mov esi, dword [esp + 0x259c]
push 0x425e50
mov ecx, esi
call fcn.0041777e
mov dword [esp + 0x1c], 1
jmp 0x401ecc
push edi
push 0x400
lea eax, [esp + 0x1f4]
push 1
push eax
call fcn.004046cd
add esp, 0x10
test eax, eax
jle 0x401e1b
push 0
lea ecx, [esp + 0x1f0]
push eax
push ecx
push esi
call sub.WSOCK32.dll_send
push edi
push 0x400
lea edx, [esp + 0x1f4]
push 1
push edx
call fcn.004046cd
add esp, 0x10
test eax, eax
jg 0x401dee
push edi
call fcn.00404650
mov eax, dword [esp + 0x30]
add esp, 4
mov ecx, dword [eax - 8]
push 0
push ecx
push eax
push esi
call sub.WSOCK32.dll_send
push 0x425e50
lea ecx, [esp + 0x3c]
call fcn.0041777e
push 0
lea eax, [esp + 0x5f0]
push 0x1f9f
push eax
push esi
mov byte [esp + 0x25a4], 0x13
call sub.WSOCK32.dll_recv
test eax, eax
jle 0x401e96
lea ecx, [esp + 0x5ec]
mov byte [esp + eax + 0x5ec], 0
push ecx
lea ecx, [esp + 0x3c]
call fcn.004179eb
push 0
lea edx, [esp + 0x5f0]
push 0x1f9f
push edx
push esi
call sub.WSOCK32.dll_recv
test eax, eax
jg 0x401e64
push esi
call sub.WSOCK32.dll_closesocket
call sub.WSOCK32.dll_WSACleanup
mov esi, dword [esp + 0x259c]
lea eax, [esp + 0x38]
push eax
mov ecx, esi
call fcn.00417485
lea ecx, [esp + 0x38]
mov dword [esp + 0x1c], 1
mov byte [esp + 0x2594], bl
call fcn.00417710
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2594], 0xa
call fcn.00417710
lea ecx, [esp + 0x20]
mov byte [esp + 0x2594], 9
call fcn.00417710
lea ecx, [esp + 0x30]
mov byte [esp + 0x2594], 8
call fcn.00417710
lea ecx, [esp + 0x34]
mov byte [esp + 0x2594], 7
call fcn.00417710
lea ecx, [esp + 0x10]
mov byte [esp + 0x2594], 6
call fcn.00417710
lea ecx, [esp + 0x18]
mov byte [esp + 0x2594], 5
call fcn.00417710
lea ecx, [esp + 0x14]
mov byte [esp + 0x2594], 4
call fcn.00417710
lea ecx, [esp + 0x25a0]
mov byte [esp + 0x2594], 3
call fcn.00417710
lea ecx, [esp + 0x25a4]
mov byte [esp + 0x2594], 2
call fcn.00417710
lea ecx, [esp + 0x25a8]
mov byte [esp + 0x2594], 1
call fcn.00417710
lea ecx, [esp + 0x25ac]
mov byte [esp + 0x2594], 0
call fcn.00417710
mov ecx, dword [esp + 0x258c]
mov eax, esi
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x2588
ret