Function at 0x10003890
Capabilities:
Receive data
Receive data on socket
Send data
Send data on socket
Send http request
Send http request with host header
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2184
call fcn.10001150
push ebx
push esi
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x2184]
push edi
movzx edi, word [ebp + 0xc]
push edi
push esi
push str.CONNECT__s:_d_HTTP_1.1_r_n
push eax
mov dword [ebp - 4], ecx
call dword [sym.imp.USER32.dll_wsprintfA]
push edi
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
lea ecx, [ebp - 0x2184]
mov ebx, eax
push esi
add ecx, ebx
push str.Host:__s:_d__r_n
push ecx
call edi
add ebx, eax
lea eax, [ebp - 0x2184]
add eax, ebx
push str.Proxy_Connection:_Keep_Alive_r_n
push eax
call edi
add ebx, eax
add esp, 0x28
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x1000396b
cmp byte [eax], 0
je 0x1000396b
push eax
lea eax, [ebp - 0x84]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
mov esi, dword [sym.imp.KERNEL32.DLL_lstrcatA]
lea eax, [ebp - 0x84]
push 0x1000412c
push eax
call esi
push dword [ebp + 0x14]
lea eax, [ebp - 0x84]
push eax
call esi
push ecx
lea eax, [ebp - 0x184]
push eax
lea eax, [ebp - 0x84]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
mov edx, eax
lea ecx, [ebp - 0x84]
call fcn.10001ab0
test eax, eax
je 0x10003980
lea eax, [ebp - 0x184]
push eax
lea eax, [ebp - 0x2184]
add eax, ebx
push str.Proxy_Authorization:_Basic__s_r_n
push eax
call edi
add esp, 0xc
jmp 0x1000397e
lea eax, [ebp - 0x2184]
add eax, ebx
push str.Proxy_Authorization:_Basic__r_n
push eax
call edi
add esp, 8
add ebx, eax
lea eax, [ebp - 0x2184]
add eax, ebx
push str.Content_length:_0_r_n_r_n
push eax
call edi
mov edi, dword [ebp - 4]
add esp, 8
add ebx, eax
mov dword [ebp + 0xc], 0
lea eax, [ebp + 0xc]
push eax
push 0x8004667e
push dword [edi]
call dword [sym.imp.WS2_32.dll_ioctlsocket]
push 0
push ebx
lea eax, [ebp - 0x2184]
push eax
push dword [edi]
call dword [sym.imp.WS2_32.dll_send]
test eax, eax
jle 0x10003a3d
mov ebx, dword [sym.imp.WS2_32.dll_recv]
lea eax, [ebp - 0x2184]
xor esi, esi
push esi
push 0x2000
push eax
push dword [edi]
call ebx
test eax, eax
jle 0x10003a3d
add esi, eax
mov eax, 4
cmp esi, eax
jl 0x10003a24
lea ecx, [ebp - 0x2184]
cmp byte [ecx + eax - 4], 0xd
jne 0x10003a19
cmp byte [ebp + eax - 0x2187], 0xa
jne 0x10003a19
cmp byte [ebp + eax - 0x2186], 0xd
jne 0x10003a19
cmp byte [ebp + eax - 0x2185], 0xa
je 0x10003a20
inc eax
cmp eax, esi
jle 0x100039f4
jmp 0x10003a24
cmp eax, esi
jle 0x10003a49
push 0
mov eax, 0x2000
sub eax, esi
push eax
lea eax, [ebp - 0x2184]
push eax
push dword [edi]
call ebx
test eax, eax
jg 0x100039e3
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret 0x10
lea ecx, [ebp - 0x2184]
mov edx, str.HTTP_1.0_200
mov esi, 9
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x10003a77
add ecx, 4
add edx, 4
sub esi, 4
jae 0x10003a60
mov al, byte [ecx]
cmp al, byte [edx]
je 0x10003a9e
lea ecx, [ebp - 0x2184]
mov edx, str.HTTP_1.1_200
mov esi, 9
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x10003a3d
add ecx, 4
add edx, 4
sub esi, 4
jae 0x10003a87
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x10003a3d
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x10