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

Disassembly:
push rbp
push rbx
mov eax, 0x1248
call fcn.140003a90
sub rsp, rax
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x11e0], rcx
mov qword [rbp + 0x11e8], rdx
mov rax, qword [rbp + 0x11e0]
mov rcx, rax
call sym.ConvertToLPCWSTR_char_const_
mov qword [rbp + 0x11b8], rax
mov rax, qword [rbp + 0x11e8]
mov rcx, rax
call sym.ConvertToLPCWSTR_char_const_
mov qword [rbp + 0x11b0], rax
mov dword [rsp + 0x20], 0
mov r9d, 0
mov r8d, 0
mov edx, 1
lea rax, str.MyDownloader
mov rcx, rax
mov rax, qword [sym.imp.WININET.dll_InternetOpenW]
call rax
mov qword [rbp + 0x11a8], rax
cmp qword [rbp + 0x11a8], 0
jne 0x1400018e1
lea rax, str.InternetOpen_failed
mov rdx, rax
mov rax, qword [sym.imp.libstdc_6.dll_std::cerr]
mov rcx, rax
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 rcx, rax
mov rax, qword [0x140007850]
mov rdx, rax
call sym.std::ostream::operator___std::ostream____std::ostream__
mov ebx, 0
jmp 0x140001aa4
mov rdx, qword [rbp + 0x11b8]
mov rax, qword [rbp + 0x11a8]
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_InternetOpenUrlW]
call rax
mov qword [rbp + 0x11a0], rax
cmp qword [rbp + 0x11a0], 0
jne 0x140001971
lea rax, str.InternetOpenUrl_failed
mov rdx, rax
mov rax, qword [sym.imp.libstdc_6.dll_std::cerr]
mov rcx, rax
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 rcx, rax
mov rax, qword [0x140007850]
mov rdx, rax
call sym.std::ostream::operator___std::ostream____std::ostream__
mov rax, qword [rbp + 0x11a8]
mov rcx, rax
mov rax, qword [sym.imp.WININET.dll_InternetCloseHandle]
call rax
mov ebx, 0
jmp 0x140001aa4
mov rdx, qword [rbp + 0x11e8]
lea rax, [rbp + 0xfc0]
mov r8d, 4
mov rcx, rax
call sym.std::basic_ofstream_char__std::char_traits_char___::basic_ofstream_char_const__std::_Ios_Openmode_
lea rax, [rbp + 0xfc0]
add rax, 0xd8
mov rcx, rax
call sym.std::basic_ios_char__std::char_traits_char___::operator____const
test al, al
je 0x140001a1c
lea rax, str.Error_opening_file_for_writing
mov rdx, rax
mov rax, qword [sym.imp.libstdc_6.dll_std::cerr]
mov rcx, rax
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 rcx, rax
mov rax, qword [0x140007850]
mov rdx, rax
call sym.std::ostream::operator___std::ostream____std::ostream__
mov rax, qword [rbp + 0x11a0]
mov rcx, rax
mov rax, qword [sym.imp.WININET.dll_InternetCloseHandle]
call rax
mov rax, qword [rbp + 0x11a8]
mov rcx, rax
mov rax, qword [sym.imp.WININET.dll_InternetCloseHandle]
call rax
mov ebx, 0
jmp 0x140001a95
mov eax, dword [rbp - 0x44]
mov ecx, eax
lea rdx, [rbp - 0x40]
lea rax, [rbp + 0xfc0]
mov r8, rcx
mov rcx, rax
call sym.std::ostream::write_char_const__long_long_
lea rcx, [rbp - 0x44]
lea rdx, [rbp - 0x40]
mov rax, qword [rbp + 0x11a0]
mov r9, rcx
mov r8d, 0x1000
mov rcx, rax
mov rax, qword [sym.imp.WININET.dll_InternetReadFile]
call rax
test eax, eax
je 0x140001a52
mov eax, dword [rbp - 0x44]
test eax, eax
je 0x140001a52
mov eax, 1
jmp 0x140001a57
mov eax, 0
test al, al
jne 0x140001a01
lea rax, [rbp + 0xfc0]
mov rcx, rax
call sym.std::basic_ofstream_char__std::char_traits_char___::close__
mov rax, qword [rbp + 0x11a0]
mov rcx, rax
mov rax, qword [sym.imp.WININET.dll_InternetCloseHandle]
call rax
mov rax, qword [rbp + 0x11a8]
mov rcx, rax
mov rax, qword [sym.imp.WININET.dll_InternetCloseHandle]
call rax
mov ebx, 1
lea rax, [rbp + 0xfc0]
mov rcx, rax
call sym.std::basic_ofstream_char__std::char_traits_char___::basic_ofstream__
mov eax, ebx
jmp 0x140001ac5
add rsp, 0x1248
pop rbx
pop rbp
ret