Function at 0x140001350
Capabilities:
Create http request
Get common file path
Read data from internet
Receive data

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
mov eax, 0x1380
call fcn.140005830
sub rsp, rax
mov rax, qword [0x14000a040]
xor rax, rsp
mov qword [rsp + 0x1370], rax
mov r15, r8
mov r12, rdx
mov rbx, rcx
xor edi, edi
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor r8d, r8d
mov edx, 1
lea rcx, str.Downloader
call qword [sym.imp.WININET.dll_InternetOpenA]
mov r14, rax
test rax, rax
je 0x140001556
cmp qword [rbx + 0x18], 0xf
jbe 0x1400013b7
mov rbx, qword [rbx]
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], 0x80000000
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetOpenUrlA]
mov rbp, rax
test rax, rax
je 0x14000149a
mov rsi, rdi
lea r9, [rsp + 0x30]
mov r8d, 0x1000
lea rdx, [rsp + 0x370]
mov rcx, rax
call qword [sym.imp.WININET.dll_InternetReadFile]
mov rbx, 0xffffffffffffffff
test eax, eax
je 0x1400014a8
mov eax, dword [rsp + 0x30]
test eax, eax
je 0x1400014a8
mov rdx, rsi
add rdx, rax
cmovb rdx, rbx
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
test rax, rax
je 0x140001488
mov rdi, rax
mov r8d, dword [rsp + 0x30]
lea rcx, [rax + rsi]
lea rdx, [rsp + 0x370]
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [rsp + 0x30]
add rsi, rax
lea r9, [rsp + 0x30]
mov r8d, 0x1000
lea rdx, [rsp + 0x370]
mov rcx, rbp
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x140001410
mov rcx, rbp
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetCloseHandle]
jmp 0x1400014c3
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, rbp
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetCloseHandle]
jmp 0x140001556
mov rcx, rbp
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetCloseHandle]
test rdi, rdi
je 0x14000154d
test rsi, rsi
je 0x14000154d
lea rdx, [rsp + 0x260]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathA]
test eax, eax
je 0x14000154d
cmp qword [r15 + 0x18], 0xf
jbe 0x1400014ed
mov r15, qword [r15]
lea r9, [rsp + 0x150]
xor r8d, r8d
mov rdx, r15
lea rcx, [rsp + 0x260]
call qword [sym.imp.KERNEL32.dll_GetTempFileNameA]
test eax, eax
je 0x14000154d
xor edx, edx
mov r8d, 0x108
lea rcx, [rsp + 0x40]
call sub.VCRUNTIME140.dll_memset
mov r8d, 0x20
lea rdx, [rsp + 0x150]
lea rcx, [rsp + 0x40]
call fcn.140003590
nop
cmp qword [rsp + 0xc8], 0
jne 0x14000157a
lea rcx, [rsp + 0x40]
call fcn.140001290
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor al, al
mov rcx, qword [rsp + 0x1370]
xor rcx, rsp
call fcn.1400048c0
add rsp, 0x1380
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov r8, rsi
mov rdx, rdi
lea rcx, [rsp + 0x40]
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__::write_char_const____ptr64__long_long___int64_____ptr64]
lea rcx, [rsp + 0x48]
call fcn.140003a60
test rax, rax
jne 0x1400015b9
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x40]
add rcx, rax
xor r8d, r8d
mov edx, 2
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
lea rax, [rsp + 0x150]
inc rbx
cmp byte [rax + rbx], 0
jne 0x1400015c1
mov r8, rbx
lea rdx, [rsp + 0x150]
mov rcx, r12
call fcn.140003d10
nop
lea rcx, [rsp + 0x40]
call fcn.140001290
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov al, 1
jmp 0x140001558