Function at 0x4d71d0
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create raw socket
Create tcp socket
Create udp socket
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 0x50bff5
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x5110
call fcn.004f9330
push esi
push edi
push ecx
lea edi, [ebp - 0x511c]
mov ecx, 0x1444
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
pop ecx
mov eax, dword [0x55370c]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], ecx
mov esi, esp
lea ecx, [ebp - 0x54]
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
mov esi, esp
lea ecx, [ebp - 0x78]
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 byte [ebp - 4], 1
mov esi, esp
lea ecx, [ebp - 0x9c]
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 byte [ebp - 4], 2
mov esi, esp
push 0
push 0x5257a0
mov ecx, dword [ebp - 0x14]
call dword [sym.imp.MSVCP71.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_char_const___unsigned_int_const]
cmp esi, esp
call fcn.004f90e1
mov ecx, dword [sym.imp.MSVCP71.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
cmp eax, dword [ecx]
jne 0x4d72db
mov dword [ebp - 0x50b4], 0
mov byte [ebp - 4], 1
mov esi, esp
lea ecx, [ebp - 0x9c]
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 byte [ebp - 4], 0
mov esi, esp
lea ecx, [ebp - 0x78]
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 dword [ebp - 4], 0xffffffff
mov esi, esp
lea ecx, [ebp - 0x54]
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 - 0x50b4]
jmp 0x4d7943
mov esi, esp
push 0
push 0x5257a4
mov ecx, dword [ebp - 0x14]
call dword [sym.imp.MSVCP71.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_char_const___unsigned_int_const]
cmp esi, esp
call fcn.004f90e1
mov esi, esp
push eax
push 0
lea edx, [ebp - 0x50d0]
push edx
mov ecx, dword [ebp - 0x14]
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__::substr_unsigned_int__unsigned_int_]
cmp esi, esp
call fcn.004f90e1
mov dword [ebp - 0x5110], eax
mov eax, dword [ebp - 0x5110]
mov dword [ebp - 0x5114], eax
mov byte [ebp - 4], 3
mov esi, esp
mov ecx, dword [ebp - 0x5114]
push ecx
lea ecx, [ebp - 0x54]
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_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
cmp esi, esp
call fcn.004f90e1
mov byte [ebp - 4], 2
mov esi, esp
lea ecx, [ebp - 0x50d0]
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 esi, esp
mov ecx, dword [ebp - 0x14]
call dword [sym.imp.MSVCP71.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::length_void_const]
cmp esi, esp
call fcn.004f90e1
mov esi, eax
mov edi, esp
push 0
push 0x5257a8
mov ecx, dword [ebp - 0x14]
call dword [sym.imp.MSVCP71.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_char_const___unsigned_int_const]
cmp edi, esp
call fcn.004f90e1
sub esi, eax
mov edi, esp
push esi
mov esi, esp
push 0
push 0x5257ac
mov ecx, dword [ebp - 0x14]
call dword [sym.imp.MSVCP71.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_char_const___unsigned_int_const]
cmp esi, esp
call fcn.004f90e1
push eax
lea edx, [ebp - 0x50ec]
push edx
mov ecx, dword [ebp - 0x14]
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__::substr_unsigned_int__unsigned_int_]
cmp edi, esp
call fcn.004f90e1
mov dword [ebp - 0x5118], eax
mov eax, dword [ebp - 0x5118]
mov dword [ebp - 0x511c], eax
mov byte [ebp - 4], 4
mov esi, esp
mov ecx, dword [ebp - 0x511c]
push ecx
lea ecx, [ebp - 0x78]
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_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
cmp esi, esp
call fcn.004f90e1
mov byte [ebp - 4], 2
mov esi, esp
lea ecx, [ebp - 0x50ec]
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 esi, esp
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
cmp esi, esp
call fcn.004f90e1
mov dword [ebp - 0x18], eax
mov esi, esp
lea ecx, [ebp - 0x54]
call dword [sym.imp.MSVCP71.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
cmp esi, esp
call fcn.004f90e1
mov esi, esp
push eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
cmp esi, esp
call fcn.004f90e1
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
jne 0x4d74a3
mov dword [ebp - 0x50f0], 0
mov byte [ebp - 4], 1
mov esi, esp
lea ecx, [ebp - 0x9c]
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 byte [ebp - 4], 0
mov esi, esp
lea ecx, [ebp - 0x78]
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 dword [ebp - 4], 0xffffffff
mov esi, esp
lea ecx, [ebp - 0x54]
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 - 0x50f0]
jmp 0x4d7943
mov word [ebp - 0x2c], 2
mov edx, dword [ebp - 0x34]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax]
mov edx, dword [ecx]
mov dword [ebp - 0x28], edx
mov esi, esp
push 0x50
call dword [sym.imp.WS2_32.dll_htons]
cmp esi, esp
call fcn.004f90e1
mov word [ebp - 0x2a], ax
mov esi, esp
push 0x5257b0
lea ecx, [ebp - 0x9c]
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
mov esi, esp
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x9c]
call dword [0x510a40]
cmp esi, esp
call fcn.004f90e1
mov esi, esp
push str._HTTP_1.1_r_n
lea ecx, [ebp - 0x9c]
call dword [0x510a30]
cmp esi, esp
call fcn.004f90e1
mov esi, esp
push str.Accept:_image_gif__image_x_xbitmap__image_jpeg__image_pjpeg__application_x_shockwave_flash__application_msword__application_vnd.ms_excel__application_vnd.ms_powerpoint__application_x_ms_application__application_x_ms_xbap__application_vnd.ms_xpsdocument__application_xamlxml____r_n
lea ecx, [ebp - 0x9c]
call dword [0x510a30]
cmp esi, esp
call fcn.004f90e1
mov esi, esp
push str.Accept_Language:_zh_cn_r_n
lea ecx, [ebp - 0x9c]
call dword [0x510a30]
cmp esi, esp
call fcn.004f90e1
mov esi, esp
push str.UA_CPU:_x86_r_n
lea ecx, [ebp - 0x9c]
call dword [0x510a30]
cmp esi, esp
call fcn.004f90e1
mov esi, esp
push str.User_Agent:_Mozilla_4.0__compatible__MSIE_7.0__Windows_NT_5.1__Mozilla_4.0__compatible__MSIE_6.0__Windows_NT_5.1__SV1____.NET_CLR_2.0.50727__.NET_CLR_1.1.4322__.NET_CLR_3.0.04506.648__.NET_CLR_3.5.21022__r_n
lea ecx, [ebp - 0x9c]
call dword [0x510a30]
cmp esi, esp
call fcn.004f90e1
mov esi, esp
push str.HOST:
lea ecx, [ebp - 0x9c]
call dword [0x510a30]
cmp esi, esp
call fcn.004f90e1
mov esi, esp
lea ecx, [ebp - 0x54]
push ecx
lea ecx, [ebp - 0x9c]
call dword [0x510a40]
cmp esi, esp
call fcn.004f90e1
mov esi, esp
push str._r_nConnection:_Close_r_n_r_n
lea ecx, [ebp - 0x9c]
call dword [0x510a30]
cmp esi, esp
call fcn.004f90e1
mov esi, esp
push 0x10
lea edx, [ebp - 0x2c]
push edx
mov eax, dword [ebp - 0x18]
push eax
call dword [sym.imp.WS2_32.dll_connect]
cmp esi, esp
call fcn.004f90e1
test eax, eax
je 0x4d7647
mov dword [ebp - 0x50f4], 0
mov byte [ebp - 4], 1
mov esi, esp
lea ecx, [ebp - 0x9c]
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 byte [ebp - 4], 0
mov esi, esp
lea ecx, [ebp - 0x78]
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 dword [ebp - 4], 0xffffffff
mov esi, esp
lea ecx, [ebp - 0x54]
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 - 0x50f4]
jmp 0x4d7943
push 0x5000
push 0
lea ecx, [ebp - 0x50a4]
push ecx
call sub.MSVCR71.dll_memset
add esp, 0xc
mov esi, esp
push 0
mov edi, esp
lea ecx, [ebp - 0x9c]
call dword [sym.imp.MSVCP71.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::length_void_const]
cmp edi, esp
call fcn.004f90e1
push eax
mov edi, esp
lea ecx, [ebp - 0x9c]
call dword [sym.imp.MSVCP71.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
cmp edi, esp
call fcn.004f90e1
push eax
mov edx, dword [ebp - 0x18]
push edx
call dword [sym.imp.WS2_32.dll_send]
cmp esi, esp
call fcn.004f90e1
mov esi, esp
push 0
push 0x5000
lea eax, [ebp - 0x50a4]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
call dword [sym.imp.WS2_32.dll_recv]
cmp esi, esp
call fcn.004f90e1
test eax, eax
jle 0x4d76f7
mov esi, esp
lea edx, [ebp - 0x50a4]
push edx
mov ecx, dword [ebp - 0x14]
add ecx, 0x1c
call dword [0x510a30]
cmp esi, esp
call fcn.004f90e1
push 0x5000
push 0
lea eax, [ebp - 0x50a4]
push eax
call sub.MSVCR71.dll_memset
add esp, 0xc
jmp 0x4d769e
mov ecx, dword [ebp - 0x14]
add ecx, 0x1c
mov esi, esp
call dword [sym.imp.MSVCP71.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::length_void_const]
cmp esi, esp
call fcn.004f90e1
test eax, eax
jne 0x4d776d
mov dword [ebp - 0x50f8], 0
mov byte [ebp - 4], 1
mov esi, esp
lea ecx, [ebp - 0x9c]
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 byte [ebp - 4], 0
mov esi, esp
lea ecx, [ebp - 0x78]
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 dword [ebp - 4], 0xffffffff
mov esi, esp
lea ecx, [ebp - 0x54]
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 - 0x50f8]
jmp 0x4d7943
mov ecx, dword [ebp - 0x14]
call fcn.004d4e60
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0x38], 1
jne 0x4d78d8
mov ecx, dword [ebp - 0x14]
add ecx, 0x1c
mov esi, esp
call dword [sym.imp.MSVCP71.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::length_void_const]
cmp esi, esp
call fcn.004f90e1
add eax, 1
push eax
call sub.MFC71.DLL_operator_new
add esp, 4
mov dword [ebp - 0x50fc], eax
mov edx, dword [ebp - 0x50fc]
mov dword [ebp - 0x50ac], edx
mov ecx, dword [ebp - 0x14]
add ecx, 0x1c
mov esi, esp
call dword [sym.imp.MSVCP71.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::length_void_const]
cmp esi, esp
call fcn.004f90e1
add eax, 1
push eax
call sub.MFC71.DLL_operator_new
add esp, 4
mov dword [ebp - 0x5100], eax
mov eax, dword [ebp - 0x5100]
mov dword [ebp - 0x50b0], eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x1c
mov esi, esp
call dword [sym.imp.MSVCP71.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::length_void_const]
cmp esi, esp
call fcn.004f90e1
add eax, 1
push eax
push 0
mov ecx, dword [ebp - 0x50ac]
push ecx
call sub.MSVCR71.dll_memset
add esp, 0xc
mov ecx, dword [ebp - 0x14]
add ecx, 0x1c
mov esi, esp
call dword [sym.imp.MSVCP71.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::length_void_const]
cmp esi, esp
call fcn.004f90e1
add eax, 1
push eax
push 0
mov edx, dword [ebp - 0x50b0]
push edx
call sub.MSVCR71.dll_memset
add esp, 0xc
mov esi, esp
push 0
mov ecx, dword [ebp - 0x14]
add ecx, 0x1c
mov edi, esp
call dword [sym.imp.MSVCP71.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::length_void_const]
cmp edi, esp
call fcn.004f90e1
push eax
mov eax, dword [ebp - 0x50ac]
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x1c
call dword [sym.imp.MSVCP71.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::copy_char___unsigned_int__unsigned_int_const]
cmp esi, esp
call fcn.004f90e1
mov ecx, dword [ebp - 0x50b0]
push ecx
mov edx, dword [ebp - 0x50ac]
push edx
call fcn.004d4c50
add esp, 8
mov esi, esp
mov eax, dword [ebp - 0x50b0]
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x1c
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
mov ecx, dword [ebp - 0x50ac]
mov dword [ebp - 0x5104], ecx
mov edx, dword [ebp - 0x5104]
push edx
call sub.MFC71.DLL_operator_delete
add esp, 4
mov eax, dword [ebp - 0x50b0]
mov dword [ebp - 0x5108], eax
mov ecx, dword [ebp - 0x5108]
push ecx
call sub.MFC71.DLL_operator_delete
add esp, 4
mov esi, esp
mov edx, dword [ebp - 0x18]
push edx
call dword [sym.imp.WS2_32.dll_closesocket]
cmp esi, esp
call fcn.004f90e1
mov dword [ebp - 0x510c], 1
mov byte [ebp - 4], 1
mov esi, esp
lea ecx, [ebp - 0x9c]
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 byte [ebp - 4], 0
mov esi, esp
lea ecx, [ebp - 0x78]
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 dword [ebp - 4], 0xffffffff
mov esi, esp
lea ecx, [ebp - 0x54]
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 - 0x510c]
push edx
mov ecx, ebp
push eax
lea edx, [0x4d7979]
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, 0x511c
cmp ebp, esp
call fcn.004f90e1
mov esp, ebp
pop ebp
ret