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

Disassembly:
mov eax, 0x11e8
call sym.___chkstk_ms
sub rsp, rax
mov qword [rsp + 0x11d8], rcx
mov qword [rsp + 0x11d0], rdx
lea rcx, str.Download
mov edx, 1
xor eax, eax
mov r9d, eax
xor eax, eax
mov r8, r9
mov dword [rsp + 0x20], 0
call qword [sym.imp.WININET.dll_InternetOpenA]
mov qword [rsp + 0x11c8], rax
cmp qword [rsp + 0x11c8], 0
jne 0x140001427
mov rcx, qword [0x140082520]
lea rdx, str.InternetOpenA_failed
call method.std::__1::basic_ostream_char__std::__1::char_traits_char____std::__1::operator___abi:ne180100__std::__1.char_traits_char____std::__1::basic_ostream_char__std::__1::char_traits_char_____char_const_
mov rcx, rax
lea rdx, [method.std::__1::basic_ostream_char__std::__1::char_traits_char____std::__1::endl_abi:ne180100__char__std::__1.char_traits_char____std::__1::basic_ostream_char__std::__1::char_traits_char____]
call method.std::__1::basic_ostream_char__std::__1::char_traits_char___.operator___abi:ne180100__std::__1::basic_ostream_char__std::__1::char_traits_char_______std::__1::basic_ostream_char__std::__1::char_traits_char_____
mov byte [rsp + 0x11e7], 0
jmp 0x1400016ba
mov rcx, qword [rsp + 0x11c8]
mov rdx, qword [rsp + 0x11d8]
xor eax, eax
mov r8d, eax
xor r9d, r9d
mov dword [rsp + 0x20], 0x80000000
mov qword [rsp + 0x28], 0
call qword [sym.imp.WININET.dll_InternetOpenUrlA]
mov qword [rsp + 0x11c0], rax
cmp qword [rsp + 0x11c0], 0
jne 0x1400014aa
mov rcx, qword [0x140082520]
lea rdx, str.InternetOpenUrlA_failed
call method.std::__1::basic_ostream_char__std::__1::char_traits_char____std::__1::operator___abi:ne180100__std::__1.char_traits_char____std::__1::basic_ostream_char__std::__1::char_traits_char_____char_const_
mov rcx, rax
lea rdx, [method.std::__1::basic_ostream_char__std::__1::char_traits_char____std::__1::endl_abi:ne180100__char__std::__1.char_traits_char____std::__1::basic_ostream_char__std::__1::char_traits_char____]
call method.std::__1::basic_ostream_char__std::__1::char_traits_char___.operator___abi:ne180100__std::__1::basic_ostream_char__std::__1::char_traits_char_______std::__1::basic_ostream_char__std::__1::char_traits_char_____
mov rcx, qword [rsp + 0x11c8]
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov byte [rsp + 0x11e7], 0
jmp 0x1400016ba
mov rdx, qword [rsp + 0x11d0]
lea rcx, [rsp + 0x1078]
mov qword [rsp + 0x50], rcx
mov r8d, 4
call method.std::__1::basic_ofstream_char__std::__1::char_traits_char___.basic_ofstream_char_const__unsigned_int_
mov rcx, qword [rsp + 0x50]
call method.std::__1::basic_ofstream_char__std::__1::char_traits_char___.is_open___const
mov byte [rsp + 0x5b], al
jmp 0x1400014dd
mov al, byte [rsp + 0x5b]
test al, 1
jne 0x14000158b
jmp 0x1400014ee
mov rcx, qword [0x140082520]
lea rdx, str.Failed_to_open_output_file
call method.std::__1::basic_ostream_char__std::__1::char_traits_char____std::__1::operator___abi:ne180100__std::__1.char_traits_char____std::__1::basic_ostream_char__std::__1::char_traits_char_____char_const_
mov qword [rsp + 0x48], rax
jmp 0x14000150b
mov rcx, qword [rsp + 0x48]
lea rdx, [method.std::__1::basic_ostream_char__std::__1::char_traits_char____std::__1::endl_abi:ne180100__char__std::__1.char_traits_char____std::__1::basic_ostream_char__std::__1::char_traits_char____]
call method.std::__1::basic_ostream_char__std::__1::char_traits_char___.operator___abi:ne180100__std::__1::basic_ostream_char__std::__1::char_traits_char_______std::__1::basic_ostream_char__std::__1::char_traits_char_____
jmp 0x140001521
mov rcx, qword [rsp + 0x11c0]
mov rax, qword [sym.imp.WININET.dll_InternetCloseHandle]
call rax
jmp 0x140001537
mov rcx, qword [rsp + 0x11c8]
mov rax, qword [sym.imp.WININET.dll_InternetCloseHandle]
call rax
jmp 0x14000154d
mov byte [rsp + 0x11e7], 0
mov dword [rsp + 0x1068], 1
jmp 0x1400016ad
jmp 0x140001590
mov rcx, qword [rsp + 0x11c0]
mov rax, qword [sym.imp.WININET.dll_InternetReadFile]
lea rdx, [rsp + 0x60]
mov r8d, 0x1000
lea r9, [rsp + 0x5c]
call rax
mov dword [rsp + 0x44], eax
jmp 0x1400015ba
mov ecx, dword [rsp + 0x44]
xor eax, eax
cmp ecx, 0
mov byte [rsp + 0x43], al
je 0x1400015d9
cmp dword [rsp + 0x5c], 0
seta al
mov byte [rsp + 0x43], al
mov al, byte [rsp + 0x43]
test al, 1
jne 0x1400015ea
jmp 0x14000160d
mov eax, dword [rsp + 0x5c]
mov r8d, eax
lea rcx, [rsp + 0x1078]
lea rdx, [rsp + 0x60]
call method.std::__1::basic_ostream_char__std::__1::char_traits_char___.write_char_const__long_long_
jmp 0x140001608
jmp 0x140001590
lea rcx, [rsp + 0x1078]
call method.std::__1::basic_ofstream_char__std::__1::char_traits_char___.close__
jmp 0x14000161f
mov rcx, qword [rsp + 0x11c0]
mov rax, qword [sym.imp.WININET.dll_InternetCloseHandle]
call rax
jmp 0x140001635
mov rcx, qword [rsp + 0x11c8]
mov rax, qword [sym.imp.WININET.dll_InternetCloseHandle]
call rax
jmp 0x14000164b
mov rcx, qword [str._t_n_]
lea rdx, str.File_downloaded_successfully:
call method.std::__1::basic_ostream_char__std::__1::char_traits_char____std::__1::operator___abi:ne180100__std::__1.char_traits_char____std::__1::basic_ostream_char__std::__1::char_traits_char_____char_const_
mov qword [rsp + 0x38], rax
jmp 0x140001668
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x11d0]
call method.std::__1::basic_ostream_char__std::__1::char_traits_char____std::__1::operator___abi:ne180100__std::__1.char_traits_char____std::__1::basic_ostream_char__std::__1::char_traits_char_____char_const_
mov qword [rsp + 0x30], rax
jmp 0x140001684
mov rcx, qword [rsp + 0x30]
lea rdx, [method.std::__1::basic_ostream_char__std::__1::char_traits_char____std::__1::endl_abi:ne180100__char__std::__1.char_traits_char____std::__1::basic_ostream_char__std::__1::char_traits_char____]
call method.std::__1::basic_ostream_char__std::__1::char_traits_char___.operator___abi:ne180100__std::__1::basic_ostream_char__std::__1::char_traits_char_______std::__1::basic_ostream_char__std::__1::char_traits_char_____
jmp 0x14000169a
mov byte [rsp + 0x11e7], 1
mov dword [rsp + 0x1068], 1
lea rcx, [rsp + 0x1078]
call method.std::__1::basic_ofstream_char__std::__1::char_traits_char___.basic_ofstream__
mov al, byte [rsp + 0x11e7]
and al, 1
movzx eax, al
add rsp, 0x11e8
ret