Function at 0x478400
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp 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 ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x504bdb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x821c
call fcn.004f9330
push esi
push edi
lea edi, [ebp - 0x8228]
mov ecx, 0x2087
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov eax, dword [0x55370c]
mov dword [ebp - 0x10], eax
mov word [ebp - 0x1a4], 0
mov ecx, 0x63
xor eax, eax
lea edi, [ebp - 0x1a2]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov dword [ebp - 0x3d4], 0
mov dword [ebp - 0x3d8], 0
mov al, byte [0x51a2f7]
mov byte [ebp - 0x9ec], al
mov ecx, 0x7f
xor eax, eax
lea edi, [ebp - 0x9eb]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov esi, esp
lea ecx, [ebp - 0x8218]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
cmp esi, esp
call fcn.004f90e1
mov dword [ebp - 4], 0
push 0x7800
push 0
lea ecx, [ebp - 0x81f4]
push ecx
call sub.MSVCR71.dll_memset
add esp, 0xc
lea edx, [ebp - 0x1a4]
push edx
push 0x202
call sub.WS2_32.dll_WSAStartup
test eax, eax
je 0x478518
mov esi, esp
push str.WSA_failed_n
call dword [sym.imp.MSVCR71.dll_printf]
add esp, 4
cmp esi, esp
call fcn.004f90e1
mov dword [ebp - 0x8220], 0
mov dword [ebp - 4], 0xffffffff
mov esi, esp
lea ecx, [ebp - 0x8218]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
cmp esi, esp
call fcn.004f90e1
mov eax, dword [ebp - 0x8220]
jmp 0x4787f8
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x3cc]
push ecx
call sub.MSVCR71.dll_strcpy
add esp, 8
lea edx, [ebp - 0x3cc]
mov dword [ebp - 0x3d4], edx
jmp 0x478548
mov eax, dword [ebp - 0x3d4]
add eax, 1
mov dword [ebp - 0x3d4], eax
mov ecx, dword [ebp - 0x3d4]
movsx edx, byte [ecx]
cmp edx, 0x2f
je 0x478565
mov eax, dword [ebp - 0x3d4]
movsx ecx, byte [eax]
test ecx, ecx
je 0x478565
jmp 0x478539
mov esi, dword [ebp - 0x3d4]
lea edx, [ebp - 0x3cc]
sub esi, edx
lea eax, [ebp - 0x3cc]
push eax
call sub.MSVCR71.dll_strlen
add esp, 4
cmp esi, eax
jne 0x47859c
push 0x51a304
lea ecx, [ebp - 0x7e4]
push ecx
call sub.MSVCR71.dll_strcpy
add esp, 8
jmp 0x4785b2
mov edx, dword [ebp - 0x3d4]
push edx
lea eax, [ebp - 0x7e4]
push eax
call sub.MSVCR71.dll_strcpy
add esp, 8
mov ecx, dword [ebp - 0x3d4]
mov byte [ecx], 0
lea edx, [ebp - 0x3cc]
push edx
lea eax, [ebp - 0x5dc]
push eax
call sub.MSVCR71.dll_strcpy
add esp, 8
push 6
push 1
push 2
call sub.WS2_32.dll_socket
mov dword [ebp - 0x1ac], eax
lea ecx, [ebp - 0x5dc]
push ecx
call sub.WS2_32.dll_gethostbyname
mov dword [ebp - 0x1c8], eax
cmp dword [ebp - 0x1c8], 0
jne 0x47862e
mov dword [ebp - 0x8224], 0
mov dword [ebp - 4], 0xffffffff
mov esi, esp
lea ecx, [ebp - 0x8218]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
cmp esi, esp
call fcn.004f90e1
mov eax, dword [ebp - 0x8224]
jmp 0x4787f8
mov word [ebp - 0x1c0], 2
mov edx, dword [ebp - 0x1c8]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax]
mov edx, dword [ecx]
mov dword [ebp - 0x1bc], edx
push 0x50
call sub.WS2_32.dll_htons
mov word [ebp - 0x1be], ax
push str.GET
lea eax, [ebp - 0x9ec]
push eax
call sub.MSVCR71.dll_strcat
add esp, 8
lea ecx, [ebp - 0x7e4]
push ecx
lea edx, [ebp - 0x9ec]
push edx
call sub.MSVCR71.dll_strcat
add esp, 8
push 0x51a310
lea eax, [ebp - 0x9ec]
push eax
call sub.MSVCR71.dll_strcat
add esp, 8
push 0x51a31c
lea ecx, [ebp - 0x9ec]
push ecx
call sub.MSVCR71.dll_strcat
add esp, 8
lea edx, [ebp - 0x5dc]
push edx
lea eax, [ebp - 0x9ec]
push eax
call sub.MSVCR71.dll_strcat
add esp, 8
push 0x51a324
lea ecx, [ebp - 0x9ec]
push ecx
call sub.MSVCR71.dll_strcat
add esp, 8
push 0x10
lea edx, [ebp - 0x1c0]
push edx
mov eax, dword [ebp - 0x1ac]
push eax
call sub.WS2_32.dll_connect
push 0
lea ecx, [ebp - 0x9ec]
push ecx
call sub.MSVCR71.dll_strlen
add esp, 4
push eax
lea edx, [ebp - 0x9ec]
push edx
mov eax, dword [ebp - 0x1ac]
push eax
call sub.WS2_32.dll_send
push 0
push 0x7800
lea ecx, [ebp - 0x81f4]
push ecx
mov edx, dword [ebp - 0x1ac]
push edx
call sub.WS2_32.dll_recv
mov esi, esp
lea eax, [ebp - 0x81f4]
push eax
lea ecx, [ebp - 0x8218]
call dword [sym.imp.MSVCP71.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_const__]
cmp esi, esp
call fcn.004f90e1
push 0x7800
push 0
lea ecx, [ebp - 0x81f4]
push ecx
call sub.MSVCR71.dll_memset
add esp, 0xc
push 0
push 0x7800
lea edx, [ebp - 0x81f4]
push edx
mov eax, dword [ebp - 0x1ac]
push eax
call sub.WS2_32.dll_recv
test eax, eax
jle 0x4787ac
mov esi, esp
lea ecx, [ebp - 0x81f4]
push ecx
lea ecx, [ebp - 0x8218]
call dword [0x510a30]
cmp esi, esp
call fcn.004f90e1
push 0x7800
push 0
lea edx, [ebp - 0x81f4]
push edx
call sub.MSVCR71.dll_memset
add esp, 0xc
jmp 0x47875a
lea eax, [ebp - 0x8218]
push eax
call fcn.00478240
add esp, 4
mov ecx, dword [ebp - 0x1ac]
push ecx
call sub.WS2_32.dll_closesocket
call sub.WS2_32.dll_WSACleanup
mov dword [ebp - 0x8228], 1
mov dword [ebp - 4], 0xffffffff
mov esi, esp
lea ecx, [ebp - 0x8218]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
cmp esi, esp
call fcn.004f90e1
mov eax, dword [ebp - 0x8228]
push edx
mov ecx, ebp
push eax
lea edx, [0x478830]
call fcn.004f9104
pop eax
pop edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
call fcn.004f90d3
pop edi
pop esi
add esp, 0x8228
cmp ebp, esp
call fcn.004f90e1
mov esp, ebp
pop ebp
ret 4