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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x20], rdi
push rbp
lea rbp, [rsp - 0x1040]
mov eax, 0x1140
call fcn.140049770
sub rsp, rax
mov rsi, rdx
mov rbx, rcx
mov dword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 1]
lea rcx, str.Download
call qword [sym.imp.WININET.dll_InternetOpenW]
mov rdi, rax
test rax, rax
je 0x14003d306
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x80000000
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov rcx, rax
call qword [sym.imp.WININET.dll_InternetOpenUrlW]
mov rbx, rax
test rax, rax
jne 0x14003d30d
mov rcx, rdi
call qword [sym.imp.WININET.dll_InternetCloseHandle]
xor al, al
jmp 0x14003d456
cmp qword [rsi + 0x18], 0x10
jb 0x14003d317
mov rsi, qword [rsi]
mov r8d, 0x20
mov rdx, rsi
lea rcx, [rsp + 0x30]
call fcn.140046a60
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea rsi, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x30], rsi
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0x2c], edx
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
test byte [rsp + rcx + 0x40], 6
mov rcx, rbx
je 0x14003d37b
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, rdi
call qword [sym.imp.WININET.dll_InternetCloseHandle]
xor bl, bl
jmp 0x14003d411
lea r9, [rbp + 0x1060]
mov r8d, 0x1000
lea rdx, [rbp + 0x40]
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x14003d3d0
mov eax, dword [rbp + 0x1060]
test eax, eax
je 0x14003d3d0
mov r8d, eax
lea rdx, [rbp + 0x40]
lea rcx, [rsp + 0x30]
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 r9, [rbp + 0x1060]
mov r8d, 0x1000
lea rdx, [rbp + 0x40]
mov rcx, rbx
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x14003d396
lea rcx, [rsp + 0x38]
call fcn.1400469b0
test rax, rax
jne 0x14003d3fd
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x30]
add rcx, rax
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
mov rcx, rbx
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, rdi
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov bl, 1
mov rcx, qword [rsp + 0x30]
movsxd rdx, dword [rcx + 4]
mov qword [rsp + rdx + 0x30], rsi
mov rcx, qword [rsp + 0x30]
movsxd rdx, dword [rcx + 4]
lea r8d, [rdx - 0xa8]
mov dword [rsp + rdx + 0x2c], r8d
lea rcx, [rsp + 0x38]
call fcn.140046470
lea rcx, [rsp + 0x40]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp - 0x28]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
movzx eax, bl
lea r11, [rsp + 0x1140]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret