Function at 0x4045c8
Capabilities:
Get hostname
Initialize winsock library
Resolve dns

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 0x364
mov dword [ebp - 0x34c], ecx
lea eax, [ebp - 0x114]
mov dword [esp + 4], 8
mov dword [esp], str.https:__pastebin.com_raw_tDXxxRUc
mov ecx, eax
call sym.std::basic_ifstream_char__std::char_traits_char___::basic_ifstream_char_const__std::_Ios_Openmode_
sub esp, 8
lea eax, [ebp - 0x120]
mov ecx, eax
call fcn.00405c9c
lea eax, [ebp - 0x138]
mov ecx, eax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea eax, [ebp - 0x138]
mov dword [esp + 4], eax
lea eax, [ebp - 0x114]
mov dword [esp], eax
call sym.std::basic_istream_char__std::char_traits_char____std::getline_char__std::char_traits_char___std::allocator_char____std::basic_istream_char__std::char_traits_char_____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
mov edx, dword [eax]
sub edx, 0xc
mov edx, dword [edx]
add eax, edx
mov ecx, eax
call sym.std::basic_ios_char__std::char_traits_char___::operator_bool___const
test al, al
je 0x404658
lea eax, [ebp - 0x120]
lea edx, [ebp - 0x138]
mov dword [esp], edx
mov ecx, eax
call method.std::vector_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::allocator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_______.push_back_std::__cxx11::basic_string_char__std::char_tra
sub esp, 4
jmp 0x404611
lea eax, [ebp - 0x2c8]
mov dword [esp + 4], eax
mov dword [esp], 0x202
call sym._WSAStartup_8
sub esp, 8
test eax, eax
setne al
test al, al
je 0x4046a9
mov dword [esp + 4], str.WSAStartup_failed
mov dword [esp], sym.imp.libstdc_6.dll_std::cerr
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov dword [esp], sym.std::basic_ostream_char__std::char_traits_char____std::endl_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char____
mov ecx, eax
call sym.std::ostream::operator___std::ostream____std::ostream__
sub esp, 4
mov ebx, 0
jmp 0x404827
mov dword [esp + 4], 0x64
lea eax, [ebp - 0x32c]
mov dword [esp], eax
call sym._gethostname_8
sub esp, 8
cmp eax, 0xffffffff
sete al
test al, al
je 0x404714
call sym._WSAGetLastError_0
mov ebx, eax
mov dword [esp + 4], str.Error_getting_hostname:
mov dword [esp], sym.imp.libstdc_6.dll_std::cerr
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov dword [esp], ebx
mov ecx, eax
call sym.std::ostream::operator___int_
sub esp, 4
mov dword [esp], sym.std::basic_ostream_char__std::char_traits_char____std::endl_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char____
mov ecx, eax
call sym.std::ostream::operator___std::ostream____std::ostream__
sub esp, 4
call sym._WSACleanup_0
mov ebx, 0
jmp 0x404827
lea eax, [ebp - 0x32c]
mov dword [esp], eax
call sym._gethostbyname_4
sub esp, 4
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x404762
mov dword [esp + 4], str.Error_getting_IP_address
mov dword [esp], sym.imp.libstdc_6.dll_std::cerr
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov dword [esp], sym.std::basic_ostream_char__std::char_traits_char____std::endl_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char____
mov ecx, eax
call sym.std::ostream::operator___std::ostream____std::ostream__
sub esp, 4
call sym._WSACleanup_0
mov ebx, 0
jmp 0x404827
lea eax, [ebp - 0x15]
mov ecx, eax
call fcn.0040162c
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [esp], eax
call sym._inet_ntoa_4
sub esp, 4
mov ecx, eax
lea eax, [ebp - 0x344]
lea edx, [ebp - 0x15]
mov dword [esp + 4], edx
mov dword [esp], ecx
mov ecx, eax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_char_const__std::allocator_char__const_
sub esp, 8
lea eax, [ebp - 0x15]
mov ecx, eax
call sym.std::allocator_char_::allocator__
lea eax, [ebp - 0x120]
mov ecx, eax
call method.std::vector_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::allocator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_______.end__
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x120]
mov ecx, eax
call method.std::vector_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::allocator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_______.end__
mov ebx, eax
lea eax, [ebp - 0x120]
mov ecx, eax
call method.std::vector_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::allocator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_______.begin__
mov edx, eax
lea eax, [ebp - 0x344]
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], edx
call sym.__gnu_cxx::__normal_iterator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::vector_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::allocator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char__________std::find___gnu_cxx::__normal_iterator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::vector_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::allocator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___________std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char________gnu_cxx::__normal_iterator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::vector_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::allocator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char__________
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x14]
mov dword [esp + 4], eax
lea eax, [ebp - 0x10]
mov dword [esp], eax
call sym.__ZN9__gnu_cxxneIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEEbRKNS_17__normal_iteratorIT_T0_EE
test al, al
je 0x404810
mov dword [esp], 0
call sym._exit
call sym._WSACleanup_0
lea eax, [ebp - 0x344]
mov ecx, eax
call fcn.004015d4
mov ebx, 1
lea eax, [ebp - 0x138]
mov ecx, eax
call fcn.004015d4
cmp ebx, 1
je 0x404840
mov ebx, 0
jmp 0x404846
nop
mov ebx, 1
lea eax, [ebp - 0x120]
mov ecx, eax
call method.std::vector_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::allocator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_______.vector__
cmp ebx, 1
je 0x40485f
mov ebx, 0
jmp 0x404865
nop
mov ebx, 1
lea eax, [ebp - 0x114]
mov ecx, eax
call sym.std::basic_ifstream_char__std::char_traits_char___::basic_ifstream__
cmp ebx, 1
jmp 0x4048c9
mov ebx, dword [ebp - 4]
leave
ret