Function at 0x140015220
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 [0x140370028]
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 0x1400152a5
mov ebx, dword [rcx + 0x98]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp ebx, eax
je 0x1400152a5
cmp byte [r12 + 0x91], 0
jne 0x1400152a5
test ebx, ebx
je 0x1400152a5
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [r12 + 0x98], eax
je 0x1400152a5
cmp byte [r12 + 0x91], 0
je 0x140015505
cmp qword [r15 + 0x10], 0
je 0x140015505
cmp qword [rsi + 0x10], 0
je 0x140015505
cmp qword [r14 + 0x10], 0
je 0x140015505
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 0x1400152e4
mov rdx, qword [r14]
mov r8, qword [r14 + 0x10]
lea rcx, [rbp - 0x31]
call fcn.14000eea4
nop
lea rcx, [rbp - 0x31]
call fcn.140079b24
lea rcx, [rbp - 0x31]
cmp qword [rbp - 0x19], rbx
cmovae rcx, qword [rbp - 0x31]
mov rax, r15
cmp qword [r15 + 0x18], rbx
jb 0x140015314
mov rax, qword [r15]
mov r9, rsi
cmp qword [rsi + 0x18], rbx
jb 0x140015320
mov r9, qword [rsi]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
call fcn.14000ffa4
mov rcx, r14
cmp qword [r14 + 0x18], rbx
jb 0x14001533b
mov rcx, qword [r14]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x14001536c
cmp qword [r12 + 0x18], 0
jne 0x14001534e
int3
mov rcx, qword [r12 + 0x18]
mov rax, qword [rcx]
mov rdx, r14
cmp qword [r14 + 0x18], rbx
jb 0x140015362
mov rdx, qword [r14]
mov rax, qword [rax + 0x28]
call qword [case.0x140067d03.0]
mov r8, rsi
cmp qword [rsi + 0x18], rbx
jb 0x140015378
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 0x140015409
mov r8, rsi
cmp qword [rsi + 0x18], rbx
jb 0x1400153ad
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 0x140015409
mov r12d, 0xc02500ba
mov rax, r15
cmp qword [r15 + 0x18], rbx
jb 0x1400153e5
mov rax, qword [r15]
mov r9, rsi
cmp qword [rsi + 0x18], rbx
jb 0x1400153f1
mov r9, qword [rsi]
mov qword [rsp + 0x20], rax
lea r8, str.DownloaderUtil::DownloadOrLoadFileWithAdditionalHeaders
mov edx, 0x61a
call fcn.14000f8ac
jmp 0x140015486
lea rcx, [rbp - 0x61]
call fcn.14000f100
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.0x140067d03.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.140014a60
test r12d, r12d
jns 0x1400154d9
mov ebx, 8
cmp qword [r14 + 0x18], rbx
jb 0x14001548f
mov r14, qword [r14]
mov rdx, r14
lea rcx, [rbp - 0x59]
call fcn.140079c2c
nop
cmp qword [rax + 0x18], rbx
jb 0x1400154a5
mov rax, qword [rax]
cmp qword [r15 + 0x18], rbx
jb 0x1400154ae
mov r15, qword [r15]
cmp qword [rsi + 0x18], rbx
jb 0x1400154b7
mov rsi, qword [rsi]
mov dword [rsp + 0x30], r12d
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
mov r9, rsi
call fcn.1400100cc
nop
lea rcx, [rbp - 0x59]
call fcn.140007f78
nop
lea rcx, [rbp - 0x31]
call fcn.140007f78
mov eax, r12d
mov rcx, qword [rbp - 0x11]
xor rcx, rsp
call fcn.140021280
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.140007d28
int3