Function at 0x10000db2c
Capabilities:
Check if file exists

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov qword [rax + 8], rcx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x90
xor r14d, r14d
mov rbp, r9
mov rbx, r8
mov r12, rcx
lea rax, [rsp + 0x30]
mov rsi, rdx
lea r8d, [r14 + 0x17]
lea r9, [0x100003a00]
lea rcx, [0x100001908]
xor edx, edx
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x20], rax
call qword [sym.imp.ole32.dll_CoCreateInstance]
mov rcx, qword [rsp + 0x30]
cmp eax, r14d
mov edi, eax
jge 0x10000dba5
cmp rcx, r14
je 0x10000db9e
mov rdx, qword [rcx]
call qword [rdx + 0x10]
mov eax, edi
jmp 0x10000e174
cmp rcx, r14
jne 0x10000dbb4
mov eax, 0x80004003
jmp 0x10000e174
mov rax, qword [rcx]
mov edx, 0x8802
call qword [rax + 0x48]
cmp eax, r14d
mov edi, eax
jge 0x10000dbcd
mov rcx, qword [rsp + 0x30]
jmp 0x10000db93
mov rdx, qword [rbx]
cmp dword [rdx - 0x10], r14d
je 0x10000dbeb
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
call qword [rax + 0x88]
cmp eax, r14d
mov edi, eax
jl 0x10000dbc6
mov rdx, qword [rsi]
cmp dword [rdx - 0x10], r14d
je 0x10000dc09
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
call qword [rax + 0xb0]
cmp eax, r14d
mov edi, eax
jl 0x10000dbc6
mov rcx, qword [r12]
or rbx, 0xffffffffffffffff
cmp dword [rcx - 0x10], r14d
je 0x10000dd28
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov rcx, qword [r12]
cmp eax, r14d
je 0x10000dcbc
lea r9, [rsp + 0x50]
lea r8, [0x1000039e0]
xor edx, edx
mov qword [rsp + 0x50], r14
call qword [sym.imp.SHELL32.dll_SHCreateItemFromParsingName]
cmp eax, r14d
mov edi, eax
jge 0x10000dc77
mov rcx, qword [rsp + 0x50]
cmp rcx, r14
je 0x10000dc5e
mov rdx, qword [rcx]
call qword [rdx + 0x10]
mov rcx, qword [rsp + 0x30]
cmp rcx, r14
je 0x10000db9e
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x10000db9e
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x30]
cmp rdx, r14
jne 0x10000dc9a
cmp rcx, r14
je 0x10000dbaa
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x10000dbaa
mov rax, qword [rcx]
call qword [rax + 0xd8]
mov rcx, qword [rsp + 0x50]
cmp eax, r14d
mov edi, eax
jl 0x10000dc53
cmp rcx, r14
je 0x10000dd28
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x10000dd28
call qword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
lea rcx, [rsp + 0x78]
mov rdx, rax
call fcn.10000885c
mov rcx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x78]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + 0x78]
lea rdx, [rdi - 0x18]
cmp eax, r14d
mov esi, eax
jge 0x10000dd11
or rbx, 0xffffffffffffffff
mov ecx, ebx
lock xadd dword [rdx + 0x10], ecx
add ecx, ebx
cmp ecx, r14d
jg 0x10000e162
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
jmp 0x10000e162
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
cmp eax, r14d
jg 0x10000dd28
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, qword [rsp + 0xf0]
mov rdx, qword [rax]
cmp dword [rdx - 0x10], r14d
je 0x10000dd52
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
call qword [rax + 0x90]
cmp eax, r14d
mov edi, eax
jl 0x10000dbc6
mov rcx, qword [rbp]
cmp dword [rcx - 0x10], r14d
je 0x10000de10
call qword [sym.imp.SHELL32.dll_ILCreateFromPathW]
mov rdi, rax
cmp rax, r14
jne 0x10000dd78
mov rcx, qword [rsp + 0x30]
jmp 0x10000dc86
lea r8, [rsp + 0x48]
lea rdx, [0x1000018f8]
mov rcx, rax
mov qword [rsp + 0x48], r14
call qword [sym.imp.SHELL32.dll_SHCreateItemFromIDList]
mov rcx, rdi
mov esi, eax
call qword [sym.imp.SHELL32.dll_ILFree]
cmp esi, r14d
jge 0x10000ddbb
mov rcx, qword [rsp + 0x48]
cmp rcx, r14
je 0x10000e162
mov rdx, qword [rcx]
call qword [rdx + 0x10]
jmp 0x10000e162
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x30]
cmp rdx, r14
je 0x10000dc86
mov rax, qword [rcx]
call qword [rax + 0x58]
cmp eax, r14d
mov edi, eax
jge 0x10000dde5
mov rcx, qword [rsp + 0x48]
jmp 0x10000dc53
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x48]
mov rax, qword [rcx]
call qword [rax + 0x60]
mov rcx, qword [rsp + 0x48]
cmp eax, r14d
mov edi, eax
jl 0x10000dc53
cmp rcx, r14
je 0x10000de10
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x30]
xor edx, edx
mov rax, qword [rcx]
lea r8d, [rdx + 1]
call qword [rax + 0xe8]
cmp eax, r14d
mov edi, eax
jl 0x10000dbc6
mov rdx, qword [rsp + 0xe8]
mov rax, qword [rdx]
cmp dword [rax - 0x10], r14d
je 0x10000e04c
lea rcx, [rsp + 0x60]
mov rsi, r14
mov r13d, r14d
call fcn.1000087c4
mov rdi, qword [rsp + 0x60]
mov eax, 1
sub eax, dword [rdi - 8]
movsxd r12, dword [rdi - 0x10]
or eax, dword [rdi - 0xc]
jge 0x10000de7b
lea rcx, [rsp + 0x60]
xor edx, edx
call fcn.100005cf4
mov rdi, qword [rsp + 0x60]
mov eax, r14d
mov ecx, r14d
xor edx, edx
cmp r12, rdx
mov r15d, r14d
mov rbp, r14
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x58], ecx
mov r14, r12
jle 0x10000e018
mov ebx, ecx
cmp rbp, r14
jge 0x10000df8a
cmp word [rdi + rbp*2], 0x7c
je 0x10000debc
inc rbp
inc r15d
cmp rbp, r14
jl 0x10000dea8
jmp 0x10000deda
cdqe
mov word [rdi + rbp*2], dx
lea rcx, [rdi + rax*2]
mov eax, dword [rsp + 0x38]
mov qword [rsp + 0x80], rcx
lea ecx, [r15 + 1]
mov dword [rsp + 0x58], ecx
cmp rbp, r14
jge 0x10000df8a
cmp word [rdi + rbp*2], 0x7c
je 0x10000def7
inc rbp
inc r15d
cmp rbp, r14
jl 0x10000dee3
jmp 0x10000df12
movsxd rax, ecx
mov word [rdi + rbp*2], dx
lea rcx, [rdi + rax*2]
lea eax, [r15 + 1]
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x88], rcx
cmp rbp, r14
jge 0x10000df8a
cmp r13d, ebx
jne 0x10000df5a
cmp ebx, edx
jne 0x10000df28
mov r12d, 1
jmp 0x10000df3b
lea r12d, [r13 + r13]
cmp r12d, edx
jl 0x10000df7a
cmp r12d, 0x7ffffff
ja 0x10000df7a
movsxd rdx, r12d
mov r8d, 0x10
mov rcx, rsi
call qword [0x100015130]
xor edx, edx
cmp rax, rdx
je 0x10000df76
mov ebx, r12d
mov rsi, rax
movsxd rax, r13d
shl rax, 4
add rax, rsi
je 0x10000df73
movdqu xmm0, xmmword [rsp + 0x80]
movdqu xmmword [rax], xmm0
inc r13d
mov eax, dword [rsp + 0x38]
cmp word [rdi + rbp*2 + 2], 0x7c
mov ecx, dword [rsp + 0x58]
jne 0x10000de9f
xor r14d, r14d
lea rbx, [r14 - 1]
cmp r13d, r14d
je 0x10000e01b
mov rcx, qword [rsp + 0x30]
mov r8, rsi
mov edx, r13d
mov rax, qword [rcx]
call qword [rax + 0x20]
cmp eax, r14d
mov ebp, eax
jge 0x10000dff2
lea rdx, [rdi - 0x18]
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
cmp eax, r14d
jg 0x10000dfcd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
cmp rsi, r14
je 0x10000dfdb
mov rcx, rsi
call qword [sym.imp.msvcrt.dll_free]
mov rcx, qword [rsp + 0x30]
cmp rcx, r14
je 0x10000dfeb
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, ebp
jmp 0x10000e174
mov rcx, qword [rsp + 0x30]
xor edx, edx
mov rax, qword [rcx]
call qword [rax + 0x28]
cmp eax, r14d
mov ebp, eax
jge 0x10000e01b
lea rdx, [rdi - 0x18]
mov ecx, ebx
lock xadd dword [rdx + 0x10], ecx
add ecx, ebx
cmp ecx, r14d
jmp 0x10000dfc2
xor r14d, r14d
lea rdx, [rdi - 0x18]
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
cmp eax, r14d
jg 0x10000e036
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
cmp rsi, r14
je 0x10000e044
mov rcx, rsi
call qword [sym.imp.msvcrt.dll_free]
mov r12, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0xf8]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov esi, eax
cmp eax, r14d
jne 0x10000e162
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x40], r14
mov rax, qword [rcx]
lea rdx, [rsp + 0x40]
call qword [rax + 0xa0]
mov rcx, qword [rsp + 0x40]
cmp eax, r14d
mov edi, eax
jl 0x10000dc53
cmp rcx, r14
je 0x10000dd6e
mov rax, qword [rcx]
lea r8, [rsp + 0x68]
mov edx, 0x80028000
call qword [rax + 0x28]
cmp eax, r14d
mov edi, eax
jge 0x10000e0c1
mov rcx, qword [rsp + 0x40]
jmp 0x10000dc53
mov rdx, qword [rsp + 0x108]
cmp rdx, r14
je 0x10000e102
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
cmp eax, r14d
mov edi, eax
jl 0x10000e0b7
mov rdx, qword [rsp + 0x100]
cmp rdx, r14
je 0x10000e102
mov rax, qword [rsp + 0x30]
mov rcx, r14
mov qword [rdx], rax
mov qword [rsp + 0x30], rcx
jmp 0x10000e107
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x68]
cmp rdx, r14
jne 0x10000e12d
mov rax, qword [rsp + 0x40]
cmp rax, r14
je 0x10000dc86
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x10]
jmp 0x10000dd6e
xor eax, eax
mov rdi, rdx
mov rcx, rbx
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
mov rcx, r12
call fcn.1000054e4
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, qword [rsp + 0x40]
cmp rcx, r14
je 0x10000e162
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x30]
cmp rcx, r14
je 0x10000e172
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, esi
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret