Function at 0x10001f20
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Create tcp 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:
push 0xffffffffffffffff
push 0x10002d42
mov eax, dword fs:[0]
push eax
sub esp, 0x224
mov eax, dword [0x1000401c]
xor eax, esp
mov dword [esp + 0x220], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1000401c]
xor eax, esp
push eax
lea eax, [esp + 0x238]
mov dword fs:[0], eax
lea eax, [esp + 0x24]
push eax
push 0x202
mov dword [esp + 0x248], 1
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x10001f87
mov byte [esp + 0x240], 0
jmp 0x100020f9
mov eax, dword [esp + 0x24c]
mov edi, 0x10
cmp dword [esp + 0x260], edi
jae 0x10001fa3
lea eax, [esp + 0x24c]
push eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
mov esi, eax
xor ebx, ebx
cmp esi, ebx
je 0x100020f2
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
push 0x50
mov ebp, eax
call dword [sym.imp.WS2_32.dll_htons]
mov word [esp + 0x16], ax
mov ecx, 2
mov word [esp + 0x14], cx
mov edx, dword [esi + 0xc]
mov eax, dword [edx]
mov ecx, dword [eax]
push edi
lea edx, [esp + 0x18]
push edx
push ebp
mov dword [esp + 0x24], ecx
call dword [sym.imp.WS2_32.dll_connect]
test eax, eax
jne 0x100020f2
mov ecx, dword [esp + 0x24c]
cmp dword [esp + 0x260], edi
jae 0x10002012
lea ecx, [esp + 0x24c]
mov eax, dword [esp + 0x268]
cmp dword [esp + 0x27c], edi
jae 0x10002029
lea eax, [esp + 0x268]
push ecx
push eax
push str.GET__s_HTTP_1.1_r_nHost:__s_r_nConnection:_close_r_n_r_n
lea eax, [esp + 0x1c0]
push 0x80
push eax
call dword [sym.imp.MSVCR90.dll_sprintf_s]
lea eax, [esp + 0x1c8]
add esp, 0x14
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x10002050
sub eax, edx
mov edx, eax
lea eax, [esp + 0x1b4]
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x10002065
push ebx
push edx
lea ecx, [esp + 0x1bc]
push ecx
sub eax, esi
push ebp
mov esi, eax
call dword [sym.imp.WS2_32.dll_send]
cmp eax, esi
jne 0x100020f2
push 0x2710
push ebx
push 0x10004458
call sub.MSVCR90.dll_memset
mov edi, dword [sym.imp.WS2_32.dll_recv]
add esp, 0xc
push ebx
push 0x2710
push 0x10004458
push ebp
call edi
cmp eax, ebx
jle 0x100020e5
mov esi, 0x10004458
movzx eax, byte [esi]
cmp al, 0x20
jge 0x100020c4
cmp al, 0xa
je 0x100020c4
cmp al, 0xd
jne 0x100020d3
push eax
mov ecx, 0x10006b8c
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_]
inc esi
jmp 0x100020b5
push ebx
push 0x2710
push 0x10004458
push ebp
call edi
cmp eax, ebx
jg 0x100020b0
push ebp
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov byte [esp + 0x240], bl
lea ecx, [esp + 0x248]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x264]
mov dword [esp + 0x240], 0xffffffff
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov ecx, dword [esp + 0x238]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x220]
xor ecx, esp
call fcn.10002375
add esp, 0x230
ret