Function at 0x140014960
Capabilities:
Check if file exists

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 7]
sub rsp, 0xb8
mov rax, qword [0x14036f028]
xor rax, rsp
mov qword [rbp - 0x11], rax
mov r14, r9
mov rsi, r8
mov r15, rdx
mov r12, rcx
mov rdi, qword [rbp + 0x7f]
mov r13, qword [rbp + 0x87]
cmp dword [rcx + 0x98], 0
je 0x1400149e5
mov ebx, dword [rcx + 0x98]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp ebx, eax
je 0x1400149e5
cmp byte [r12 + 0x91], 0
jne 0x1400149e5
test ebx, ebx
je 0x1400149e5
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [r12 + 0x98], eax
je 0x1400149e5
cmp byte [r12 + 0x91], 0
je 0x140014c45
cmp qword [r15 + 0x10], 0
je 0x140014c45
cmp qword [rsi + 0x10], 0
je 0x140014c45
cmp qword [r14 + 0x10], 0
je 0x140014c45
and qword [rbp - 0x31], 0
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x21], xmm0
mov rdx, r14
mov ebx, 8
cmp qword [r14 + 0x18], rbx
jb 0x140014a24
mov rdx, qword [r14]
mov r8, qword [r14 + 0x10]
lea rcx, [rbp - 0x31]
call fcn.14000e5cc
nop
lea rcx, [rbp - 0x31]
call fcn.140078c04
lea rcx, [rbp - 0x31]
cmp qword [rbp - 0x19], rbx
cmovae rcx, qword [rbp - 0x31]
mov rax, r15
cmp qword [r15 + 0x18], rbx
jb 0x140014a54
mov rax, qword [r15]
mov r9, rsi
cmp qword [rsi + 0x18], rbx
jb 0x140014a60
mov r9, qword [rsi]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
call fcn.14000f6e0
mov rcx, r14
cmp qword [r14 + 0x18], rbx
jb 0x140014a7b
mov rcx, qword [r14]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x140014aac
cmp qword [r12 + 0x18], 0
jne 0x140014a8e
int3
mov rcx, qword [r12 + 0x18]
mov rax, qword [rcx]
mov rdx, r14
cmp qword [r14 + 0x18], rbx
jb 0x140014aa2
mov rdx, qword [r14]
mov rax, qword [rax + 0x28]
call qword [case.0x1400669c3.0]
mov r8, rsi
cmp qword [rsi + 0x18], rbx
jb 0x140014ab8
mov r8, qword [rsi]
mov r9d, 7
mov dword [rsp + 0x28], r9d
lea rax, str.http:__
mov qword [rsp + 0x20], rax
lea edx, [r9 - 6]
lea ecx, [rdx + 0x7e]
call qword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, 2
je 0x140014b49
mov r8, rsi
cmp qword [rsi + 0x18], rbx
jb 0x140014aed
mov r8, qword [rsi]
mov dword [rsp + 0x28], ebx
lea rax, str.https:__
mov qword [rsp + 0x20], rax
mov r9d, ebx
mov edx, 1
lea ecx, [rdx + 0x7e]
call qword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, 2
je 0x140014b49
mov r12d, 0xc02500ba
mov rax, r15
cmp qword [r15 + 0x18], rbx
jb 0x140014b25
mov rax, qword [r15]
mov r9, rsi
cmp qword [rsi + 0x18], rbx
jb 0x140014b31
mov r9, qword [rsi]
mov qword [rsp + 0x20], rax
lea r8, str.DownloaderUtil::DownloadOrLoadFileWithAdditionalHeaders
mov edx, 0x619
call fcn.14000efe8
jmp 0x140014bc6
lea rcx, [rbp - 0x61]
call fcn.14000e840
mov byte [rbp - 0x39], 0
mov rax, qword [r12]
lea rcx, [rbp - 0x39]
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], rdi
mov dil, byte [rbp + 0x77]
mov byte [rsp + 0x28], dil
mov bl, byte [rbp + 0x6f]
mov byte [rsp + 0x20], bl
mov r9, r14
mov r8, rsi
mov rdx, r15
mov rcx, r12
mov rax, qword [rax + 0x128]
call qword [case.0x1400669c3.0]
mov r12d, eax
mov cl, byte [rbp - 0x39]
mov byte [rsp + 0x38], cl
mov byte [rsp + 0x30], dil
mov byte [rsp + 0x28], bl
mov byte [rsp + 0x20], 0
mov r9, r15
lea r8, [rbp - 0x61]
mov edx, eax
call fcn.1400141a0
test r12d, r12d
jns 0x140014c19
mov ebx, 8
cmp qword [r14 + 0x18], rbx
jb 0x140014bcf
mov r14, qword [r14]
mov rdx, r14
lea rcx, [rbp - 0x59]
call fcn.140078d0c
nop
cmp qword [rax + 0x18], rbx
jb 0x140014be5
mov rax, qword [rax]
cmp qword [r15 + 0x18], rbx
jb 0x140014bee
mov r15, qword [r15]
cmp qword [rsi + 0x18], rbx
jb 0x140014bf7
mov rsi, qword [rsi]
mov dword [rsp + 0x30], r12d
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
mov r9, rsi
call fcn.14000f808
nop
lea rcx, [rbp - 0x59]
call fcn.140007cf8
nop
lea rcx, [rbp - 0x31]
call fcn.140007cf8
mov eax, r12d
mov rcx, qword [rbp - 0x11]
xor rcx, rsp
call fcn.1400209c0
add rsp, 0xb8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, 0x80004005
call fcn.140007ac8
int3