Function at 0x10003000
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:
mov eax, 0x2184
call fcn.10003410
push ebx
push ebp
mov ebp, dword [esp + 0x2194]
push esi
push edi
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
movzx ebx, cx
push ebx
push ebp
lea eax, [esp + 0x19c]
push str.CONNECT__s:_d_HTTP_1.1_r_n
push eax
call edi
push ebx
mov esi, eax
push ebp
lea ecx, [esp + esi + 0x1ac]
push str.Host:__s:_d__r_n
push ecx
call edi
add esi, eax
lea edx, [esp + esi + 0x1b4]
push str.Proxy_Connection:_Keep_Alive_r_n
push edx
call edi
add esi, eax
mov eax, dword [esp + 0x21c8]
add esp, 0x28
test eax, eax
je 0x100030d3
cmp byte [eax], 0
je 0x100030d3
push eax
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
mov ebx, dword [sym.imp.KERNEL32.DLL_lstrcatA]
push 0x10004138
lea ecx, [esp + 0x18]
push ecx
call ebx
mov edx, dword [esp + 0x21a4]
push edx
lea eax, [esp + 0x18]
push eax
call ebx
lea ecx, [esp + 0x94]
push ecx
lea edx, [esp + 0x18]
push edx
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.10001720
test eax, eax
je 0x100030e7
lea ecx, [esp + 0x94]
push ecx
lea edx, [esp + esi + 0x198]
push str.Proxy_Authorization:_Basic__s_r_n
push edx
call edi
add esp, 0xc
jmp 0x100030e5
lea eax, [esp + esi + 0x194]
push str.Proxy_Authorization:_Basic__r_n
push eax
call edi
add esp, 8
add esi, eax
lea ecx, [esp + esi + 0x194]
push str.Content_length:_0_r_n_r_n
push ecx
call edi
mov edi, dword [esp + 0x21a0]
add esp, 8
lea edx, [esp + 0x10]
push edx
add esi, eax
mov eax, dword [edi]
push 0x8004667e
push eax
mov dword [esp + 0x1c], 0
call dword [sym.imp.WS2_32.dll_ioctlsocket]
mov edx, dword [edi]
push 0
push esi
lea ecx, [esp + 0x19c]
push ecx
push edx
call dword [sym.imp.WS2_32.dll_send]
test eax, eax
jle 0x100031bc
mov ecx, dword [edi]
mov ebp, dword [sym.imp.WS2_32.dll_recv]
xor esi, esi
push esi
push 0x2000
lea eax, [esp + 0x19c]
push eax
push ecx
call ebp
test eax, eax
jle 0x100031bc
mov bl, 0xa
lea ebx, [ebx]
add esi, eax
mov eax, 4
cmp esi, eax
jl 0x100031a1
lea ecx, [esp + 0x194]
sub ecx, eax
cmp byte [ecx + eax], 0xd
jne 0x10003196
cmp byte [esp + eax + 0x191], bl
jne 0x10003196
cmp byte [esp + eax + 0x192], 0xd
jne 0x10003196
cmp byte [esp + eax + 0x193], bl
je 0x1000319d
inc eax
cmp eax, esi
jle 0x10003174
jmp 0x100031a1
cmp eax, esi
jle 0x100031cc
mov ecx, dword [edi]
push 0
mov edx, 0x2000
sub edx, esi
push edx
lea eax, [esp + 0x19c]
push eax
push ecx
call ebp
test eax, eax
jg 0x10003160
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x2184
ret 0x10
mov esi, 0xd
mov ecx, str.HTTP_1.0_200
lea edx, [esp + 0x194]
lea ecx, [ecx]
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x100031f4
sub esi, 4
add ecx, 4
add edx, 4
cmp esi, 4
jae 0x100031e0
movzx eax, byte [edx]
movzx edi, byte [ecx]
sub eax, edi
jne 0x10003229
cmp esi, 1
jbe 0x10003293
movzx eax, byte [edx + 1]
movzx esi, byte [ecx + 1]
sub eax, esi
jne 0x10003229
movzx eax, byte [edx + 2]
movzx esi, byte [ecx + 2]
sub eax, esi
jne 0x10003229
movzx eax, byte [edx + 3]
movzx ecx, byte [ecx + 3]
sub eax, ecx
sar eax, 0x1f
or eax, 1
je 0x10003293
mov esi, 0xd
mov ecx, str.HTTP_1.1_200
lea edx, [esp + 0x194]
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x10003256
sub esi, 4
add ecx, 4
add edx, 4
cmp esi, 4
jae 0x10003242
movzx eax, byte [edx]
movzx edi, byte [ecx]
sub eax, edi
jne 0x10003287
cmp esi, 1
jbe 0x10003293
movzx eax, byte [edx + 1]
movzx esi, byte [ecx + 1]
sub eax, esi
jne 0x10003287
movzx eax, byte [edx + 2]
movzx esi, byte [ecx + 2]
sub eax, esi
jne 0x10003287
movzx eax, byte [edx + 3]
movzx ecx, byte [ecx + 3]
sub eax, ecx
sar eax, 0x1f
or eax, 1
jne 0x100031bc
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2184
ret 0x10