Function at 0x41cc10
Capabilities:
Connect 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
mov eax, 0x10dc
call fcn.00429040
mov eax, dword [0x452598]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x10bc], edi
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x10c0], ecx
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0x10c4], ecx
mov ecx, dword [ebp + 0x18]
mov dword [ebp - 0x10c8], ecx
lea ecx, [ebp - 0x10dc]
push ecx
push 0x400
lea ecx, [ebp - 0xf18]
push ecx
push 0x100
lea ecx, [ebp - 0x118]
push ecx
push 0x14
lea ecx, [ebp - 0x18]
push ecx
push eax
mov ecx, edi
mov dword [ebp - 0x10cc], esi
call fcn.0041cb10
mov ecx, str.HTTP
lea eax, [ebp - 0x18]
lea ecx, [ecx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41ccb0
test dl, dl
je 0x41ccac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41ccb0
add eax, 2
add ecx, 2
test dl, dl
jne 0x41cc90
xor eax, eax
jmp 0x41ccb5
sbb eax, eax
or eax, 1
test eax, eax
je 0x41ccd0
pop edi
mov eax, 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00428be6
mov esp, ebp
pop ebp
ret 0x18
lea eax, [ebp - 0x10b8]
push eax
push 0x101
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x41ccb9
push ebx
push eax
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x41cd40
push dword [ebp - 0x10dc]
mov eax, 2
mov word [ebp - 0xf28], ax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0xf26], ax
lea eax, [ebp - 0x118]
push eax
mov ecx, edi
call fcn.0041ca10
mov dword [ebp - 0xf24], eax
push 0x10
lea eax, [ebp - 0xf28]
push eax
push ebx
call dword [sym.imp.WS2_32.dll_connect]
test eax, eax
je 0x41cd58
pop ebx
pop edi
mov eax, 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00428be6
mov esp, ebp
pop ebp
ret 0x18
cmp byte [ebp - 0xf18], 0
jne 0x41cd78
push 0x400
push 0x445620
lea eax, [ebp - 0xf18]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
mov ecx, edi
test esi, esi
jne 0x41cda1
push str.GET
push ebx
call fcn.0041d360
mov eax, dword [str.GET]
mov dword [ebp - 0xb18], eax
mov al, byte [0x445628]
mov byte [ebp - 0xb14], al
jmp 0x41cdc4
push str.POST
push ebx
call fcn.0041d360
mov eax, dword [str.POST]
mov dword [ebp - 0xb18], eax
mov ax, word [0x445630]
mov word [ebp - 0xb14], ax
lea eax, [ebp - 0xf18]
push eax
push ebx
mov ecx, edi
call fcn.0041d360
lea edx, [ebp - 0xf18]
mov esi, edx
jmp 0x41cde0
mov al, byte [edx]
inc edx
test al, al
jne 0x41cde0
lea edi, [ebp - 0xb18]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x41cdf0
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0x10bc]
push str._HTTP_1.0_r_n
push ebx
mov ecx, esi
call fcn.0041d360
lea ecx, [ebp - 0xb18]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x41ce20
mov eax, dword [str._HTTP_1.0_r_n]
mov dword [ecx], eax
mov eax, dword [0x445638]
mov dword [ecx + 4], eax
mov eax, dword [0x44563c]
push 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 [ecx + 8], eax
push ebx
mov ecx, esi
call fcn.0041d360
lea edi, [ebp - 0xb18]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x41ce55
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:_en_us_r_n
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x10bc]
push ebx
call fcn.0041d360
lea edi, [ebp - 0xb18]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x41ce81
cmp dword [ebp + 0x1c], 0
mov ecx, 6
mov esi, str.Accept_Language:_en_us_r_n
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
je 0x41cec9
mov ecx, dword [ebp - 0x10bc]
push str.Accept_Encoding:_gzip__deflate_r_n
push ebx
call fcn.0041d360
lea edi, [ebp - 0xb18]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x41ceb4
mov ecx, 8
mov esi, str.Accept_Encoding:_gzip__deflate_r_n
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x10bc]
push str.User_Agent:_Mozilla_4.0_r_n
push ebx
call fcn.0041d360
lea edi, [ebp - 0xb18]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x41cee1
mov eax, dword [ebp - 0x10c4]
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]
test eax, eax
je 0x41cf57
push eax
lea eax, [ebp - 0x318]
push str.Content_Length:__ld_r_n
push eax
call fcn.0042a230
mov ecx, dword [ebp - 0x10bc]
add esp, 0xc
lea eax, [ebp - 0x318]
push eax
push ebx
call fcn.0041d360
lea edx, [ebp - 0x318]
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x41cf31
lea edi, [ebp - 0xb18]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x41cf41
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0x10bc]
push str.Host:
push ebx
mov ecx, esi
call fcn.0041d360
lea ecx, [ebp - 0xb18]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x41cf71
mov eax, dword [str.Host:]
mov dword [ecx], eax
mov ax, word [0x445748]
mov word [ecx + 4], ax
mov al, byte [0x44574a]
mov byte [ecx + 6], al
lea eax, [ebp - 0x118]
push eax
push ebx
mov ecx, esi
call fcn.0041d360
lea edx, [ebp - 0x118]
mov esi, edx
jmp 0x41cfb0
mov al, byte [edx]
inc edx
test al, al
jne 0x41cfb0
lea edi, [ebp - 0xb18]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x41cfc0
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0x10bc]
push 0x44574c
push ebx
mov ecx, edi
call fcn.0041d360
lea ecx, [ebp - 0xb18]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x41cff0
mov ax, word [0x44574c]
mov esi, dword [ebp - 0x10c0]
mov word [ecx], ax
mov al, byte [0x44574e]
mov byte [ecx + 2], al
test esi, esi
je 0x41d088
cmp byte [esi], 0
je 0x41d088
call fcn.0042a098
mov eax, 1
cmp eax, 0xa
jge 0x41d02c
inc eax
jmp 0x41d024
call fcn.0042a098
call fcn.0042a098
call fcn.0042a098
call fcn.0042a098
push esi
push ebx
mov ecx, edi
call fcn.0041d360
mov edx, esi
jmp 0x41d050
mov al, byte [esi]
inc esi
test al, al
jne 0x41d050
lea edi, [ebp - 0xb18]
sub esi, edx
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x41d060
mov ecx, esi
mov dword [ebp - 0x10c0], esi
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x10c0]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0x10bc]
push 0x44574c
push ebx
mov ecx, edi
call fcn.0041d360
lea ecx, [ebp - 0xb18]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x41d0a0
mov ax, word [0x44574c]
mov esi, dword [ebp - 0x10cc]
mov word [ecx], ax
mov al, byte [0x44574e]
mov byte [ecx + 2], al
test esi, esi
je 0x41d11e
mov eax, dword [ebp - 0x10c4]
test eax, eax
je 0x41d11e
push 0
push eax
push esi
push ebx
call dword [sym.imp.WS2_32.dll_send]
mov ecx, dword [ebp - 0x10c4]
mov edx, esi
mov byte [ecx + esi], 0
mov al, byte [esi]
inc esi
test al, al
jne 0x41d0e6
lea edi, [ebp - 0xb18]
sub esi, edx
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x41d0f6
mov ecx, esi
mov dword [ebp - 0x10cc], esi
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x10cc]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0x10bc]
lea ecx, [ebp - 0xb18]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41d127
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0042a0f3
mov ecx, dword [ebp - 0x10c8]
add esp, 4
mov dword [ecx], eax
lea edx, [ebp - 0xb18]
lea ebx, [ebx]
mov cl, byte [edx]
mov byte [eax], cl
lea edx, [edx + 1]
lea eax, [eax + 1]
test cl, cl
jne 0x41d150
lea eax, [ebp - 0x10d8]
push eax
mov ecx, edi
call fcn.0041cab0
xor edi, edi
xor esi, esi
push 0
push 1
lea eax, [ebp - 0x318]
push eax
push ebx
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
mov eax, dword [ebp - 0x318]
mov ecx, 1
cmovs esi, ecx
cmp al, 0xa
je 0x41d19d
cmp al, 0xd
je 0x41d1a4
inc edi
jmp 0x41d1a4
test edi, edi
cmove esi, ecx
xor edi, edi
mov ecx, dword [ebp - 0x10bc]
push eax
lea eax, [ebp - 0x10d8]
push eax
call fcn.0041ca80
test esi, esi
je 0x41d170
mov eax, dword [ebp - 0x10d8]
mov ecx, dword [ebp - 0x10c8]
mov edi, dword [ebp - 0x10bc]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x10d4]
mov ecx, edi
mov byte [eax], 0
lea eax, [ebp - 0x10d8]
push eax
call fcn.0041cab0
jmp 0x41d1f0
push 0
push 0x1ff
lea eax, [ebp - 0x318]
push eax
push ebx
call dword [sym.imp.WS2_32.dll_recv]
mov esi, eax
test esi, esi
js 0x41d22d
push esi
lea eax, [ebp - 0x318]
push eax
lea eax, [ebp - 0x10d8]
push eax
mov ecx, edi
mov byte [ebp + esi - 0x318], 0
call fcn.0041ca30
test esi, esi
jg 0x41d1f0
mov ecx, dword [ebp - 0x10d4]
mov eax, dword [ebp - 0x10d8]
mov edx, dword [ebp - 0x10c8]
mov byte [ecx], 0
sub ecx, eax
push ebx
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
call dword [sym.imp.WS2_32.dll_closesocket]
mov ecx, dword [ebp - 4]
pop ebx
pop edi
xor ecx, ebp
xor eax, eax
pop esi
call fcn.00428be6
mov esp, ebp
pop ebp
ret 0x18