Function at 0x403bb6
Capabilities:
Create http request
Get hostname
Read data from internet
Receive data

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x4ec
mov dword [ebp - 0x4a8], sym.___gxx_personality_sj0
mov dword [ebp - 0x4a4], 0x44a328
lea eax, [ebp - 0x4a0]
lea edx, [ebp - 0x18]
mov dword [eax], edx
mov edx, 0x403e6c
mov dword [eax + 4], edx
mov dword [eax + 8], esp
lea eax, [ebp - 0x4c0]
mov dword [esp], eax
call sym.__Unwind_SjLj_Register
mov dword [ebp - 0x1c], 0x10
mov byte [ebp - 0x38], 0
lea eax, [ebp - 0x1c]
mov dword [esp + 4], eax
lea eax, [ebp - 0x38]
mov dword [esp], eax
mov dword [ebp - 0x4bc], 0xffffffff
call sub.KERNEL32.dll_GetComputerNameA
sub esp, 8
lea eax, [ebp - 0x38]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
add eax, 0xc4
mov dword [esp], eax
call fcn.0043a998
lea eax, [ebp - 0x58]
mov dword [esp], eax
call fcn.004309a8
lea eax, [ebp - 0x58]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x44d046
lea eax, [ebp - 0x48]
mov dword [esp], eax
mov dword [ebp - 0x4bc], 4
call method.std::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const_
jmp 0x403ca7
lea eax, [ebp - 0x58]
mov dword [esp], eax
call sym.std::allocator_char_::allocator__
lea eax, [ebp - 0x68]
mov dword [esp], eax
call fcn.004309a8
lea eax, [ebp - 0x68]
mov dword [esp + 8], eax
mov dword [esp + 4], str.http:__dynupdate.no_ip.com_ip.php
lea eax, [ebp - 0x58]
mov dword [esp], eax
mov dword [ebp - 0x4bc], 2
call method.std::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const_
jmp 0x403d0b
lea eax, [ebp - 0x68]
mov dword [esp], eax
call sym.std::allocator_char_::allocator__
lea eax, [ebp - 0x58]
mov dword [esp], eax
mov dword [ebp - 0x4bc], 1
call method.std::string.c_str___const
mov dword [esp], eax
call sub.WININET.DLL_DeleteUrlCacheEntry
sub esp, 4
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], 0x44d06a
call sub.WININET.DLL_InternetOpenA
sub esp, 0x14
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0
je 0x403e41
lea eax, [ebp - 0x58]
mov dword [esp], eax
call method.std::string.c_str___const
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x6c]
mov dword [esp], eax
call sub.WININET.DLL_InternetOpenUrlA
sub esp, 0x18
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0
je 0x403e29
lea eax, [ebp - 0x48c]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x400
lea eax, [ebp - 0x488]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x70]
mov dword [esp], eax
mov dword [ebp - 0x4bc], 1
call sub.WININET.DLL_InternetReadFile
sub esp, 0x10
cmp dword [ebp - 0x48c], 0
jne 0x403df7
jmp 0x403e29
lea eax, [ebp - 0x18]
add eax, dword [ebp - 0x48c]
sub eax, 0x470
mov byte [eax], 0
lea eax, [ebp - 0x488]
mov dword [esp + 4], eax
lea eax, [ebp - 0x48]
mov dword [esp], eax
mov dword [ebp - 0x4bc], 1
call method.std::string.operator_char_const_
jmp 0x403db8
mov eax, dword [ebp - 0x70]
mov dword [esp], eax
mov dword [ebp - 0x4bc], 1
call sub.WININET.DLL_InternetCloseHandle
sub esp, 4
lea eax, [ebp - 0x48]
mov dword [esp], eax
mov dword [ebp - 0x4bc], 1
call method.std::string.c_str___const
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
add eax, 0xc8
mov dword [esp], eax
call fcn.0043a998
jmp 0x403ed9
lea eax, [ebp - 0x58]
mov dword [esp], eax
mov dword [ebp - 0x4bc], 3
call method.std::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string__
jmp 0x403f35
lea eax, [ebp - 0x48]
mov dword [esp], eax
mov dword [ebp - 0x4bc], 0xffffffff
call method.std::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string__
lea eax, [ebp - 0x4c0]
mov dword [esp], eax
call sym.__Unwind_SjLj_Unregister
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret