Function at 0x140014a80
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 [0x14036b028]
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 0x140014b05
mov ebx, dword [rcx + 0x98]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp ebx, eax
je 0x140014b05
cmp byte [r12 + 0x91], 0
jne 0x140014b05
test ebx, ebx
je 0x140014b05
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [r12 + 0x98], eax
je 0x140014b05
cmp byte [r12 + 0x91], 0
je 0x140014d65
cmp qword [r15 + 0x10], 0
je 0x140014d65
cmp qword [rsi + 0x10], 0
je 0x140014d65
cmp qword [r14 + 0x10], 0
je 0x140014d65
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 0x140014b44
mov rdx, qword [r14]
mov r8, qword [r14 + 0x10]
lea rcx, [rbp - 0x31]
call fcn.14000e6ec
nop
lea rcx, [rbp - 0x31]
call fcn.140078f54
lea rcx, [rbp - 0x31]
cmp qword [rbp - 0x19], rbx
cmovae rcx, qword [rbp - 0x31]
mov rax, r15
cmp qword [r15 + 0x18], rbx
jb 0x140014b74
mov rax, qword [r15]
mov r9, rsi
cmp qword [rsi + 0x18], rbx
jb 0x140014b80
mov r9, qword [rsi]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
call fcn.14000f800
mov rcx, r14
cmp qword [r14 + 0x18], rbx
jb 0x140014b9b
mov rcx, qword [r14]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x140014bcc
cmp qword [r12 + 0x18], 0
jne 0x140014bae
int3
mov rcx, qword [r12 + 0x18]
mov rax, qword [rcx]
mov rdx, r14
cmp qword [r14 + 0x18], rbx
jb 0x140014bc2
mov rdx, qword [r14]
mov rax, qword [rax + 0x28]
call qword [case.0x140066ca3.0]
mov r8, rsi
cmp qword [rsi + 0x18], rbx
jb 0x140014bd8
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 0x140014c69
mov r8, rsi
cmp qword [rsi + 0x18], rbx
jb 0x140014c0d
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 0x140014c69
mov r12d, 0xc02500ba
mov rax, r15
cmp qword [r15 + 0x18], rbx
jb 0x140014c45
mov rax, qword [r15]
mov r9, rsi
cmp qword [rsi + 0x18], rbx
jb 0x140014c51
mov r9, qword [rsi]
mov qword [rsp + 0x20], rax
lea r8, str.DownloaderUtil::DownloadOrLoadFileWithAdditionalHeaders
mov edx, 0x619
call fcn.14000f108
jmp 0x140014ce6
lea rcx, [rbp - 0x61]
call fcn.14000e960
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.0x140066ca3.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.1400142c0
test r12d, r12d
jns 0x140014d39
mov ebx, 8
cmp qword [r14 + 0x18], rbx
jb 0x140014cef
mov r14, qword [r14]
mov rdx, r14
lea rcx, [rbp - 0x59]
call fcn.14007905c
nop
cmp qword [rax + 0x18], rbx
jb 0x140014d05
mov rax, qword [rax]
cmp qword [r15 + 0x18], rbx
jb 0x140014d0e
mov r15, qword [r15]
cmp qword [rsi + 0x18], rbx
jb 0x140014d17
mov rsi, qword [rsi]
mov dword [rsp + 0x30], r12d
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
mov r9, rsi
call fcn.14000f928
nop
lea rcx, [rbp - 0x59]
call fcn.140007e18
nop
lea rcx, [rbp - 0x31]
call fcn.140007e18
mov eax, r12d
mov rcx, qword [rbp - 0x11]
xor rcx, rsp
call fcn.140020ae0
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.140007be8
int3