Function at 0x401a00
Capabilities:
Connect socket
Resolve dns
Send data
Send data on socket
Send http request
Send http request with host header

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x29c
mov eax, dword [0x435110]
push ebx
mov ebx, dword [0x4340b8]
mov dword [esp + 0x29c], eax
push esi
push edi
mov eax, 0xffffeb46
sub eax, ebx
push 0x429b08
mov dword [str._r_____r____], eax
call dword [sym.imp.WS2_32.dll_getprotobyname]
movsx ecx, word [eax + 8]
push ecx
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov esi, eax
cmp esi, 0xffffffff
jne 0x401a63
or eax, eax
mov ecx, dword [esp + 0x2a4]
call fcn.0040e7cd
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [0x4340b0]
mov ebx, dword [0x4340b4]
mov eax, dword [str._r_____r____]
sub edx, ebx
lea ecx, [edx + eax + 0xd52]
mov edx, dword [ebp + 8]
push edx
mov dword [0x4340a8], ecx
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
jne 0x401ab0
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
mov eax, 0xfffffffe
mov ecx, dword [esp + 0x2a4]
call fcn.0040e7cd
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [eax + 0xc]
mov ecx, dword [eax]
mov edi, dword [ecx]
mov edx, dword [0x4340b4]
mov ecx, dword [0x4340bc]
mov eax, dword [0x4340c4]
mov ebx, dword [ebp + 0xc]
sub edx, ecx
sub edx, eax
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
add edx, 0x1e45
mov dword [esp + 0x18], eax
push ebx
mov dword [0x4340ac], edx
mov dword [esp + 0x20], eax
mov word [esp + 0x14], 2
call dword [sym.imp.WS2_32.dll_htons]
mov ecx, dword [0x4340ac]
mov word [esp + 0x12], ax
mov eax, dword [0x4340c0]
mov dword [esp + 0x14], edi
mov edi, dword [str._r_____r____]
sub ecx, eax
push 0x10
lea edx, [esp + 0x14]
sub ecx, edi
push edx
add ecx, 0x19b8
push esi
mov dword [0x4340b0], ecx
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
je 0x401c4b
xor eax, eax
cmp ebx, 0x50
mov byte [esp + 0x20], 0
mov ecx, 0x1f
lea edi, [esp + 0x21]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
je 0x401b6f
mov eax, dword [ebp + 8]
push ebx
push eax
lea ecx, [esp + 0x28]
push str.HOST:_s:_d
push ecx
call fcn.0040e497
add esp, 0x10
jmp 0x401b85
mov edx, dword [ebp + 8]
push edx
lea eax, [esp + 0x24]
push str.HOST:_s
push eax
call fcn.0040e497
add esp, 0xc
mov ecx, dword [0x4340a8]
mov edi, dword [0x4340b0]
mov edx, dword [0x4340bc]
sub ecx, edi
lea eax, [edx + ecx - 0x3845]
mov edx, dword [ebp + 0x10]
lea ecx, [esp + 0x20]
push ecx
push edx
mov dword [0x4340bc], eax
mov eax, dword [ebp + 8]
push eax
lea ecx, [esp + 0xac]
push str.GET_http:___s_s_HTTP_1.1_r_nAccept_Language:zh_cn_r_nAccept_Encoding:_gzip__deflate_r_nUser_Agent:_Mozilla_4.0__compatible__MSIE_6.0__Windows_NT_5.1__SV1__.NET_CLR_1.1.4322__.NET_CLR_2.0.50727__r_n_s_r_nConnection:_Keep_Alive_r_n_r_n
push ecx
call fcn.0040e497
mov edx, dword [0x4340bc]
mov eax, dword [0x4340c8]
mov ecx, dword [0x4340ac]
add esp, 0x14
add eax, edx
lea edx, [eax + ecx - 0x13ee]
lea eax, [esp + 0xa0]
mov dword [0x4340c0], edx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x401bf1
push 0
sub eax, edx
push eax
lea eax, [esp + 0xa8]
push eax
push esi
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
push esi
jne 0x401c30
call dword [sym.imp.WS2_32.dll_closesocket]
mov eax, 0xfffffffd
mov ecx, dword [esp + 0x2a4]
call fcn.0040e7cd
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call dword [sym.imp.WS2_32.dll_closesocket]
xor eax, eax
mov ecx, dword [esp + 0x2a4]
call fcn.0040e7cd
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x4340ac]
mov ebx, dword [0x4340c0]
mov edi, dword [0x4340a8]
sub ecx, ebx
sub ecx, edi
sub ecx, 0x184b
push esi
mov dword [0x4340c4], ecx
call dword [sym.imp.WS2_32.dll_closesocket]
mov ecx, dword [esp + 0x2a4]
mov eax, 0xfffffffc
call fcn.0040e7cd
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret