Function at 0x140078d8c
Capabilities:
Download and write a file
Read data from internet
Receive and write data from server to client
Receive data
Write file on windows

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
mov rbp, rsp
sub rsp, 0x40
and dword [rbp - 0x10], 0
mov r12, r8
mov rax, rdx
mov rdi, rcx
xor r9d, r9d
xor r8d, r8d
mov rcx, rax
mov rdx, qword [r12]
call fcn.140072e94
lea r13, str.Failed_to_seek_to_start_point_in_file.
mov ebx, eax
test eax, eax
jns 0x140078df8
mov qword [rsp + 0x28], r13
lea rcx, str.d:_awixwix_srclibsdutilwixtoolset.dutildlutil.cpp
mov dword [rsp + 0x20], eax
mov edx, 0x1c5
mov r9d, 0xf
jmp 0x140078fb3
mov r14d, 0xf
lea rsi, str.d:_awixwix_srclibsdutilwixtoolset.dutildlutil.cpp
mov r8d, dword [rbp + 0x70]
lea r9, [rbp - 0x10]
mov rdx, qword [rbp + 0x68]
mov rcx, rdi
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x140078f6b
cmp dword [rbp - 0x10], 0
je 0x140078fbe
xor edi, edi
and dword [rbp - 0xc], edi
mov r8d, dword [rbp - 0x10]
lea r9, [rbp - 0xc]
mov rcx, qword [rbp + 0x48]
sub r8d, edi
and qword [rsp + 0x20], 0
mov edx, edi
add rdx, qword [rbp + 0x68]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x140078f32
mov eax, dword [rbp - 0xc]
add edi, eax
test eax, eax
je 0x140078e68
cmp edi, dword [rbp - 0x10]
jb 0x140078e31
mov eax, edi
add qword [r12], rax
mov rax, qword [rbp + 0x58]
cmp rax, 0xffffffffffffffff
je 0x140078ee8
xor edi, edi
xor r9d, r9d
and dword [rbp - 8], edi
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.140072e94
test eax, eax
jns 0x140078eb0
mov qword [rsp + 0x28], r13
lea r8d, [rdi + 5]
mov r9d, r14d
mov dword [rsp + 0x20], eax
mov edx, 0x1fd
mov rcx, rsi
call fcn.1400012b4
jmp 0x140078ee8
mov r14, qword [rbp + 0x58]
and qword [rsp + 0x20], 0
lea rdx, [r12 + rdi*8]
mov r8d, 8
lea r9, [rbp - 8]
sub r8d, edi
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, dword [rbp - 8]
add edi, eax
test eax, eax
je 0x140078ee2
cmp edi, 8
jb 0x140078eb4
mov r14d, 0xf
mov rax, qword [rbp + 0x78]
test rax, rax
je 0x140078f11
cmp qword [rax], 0
je 0x140078f11
mov r9, qword [rbp + 0x48]
mov rcx, rax
mov r8, qword [rbp + 0x60]
mov rdx, qword [r12]
call fcn.140078210
mov ebx, eax
test eax, eax
js 0x140078f24
cmp dword [rbp - 0x10], 0
je 0x140078fbe
mov rdi, qword [rbp + 0x40]
jmp 0x140078e05
lea rax, str.UX_aborted_on_cache_progress.
mov edx, 0x1e4
jmp 0x140078fa4
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
mov edi, 0x1d8
or ebx, 0x80070000
mov rcx, rsi
test eax, eax
mov edx, edi
cmovle ebx, eax
mov eax, 0x80004005
test ebx, ebx
cmovns ebx, eax
mov r8d, ebx
call fcn.1400012b0
lea rax, str.Failed_to_write_data_from_internet.
jmp 0x140078fa2
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
mov edi, 0x1cc
or ebx, 0x80070000
mov rcx, rsi
test eax, eax
mov edx, edi
cmovle ebx, eax
mov eax, 0x80004005
test ebx, ebx
cmovns ebx, eax
mov r8d, ebx
call fcn.1400012b0
lea rax, str.Failed_while_reading_from_internet.
mov edx, edi
mov qword [rsp + 0x28], rax
mov r9d, r14d
mov dword [rsp + 0x20], ebx
mov rcx, rsi
mov r8d, 5
call fcn.1400012b4
mov eax, ebx
add rsp, 0x40
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret