Function at 0x14002ac58
Capabilities:
Check if file exists
Get file attributes

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x880]
sub rsp, 0x980
mov rax, qword [0x1400502a8]
xor rax, rsp
mov qword [rbp + 0x870], rax
xor r13d, r13d
mov r15, r8
mov r14, rdx
mov rdi, rcx
mov ebx, r13d
cmp dword [rcx + 0x64], r13d
je 0x14002aca7
mov eax, 0x800704c7
jmp 0x14002aeb7
test r14, r14
je 0x14002ae98
test r15, r15
je 0x14002ae98
lea rsi, [rcx + 0x58]
mov r12d, 1
cmp qword [rsi], r13
jne 0x14002ad77
cmp dword [rcx + 0x68], r13d
je 0x14002ad57
lea rax, [rsp + 0x58]
mov dword [rsp + 0x50], r13d
lea r9, [0x14003f430]
mov qword [rsp + 0x20], rax
mov r8d, r12d
mov qword [rsp + 0x58], r13
xor edx, edx
lea rcx, [0x14003f440]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x14002ad2e
mov rcx, qword [rsp + 0x58]
lea rdx, [rsp + 0x50]
mov rax, qword [rcx]
mov rax, qword [rax + 0x68]
call qword [0x14003f118]
test eax, eax
js 0x14002ad2e
test dword [rsp + 0x50], 0x440
cmovne ebx, r12d
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14002ad45
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x14003f118]
test ebx, ebx
je 0x14002ad57
xor edx, edx
mov rcx, rsi
call fcn.140035b24
mov ebx, eax
jmp 0x14002ad5c
mov ebx, 0xc00d0bca
cmp qword [rsi], r13
jne 0x14002ad77
test ebx, ebx
lea rdx, str.Unable_to_establish_connection:_0x_x._r_n
mov eax, 0x80004005
cmovns ebx, eax
jmp 0x14002aea8
mov qword [rsp + 0x38], r13
lea rax, [rsp + 0x60]
mov qword [rsp + 0x30], r13
or r12d, 0xffffffff
mov dword [rsp + 0x28], 0x105
mov r9d, r12d
mov r8, r15
mov qword [rsp + 0x20], rax
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov qword [rsp + 0x38], r13
lea rax, [rbp + 0x70]
mov qword [rsp + 0x30], r13
mov r9d, r12d
mov dword [rsp + 0x28], 0x800
mov r8, r14
xor edx, edx
mov qword [rsp + 0x20], rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
lea ecx, [r12 + 0x65]
mov dword [rdi + 0x60], 1
mov qword [rdi + 0x50], rax
call fcn.1400159e8
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rdi + 0x48], eax
cmp qword [rdi + 0x50], r13
je 0x14002ae9d
mov rcx, qword [rsi]
lea r9d, [r12 + 3]
mov qword [rsp + 0x38], r13
lea r8, [rsp + 0x60]
mov qword [rsp + 0x30], r13
lea rdx, [rbp + 0x70]
mov dword [rsp + 0x28], r13d
mov rax, qword [rcx]
mov dword [rsp + 0x20], 0x8000080
mov rax, qword [rax + 0x28]
call qword [0x14003f118]
mov ebx, eax
test eax, eax
js 0x14002ae75
jmp 0x14002ae6c
mov edx, 0x258
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x14002ae75
cmp dword [rdi + 0x60], r13d
je 0x14002ae75
mov rcx, rdi
call fcn.14002a7f0
mov ebx, eax
mov rax, qword [rdi + 0x50]
test rax, rax
jne 0x14002ae47
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x14002ae8d
test al, 0x10
jne 0x14002ae8d
test ebx, ebx
jns 0x14002aeb5
test ebx, ebx
js 0x14002aea1
mov ebx, 0x80070002
jmp 0x14002aea1
mov ebx, 0x80070057
test ebx, ebx
jns 0x14002aeb5
lea rdx, str.ERROR:_Download_failed.__Result:_0x_x._r_n
mov r8d, ebx
mov ecx, 4
call fcn.140016868
mov eax, ebx
mov rcx, qword [rbp + 0x870]
xor rcx, rsp
call fcn.14003c6c0
mov rbx, qword [rsp + 0x9d8]
add rsp, 0x980
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret