Function at 0x425950
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
Resolve dns
Send data
Send data on socket
Send http request
Send http request with host header

Disassembly:
push 0xffffffffffffffff
push 0x471438
mov eax, dword fs:[0]
push eax
sub esp, 0xce8
mov eax, dword [0x4878d4]
xor eax, esp
mov dword [esp + 0xce0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4878d4]
xor eax, esp
push eax
lea eax, [esp + 0xcfc]
mov dword fs:[0], eax
mov eax, dword [esp + 0xd2c]
mov ebp, dword [esp + 0xd28]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x24], edx
push 0x400
push pe_nt_image_headers32
lea eax, [esp + 0x7fc]
push eax
push 0x14
lea ecx, [esp + 0x1f0]
push ecx
sub esp, 0x1c
xor ebx, ebx
mov ecx, esp
mov dword [esp + 0xd34], ebx
mov dword [esp + 0x5c], esp
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0xd44]
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push edx
lea esi, [esp + 0x68]
lea edi, [esp + 0x930]
mov byte [ecx + 4], bl
call fcn.004049d0
mov edx, esi
mov ecx, edi
call fcn.00425800
mov ecx, str.HTTP
lea eax, [esp + 0x1e0]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x425a30
test dl, dl
je 0x425a2c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x425a30
add eax, 2
add ecx, 2
test dl, dl
jne 0x425a10
xor eax, eax
jmp 0x425a35
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x425a5d
cmp dword [esp + 0xd24], 0x10
jb 0x425a53
mov eax, dword [esp + 0xd10]
push eax
call fcn.004599df
add esp, 4
mov eax, 1
jmp 0x42600e
lea ecx, [esp + 0x4c]
push ecx
push 0x101
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x425a95
cmp dword [esp + 0xd24], 0x10
jb 0x425a53
mov edx, dword [esp + 0xd10]
push edx
call fcn.004599df
add esp, 4
mov eax, 1
jmp 0x42600e
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov ebx, eax
mov dword [esp + 0x28], ebx
cmp ebx, 0xffffffff
je 0x425a39
mov edx, dword [esp + 0x2c]
mov ecx, 2
push edx
mov word [esp + 0x40], cx
call dword [sym.imp.WS2_32.dll_htons]
mov word [esp + 0x3e], ax
lea eax, [esp + 0x7f4]
push eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
je 0x425adf
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx]
mov eax, dword [edx]
mov dword [esp + 0x40], eax
push 0x10
lea eax, [esp + 0x40]
push eax
push ebx
call dword [sym.imp.WS2_32.dll_connect]
test eax, eax
je 0x425b0b
lea ecx, [esp + 0xd0c]
call fcn.00404740
mov eax, 1
jmp 0x42600e
cmp byte [esp + 0x8f4], 0
jne 0x425b2d
push 0x400
push 0x47dd58
lea ecx, [esp + 0x8fc]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
cmp dword [esp + 0x20], 0
push ebx
jne 0x425b5a
mov edx, str.GET
call fcn.004257d0
mov edx, dword [str.GET]
mov al, byte [0x47dd60]
mov dword [esp + 0x1f4], edx
mov byte [esp + 0x1f8], al
jmp 0x425b80
mov edx, str.POST
call fcn.004257d0
mov ecx, dword [str.POST]
mov dx, word [0x47dd68]
mov dword [esp + 0x1f4], ecx
mov word [esp + 0x1f8], dx
push ebx
lea edx, [esp + 0x8f8]
call fcn.004257d0
lea eax, [esp + 0x8f4]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x425b96
lea edi, [esp + 0x1f4]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x425ba7
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
push ebx
mov edx, str._HTTP_1.0_r_n
rep movsb byte es:[edi], byte [esi]
call fcn.004257d0
lea eax, [esp + 0x1f4]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x425bd2
mov ecx, dword [str._HTTP_1.0_r_n]
mov edx, dword [0x47dd70]
mov dword [eax], ecx
mov ecx, dword [0x47dd74]
mov dword [eax + 4], edx
push ebx
mov edx, str.Accept:_image_gif__image_x_xbitmap__image_jpeg__image_pjpeg__application_vnd.ms_excel__application_msword__application_vnd.ms_powerpoint____r_n
mov dword [eax + 8], ecx
call fcn.004257d0
lea edi, [esp + 0x1f4]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x425c07
mov ecx, 0x24
mov esi, str.Accept:_image_gif__image_x_xbitmap__image_jpeg__image_pjpeg__application_vnd.ms_excel__application_msword__application_vnd.ms_powerpoint____r_n
push ebx
mov edx, str.Accept_Language:_zh_cn_r_n
rep movsd dword es:[edi], dword [esi]
call fcn.004257d0
lea edi, [esp + 0x1f4]
dec edi
mov edi, edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x425c30
mov ecx, 6
mov esi, str.Accept_Language:_zh_cn_r_n
rep movsd dword es:[edi], dword [esi]
push ebx
mov edx, str.Accept_Encoding:_gzip__default_r_n
movsb byte es:[edi], byte [esi]
call fcn.004257d0
lea edi, [esp + 0x1f4]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x425c58
mov ecx, 8
mov esi, str.Accept_Encoding:_gzip__default_r_n
rep movsd dword es:[edi], dword [esi]
push ebx
mov edx, str.Referer:_printf_fuck_you_or_me_r_n
movsb byte es:[edi], byte [esi]
call fcn.004257d0
lea edi, [esp + 0x1f4]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x425c80
mov ecx, 8
mov esi, str.Referer:_printf_fuck_you_or_me_r_n
rep movsd dword es:[edi], dword [esi]
push ebx
mov edx, str.User_Agent:_TTKVOD_SOFT_AGENT_r_n
movsb byte es:[edi], byte [esi]
call fcn.004257d0
lea edi, [esp + 0x1f4]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x425ca8
cmp dword [esp + 0x18], 0
mov ecx, 8
mov esi, str.User_Agent:_TTKVOD_SOFT_AGENT_r_n
rep movsd dword es:[edi], dword [esi]
je 0x425d1a
mov edx, dword [esp + 0x18]
push edx
lea eax, [esp + 0x5f8]
push str.Content_Length:__ld_r_n
push eax
call fcn.0045a60e
add esp, 0xc
push ebx
lea edx, [esp + 0x5f8]
call fcn.004257d0
lea eax, [esp + 0x5f4]
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x425cf3
lea edi, [esp + 0x1f4]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x425d04
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push ebx
mov edx, str.Host:
call fcn.004257d0
lea eax, [esp + 0x1f4]
dec eax
lea ecx, [ecx]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x425d30
mov ecx, dword [str.Host:]
mov dx, word [0x47dea8]
mov dword [eax], ecx
mov cl, byte [0x47deaa]
mov word [eax + 4], dx
push ebx
lea edx, [esp + 0x7f8]
mov byte [eax + 6], cl
call fcn.004257d0
lea eax, [esp + 0x7f4]
mov esi, eax
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x425d70
lea edi, [esp + 0x1f4]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x425d81
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
push ebx
mov edx, 0x47cef4
rep movsb byte es:[edi], byte [esi]
call fcn.004257d0
lea eax, [esp + 0x1f4]
dec eax
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x425db0
mov dx, word [0x47cef4]
mov cl, byte [0x47cef6]
mov word [eax], dx
mov byte [eax + 2], cl
test ebp, ebp
je 0x425e08
cmp byte [ebp], 0
je 0x425e08
push ebx
mov edx, ebp
call fcn.004257d0
mov eax, ebp
mov esi, ebp
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x425de1
lea edi, [esp + 0x1f4]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x425df2
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push ebx
mov edx, 0x47cef4
call fcn.004257d0
lea eax, [esp + 0x1f4]
dec eax
jmp 0x425e20
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x425e20
mov dx, word [0x47cef4]
mov esi, dword [esp + 0x20]
mov cl, byte [0x47cef6]
mov word [eax], dx
mov byte [eax + 2], cl
test esi, esi
je 0x425e87
mov edi, dword [esp + 0x18]
test edi, edi
je 0x425e87
push 0
push edi
push esi
push ebx
call dword [sym.imp.WS2_32.dll_send]
mov eax, esi
mov byte [esi + edi], 0
mov ecx, eax
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x425e60
lea edi, [esp + 0x1f4]
sub eax, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x425e71
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [esp + 0x1f4]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x425e91
sub eax, edx
lea edx, [eax*4]
push edx
call fcn.0045a39d
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
add esp, 4
lea ecx, [esp + 0x1f4]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x425ec0
mov ebp, 0xa
push ebp
call fcn.0045a39d
mov ebx, eax
add esp, 4
xor eax, eax
mov edi, ebx
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], eax
jmp 0x425ef0
mov eax, dword [esp + 0x28]
push 0
mov esi, 1
push esi
lea edx, [esp + 0x5fc]
push edx
push eax
call dword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
jne 0x425f28
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push 0x47deac
call fcn.0045bdbe
add esp, 8
mov dword [esp + 0x20], esi
mov al, byte [esp + 0x5f4]
cmp al, 0xa
je 0x425f3d
cmp al, 0xd
je 0x425f50
add dword [esp + 0x18], esi
jmp 0x425f50
cmp dword [esp + 0x18], 0
jne 0x425f48
mov dword [esp + 0x20], esi
mov dword [esp + 0x18], 0
mov esi, edi
sub esi, ebx
mov byte [esp + 0x1c], al
cmp esi, ebp
jb 0x425f6d
add ebp, ebp
push ebp
push ebx
call fcn.0045bad2
mov ebx, eax
add esp, 8
lea edi, [esi + ebx]
mov cl, byte [esp + 0x1c]
mov byte [edi], cl
inc edi
cmp dword [esp + 0x20], 0
je 0x425ef0
mov edx, dword [esp + 0x24]
mov dword [edx + 4], ebx
push 0xa
mov byte [edi], 0
mov dword [esp + 0x3c], 0xa
call fcn.0045a39d
mov ebp, dword [esp + 0x2c]
add esp, 4
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
push 0
push 0x1ff
lea eax, [esp + 0x5fc]
push eax
push ebp
call dword [sym.imp.WS2_32.dll_recv]
mov edi, eax
test edi, edi
jl 0x425fe2
lea ecx, [esp + 0x5f4]
push ecx
mov ebx, edi
lea esi, [esp + 0x34]
mov byte [esp + edi + 0x5f8], 0
call fcn.00425770
test edi, edi
jg 0x425fa7
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x24]
mov byte [eax], 0
sub eax, ecx
push ebp
mov dword [edx + 8], ecx
mov dword [edx + 0xc], eax
call dword [sym.imp.WS2_32.dll_closesocket]
lea ecx, [esp + 0xd0c]
call fcn.00404740
xor eax, eax
mov ecx, dword [esp + 0xcfc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xce0]
xor ecx, esp
call fcn.004599ea
add esp, 0xcf4
ret 0x24