Function at 0x4016ae
Capabilities:
Create http request
Read data from internet
Receive data

Disassembly:
push rbp
push rbx
mov eax, 0x1088
call fcn.0040d7f0
sub rsp, rax
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x1020], rcx
mov qword [rbp + 0x1028], rdx
lea rax, str.User_Agent
mov qword [rbp + 0xff8], rax
mov rax, qword [rbp + 0xff8]
mov dword [rsp + 0x20], 0
mov r9d, 0
mov r8d, 0
mov edx, 1
mov rcx, rax
mov rax, qword [sym.imp.WININET.dll_InternetOpenA]
call rax
mov qword [rbp + 0xff0], rax
cmp qword [rbp + 0xff0], 0
jne 0x401772
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
mov edx, eax
lea rcx, str.InternetOpen_failed___d__n
call sym.printf_char_const__::_
mov rax, qword [rbp + 0x1020]
mov qword [rax], 0
mov rax, qword [rbp + 0x1020]
mov qword [rax + 8], 0
mov rax, qword [rbp + 0x1020]
mov qword [rax + 0x10], 0
mov rcx, qword [rbp + 0x1020]
call fcn.00422350
jmp 0x40191b
mov rdx, qword [rbp + 0x1028]
mov rax, qword [rbp + 0xff0]
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x80000000
mov r9d, 0
mov r8d, 0
mov rcx, rax
mov rax, qword [sym.imp.WININET.dll_InternetOpenUrlA]
call rax
mov qword [rbp + 0xfe8], rax
cmp qword [rbp + 0xfe8], 0
jne 0x40180e
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
mov edx, eax
lea rcx, str.InternetOpenUrlA_failed___d__n
call sym.printf_char_const__::_
mov rax, qword [rbp + 0x1020]
mov qword [rax], 0
mov rax, qword [rbp + 0x1020]
mov qword [rax + 8], 0
mov rax, qword [rbp + 0x1020]
mov qword [rax + 0x10], 0
mov rcx, qword [rbp + 0x1020]
call fcn.00422350
jmp 0x40191b
lea rax, [rbp - 0x50]
mov rcx, rax
call fcn.00422350
lea rcx, [rbp + 0xfd4]
lea rdx, [rbp - 0x30]
mov rax, qword [rbp + 0xfe8]
mov r9, rcx
mov r8d, 0x1000
mov rcx, rax
mov rax, qword [sym.imp.WININET.dll_InternetReadFile]
call rax
test eax, eax
je 0x401856
mov eax, dword [rbp + 0xfd4]
test eax, eax
je 0x401856
mov eax, 1
jmp 0x40185b
mov eax, 0
test al, al
je 0x4018ba
mov eax, dword [rbp + 0xfd4]
mov edx, eax
lea rax, [rbp - 0x30]
lea rbx, [rax + rdx]
lea rax, [rbp - 0x50]
mov rcx, rax
call method.std::vector_unsigned_char__std::allocator_unsigned_char___.end__
mov qword [rbp + 0xfe0], rax
lea rdx, [rbp + 0xfe0]
lea rax, [rbp + 0xfd8]
mov rcx, rax
call sym._ZN9__gnu_cxx17__normal_iteratorIPKhSt6vectorIhSaIhEEEC1IPhEERKNS0_IT_NS_11__enable_ifIXsrSt10__are_sameIS9_S8_E7__valueES5_E6
lea rcx, [rbp - 0x30]
mov rdx, qword [rbp + 0xfd8]
lea rax, [rbp - 0x50]
mov r9, rbx
mov r8, rcx
mov rcx, rax
call method.__gnu_cxx::__normal_iterator_unsigned_char__std::vector_unsigned_char__std::allocator_unsigned_char______std::vector_unsigned_char__std::allocator_unsigned_char___.insert_char__void____gnu_cxx::__normal_iterator_unsigned_char_const__std::vector_
jmp 0x40181a
mov rax, qword [rbp + 0xfe8]
mov rcx, rax
mov rax, qword [sym.imp.WININET.dll_InternetCloseHandle]
call rax
mov rax, qword [rbp + 0xff0]
mov rcx, rax
mov rax, qword [sym.imp.WININET.dll_InternetCloseHandle]
call rax
lea rax, [rbp - 0x50]
mov rdx, rax
mov rcx, qword [rbp + 0x1020]
call method.std::vector_unsigned_char__std::allocator_unsigned_char___.vector_std::vector_unsigned_char__std::allocator_unsigned_char____
lea rax, [rbp - 0x50]
mov rcx, rax
call method.std::vector_unsigned_char__std::allocator_unsigned_char___.vector__
jmp 0x40191b
mov rax, qword [rbp + 0x1020]
add rsp, 0x1088
pop rbx
pop rbp
ret