Function at 0x41ab90
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.004279f0
mov eax, dword [0x44f598]
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.0041aa90
mov ecx, str.HTTP
lea eax, [ebp - 0x18]
lea ecx, [ecx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41ac30
test dl, dl
je 0x41ac2c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41ac30
add eax, 2
add ecx, 2
test dl, dl
jne 0x41ac10
xor eax, eax
jmp 0x41ac35
sbb eax, eax
or eax, 1
test eax, eax
je 0x41ac50
pop edi
mov eax, 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00426314
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 0x41ac39
push ebx
push eax
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x41acc0
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.0041a990
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 0x41acd8
pop ebx
pop edi
mov eax, 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00426314
mov esp, ebp
pop ebp
ret 0x18
cmp byte [ebp - 0xf18], 0
jne 0x41acf8
push 0x400
push 0x4425e4
lea eax, [ebp - 0xf18]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
test esi, esi
jne 0x41ad35
call fcn.00427057
call fcn.00427057
call fcn.00427057
call fcn.00427057
push str.GET
push ebx
mov ecx, edi
call fcn.0041b2e0
mov eax, dword [str.GET]
mov dword [ebp - 0xb18], eax
mov al, byte [0x4425ec]
mov byte [ebp - 0xb14], al
jmp 0x41ad5a
push str.POST
push ebx
mov ecx, edi
call fcn.0041b2e0
mov eax, dword [str.POST]
mov dword [ebp - 0xb18], eax
mov ax, word [0x4425f4]
mov word [ebp - 0xb14], ax
lea eax, [ebp - 0xf18]
push eax
push ebx
mov ecx, edi
call fcn.0041b2e0
lea edx, [ebp - 0xf18]
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x41ad71
lea edi, [ebp - 0xb18]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x41ad81
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.0041b2e0
lea ecx, [ebp - 0xb18]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x41adb1
mov eax, dword [str._HTTP_1.0_r_n]
mov dword [ecx], eax
mov eax, dword [0x4425fc]
mov dword [ecx + 4], eax
mov eax, dword [0x442600]
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.0041b2e0
lea edi, [ebp - 0xb18]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x41ade6
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.0041b2e0
lea edi, [ebp - 0xb18]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x41ae12
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 0x41ae75
call fcn.00427057
call fcn.00427057
call fcn.00427057
call fcn.00427057
mov ecx, dword [ebp - 0x10bc]
push str.Accept_Encoding:_gzip__deflate_r_n
push ebx
call fcn.0041b2e0
lea edi, [ebp - 0xb18]
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x41ae60
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.0041b2e0
lea edi, [ebp - 0xb18]
dec edi
lea ecx, [ecx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x41ae90
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 0x41af06
push eax
lea eax, [ebp - 0x318]
push str.Content_Length:__ld_r_n
push eax
call fcn.0042794d
mov ecx, dword [ebp - 0x10bc]
add esp, 0xc
lea eax, [ebp - 0x318]
push eax
push ebx
call fcn.0041b2e0
lea edx, [ebp - 0x318]
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x41aee0
lea edi, [ebp - 0xb18]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x41aef0
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.0041b2e0
lea ecx, [ebp - 0xb18]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x41af20
mov eax, dword [str.Host:]
mov dword [ecx], eax
mov ax, word [0x442710]
mov word [ecx + 4], ax
mov al, byte [0x442712]
mov byte [ecx + 6], al
lea eax, [ebp - 0x118]
push eax
push ebx
mov ecx, esi
call fcn.0041b2e0
lea edx, [ebp - 0x118]
mov esi, edx
lea ebx, [ebx]
mov al, byte [edx]
inc edx
test al, al
jne 0x41af60
lea edi, [ebp - 0xb18]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x41af70
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 0x442714
push ebx
mov ecx, edi
call fcn.0041b2e0
lea ecx, [ebp - 0xb18]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x41afa0
mov ax, word [0x442714]
mov esi, dword [ebp - 0x10c0]
mov word [ecx], ax
mov al, byte [0x442716]
mov byte [ecx + 2], al
test esi, esi
je 0x41b00d
cmp byte [esi], 0
je 0x41b00d
push esi
push ebx
mov ecx, edi
call fcn.0041b2e0
mov edx, esi
mov al, byte [esi]
inc esi
test al, al
jne 0x41afd5
lea edi, [ebp - 0xb18]
sub esi, edx
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x41afe5
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 0x442714
push ebx
mov ecx, edi
call fcn.0041b2e0
lea ecx, [ebp - 0xb18]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x41b021
mov ax, word [0x442714]
mov esi, dword [ebp - 0x10cc]
mov word [ecx], ax
mov al, byte [0x442716]
mov byte [ecx + 2], al
test esi, esi
je 0x41b09f
mov eax, dword [ebp - 0x10c4]
test eax, eax
je 0x41b09f
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 0x41b067
lea edi, [ebp - 0xb18]
sub esi, edx
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x41b077
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 0x41b0a8
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.00427810
mov ecx, dword [ebp - 0x10c8]
add esp, 4
mov dword [ecx], eax
lea edx, [ebp - 0xb18]
jmp 0x41b0d0
mov cl, byte [edx]
mov byte [eax], cl
lea edx, [edx + 1]
lea eax, [eax + 1]
test cl, cl
jne 0x41b0d0
lea eax, [ebp - 0x10d8]
push eax
mov ecx, edi
call fcn.0041aa30
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 0x41b11d
cmp al, 0xd
je 0x41b124
inc edi
jmp 0x41b124
test edi, edi
cmove esi, ecx
xor edi, edi
mov ecx, dword [ebp - 0x10bc]
push eax
lea eax, [ebp - 0x10d8]
push eax
call fcn.0041aa00
test esi, esi
je 0x41b0f0
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.0041aa30
jmp 0x41b170
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 0x41b1ad
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.0041a9b0
test esi, esi
jg 0x41b170
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.00426314
mov esp, ebp
pop ebp
ret 0x18