Function at 0x43a4a0
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:
sub esp, 0xcd8
mov eax, dword [0x4aadb8]
push ebp
push esi
push edi
mov dword [esp + 0xce0], eax
mov ebp, ecx
lea eax, [esp + 0x10]
push eax
push 0x400
lea ecx, [esp + 0x758]
push ecx
mov ecx, dword [esp + 0xcf4]
push 0x100
lea edx, [esp + 0x460]
push edx
push 0x14
lea eax, [esp + 0x54]
push eax
push ecx
mov ecx, ebp
mov dword [esp + 0x3c], ebp
call fcn.0043a380
mov edi, str.HTTP
lea esi, [esp + 0x3c]
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x43a51b
lea eax, [esp + 0xb50]
push eax
push 0x101
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x43a538
pop edi
pop esi
mov eax, 1
pop ebp
mov ecx, dword [esp + 0xcd4]
call fcn.0045f776
add esp, 0xcd8
ret 0x14
push ebx
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov ebx, eax
cmp ebx, 0xffffffff
mov dword [esp + 0x1c], ebx
jne 0x43a55a
mov eax, 1
jmp 0x43aa42
mov ecx, dword [esp + 0x14]
push ecx
mov word [esp + 0x34], 2
call dword [sym.imp.WS2_32.dll_htons]
lea edx, [esp + 0x454]
push edx
mov word [esp + 0x36], ax
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
je 0x43a58a
mov eax, dword [eax + 0xc]
mov ecx, dword [eax]
mov eax, dword [ecx]
push 0x10
lea edx, [esp + 0x34]
push edx
push ebx
mov dword [esp + 0x40], eax
call dword [sym.imp.WS2_32.dll_connect]
test eax, eax
jne 0x43a550
mov al, byte [esp + 0x754]
test al, al
jne 0x43a5c3
push 0x400
push 0x490d94
lea eax, [esp + 0x75c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
mov eax, dword [esp + 0xcf4]
test eax, eax
mov ecx, ebp
jne 0x43a5f1
push str.GET
push ebx
call fcn.0043a350
mov ecx, dword [str.GET]
mov dl, byte [0x490d90]
mov dword [esp + 0x54], ecx
mov byte [esp + 0x58], dl
jmp 0x43a611
push 0x490d84
push ebx
call fcn.0043a350
mov eax, dword [0x490d84]
mov cx, word [0x490d88]
mov dword [esp + 0x54], eax
mov word [esp + 0x58], cx
lea edx, [esp + 0x754]
push edx
push ebx
mov ecx, ebp
call fcn.0043a350
lea eax, [esp + 0x754]
mov edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43a630
lea edi, [esp + 0x54]
sub eax, edx
dec edi
mov edi, edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x43a640
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
push str._HTTP_1.0_r_n
rep movsb byte es:[edi], byte [esi]
push ebx
mov ecx, ebp
call fcn.0043a350
lea edi, [esp + 0x54]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x43a670
mov eax, dword [str._HTTP_1.0_r_n]
mov ecx, dword [0x490d7c]
mov edx, dword [0x490d80]
mov dword [edi], eax
mov dword [edi + 4], ecx
push 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 ecx, ebp
mov dword [edi + 8], edx
call fcn.0043a350
lea edi, [esp + 0x54]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x43a6a3
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 str.Accept_Language:_zh_cn_r_n
rep movsd dword es:[edi], dword [esi]
push ebx
mov ecx, ebp
call fcn.0043a350
lea edi, [esp + 0x54]
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x43a6d0
mov ecx, 6
mov esi, str.Accept_Language:_zh_cn_r_n
rep movsd dword es:[edi], dword [esi]
push str.User_Agent:_Mozilla_4.0_r_n
push ebx
mov ecx, ebp
movsb byte es:[edi], byte [esi]
call fcn.0043a350
lea edi, [esp + 0x54]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x43a6f7
mov eax, dword [esp + 0xcf8]
test eax, eax
mov ecx, 6
mov esi, str.User_Agent:_Mozilla_4.0_r_n
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
je 0x43a76e
push eax
lea ecx, [esp + 0x558]
push str.Content_Length:__ld_r_n
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea edx, [esp + 0x554]
push edx
push ebx
mov ecx, ebp
call fcn.0043a350
lea eax, [esp + 0x554]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43a748
lea edi, [esp + 0x54]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x43a756
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push str.Host:
push ebx
mov ecx, ebp
call fcn.0043a350
lea edi, [esp + 0x54]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x43a780
mov eax, dword [str.Host:]
mov cx, word [0x490c94]
mov dl, byte [0x490c96]
mov dword [edi], eax
lea eax, [esp + 0x454]
mov word [edi + 4], cx
push eax
push ebx
mov ecx, ebp
mov byte [edi + 6], dl
call fcn.0043a350
lea eax, [esp + 0x454]
mov edx, eax
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43a7c0
lea edi, [esp + 0x54]
sub eax, edx
dec edi
mov edi, edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x43a7d0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
push 0x48dae8
rep movsb byte es:[edi], byte [esi]
push ebx
mov ecx, ebp
call fcn.0043a350
lea edi, [esp + 0x54]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x43a800
mov cx, word [0x48dae8]
mov esi, dword [esp + 0xcf0]
test esi, esi
mov dl, byte [0x48daea]
mov word [edi], cx
mov byte [edi + 2], dl
je 0x43a85e
cmp byte [esi], 0
je 0x43a85e
push esi
push ebx
mov ecx, ebp
call fcn.0043a350
mov eax, esi
mov edx, esi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43a838
lea edi, [esp + 0x54]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x43a846
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0x48dae8
push ebx
mov ecx, ebp
call fcn.0043a350
lea edi, [esp + 0x54]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x43a870
mov ax, word [0x48dae8]
mov esi, dword [esp + 0xcf4]
test esi, esi
mov cl, byte [0x48daea]
mov word [edi], ax
mov byte [edi + 2], cl
je 0x43a8d9
mov edi, dword [esp + 0xcf8]
test edi, edi
je 0x43a8d9
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 dl, byte [eax]
inc eax
test dl, dl
jne 0x43a8b3
lea edi, [esp + 0x54]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x43a8c3
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 + 0x54]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43a8e0
sub eax, edx
lea edx, [eax*4]
push edx
call fcn.00461447
mov ecx, dword [esp + 0xd00]
mov dword [ecx], eax
add esp, 4
lea ecx, [esp + 0x54]
mov edx, eax
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x43a908
mov ebx, 0xa
push ebx
call fcn.00461447
mov edi, eax
add esp, 4
xor eax, eax
mov ebp, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], eax
mov edi, edi
mov eax, dword [esp + 0x1c]
push 0
mov esi, 1
push esi
lea edx, [esp + 0x55c]
push edx
push eax
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
jge 0x43a953
mov dword [esp + 0x14], esi
mov al, byte [esp + 0x554]
cmp al, 0xa
je 0x43a968
cmp al, 0xd
je 0x43a97c
inc dword [esp + 0x18]
jmp 0x43a97c
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x43a974
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], 0
mov esi, ebp
sub esi, edi
cmp esi, ebx
mov byte [esp + 0x10], al
jb 0x43a999
add ebx, ebx
push ebx
push edi
call fcn.00462003
mov edi, eax
add esp, 8
lea ebp, [esi + edi]
mov cl, byte [esp + 0x10]
mov eax, dword [esp + 0x14]
mov byte [ebp], cl
inc ebp
test eax, eax
je 0x43a930
mov edx, dword [esp + 0xcfc]
mov eax, dword [esp + 0x20]
mov dword [edx + 4], edi
mov byte [ebp], 0
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x43aa35
lea ecx, [esp + 0x24]
mov ebp, eax
push ecx
mov ecx, ebp
call fcn.0043a2b0
mov edi, dword [sym.imp.WS2_32.dll_recv]
mov ebx, dword [esp + 0x1c]
lea ebx, [ebx]
push 0
push 0x1ff
lea edx, [esp + 0x55c]
push edx
push ebx
call edi
mov esi, eax
test esi, esi
jl 0x43aa19
push esi
lea eax, [esp + 0x558]
push eax
lea ecx, [esp + 0x2c]
push ecx
mov ecx, ebp
mov byte [esp + esi + 0x560], 0
call fcn.0043a2d0
test esi, esi
jg 0x43a9e0
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xcfc]
mov byte [eax], 0
sub eax, ecx
mov dword [edx + 8], ecx
mov dword [edx + 0xc], eax
jmp 0x43aa39
mov ebx, dword [esp + 0x1c]
push ebx
call dword [sym.imp.WS2_32.dll_closesocket]
xor eax, eax
mov ecx, dword [esp + 0xce4]
pop ebx
pop edi
pop esi
pop ebp
call fcn.0045f776
add esp, 0xcd8
ret 0x14