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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x418b58
mov eax, dword fs:[0]
push eax
mov eax, 0xd318
call fcn.00414d60
mov eax, dword [0x4202f8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xd31c], ecx
mov dword [ebp - 4], 0
lea eax, [ebp - 0x24]
push eax
push 0x400
lea ecx, [ebp - 0xad4]
push ecx
push pe_nt_image_headers32
lea edx, [ebp - 0x6bc]
push edx
push 0x14
lea eax, [ebp - 0x6d0]
push eax
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xd304], esp
lea edx, [ebp + 8]
push edx
call fcn.004021f0
mov dword [ebp - 0xd320], eax
mov ecx, dword [ebp - 0xd31c]
call fcn.004174d0
push str.HTTP
lea eax, [ebp - 0x6d0]
push eax
call fcn.00408e90
add esp, 8
test eax, eax
je 0x417702
mov dword [ebp - 0xd308], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.00401350
mov eax, dword [ebp - 0xd308]
jmp 0x417ce3
lea ecx, [ebp - 0x1b4]
push ecx
push 0x101
call dword [sym.imp.WS2_32.dll_WSAStartup]
mov dword [ebp - 0xae0], eax
cmp dword [ebp - 0xae0], 0
je 0x417747
mov dword [ebp - 0xd30c], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.00401350
mov eax, dword [ebp - 0xd30c]
jmp 0x417ce3
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 0x1b8], eax
cmp dword [ebp - 0x1b8], 0xffffffff
jne 0x417786
mov dword [ebp - 0xd310], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.00401350
mov eax, dword [ebp - 0xd310]
jmp 0x417ce3
mov word [ebp - 0x20], 2
mov dx, word [ebp - 0x24]
push edx
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x1e], ax
lea eax, [ebp - 0x6bc]
push eax
mov ecx, dword [ebp - 0xd31c]
call fcn.004172f0
mov dword [ebp - 0x1c], eax
push 0x10
lea ecx, [ebp - 0x20]
push ecx
mov edx, dword [ebp - 0x1b8]
push edx
call dword [sym.imp.WS2_32.dll_connect]
test eax, eax
je 0x4177eb
mov dword [ebp - 0xd314], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.00401350
mov eax, dword [ebp - 0xd314]
jmp 0x417ce3
movsx eax, byte [ebp - 0xad4]
test eax, eax
jne 0x41780d
push 0x400
push 0x41d960
lea ecx, [ebp - 0xad4]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
cmp dword [ebp + 0x28], 0
jne 0x417840
push 0x41d964
mov edx, dword [ebp - 0x1b8]
push edx
mov ecx, dword [ebp - 0xd31c]
call fcn.004172c0
push str.GET
lea eax, [ebp - 0x5bc]
push eax
call fcn.00407980
add esp, 8
jmp 0x41786b
push 0x41d974
mov ecx, dword [ebp - 0x1b8]
push ecx
mov ecx, dword [ebp - 0xd31c]
call fcn.004172c0
push str.POST
lea edx, [ebp - 0x5bc]
push edx
call fcn.00407980
add esp, 8
lea eax, [ebp - 0xad4]
push eax
mov ecx, dword [ebp - 0x1b8]
push ecx
mov ecx, dword [ebp - 0xd31c]
call fcn.004172c0
lea edx, [ebp - 0xad4]
push edx
lea eax, [ebp - 0x5bc]
push eax
call fcn.00407990
add esp, 8
push 0x41d984
mov ecx, dword [ebp - 0x1b8]
push ecx
mov ecx, dword [ebp - 0xd31c]
call fcn.004172c0
push str._HTTP_1.0_r_n
lea edx, [ebp - 0x5bc]
push edx
call fcn.00407990
add esp, 8
push 0x41d9b8
mov eax, dword [ebp - 0x1b8]
push eax
mov ecx, dword [ebp - 0xd31c]
call fcn.004172c0
push str.Accept:_image_gif__image_x_xbitmap__image_jpeg__image_pjpeg__application_vnd.ms_excel__application_msword__application_vnd.ms_powerpoint____r_n
lea ecx, [ebp - 0x5bc]
push ecx
call fcn.00407990
add esp, 8
push 0x41d99c
mov edx, dword [ebp - 0x1b8]
push edx
mov ecx, dword [ebp - 0xd31c]
call fcn.004172c0
push str.Accept_Language:_en_us_r_n
lea eax, [ebp - 0x5bc]
push eax
call fcn.00407990
add esp, 8
push 0x41daf4
mov ecx, dword [ebp - 0x1b8]
push ecx
mov ecx, dword [ebp - 0xd31c]
call fcn.004172c0
push str.Accept_Encoding:_gzip__default_r_n
lea edx, [ebp - 0x5bc]
push edx
call fcn.00407990
add esp, 8
push 0x41db3c
mov eax, dword [ebp - 0x1b8]
push eax
mov ecx, dword [ebp - 0xd31c]
call fcn.004172c0
push str.User_Agent:_Neeao_4.0_r_n
lea ecx, [ebp - 0x5bc]
push ecx
call fcn.00407990
add esp, 8
cmp dword [ebp + 0x2c], 0
je 0x4179be
mov edx, dword [ebp + 0x2c]
push edx
push str.Content_Length:__ld_r_n
lea eax, [ebp - 0xd2f4]
push eax
call fcn.00407ba2
add esp, 0xc
lea ecx, [ebp - 0xd2f4]
push ecx
mov edx, dword [ebp - 0x1b8]
push edx
mov ecx, dword [ebp - 0xd31c]
call fcn.004172c0
lea eax, [ebp - 0xd2f4]
push eax
lea ecx, [ebp - 0x5bc]
push ecx
call fcn.00407990
add esp, 8
push 0x41db84
mov edx, dword [ebp - 0x1b8]
push edx
mov ecx, dword [ebp - 0xd31c]
call fcn.004172c0
push str.Host:
lea eax, [ebp - 0x5bc]
push eax
call fcn.00407990
add esp, 8
lea ecx, [ebp - 0x6bc]
push ecx
mov edx, dword [ebp - 0x1b8]
push edx
mov ecx, dword [ebp - 0xd31c]
call fcn.004172c0
lea eax, [ebp - 0x6bc]
push eax
lea ecx, [ebp - 0x5bc]
push ecx
call fcn.00407990
add esp, 8
push 0x41db94
mov edx, dword [ebp - 0x1b8]
push edx
mov ecx, dword [ebp - 0xd31c]
call fcn.004172c0
push 0x41db98
lea eax, [ebp - 0x5bc]
push eax
call fcn.00407990
add esp, 8
cmp dword [ebp + 0x24], 0
je 0x417a7c
mov ecx, dword [ebp + 0x24]
movsx edx, byte [ecx]
test edx, edx
je 0x417a7c
mov eax, dword [ebp + 0x24]
push eax
mov ecx, dword [ebp - 0x1b8]
push ecx
mov ecx, dword [ebp - 0xd31c]
call fcn.004172c0
mov edx, dword [ebp + 0x24]
push edx
lea eax, [ebp - 0x5bc]
push eax
call fcn.00407990
add esp, 8
push 0x41db9c
mov ecx, dword [ebp - 0x1b8]
push ecx
mov ecx, dword [ebp - 0xd31c]
call fcn.004172c0
push 0x41dba0
lea edx, [ebp - 0x5bc]
push edx
call fcn.00407990
add esp, 8
cmp dword [ebp + 0x28], 0
je 0x417ae6
cmp dword [ebp + 0x2c], 0
je 0x417ae6
push 0
mov eax, dword [ebp + 0x2c]
push eax
mov ecx, dword [ebp + 0x28]
push ecx
mov edx, dword [ebp - 0x1b8]
push edx
call dword [sym.imp.WS2_32.dll_send]
mov eax, dword [ebp + 0x28]
add eax, dword [ebp + 0x2c]
mov byte [eax], 0
mov ecx, dword [ebp + 0x28]
push ecx
lea edx, [ebp - 0x5bc]
push edx
call fcn.00407990
add esp, 8
lea eax, [ebp - 0x5bc]
push eax
call fcn.004070b0
add esp, 4
shl eax, 2
push eax
call fcn.00408518
add esp, 4
mov ecx, dword [ebp + 0x30]
mov dword [ecx], eax
lea edx, [ebp - 0x5bc]
push edx
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax]
push ecx
call fcn.00407980
add esp, 8
lea edx, [ebp - 0xaec]
push edx
mov ecx, dword [ebp - 0xd31c]
call fcn.00417390
mov dword [ebp - 0xaf0], 0
mov dword [ebp - 0xad8], 0
cmp dword [ebp - 0xad8], 0
jne 0x417bed
push 0
push 1
lea eax, [ebp - 0xd2f4]
push eax
mov ecx, dword [ebp - 0x1b8]
push ecx
call dword [sym.imp.WS2_32.dll_recv]
mov dword [ebp - 0xadc], eax
cmp dword [ebp - 0xadc], 0
jge 0x417b7f
mov dword [ebp - 0xad8], 1
mov dl, byte [ebp - 0xd2f4]
mov byte [ebp - 0xd324], dl
cmp byte [ebp - 0xd324], 0xa
je 0x417ba1
cmp byte [ebp - 0xd324], 0xd
je 0x417b9f
jmp 0x417bc0
jmp 0x417bcf
cmp dword [ebp - 0xaf0], 0
jne 0x417bb4
mov dword [ebp - 0xad8], 1
mov dword [ebp - 0xaf0], 0
jmp 0x417bcf
mov eax, dword [ebp - 0xaf0]
add eax, 1
mov dword [ebp - 0xaf0], eax
mov cl, byte [ebp - 0xd2f4]
push ecx
lea edx, [ebp - 0xaec]
push edx
mov ecx, dword [ebp - 0xd31c]
call fcn.00417480
jmp 0x417b41
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp - 0xaec]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0xae8]
mov byte [edx], 0
lea eax, [ebp - 0xd300]
push eax
mov ecx, dword [ebp - 0xd31c]
call fcn.00417390
push 0
push 0xc7ff
lea ecx, [ebp - 0xd2f4]
push ecx
mov edx, dword [ebp - 0x1b8]
push edx
call dword [sym.imp.WS2_32.dll_recv]
mov dword [ebp - 0xadc], eax
cmp dword [ebp - 0xadc], 0
jge 0x417c40
jmp 0x417c77
mov eax, dword [ebp - 0xadc]
mov byte [ebp + eax - 0xd2f4], 0
mov ecx, dword [ebp - 0xadc]
push ecx
lea edx, [ebp - 0xd2f4]
push edx
lea eax, [ebp - 0xd300]
push eax
mov ecx, dword [ebp - 0xd31c]
call fcn.00417420
cmp dword [ebp - 0xadc], 0
jg 0x417c14
mov ecx, dword [ebp - 0xd2fc]
mov byte [ecx], 0
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp - 0xd300]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xd2fc]
sub ecx, dword [ebp - 0xd300]
mov edx, dword [ebp + 0x30]
mov dword [edx + 0xc], ecx
mov eax, dword [ebp - 0xd300]
push eax
mov ecx, dword [ebp - 0xd31c]
add ecx, 4
push ecx
call fcn.00407980
add esp, 8
mov edx, dword [ebp - 0x1b8]
push edx
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [ebp - 0xd318], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.00401350
mov eax, dword [ebp - 0xd318]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00406ffd
mov esp, ebp
pop ebp
ret 0x2c