Function at 0x18003007c
Capabilities:
Check if file exists

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x30
mov r13, r9
mov r15, r8
mov rdi, rcx
xor r12d, r12d
mov byte [r9], r12b
mov rax, qword [rbp + 0x60]
mov qword [rax], r12
mov ebx, r12d
mov qword [rbp + 0x58], rbx
test r8, r8
je 0x1800300fb
cmp word [r8], r12w
je 0x1800300fb
mov rcx, r8
call qword [sym.imp.SHCORE.dll_Ordinal_170]
nop dword [rax + rax]
test eax, eax
jne 0x1800300fb
mov rcx, r15
call qword [sym.imp.SHLWAPI.dll_PathIsURLW]
nop dword [rax + rax]
test eax, eax
jne 0x1800300fb
mov rcx, r15
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
nop dword [rax + rax]
test eax, eax
mov al, 1
jne 0x1800300fe
mov al, r12b
mov byte [r13], al
test al, al
jne 0x180030304
or rsi, 0xffffffffffffffff
mov r14, rsi
inc r14
cmp word [rdi + r14*2], r12w
jne 0x180030111
add r14d, 0x1c
lea r8d, [r14 - 1]
xor edx, edx
lea rcx, [rbp + 0x50]
call fcn.18001b4c8
lea rdx, [rbp + 0x50]
lea rcx, [rbp + 0x58]
call fcn.18001a28c
mov rcx, qword [rbp + 0x50]
test rcx, rcx
je 0x180030150
call qword [sym.imp.ole32.dll_CoTaskMemFree]
nop dword [rax + rax]
mov rbx, qword [rbp + 0x58]
test rbx, rbx
jne 0x18003016b
mov edi, 0x8007000e
mov r9d, edi
mov edx, 0xfd
jmp 0x1800302b4
mov r12d, r14d
mov r8, rdi
mov edx, r14d
mov rcx, rbx
call fcn.18000d500
mov edi, eax
test eax, eax
jns 0x18003018c
mov edx, 0xfe
jmp 0x1800302b1
mov rdx, r12
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_path_l1_1_0.dll_PathCchRemoveExtension]
nop dword [rax + rax]
mov edi, eax
test eax, eax
jns 0x1800301ae
mov edx, 0xff
jmp 0x1800302b1
lea r8, str..VisualElementsManifest.xml
mov rdx, r12
mov rcx, rbx
call fcn.18000efc4
mov edi, eax
xor r12d, r12d
test eax, eax
jns 0x1800301d3
mov edx, 0x100
jmp 0x1800302b1
mov rcx, rbx
call qword [sym.imp.SHCORE.dll_Ordinal_170]
nop dword [rax + rax]
test eax, eax
jne 0x180030214
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathIsURLW]
nop dword [rax + rax]
test eax, eax
jne 0x180030214
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
nop dword [rax + rax]
test eax, eax
je 0x180030214
mov sil, 1
jmp 0x18003031d
mov rdi, qword [rbp + 0x48]
inc rsi
cmp word [rdi + rsi*2], r12w
jne 0x180030218
add esi, 0x1c
cmp esi, r14d
jbe 0x180030276
mov r14d, esi
lea r8d, [rsi - 1]
xor edx, edx
lea rcx, [rbp + 0x50]
call fcn.18001b4c8
lea rdx, [rbp + 0x50]
lea rcx, [rbp + 0x58]
call fcn.18001a28c
mov rcx, qword [rbp + 0x50]
test rcx, rcx
je 0x18003025e
call qword [sym.imp.ole32.dll_CoTaskMemFree]
nop dword [rax + rax]
mov rbx, qword [rbp + 0x58]
test rbx, rbx
jne 0x180030276
mov edi, 0x8007000e
mov r9d, edi
mov edx, 0x10b
jmp 0x1800302b4
mov esi, r14d
mov r8, rdi
mov edx, r14d
mov rcx, rbx
call fcn.18000d500
mov edi, eax
test eax, eax
jns 0x180030294
mov edx, 0x10e
jmp 0x1800302b1
lea r8, str.VisualElementsManifest.xml
mov rdx, rsi
mov rcx, rbx
call fcn.18000efc4
mov edi, eax
test eax, eax
jns 0x1800302c9
mov edx, 0x10f
mov r9d, eax
mov rcx, qword [rbp + 0x38]
lea r8, str.pcshell_shell_appresolverlib_appresolverlinkparse.cpp
call fcn.18000a0f0
jmp 0x180030405
mov rcx, rbx
call qword [sym.imp.SHCORE.dll_Ordinal_170]
nop dword [rax + rax]
test eax, eax
jne 0x180030304
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathIsURLW]
nop dword [rax + rax]
test eax, eax
jne 0x180030304
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
nop dword [rax + rax]
test eax, eax
mov al, 1
jne 0x180030307
mov al, r12b
mov sil, r12b
cmp byte [r13], r12b
jne 0x18003031d
mov edi, 0x80070002
test al, al
je 0x180030405
mov qword [rbp + 0x50], r12
lea rcx, [rbp + 0x50]
call fcn.180009204
mov rdx, rax
lea rcx, [0x18006e990]
call qword [sym.imp.PROPSYS.dll_PSCreateMemoryPropertyStore]
nop dword [rax + rax]
mov edi, eax
test eax, eax
jns 0x180030368
mov rcx, qword [rbp + 0x38]
mov r9d, eax
lea r8, str.pcshell_shell_appresolverlib_appresolverlinkparse.cpp
mov edx, 0x118
call fcn.18000a0f0
nop
mov rcx, qword [rbp + 0x50]
jmp 0x1800303ee
mov qword [rbp - 0x10], r12
test sil, sil
je 0x18003038c
mov dword [rbp - 8], 2
mov r8, qword [rbp + 0x50]
mov rdx, rbx
lea rcx, [rbp - 0x10]
call fcn.180038f7c
mov edi, eax
jmp 0x1800303c6
cmp byte [r13], r12b
je 0x1800303ad
mov dword [rbp - 8], 2
mov r8, qword [rbp + 0x50]
mov rdx, r15
lea rcx, [rbp - 0x10]
call fcn.180038f7c
mov edi, eax
jmp 0x1800303c6
mov dword [rbp - 8], 1
mov r8, qword [rbp + 0x50]
mov rdx, rbx
lea rcx, [rbp - 0x10]
call fcn.180038f7c
mov edi, eax
mov rcx, qword [rbp - 0x10]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop dword [rax + rax]
test edi, edi
js 0x1800303ea
mov rax, qword [rbp + 0x50]
mov rcx, r12
mov rdx, qword [rbp + 0x60]
mov qword [rdx], rax
jmp 0x1800303ee
mov rcx, qword [rbp + 0x50]
test rcx, rcx
je 0x180030405
mov qword [rbp + 0x50], r12
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x18004bf34.0]
nop
test rbx, rbx
je 0x180030419
mov rcx, rbx
call qword [sym.imp.ole32.dll_CoTaskMemFree]
nop dword [rax + rax]
mov eax, edi
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret