Function at 0x140001bd0
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 0x140001c57
mov rcx, qword [0x1400834e0]
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 0x140001eea
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 0x140001cda
mov rcx, qword [0x1400834e0]
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 0x140001eea
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 0x140001d0d
mov al, byte [rsp + 0x5b]
test al, 1
jne 0x140001dbb
jmp 0x140001d1e
mov rcx, qword [0x1400834e0]
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 0x140001d3b
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 0x140001d51
mov rcx, qword [rsp + 0x11c0]
mov rax, qword [sym.imp.WININET.dll_InternetCloseHandle]
call rax
jmp 0x140001d67
mov rcx, qword [rsp + 0x11c8]
mov rax, qword [sym.imp.WININET.dll_InternetCloseHandle]
call rax
jmp 0x140001d7d
mov byte [rsp + 0x11e7], 0
mov dword [rsp + 0x1068], 1
jmp 0x140001edd
jmp 0x140001dc0
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 0x140001dea
mov ecx, dword [rsp + 0x44]
xor eax, eax
cmp ecx, 0
mov byte [rsp + 0x43], al
je 0x140001e09
cmp dword [rsp + 0x5c], 0
seta al
mov byte [rsp + 0x43], al
mov al, byte [rsp + 0x43]
test al, 1
jne 0x140001e1a
jmp 0x140001e3d
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 0x140001e38
jmp 0x140001dc0
lea rcx, [rsp + 0x1078]
call method.std::__1::basic_ofstream_char__std::__1::char_traits_char___.close__
jmp 0x140001e4f
mov rcx, qword [rsp + 0x11c0]
mov rax, qword [sym.imp.WININET.dll_InternetCloseHandle]
call rax
jmp 0x140001e65
mov rcx, qword [rsp + 0x11c8]
mov rax, qword [sym.imp.WININET.dll_InternetCloseHandle]
call rax
jmp 0x140001e7b
mov rcx, qword [0x1400834e8]
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 0x140001e98
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 0x140001eb4
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 0x140001eca
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